<?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>72531</bug_id>
          
          <creation_ts>2011-11-16 12:01:59 -0800</creation_ts>
          <short_desc>Add limited parsing support for grid-columns and grid-rows</short_desc>
          <delta_ts>2011-11-28 14:59:44 -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>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>60731</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Julien Chaffraix">jchaffraix</reporter>
          <assigned_to name="Julien Chaffraix">jchaffraix</assigned_to>
          <cc>macpherson</cc>
    
    <cc>ojan</cc>
    
    <cc>tabatkins</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>504114</commentid>
    <comment_count>0</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2011-11-16 12:01:59 -0800</bug_when>
    <thetext>This is about implementing a small part of the spec&apos;s grammar for &lt;track-list&gt; (section 6.5).

My goal is to implement the following subset as a first step:

&lt;track-list&gt; := &lt;length&gt; | &lt;percentage&gt; | &apos;none&apos; | &apos;auto&apos;

We will then increase our supported set to better match the spec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504244</commentid>
    <comment_count>1</comment_count>
      <attachid>115446</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2011-11-16 14:17:59 -0800</bug_when>
    <thetext>Created attachment 115446
WIP: early review appreciated on naming and such, doesn&apos;t build on all platforms.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504277</commentid>
    <comment_count>2</comment_count>
      <attachid>115446</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-11-16 14:44:32 -0800</bug_when>
    <thetext>Comment on attachment 115446
WIP: early review appreciated on naming and such, doesn&apos;t build on all platforms.

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

&gt; Source/WebCore/ChangeLog:16
&gt; +        Helper function to convert our Rendertyle information to a proper CSSValue.

typo: Rendertyle

&gt; Source/WebCore/css/CSSParser.cpp:3506
&gt; +bool CSSParser::parseTrackList(int propId, bool important)

parseGridTrackList maybe?

&gt; Source/WebCore/rendering/style/StyleRareNonInheritedData.h:118
&gt; +    DataRef&lt;StyleGridElementData&gt; m_gridLayout;

As discussed in person, call this StyleGridData. Maybe just call this m_grid? That matches better the names of the other member variables here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504340</commentid>
    <comment_count>3</comment_count>
      <attachid>115446</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2011-11-16 15:49:05 -0800</bug_when>
    <thetext>Comment on attachment 115446
WIP: early review appreciated on naming and such, doesn&apos;t build on all platforms.

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

&gt;&gt; Source/WebCore/ChangeLog:16
&gt;&gt; +        Helper function to convert our Rendertyle information to a proper CSSValue.
&gt; 
&gt; typo: Rendertyle

Good catch!

&gt;&gt; Source/WebCore/css/CSSParser.cpp:3506
&gt;&gt; +bool CSSParser::parseTrackList(int propId, bool important)
&gt; 
&gt; parseGridTrackList maybe?

It is coherent with valueForGridTrackList. Will change.

&gt;&gt; Source/WebCore/rendering/style/StyleRareNonInheritedData.h:118
&gt;&gt; +    DataRef&lt;StyleGridElementData&gt; m_gridLayout;
&gt; 
&gt; As discussed in person, call this StyleGridData. Maybe just call this m_grid? That matches better the names of the other member variables here.

Will be renamed. I would have leaned towards m_gridData as it would make more sense at a call site (we are not manipulating the grid but the grid data). However consistency is more important.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504347</commentid>
    <comment_count>4</comment_count>
      <attachid>115467</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2011-11-16 15:57:37 -0800</bug_when>
    <thetext>Created attachment 115467
Proposed patch 1: Fully building this time, after the renamings.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504949</commentid>
    <comment_count>5</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2011-11-17 10:12:25 -0800</bug_when>
    <thetext>Tab, we had a discussion yesterday about what getComputedStyle should return. There seems to be no real convention (our code is messy and looks like a per-case choice). What&apos;s your opinion on our results? Should we come back to the spec and have it amended? Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>507765</commentid>
    <comment_count>6</comment_count>
    <who name="Tab Atkins">tabatkins</who>
    <bug_when>2011-11-22 12:43:04 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; Tab, we had a discussion yesterday about what getComputedStyle should return. There seems to be no real convention (our code is messy and looks like a per-case choice). What&apos;s your opinion on our results? Should we come back to the spec and have it amended? Thanks!

According to Alex Mogilevsky, one of the implementors on IE, it returns the percentage in getComputedStyle.  In other words, it just returns the computed value.

It looks like this is what we&apos;re doing, but I&apos;m not entirely sure.  If not, we should match them.  I&apos;ve asked them to put these details into the spec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>509909</commentid>
    <comment_count>7</comment_count>
      <attachid>115467</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-11-28 10:04:31 -0800</bug_when>
    <thetext>Comment on attachment 115467
Proposed patch 1: Fully building this time, after the renamings.

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

&gt; LayoutTests/fast/css-grid-layout/grid-columns-rows-get-set.html:28
&gt; +    -webkit-grid-columns: 10em;
&gt; +    -webkit-grid-rows: 15em;

These might resolve to different pixel amounts depending on the platform, but we can rebaseline if that&apos;s the case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>509923</commentid>
    <comment_count>8</comment_count>
      <attachid>115467</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2011-11-28 10:18:29 -0800</bug_when>
    <thetext>Comment on attachment 115467
Proposed patch 1: Fully building this time, after the renamings.

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

&gt;&gt; LayoutTests/fast/css-grid-layout/grid-columns-rows-get-set.html:28
&gt;&gt; +    -webkit-grid-rows: 15em;
&gt; 
&gt; These might resolve to different pixel amounts depending on the platform, but we can rebaseline if that&apos;s the case.

Good point, maybe we should use the Ahem font with a fixed size then to mitigate this risk?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>509976</commentid>
    <comment_count>9</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-11-28 11:11:03 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 115467 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=115467&amp;action=review
&gt; 
&gt; &gt;&gt; LayoutTests/fast/css-grid-layout/grid-columns-rows-get-set.html:28
&gt; &gt;&gt; +    -webkit-grid-rows: 15em;
&gt; &gt; 
&gt; &gt; These might resolve to different pixel amounts depending on the platform, but we can rebaseline if that&apos;s the case.
&gt; 
&gt; Good point, maybe we should use the Ahem font with a fixed size then to mitigate this risk?

That sounds like a good idea to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>510123</commentid>
    <comment_count>10</comment_count>
      <attachid>116809</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2011-11-28 13:33:51 -0800</bug_when>
    <thetext>Created attachment 116809
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>510230</commentid>
    <comment_count>11</comment_count>
      <attachid>116809</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-28 14:59:40 -0800</bug_when>
    <thetext>Comment on attachment 116809
Patch for landing

Clearing flags on attachment: 116809

Committed r101288: &lt;http://trac.webkit.org/changeset/101288&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>510231</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-28 14:59:44 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115446</attachid>
            <date>2011-11-16 14:17:59 -0800</date>
            <delta_ts>2011-11-16 15:57:34 -0800</delta_ts>
            <desc>WIP: early review appreciated on naming and such, doesn&apos;t build on all platforms.</desc>
            <filename>bug-72531-20111116141758.patch</filename>
            <type>text/plain</type>
            <size>31898</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAwNDc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjM0YTQ2NmNmNTNmNDcy
NTgwZTFkMjkwYjYyYzRmODc0MTIxMTI2YS4uZjkyNWMwMjZlNDI2YzEyZjk1YmEwMzQxYTQzMTM3
MTFlOTRlNDhjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYyIEBACisyMDExLTExLTE2ICBKdWxp
ZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgorCisgICAgICAgIEFkZCBsaW1p
dGVkIHBhcnNpbmcgc3VwcG9ydCBmb3IgZ3JpZC1jb2x1bW5zIGFuZCBncmlkLXJvd3MKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTMxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZmFzdC9jc3Mt
Z3JpZC1sYXlvdXQvZ3JpZC1jb2x1bW5zLXJvd3MtZ2V0LXNldC5odG1sCisKKyAgICAgICAgQWRk
ZWQgc3VwcG9ydCBmb3I6CisgICAgICAgIDx0cmFjay1saXN0PiA6PSA8bGVuZ3RoPiB8IDxwZXJj
ZW50YWdlPiB8ICdub25lJyB8ICdhdXRvJworCisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAg
ICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6dmFsdWVGb3JHcmlkVHJhY2tMaXN0KToKKyAgICAgICAgSGVscGVyIGZ1bmN0aW9uIHRv
IGNvbnZlcnQgb3VyIFJlbmRlcnR5bGUgaW5mb3JtYXRpb24gdG8gYSBwcm9wZXIgQ1NTVmFsdWUu
CisgICAgICAgIEl0IGRvZXNuJ3QgZG8gbXVjaCBub3cgYnV0IGl0IHdpbGwgYmUgZXhwYW5kZWQg
YXMgd2UgYWRkIG1vcmUgc3VwcG9ydC4KKyAgICAgICAgKFdlYkNvcmU6OkNTU0NvbXB1dGVkU3R5
bGVEZWNsYXJhdGlvbjo6Z2V0UHJvcGVydHlDU1NWYWx1ZSk6CisgICAgICAgICogY3NzL0NTU0Nv
bXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5oOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZVZhbHVlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU1BhcnNlcjo6cGFyc2VUcmFja0xpc3QpOgorICAgICAgICBDU1MgcGFyc2luZyBwYXJ0
IG9mIHRoaXMgY2hhbmdlLiBQcmV0dHkgc2ltcGxlIGZvciBub3cuCisgICAgICAgICogY3NzL0NT
U1BhcnNlci5oOgorICAgICAgICAqIGNzcy9DU1NQcm9wZXJ0eS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDU1NQcm9wZXJ0eTo6aXNJbmhlcml0ZWRQcm9wZXJ0eSk6CisgICAgICAgICogY3NzL0NT
U1Byb3BlcnR5TmFtZXMuaW46CisgICAgICAgICogY3NzL0NTU1N0eWxlQXBwbHlQcm9wZXJ0eS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZUFwcGx5UHJvcGVydHk6OkNTU1N0eWxlQXBw
bHlQcm9wZXJ0eSk6CisgICAgICAgICogY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6YXBwbHlQcm9wZXJ0eSk6CisgICAgICAgICog
cmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clN0eWxlOjpSZW5kZXJTdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6ZGlm
Zik6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6CisgICAgICAgIChX
ZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6Z3JpZENvbHVtbnMpOgorICAgICAgICAoV2ViQ29yZTo6
SW5oZXJpdGVkRmxhZ3M6OmdyaWRSb3dzKToKKyAgICAgICAgKFdlYkNvcmU6OkluaGVyaXRlZEZs
YWdzOjpzZXRHcmlkQ29sdW1ucyk6CisgICAgICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6
c2V0R3JpZFJvd3MpOgorICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6OmluaXRpYWxH
cmlkQ29sdW1ucyk6CisgICAgICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6aW5pdGlhbEdy
aWRSb3dzKToKKyAgICAgICAgR2V0dGVycyAvIFNldHRlcnMgYW5kIGluaXRpYWwgdmFsdWVzLgor
CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlR3JpZEVsZW1lbnREYXRhLmNwcDogQWRk
ZWQuCisgICAgICAgIChXZWJDb3JlOjpTdHlsZUdyaWRFbGVtZW50RGF0YTo6U3R5bGVHcmlkRWxl
bWVudERhdGEpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZUdyaWRFbGVtZW50RGF0
YS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlR3JpZEVsZW1lbnREYXRhOjpjcmVh
dGUpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVHcmlkRWxlbWVudERhdGE6OmNvcHkpOgorICAg
ICAgICAoV2ViQ29yZTo6U3R5bGVHcmlkRWxlbWVudERhdGE6Om9wZXJhdG9yPT0pOgorICAgICAg
ICAoV2ViQ29yZTo6U3R5bGVHcmlkRWxlbWVudERhdGE6Om9wZXJhdG9yIT0pOgorICAgICAgICBU
aGlzIGNsYXNzIGhvbGRzIHRoZSBncmlkIGVsZW1lbnQgaW5mb3JtYXRpb24uIEZvciBub3cgcHJl
dHR5IHNpbXBsZQorICAgICAgICBzaGVsbCB0aGF0IHdpbGwgYmUgdXNlZCBmb3IgdGhlIHJlc3Qg
b2YgdGhlIHN1cHBvcnQuCisKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9u
SW5oZXJpdGVkRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVOb25Jbmhlcml0
ZWREYXRhOjpTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OlN0
eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6Om9wZXJhdG9yPT0pOgorICAgICAgICAqIHJlbmRlcmlu
Zy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmg6CisgICAgICAgIEFkZGVkIFN0eWxl
R3JpZEVsZW1lbnREYXRhIHRvIFN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuCisKIDIwMTEtMTEt
MTYgIFBoaWxpcCBSb2dlcnMgIDxwZHJAZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZW1vdmUgZXh0
cmEgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciByZXN0b3JlKCkgY2FsbC4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
aQppbmRleCAxMjNlMzQ1MzA5ODg5N2E4NTljMDg5OWJkMTBlMGY0YmViYTBjOGExLi5iMmQxZjc2
NzdkYTQxMmZiZmVhYTUyYzM5M2QxZTdhZjM1ZjNmMGZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC05
NDksNiArOTQ5LDcgQEAKICAgICAgICAgICAgICdyZW5kZXJpbmcvc3R5bGUvU3R5bGVGaWx0ZXJE
YXRhLmgnLAogICAgICAgICAgICAgJ3JlbmRlcmluZy9zdHlsZS9TdHlsZUZsZXhpYmxlQm94RGF0
YS5oJywKICAgICAgICAgICAgICdyZW5kZXJpbmcvc3R5bGUvU3R5bGVHZW5lcmF0ZWRJbWFnZS5o
JywKKyAgICAgICAgICAgICdyZW5kZXJpbmcvc3R5bGUvU3R5bGVHcmlkRWxlbWVudERhdGEuaCcs
CiAgICAgICAgICAgICAncmVuZGVyaW5nL3N0eWxlL1N0eWxlSW1hZ2UuaCcsCiAgICAgICAgICAg
ICAncmVuZGVyaW5nL3N0eWxlL1N0eWxlSW5oZXJpdGVkRGF0YS5oJywKICAgICAgICAgICAgICdy
ZW5kZXJpbmcvc3R5bGUvU3R5bGVNYXJxdWVlRGF0YS5oJywKQEAgLTQ3NTYsNiArNDc1Nyw3IEBA
CiAgICAgICAgICAgICAncmVuZGVyaW5nL3N0eWxlL1N0eWxlRmlsdGVyRGF0YS5jcHAnLAogICAg
ICAgICAgICAgJ3JlbmRlcmluZy9zdHlsZS9TdHlsZUZsZXhpYmxlQm94RGF0YS5jcHAnLAogICAg
ICAgICAgICAgJ3JlbmRlcmluZy9zdHlsZS9TdHlsZUdlbmVyYXRlZEltYWdlLmNwcCcsCisgICAg
ICAgICAgICAncmVuZGVyaW5nL3N0eWxlL1N0eWxlR3JpZEVsZW1lbnREYXRhLmNwcCcsCiAgICAg
ICAgICAgICAncmVuZGVyaW5nL3N0eWxlL1N0eWxlSW5oZXJpdGVkRGF0YS5jcHAnLAogICAgICAg
ICAgICAgJ3JlbmRlcmluZy9zdHlsZS9TdHlsZU1hcnF1ZWVEYXRhLmNwcCcsCiAgICAgICAgICAg
ICAncmVuZGVyaW5nL3N0eWxlL1N0eWxlTXVsdGlDb2xEYXRhLmNwcCcsCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4IGFjYjdm
OWYwMWVkMzJkMzg2MzdhNDVmMzRjMDRmYWI4NzRkNjEyZGMuLjAwOTYyYTZmYWU1N2UwZTQ2N2M4
ZGRhZTNlZjBkMjcwMzIyYWVhMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1ND
b21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1ND
b21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC0yMTgsNiArMjE4LDEwIEBAIHN0YXRpYyBj
b25zdCBpbnQgY29tcHV0ZWRQcm9wZXJ0aWVzW10gPSB7CiAgICAgQ1NTUHJvcGVydHlXZWJraXRG
bGV4QWxpZ24sCiAgICAgQ1NTUHJvcGVydHlXZWJraXRGbGV4RmxvdywKICAgICBDU1NQcm9wZXJ0
eVdlYmtpdEZvbnRTbW9vdGhpbmcsCisjaWYgRU5BQkxFKENTU19HUklEX0xBWU9VVCkKKyAgICBD
U1NQcm9wZXJ0eVdlYmtpdEdyaWRDb2x1bW5zLAorICAgIENTU1Byb3BlcnR5V2Via2l0R3JpZFJv
d3MsCisjZW5kaWYKICAgICBDU1NQcm9wZXJ0eVdlYmtpdEhpZ2hsaWdodCwKICAgICBDU1NQcm9w
ZXJ0eVdlYmtpdEh5cGhlbmF0ZUNoYXJhY3RlciwKICAgICBDU1NQcm9wZXJ0eVdlYmtpdEh5cGhl
bmF0ZUxpbWl0QWZ0ZXIsCkBAIC03NjYsNiArNzcwLDE5IEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWU+
IENTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6dmFsdWVGb3JGaWx0ZXIoUmVuZGVyU3R5bGUq
IHN0CiB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShDU1NfR1JJRF9MQVlPVVQpCitzdGF0aWMgUGFz
c1JlZlB0cjxDU1NWYWx1ZT4gdmFsdWVGb3JHcmlkVHJhY2tMaXN0KGNvbnN0IExlbmd0aCYgdHJh
Y2tMZW5ndGgsIGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSwgQ1NTUHJpbWl0aXZlVmFsdWVDYWNo
ZSogcHJpbWl0aXZlVmFsdWVDYWNoZSkKK3sKKyAgICBpZiAodHJhY2tMZW5ndGguaXNQZXJjZW50
KCkpCisgICAgICAgIHJldHVybiBwcmltaXRpdmVWYWx1ZUNhY2hlLT5jcmVhdGVWYWx1ZSh0cmFj
a0xlbmd0aCk7CisgICAgaWYgKHRyYWNrTGVuZ3RoLmlzQXV0bygpKQorICAgICAgICByZXR1cm4g
cHJpbWl0aXZlVmFsdWVDYWNoZS0+Y3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlQXV0byk7
CisgICAgaWYgKHRyYWNrTGVuZ3RoLmlzVW5kZWZpbmVkKCkpCisgICAgICAgIHJldHVybiBwcmlt
aXRpdmVWYWx1ZUNhY2hlLT5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVOb25lKTsKKyAg
ICByZXR1cm4gem9vbUFkanVzdGVkUGl4ZWxWYWx1ZSh0cmFja0xlbmd0aC52YWx1ZSgpLCBzdHls
ZSwgcHJpbWl0aXZlVmFsdWVDYWNoZSk7Cit9CisjZW5kaWYKKwogc3RhdGljIFBhc3NSZWZQdHI8
Q1NTVmFsdWU+IGdldERlbGF5VmFsdWUoY29uc3QgQW5pbWF0aW9uTGlzdCogYW5pbUxpc3QsIENT
U1ByaW1pdGl2ZVZhbHVlQ2FjaGUqIHByaW1pdGl2ZVZhbHVlQ2FjaGUpCiB7CiAgICAgUmVmUHRy
PENTU1ZhbHVlTGlzdD4gbGlzdCA9IENTU1ZhbHVlTGlzdDo6Y3JlYXRlQ29tbWFTZXBhcmF0ZWQo
KTsKQEAgLTE0NzMsNiArMTQ5MCwxNiBAQCBQYXNzUmVmUHRyPENTU1ZhbHVlPiBDU1NDb21wdXRl
ZFN0eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5Q1NTVmFsdWUoaW50IHByb3BlcgogICAgICAg
ICAgICAgfQogICAgICAgICAgICAgcmV0dXJuIGxpc3QucmVsZWFzZSgpOwogICAgICAgICB9Cisj
aWYgRU5BQkxFKENTU19HUklEX0xBWU9VVCkKKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtp
dEdyaWRDb2x1bW5zOiB7CisgICAgICAgICAgICBMZW5ndGggZ3JpZENvbHVtbnMgPSBzdHlsZS0+
Z3JpZENvbHVtbnMoKTsKKyAgICAgICAgICAgIHJldHVybiB2YWx1ZUZvckdyaWRUcmFja0xpc3Qo
Z3JpZENvbHVtbnMsIHN0eWxlLmdldCgpLCBwcmltaXRpdmVWYWx1ZUNhY2hlKTsKKyAgICAgICAg
fQorICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0R3JpZFJvd3M6IHsKKyAgICAgICAgICAg
IExlbmd0aCBncmlkUm93cyA9IHN0eWxlLT5ncmlkUm93cygpOworICAgICAgICAgICAgcmV0dXJu
IHZhbHVlRm9yR3JpZFRyYWNrTGlzdChncmlkUm93cywgc3R5bGUuZ2V0KCksIHByaW1pdGl2ZVZh
bHVlQ2FjaGUpOworICAgICAgICB9CisjZW5kaWYKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eUhl
aWdodDoKICAgICAgICAgICAgIGlmIChyZW5kZXJlcikKICAgICAgICAgICAgICAgICByZXR1cm4g
em9vbUFkanVzdGVkUGl4ZWxWYWx1ZShzaXppbmdCb3gocmVuZGVyZXIpLmhlaWdodCgpLCBzdHls
ZS5nZXQoKSwgcHJpbWl0aXZlVmFsdWVDYWNoZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmgKaW5kZXggNDg1Mjk3N2E2MTA2ZDcyYmQ3NjRh
OGU0NGQ0NDM0ZDYxOTZjYTBiOS4uOTQyMDk5NTc2YjI1OWJjN2I4YmY1NjdhMzk3NjM2Y2ZhOTFh
MmE0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNs
YXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFy
YXRpb24uaApAQCAtMzEsNiArMzEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBDb2xv
cjsKIGNsYXNzIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uOwogY2xhc3MgQ1NTUHJpbWl0aXZl
VmFsdWU7CitjbGFzcyBDU1NQcmltaXRpdmVWYWx1ZUNhY2hlOworY2xhc3MgTGVuZ3RoOwogY2xh
c3MgTm9kZTsKIGNsYXNzIFJlbmRlclN0eWxlOwogY2xhc3MgU2hhZG93RGF0YTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1BhcnNlci5jcHAKaW5kZXggZTEzOWRkMTZmZjA5NDZkZjJjMTVkZjAwYWRlN2Q5NWEyMjg0
NzIzNi4uMWNiZTE3MjI0YTExYjVlMjk2MzVkM2ZmNWM3N2I2NWI5ZjFhODBjMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1BhcnNlci5jcHAKQEAgLTE3NzAsNiArMTc3MCwxMSBAQCBib29sIENTU1BhcnNlcjo6
cGFyc2VWYWx1ZShpbnQgcHJvcElkLCBib29sIGltcG9ydGFudCkKICAgICAgICAgfQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgfQorI2lmIEVOQUJMRShDU1NfR1JJRF9MQVlPVVQpCisgICAg
Y2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEdyaWRDb2x1bW5zOgorICAgIGNhc2UgQ1NTUHJvcGVydHlX
ZWJraXRHcmlkUm93czoKKyAgICAgICAgcmV0dXJuIHBhcnNlVHJhY2tMaXN0KHByb3BJZCwgaW1w
b3J0YW50KTsKKyNlbmRpZgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRNYXJnaW5Db2xsYXBz
ZTogewogICAgICAgICBjb25zdCBpbnQgcHJvcGVydGllc1syXSA9IHsgQ1NTUHJvcGVydHlXZWJr
aXRNYXJnaW5CZWZvcmVDb2xsYXBzZSwKICAgICAgICAgICAgIENTU1Byb3BlcnR5V2Via2l0TWFy
Z2luQWZ0ZXJDb2xsYXBzZSB9OwpAQCAtMzQ5Nyw2ICszNTAyLDIzIEBAIGJvb2wgQ1NTUGFyc2Vy
OjpwYXJzZUFuaW1hdGlvblByb3BlcnR5KGludCBwcm9wSWQsIFJlZlB0cjxDU1NWYWx1ZT4mIHJl
c3VsdCkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKKyNpZiBFTkFCTEUoQ1NTX0dSSURfTEFZT1VU
KQorYm9vbCBDU1NQYXJzZXI6OnBhcnNlVHJhY2tMaXN0KGludCBwcm9wSWQsIGJvb2wgaW1wb3J0
YW50KQoreworICAgIENTU1BhcnNlclZhbHVlKiB2YWx1ZSA9IG1fdmFsdWVMaXN0LT5jdXJyZW50
KCk7CisgICAgaWYgKHZhbHVlLT5pZCA9PSBDU1NWYWx1ZU5vbmUgfHwgdmFsdWUtPmlkID09IENT
U1ZhbHVlQXV0bykgeworICAgICAgICBhZGRQcm9wZXJ0eShwcm9wSWQsIHByaW1pdGl2ZVZhbHVl
Q2FjaGUoKS0+Y3JlYXRlSWRlbnRpZmllclZhbHVlKHZhbHVlLT5pZCksIGltcG9ydGFudCk7Cisg
ICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIGlmICh2YWxpZFVuaXQodmFsdWUsIEZM
ZW5ndGggfCBGUGVyY2VudCwgbV9zdHJpY3QpKSB7CisgICAgICAgIGFkZFByb3BlcnR5KHByb3BJ
ZCwgY3JlYXRlUHJpbWl0aXZlTnVtZXJpY1ZhbHVlKHZhbHVlKSwgaW1wb3J0YW50KTsKKyAgICAg
ICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIHJldHVybiBmYWxzZTsKK30KKyNlbmRpZgorCiAK
IAogI2lmIEVOQUJMRShEQVNIQk9BUkRfU1VQUE9SVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQYXJzZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAppbmRl
eCA2ODk1ODNjNDI4MDE0MjAwOTkxYWYxZjZlNGFkYjdkZDRkOTYwNGNjLi5jMGRlM2NhMzYzODgy
NTI0ZWJmMTMwMWRlMmM4N2IyMWE5MTVlYjJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCkBAIC0x
MjUsNiArMTI1LDEwIEBAIHB1YmxpYzoKICAgICBib29sIHBhcnNlVHJhbnNpdGlvblNob3J0aGFu
ZChib29sIGltcG9ydGFudCk7CiAgICAgYm9vbCBwYXJzZUFuaW1hdGlvblNob3J0aGFuZChib29s
IGltcG9ydGFudCk7CiAKKyNpZiBFTkFCTEUoQ1NTX0dSSURfTEFZT1VUKQorICAgIGJvb2wgcGFy
c2VUcmFja0xpc3QoaW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpOworI2VuZGlmCisKICAgICBi
b29sIHBhcnNlRGFzaGJvYXJkUmVnaW9ucyhpbnQgcHJvcElkLCBib29sIGltcG9ydGFudCk7CiAK
ICAgICBib29sIHBhcnNlU2hhcGUoaW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcm9wZXJ0eS5jcHAKaW5kZXggYmUwMDA2ZTRiNTM3ODM2MTgyNDQyMmE0ZWI2ZTll
OTU2MGE1ZWJiMy4uYjdkYjJhMWE3ZGJmZmFlMjQ2YjM2ZjlmNjdjYThkYTdkN2NhYjFmMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwCkBAIC01NjYsNiArNTY2LDEwIEBAIGJvb2wgQ1NT
UHJvcGVydHk6OmlzSW5oZXJpdGVkUHJvcGVydHkodW5zaWduZWQgcHJvcGVydHlJRCkKICAgICBj
YXNlIENTU1Byb3BlcnR5V2Via2l0RmxleEFsaWduOgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJr
aXRGbGV4RmxvdzoKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0Rm9udFNpemVEZWx0YToKKyNp
ZiBFTkFCTEUoQ1NTX0dSSURfTEFZT1VUKQorICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRHcmlk
Q29sdW1uczoKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0R3JpZFJvd3M6CisjZW5kaWYKICAg
ICBjYXNlIENTU1Byb3BlcnR5V2Via2l0TGluZUNsYW1wOgogICAgIGNhc2UgQ1NTUHJvcGVydHlX
ZWJraXRMb2dpY2FsV2lkdGg6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdExvZ2ljYWxIZWln
aHQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbiBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCmluZGV4IDk3MWQxMGRkYzMx
NzVjOTY5YTFmYzMzNjI1MjgwYjBjOWFlODM5YmIuLjFmODJiMmY2ZjhiODM4OGIzMjFjNzMxZDA3
ZTBlYjAzMDE5MTI4ZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0
eU5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCkBA
IC0zNjEsNCArMzYxLDcgQEAgei1pbmRleAogI2lmIGRlZmluZWQoRU5BQkxFX1RPVUNIX0VWRU5U
UykgJiYgRU5BQkxFX1RPVUNIX0VWRU5UUwogLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yCiAj
ZW5kaWYKLQorI2lmIGRlZmluZWQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJiYgRU5BQkxFX0NT
U19HUklEX0xBWU9VVAorLXdlYmtpdC1ncmlkLWNvbHVtbnMKKy13ZWJraXQtZ3JpZC1yb3dzCisj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZUFwcGx5UHJvcGVy
dHkuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlQXBwbHlQcm9wZXJ0eS5jcHAKaW5k
ZXggMDM0MGRiYzQyYTliNTJkNDgyZTQyMzg1NWI5NzcyZDYwNjM0ZmIwMy4uNWNlZWIxNjM0NTUz
NWI1ODM4YWIxMjNhZmY1ZGM1NTA2NGUwZGIzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1N0eWxlQXBwbHlQcm9wZXJ0eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1N0eWxlQXBwbHlQcm9wZXJ0eS5jcHAKQEAgLTk4MCw2ICs5ODAsMTEgQEAgQ1NTU3R5bGVBcHBs
eVByb3BlcnR5OjpDU1NTdHlsZUFwcGx5UHJvcGVydHkoKQogICAgIHNldFByb3BlcnR5SGFuZGxl
cihDU1NQcm9wZXJ0eUJvdHRvbSwgQXBwbHlQcm9wZXJ0eUxlbmd0aDwmUmVuZGVyU3R5bGU6OmJv
dHRvbSwgJlJlbmRlclN0eWxlOjpzZXRCb3R0b20sICZSZW5kZXJTdHlsZTo6aW5pdGlhbE9mZnNl
dCwgQXV0b0VuYWJsZWQ+OjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNldFByb3BlcnR5SGFuZGxl
cihDU1NQcm9wZXJ0eUxlZnQsIEFwcGx5UHJvcGVydHlMZW5ndGg8JlJlbmRlclN0eWxlOjpsZWZ0
LCAmUmVuZGVyU3R5bGU6OnNldExlZnQsICZSZW5kZXJTdHlsZTo6aW5pdGlhbE9mZnNldCwgQXV0
b0VuYWJsZWQ+OjpjcmVhdGVIYW5kbGVyKCkpOwogCisjaWYgRU5BQkxFKENTU19HUklEX0xBWU9V
VCkKKyAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRHcmlkQ29sdW1ucywg
QXBwbHlQcm9wZXJ0eUxlbmd0aDwmUmVuZGVyU3R5bGU6OmdyaWRDb2x1bW5zLCAmUmVuZGVyU3R5
bGU6OnNldEdyaWRDb2x1bW5zLCAmUmVuZGVyU3R5bGU6OmluaXRpYWxHcmlkQ29sdW1ucywgQXV0
b0VuYWJsZWQsIEludHJpbnNpY0Rpc2FibGVkLCBNaW5JbnRyaW5zaWNEaXNhYmxlZCwgTm9uZUVu
YWJsZWQsIFVuZGVmaW5lZEVuYWJsZWQ+OjpjcmVhdGVIYW5kbGVyKCkpOworICAgIHNldFByb3Bl
cnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdEdyaWRSb3dzLCBBcHBseVByb3BlcnR5TGVuZ3Ro
PCZSZW5kZXJTdHlsZTo6Z3JpZFJvd3MsICZSZW5kZXJTdHlsZTo6c2V0R3JpZFJvd3MsICZSZW5k
ZXJTdHlsZTo6aW5pdGlhbEdyaWRSb3dzLCBBdXRvRW5hYmxlZCwgSW50cmluc2ljRGlzYWJsZWQs
IE1pbkludHJpbnNpY0Rpc2FibGVkLCBOb25lRW5hYmxlZCwgVW5kZWZpbmVkRW5hYmxlZD46OmNy
ZWF0ZUhhbmRsZXIoKSk7CisjZW5kaWYKKwogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9w
ZXJ0eVdpZHRoLCBBcHBseVByb3BlcnR5TGVuZ3RoPCZSZW5kZXJTdHlsZTo6d2lkdGgsICZSZW5k
ZXJTdHlsZTo6c2V0V2lkdGgsICZSZW5kZXJTdHlsZTo6aW5pdGlhbFNpemUsIEF1dG9FbmFibGVk
LCBJbnRyaW5zaWNFbmFibGVkLCBNaW5JbnRyaW5zaWNFbmFibGVkLCBOb25lRGlzYWJsZWQsIFVu
ZGVmaW5lZERpc2FibGVkLCBGbGV4V2lkdGg+OjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNldFBy
b3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eUhlaWdodCwgQXBwbHlQcm9wZXJ0eUxlbmd0aDwmUmVu
ZGVyU3R5bGU6OmhlaWdodCwgJlJlbmRlclN0eWxlOjpzZXRIZWlnaHQsICZSZW5kZXJTdHlsZTo6
aW5pdGlhbFNpemUsIEF1dG9FbmFibGVkLCBJbnRyaW5zaWNFbmFibGVkLCBNaW5JbnRyaW5zaWNF
bmFibGVkLCBOb25lRGlzYWJsZWQsIFVuZGVmaW5lZERpc2FibGVkLCBGbGV4SGVpZ2h0Pjo6Y3Jl
YXRlSGFuZGxlcigpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxl
U2VsZWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCmlu
ZGV4IDc1MjdkNzNlZjQyZmE4YjBiM2QyYTAwMjgwMTU5YTBlNjlkZDE5MWYuLjFiMWQ2OGUyZDZl
ZDU2YmMwZjEzYWI0MjdlNTY5NGQ4OTM0NDc3MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5
bGVTZWxlY3Rvci5jcHAKQEAgLTM5NjUsNiArMzk2NSwxMCBAQCB2b2lkIENTU1N0eWxlU2VsZWN0
b3I6OmFwcGx5UHJvcGVydHkoaW50IGlkLCBDU1NWYWx1ZSAqdmFsdWUpCiAgICAgY2FzZSBDU1NQ
cm9wZXJ0eVdlYmtpdEZsZXhGbG93OgogICAgIGNhc2UgQ1NTUHJvcGVydHlGb250U3R5bGU6CiAg
ICAgY2FzZSBDU1NQcm9wZXJ0eUZvbnRWYXJpYW50OgorI2lmIEVOQUJMRShDU1NfR1JJRF9MQVlP
VVQpCisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEdyaWRDb2x1bW5zOgorICAgIGNhc2UgQ1NT
UHJvcGVydHlXZWJraXRHcmlkUm93czoKKyNlbmRpZgogICAgIGNhc2UgQ1NTUHJvcGVydHlUZXh0
UmVuZGVyaW5nOgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0T3JpZW50YXRpb246CiAg
ICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEZvbnRTbW9vdGhpbmc6CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAppbmRleCA5MmE0OTk3NGQ5MTY0OWJi
MmM0OTlkYTQzODJjMDEzNzNmMGM2ZjQ2Li4xNzhmZWExYzA1NmQ5NzkxZDkyZTkxNDc5MGFlY2Uy
MTljZjE4NTdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVu
ZGVyU3R5bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJT
dHlsZS5jcHAKQEAgLTEzMyw2ICsxMzMsOSBAQCBBTFdBWVNfSU5MSU5FIFJlbmRlclN0eWxlOjpS
ZW5kZXJTdHlsZShib29sKQogI2lmIEVOQUJMRShDU1NfRklMVEVSUykKICAgICByYXJlTm9uSW5o
ZXJpdGVkRGF0YS5hY2Nlc3MoKS0+bV9maWx0ZXIuaW5pdCgpOwogI2VuZGlmCisjaWYgRU5BQkxF
KENTU19HUklEX0xBWU9VVCkKKyAgICByYXJlTm9uSW5oZXJpdGVkRGF0YS5hY2Nlc3MoKS0+bV9n
cmlkTGF5b3V0LmluaXQoKTsKKyNlbmRpZgogICAgIHJhcmVJbmhlcml0ZWREYXRhLmluaXQoKTsK
ICAgICBpbmhlcml0ZWQuaW5pdCgpOwogCkBAIC00MjAsNiArNDIzLDEwIEBAIFN0eWxlRGlmZmVy
ZW5jZSBSZW5kZXJTdHlsZTo6ZGlmZihjb25zdCBSZW5kZXJTdHlsZSogb3RoZXIsIHVuc2lnbmVk
JiBjaGFuZ2VkQ29uCiAgICAgICAgICAgICByZXR1cm4gU3R5bGVEaWZmZXJlbmNlTGF5b3V0Owog
ICAgICAgICB9CiAjZW5kaWYKKyNpZiBFTkFCTEUoQ1NTX0dSSURfTEFZT1VUKQorICAgICAgICBp
ZiAocmFyZU5vbkluaGVyaXRlZERhdGEtPm1fZ3JpZExheW91dC5nZXQoKSAhPSBvdGhlci0+cmFy
ZU5vbkluaGVyaXRlZERhdGEtPm1fZ3JpZExheW91dC5nZXQoKSkKKyAgICAgICAgICAgIHJldHVy
biBTdHlsZURpZmZlcmVuY2VMYXlvdXQ7CisjZW5kaWYKIAogI2lmICFVU0UoQUNDRUxFUkFURURf
Q09NUE9TSVRJTkcpCiAgICAgICAgIGlmIChyYXJlTm9uSW5oZXJpdGVkRGF0YS5nZXQoKSAhPSBv
dGhlci0+cmFyZU5vbkluaGVyaXRlZERhdGEuZ2V0KCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKaW5kZXggOWEwOTE1NDgxNTJhMDE0ZDAwNDYzODZl
M2JhMzA4ZDJhZDBkM2JmMy4uYzMzNDk4Y2NlMjI0NzM5NDdlZTI1MmMwMmFlMmZiZWQ0ZGY0MmI5
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKQEAg
LTU2LDYgKzU2LDkgQEAKICNpbmNsdWRlICJTdHlsZUZpbHRlckRhdGEuaCIKICNlbmRpZgogI2lu
Y2x1ZGUgIlN0eWxlRmxleGlibGVCb3hEYXRhLmgiCisjaWYgRU5BQkxFKENTU19HUklEX0xBWU9V
VCkKKyNpbmNsdWRlICJTdHlsZUdyaWRFbGVtZW50RGF0YS5oIgorI2VuZGlmCiAjaW5jbHVkZSAi
U3R5bGVJbmhlcml0ZWREYXRhLmgiCiAjaW5jbHVkZSAiU3R5bGVNYXJxdWVlRGF0YS5oIgogI2lu
Y2x1ZGUgIlN0eWxlTXVsdGlDb2xEYXRhLmgiCkBAIC03MTksNiArNzIyLDExIEBAIHB1YmxpYzoK
ICAgICBFRmxleEFsaWduIGZsZXhBbGlnbigpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEVG
bGV4QWxpZ24+KHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX2ZsZXhpYmxlQm94LT5tX2ZsZXhBbGln
bik7IH0KICAgICBFRmxleEZsb3cgZmxleEZsb3coKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2Fz
dDxFRmxleEZsb3c+KHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX2ZsZXhpYmxlQm94LT5tX2ZsZXhG
bG93KTsgfQogCisjaWYgRU5BQkxFKENTU19HUklEX0xBWU9VVCkKKyAgICBMZW5ndGggZ3JpZENv
bHVtbnMoKSBjb25zdCB7IHJldHVybiByYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV9ncmlkTGF5b3V0
LT5tX2dyaWRDb2x1bW5zOyB9CisgICAgTGVuZ3RoIGdyaWRSb3dzKCkgY29uc3QgeyByZXR1cm4g
cmFyZU5vbkluaGVyaXRlZERhdGEtPm1fZ3JpZExheW91dC0+bV9ncmlkUm93czsgfQorI2VuZGlm
CisKICAgICBjb25zdCBTaGFkb3dEYXRhKiBib3hTaGFkb3coKSBjb25zdCB7IHJldHVybiByYXJl
Tm9uSW5oZXJpdGVkRGF0YS0+bV9ib3hTaGFkb3cuZ2V0KCk7IH0KICAgICB2b2lkIGdldEJveFNo
YWRvd0V4dGVudChMYXlvdXRVbml0JiB0b3AsIExheW91dFVuaXQmIHJpZ2h0LCBMYXlvdXRVbml0
JiBib3R0b20sIExheW91dFVuaXQmIGxlZnQpIGNvbnN0IHsgZ2V0U2hhZG93RXh0ZW50KGJveFNo
YWRvdygpLCB0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQpOyB9CiAgICAgdm9pZCBnZXRCb3hTaGFk
b3dIb3Jpem9udGFsRXh0ZW50KExheW91dFVuaXQmIGxlZnQsIExheW91dFVuaXQmIHJpZ2h0KSBj
b25zdCB7IGdldFNoYWRvd0hvcml6b250YWxFeHRlbnQoYm94U2hhZG93KCksIGxlZnQsIHJpZ2h0
KTsgfQpAQCAtMTEyNSw2ICsxMTMzLDExIEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEZsZXhQYWNr
KEVGbGV4UGFjayBwKSB7IFNFVF9WQVIocmFyZU5vbkluaGVyaXRlZERhdGEuYWNjZXNzKCktPm1f
ZmxleGlibGVCb3gsIG1fZmxleFBhY2ssIHApOyB9CiAgICAgdm9pZCBzZXRGbGV4QWxpZ24oRUZs
ZXhBbGlnbiBhKSB7IFNFVF9WQVIocmFyZU5vbkluaGVyaXRlZERhdGEuYWNjZXNzKCktPm1fZmxl
eGlibGVCb3gsIG1fZmxleEFsaWduLCBhKTsgfQogICAgIHZvaWQgc2V0RmxleEZsb3coRUZsZXhG
bG93IGZsb3cpIHsgU0VUX1ZBUihyYXJlTm9uSW5oZXJpdGVkRGF0YS5hY2Nlc3MoKS0+bV9mbGV4
aWJsZUJveCwgbV9mbGV4RmxvdywgZmxvdyk7IH0KKyNpZiBFTkFCTEUoQ1NTX0dSSURfTEFZT1VU
KQorICAgIHZvaWQgc2V0R3JpZENvbHVtbnMoTGVuZ3RoIGxlbmd0aCkgeyBTRVRfVkFSKHJhcmVO
b25Jbmhlcml0ZWREYXRhLmFjY2VzcygpLT5tX2dyaWRMYXlvdXQsIG1fZ3JpZENvbHVtbnMsIGxl
bmd0aCk7IH0KKyAgICB2b2lkIHNldEdyaWRSb3dzKExlbmd0aCBsZW5ndGgpIHsgU0VUX1ZBUihy
YXJlTm9uSW5oZXJpdGVkRGF0YS5hY2Nlc3MoKS0+bV9ncmlkTGF5b3V0LCBtX2dyaWRSb3dzLCBs
ZW5ndGgpOyB9CisjZW5kaWYKKwogICAgIHZvaWQgc2V0TWFycXVlZUluY3JlbWVudChjb25zdCBM
ZW5ndGgmIGYpIHsgU0VUX1ZBUihyYXJlTm9uSW5oZXJpdGVkRGF0YS5hY2Nlc3MoKS0+bV9tYXJx
dWVlLCBpbmNyZW1lbnQsIGYpOyB9CiAgICAgdm9pZCBzZXRNYXJxdWVlU3BlZWQoaW50IGYpIHsg
U0VUX1ZBUihyYXJlTm9uSW5oZXJpdGVkRGF0YS5hY2Nlc3MoKS0+bV9tYXJxdWVlLCBzcGVlZCwg
Zik7IH0KICAgICB2b2lkIHNldE1hcnF1ZWVEaXJlY3Rpb24oRU1hcnF1ZWVEaXJlY3Rpb24gZCkg
eyBTRVRfVkFSKHJhcmVOb25Jbmhlcml0ZWREYXRhLmFjY2VzcygpLT5tX21hcnF1ZWUsIGRpcmVj
dGlvbiwgZCk7IH0KQEAgLTE0NzUsNiArMTQ4OCwxMSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFN0
eWxlSW1hZ2UqIGluaXRpYWxNYXNrQm94SW1hZ2VTb3VyY2UoKSB7IHJldHVybiAwOyB9CiAgICAg
c3RhdGljIFByaW50Q29sb3JBZGp1c3QgaW5pdGlhbFByaW50Q29sb3JBZGp1c3QoKSB7IHJldHVy
biBQcmludENvbG9yQWRqdXN0RWNvbm9teTsgfQogCisjaWYgRU5BQkxFKENTU19HUklEX0xBWU9V
VCkKKyAgICBzdGF0aWMgTGVuZ3RoIGluaXRpYWxHcmlkQ29sdW1ucygpIHsgcmV0dXJuIExlbmd0
aChVbmRlZmluZWQpOyB9CisgICAgc3RhdGljIExlbmd0aCBpbml0aWFsR3JpZFJvd3MoKSB7IHJl
dHVybiBMZW5ndGgoVW5kZWZpbmVkKTsgfQorI2VuZGlmCisKICAgICBzdGF0aWMgY29uc3QgQXRv
bWljU3RyaW5nJiBpbml0aWFsTGluZUdyaWQoKSB7IHJldHVybiBudWxsQXRvbTsgfQogICAgIHN0
YXRpYyBMaW5lR3JpZFNuYXAgaW5pdGlhbExpbmVHcmlkU25hcCgpIHsgcmV0dXJuIExpbmVHcmlk
U25hcE5vbmU7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1N0eWxlR3JpZEVsZW1lbnREYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9TdHlsZUdyaWRFbGVtZW50RGF0YS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjgwY2FmMTk3MzUyOWQ4ZWRl
M2ZjZmE3MTg3ZDYzOWNlNTBmYTEzNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9TdHlsZUdyaWRFbGVtZW50RGF0YS5jcHAKQEAgLTAsMCArMSw1MCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqICBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqICBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVECisgKiAgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQor
ICogIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogIExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTgorICogIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMKKyAqICBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUg
IlN0eWxlR3JpZEVsZW1lbnREYXRhLmgiCisKKyNpZiBFTkFCTEUoQ1NTX0dSSURfTEFZT1VUKQor
CisjaW5jbHVkZSAiUmVuZGVyU3R5bGUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitTdHls
ZUdyaWRFbGVtZW50RGF0YTo6U3R5bGVHcmlkRWxlbWVudERhdGEoKQorICAgIDogbV9ncmlkQ29s
dW1ucyhSZW5kZXJTdHlsZTo6aW5pdGlhbEdyaWRDb2x1bW5zKCkpCisgICAgLCBtX2dyaWRSb3dz
KFJlbmRlclN0eWxlOjppbml0aWFsR3JpZFJvd3MoKSkKK3sKK30KKworU3R5bGVHcmlkRWxlbWVu
dERhdGE6OlN0eWxlR3JpZEVsZW1lbnREYXRhKGNvbnN0IFN0eWxlR3JpZEVsZW1lbnREYXRhJiBv
KQorICAgIDogbV9ncmlkQ29sdW1ucyhvLm1fZ3JpZENvbHVtbnMpCisgICAgLCBtX2dyaWRSb3dz
KG8ubV9ncmlkUm93cykKK3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYg
Ly8gRU5BQkxFKENTU19HUklEX0xBWU9VVCkKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1N0eWxlR3JpZEVsZW1lbnREYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvU3R5bGVHcmlkRWxlbWVudERhdGEuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMjhiZWIy
NDc1Yzk5MGZlY2MwMjBjNDI0OGM0ZGRjZjI3ZTMxYTI3Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlR3JpZEVsZW1lbnREYXRhLmgKQEAgLTAs
MCArMSw2NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgUmln
aHRzIFJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqICBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAq
ICBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVECisgKiAgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWQorICogIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwor
ICogIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMKKyAqICBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqCisgKi8KKworI2lmbmRlZiBTdHlsZUdyaWRFbGVt
ZW50RGF0YV9oCisjZGVmaW5lIFN0eWxlR3JpZEVsZW1lbnREYXRhX2gKKworI2lmIEVOQUJMRShD
U1NfR1JJRF9MQVlPVVQpCisKKyNpbmNsdWRlICJMZW5ndGguaCIKKyNpbmNsdWRlICJQYXNzUmVm
UHRyLmgiCisjaW5jbHVkZSAiUmVmQ291bnRlZC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K2NsYXNzIFN0eWxlR3JpZEVsZW1lbnREYXRhIDogcHVibGljIFJlZkNvdW50ZWQ8U3R5bGVHcmlk
RWxlbWVudERhdGE+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxTdHlsZUdyaWRF
bGVtZW50RGF0YT4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFN0eWxlR3JpZEVsZW1l
bnREYXRhKTsgfQorICAgIFBhc3NSZWZQdHI8U3R5bGVHcmlkRWxlbWVudERhdGE+IGNvcHkoKSBj
b25zdCB7IHJldHVybiBhZG9wdFJlZihuZXcgU3R5bGVHcmlkRWxlbWVudERhdGEoKnRoaXMpKTsg
fQorCisgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFN0eWxlR3JpZEVsZW1lbnREYXRhJiBvKSBj
b25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fZ3JpZENvbHVtbnMgPT0gby5tX2dyaWRDb2x1
bW5zICYmIG1fZ3JpZFJvd3MgPT0gby5tX2dyaWRSb3dzOworICAgIH0KKworICAgIGJvb2wgb3Bl
cmF0b3IhPShjb25zdCBTdHlsZUdyaWRFbGVtZW50RGF0YSYgbykgY29uc3QKKyAgICB7CisgICAg
ICAgIHJldHVybiAhKCp0aGlzID09IG8pOworICAgIH0KKworICAgIC8vIEZJWE1FOiBGb3IgdGhl
IG1vbWVudCwgd2Ugb25seSBzdXBwb3J0IGEgc3Vic2V0IG9mIHRoZSBncmFtbWFyIHdoaWNoIGNv
cnJlc3BvbmQgdG86CisgICAgLy8gJ2F1dG8nIHwgPGxlbmd0aD4gfCA8cGVyY2VudGFnZT4gfCAn
bm9uZScKKyAgICBMZW5ndGggbV9ncmlkQ29sdW1uczsKKyAgICBMZW5ndGggbV9ncmlkUm93czsK
KworcHJpdmF0ZToKKyAgICBTdHlsZUdyaWRFbGVtZW50RGF0YSgpOworICAgIFN0eWxlR3JpZEVs
ZW1lbnREYXRhKGNvbnN0IFN0eWxlR3JpZEVsZW1lbnREYXRhJik7Cit9OworCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoQ1NTX0xBWU9VVF9HUklEKQorCisjZW5k
aWYgLy8gU3R5bGVHcmlkRWxlbWVudERhdGFfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwCmluZGV4
IDhkOTBjYThkOTYwNTY4MzA1ZTY4YjcxMmRjMzkzMjA0Mjk1NmE4ZDMuLmFkMjkxZmY1ZGU4NTU2
YWQzOTYyY2ViYzMxMDNmMTI2Zjg0MDU5ZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5jcHAKQEAg
LTg2LDYgKzg2LDkgQEAgU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlTm9uSW5o
ZXJpdGVkRGF0YShjb25zdCBTdHlsZVJhcmVOb25Jbmhlcml0ZWQKICNpZiBFTkFCTEUoQ1NTX0ZJ
TFRFUlMpCiAgICAgLCBtX2ZpbHRlcihvLm1fZmlsdGVyKQogI2VuZGlmCisjaWYgRU5BQkxFKENT
U19HUklEX0xBWU9VVCkKKyAgICAsIG1fZ3JpZExheW91dChvLm1fZ3JpZExheW91dCkKKyNlbmRp
ZgogICAgICwgbV9jb250ZW50KG8ubV9jb250ZW50ID8gby5tX2NvbnRlbnQtPmNsb25lKCkgOiBu
dWxscHRyKQogICAgICwgbV9jb3VudGVyRGlyZWN0aXZlcyhvLm1fY291bnRlckRpcmVjdGl2ZXMg
PyBjbG9uZSgqby5tX2NvdW50ZXJEaXJlY3RpdmVzKSA6IG51bGxwdHIpCiAgICAgLCBtX2JveFNo
YWRvdyhvLm1fYm94U2hhZG93ID8gYWRvcHRQdHIobmV3IFNoYWRvd0RhdGEoKm8ubV9ib3hTaGFk
b3cpKSA6IG51bGxwdHIpCkBAIC0xNDQsNiArMTQ3LDkgQEAgYm9vbCBTdHlsZVJhcmVOb25Jbmhl
cml0ZWREYXRhOjpvcGVyYXRvcj09KGNvbnN0IFN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEmIG8p
IGMKICNpZiBFTkFCTEUoQ1NTX0ZJTFRFUlMpCiAgICAgICAgICYmIG1fZmlsdGVyID09IG8ubV9m
aWx0ZXIKICNlbmRpZgorI2lmIEVOQUJMRShDU1NfR1JJRF9MQVlPVVQpCisgICAgICAgICYmIG1f
Z3JpZExheW91dCA9PSBvLm1fZ3JpZExheW91dAorI2VuZGlmCiAgICAgICAgICYmIGNvbnRlbnRE
YXRhRXF1aXZhbGVudChvKQogICAgICAgICAmJiBjb3VudGVyRGF0YUVxdWl2YWxlbnQobykKICAg
ICAgICAgJiYgdXNlckRyYWcgPT0gby51c2VyRHJhZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmgKaW5kZXgg
ZDJhYTJlODk4ODJhM2JjZDg0OGIzMDg0MTcyODg0ODY4ZDEyNmE4NS4uODMxM2Y1YTAzZjE4OWE4
MzFlMWFlZTcyOGY5OTc4NmYxNjczMTY4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5oCkBAIC00Niw2
ICs0Niw5IEBAIGNsYXNzIFN0eWxlRGVwcmVjYXRlZEZsZXhpYmxlQm94RGF0YTsKIGNsYXNzIFN0
eWxlRmlsdGVyRGF0YTsKICNlbmRpZgogY2xhc3MgU3R5bGVGbGV4aWJsZUJveERhdGE7CisjaWYg
RU5BQkxFKENTU19HUklEX0xBWU9VVCkKK2NsYXNzIFN0eWxlR3JpZEVsZW1lbnREYXRhOworI2Vu
ZGlmCiBjbGFzcyBTdHlsZU1hcnF1ZWVEYXRhOwogY2xhc3MgU3R5bGVNdWx0aUNvbERhdGE7CiBj
bGFzcyBTdHlsZVJlZmxlY3Rpb247CkBAIC0xMTEsNiArMTE0LDEwIEBAIHB1YmxpYzoKICAgICBE
YXRhUmVmPFN0eWxlRmlsdGVyRGF0YT4gbV9maWx0ZXI7IC8vIEZpbHRlciBvcGVyYXRpb25zICh1
cmwsIHNlcGlhLCBibHVyLCBldGMuKQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoQ1NTX0dSSURfTEFZ
T1VUKQorICAgIERhdGFSZWY8U3R5bGVHcmlkRWxlbWVudERhdGE+IG1fZ3JpZExheW91dDsKKyNl
bmRpZgorCiAgICAgT3duUHRyPENvbnRlbnREYXRhPiBtX2NvbnRlbnQ7CiAgICAgT3duUHRyPENv
dW50ZXJEaXJlY3RpdmVNYXA+IG1fY291bnRlckRpcmVjdGl2ZXM7CiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzNWYyYjA5
NzJiNzc5Nzc0M2E5YTgwOTBmMjRiMDE3NjkwNjI2NTFlLi5iZTllZmVkYTdmMzlmZjdkOGIxOTM5
Y2QyYzAxMzQ1ZjViZGJhOGExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMTEtMTYgIEp1
bGllbiBDaGFmZnJhaXggIDxqY2hhZmZyYWl4QHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWRkIGxp
bWl0ZWQgcGFyc2luZyBzdXBwb3J0IGZvciBncmlkLWNvbHVtbnMgYW5kIGdyaWQtcm93cworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1MzEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0IG91ciBjdXJy
ZW50bHkgc3VwcG9ydGVkIGdyYW1tYXIuCisKKyAgICAgICAgKiBmYXN0L2Nzcy1ncmlkLWxheW91
dC9ncmlkLWNvbHVtbnMtcm93cy1nZXQtc2V0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
Y3NzLWdyaWQtbGF5b3V0L3Jlc291cmNlcy9ncmlkLWNvbHVtbnMtcm93cy1nZXQtc2V0LmpzOiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWNvbHVtbnMtcm93cy1n
ZXQtc2V0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisKIDIwMTEtMTEtMTYgIEFkYW0gQmFydGggIDxh
YmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBVcGRhdGUgdGVzdCByZXN1bHRzIGFmdGVyIHRp
Z2h0ZW5pbmcgdXAgU2VjdXJpdHlPcmlnaW4gbG9naWMgaW4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtY29sdW1ucy1yb3dzLWdldC1zZXQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1jb2x1bW5zLXJv
d3MtZ2V0LXNldC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGQ3ODIyNzMyMTU3Y2FmMjYwZmRk
ZjEzZTcwNzk3NTZkYTNiNDI5OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
Y3NzLWdyaWQtbGF5b3V0L2dyaWQtY29sdW1ucy1yb3dzLWdldC1zZXQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzIgQEAKK1Rlc3QgdGhhdCBzZXR0aW5nIGFuZCBnZXR0aW5nIGdyaWQtY29sdW1u
cyBhbmQgZ3JpZC1yb3dzIHdvcmtzIGFzIGV4cGVjdGVkCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworCitUZXN0IGdldHRpbmcgfGRpc3BsYXl8IHNldCB0aHJvdWdoIENTUworUEFTUyBn
ZXRDb21wdXRlZFN0eWxlKGdyaWRFbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtp
dC1ncmlkLWNvbHVtbnMnKSBpcyAnbm9uZScKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShncmlkRWxl
bWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1yb3dzJykgaXMgJ25vbmUn
CitQQVNTIGdldENvbXB1dGVkU3R5bGUoZ3JpZFdpdGhGaXhlZEVsZW1lbnQsICcnKS5nZXRQcm9w
ZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtY29sdW1ucycpIGlzICcxMHB4JworUEFTUyBnZXRDb21w
dXRlZFN0eWxlKGdyaWRXaXRoRml4ZWRFbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdl
YmtpdC1ncmlkLXJvd3MnKSBpcyAnMTVweCcKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShncmlkV2l0
aFBlcmNlbnRFbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLWNvbHVt
bnMnKSBpcyAnNTMlJworUEFTUyBnZXRDb21wdXRlZFN0eWxlKGdyaWRXaXRoUGVyY2VudEVsZW1l
bnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtcm93cycpIGlzICcyNyUnCitQ
QVNTIGdldENvbXB1dGVkU3R5bGUoZ3JpZFdpdGhBdXRvRWxlbWVudCwgJycpLmdldFByb3BlcnR5
VmFsdWUoJy13ZWJraXQtZ3JpZC1jb2x1bW5zJykgaXMgJ2F1dG8nCitQQVNTIGdldENvbXB1dGVk
U3R5bGUoZ3JpZFdpdGhBdXRvRWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQt
Z3JpZC1yb3dzJykgaXMgJ2F1dG8nCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZ3JpZFdpdGhFTUVs
ZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtY29sdW1ucycpIGlzICcx
NjBweCcKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShncmlkV2l0aEVNRWxlbWVudCwgJycpLmdldFBy
b3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1yb3dzJykgaXMgJzI0MHB4JworCitUZXN0IHRoZSBp
bml0aWFsIHZhbHVlCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3Bl
cnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1jb2x1bW5zJykgaXMgJ25vbmUnCitQQVNTIGdldENvbXB1
dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1yb3dz
JykgaXMgJ25vbmUnCisKK1Rlc3QgZ2V0dGluZyBhbmQgc2V0dGluZyBkaXNwbGF5IHRocm91Z2gg
SlMKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgn
LXdlYmtpdC1ncmlkLWNvbHVtbnMnKSBpcyAnMThweCcKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShl
bGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXJvd3MnKSBpcyAnNjZw
eCcKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgn
LXdlYmtpdC1ncmlkLWNvbHVtbnMnKSBpcyAnNTUlJworUEFTUyBnZXRDb21wdXRlZFN0eWxlKGVs
ZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtcm93cycpIGlzICc0MCUn
CitQQVNTIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13
ZWJraXQtZ3JpZC1jb2x1bW5zJykgaXMgJ2F1dG8nCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZWxl
bWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1yb3dzJykgaXMgJ2F1dG8n
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1jb2x1bW5zLXJv
d3MtZ2V0LXNldC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1j
b2x1bW5zLXJvd3MtZ2V0LXNldC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFlNmRiMzM0NGNhYzJlNzQ3NWZi
MzQ2ZGIyODU3MTI2ODIxZmFkMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2Nzcy1ncmlkLWxheW91dC9ncmlkLWNvbHVtbnMtcm93cy1nZXQtc2V0Lmh0bWwKQEAgLTAsMCAr
MSw0MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KKy5ncmlkIHsKKyAgICBkaXNwbGF5OiAtd2Via2l0LWdy
aWQ7CisgICAgLXdlYmtpdC1ncmlkLWNvbHVtbnM6IG5vbmU7CisgICAgLXdlYmtpdC1ncmlkLXJv
d3M6IG5vbmU7Cit9CisuZ3JpZFdpdGhGaXhlZCB7CisgICAgZGlzcGxheTogLXdlYmtpdC1ncmlk
OworICAgIC13ZWJraXQtZ3JpZC1jb2x1bW5zOiAxMHB4OworICAgIC13ZWJraXQtZ3JpZC1yb3dz
OiAxNXB4OworfQorLmdyaWRXaXRoUGVyY2VudCB7CisgICAgZGlzcGxheTogLXdlYmtpdC1ncmlk
OworICAgIC13ZWJraXQtZ3JpZC1jb2x1bW5zOiA1MyU7CisgICAgLXdlYmtpdC1ncmlkLXJvd3M6
IDI3JTsKK30KKy5ncmlkV2l0aEF1dG8geworICAgIGRpc3BsYXk6IC13ZWJraXQtZ3JpZDsKKyAg
ICAtd2Via2l0LWdyaWQtY29sdW1uczogYXV0bzsKKyAgICAtd2Via2l0LWdyaWQtcm93czogYXV0
bzsKK30KKy5ncmlkV2l0aEVNIHsKKyAgICBkaXNwbGF5OiAtd2Via2l0LWdyaWQ7CisgICAgLXdl
YmtpdC1ncmlkLWNvbHVtbnM6IDEwZW07CisgICAgLXdlYmtpdC1ncmlkLXJvd3M6IDE1ZW07Cit9
Cis8L3N0eWxlPgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgY2xhc3M9ImdyaWQiIGlkPSJncmlkRWxl
bWVudCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJncmlkV2l0aEZpeGVkIiBpZD0iZ3JpZFdpdGhGaXhl
ZEVsZW1lbnQiPjwvZGl2PgorPGRpdiBjbGFzcz0iZ3JpZFdpdGhQZXJjZW50IiBpZD0iZ3JpZFdp
dGhQZXJjZW50RWxlbWVudCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJncmlkV2l0aEF1dG8iIGlkPSJn
cmlkV2l0aEF1dG9FbGVtZW50Ij48L2Rpdj4KKzxkaXYgY2xhc3M9ImdyaWRXaXRoRU0iIGlkPSJn
cmlkV2l0aEVNRWxlbWVudCI+PC9kaXY+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2dyaWQtY29s
dW1ucy1yb3dzLWdldC1zZXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvcmVzb3VyY2VzL2dyaWQtY29s
dW1ucy1yb3dzLWdldC1zZXQuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9y
ZXNvdXJjZXMvZ3JpZC1jb2x1bW5zLXJvd3MtZ2V0LXNldC5qcwpuZXcgZmlsZSBtb2RlIDEwMDc1
NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYzliNjdh
NzgxZDc5OTlmMzcwYjVmN2Q5ODc2MGNlOTRiZTRhMzQ5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvcmVzb3VyY2VzL2dyaWQtY29sdW1ucy1yb3dz
LWdldC1zZXQuanMKQEAgLTAsMCArMSw1MCBAQAorZGVzY3JpcHRpb24oJ1Rlc3QgdGhhdCBzZXR0
aW5nIGFuZCBnZXR0aW5nIGdyaWQtY29sdW1ucyBhbmQgZ3JpZC1yb3dzIHdvcmtzIGFzIGV4cGVj
dGVkJyk7CisKK2RlYnVnKCJUZXN0IGdldHRpbmcgfGRpc3BsYXl8IHNldCB0aHJvdWdoIENTUyIp
OwordmFyIGdyaWRFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImdyaWRFbGVtZW50
Iik7CitzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShncmlkRWxlbWVudCwgJycpLmdldFByb3Bl
cnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1jb2x1bW5zJykiLCAiJ25vbmUnIik7CitzaG91bGRCZSgi
Z2V0Q29tcHV0ZWRTdHlsZShncmlkRWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJr
aXQtZ3JpZC1yb3dzJykiLCAiJ25vbmUnIik7CisKK3ZhciBncmlkV2l0aEZpeGVkRWxlbWVudCA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJncmlkV2l0aEZpeGVkRWxlbWVudCIpOworc2hvdWxk
QmUoImdldENvbXB1dGVkU3R5bGUoZ3JpZFdpdGhGaXhlZEVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0
eVZhbHVlKCctd2Via2l0LWdyaWQtY29sdW1ucycpIiwgIicxMHB4JyIpOworc2hvdWxkQmUoImdl
dENvbXB1dGVkU3R5bGUoZ3JpZFdpdGhGaXhlZEVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVl
KCctd2Via2l0LWdyaWQtcm93cycpIiwgIicxNXB4JyIpOworCit2YXIgZ3JpZFdpdGhQZXJjZW50
RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJncmlkV2l0aFBlcmNlbnRFbGVtZW50
Iik7CitzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShncmlkV2l0aFBlcmNlbnRFbGVtZW50LCAn
JykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLWNvbHVtbnMnKSIsICInNTMlJyIpOwor
c2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZ3JpZFdpdGhQZXJjZW50RWxlbWVudCwgJycpLmdl
dFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1yb3dzJykiLCAiJzI3JSciKTsKKwordmFyIGdy
aWRXaXRoQXV0b0VsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZ3JpZFdpdGhBdXRv
RWxlbWVudCIpOworc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZ3JpZFdpdGhBdXRvRWxlbWVu
dCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1jb2x1bW5zJykiLCAiJ2F1dG8n
Iik7CitzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShncmlkV2l0aEF1dG9FbGVtZW50LCAnJyku
Z2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXJvd3MnKSIsICInYXV0byciKTsKKwordmFy
IGdyaWRXaXRoRU1FbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImdyaWRXaXRoRU1F
bGVtZW50Iik7CitzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShncmlkV2l0aEVNRWxlbWVudCwg
JycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1jb2x1bW5zJykiLCAiJzE2MHB4JyIp
Oworc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZ3JpZFdpdGhFTUVsZW1lbnQsICcnKS5nZXRQ
cm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtcm93cycpIiwgIicyNDBweCciKTsKKworZGVidWco
IiIpOworZGVidWcoIlRlc3QgdGhlIGluaXRpYWwgdmFsdWUiKTsKK3ZhciBlbGVtZW50ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVs
ZW1lbnQpOworc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3Bl
cnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1jb2x1bW5zJykiLCAiJ25vbmUnIik7CitzaG91bGRCZSgi
Z2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1n
cmlkLXJvd3MnKSIsICInbm9uZSciKTsKKworZGVidWcoIiIpOworZGVidWcoIlRlc3QgZ2V0dGlu
ZyBhbmQgc2V0dGluZyBkaXNwbGF5IHRocm91Z2ggSlMiKTsKK2VsZW1lbnQuc3R5bGUud2Via2l0
R3JpZENvbHVtbnMgPSAiMThweCI7CitlbGVtZW50LnN0eWxlLndlYmtpdEdyaWRSb3dzID0gIjY2
cHgiOworc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5
VmFsdWUoJy13ZWJraXQtZ3JpZC1jb2x1bW5zJykiLCAiJzE4cHgnIik7CitzaG91bGRCZSgiZ2V0
Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlk
LXJvd3MnKSIsICInNjZweCciKTsKKworZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
ImRpdiIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbGVtZW50KTsKK2VsZW1lbnQuc3R5
bGUud2Via2l0R3JpZENvbHVtbnMgPSAiNTUlIjsKK2VsZW1lbnQuc3R5bGUud2Via2l0R3JpZFJv
d3MgPSAiNDAlIjsKK3Nob3VsZEJlKCJnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQ
cm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtY29sdW1ucycpIiwgIic1NSUnIik7CitzaG91bGRC
ZSgiZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtp
dC1ncmlkLXJvd3MnKSIsICInNDAlJyIpOworCitlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiZGl2Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVsZW1lbnQpOworZWxlbWVu
dC5zdHlsZS53ZWJraXRHcmlkQ29sdW1ucyA9ICJhdXRvIjsKK2VsZW1lbnQuc3R5bGUud2Via2l0
R3JpZFJvd3MgPSAiYXV0byI7CitzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAn
JykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLWNvbHVtbnMnKSIsICInYXV0byciKTsK
K3Nob3VsZEJlKCJnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVl
KCctd2Via2l0LWdyaWQtcm93cycpIiwgIidhdXRvJyIpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115467</attachid>
            <date>2011-11-16 15:57:37 -0800</date>
            <delta_ts>2011-11-28 13:33:48 -0800</delta_ts>
            <desc>Proposed patch 1: Fully building this time, after the renamings.</desc>
            <filename>bug-72531-20111116155736.patch</filename>
            <type>text/plain</type>
            <size>40289</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAwNDk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjIzMTc0NzQzMjlhYTcx
NDg1YzEwNjk3MmU1ZWU2YmM0NzdiNmYyNC4uMDE2NWQwZjBlZDBkNWFlYjc2MjZhZDFhNjhjZGI2
MTc3ZDQ1MTQ5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc5IEBACisyMDExLTExLTE2ICBKdWxp
ZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgorCisgICAgICAgIEFkZCBsaW1p
dGVkIHBhcnNpbmcgc3VwcG9ydCBmb3IgZ3JpZC1jb2x1bW5zIGFuZCBncmlkLXJvd3MKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTMxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZmFzdC9jc3Mt
Z3JpZC1sYXlvdXQvZ3JpZC1jb2x1bW5zLXJvd3MtZ2V0LXNldC5odG1sCisKKyAgICAgICAgQWRk
ZWQgc3VwcG9ydCBmb3I6CisgICAgICAgIDx0cmFjay1saXN0PiA6PSA8bGVuZ3RoPiB8IDxwZXJj
ZW50YWdlPiB8ICdub25lJyB8ICdhdXRvJworCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6Cisg
ICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAg
ICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAg
ICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlQWxsSW5PbmUuY3BwOgorICAgICAgICBVcGRhdGVk
IG91ciBidWlsZCBzeXN0ZW1zLgorCisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNs
YXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjp2YWx1ZUZvckdyaWRUcmFja0xpc3QpOgor
ICAgICAgICBIZWxwZXIgZnVuY3Rpb24gdG8gY29udmVydCBvdXIgUmVuZGVyU3R5bGUgaW5mb3Jt
YXRpb24gdG8gYSBwcm9wZXIgQ1NTVmFsdWUuCisgICAgICAgIEl0IGRvZXNuJ3QgZG8gbXVjaCBu
b3cgYnV0IGl0IHdpbGwgYmUgZXhwYW5kZWQgYXMgd2UgYWRkIG1vcmUgc3VwcG9ydC4KKworICAg
ICAgICAoV2ViQ29yZTo6Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNT
U1ZhbHVlKTogQ2FsbCB0aGUgcHJldmlvdXMKKyAgICAgICAgZnVuY3Rpb24uCisKKyAgICAgICAg
KiBjc3MvQ1NTUGFyc2VyLmg6CisgICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
UGFyc2VyOjpwYXJzZUdyaWRUcmFja0xpc3QpOgorICAgICAgICBDU1MgcGFyc2luZyBwYXJ0IG9m
IHRoaXMgY2hhbmdlLiBQcmV0dHkgc2ltcGxlIGZvciBub3cuCisKKyAgICAgICAgKiBjc3MvQ1NT
UHJvcGVydHlOYW1lcy5pbjoKKyAgICAgICAgQWRkZWQgLXdlYmtpdC1ncmlkLWNvbHVtbnMgYW5k
IC13ZWJraXQtZ3JpZC1yb3dzLgorCisgICAgICAgICogY3NzL0NTU1Byb3BlcnR5LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5Ojppc0luaGVyaXRlZFByb3BlcnR5KToKKyAgICAg
ICAgKiBjc3MvQ1NTU3R5bGVBcHBseVByb3BlcnR5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNT
U1N0eWxlQXBwbHlQcm9wZXJ0eTo6Q1NTU3R5bGVBcHBseVByb3BlcnR5KToKKyAgICAgICAgKiBj
c3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVj
dG9yOjphcHBseVByb3BlcnR5KToKKyAgICAgICAgU3R5bGUgYXBwbGljYXRpb24gcGx1bWJpbmcu
CisKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyU3R5bGU6OlJlbmRlclN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclN0eWxlOjpkaWZmKToKKyAgICAgICAgVGhpcyBjaGFuZ2UgaXMgcmVxdWlyZWQgZm9yIGxh
dGVyIHdoZW4gd2UgYWRkIGxheW91dCBmb3Igb3VyIGdyaWQuCisKKyAgICAgICAgKiByZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkluaGVyaXRlZEZsYWdz
OjpncmlkQ29sdW1ucyk6CisgICAgICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6Z3JpZFJv
d3MpOgorICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6OnNldEdyaWRDb2x1bW5zKToK
KyAgICAgICAgKFdlYkNvcmU6OkluaGVyaXRlZEZsYWdzOjpzZXRHcmlkUm93cyk6CisgICAgICAg
IChXZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6aW5pdGlhbEdyaWRDb2x1bW5zKToKKyAgICAgICAg
KFdlYkNvcmU6OkluaGVyaXRlZEZsYWdzOjppbml0aWFsR3JpZFJvd3MpOgorICAgICAgICBHZXR0
ZXJzIC8gU2V0dGVycyBhbmQgaW5pdGlhbCB2YWx1ZXMuCisKKyAgICAgICAgKiByZW5kZXJpbmcv
c3R5bGUvU3R5bGVHcmlkRGF0YS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVH
cmlkRGF0YTo6U3R5bGVHcmlkRGF0YSk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxl
R3JpZERhdGEuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpTdHlsZUdyaWREYXRhOjpjcmVh
dGUpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVHcmlkRGF0YTo6Y29weSk6CisgICAgICAgIChX
ZWJDb3JlOjpTdHlsZUdyaWREYXRhOjpvcGVyYXRvcj09KToKKyAgICAgICAgKFdlYkNvcmU6OlN0
eWxlR3JpZERhdGE6Om9wZXJhdG9yIT0pOgorICAgICAgICBUaGlzIGNsYXNzIGhvbGRzIHRoZSBn
cmlkIGVsZW1lbnQgaW5mb3JtYXRpb24uIEZvciBub3cgcHJldHR5IHNpbXBsZQorICAgICAgICBz
aGVsbCB0aGF0IHdpbGwgYmUgdXNlZCBmb3IgdGhlIHJlc3Qgb2YgdGhlIHN1cHBvcnQuCisKKyAg
ICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpTdHlsZVJhcmVOb25J
bmhlcml0ZWREYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmFyZU5vbkluaGVyaXRlZERh
dGE6Om9wZXJhdG9yPT0pOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25J
bmhlcml0ZWREYXRhLmg6CisgICAgICAgIEFkZGVkIFN0eWxlR3JpZEVsZW1lbnREYXRhIHRvIFN0
eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuCisKIDIwMTEtMTEtMTYgIEFsZXhhbmRyZSBFbGlhcyAg
PGFlbGlhc0Bnb29nbGUuY29tPgogCiAgICAgICAgIFtjaHJvbWl1bV0gQWRkIG51bGwgcG9pbnRl
ciBjaGVjayBpbiBzZXREZXZpY2VTY2FsZUZhY3RvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBl
M2YwYmRiNTRiMTdmMmVlNDA3MDQ2MjUwZTUzYmM5ZGExMmY3ZTBjLi5jYmQwNTg5YTU3NmViMTky
ZmI5ZDgyMTVkN2M4M2RkNWUxYmJkYWNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTMxNSw2
ICsxMzE1LDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIHJlbmRlcmluZy9zdHlsZS9TdHls
ZUZpbHRlckRhdGEuY3BwCiAgICAgcmVuZGVyaW5nL3N0eWxlL1N0eWxlRmxleGlibGVCb3hEYXRh
LmNwcAogICAgIHJlbmRlcmluZy9zdHlsZS9TdHlsZUdlbmVyYXRlZEltYWdlLmNwcAorICAgIHJl
bmRlcmluZy9zdHlsZS9TdHlsZUdyaWREYXRhLmNwcAogICAgIHJlbmRlcmluZy9zdHlsZS9TdHls
ZUluaGVyaXRlZERhdGEuY3BwCiAgICAgcmVuZGVyaW5nL3N0eWxlL1N0eWxlTWFycXVlZURhdGEu
Y3BwCiAgICAgcmVuZGVyaW5nL3N0eWxlL1N0eWxlTXVsdGlDb2xEYXRhLmNwcApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggMzQ3ZTk2M2UwM2FhOTJmODI1M2I4ZDY3MTQ2ODk0YjMx
NDdlMGQyMC4uNTkwMTQwNTFkNGQzNmFmOGI3YjU1OTRjNTZmMTdhNjlhYTIwZTlmMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0zMjc5LDYgKzMyNzksOCBAQCB3ZWJjb3JlX3Nv
dXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUZsZXhpYmxl
Qm94RGF0YS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVHZW5lcmF0
ZWRJbWFnZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUdlbmVy
YXRlZEltYWdlLmggXAorCVNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUdyaWRE
YXRhLmNwcCBcCisJU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlR3JpZERhdGEu
aCBcCiAJU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlSW1hZ2UuaCBcCiAJU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlSW5oZXJpdGVkRGF0YS5jcHAgXAogCVNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUluaGVyaXRlZERhdGEuaCBcCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0
LnByaQppbmRleCA0YTk3YThiNDY1NDE3MWVjZDkyM2I1ODg5ZDRlNGVkMTNiMTk1Y2JmLi45NmFi
YTE0NzM2OTVjZTk0NjIxZDNkMjZhOGRmZmM5MGM5ZWZjY2VmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAgLTEy
NTcsNiArMTI1Nyw3IEBAIFNPVVJDRVMgKz0gXAogICAgIHJlbmRlcmluZy9zdHlsZS9TdHlsZUZp
bHRlckRhdGEuY3BwIFwKICAgICByZW5kZXJpbmcvc3R5bGUvU3R5bGVGbGV4aWJsZUJveERhdGEu
Y3BwIFwKICAgICByZW5kZXJpbmcvc3R5bGUvU3R5bGVHZW5lcmF0ZWRJbWFnZS5jcHAgXAorICAg
IHJlbmRlcmluZy9zdHlsZS9TdHlsZUdyaWREYXRhLmNwcCBcCiAgICAgcmVuZGVyaW5nL3N0eWxl
L1N0eWxlSW5oZXJpdGVkRGF0YS5jcHAgXAogICAgIHJlbmRlcmluZy9zdHlsZS9TdHlsZU1hcnF1
ZWVEYXRhLmNwcCBcCiAgICAgcmVuZGVyaW5nL3N0eWxlL1N0eWxlTXVsdGlDb2xEYXRhLmNwcCBc
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKaW5kZXggYjVjY2FkMDAzOGMzMjJmMDllOWQyMTBlZDIwYWVmZWFjNWQ3
MjNkYi4uZjJjNGM2MjAyYmUwMjBmNDAyZWRjOTMzNGQxNWFlYmU2ODAxZjAwZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZ3lwaQpAQCAtOTQ5LDYgKzk0OSw3IEBACiAgICAgICAgICAgICAncmVuZGVyaW5nL3N0eWxl
L1N0eWxlRmlsdGVyRGF0YS5oJywKICAgICAgICAgICAgICdyZW5kZXJpbmcvc3R5bGUvU3R5bGVG
bGV4aWJsZUJveERhdGEuaCcsCiAgICAgICAgICAgICAncmVuZGVyaW5nL3N0eWxlL1N0eWxlR2Vu
ZXJhdGVkSW1hZ2UuaCcsCisgICAgICAgICAgICAncmVuZGVyaW5nL3N0eWxlL1N0eWxlR3JpZERh
dGEuaCcsCiAgICAgICAgICAgICAncmVuZGVyaW5nL3N0eWxlL1N0eWxlSW1hZ2UuaCcsCiAgICAg
ICAgICAgICAncmVuZGVyaW5nL3N0eWxlL1N0eWxlSW5oZXJpdGVkRGF0YS5oJywKICAgICAgICAg
ICAgICdyZW5kZXJpbmcvc3R5bGUvU3R5bGVNYXJxdWVlRGF0YS5oJywKQEAgLTQ3NTQsNiArNDc1
NSw3IEBACiAgICAgICAgICAgICAncmVuZGVyaW5nL3N0eWxlL1N0eWxlRmlsdGVyRGF0YS5jcHAn
LAogICAgICAgICAgICAgJ3JlbmRlcmluZy9zdHlsZS9TdHlsZUZsZXhpYmxlQm94RGF0YS5jcHAn
LAogICAgICAgICAgICAgJ3JlbmRlcmluZy9zdHlsZS9TdHlsZUdlbmVyYXRlZEltYWdlLmNwcCcs
CisgICAgICAgICAgICAncmVuZGVyaW5nL3N0eWxlL1N0eWxlR3JpZERhdGEuY3BwJywKICAgICAg
ICAgICAgICdyZW5kZXJpbmcvc3R5bGUvU3R5bGVJbmhlcml0ZWREYXRhLmNwcCcsCiAgICAgICAg
ICAgICAncmVuZGVyaW5nL3N0eWxlL1N0eWxlTWFycXVlZURhdGEuY3BwJywKICAgICAgICAgICAg
ICdyZW5kZXJpbmcvc3R5bGUvU3R5bGVNdWx0aUNvbERhdGEuY3BwJywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggZDdmZjBiZmRhMzA2MzhkNjQz
ZjY0ZmU4YmIwNDA1ODE3OTg3MjZmZi4uMGVhNTIwMjE0MWMxNGVmNDZkZmVmMzgxOTE5YTQwMWY4
ODk1NjE0NiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3By
b2oKQEAgLTQwNzAzLDYgKzQwNzAzLDYyIEBACiAJCQkJCT4KIAkJCQk8L0ZpbGU+CiAJCQkJPEZp
bGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxyZW5kZXJpbmdcc3R5bGVcU3R5bGVHcmlkRGF0YS5j
cHAiCisJCQkJCT4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJEZWJ1Z3xX
aW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJPFRv
b2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJSZWxl
YXNlfFdpbjMyIgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJ
CQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9
IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
IgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgor
CQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0
aW9uCisJCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJCUV4Y2x1
ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJW
Q0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJ
CQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJ
CQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRp
b24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iUHJvZHVjdGlvbnxXaW4z
MiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJPFRvb2wK
KwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29u
ZmlndXJhdGlvbj4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIu
LlxyZW5kZXJpbmdcc3R5bGVcU3R5bGVHcmlkRGF0YS5oIgorCQkJCQk+CisJCQkJPC9GaWxlPgor
CQkJCTxGaWxlCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5ccmVuZGVyaW5nXHN0eWxlXFN0eWxlSW1h
Z2UuaCIKIAkJCQkJPgogCQkJCTwvRmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA1NmMwNTYzMWQ4MjA1ZDgyMTNhNjgzM2M3
OTdmZDJhMzgzNmJlNTNkLi5mM2ZiZWNhMDFkZmY3MDY1YzFmMTVhMzM3ODZjN2M0ODg3NGMzMWU4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCkBAIC0zMzgyLDYgKzMzODIsOCBAQAogCQlBMEVFMERGNjE0NEY4MjU1MDBGODBCMEQgLyog
V2ViR0xEZWJ1Z1JlbmRlcmVySW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTBFRTBERjIxNDRGODI1NTAwRjgwQjBEIC8qIFdlYkdMRGVidWdSZW5k
ZXJlckluZm8uaCAqLzsgfTsKIAkJQTBFRTBERjcxNDRGODI1NTAwRjgwQjBEIC8qIFdlYkdMRGVi
dWdTaGFkZXJzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEEwRUUwREYzMTQ0RjgyNTUwMEY4MEIwRCAvKiBXZWJHTERlYnVnU2hhZGVycy5jcHAgKi87
IH07CiAJCUEwRUUwREY4MTQ0RjgyNTUwMEY4MEIwRCAvKiBXZWJHTERlYnVnU2hhZGVycy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTBFRTBERjQxNDRG
ODI1NTAwRjgwQjBEIC8qIFdlYkdMRGVidWdTaGFkZXJzLmggKi87IH07CisJCUExMERDNzZBMTQ3
NDdCQUIwMDVFMjQ3MSAvKiBTdHlsZUdyaWREYXRhLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExMERDNzY4MTQ3NDdCQUIwMDVFMjQ3MSAvKiBTdHls
ZUdyaWREYXRhLmNwcCAqLzsgfTsKKwkJQTEwREM3NkIxNDc0N0JBQjAwNUUyNDcxIC8qIFN0eWxl
R3JpZERhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEExMERDNzY5MTQ3NDdCQUIwMDVFMjQ3MSAvKiBTdHlsZUdyaWREYXRhLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQTEyMEFDQTQxM0Y5OThDQTAw
RkU0QUM3IC8qIExheW91dFJlcGFpbnRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBMTIwQUNBMTEzRjk5ODQ2MDBGRTRBQzcgLyogTGF5b3V0UmVw
YWludGVyLmNwcCAqLzsgfTsKIAkJQTEyNTM4RDQxM0Y5QjYwQTAwMDI0NzU0IC8qIExheW91dFJl
cGFpbnRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTEyMEFDQTAxM0Y5OTgzNzAwRkU0QUM3IC8qIExheW91dFJlcGFpbnRlci5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUExMzZBMDBDMTEzNERCRDIw
MENDOEQ1MCAvKiBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTM2QTAwQTExMzREQkQy
MDBDQzhENTAgLyogWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuY3BwICovOyB9
OwpAQCAtMTA1ODEsNiArMTA1ODMsOCBAQAogCQlBMEVFMERGMjE0NEY4MjU1MDBGODBCMEQgLyog
V2ViR0xEZWJ1Z1JlbmRlcmVySW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUg
PSBXZWJHTERlYnVnUmVuZGVyZXJJbmZvLmg7IHBhdGggPSBjYW52YXMvV2ViR0xEZWJ1Z1JlbmRl
cmVySW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMEVFMERGMzE0NEY4MjU1
MDBGODBCMEQgLyogV2ViR0xEZWJ1Z1NoYWRlcnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBuYW1lID0gV2ViR0xEZWJ1Z1NoYWRlcnMuY3BwOyBwYXRoID0gY2FudmFzL1dlYkdM
RGVidWdTaGFkZXJzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTBFRTBERjQx
NDRGODI1NTAwRjgwQjBEIC8qIFdlYkdMRGVidWdTaGFkZXJzLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IFdlYkdMRGVidWdTaGFkZXJzLmg7IHBhdGggPSBjYW52YXMvV2ViR0xE
ZWJ1Z1NoYWRlcnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTEwREM3NjgxNDc0
N0JBQjAwNUUyNDcxIC8qIFN0eWxlR3JpZERhdGEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBuYW1lID0gU3R5bGVHcmlkRGF0YS5jcHA7IHBhdGggPSBzdHlsZS9TdHlsZUdyaWRE
YXRhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTEwREM3NjkxNDc0N0JBQjAw
NUUyNDcxIC8qIFN0eWxlR3JpZERhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gU3R5bGVHcmlkRGF0YS5oOyBwYXRoID0gc3R5bGUvU3R5bGVHcmlkRGF0YS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlBMTIwQUNBMDEzRjk5ODM3MDBGRTRBQzcgLyogTGF5b3V0
UmVwYWludGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExheW91dFJlcGFp
bnRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMTIwQUNBMTEzRjk5ODQ2MDBG
RTRBQzcgLyogTGF5b3V0UmVwYWludGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IExheW91dFJlcGFpbnRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUExMzZBMDBBMTEzNERCRDIwMENDOEQ1MCAvKiBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZl
bnRUaHJvdHRsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBYTUxI
dHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0xOTc2Nyw2ICsxOTc3MSw4IEBACiAJCUJDOEM4RkFBMEREQ0QyRjIwMEI1OTJG
NCAvKiBzdHlsZSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJ
CQkJQTEwREM3NjgxNDc0N0JBQjAwNUUyNDcxIC8qIFN0eWxlR3JpZERhdGEuY3BwICovLAorCQkJ
CUExMERDNzY5MTQ3NDdCQUIwMDVFMjQ3MSAvKiBTdHlsZUdyaWREYXRhLmggKi8sCiAJCQkJNTAz
OEJFMkQxNDcyQUQyMzAwOTVFMEQxIC8qIFN0eWxlQ2FjaGVkU2hhZGVyLmNwcCAqLywKIAkJCQk1
MDM4QkUyRTE0NzJBRDIzMDA5NUUwRDEgLyogU3R5bGVDYWNoZWRTaGFkZXIuaCAqLywKIAkJCQlC
QzVFQjVFMDBFODFCRTg3MDBCMjU5NjUgLyogQm9yZGVyRGF0YS5oICovLApAQCAtMjQ3MTYsNiAr
MjQ3MjIsNyBAQAogCQkJCTUwMzhCQzBCMTQ3MTFEMzQwMDk1RTBEMSAvKiBDdXN0b21GaWx0ZXJP
cGVyYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTUwMzhCRTMwMTQ3MkFEMjMwMDk1RTBEMSAv
KiBTdHlsZUNhY2hlZFNoYWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTAzOEJFNDExNDcyQUQ5
ODAwOTVFMEQxIC8qIENhY2hlZFNoYWRlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTEwREM3NkIx
NDc0N0JBQjAwNUUyNDcxIC8qIFN0eWxlR3JpZERhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJKTsK
IAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjc1
ODksNiArMjc1OTYsNyBAQAogCQkJCTUwMzhCQzA3MTQ3MTFDREIwMDk1RTBEMSAvKiBXZWJLaXRD
U1NTaGFkZXJWYWx1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MDM4QkUyRjE0NzJBRDIzMDA5
NUUwRDEgLyogU3R5bGVDYWNoZWRTaGFkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTAzOEJF
NDAxNDcyQUQ5ODAwOTVFMEQxIC8qIENhY2hlZFNoYWRlci5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQlBMTBEQzc2QTE0NzQ3QkFCMDA1RTI0NzEgLyogU3R5bGVHcmlkRGF0YS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsK
IAkJfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVj
bGFyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJh
dGlvbi5jcHAKaW5kZXggYWNiN2Y5ZjAxZWQzMmQzODYzN2E0NWYzNGMwNGZhYjg3NGQ2MTJkYy4u
MDA5NjJhNmZhZTU3ZTBlNDY3YzhkZGFlM2VmMGQyNzAzMjJhZWExMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTIxOCw2
ICsyMTgsMTAgQEAgc3RhdGljIGNvbnN0IGludCBjb21wdXRlZFByb3BlcnRpZXNbXSA9IHsKICAg
ICBDU1NQcm9wZXJ0eVdlYmtpdEZsZXhBbGlnbiwKICAgICBDU1NQcm9wZXJ0eVdlYmtpdEZsZXhG
bG93LAogICAgIENTU1Byb3BlcnR5V2Via2l0Rm9udFNtb290aGluZywKKyNpZiBFTkFCTEUoQ1NT
X0dSSURfTEFZT1VUKQorICAgIENTU1Byb3BlcnR5V2Via2l0R3JpZENvbHVtbnMsCisgICAgQ1NT
UHJvcGVydHlXZWJraXRHcmlkUm93cywKKyNlbmRpZgogICAgIENTU1Byb3BlcnR5V2Via2l0SGln
aGxpZ2h0LAogICAgIENTU1Byb3BlcnR5V2Via2l0SHlwaGVuYXRlQ2hhcmFjdGVyLAogICAgIENT
U1Byb3BlcnR5V2Via2l0SHlwaGVuYXRlTGltaXRBZnRlciwKQEAgLTc2Niw2ICs3NzAsMTkgQEAg
UGFzc1JlZlB0cjxDU1NWYWx1ZT4gQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjp2YWx1ZUZv
ckZpbHRlcihSZW5kZXJTdHlsZSogc3QKIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKENTU19HUklE
X0xBWU9VVCkKK3N0YXRpYyBQYXNzUmVmUHRyPENTU1ZhbHVlPiB2YWx1ZUZvckdyaWRUcmFja0xp
c3QoY29uc3QgTGVuZ3RoJiB0cmFja0xlbmd0aCwgY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlLCBD
U1NQcmltaXRpdmVWYWx1ZUNhY2hlKiBwcmltaXRpdmVWYWx1ZUNhY2hlKQoreworICAgIGlmICh0
cmFja0xlbmd0aC5pc1BlcmNlbnQoKSkKKyAgICAgICAgcmV0dXJuIHByaW1pdGl2ZVZhbHVlQ2Fj
aGUtPmNyZWF0ZVZhbHVlKHRyYWNrTGVuZ3RoKTsKKyAgICBpZiAodHJhY2tMZW5ndGguaXNBdXRv
KCkpCisgICAgICAgIHJldHVybiBwcmltaXRpdmVWYWx1ZUNhY2hlLT5jcmVhdGVJZGVudGlmaWVy
VmFsdWUoQ1NTVmFsdWVBdXRvKTsKKyAgICBpZiAodHJhY2tMZW5ndGguaXNVbmRlZmluZWQoKSkK
KyAgICAgICAgcmV0dXJuIHByaW1pdGl2ZVZhbHVlQ2FjaGUtPmNyZWF0ZUlkZW50aWZpZXJWYWx1
ZShDU1NWYWx1ZU5vbmUpOworICAgIHJldHVybiB6b29tQWRqdXN0ZWRQaXhlbFZhbHVlKHRyYWNr
TGVuZ3RoLnZhbHVlKCksIHN0eWxlLCBwcmltaXRpdmVWYWx1ZUNhY2hlKTsKK30KKyNlbmRpZgor
CiBzdGF0aWMgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gZ2V0RGVsYXlWYWx1ZShjb25zdCBBbmltYXRp
b25MaXN0KiBhbmltTGlzdCwgQ1NTUHJpbWl0aXZlVmFsdWVDYWNoZSogcHJpbWl0aXZlVmFsdWVD
YWNoZSkKIHsKICAgICBSZWZQdHI8Q1NTVmFsdWVMaXN0PiBsaXN0ID0gQ1NTVmFsdWVMaXN0Ojpj
cmVhdGVDb21tYVNlcGFyYXRlZCgpOwpAQCAtMTQ3Myw2ICsxNDkwLDE2IEBAIFBhc3NSZWZQdHI8
Q1NTVmFsdWU+IENTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6Z2V0UHJvcGVydHlDU1NWYWx1
ZShpbnQgcHJvcGVyCiAgICAgICAgICAgICB9CiAgICAgICAgICAgICByZXR1cm4gbGlzdC5yZWxl
YXNlKCk7CiAgICAgICAgIH0KKyNpZiBFTkFCTEUoQ1NTX0dSSURfTEFZT1VUKQorICAgICAgICBj
YXNlIENTU1Byb3BlcnR5V2Via2l0R3JpZENvbHVtbnM6IHsKKyAgICAgICAgICAgIExlbmd0aCBn
cmlkQ29sdW1ucyA9IHN0eWxlLT5ncmlkQ29sdW1ucygpOworICAgICAgICAgICAgcmV0dXJuIHZh
bHVlRm9yR3JpZFRyYWNrTGlzdChncmlkQ29sdW1ucywgc3R5bGUuZ2V0KCksIHByaW1pdGl2ZVZh
bHVlQ2FjaGUpOworICAgICAgICB9CisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRHcmlk
Um93czogeworICAgICAgICAgICAgTGVuZ3RoIGdyaWRSb3dzID0gc3R5bGUtPmdyaWRSb3dzKCk7
CisgICAgICAgICAgICByZXR1cm4gdmFsdWVGb3JHcmlkVHJhY2tMaXN0KGdyaWRSb3dzLCBzdHls
ZS5nZXQoKSwgcHJpbWl0aXZlVmFsdWVDYWNoZSk7CisgICAgICAgIH0KKyNlbmRpZgogICAgICAg
ICBjYXNlIENTU1Byb3BlcnR5SGVpZ2h0OgogICAgICAgICAgICAgaWYgKHJlbmRlcmVyKQogICAg
ICAgICAgICAgICAgIHJldHVybiB6b29tQWRqdXN0ZWRQaXhlbFZhbHVlKHNpemluZ0JveChyZW5k
ZXJlcikuaGVpZ2h0KCksIHN0eWxlLmdldCgpLCBwcmltaXRpdmVWYWx1ZUNhY2hlKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1BhcnNlci5jcHAKaW5kZXggZTEzOWRkMTZmZjA5NDZkZjJjMTVkZjAwYWRlN2Q5NWEy
Mjg0NzIzNi4uMDE0ZGQyY2JkMjcxNDMyZTZhNTI5N2FjY2M0ZGE1M2EyNDQ3MzJkMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1BhcnNlci5jcHAKQEAgLTE3NzAsNiArMTc3MCwxMSBAQCBib29sIENTU1BhcnNl
cjo6cGFyc2VWYWx1ZShpbnQgcHJvcElkLCBib29sIGltcG9ydGFudCkKICAgICAgICAgfQogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQorI2lmIEVOQUJMRShDU1NfR1JJRF9MQVlPVVQpCisg
ICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEdyaWRDb2x1bW5zOgorICAgIGNhc2UgQ1NTUHJvcGVy
dHlXZWJraXRHcmlkUm93czoKKyAgICAgICAgcmV0dXJuIHBhcnNlR3JpZFRyYWNrTGlzdChwcm9w
SWQsIGltcG9ydGFudCk7CisjZW5kaWYKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0TWFyZ2lu
Q29sbGFwc2U6IHsKICAgICAgICAgY29uc3QgaW50IHByb3BlcnRpZXNbMl0gPSB7IENTU1Byb3Bl
cnR5V2Via2l0TWFyZ2luQmVmb3JlQ29sbGFwc2UsCiAgICAgICAgICAgICBDU1NQcm9wZXJ0eVdl
YmtpdE1hcmdpbkFmdGVyQ29sbGFwc2UgfTsKQEAgLTM0OTcsNiArMzUwMiwyMyBAQCBib29sIENT
U1BhcnNlcjo6cGFyc2VBbmltYXRpb25Qcm9wZXJ0eShpbnQgcHJvcElkLCBSZWZQdHI8Q1NTVmFs
dWU+JiByZXN1bHQpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCisjaWYgRU5BQkxFKENTU19HUklE
X0xBWU9VVCkKK2Jvb2wgQ1NTUGFyc2VyOjpwYXJzZUdyaWRUcmFja0xpc3QoaW50IHByb3BJZCwg
Ym9vbCBpbXBvcnRhbnQpCit7CisgICAgQ1NTUGFyc2VyVmFsdWUqIHZhbHVlID0gbV92YWx1ZUxp
c3QtPmN1cnJlbnQoKTsKKyAgICBpZiAodmFsdWUtPmlkID09IENTU1ZhbHVlTm9uZSB8fCB2YWx1
ZS0+aWQgPT0gQ1NTVmFsdWVBdXRvKSB7CisgICAgICAgIGFkZFByb3BlcnR5KHByb3BJZCwgcHJp
bWl0aXZlVmFsdWVDYWNoZSgpLT5jcmVhdGVJZGVudGlmaWVyVmFsdWUodmFsdWUtPmlkKSwgaW1w
b3J0YW50KTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgaWYgKHZhbGlkVW5p
dCh2YWx1ZSwgRkxlbmd0aCB8IEZQZXJjZW50LCBtX3N0cmljdCkpIHsKKyAgICAgICAgYWRkUHJv
cGVydHkocHJvcElkLCBjcmVhdGVQcmltaXRpdmVOdW1lcmljVmFsdWUodmFsdWUpLCBpbXBvcnRh
bnQpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgcmV0dXJuIGZhbHNlOworfQor
I2VuZGlmCisKIAogCiAjaWYgRU5BQkxFKERBU0hCT0FSRF9TVVBQT1JUKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Bh
cnNlci5oCmluZGV4IDY4OTU4M2M0MjgwMTQyMDA5OTFhZjFmNmU0YWRiN2RkNGQ5NjA0Y2MuLjVm
MjhjYTlkZGZhYWJmYzExNzU4ODQ4MmQwYThiNGYyMDUzYTNhYTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFy
c2VyLmgKQEAgLTEyNSw2ICsxMjUsMTAgQEAgcHVibGljOgogICAgIGJvb2wgcGFyc2VUcmFuc2l0
aW9uU2hvcnRoYW5kKGJvb2wgaW1wb3J0YW50KTsKICAgICBib29sIHBhcnNlQW5pbWF0aW9uU2hv
cnRoYW5kKGJvb2wgaW1wb3J0YW50KTsKIAorI2lmIEVOQUJMRShDU1NfR1JJRF9MQVlPVVQpCisg
ICAgYm9vbCBwYXJzZUdyaWRUcmFja0xpc3QoaW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpOwor
I2VuZGlmCisKICAgICBib29sIHBhcnNlRGFzaGJvYXJkUmVnaW9ucyhpbnQgcHJvcElkLCBib29s
IGltcG9ydGFudCk7CiAKICAgICBib29sIHBhcnNlU2hhcGUoaW50IHByb3BJZCwgYm9vbCBpbXBv
cnRhbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5jcHAKaW5kZXggYmUwMDA2ZTRiNTM3ODM2
MTgyNDQyMmE0ZWI2ZTllOTU2MGE1ZWJiMy4uYjdkYjJhMWE3ZGJmZmFlMjQ2YjM2ZjlmNjdjYThk
YTdkN2NhYjFmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwCkBAIC01NjYsNiArNTY2
LDEwIEBAIGJvb2wgQ1NTUHJvcGVydHk6OmlzSW5oZXJpdGVkUHJvcGVydHkodW5zaWduZWQgcHJv
cGVydHlJRCkKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0RmxleEFsaWduOgogICAgIGNhc2Ug
Q1NTUHJvcGVydHlXZWJraXRGbGV4RmxvdzoKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0Rm9u
dFNpemVEZWx0YToKKyNpZiBFTkFCTEUoQ1NTX0dSSURfTEFZT1VUKQorICAgIGNhc2UgQ1NTUHJv
cGVydHlXZWJraXRHcmlkQ29sdW1uczoKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0R3JpZFJv
d3M6CisjZW5kaWYKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0TGluZUNsYW1wOgogICAgIGNh
c2UgQ1NTUHJvcGVydHlXZWJraXRMb2dpY2FsV2lkdGg6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdl
YmtpdExvZ2ljYWxIZWlnaHQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJv
cGVydHlOYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCmlu
ZGV4IDk3MWQxMGRkYzMxNzVjOTY5YTFmYzMzNjI1MjgwYjBjOWFlODM5YmIuLjFmODJiMmY2Zjhi
ODM4OGIzMjFjNzMxZDA3ZTBlYjAzMDE5MTI4ZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9w
ZXJ0eU5hbWVzLmluCkBAIC0zNjEsNCArMzYxLDcgQEAgei1pbmRleAogI2lmIGRlZmluZWQoRU5B
QkxFX1RPVUNIX0VWRU5UUykgJiYgRU5BQkxFX1RPVUNIX0VWRU5UUwogLXdlYmtpdC10YXAtaGln
aGxpZ2h0LWNvbG9yCiAjZW5kaWYKLQorI2lmIGRlZmluZWQoRU5BQkxFX0NTU19HUklEX0xBWU9V
VCkgJiYgRU5BQkxFX0NTU19HUklEX0xBWU9VVAorLXdlYmtpdC1ncmlkLWNvbHVtbnMKKy13ZWJr
aXQtZ3JpZC1yb3dzCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NT
dHlsZUFwcGx5UHJvcGVydHkuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlQXBwbHlQ
cm9wZXJ0eS5jcHAKaW5kZXggMDM0MGRiYzQyYTliNTJkNDgyZTQyMzg1NWI5NzcyZDYwNjM0ZmIw
My4uNWNlZWIxNjM0NTUzNWI1ODM4YWIxMjNhZmY1ZGM1NTA2NGUwZGIzMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlQXBwbHlQcm9wZXJ0eS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1N0eWxlQXBwbHlQcm9wZXJ0eS5jcHAKQEAgLTk4MCw2ICs5ODAsMTEg
QEAgQ1NTU3R5bGVBcHBseVByb3BlcnR5OjpDU1NTdHlsZUFwcGx5UHJvcGVydHkoKQogICAgIHNl
dFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eUJvdHRvbSwgQXBwbHlQcm9wZXJ0eUxlbmd0aDwm
UmVuZGVyU3R5bGU6OmJvdHRvbSwgJlJlbmRlclN0eWxlOjpzZXRCb3R0b20sICZSZW5kZXJTdHls
ZTo6aW5pdGlhbE9mZnNldCwgQXV0b0VuYWJsZWQ+OjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNl
dFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eUxlZnQsIEFwcGx5UHJvcGVydHlMZW5ndGg8JlJl
bmRlclN0eWxlOjpsZWZ0LCAmUmVuZGVyU3R5bGU6OnNldExlZnQsICZSZW5kZXJTdHlsZTo6aW5p
dGlhbE9mZnNldCwgQXV0b0VuYWJsZWQ+OjpjcmVhdGVIYW5kbGVyKCkpOwogCisjaWYgRU5BQkxF
KENTU19HUklEX0xBWU9VVCkKKyAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJr
aXRHcmlkQ29sdW1ucywgQXBwbHlQcm9wZXJ0eUxlbmd0aDwmUmVuZGVyU3R5bGU6OmdyaWRDb2x1
bW5zLCAmUmVuZGVyU3R5bGU6OnNldEdyaWRDb2x1bW5zLCAmUmVuZGVyU3R5bGU6OmluaXRpYWxH
cmlkQ29sdW1ucywgQXV0b0VuYWJsZWQsIEludHJpbnNpY0Rpc2FibGVkLCBNaW5JbnRyaW5zaWNE
aXNhYmxlZCwgTm9uZUVuYWJsZWQsIFVuZGVmaW5lZEVuYWJsZWQ+OjpjcmVhdGVIYW5kbGVyKCkp
OworICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdEdyaWRSb3dzLCBBcHBs
eVByb3BlcnR5TGVuZ3RoPCZSZW5kZXJTdHlsZTo6Z3JpZFJvd3MsICZSZW5kZXJTdHlsZTo6c2V0
R3JpZFJvd3MsICZSZW5kZXJTdHlsZTo6aW5pdGlhbEdyaWRSb3dzLCBBdXRvRW5hYmxlZCwgSW50
cmluc2ljRGlzYWJsZWQsIE1pbkludHJpbnNpY0Rpc2FibGVkLCBOb25lRW5hYmxlZCwgVW5kZWZp
bmVkRW5hYmxlZD46OmNyZWF0ZUhhbmRsZXIoKSk7CisjZW5kaWYKKwogICAgIHNldFByb3BlcnR5
SGFuZGxlcihDU1NQcm9wZXJ0eVdpZHRoLCBBcHBseVByb3BlcnR5TGVuZ3RoPCZSZW5kZXJTdHls
ZTo6d2lkdGgsICZSZW5kZXJTdHlsZTo6c2V0V2lkdGgsICZSZW5kZXJTdHlsZTo6aW5pdGlhbFNp
emUsIEF1dG9FbmFibGVkLCBJbnRyaW5zaWNFbmFibGVkLCBNaW5JbnRyaW5zaWNFbmFibGVkLCBO
b25lRGlzYWJsZWQsIFVuZGVmaW5lZERpc2FibGVkLCBGbGV4V2lkdGg+OjpjcmVhdGVIYW5kbGVy
KCkpOwogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eUhlaWdodCwgQXBwbHlQcm9w
ZXJ0eUxlbmd0aDwmUmVuZGVyU3R5bGU6OmhlaWdodCwgJlJlbmRlclN0eWxlOjpzZXRIZWlnaHQs
ICZSZW5kZXJTdHlsZTo6aW5pdGlhbFNpemUsIEF1dG9FbmFibGVkLCBJbnRyaW5zaWNFbmFibGVk
LCBNaW5JbnRyaW5zaWNFbmFibGVkLCBOb25lRGlzYWJsZWQsIFVuZGVmaW5lZERpc2FibGVkLCBG
bGV4SGVpZ2h0Pjo6Y3JlYXRlSGFuZGxlcigpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxl
U2VsZWN0b3IuY3BwCmluZGV4IDc1MjdkNzNlZjQyZmE4YjBiM2QyYTAwMjgwMTU5YTBlNjlkZDE5
MWYuLjFiMWQ2OGUyZDZlZDU2YmMwZjEzYWI0MjdlNTY5NGQ4OTM0NDc3MjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKQEAgLTM5NjUsNiArMzk2NSwxMCBAQCB2b2lk
IENTU1N0eWxlU2VsZWN0b3I6OmFwcGx5UHJvcGVydHkoaW50IGlkLCBDU1NWYWx1ZSAqdmFsdWUp
CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEZsZXhGbG93OgogICAgIGNhc2UgQ1NTUHJvcGVy
dHlGb250U3R5bGU6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUZvbnRWYXJpYW50OgorI2lmIEVOQUJM
RShDU1NfR1JJRF9MQVlPVVQpCisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEdyaWRDb2x1bW5z
OgorICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRHcmlkUm93czoKKyNlbmRpZgogICAgIGNhc2Ug
Q1NTUHJvcGVydHlUZXh0UmVuZGVyaW5nOgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0
T3JpZW50YXRpb246CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEZvbnRTbW9vdGhpbmc6CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAppbmRleCA5
MmE0OTk3NGQ5MTY0OWJiMmM0OTlkYTQzODJjMDEzNzNmMGM2ZjQ2Li4xZmE0Y2VmNDVjMWIyNGI0
NjBjMTMyYzIyYjBmNjhjYjNhOWQ3NmI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAKQEAgLTEzMyw2ICsxMzMsOSBAQCBBTFdBWVNfSU5MSU5F
IFJlbmRlclN0eWxlOjpSZW5kZXJTdHlsZShib29sKQogI2lmIEVOQUJMRShDU1NfRklMVEVSUykK
ICAgICByYXJlTm9uSW5oZXJpdGVkRGF0YS5hY2Nlc3MoKS0+bV9maWx0ZXIuaW5pdCgpOwogI2Vu
ZGlmCisjaWYgRU5BQkxFKENTU19HUklEX0xBWU9VVCkKKyAgICByYXJlTm9uSW5oZXJpdGVkRGF0
YS5hY2Nlc3MoKS0+bV9ncmlkLmluaXQoKTsKKyNlbmRpZgogICAgIHJhcmVJbmhlcml0ZWREYXRh
LmluaXQoKTsKICAgICBpbmhlcml0ZWQuaW5pdCgpOwogCkBAIC00MjAsNiArNDIzLDEwIEBAIFN0
eWxlRGlmZmVyZW5jZSBSZW5kZXJTdHlsZTo6ZGlmZihjb25zdCBSZW5kZXJTdHlsZSogb3RoZXIs
IHVuc2lnbmVkJiBjaGFuZ2VkQ29uCiAgICAgICAgICAgICByZXR1cm4gU3R5bGVEaWZmZXJlbmNl
TGF5b3V0OwogICAgICAgICB9CiAjZW5kaWYKKyNpZiBFTkFCTEUoQ1NTX0dSSURfTEFZT1VUKQor
ICAgICAgICBpZiAocmFyZU5vbkluaGVyaXRlZERhdGEtPm1fZ3JpZC5nZXQoKSAhPSBvdGhlci0+
cmFyZU5vbkluaGVyaXRlZERhdGEtPm1fZ3JpZC5nZXQoKSkKKyAgICAgICAgICAgIHJldHVybiBT
dHlsZURpZmZlcmVuY2VMYXlvdXQ7CisjZW5kaWYKIAogI2lmICFVU0UoQUNDRUxFUkFURURfQ09N
UE9TSVRJTkcpCiAgICAgICAgIGlmIChyYXJlTm9uSW5oZXJpdGVkRGF0YS5nZXQoKSAhPSBvdGhl
ci0+cmFyZU5vbkluaGVyaXRlZERhdGEuZ2V0KCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKaW5kZXggOWEwOTE1NDgxNTJhMDE0ZDAwNDYzODZlM2Jh
MzA4ZDJhZDBkM2JmMy4uM2Y3NDliZTU2ZDQ5MzAxODE3NWE4YTU5Y2ZjMzUwN2NiMTM1ZTdiNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKQEAgLTU2
LDYgKzU2LDkgQEAKICNpbmNsdWRlICJTdHlsZUZpbHRlckRhdGEuaCIKICNlbmRpZgogI2luY2x1
ZGUgIlN0eWxlRmxleGlibGVCb3hEYXRhLmgiCisjaWYgRU5BQkxFKENTU19HUklEX0xBWU9VVCkK
KyNpbmNsdWRlICJTdHlsZUdyaWREYXRhLmgiCisjZW5kaWYKICNpbmNsdWRlICJTdHlsZUluaGVy
aXRlZERhdGEuaCIKICNpbmNsdWRlICJTdHlsZU1hcnF1ZWVEYXRhLmgiCiAjaW5jbHVkZSAiU3R5
bGVNdWx0aUNvbERhdGEuaCIKQEAgLTcxOSw2ICs3MjIsMTEgQEAgcHVibGljOgogICAgIEVGbGV4
QWxpZ24gZmxleEFsaWduKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8RUZsZXhBbGlnbj4o
cmFyZU5vbkluaGVyaXRlZERhdGEtPm1fZmxleGlibGVCb3gtPm1fZmxleEFsaWduKTsgfQogICAg
IEVGbGV4RmxvdyBmbGV4RmxvdygpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEVGbGV4Rmxv
dz4ocmFyZU5vbkluaGVyaXRlZERhdGEtPm1fZmxleGlibGVCb3gtPm1fZmxleEZsb3cpOyB9CiAK
KyNpZiBFTkFCTEUoQ1NTX0dSSURfTEFZT1VUKQorICAgIExlbmd0aCBncmlkQ29sdW1ucygpIGNv
bnN0IHsgcmV0dXJuIHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX2dyaWQtPm1fZ3JpZENvbHVtbnM7
IH0KKyAgICBMZW5ndGggZ3JpZFJvd3MoKSBjb25zdCB7IHJldHVybiByYXJlTm9uSW5oZXJpdGVk
RGF0YS0+bV9ncmlkLT5tX2dyaWRSb3dzOyB9CisjZW5kaWYKKwogICAgIGNvbnN0IFNoYWRvd0Rh
dGEqIGJveFNoYWRvdygpIGNvbnN0IHsgcmV0dXJuIHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX2Jv
eFNoYWRvdy5nZXQoKTsgfQogICAgIHZvaWQgZ2V0Qm94U2hhZG93RXh0ZW50KExheW91dFVuaXQm
IHRvcCwgTGF5b3V0VW5pdCYgcmlnaHQsIExheW91dFVuaXQmIGJvdHRvbSwgTGF5b3V0VW5pdCYg
bGVmdCkgY29uc3QgeyBnZXRTaGFkb3dFeHRlbnQoYm94U2hhZG93KCksIHRvcCwgcmlnaHQsIGJv
dHRvbSwgbGVmdCk7IH0KICAgICB2b2lkIGdldEJveFNoYWRvd0hvcml6b250YWxFeHRlbnQoTGF5
b3V0VW5pdCYgbGVmdCwgTGF5b3V0VW5pdCYgcmlnaHQpIGNvbnN0IHsgZ2V0U2hhZG93SG9yaXpv
bnRhbEV4dGVudChib3hTaGFkb3coKSwgbGVmdCwgcmlnaHQpOyB9CkBAIC0xMTI1LDYgKzExMzMs
MTEgQEAgcHVibGljOgogICAgIHZvaWQgc2V0RmxleFBhY2soRUZsZXhQYWNrIHApIHsgU0VUX1ZB
UihyYXJlTm9uSW5oZXJpdGVkRGF0YS5hY2Nlc3MoKS0+bV9mbGV4aWJsZUJveCwgbV9mbGV4UGFj
aywgcCk7IH0KICAgICB2b2lkIHNldEZsZXhBbGlnbihFRmxleEFsaWduIGEpIHsgU0VUX1ZBUihy
YXJlTm9uSW5oZXJpdGVkRGF0YS5hY2Nlc3MoKS0+bV9mbGV4aWJsZUJveCwgbV9mbGV4QWxpZ24s
IGEpOyB9CiAgICAgdm9pZCBzZXRGbGV4RmxvdyhFRmxleEZsb3cgZmxvdykgeyBTRVRfVkFSKHJh
cmVOb25Jbmhlcml0ZWREYXRhLmFjY2VzcygpLT5tX2ZsZXhpYmxlQm94LCBtX2ZsZXhGbG93LCBm
bG93KTsgfQorI2lmIEVOQUJMRShDU1NfR1JJRF9MQVlPVVQpCisgICAgdm9pZCBzZXRHcmlkQ29s
dW1ucyhMZW5ndGggbGVuZ3RoKSB7IFNFVF9WQVIocmFyZU5vbkluaGVyaXRlZERhdGEuYWNjZXNz
KCktPm1fZ3JpZCwgbV9ncmlkQ29sdW1ucywgbGVuZ3RoKTsgfQorICAgIHZvaWQgc2V0R3JpZFJv
d3MoTGVuZ3RoIGxlbmd0aCkgeyBTRVRfVkFSKHJhcmVOb25Jbmhlcml0ZWREYXRhLmFjY2Vzcygp
LT5tX2dyaWQsIG1fZ3JpZFJvd3MsIGxlbmd0aCk7IH0KKyNlbmRpZgorCiAgICAgdm9pZCBzZXRN
YXJxdWVlSW5jcmVtZW50KGNvbnN0IExlbmd0aCYgZikgeyBTRVRfVkFSKHJhcmVOb25Jbmhlcml0
ZWREYXRhLmFjY2VzcygpLT5tX21hcnF1ZWUsIGluY3JlbWVudCwgZik7IH0KICAgICB2b2lkIHNl
dE1hcnF1ZWVTcGVlZChpbnQgZikgeyBTRVRfVkFSKHJhcmVOb25Jbmhlcml0ZWREYXRhLmFjY2Vz
cygpLT5tX21hcnF1ZWUsIHNwZWVkLCBmKTsgfQogICAgIHZvaWQgc2V0TWFycXVlZURpcmVjdGlv
bihFTWFycXVlZURpcmVjdGlvbiBkKSB7IFNFVF9WQVIocmFyZU5vbkluaGVyaXRlZERhdGEuYWNj
ZXNzKCktPm1fbWFycXVlZSwgZGlyZWN0aW9uLCBkKTsgfQpAQCAtMTQ3NSw2ICsxNDg4LDExIEBA
IHB1YmxpYzoKICAgICBzdGF0aWMgU3R5bGVJbWFnZSogaW5pdGlhbE1hc2tCb3hJbWFnZVNvdXJj
ZSgpIHsgcmV0dXJuIDA7IH0KICAgICBzdGF0aWMgUHJpbnRDb2xvckFkanVzdCBpbml0aWFsUHJp
bnRDb2xvckFkanVzdCgpIHsgcmV0dXJuIFByaW50Q29sb3JBZGp1c3RFY29ub215OyB9CiAKKyNp
ZiBFTkFCTEUoQ1NTX0dSSURfTEFZT1VUKQorICAgIHN0YXRpYyBMZW5ndGggaW5pdGlhbEdyaWRD
b2x1bW5zKCkgeyByZXR1cm4gTGVuZ3RoKFVuZGVmaW5lZCk7IH0KKyAgICBzdGF0aWMgTGVuZ3Ro
IGluaXRpYWxHcmlkUm93cygpIHsgcmV0dXJuIExlbmd0aChVbmRlZmluZWQpOyB9CisjZW5kaWYK
KwogICAgIHN0YXRpYyBjb25zdCBBdG9taWNTdHJpbmcmIGluaXRpYWxMaW5lR3JpZCgpIHsgcmV0
dXJuIG51bGxBdG9tOyB9CiAgICAgc3RhdGljIExpbmVHcmlkU25hcCBpbml0aWFsTGluZUdyaWRT
bmFwKCkgeyByZXR1cm4gTGluZUdyaWRTbmFwTm9uZTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVBbGxJbk9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVBbGxJbk9uZS5jcHAKaW5kZXggMjIzOGE2YjdlN2ZkYWVk
MDQ5ZDY1MDEzYzc5Y2IyMjhjYjI0ZTI3MC4uM2ZjODRiY2IwMDEyMTA1MGZjZDhiZjVkNjA3NzE0
ZjMxOGJkY2JkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0
eWxlQWxsSW5PbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHls
ZUFsbEluT25lLmNwcApAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgIlN0eWxlRmlsdGVyRGF0
YS5jcHAiCiAjaW5jbHVkZSAiU3R5bGVGbGV4aWJsZUJveERhdGEuY3BwIgogI2luY2x1ZGUgIlN0
eWxlR2VuZXJhdGVkSW1hZ2UuY3BwIgorI2luY2x1ZGUgIlN0eWxlR3JpZERhdGEuY3BwIgogI2lu
Y2x1ZGUgIlN0eWxlSW5oZXJpdGVkRGF0YS5jcHAiCiAjaW5jbHVkZSAiU3R5bGVNYXJxdWVlRGF0
YS5jcHAiCiAjaW5jbHVkZSAiU3R5bGVNdWx0aUNvbERhdGEuY3BwIgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlR3JpZERhdGEuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlR3JpZERhdGEuY3BwCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY4ZTcy
MzQwNjQ3NTdiZDAxNjllNGUyOWQyNjJjODMzZjQxMzNmN2IKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVHcmlkRGF0YS5jcHAKQEAgLTAsMCAr
MSw1MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgUmlnaHRz
IFJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqICBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqICBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVECisgKiAgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWQorICogIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICog
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMKKyAqICBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIlN0eWxlR3JpZERhdGEuaCIKKworI2lmIEVOQUJMRShDU1NfR1JJRF9MQVlPVVQpCisK
KyNpbmNsdWRlICJSZW5kZXJTdHlsZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1N0eWxl
R3JpZERhdGE6OlN0eWxlR3JpZERhdGEoKQorICAgIDogbV9ncmlkQ29sdW1ucyhSZW5kZXJTdHls
ZTo6aW5pdGlhbEdyaWRDb2x1bW5zKCkpCisgICAgLCBtX2dyaWRSb3dzKFJlbmRlclN0eWxlOjpp
bml0aWFsR3JpZFJvd3MoKSkKK3sKK30KKworU3R5bGVHcmlkRGF0YTo6U3R5bGVHcmlkRGF0YShj
b25zdCBTdHlsZUdyaWREYXRhJiBvKQorICAgIDogUmVmQ291bnRlZDxTdHlsZUdyaWREYXRhPigp
CisgICAgLCBtX2dyaWRDb2x1bW5zKG8ubV9ncmlkQ29sdW1ucykKKyAgICAsIG1fZ3JpZFJvd3Mo
by5tX2dyaWRSb3dzKQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBFTkFCTEUoQ1NTX0dSSURfTEFZT1VUKQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvU3R5bGVHcmlkRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1N0eWxlR3JpZERhdGEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMzcxMDQxNGVjNzVjZGQ2N2JkYjg0
MDY0ZWE1NDk0Zjg4ZmE5OWQyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1N0eWxlR3JpZERhdGEuaApAQCAtMCwwICsxLDY2IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAq
ICBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFCisgKiAgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiAgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMKKyAqICAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiAgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OCisgKiAgQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqICAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICoKKyAqLworCisjaWZuZGVmIFN0eWxlR3JpZERhdGFfaAorI2RlZmluZSBTdHlsZUdyaWRE
YXRhX2gKKworI2lmIEVOQUJMRShDU1NfR1JJRF9MQVlPVVQpCisKKyNpbmNsdWRlICJMZW5ndGgu
aCIKKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVk
Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgU3R5bGVHcmlkRGF0YSA6IHB1Ymxp
YyBSZWZDb3VudGVkPFN0eWxlR3JpZERhdGE+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxTdHlsZUdyaWREYXRhPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZihuZXcgU3R5bGVH
cmlkRGF0YSk7IH0KKyAgICBQYXNzUmVmUHRyPFN0eWxlR3JpZERhdGE+IGNvcHkoKSBjb25zdCB7
IHJldHVybiBhZG9wdFJlZihuZXcgU3R5bGVHcmlkRGF0YSgqdGhpcykpOyB9CisKKyAgICBib29s
IG9wZXJhdG9yPT0oY29uc3QgU3R5bGVHcmlkRGF0YSYgbykgY29uc3QKKyAgICB7CisgICAgICAg
IHJldHVybiBtX2dyaWRDb2x1bW5zID09IG8ubV9ncmlkQ29sdW1ucyAmJiBtX2dyaWRSb3dzID09
IG8ubV9ncmlkUm93czsKKyAgICB9CisKKyAgICBib29sIG9wZXJhdG9yIT0oY29uc3QgU3R5bGVH
cmlkRGF0YSYgbykgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiAhKCp0aGlzID09IG8pOwor
ICAgIH0KKworICAgIC8vIEZJWE1FOiBGb3IgdGhlIG1vbWVudCwgd2Ugb25seSBzdXBwb3J0IGEg
c3Vic2V0IG9mIHRoZSBncmFtbWFyIHdoaWNoIGNvcnJlc3BvbmQgdG86CisgICAgLy8gJ2F1dG8n
IHwgPGxlbmd0aD4gfCA8cGVyY2VudGFnZT4gfCAnbm9uZScKKyAgICBMZW5ndGggbV9ncmlkQ29s
dW1uczsKKyAgICBMZW5ndGggbV9ncmlkUm93czsKKworcHJpdmF0ZToKKyAgICBTdHlsZUdyaWRE
YXRhKCk7CisgICAgU3R5bGVHcmlkRGF0YShjb25zdCBTdHlsZUdyaWREYXRhJik7Cit9OworCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoQ1NTX0xBWU9VVF9HUklE
KQorCisjZW5kaWYgLy8gU3R5bGVHcmlkRGF0YV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5jcHAKaW5k
ZXggOGQ5MGNhOGQ5NjA1NjgzMDVlNjhiNzEyZGMzOTMyMDQyOTU2YThkMy4uNDMwYWMxMzM5ZjU5
NWNmYjQwM2FiNDhlM2UwZjkwZWIyNzJhMDBmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmNwcApA
QCAtODYsNiArODYsOSBAQCBTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpTdHlsZVJhcmVOb25J
bmhlcml0ZWREYXRhKGNvbnN0IFN0eWxlUmFyZU5vbkluaGVyaXRlZAogI2lmIEVOQUJMRShDU1Nf
RklMVEVSUykKICAgICAsIG1fZmlsdGVyKG8ubV9maWx0ZXIpCiAjZW5kaWYKKyNpZiBFTkFCTEUo
Q1NTX0dSSURfTEFZT1VUKQorICAgICwgbV9ncmlkKG8ubV9ncmlkKQorI2VuZGlmCiAgICAgLCBt
X2NvbnRlbnQoby5tX2NvbnRlbnQgPyBvLm1fY29udGVudC0+Y2xvbmUoKSA6IG51bGxwdHIpCiAg
ICAgLCBtX2NvdW50ZXJEaXJlY3RpdmVzKG8ubV9jb3VudGVyRGlyZWN0aXZlcyA/IGNsb25lKCpv
Lm1fY291bnRlckRpcmVjdGl2ZXMpIDogbnVsbHB0cikKICAgICAsIG1fYm94U2hhZG93KG8ubV9i
b3hTaGFkb3cgPyBhZG9wdFB0cihuZXcgU2hhZG93RGF0YSgqby5tX2JveFNoYWRvdykpIDogbnVs
bHB0cikKQEAgLTE0NCw2ICsxNDcsOSBAQCBib29sIFN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6
Om9wZXJhdG9yPT0oY29uc3QgU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YSYgbykgYwogI2lmIEVO
QUJMRShDU1NfRklMVEVSUykKICAgICAgICAgJiYgbV9maWx0ZXIgPT0gby5tX2ZpbHRlcgogI2Vu
ZGlmCisjaWYgRU5BQkxFKENTU19HUklEX0xBWU9VVCkKKyAgICAgICAgJiYgbV9ncmlkID09IG8u
bV9ncmlkCisjZW5kaWYKICAgICAgICAgJiYgY29udGVudERhdGFFcXVpdmFsZW50KG8pCiAgICAg
ICAgICYmIGNvdW50ZXJEYXRhRXF1aXZhbGVudChvKQogICAgICAgICAmJiB1c2VyRHJhZyA9PSBv
LnVzZXJEcmFnCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5
bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuaAppbmRleCBkMmFhMmU4OTg4MmEzYmNkODQ4YjMw
ODQxNzI4ODQ4NjhkMTI2YTg1Li44MWM2YjM4NWIyNWFjMWU3NTQzMGUzYzI1ZDkxM2QxYjliMjQ3
YTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJl
Tm9uSW5oZXJpdGVkRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9T
dHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmgKQEAgLTQ2LDYgKzQ2LDkgQEAgY2xhc3MgU3R5bGVE
ZXByZWNhdGVkRmxleGlibGVCb3hEYXRhOwogY2xhc3MgU3R5bGVGaWx0ZXJEYXRhOwogI2VuZGlm
CiBjbGFzcyBTdHlsZUZsZXhpYmxlQm94RGF0YTsKKyNpZiBFTkFCTEUoQ1NTX0dSSURfTEFZT1VU
KQorY2xhc3MgU3R5bGVHcmlkRGF0YTsKKyNlbmRpZgogY2xhc3MgU3R5bGVNYXJxdWVlRGF0YTsK
IGNsYXNzIFN0eWxlTXVsdGlDb2xEYXRhOwogY2xhc3MgU3R5bGVSZWZsZWN0aW9uOwpAQCAtMTEx
LDYgKzExNCwxMCBAQCBwdWJsaWM6CiAgICAgRGF0YVJlZjxTdHlsZUZpbHRlckRhdGE+IG1fZmls
dGVyOyAvLyBGaWx0ZXIgb3BlcmF0aW9ucyAodXJsLCBzZXBpYSwgYmx1ciwgZXRjLikKICNlbmRp
ZgogCisjaWYgRU5BQkxFKENTU19HUklEX0xBWU9VVCkKKyAgICBEYXRhUmVmPFN0eWxlR3JpZERh
dGE+IG1fZ3JpZDsKKyNlbmRpZgorCiAgICAgT3duUHRyPENvbnRlbnREYXRhPiBtX2NvbnRlbnQ7
CiAgICAgT3duUHRyPENvdW50ZXJEaXJlY3RpdmVNYXA+IG1fY291bnRlckRpcmVjdGl2ZXM7CiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyMWQyYTMyZGY2YzBhZjg5ODg4ZWIyZWYxZmZkMDVlNDFiYjNhY2VjLi4wZGU3NWVl
MzAwNjk5OTViNGEyNWJhMzljMGQyYzgxN2UyODkyMDcxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMTEtMTEtMTYgIEp1bGllbiBDaGFmZnJhaXggIDxqY2hhZmZyYWl4QHdlYmtpdC5vcmc+CisK
KyAgICAgICAgQWRkIGxpbWl0ZWQgcGFyc2luZyBzdXBwb3J0IGZvciBncmlkLWNvbHVtbnMgYW5k
IGdyaWQtcm93cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NzI1MzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBUZXN0IG91ciBjdXJyZW50bHkgc3VwcG9ydGVkIGdyYW1tYXIuCisKKyAgICAgICAgKiBmYXN0
L2Nzcy1ncmlkLWxheW91dC9ncmlkLWNvbHVtbnMtcm93cy1nZXQtc2V0Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvY3NzLWdyaWQtbGF5b3V0L3Jlc291cmNlcy9ncmlkLWNvbHVtbnMtcm93
cy1nZXQtc2V0LmpzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlk
LWNvbHVtbnMtcm93cy1nZXQtc2V0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisKIDIwMTEtMTEtMTYg
IEphbWVzIFJvYmluc29uICA8amFtZXNyQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21p
dW1dIFVwZGF0ZSBjaHJvbWl1bSBleHBlY3RhdGlvbnMgZm9yIGZhc3QvbWVkaWEvbXEtdHJhbnNm
b3JtLTBbMjNdLmh0bWwgdG8gcmVmbGVjdCB0aGF0IGNocm9taXVtIERSVCBoYXMKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtY29sdW1ucy1yb3dzLWdl
dC1zZXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3Jp
ZC1jb2x1bW5zLXJvd3MtZ2V0LXNldC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGQ3ODIyNzMy
MTU3Y2FmMjYwZmRkZjEzZTcwNzk3NTZkYTNiNDI5OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtY29sdW1ucy1yb3dzLWdldC1zZXQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzIgQEAKK1Rlc3QgdGhhdCBzZXR0aW5nIGFuZCBnZXR0aW5n
IGdyaWQtY29sdW1ucyBhbmQgZ3JpZC1yb3dzIHdvcmtzIGFzIGV4cGVjdGVkCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworCitUZXN0IGdldHRpbmcgfGRpc3BsYXl8IHNldCB0aHJvdWdo
IENTUworUEFTUyBnZXRDb21wdXRlZFN0eWxlKGdyaWRFbGVtZW50LCAnJykuZ2V0UHJvcGVydHlW
YWx1ZSgnLXdlYmtpdC1ncmlkLWNvbHVtbnMnKSBpcyAnbm9uZScKK1BBU1MgZ2V0Q29tcHV0ZWRT
dHlsZShncmlkRWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1yb3dz
JykgaXMgJ25vbmUnCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZ3JpZFdpdGhGaXhlZEVsZW1lbnQs
ICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtY29sdW1ucycpIGlzICcxMHB4Jwor
UEFTUyBnZXRDb21wdXRlZFN0eWxlKGdyaWRXaXRoRml4ZWRFbGVtZW50LCAnJykuZ2V0UHJvcGVy
dHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXJvd3MnKSBpcyAnMTVweCcKK1BBU1MgZ2V0Q29tcHV0ZWRT
dHlsZShncmlkV2l0aFBlcmNlbnRFbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtp
dC1ncmlkLWNvbHVtbnMnKSBpcyAnNTMlJworUEFTUyBnZXRDb21wdXRlZFN0eWxlKGdyaWRXaXRo
UGVyY2VudEVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtcm93cycp
IGlzICcyNyUnCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZ3JpZFdpdGhBdXRvRWxlbWVudCwgJycp
LmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1jb2x1bW5zJykgaXMgJ2F1dG8nCitQQVNT
IGdldENvbXB1dGVkU3R5bGUoZ3JpZFdpdGhBdXRvRWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFs
dWUoJy13ZWJraXQtZ3JpZC1yb3dzJykgaXMgJ2F1dG8nCitQQVNTIGdldENvbXB1dGVkU3R5bGUo
Z3JpZFdpdGhFTUVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtY29s
dW1ucycpIGlzICcxNjBweCcKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShncmlkV2l0aEVNRWxlbWVu
dCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1yb3dzJykgaXMgJzI0MHB4Jwor
CitUZXN0IHRoZSBpbml0aWFsIHZhbHVlCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwg
JycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1jb2x1bW5zJykgaXMgJ25vbmUnCitQ
QVNTIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJr
aXQtZ3JpZC1yb3dzJykgaXMgJ25vbmUnCisKK1Rlc3QgZ2V0dGluZyBhbmQgc2V0dGluZyBkaXNw
bGF5IHRocm91Z2ggSlMKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJv
cGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLWNvbHVtbnMnKSBpcyAnMThweCcKK1BBU1MgZ2V0Q29t
cHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXJv
d3MnKSBpcyAnNjZweCcKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJv
cGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLWNvbHVtbnMnKSBpcyAnNTUlJworUEFTUyBnZXRDb21w
dXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtcm93
cycpIGlzICc0MCUnCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3Bl
cnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1jb2x1bW5zJykgaXMgJ2F1dG8nCitQQVNTIGdldENvbXB1
dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1yb3dz
JykgaXMgJ2F1dG8nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3Jp
ZC1jb2x1bW5zLXJvd3MtZ2V0LXNldC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1s
YXlvdXQvZ3JpZC1jb2x1bW5zLXJvd3MtZ2V0LXNldC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNzU1
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFlNmRiMzM0
NGNhYzJlNzQ3NWZiMzQ2ZGIyODU3MTI2ODIxZmFkMzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWNvbHVtbnMtcm93cy1nZXQtc2V0Lmh0
bWwKQEAgLTAsMCArMSw0MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KKy5ncmlkIHsKKyAgICBkaXNwbGF5
OiAtd2Via2l0LWdyaWQ7CisgICAgLXdlYmtpdC1ncmlkLWNvbHVtbnM6IG5vbmU7CisgICAgLXdl
YmtpdC1ncmlkLXJvd3M6IG5vbmU7Cit9CisuZ3JpZFdpdGhGaXhlZCB7CisgICAgZGlzcGxheTog
LXdlYmtpdC1ncmlkOworICAgIC13ZWJraXQtZ3JpZC1jb2x1bW5zOiAxMHB4OworICAgIC13ZWJr
aXQtZ3JpZC1yb3dzOiAxNXB4OworfQorLmdyaWRXaXRoUGVyY2VudCB7CisgICAgZGlzcGxheTog
LXdlYmtpdC1ncmlkOworICAgIC13ZWJraXQtZ3JpZC1jb2x1bW5zOiA1MyU7CisgICAgLXdlYmtp
dC1ncmlkLXJvd3M6IDI3JTsKK30KKy5ncmlkV2l0aEF1dG8geworICAgIGRpc3BsYXk6IC13ZWJr
aXQtZ3JpZDsKKyAgICAtd2Via2l0LWdyaWQtY29sdW1uczogYXV0bzsKKyAgICAtd2Via2l0LWdy
aWQtcm93czogYXV0bzsKK30KKy5ncmlkV2l0aEVNIHsKKyAgICBkaXNwbGF5OiAtd2Via2l0LWdy
aWQ7CisgICAgLXdlYmtpdC1ncmlkLWNvbHVtbnM6IDEwZW07CisgICAgLXdlYmtpdC1ncmlkLXJv
d3M6IDE1ZW07Cit9Cis8L3N0eWxlPgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgY2xhc3M9ImdyaWQi
IGlkPSJncmlkRWxlbWVudCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJncmlkV2l0aEZpeGVkIiBpZD0i
Z3JpZFdpdGhGaXhlZEVsZW1lbnQiPjwvZGl2PgorPGRpdiBjbGFzcz0iZ3JpZFdpdGhQZXJjZW50
IiBpZD0iZ3JpZFdpdGhQZXJjZW50RWxlbWVudCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJncmlkV2l0
aEF1dG8iIGlkPSJncmlkV2l0aEF1dG9FbGVtZW50Ij48L2Rpdj4KKzxkaXYgY2xhc3M9ImdyaWRX
aXRoRU0iIGlkPSJncmlkV2l0aEVNRWxlbWVudCI+PC9kaXY+Cis8c2NyaXB0IHNyYz0icmVzb3Vy
Y2VzL2dyaWQtY29sdW1ucy1yb3dzLWdldC1zZXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvcmVzb3Vy
Y2VzL2dyaWQtY29sdW1ucy1yb3dzLWdldC1zZXQuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1n
cmlkLWxheW91dC9yZXNvdXJjZXMvZ3JpZC1jb2x1bW5zLXJvd3MtZ2V0LXNldC5qcwpuZXcgZmls
ZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5jYzliNjdhNzgxZDc5OTlmMzcwYjVmN2Q5ODc2MGNlOTRiZTRhMzQ5Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvcmVzb3VyY2VzL2dyaWQt
Y29sdW1ucy1yb3dzLWdldC1zZXQuanMKQEAgLTAsMCArMSw1MCBAQAorZGVzY3JpcHRpb24oJ1Rl
c3QgdGhhdCBzZXR0aW5nIGFuZCBnZXR0aW5nIGdyaWQtY29sdW1ucyBhbmQgZ3JpZC1yb3dzIHdv
cmtzIGFzIGV4cGVjdGVkJyk7CisKK2RlYnVnKCJUZXN0IGdldHRpbmcgfGRpc3BsYXl8IHNldCB0
aHJvdWdoIENTUyIpOwordmFyIGdyaWRFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImdyaWRFbGVtZW50Iik7CitzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShncmlkRWxlbWVudCwg
JycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1jb2x1bW5zJykiLCAiJ25vbmUnIik7
CitzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShncmlkRWxlbWVudCwgJycpLmdldFByb3BlcnR5
VmFsdWUoJy13ZWJraXQtZ3JpZC1yb3dzJykiLCAiJ25vbmUnIik7CisKK3ZhciBncmlkV2l0aEZp
eGVkRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJncmlkV2l0aEZpeGVkRWxlbWVu
dCIpOworc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZ3JpZFdpdGhGaXhlZEVsZW1lbnQsICcn
KS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtY29sdW1ucycpIiwgIicxMHB4JyIpOwor
c2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZ3JpZFdpdGhGaXhlZEVsZW1lbnQsICcnKS5nZXRQ
cm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtcm93cycpIiwgIicxNXB4JyIpOworCit2YXIgZ3Jp
ZFdpdGhQZXJjZW50RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJncmlkV2l0aFBl
cmNlbnRFbGVtZW50Iik7CitzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShncmlkV2l0aFBlcmNl
bnRFbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLWNvbHVtbnMnKSIs
ICInNTMlJyIpOworc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZ3JpZFdpdGhQZXJjZW50RWxl
bWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1yb3dzJykiLCAiJzI3JSci
KTsKKwordmFyIGdyaWRXaXRoQXV0b0VsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Z3JpZFdpdGhBdXRvRWxlbWVudCIpOworc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZ3JpZFdp
dGhBdXRvRWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1jb2x1bW5z
JykiLCAiJ2F1dG8nIik7CitzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShncmlkV2l0aEF1dG9F
bGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXJvd3MnKSIsICInYXV0
byciKTsKKwordmFyIGdyaWRXaXRoRU1FbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImdyaWRXaXRoRU1FbGVtZW50Iik7CitzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShncmlkV2l0
aEVNRWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1jb2x1bW5zJyki
LCAiJzE2MHB4JyIpOworc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZ3JpZFdpdGhFTUVsZW1l
bnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtcm93cycpIiwgIicyNDBweCci
KTsKKworZGVidWcoIiIpOworZGVidWcoIlRlc3QgdGhlIGluaXRpYWwgdmFsdWUiKTsKK3ZhciBl
bGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Citkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKGVsZW1lbnQpOworc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwg
JycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1jb2x1bW5zJykiLCAiJ25vbmUnIik7
CitzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1
ZSgnLXdlYmtpdC1ncmlkLXJvd3MnKSIsICInbm9uZSciKTsKKworZGVidWcoIiIpOworZGVidWco
IlRlc3QgZ2V0dGluZyBhbmQgc2V0dGluZyBkaXNwbGF5IHRocm91Z2ggSlMiKTsKK2VsZW1lbnQu
c3R5bGUud2Via2l0R3JpZENvbHVtbnMgPSAiMThweCI7CitlbGVtZW50LnN0eWxlLndlYmtpdEdy
aWRSb3dzID0gIjY2cHgiOworc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycp
LmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1jb2x1bW5zJykiLCAiJzE4cHgnIik7Citz
aG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgn
LXdlYmtpdC1ncmlkLXJvd3MnKSIsICInNjZweCciKTsKKworZWxlbWVudCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImRpdiIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbGVtZW50KTsK
K2VsZW1lbnQuc3R5bGUud2Via2l0R3JpZENvbHVtbnMgPSAiNTUlIjsKK2VsZW1lbnQuc3R5bGUu
d2Via2l0R3JpZFJvd3MgPSAiNDAlIjsKK3Nob3VsZEJlKCJnZXRDb21wdXRlZFN0eWxlKGVsZW1l
bnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtY29sdW1ucycpIiwgIic1NSUn
Iik7CitzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlW
YWx1ZSgnLXdlYmtpdC1ncmlkLXJvd3MnKSIsICInNDAlJyIpOworCitlbGVtZW50ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVsZW1l
bnQpOworZWxlbWVudC5zdHlsZS53ZWJraXRHcmlkQ29sdW1ucyA9ICJhdXRvIjsKK2VsZW1lbnQu
c3R5bGUud2Via2l0R3JpZFJvd3MgPSAiYXV0byI7CitzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHls
ZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLWNvbHVtbnMnKSIs
ICInYXV0byciKTsKK3Nob3VsZEJlKCJnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQ
cm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtcm93cycpIiwgIidhdXRvJyIpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>116809</attachid>
            <date>2011-11-28 13:33:51 -0800</date>
            <delta_ts>2011-11-28 14:59:40 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-72531-20111128133350.patch</filename>
            <type>text/plain</type>
            <size>40284</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxMjcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGQwNmZkZDRlMWNkNjRi
NTUwMjA5ODQ3MThhODBlYzQ5MTQ5OWE0Ni4uMGQ2YTM5ODdhMjhkMzAyNmMyOTFhOGVjNTRlMWJk
ZmZiNTM4NzAxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc5IEBACisyMDExLTExLTI4ICBKdWxp
ZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgorCisgICAgICAgIEFkZCBsaW1p
dGVkIHBhcnNpbmcgc3VwcG9ydCBmb3IgZ3JpZC1jb2x1bW5zIGFuZCBncmlkLXJvd3MKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTMxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgVG9ueSBDaGFuZy4KKworICAgICAgICBUZXN0OiBmYXN0L2Nzcy1ncmlk
LWxheW91dC9ncmlkLWNvbHVtbnMtcm93cy1nZXQtc2V0Lmh0bWwKKworICAgICAgICBBZGRlZCBz
dXBwb3J0IGZvcjoKKyAgICAgICAgPHRyYWNrLWxpc3Q+IDo9IDxsZW5ndGg+IHwgPHBlcmNlbnRh
Z2U+IHwgJ25vbmUnIHwgJ2F1dG8nCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAg
ICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFRhcmdldC5wcmk6CisgICAgICAg
ICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAg
KiByZW5kZXJpbmcvc3R5bGUvU3R5bGVBbGxJbk9uZS5jcHA6CisgICAgICAgIFVwZGF0ZWQgb3Vy
IGJ1aWxkIHN5c3RlbXMuCisKKyAgICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0
aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnZhbHVlRm9yR3JpZFRyYWNrTGlzdCk6CisgICAg
ICAgIEhlbHBlciBmdW5jdGlvbiB0byBjb252ZXJ0IG91ciBSZW5kZXJTdHlsZSBpbmZvcm1hdGlv
biB0byBhIHByb3BlciBDU1NWYWx1ZS4KKyAgICAgICAgSXQgZG9lc24ndCBkbyBtdWNoIG5vdyBi
dXQgaXQgd2lsbCBiZSBleHBhbmRlZCBhcyB3ZSBhZGQgbW9yZSBzdXBwb3J0LgorCisgICAgICAg
IChXZWJDb3JlOjpDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5Q1NTVmFs
dWUpOiBDYWxsIHRoZSBwcmV2aW91cworICAgICAgICBmdW5jdGlvbi4KKworICAgICAgICAqIGNz
cy9DU1NQYXJzZXIuaDoKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJz
ZXI6OnBhcnNlR3JpZFRyYWNrTGlzdCk6CisgICAgICAgIENTUyBwYXJzaW5nIHBhcnQgb2YgdGhp
cyBjaGFuZ2UuIFByZXR0eSBzaW1wbGUgZm9yIG5vdy4KKworICAgICAgICAqIGNzcy9DU1NQcm9w
ZXJ0eU5hbWVzLmluOgorICAgICAgICBBZGRlZCAtd2Via2l0LWdyaWQtY29sdW1ucyBhbmQgLXdl
YmtpdC1ncmlkLXJvd3MuCisKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHkuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTUHJvcGVydHk6OmlzSW5oZXJpdGVkUHJvcGVydHkpOgorICAgICAgICAq
IGNzcy9DU1NTdHlsZUFwcGx5UHJvcGVydHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5
bGVBcHBseVByb3BlcnR5OjpDU1NTdHlsZUFwcGx5UHJvcGVydHkpOgorICAgICAgICAqIGNzcy9D
U1NTdHlsZVNlbGVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6
OmFwcGx5UHJvcGVydHkpOgorICAgICAgICBTdHlsZSBhcHBsaWNhdGlvbiBwbHVtYmluZy4KKwor
ICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJTdHlsZTo6UmVuZGVyU3R5bGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
U3R5bGU6OmRpZmYpOgorICAgICAgICBUaGlzIGNoYW5nZSBpcyByZXF1aXJlZCBmb3IgbGF0ZXIg
d2hlbiB3ZSBhZGQgbGF5b3V0IGZvciBvdXIgZ3JpZC4KKworICAgICAgICAqIHJlbmRlcmluZy9z
dHlsZS9SZW5kZXJTdHlsZS5oOgorICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6Omdy
aWRDb2x1bW5zKToKKyAgICAgICAgKFdlYkNvcmU6OkluaGVyaXRlZEZsYWdzOjpncmlkUm93cyk6
CisgICAgICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6c2V0R3JpZENvbHVtbnMpOgorICAg
ICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6OnNldEdyaWRSb3dzKToKKyAgICAgICAgKFdl
YkNvcmU6OkluaGVyaXRlZEZsYWdzOjppbml0aWFsR3JpZENvbHVtbnMpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5oZXJpdGVkRmxhZ3M6OmluaXRpYWxHcmlkUm93cyk6CisgICAgICAgIEdldHRlcnMg
LyBTZXR0ZXJzIGFuZCBpbml0aWFsIHZhbHVlcy4KKworICAgICAgICAqIHJlbmRlcmluZy9zdHls
ZS9TdHlsZUdyaWREYXRhLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpTdHlsZUdyaWRE
YXRhOjpTdHlsZUdyaWREYXRhKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVHcmlk
RGF0YS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlR3JpZERhdGE6OmNyZWF0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpTdHlsZUdyaWREYXRhOjpjb3B5KToKKyAgICAgICAgKFdlYkNv
cmU6OlN0eWxlR3JpZERhdGE6Om9wZXJhdG9yPT0pOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVH
cmlkRGF0YTo6b3BlcmF0b3IhPSk6CisgICAgICAgIFRoaXMgY2xhc3MgaG9sZHMgdGhlIGdyaWQg
ZWxlbWVudCBpbmZvcm1hdGlvbi4gRm9yIG5vdyBwcmV0dHkgc2ltcGxlCisgICAgICAgIHNoZWxs
IHRoYXQgd2lsbCBiZSB1c2VkIGZvciB0aGUgcmVzdCBvZiB0aGUgc3VwcG9ydC4KKworICAgICAg
ICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6OlN0eWxlUmFyZU5vbkluaGVy
aXRlZERhdGEpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6
b3BlcmF0b3I9PSk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVy
aXRlZERhdGEuaDoKKyAgICAgICAgQWRkZWQgU3R5bGVHcmlkRWxlbWVudERhdGEgdG8gU3R5bGVS
YXJlTm9uSW5oZXJpdGVkRGF0YS4KKwogMjAxMS0xMS0yOCAgTWFydGluIFJvYmluc29uICA8bXJv
Ymluc29uQGlnYWxpYS5jb20+CiAKICAgICAgICAgRml4ICdtYWtlIGRpc3QnIGJ5IGFkZGluZyB0
d28gbWlzc2luZyBmaWxlcyB0byBzb3VyY2UgbGlzdC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXgg
N2VkZmY3OTk1YjUxNzI2NjI3YzA4NTAxMmEzOThmMTBiYjg4ZGMxZS4uOWY4Y2Y4MGE4NzgxNzZi
MTc1OWM3ZTJjMTQ2MzViMDczYjcwYTJjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01h
a2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTEzMjcs
NiArMTMyNyw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICByZW5kZXJpbmcvc3R5bGUvU3R5
bGVGaWx0ZXJEYXRhLmNwcAogICAgIHJlbmRlcmluZy9zdHlsZS9TdHlsZUZsZXhpYmxlQm94RGF0
YS5jcHAKICAgICByZW5kZXJpbmcvc3R5bGUvU3R5bGVHZW5lcmF0ZWRJbWFnZS5jcHAKKyAgICBy
ZW5kZXJpbmcvc3R5bGUvU3R5bGVHcmlkRGF0YS5jcHAKICAgICByZW5kZXJpbmcvc3R5bGUvU3R5
bGVJbmhlcml0ZWREYXRhLmNwcAogICAgIHJlbmRlcmluZy9zdHlsZS9TdHlsZU1hcnF1ZWVEYXRh
LmNwcAogICAgIHJlbmRlcmluZy9zdHlsZS9TdHlsZU11bHRpQ29sRGF0YS5jcHAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDQwZWU1ODc3NTg5OWVmNTc0YWMyMDc4OTg3YmFhZWIz
OTg4Njg3MmEuLmI4NmM5ZmM0OGEyZGQ4NDhmMmEyMTgzMzYwOTgxZDRiYTI0NjY0ODIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMzMwMCw2ICszMzAwLDggQEAgd2ViY29yZV9z
b3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVGbGV4aWJs
ZUJveERhdGEuaCBcCiAJU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlR2VuZXJh
dGVkSW1hZ2UuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVHZW5l
cmF0ZWRJbWFnZS5oIFwKKwlTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVHcmlk
RGF0YS5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUdyaWREYXRh
LmggXAogCVNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUltYWdlLmggXAogCVNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUluaGVyaXRlZERhdGEuY3BwIFwKIAlT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVJbmhlcml0ZWREYXRhLmggXApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1Rhcmdl
dC5wcmkKaW5kZXggYmYxMjAxYzBkMDc1NzFmNzkyNzAzOTFkMTAxYzQyZmNhNDUyZTZkOC4uNzVl
OTdjNTQzZjZjNDNhYTFjOGE2NTJlN2NkNGNiNGNhZmY1MDUxNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC0x
MjYzLDYgKzEyNjMsNyBAQCBTT1VSQ0VTICs9IFwKICAgICByZW5kZXJpbmcvc3R5bGUvU3R5bGVG
aWx0ZXJEYXRhLmNwcCBcCiAgICAgcmVuZGVyaW5nL3N0eWxlL1N0eWxlRmxleGlibGVCb3hEYXRh
LmNwcCBcCiAgICAgcmVuZGVyaW5nL3N0eWxlL1N0eWxlR2VuZXJhdGVkSW1hZ2UuY3BwIFwKKyAg
ICByZW5kZXJpbmcvc3R5bGUvU3R5bGVHcmlkRGF0YS5jcHAgXAogICAgIHJlbmRlcmluZy9zdHls
ZS9TdHlsZUluaGVyaXRlZERhdGEuY3BwIFwKICAgICByZW5kZXJpbmcvc3R5bGUvU3R5bGVNYXJx
dWVlRGF0YS5jcHAgXAogICAgIHJlbmRlcmluZy9zdHlsZS9TdHlsZU11bHRpQ29sRGF0YS5jcHAg
XApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5neXBpCmluZGV4IDNkMTJhNzhiZDFlMDllZDZkNjZjM2YzMDUwMmY4MzI5MDkw
MDI4YWEuLmUxNTJlYWQzM2ZlNTZmMDFkMGJjYjEzMjQxYWFjMGY1ZGJhYzdlZmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmd5cGkKQEAgLTk1Myw2ICs5NTMsNyBAQAogICAgICAgICAgICAgJ3JlbmRlcmluZy9zdHls
ZS9TdHlsZUZpbHRlckRhdGEuaCcsCiAgICAgICAgICAgICAncmVuZGVyaW5nL3N0eWxlL1N0eWxl
RmxleGlibGVCb3hEYXRhLmgnLAogICAgICAgICAgICAgJ3JlbmRlcmluZy9zdHlsZS9TdHlsZUdl
bmVyYXRlZEltYWdlLmgnLAorICAgICAgICAgICAgJ3JlbmRlcmluZy9zdHlsZS9TdHlsZUdyaWRE
YXRhLmgnLAogICAgICAgICAgICAgJ3JlbmRlcmluZy9zdHlsZS9TdHlsZUltYWdlLmgnLAogICAg
ICAgICAgICAgJ3JlbmRlcmluZy9zdHlsZS9TdHlsZUluaGVyaXRlZERhdGEuaCcsCiAgICAgICAg
ICAgICAncmVuZGVyaW5nL3N0eWxlL1N0eWxlTWFycXVlZURhdGEuaCcsCkBAIC00NzcyLDYgKzQ3
NzMsNyBAQAogICAgICAgICAgICAgJ3JlbmRlcmluZy9zdHlsZS9TdHlsZUZpbHRlckRhdGEuY3Bw
JywKICAgICAgICAgICAgICdyZW5kZXJpbmcvc3R5bGUvU3R5bGVGbGV4aWJsZUJveERhdGEuY3Bw
JywKICAgICAgICAgICAgICdyZW5kZXJpbmcvc3R5bGUvU3R5bGVHZW5lcmF0ZWRJbWFnZS5jcHAn
LAorICAgICAgICAgICAgJ3JlbmRlcmluZy9zdHlsZS9TdHlsZUdyaWREYXRhLmNwcCcsCiAgICAg
ICAgICAgICAncmVuZGVyaW5nL3N0eWxlL1N0eWxlSW5oZXJpdGVkRGF0YS5jcHAnLAogICAgICAg
ICAgICAgJ3JlbmRlcmluZy9zdHlsZS9TdHlsZU1hcnF1ZWVEYXRhLmNwcCcsCiAgICAgICAgICAg
ICAncmVuZGVyaW5nL3N0eWxlL1N0eWxlTXVsdGlDb2xEYXRhLmNwcCcsCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDRjYzBlOGI3ZDYyNjg2Yjk1
OWY1YmNkMTcwM2Q3YjFkOGRkODBlYzQuLjRlY2U0ZjZmNWEyYTQzNGE0MWI3MTBmYzNlOWNmMDNm
NDQ4N2UyYjMgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNv
cmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNw
cm9qCkBAIC00MDc3MSw2ICs0MDc3MSw2MiBAQAogCQkJCQk+CiAJCQkJPC9GaWxlPgogCQkJCTxG
aWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5ccmVuZGVyaW5nXHN0eWxlXFN0eWxlR3JpZERhdGEu
Y3BwIgorCQkJCQk+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iRGVidWd8
V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxU
b29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmls
ZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iUmVs
ZWFzZXxXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJ
CQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1l
PSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIK
KwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJh
dGlvbgorCQkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJ
CQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJ
CQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IlByb2R1Y3Rpb258V2lu
MzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29s
CisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNv
bmZpZ3VyYXRpb24+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0i
Li5ccmVuZGVyaW5nXHN0eWxlXFN0eWxlR3JpZERhdGEuaCIKKwkJCQkJPgorCQkJCTwvRmlsZT4K
KwkJCQk8RmlsZQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHJlbmRlcmluZ1xzdHlsZVxTdHlsZUlt
YWdlLmgiCiAJCQkJCT4KIAkJCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMzNjMTRiZWE1YWU4MDQ0OTk1YzA5MDFi
YTNjYjZlOWUzNzk2NjMwMi4uMjU0ZDBkYmZmZDhhNTRmNGE2OTc1ZWI4Y2QyMTJiOTNjMTJkMWVk
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagpAQCAtMzM5OCw2ICszMzk4LDggQEAKIAkJQTBFRTBERjYxNDRGODI1NTAwRjgwQjBEIC8q
IFdlYkdMRGVidWdSZW5kZXJlckluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEEwRUUwREYyMTQ0RjgyNTUwMEY4MEIwRCAvKiBXZWJHTERlYnVnUmVu
ZGVyZXJJbmZvLmggKi87IH07CiAJCUEwRUUwREY3MTQ0RjgyNTUwMEY4MEIwRCAvKiBXZWJHTERl
YnVnU2hhZGVycy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBMEVFMERGMzE0NEY4MjU1MDBGODBCMEQgLyogV2ViR0xEZWJ1Z1NoYWRlcnMuY3BwICov
OyB9OwogCQlBMEVFMERGODE0NEY4MjU1MDBGODBCMEQgLyogV2ViR0xEZWJ1Z1NoYWRlcnMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEwRUUwREY0MTQ0
RjgyNTUwMEY4MEIwRCAvKiBXZWJHTERlYnVnU2hhZGVycy5oICovOyB9OworCQlBMTBEQzc2QTE0
NzQ3QkFCMDA1RTI0NzEgLyogU3R5bGVHcmlkRGF0YS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTBEQzc2ODE0NzQ3QkFCMDA1RTI0NzEgLyogU3R5
bGVHcmlkRGF0YS5jcHAgKi87IH07CisJCUExMERDNzZCMTQ3NDdCQUIwMDVFMjQ3MSAvKiBTdHls
ZUdyaWREYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBMTBEQzc2OTE0NzQ3QkFCMDA1RTI0NzEgLyogU3R5bGVHcmlkRGF0YS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUExMjBBQ0E0MTNGOTk4Q0Ew
MEZFNEFDNyAvKiBMYXlvdXRSZXBhaW50ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTEyMEFDQTExM0Y5OTg0NjAwRkU0QUM3IC8qIExheW91dFJl
cGFpbnRlci5jcHAgKi87IH07CiAJCUExMjUzOEQ0MTNGOUI2MEEwMDAyNDc1NCAvKiBMYXlvdXRS
ZXBhaW50ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEExMjBBQ0EwMTNGOTk4MzcwMEZFNEFDNyAvKiBMYXlvdXRSZXBhaW50ZXIuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlBMTM2QTAwQzExMzREQkQy
MDBDQzhENTAgLyogWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTEzNkEwMEExMTM0REJE
MjAwQ0M4RDUwIC8qIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmNwcCAqLzsg
fTsKQEAgLTEwNjIwLDYgKzEwNjIyLDggQEAKIAkJQTBFRTBERjIxNDRGODI1NTAwRjgwQjBEIC8q
IFdlYkdMRGVidWdSZW5kZXJlckluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gV2ViR0xEZWJ1Z1JlbmRlcmVySW5mby5oOyBwYXRoID0gY2FudmFzL1dlYkdMRGVidWdSZW5k
ZXJlckluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTBFRTBERjMxNDRGODI1
NTAwRjgwQjBEIC8qIFdlYkdMRGVidWdTaGFkZXJzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgbmFtZSA9IFdlYkdMRGVidWdTaGFkZXJzLmNwcDsgcGF0aCA9IGNhbnZhcy9XZWJH
TERlYnVnU2hhZGVycy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUEwRUUwREY0
MTQ0RjgyNTUwMEY4MEIwRCAvKiBXZWJHTERlYnVnU2hhZGVycy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBXZWJHTERlYnVnU2hhZGVycy5oOyBwYXRoID0gY2FudmFzL1dlYkdM
RGVidWdTaGFkZXJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUExMERDNzY4MTQ3
NDdCQUIwMDVFMjQ3MSAvKiBTdHlsZUdyaWREYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgbmFtZSA9IFN0eWxlR3JpZERhdGEuY3BwOyBwYXRoID0gc3R5bGUvU3R5bGVHcmlk
RGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUExMERDNzY5MTQ3NDdCQUIw
MDVFMjQ3MSAvKiBTdHlsZUdyaWREYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFt
ZSA9IFN0eWxlR3JpZERhdGEuaDsgcGF0aCA9IHN0eWxlL1N0eWxlR3JpZERhdGEuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTEyMEFDQTAxM0Y5OTgzNzAwRkU0QUM3IC8qIExheW91
dFJlcGFpbnRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMYXlvdXRSZXBh
aW50ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTEyMEFDQTExM0Y5OTg0NjAw
RkU0QUM3IC8qIExheW91dFJlcGFpbnRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBMYXlvdXRSZXBhaW50ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlBMTM2QTAwQTExMzREQkQyMDBDQzhENTAgLyogWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2
ZW50VGhyb3R0bGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gWE1M
SHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtMTk4MzAsNiArMTk4MzQsOCBAQAogCQlCQzhDOEZBQTBERENEMkYyMDBCNTky
RjQgLyogc3R5bGUgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAor
CQkJCUExMERDNzY4MTQ3NDdCQUIwMDVFMjQ3MSAvKiBTdHlsZUdyaWREYXRhLmNwcCAqLywKKwkJ
CQlBMTBEQzc2OTE0NzQ3QkFCMDA1RTI0NzEgLyogU3R5bGVHcmlkRGF0YS5oICovLAogCQkJCTUw
MzhCRTJEMTQ3MkFEMjMwMDk1RTBEMSAvKiBTdHlsZUNhY2hlZFNoYWRlci5jcHAgKi8sCiAJCQkJ
NTAzOEJFMkUxNDcyQUQyMzAwOTVFMEQxIC8qIFN0eWxlQ2FjaGVkU2hhZGVyLmggKi8sCiAJCQkJ
QkM1RUI1RTAwRTgxQkU4NzAwQjI1OTY1IC8qIEJvcmRlckRhdGEuaCAqLywKQEAgLTI0Nzk0LDYg
KzI0ODAwLDcgQEAKIAkJCQkwMzNBNkE3QzE0N0UwN0QyMDA1MDlCMzYgLyogSFRNTFByb3BlcnRp
ZXNDb2xsZWN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkwMzNBNkE4MzE0N0UwOEE2MDA1MDlC
MzYgLyogSlNIVE1MUHJvcGVydGllc0NvbGxlY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTdB
QTUxQjZFMTQ4M0I2MTYwMEFEMjc1MiAvKiBJbnNwZWN0b3JCYXNlQWdlbnQuaCBpbiBIZWFkZXJz
ICovLAorCQkJCUExMERDNzZCMTQ3NDdCQUIwMDVFMjQ3MSAvKiBTdHlsZUdyaWREYXRhLmggaW4g
SGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5n
ID0gMDsKIAkJfTsKQEAgLTI3Njc2LDYgKzI3NjgzLDcgQEAKIAkJCQkwMzNBNkE3RTE0N0UwN0U3
MDA1MDlCMzYgLyogSFRNTFByb3BlcnRpZXNDb2xsZWN0aW9uLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTAzM0E2QTgxMTQ3RTA4ODYwMDUwOUIzNiAvKiBKU0hUTUxQcm9wZXJ0aWVzQ29sbGVjdGlv
bi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QUE1MUI2RjE0ODNCNjE2MDBBRDI3NTIgLyogSW5z
cGVjdG9yQmFzZUFnZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUExMERDNzZBMTQ3NDdCQUIw
MDVFMjQ3MSAvKiBTdHlsZUdyaWREYXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1
bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAppbmRleCA1NzEy
ZTBhZDU0MjExZDFhZGVmMzRiMjM3NjEwNzliZWRlMjE0MmI5Li4yMjA4OTlkM2I4OWU3M2JhYzE2
YTZiZDE4YmFiOWI5MDBjNWE1MTlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Q29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Q29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAtMjE4LDYgKzIxOCwxMCBAQCBzdGF0aWMg
Y29uc3QgaW50IGNvbXB1dGVkUHJvcGVydGllc1tdID0gewogICAgIENTU1Byb3BlcnR5V2Via2l0
RmxleEFsaWduLAogICAgIENTU1Byb3BlcnR5V2Via2l0RmxleEZsb3csCiAgICAgQ1NTUHJvcGVy
dHlXZWJraXRGb250U21vb3RoaW5nLAorI2lmIEVOQUJMRShDU1NfR1JJRF9MQVlPVVQpCisgICAg
Q1NTUHJvcGVydHlXZWJraXRHcmlkQ29sdW1ucywKKyAgICBDU1NQcm9wZXJ0eVdlYmtpdEdyaWRS
b3dzLAorI2VuZGlmCiAgICAgQ1NTUHJvcGVydHlXZWJraXRIaWdobGlnaHQsCiAgICAgQ1NTUHJv
cGVydHlXZWJraXRIeXBoZW5hdGVDaGFyYWN0ZXIsCiAgICAgQ1NTUHJvcGVydHlXZWJraXRIeXBo
ZW5hdGVMaW1pdEFmdGVyLApAQCAtNzg3LDYgKzc5MSwxOSBAQCBQYXNzUmVmUHRyPENTU1ZhbHVl
PiBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OnZhbHVlRm9yRmlsdGVyKFJlbmRlclN0eWxl
KiBzdAogfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoQ1NTX0dSSURfTEFZT1VUKQorc3RhdGljIFBh
c3NSZWZQdHI8Q1NTVmFsdWU+IHZhbHVlRm9yR3JpZFRyYWNrTGlzdChjb25zdCBMZW5ndGgmIHRy
YWNrTGVuZ3RoLCBjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUsIENTU1ByaW1pdGl2ZVZhbHVlQ2Fj
aGUqIHByaW1pdGl2ZVZhbHVlQ2FjaGUpCit7CisgICAgaWYgKHRyYWNrTGVuZ3RoLmlzUGVyY2Vu
dCgpKQorICAgICAgICByZXR1cm4gcHJpbWl0aXZlVmFsdWVDYWNoZS0+Y3JlYXRlVmFsdWUodHJh
Y2tMZW5ndGgpOworICAgIGlmICh0cmFja0xlbmd0aC5pc0F1dG8oKSkKKyAgICAgICAgcmV0dXJu
IHByaW1pdGl2ZVZhbHVlQ2FjaGUtPmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZUF1dG8p
OworICAgIGlmICh0cmFja0xlbmd0aC5pc1VuZGVmaW5lZCgpKQorICAgICAgICByZXR1cm4gcHJp
bWl0aXZlVmFsdWVDYWNoZS0+Y3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlTm9uZSk7Cisg
ICAgcmV0dXJuIHpvb21BZGp1c3RlZFBpeGVsVmFsdWUodHJhY2tMZW5ndGgudmFsdWUoKSwgc3R5
bGUsIHByaW1pdGl2ZVZhbHVlQ2FjaGUpOworfQorI2VuZGlmCisKIHN0YXRpYyBQYXNzUmVmUHRy
PENTU1ZhbHVlPiBnZXREZWxheVZhbHVlKGNvbnN0IEFuaW1hdGlvbkxpc3QqIGFuaW1MaXN0LCBD
U1NQcmltaXRpdmVWYWx1ZUNhY2hlKiBwcmltaXRpdmVWYWx1ZUNhY2hlKQogewogICAgIFJlZlB0
cjxDU1NWYWx1ZUxpc3Q+IGxpc3QgPSBDU1NWYWx1ZUxpc3Q6OmNyZWF0ZUNvbW1hU2VwYXJhdGVk
KCk7CkBAIC0xNDk0LDYgKzE1MTEsMTYgQEAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gQ1NTQ29tcHV0
ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVlKGludCBwcm9wZXIKICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIHJldHVybiBsaXN0LnJlbGVhc2UoKTsKICAgICAgICAgfQor
I2lmIEVOQUJMRShDU1NfR1JJRF9MQVlPVVQpCisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJr
aXRHcmlkQ29sdW1uczogeworICAgICAgICAgICAgTGVuZ3RoIGdyaWRDb2x1bW5zID0gc3R5bGUt
PmdyaWRDb2x1bW5zKCk7CisgICAgICAgICAgICByZXR1cm4gdmFsdWVGb3JHcmlkVHJhY2tMaXN0
KGdyaWRDb2x1bW5zLCBzdHlsZS5nZXQoKSwgcHJpbWl0aXZlVmFsdWVDYWNoZSk7CisgICAgICAg
IH0KKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEdyaWRSb3dzOiB7CisgICAgICAgICAg
ICBMZW5ndGggZ3JpZFJvd3MgPSBzdHlsZS0+Z3JpZFJvd3MoKTsKKyAgICAgICAgICAgIHJldHVy
biB2YWx1ZUZvckdyaWRUcmFja0xpc3QoZ3JpZFJvd3MsIHN0eWxlLmdldCgpLCBwcmltaXRpdmVW
YWx1ZUNhY2hlKTsKKyAgICAgICAgfQorI2VuZGlmCiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlI
ZWlnaHQ6CiAgICAgICAgICAgICBpZiAocmVuZGVyZXIpCiAgICAgICAgICAgICAgICAgcmV0dXJu
IHpvb21BZGp1c3RlZFBpeGVsVmFsdWUoc2l6aW5nQm94KHJlbmRlcmVyKS5oZWlnaHQoKSwgc3R5
bGUuZ2V0KCksIHByaW1pdGl2ZVZhbHVlQ2FjaGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1BhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcApp
bmRleCBmOWU3Mjc2NzZmYTBkZTZiYTcwZDM5MTQxNmRiNTAwNTMyMDY3ZTdkLi5jOTY5OWFiZjhl
ZDAyYTM1OWZhMjA0ZWViZDlkYTBhMWQ1MjUyY2QzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNw
cApAQCAtMTc3Miw2ICsxNzcyLDExIEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVZhbHVlKGludCBw
cm9wSWQsIGJvb2wgaW1wb3J0YW50KQogICAgICAgICB9CiAgICAgICAgIHJldHVybiBmYWxzZTsK
ICAgICB9CisjaWYgRU5BQkxFKENTU19HUklEX0xBWU9VVCkKKyAgICBjYXNlIENTU1Byb3BlcnR5
V2Via2l0R3JpZENvbHVtbnM6CisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEdyaWRSb3dzOgor
ICAgICAgICByZXR1cm4gcGFyc2VHcmlkVHJhY2tMaXN0KHByb3BJZCwgaW1wb3J0YW50KTsKKyNl
bmRpZgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRNYXJnaW5Db2xsYXBzZTogewogICAgICAg
ICBjb25zdCBpbnQgcHJvcGVydGllc1syXSA9IHsgQ1NTUHJvcGVydHlXZWJraXRNYXJnaW5CZWZv
cmVDb2xsYXBzZSwKICAgICAgICAgICAgIENTU1Byb3BlcnR5V2Via2l0TWFyZ2luQWZ0ZXJDb2xs
YXBzZSB9OwpAQCAtMzUxNiw2ICszNTIxLDIzIEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUFuaW1h
dGlvblByb3BlcnR5KGludCBwcm9wSWQsIFJlZlB0cjxDU1NWYWx1ZT4mIHJlc3VsdCkKICAgICBy
ZXR1cm4gZmFsc2U7CiB9CiAKKyNpZiBFTkFCTEUoQ1NTX0dSSURfTEFZT1VUKQorYm9vbCBDU1NQ
YXJzZXI6OnBhcnNlR3JpZFRyYWNrTGlzdChpbnQgcHJvcElkLCBib29sIGltcG9ydGFudCkKK3sK
KyAgICBDU1NQYXJzZXJWYWx1ZSogdmFsdWUgPSBtX3ZhbHVlTGlzdC0+Y3VycmVudCgpOworICAg
IGlmICh2YWx1ZS0+aWQgPT0gQ1NTVmFsdWVOb25lIHx8IHZhbHVlLT5pZCA9PSBDU1NWYWx1ZUF1
dG8pIHsKKyAgICAgICAgYWRkUHJvcGVydHkocHJvcElkLCBwcmltaXRpdmVWYWx1ZUNhY2hlKCkt
PmNyZWF0ZUlkZW50aWZpZXJWYWx1ZSh2YWx1ZS0+aWQpLCBpbXBvcnRhbnQpOworICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBpZiAodmFsaWRVbml0KHZhbHVlLCBGTGVuZ3RoIHwg
RlBlcmNlbnQsIG1fc3RyaWN0KSkgeworICAgICAgICBhZGRQcm9wZXJ0eShwcm9wSWQsIGNyZWF0
ZVByaW1pdGl2ZU51bWVyaWNWYWx1ZSh2YWx1ZSksIGltcG9ydGFudCk7CisgICAgICAgIHJldHVy
biB0cnVlOworICAgIH0KKyAgICByZXR1cm4gZmFsc2U7Cit9CisjZW5kaWYKKwogCiAKICNpZiBF
TkFCTEUoREFTSEJPQVJEX1NVUFBPUlQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUGFyc2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKaW5kZXggZTBiMmZj
YThmZDIyMjBkOTUzMGZlOGI3MDM4YThlYzRiYTllZTczNi4uZDdhOWJiYTU4Yzc4ZGU2Yzc4ODBl
MmMzZTU3OWZhNjNlZWVlMWE0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Bh
cnNlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaApAQCAtMTI1LDYgKzEy
NSwxMCBAQCBwdWJsaWM6CiAgICAgYm9vbCBwYXJzZVRyYW5zaXRpb25TaG9ydGhhbmQoYm9vbCBp
bXBvcnRhbnQpOwogICAgIGJvb2wgcGFyc2VBbmltYXRpb25TaG9ydGhhbmQoYm9vbCBpbXBvcnRh
bnQpOwogCisjaWYgRU5BQkxFKENTU19HUklEX0xBWU9VVCkKKyAgICBib29sIHBhcnNlR3JpZFRy
YWNrTGlzdChpbnQgcHJvcElkLCBib29sIGltcG9ydGFudCk7CisjZW5kaWYKKwogICAgIGJvb2wg
cGFyc2VEYXNoYm9hcmRSZWdpb25zKGludCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KTsKIAogICAg
IGJvb2wgcGFyc2VTaGFwZShpbnQgcHJvcElkLCBib29sIGltcG9ydGFudCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1Byb3BlcnR5LmNwcAppbmRleCBjMzgwMDNlN2U2ZDI3NGM5MmRkOWQ2YmZmYzFiY2Q2YTJm
ZTJhNDUzLi45MmIyZDU5NmUzMzQzYTdmY2NiYjFlMGRjZWJjZDM0ZDdmZjNmZDFhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQcm9wZXJ0eS5jcHAKQEAgLTU2MSw2ICs1NjEsMTAgQEAgYm9vbCBDU1NQcm9w
ZXJ0eTo6aXNJbmhlcml0ZWRQcm9wZXJ0eSh1bnNpZ25lZCBwcm9wZXJ0eUlEKQogICAgIGNhc2Ug
Q1NTUHJvcGVydHlXZWJraXRGbGV4QWxpZ246CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEZs
ZXhGbG93OgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRGb250U2l6ZURlbHRhOgorI2lmIEVO
QUJMRShDU1NfR1JJRF9MQVlPVVQpCisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEdyaWRDb2x1
bW5zOgorICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRHcmlkUm93czoKKyNlbmRpZgogICAgIGNh
c2UgQ1NTUHJvcGVydHlXZWJraXRMaW5lQ2xhbXA6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtp
dExvZ2ljYWxXaWR0aDoKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0TG9naWNhbEhlaWdodDoK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4KaW5kZXggM2M4ZGVmOTE2N2I3OTZi
N2U1ZmEyM2I3N2YxZjljOWVmMWM5MGI5Ni4uZWFjNmIxNjNmY2ZhMjRiODhhZGEzOTc0MTAyYmFh
NzQ3MzlhYzdhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFt
ZXMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4KQEAgLTM2
Nyw0ICszNjcsNyBAQCB6LWluZGV4CiAjaWYgZGVmaW5lZChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAm
JiBFTkFCTEVfVE9VQ0hfRVZFTlRTCiAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3IKICNlbmRp
ZgotCisjaWYgZGVmaW5lZChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAmJiBFTkFCTEVfQ1NTX0dS
SURfTEFZT1VUCistd2Via2l0LWdyaWQtY29sdW1ucworLXdlYmtpdC1ncmlkLXJvd3MKKyNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlQXBwbHlQcm9wZXJ0eS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVBcHBseVByb3BlcnR5LmNwcAppbmRleCA1
OTcwMGFhZmIyMTJmMWIyMjA4Zjc2NWJjZjBiZGMyMjhjNjkyZjNiLi45MDJhMjAzMDM5YTQ2MWRk
YjllZGRjYzBkYmQ1MmE0MzQ3MmZjMDYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTU3R5bGVBcHBseVByb3BlcnR5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5
bGVBcHBseVByb3BlcnR5LmNwcApAQCAtMTEzNSw2ICsxMTM1LDExIEBAIENTU1N0eWxlQXBwbHlQ
cm9wZXJ0eTo6Q1NTU3R5bGVBcHBseVByb3BlcnR5KCkKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIo
Q1NTUHJvcGVydHlCb3R0b20sIEFwcGx5UHJvcGVydHlMZW5ndGg8JlJlbmRlclN0eWxlOjpib3R0
b20sICZSZW5kZXJTdHlsZTo6c2V0Qm90dG9tLCAmUmVuZGVyU3R5bGU6OmluaXRpYWxPZmZzZXQs
IEF1dG9FbmFibGVkPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIo
Q1NTUHJvcGVydHlMZWZ0LCBBcHBseVByb3BlcnR5TGVuZ3RoPCZSZW5kZXJTdHlsZTo6bGVmdCwg
JlJlbmRlclN0eWxlOjpzZXRMZWZ0LCAmUmVuZGVyU3R5bGU6OmluaXRpYWxPZmZzZXQsIEF1dG9F
bmFibGVkPjo6Y3JlYXRlSGFuZGxlcigpKTsKIAorI2lmIEVOQUJMRShDU1NfR1JJRF9MQVlPVVQp
CisgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0R3JpZENvbHVtbnMsIEFw
cGx5UHJvcGVydHlMZW5ndGg8JlJlbmRlclN0eWxlOjpncmlkQ29sdW1ucywgJlJlbmRlclN0eWxl
OjpzZXRHcmlkQ29sdW1ucywgJlJlbmRlclN0eWxlOjppbml0aWFsR3JpZENvbHVtbnMsIEF1dG9F
bmFibGVkLCBJbnRyaW5zaWNEaXNhYmxlZCwgTWluSW50cmluc2ljRGlzYWJsZWQsIE5vbmVFbmFi
bGVkLCBVbmRlZmluZWRFbmFibGVkPjo6Y3JlYXRlSGFuZGxlcigpKTsKKyAgICBzZXRQcm9wZXJ0
eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRHcmlkUm93cywgQXBwbHlQcm9wZXJ0eUxlbmd0aDwm
UmVuZGVyU3R5bGU6OmdyaWRSb3dzLCAmUmVuZGVyU3R5bGU6OnNldEdyaWRSb3dzLCAmUmVuZGVy
U3R5bGU6OmluaXRpYWxHcmlkUm93cywgQXV0b0VuYWJsZWQsIEludHJpbnNpY0Rpc2FibGVkLCBN
aW5JbnRyaW5zaWNEaXNhYmxlZCwgTm9uZUVuYWJsZWQsIFVuZGVmaW5lZEVuYWJsZWQ+OjpjcmVh
dGVIYW5kbGVyKCkpOworI2VuZGlmCisKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVy
dHlXaWR0aCwgQXBwbHlQcm9wZXJ0eUxlbmd0aDwmUmVuZGVyU3R5bGU6OndpZHRoLCAmUmVuZGVy
U3R5bGU6OnNldFdpZHRoLCAmUmVuZGVyU3R5bGU6OmluaXRpYWxTaXplLCBBdXRvRW5hYmxlZCwg
SW50cmluc2ljRW5hYmxlZCwgTWluSW50cmluc2ljRW5hYmxlZCwgTm9uZURpc2FibGVkLCBVbmRl
ZmluZWREaXNhYmxlZCwgRmxleFdpZHRoPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9w
ZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlIZWlnaHQsIEFwcGx5UHJvcGVydHlMZW5ndGg8JlJlbmRl
clN0eWxlOjpoZWlnaHQsICZSZW5kZXJTdHlsZTo6c2V0SGVpZ2h0LCAmUmVuZGVyU3R5bGU6Omlu
aXRpYWxTaXplLCBBdXRvRW5hYmxlZCwgSW50cmluc2ljRW5hYmxlZCwgTWluSW50cmluc2ljRW5h
YmxlZCwgTm9uZURpc2FibGVkLCBVbmRlZmluZWREaXNhYmxlZCwgRmxleEhlaWdodD46OmNyZWF0
ZUhhbmRsZXIoKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNl
bGVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAppbmRl
eCBhNzM3YzliZjI4ZTg4MzA3YWJlYjdmZTRjMjg1NTUzOTljNDVlZjAzLi45NWRiMWQ4YzRmODUy
OWIxNjkwNTM4OThiYjE2ZmE5NWE1YTMzNmQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxl
U2VsZWN0b3IuY3BwCkBAIC0zODQ2LDYgKzM4NDYsMTAgQEAgdm9pZCBDU1NTdHlsZVNlbGVjdG9y
OjphcHBseVByb3BlcnR5KGludCBpZCwgQ1NTVmFsdWUgKnZhbHVlKQogICAgIGNhc2UgQ1NTUHJv
cGVydHlXZWJraXRGbGV4RmxvdzoKICAgICBjYXNlIENTU1Byb3BlcnR5Rm9udFN0eWxlOgogICAg
IGNhc2UgQ1NTUHJvcGVydHlGb250VmFyaWFudDoKKyNpZiBFTkFCTEUoQ1NTX0dSSURfTEFZT1VU
KQorICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRHcmlkQ29sdW1uczoKKyAgICBjYXNlIENTU1By
b3BlcnR5V2Via2l0R3JpZFJvd3M6CisjZW5kaWYKICAgICBjYXNlIENTU1Byb3BlcnR5VGV4dFJl
bmRlcmluZzoKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VGV4dE9yaWVudGF0aW9uOgogICAg
IGNhc2UgQ1NTUHJvcGVydHlXZWJraXRGb250U21vb3RoaW5nOgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAKaW5kZXggMmM3ZjJlODk2NmFjYTU3ZmNm
ZThjMGJhMmNkZWEyZGQzZWZiZGJmZC4uMTUzNTRjNTg0ZmQzZmJjZjRhMzc5ZjY0MTliZjFmYWE4
YTk3ZGZmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRl
clN0eWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGUuY3BwCkBAIC0xMzMsNiArMTMzLDkgQEAgQUxXQVlTX0lOTElORSBSZW5kZXJTdHlsZTo6UmVu
ZGVyU3R5bGUoYm9vbCkKICNpZiBFTkFCTEUoQ1NTX0ZJTFRFUlMpCiAgICAgcmFyZU5vbkluaGVy
aXRlZERhdGEuYWNjZXNzKCktPm1fZmlsdGVyLmluaXQoKTsKICNlbmRpZgorI2lmIEVOQUJMRShD
U1NfR1JJRF9MQVlPVVQpCisgICAgcmFyZU5vbkluaGVyaXRlZERhdGEuYWNjZXNzKCktPm1fZ3Jp
ZC5pbml0KCk7CisjZW5kaWYKICAgICByYXJlSW5oZXJpdGVkRGF0YS5pbml0KCk7CiAgICAgaW5o
ZXJpdGVkLmluaXQoKTsKIApAQCAtNDI2LDYgKzQyOSwxMCBAQCBTdHlsZURpZmZlcmVuY2UgUmVu
ZGVyU3R5bGU6OmRpZmYoY29uc3QgUmVuZGVyU3R5bGUqIG90aGVyLCB1bnNpZ25lZCYgY2hhbmdl
ZENvbgogICAgICAgICAgICAgcmV0dXJuIFN0eWxlRGlmZmVyZW5jZUxheW91dDsKICAgICAgICAg
fQogI2VuZGlmCisjaWYgRU5BQkxFKENTU19HUklEX0xBWU9VVCkKKyAgICAgICAgaWYgKHJhcmVO
b25Jbmhlcml0ZWREYXRhLT5tX2dyaWQuZ2V0KCkgIT0gb3RoZXItPnJhcmVOb25Jbmhlcml0ZWRE
YXRhLT5tX2dyaWQuZ2V0KCkpCisgICAgICAgICAgICByZXR1cm4gU3R5bGVEaWZmZXJlbmNlTGF5
b3V0OworI2VuZGlmCiAKICNpZiAhVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgICAg
ICBpZiAocmFyZU5vbkluaGVyaXRlZERhdGEuZ2V0KCkgIT0gb3RoZXItPnJhcmVOb25Jbmhlcml0
ZWREYXRhLmdldCgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJT
dHlsZS5oCmluZGV4IGMzOGZkYTQ1NmM2OTZjZjlmNGU5N2IwZjA3MmM0ZDdiYWU4ODY3NTUuLmEz
NDhjNDE5ODU2OTU2ZDAyYTA0YjcyZjc1ZTVlOGE2NWM3NDFiZDIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC01Niw2ICs1Niw5IEBACiAjaW5j
bHVkZSAiU3R5bGVGaWx0ZXJEYXRhLmgiCiAjZW5kaWYKICNpbmNsdWRlICJTdHlsZUZsZXhpYmxl
Qm94RGF0YS5oIgorI2lmIEVOQUJMRShDU1NfR1JJRF9MQVlPVVQpCisjaW5jbHVkZSAiU3R5bGVH
cmlkRGF0YS5oIgorI2VuZGlmCiAjaW5jbHVkZSAiU3R5bGVJbmhlcml0ZWREYXRhLmgiCiAjaW5j
bHVkZSAiU3R5bGVNYXJxdWVlRGF0YS5oIgogI2luY2x1ZGUgIlN0eWxlTXVsdGlDb2xEYXRhLmgi
CkBAIC03MjQsNiArNzI3LDExIEBAIHB1YmxpYzoKICAgICBFRmxleEFsaWduIGZsZXhBbGlnbigp
IGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEVGbGV4QWxpZ24+KHJhcmVOb25Jbmhlcml0ZWRE
YXRhLT5tX2ZsZXhpYmxlQm94LT5tX2ZsZXhBbGlnbik7IH0KICAgICBFRmxleEZsb3cgZmxleEZs
b3coKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxFRmxleEZsb3c+KHJhcmVOb25Jbmhlcml0
ZWREYXRhLT5tX2ZsZXhpYmxlQm94LT5tX2ZsZXhGbG93KTsgfQogCisjaWYgRU5BQkxFKENTU19H
UklEX0xBWU9VVCkKKyAgICBMZW5ndGggZ3JpZENvbHVtbnMoKSBjb25zdCB7IHJldHVybiByYXJl
Tm9uSW5oZXJpdGVkRGF0YS0+bV9ncmlkLT5tX2dyaWRDb2x1bW5zOyB9CisgICAgTGVuZ3RoIGdy
aWRSb3dzKCkgY29uc3QgeyByZXR1cm4gcmFyZU5vbkluaGVyaXRlZERhdGEtPm1fZ3JpZC0+bV9n
cmlkUm93czsgfQorI2VuZGlmCisKICAgICBjb25zdCBTaGFkb3dEYXRhKiBib3hTaGFkb3coKSBj
b25zdCB7IHJldHVybiByYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV9ib3hTaGFkb3cuZ2V0KCk7IH0K
ICAgICB2b2lkIGdldEJveFNoYWRvd0V4dGVudChMYXlvdXRVbml0JiB0b3AsIExheW91dFVuaXQm
IHJpZ2h0LCBMYXlvdXRVbml0JiBib3R0b20sIExheW91dFVuaXQmIGxlZnQpIGNvbnN0IHsgZ2V0
U2hhZG93RXh0ZW50KGJveFNoYWRvdygpLCB0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQpOyB9CiAg
ICAgdm9pZCBnZXRCb3hTaGFkb3dIb3Jpem9udGFsRXh0ZW50KExheW91dFVuaXQmIGxlZnQsIExh
eW91dFVuaXQmIHJpZ2h0KSBjb25zdCB7IGdldFNoYWRvd0hvcml6b250YWxFeHRlbnQoYm94U2hh
ZG93KCksIGxlZnQsIHJpZ2h0KTsgfQpAQCAtMTEzNiw2ICsxMTQ0LDExIEBAIHB1YmxpYzoKICAg
ICB2b2lkIHNldEZsZXhQYWNrKEVGbGV4UGFjayBwKSB7IFNFVF9WQVIocmFyZU5vbkluaGVyaXRl
ZERhdGEuYWNjZXNzKCktPm1fZmxleGlibGVCb3gsIG1fZmxleFBhY2ssIHApOyB9CiAgICAgdm9p
ZCBzZXRGbGV4QWxpZ24oRUZsZXhBbGlnbiBhKSB7IFNFVF9WQVIocmFyZU5vbkluaGVyaXRlZERh
dGEuYWNjZXNzKCktPm1fZmxleGlibGVCb3gsIG1fZmxleEFsaWduLCBhKTsgfQogICAgIHZvaWQg
c2V0RmxleEZsb3coRUZsZXhGbG93IGZsb3cpIHsgU0VUX1ZBUihyYXJlTm9uSW5oZXJpdGVkRGF0
YS5hY2Nlc3MoKS0+bV9mbGV4aWJsZUJveCwgbV9mbGV4RmxvdywgZmxvdyk7IH0KKyNpZiBFTkFC
TEUoQ1NTX0dSSURfTEFZT1VUKQorICAgIHZvaWQgc2V0R3JpZENvbHVtbnMoTGVuZ3RoIGxlbmd0
aCkgeyBTRVRfVkFSKHJhcmVOb25Jbmhlcml0ZWREYXRhLmFjY2VzcygpLT5tX2dyaWQsIG1fZ3Jp
ZENvbHVtbnMsIGxlbmd0aCk7IH0KKyAgICB2b2lkIHNldEdyaWRSb3dzKExlbmd0aCBsZW5ndGgp
IHsgU0VUX1ZBUihyYXJlTm9uSW5oZXJpdGVkRGF0YS5hY2Nlc3MoKS0+bV9ncmlkLCBtX2dyaWRS
b3dzLCBsZW5ndGgpOyB9CisjZW5kaWYKKwogICAgIHZvaWQgc2V0TWFycXVlZUluY3JlbWVudChj
b25zdCBMZW5ndGgmIGYpIHsgU0VUX1ZBUihyYXJlTm9uSW5oZXJpdGVkRGF0YS5hY2Nlc3MoKS0+
bV9tYXJxdWVlLCBpbmNyZW1lbnQsIGYpOyB9CiAgICAgdm9pZCBzZXRNYXJxdWVlU3BlZWQoaW50
IGYpIHsgU0VUX1ZBUihyYXJlTm9uSW5oZXJpdGVkRGF0YS5hY2Nlc3MoKS0+bV9tYXJxdWVlLCBz
cGVlZCwgZik7IH0KICAgICB2b2lkIHNldE1hcnF1ZWVEaXJlY3Rpb24oRU1hcnF1ZWVEaXJlY3Rp
b24gZCkgeyBTRVRfVkFSKHJhcmVOb25Jbmhlcml0ZWREYXRhLmFjY2VzcygpLT5tX21hcnF1ZWUs
IGRpcmVjdGlvbiwgZCk7IH0KQEAgLTE1MDksNiArMTUyMiwxMSBAQCBwdWJsaWM6CiAgICAgc3Rh
dGljIFN0eWxlSW1hZ2UqIGluaXRpYWxNYXNrQm94SW1hZ2VTb3VyY2UoKSB7IHJldHVybiAwOyB9
CiAgICAgc3RhdGljIFByaW50Q29sb3JBZGp1c3QgaW5pdGlhbFByaW50Q29sb3JBZGp1c3QoKSB7
IHJldHVybiBQcmludENvbG9yQWRqdXN0RWNvbm9teTsgfQogCisjaWYgRU5BQkxFKENTU19HUklE
X0xBWU9VVCkKKyAgICBzdGF0aWMgTGVuZ3RoIGluaXRpYWxHcmlkQ29sdW1ucygpIHsgcmV0dXJu
IExlbmd0aChVbmRlZmluZWQpOyB9CisgICAgc3RhdGljIExlbmd0aCBpbml0aWFsR3JpZFJvd3Mo
KSB7IHJldHVybiBMZW5ndGgoVW5kZWZpbmVkKTsgfQorI2VuZGlmCisKICAgICBzdGF0aWMgY29u
c3QgQXRvbWljU3RyaW5nJiBpbml0aWFsTGluZUdyaWQoKSB7IHJldHVybiBudWxsQXRvbTsgfQog
ICAgIHN0YXRpYyBMaW5lR3JpZFNuYXAgaW5pdGlhbExpbmVHcmlkU25hcCgpIHsgcmV0dXJuIExp
bmVHcmlkU25hcE5vbmU7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1N0eWxlQWxsSW5PbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1N0eWxlQWxsSW5PbmUuY3BwCmluZGV4IDIyMzhhNmI3ZTdmZGFlZDA0OWQ2NTAxM2M3OWNiMjI4
Y2IyNGUyNzAuLjNmYzg0YmNiMDAxMjEwNTBmY2Q4YmY1ZDYwNzcxNGYzMThiZGNiZGMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUFsbEluT25lLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVBbGxJbk9uZS5jcHAKQEAg
LTQyLDYgKzQyLDcgQEAKICNpbmNsdWRlICJTdHlsZUZpbHRlckRhdGEuY3BwIgogI2luY2x1ZGUg
IlN0eWxlRmxleGlibGVCb3hEYXRhLmNwcCIKICNpbmNsdWRlICJTdHlsZUdlbmVyYXRlZEltYWdl
LmNwcCIKKyNpbmNsdWRlICJTdHlsZUdyaWREYXRhLmNwcCIKICNpbmNsdWRlICJTdHlsZUluaGVy
aXRlZERhdGEuY3BwIgogI2luY2x1ZGUgIlN0eWxlTWFycXVlZURhdGEuY3BwIgogI2luY2x1ZGUg
IlN0eWxlTXVsdGlDb2xEYXRhLmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9TdHlsZUdyaWREYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9TdHlsZUdyaWREYXRhLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mOGU3MjM0MDY0NzU3YmQwMTY5ZTRl
MjlkMjYyYzgzM2Y0MTMzZjdiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1N0eWxlR3JpZERhdGEuY3BwCkBAIC0wLDAgKzEsNTEgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiAgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiAgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAor
ICogIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUKKyAqICBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqICBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUworICogIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqICBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04KKyAqICBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiAg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJTdHlsZUdyaWRE
YXRhLmgiCisKKyNpZiBFTkFCTEUoQ1NTX0dSSURfTEFZT1VUKQorCisjaW5jbHVkZSAiUmVuZGVy
U3R5bGUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitTdHlsZUdyaWREYXRhOjpTdHlsZUdy
aWREYXRhKCkKKyAgICA6IG1fZ3JpZENvbHVtbnMoUmVuZGVyU3R5bGU6OmluaXRpYWxHcmlkQ29s
dW1ucygpKQorICAgICwgbV9ncmlkUm93cyhSZW5kZXJTdHlsZTo6aW5pdGlhbEdyaWRSb3dzKCkp
Cit7Cit9CisKK1N0eWxlR3JpZERhdGE6OlN0eWxlR3JpZERhdGEoY29uc3QgU3R5bGVHcmlkRGF0
YSYgbykKKyAgICA6IFJlZkNvdW50ZWQ8U3R5bGVHcmlkRGF0YT4oKQorICAgICwgbV9ncmlkQ29s
dW1ucyhvLm1fZ3JpZENvbHVtbnMpCisgICAgLCBtX2dyaWRSb3dzKG8ubV9ncmlkUm93cykKK3sK
K30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKENTU19HUklE
X0xBWU9VVCkKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0
eWxlR3JpZERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUdyaWRE
YXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMzM3MTA0MTRlYzc1Y2RkNjdiZGI4NDA2NGVhNTQ5NGY4OGZhOTlk
MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHls
ZUdyaWREYXRhLmgKQEAgLTAsMCArMSw2NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBH
b29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqICBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnIEFORCBBTlkKKyAqICBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiAgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQor
ICogIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOworICogIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqICBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqCisgKi8KKworI2lm
bmRlZiBTdHlsZUdyaWREYXRhX2gKKyNkZWZpbmUgU3R5bGVHcmlkRGF0YV9oCisKKyNpZiBFTkFC
TEUoQ1NTX0dSSURfTEFZT1VUKQorCisjaW5jbHVkZSAiTGVuZ3RoLmgiCisjaW5jbHVkZSA8d3Rm
L1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK2NsYXNzIFN0eWxlR3JpZERhdGEgOiBwdWJsaWMgUmVmQ291bnRlZDxTdHls
ZUdyaWREYXRhPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8U3R5bGVHcmlkRGF0
YT4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFN0eWxlR3JpZERhdGEpOyB9CisgICAg
UGFzc1JlZlB0cjxTdHlsZUdyaWREYXRhPiBjb3B5KCkgY29uc3QgeyByZXR1cm4gYWRvcHRSZWYo
bmV3IFN0eWxlR3JpZERhdGEoKnRoaXMpKTsgfQorCisgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0
IFN0eWxlR3JpZERhdGEmIG8pIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9ncmlkQ29s
dW1ucyA9PSBvLm1fZ3JpZENvbHVtbnMgJiYgbV9ncmlkUm93cyA9PSBvLm1fZ3JpZFJvd3M7Cisg
ICAgfQorCisgICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0IFN0eWxlR3JpZERhdGEmIG8pIGNvbnN0
CisgICAgeworICAgICAgICByZXR1cm4gISgqdGhpcyA9PSBvKTsKKyAgICB9CisKKyAgICAvLyBG
SVhNRTogRm9yIHRoZSBtb21lbnQsIHdlIG9ubHkgc3VwcG9ydCBhIHN1YnNldCBvZiB0aGUgZ3Jh
bW1hciB3aGljaCBjb3JyZXNwb25kIHRvOgorICAgIC8vICdhdXRvJyB8IDxsZW5ndGg+IHwgPHBl
cmNlbnRhZ2U+IHwgJ25vbmUnCisgICAgTGVuZ3RoIG1fZ3JpZENvbHVtbnM7CisgICAgTGVuZ3Ro
IG1fZ3JpZFJvd3M7CisKK3ByaXZhdGU6CisgICAgU3R5bGVHcmlkRGF0YSgpOworICAgIFN0eWxl
R3JpZERhdGEoY29uc3QgU3R5bGVHcmlkRGF0YSYpOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYgLy8gRU5BQkxFKENTU19MQVlPVVRfR1JJRCkKKworI2VuZGlmIC8vIFN0
eWxlR3JpZERhdGFfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwCmluZGV4IDBjMjFjMGI2MDhhNTI0
ZTY4MDVhNTU0MDg5M2YxM2U2YzQ0ZTAzN2YuLjhkMTNlMmJmNmY1ODZiYmZkYjgzNzljYWYzNDgw
YjBmMDQzN2E4MGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9T
dHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5jcHAKQEAgLTk2LDYgKzk2LDkgQEAg
U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YShjb25z
dCBTdHlsZVJhcmVOb25Jbmhlcml0ZWQKICNpZiBFTkFCTEUoQ1NTX0ZJTFRFUlMpCiAgICAgLCBt
X2ZpbHRlcihvLm1fZmlsdGVyKQogI2VuZGlmCisjaWYgRU5BQkxFKENTU19HUklEX0xBWU9VVCkK
KyAgICAsIG1fZ3JpZChvLm1fZ3JpZCkKKyNlbmRpZgogICAgICwgbV9jb250ZW50KG8ubV9jb250
ZW50ID8gby5tX2NvbnRlbnQtPmNsb25lKCkgOiBudWxscHRyKQogICAgICwgbV9jb3VudGVyRGly
ZWN0aXZlcyhvLm1fY291bnRlckRpcmVjdGl2ZXMgPyBjbG9uZSgqby5tX2NvdW50ZXJEaXJlY3Rp
dmVzKSA6IG51bGxwdHIpCiAgICAgLCBtX2JveFNoYWRvdyhvLm1fYm94U2hhZG93ID8gYWRvcHRQ
dHIobmV3IFNoYWRvd0RhdGEoKm8ubV9ib3hTaGFkb3cpKSA6IG51bGxwdHIpCkBAIC0xNjAsNiAr
MTYzLDkgQEAgYm9vbCBTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpvcGVyYXRvcj09KGNvbnN0
IFN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEmIG8pIGMKICNpZiBFTkFCTEUoQ1NTX0ZJTFRFUlMp
CiAgICAgICAgICYmIG1fZmlsdGVyID09IG8ubV9maWx0ZXIKICNlbmRpZgorI2lmIEVOQUJMRShD
U1NfR1JJRF9MQVlPVVQpCisgICAgICAgICYmIG1fZ3JpZCA9PSBvLm1fZ3JpZAorI2VuZGlmCiAg
ICAgICAgICYmIGNvbnRlbnREYXRhRXF1aXZhbGVudChvKQogICAgICAgICAmJiBjb3VudGVyRGF0
YUVxdWl2YWxlbnQobykKICAgICAgICAgJiYgdXNlckRyYWcgPT0gby51c2VyRHJhZwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRl
ZERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhl
cml0ZWREYXRhLmgKaW5kZXggMzljNTNiMjY3YmM5MjIwYjUwYjM1Njg3ZDNiZDk1OTM2YTM2NzEz
Yi4uM2UyYzRhMTA3MzJmOGJhNzZjMWZmNThlZDlhZmZhYzMyNzhmNWQ4MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJp
dGVkRGF0YS5oCkBAIC00Niw2ICs0Niw5IEBAIGNsYXNzIFN0eWxlRGVwcmVjYXRlZEZsZXhpYmxl
Qm94RGF0YTsKIGNsYXNzIFN0eWxlRmlsdGVyRGF0YTsKICNlbmRpZgogY2xhc3MgU3R5bGVGbGV4
aWJsZUJveERhdGE7CisjaWYgRU5BQkxFKENTU19HUklEX0xBWU9VVCkKK2NsYXNzIFN0eWxlR3Jp
ZERhdGE7CisjZW5kaWYKIGNsYXNzIFN0eWxlTWFycXVlZURhdGE7CiBjbGFzcyBTdHlsZU11bHRp
Q29sRGF0YTsKIGNsYXNzIFN0eWxlUmVmbGVjdGlvbjsKQEAgLTExNCw2ICsxMTcsMTAgQEAgcHVi
bGljOgogICAgIERhdGFSZWY8U3R5bGVGaWx0ZXJEYXRhPiBtX2ZpbHRlcjsgLy8gRmlsdGVyIG9w
ZXJhdGlvbnMgKHVybCwgc2VwaWEsIGJsdXIsIGV0Yy4pCiAjZW5kaWYKIAorI2lmIEVOQUJMRShD
U1NfR1JJRF9MQVlPVVQpCisgICAgRGF0YVJlZjxTdHlsZUdyaWREYXRhPiBtX2dyaWQ7CisjZW5k
aWYKKwogICAgIE93blB0cjxDb250ZW50RGF0YT4gbV9jb250ZW50OwogICAgIE93blB0cjxDb3Vu
dGVyRGlyZWN0aXZlTWFwPiBtX2NvdW50ZXJEaXJlY3RpdmVzOwogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNmUzMDBjNTNh
NTUzYWNlODc3N2JhMTA5MGRiMzJjNWY2Y2Q4MTlhYS4uZGNjNjZmMDYzMTczZGQ2YWUwYjhiMTU0
NzIwZmFmZjk5ZDdjMGNkZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDExLTExLTI4ICBKdWxp
ZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgorCisgICAgICAgIEFkZCBsaW1p
dGVkIHBhcnNpbmcgc3VwcG9ydCBmb3IgZ3JpZC1jb2x1bW5zIGFuZCBncmlkLXJvd3MKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTMxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgVG9ueSBDaGFuZy4KKworICAgICAgICBUZXN0IG91ciBjdXJyZW50bHkg
c3VwcG9ydGVkIGdyYW1tYXIuCisKKyAgICAgICAgKiBmYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlk
LWNvbHVtbnMtcm93cy1nZXQtc2V0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzLWdy
aWQtbGF5b3V0L3Jlc291cmNlcy9ncmlkLWNvbHVtbnMtcm93cy1nZXQtc2V0LmpzOiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWNvbHVtbnMtcm93cy1nZXQtc2V0
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisKIDIwMTEtMTEtMjQgIFJ5b3N1a2UgTml3YSAgPHJuaXdh
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgZGlyPWF1dG8gc2hvdWxkIGltcGx5IHVuaWNvZGUtYmlk
aTppc29sYXRlIGJ5IGRlZmF1bHQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdy
aWQtbGF5b3V0L2dyaWQtY29sdW1ucy1yb3dzLWdldC1zZXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1jb2x1bW5zLXJvd3MtZ2V0LXNldC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZWRhZmY1NmZmZjE3Y2IyMDM4M2ZmMjQ5YjhhMjIxYWNmMWJk
Y2QwZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0
L2dyaWQtY29sdW1ucy1yb3dzLWdldC1zZXQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzIgQEAK
K1Rlc3QgdGhhdCBzZXR0aW5nIGFuZCBnZXR0aW5nIGdyaWQtY29sdW1ucyBhbmQgZ3JpZC1yb3dz
IHdvcmtzIGFzIGV4cGVjdGVkCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitUZXN0
IGdldHRpbmcgfGRpc3BsYXl8IHNldCB0aHJvdWdoIENTUworUEFTUyBnZXRDb21wdXRlZFN0eWxl
KGdyaWRFbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLWNvbHVtbnMn
KSBpcyAnbm9uZScKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShncmlkRWxlbWVudCwgJycpLmdldFBy
b3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1yb3dzJykgaXMgJ25vbmUnCitQQVNTIGdldENvbXB1
dGVkU3R5bGUoZ3JpZFdpdGhGaXhlZEVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Vi
a2l0LWdyaWQtY29sdW1ucycpIGlzICcxMHB4JworUEFTUyBnZXRDb21wdXRlZFN0eWxlKGdyaWRX
aXRoRml4ZWRFbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXJvd3Mn
KSBpcyAnMTVweCcKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShncmlkV2l0aFBlcmNlbnRFbGVtZW50
LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLWNvbHVtbnMnKSBpcyAnNTMlJwor
UEFTUyBnZXRDb21wdXRlZFN0eWxlKGdyaWRXaXRoUGVyY2VudEVsZW1lbnQsICcnKS5nZXRQcm9w
ZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtcm93cycpIGlzICcyNyUnCitQQVNTIGdldENvbXB1dGVk
U3R5bGUoZ3JpZFdpdGhBdXRvRWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQt
Z3JpZC1jb2x1bW5zJykgaXMgJ2F1dG8nCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZ3JpZFdpdGhB
dXRvRWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1yb3dzJykgaXMg
J2F1dG8nCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZ3JpZFdpdGhFTUVsZW1lbnQsICcnKS5nZXRQ
cm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtY29sdW1ucycpIGlzICcxMDBweCcKK1BBU1MgZ2V0
Q29tcHV0ZWRTdHlsZShncmlkV2l0aEVNRWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13
ZWJraXQtZ3JpZC1yb3dzJykgaXMgJzE1MHB4JworCitUZXN0IHRoZSBpbml0aWFsIHZhbHVlCitQ
QVNTIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJr
aXQtZ3JpZC1jb2x1bW5zJykgaXMgJ25vbmUnCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZWxlbWVu
dCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1yb3dzJykgaXMgJ25vbmUnCisK
K1Rlc3QgZ2V0dGluZyBhbmQgc2V0dGluZyBkaXNwbGF5IHRocm91Z2ggSlMKK1BBU1MgZ2V0Q29t
cHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLWNv
bHVtbnMnKSBpcyAnMThweCcKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0
UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXJvd3MnKSBpcyAnNjZweCcKK1BBU1MgZ2V0Q29t
cHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLWNv
bHVtbnMnKSBpcyAnNTUlJworUEFTUyBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQ
cm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtcm93cycpIGlzICc0MCUnCitQQVNTIGdldENvbXB1
dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1jb2x1
bW5zJykgaXMgJ2F1dG8nCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFBy
b3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1yb3dzJykgaXMgJ2F1dG8nCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1jb2x1bW5zLXJvd3MtZ2V0LXNldC5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1jb2x1bW5zLXJvd3MtZ2V0
LXNldC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIwNjAwNWY5NjIzZDBkMmVhNzQwMzYwMDE5ZDE5NDZlODA1
NTE1NDIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91
dC9ncmlkLWNvbHVtbnMtcm93cy1nZXQtc2V0Lmh0bWwKQEAgLTAsMCArMSw0MyBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzdHlsZT4KKy5ncmlkIHsKKyAgICBkaXNwbGF5OiAtd2Via2l0LWdyaWQ7CisgICAgLXdlYmtp
dC1ncmlkLWNvbHVtbnM6IG5vbmU7CisgICAgLXdlYmtpdC1ncmlkLXJvd3M6IG5vbmU7Cit9Cisu
Z3JpZFdpdGhGaXhlZCB7CisgICAgZGlzcGxheTogLXdlYmtpdC1ncmlkOworICAgIC13ZWJraXQt
Z3JpZC1jb2x1bW5zOiAxMHB4OworICAgIC13ZWJraXQtZ3JpZC1yb3dzOiAxNXB4OworfQorLmdy
aWRXaXRoUGVyY2VudCB7CisgICAgZGlzcGxheTogLXdlYmtpdC1ncmlkOworICAgIC13ZWJraXQt
Z3JpZC1jb2x1bW5zOiA1MyU7CisgICAgLXdlYmtpdC1ncmlkLXJvd3M6IDI3JTsKK30KKy5ncmlk
V2l0aEF1dG8geworICAgIGRpc3BsYXk6IC13ZWJraXQtZ3JpZDsKKyAgICAtd2Via2l0LWdyaWQt
Y29sdW1uczogYXV0bzsKKyAgICAtd2Via2l0LWdyaWQtcm93czogYXV0bzsKK30KKy5ncmlkV2l0
aEVNIHsKKyAgICBkaXNwbGF5OiAtd2Via2l0LWdyaWQ7CisgICAgLXdlYmtpdC1ncmlkLWNvbHVt
bnM6IDEwZW07CisgICAgLXdlYmtpdC1ncmlkLXJvd3M6IDE1ZW07CisgICAgZm9udDogMTBweCBB
aGVtOworfQorPC9zdHlsZT4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGNsYXNzPSJncmlkIiBpZD0i
Z3JpZEVsZW1lbnQiPjwvZGl2PgorPGRpdiBjbGFzcz0iZ3JpZFdpdGhGaXhlZCIgaWQ9ImdyaWRX
aXRoRml4ZWRFbGVtZW50Ij48L2Rpdj4KKzxkaXYgY2xhc3M9ImdyaWRXaXRoUGVyY2VudCIgaWQ9
ImdyaWRXaXRoUGVyY2VudEVsZW1lbnQiPjwvZGl2PgorPGRpdiBjbGFzcz0iZ3JpZFdpdGhBdXRv
IiBpZD0iZ3JpZFdpdGhBdXRvRWxlbWVudCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJncmlkV2l0aEVN
IiBpZD0iZ3JpZFdpdGhFTUVsZW1lbnQiPjwvZGl2PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9n
cmlkLWNvbHVtbnMtcm93cy1nZXQtc2V0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L3Jlc291cmNlcy9n
cmlkLWNvbHVtbnMtcm93cy1nZXQtc2V0LmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1s
YXlvdXQvcmVzb3VyY2VzL2dyaWQtY29sdW1ucy1yb3dzLWdldC1zZXQuanMKbmV3IGZpbGUgbW9k
ZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
OWE0NzBmM2E5ODdmMzgwNDJiOTIxYjU4NjIwZDNmNWViMGVkYmZkZgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L3Jlc291cmNlcy9ncmlkLWNvbHVt
bnMtcm93cy1nZXQtc2V0LmpzCkBAIC0wLDAgKzEsNTAgQEAKK2Rlc2NyaXB0aW9uKCdUZXN0IHRo
YXQgc2V0dGluZyBhbmQgZ2V0dGluZyBncmlkLWNvbHVtbnMgYW5kIGdyaWQtcm93cyB3b3JrcyBh
cyBleHBlY3RlZCcpOworCitkZWJ1ZygiVGVzdCBnZXR0aW5nIHxkaXNwbGF5fCBzZXQgdGhyb3Vn
aCBDU1MiKTsKK3ZhciBncmlkRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJncmlk
RWxlbWVudCIpOworc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZ3JpZEVsZW1lbnQsICcnKS5n
ZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtY29sdW1ucycpIiwgIidub25lJyIpOworc2hv
dWxkQmUoImdldENvbXB1dGVkU3R5bGUoZ3JpZEVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVl
KCctd2Via2l0LWdyaWQtcm93cycpIiwgIidub25lJyIpOworCit2YXIgZ3JpZFdpdGhGaXhlZEVs
ZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZ3JpZFdpdGhGaXhlZEVsZW1lbnQiKTsK
K3Nob3VsZEJlKCJnZXRDb21wdXRlZFN0eWxlKGdyaWRXaXRoRml4ZWRFbGVtZW50LCAnJykuZ2V0
UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLWNvbHVtbnMnKSIsICInMTBweCciKTsKK3Nob3Vs
ZEJlKCJnZXRDb21wdXRlZFN0eWxlKGdyaWRXaXRoRml4ZWRFbGVtZW50LCAnJykuZ2V0UHJvcGVy
dHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXJvd3MnKSIsICInMTVweCciKTsKKwordmFyIGdyaWRXaXRo
UGVyY2VudEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZ3JpZFdpdGhQZXJjZW50
RWxlbWVudCIpOworc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZ3JpZFdpdGhQZXJjZW50RWxl
bWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1jb2x1bW5zJykiLCAiJzUz
JSciKTsKK3Nob3VsZEJlKCJnZXRDb21wdXRlZFN0eWxlKGdyaWRXaXRoUGVyY2VudEVsZW1lbnQs
ICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtcm93cycpIiwgIicyNyUnIik7CisK
K3ZhciBncmlkV2l0aEF1dG9FbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImdyaWRX
aXRoQXV0b0VsZW1lbnQiKTsKK3Nob3VsZEJlKCJnZXRDb21wdXRlZFN0eWxlKGdyaWRXaXRoQXV0
b0VsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtY29sdW1ucycpIiwg
IidhdXRvJyIpOworc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZ3JpZFdpdGhBdXRvRWxlbWVu
dCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1yb3dzJykiLCAiJ2F1dG8nIik7
CisKK3ZhciBncmlkV2l0aEVNRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJncmlk
V2l0aEVNRWxlbWVudCIpOworc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZ3JpZFdpdGhFTUVs
ZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtY29sdW1ucycpIiwgIicx
MDBweCciKTsKK3Nob3VsZEJlKCJnZXRDb21wdXRlZFN0eWxlKGdyaWRXaXRoRU1FbGVtZW50LCAn
JykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXJvd3MnKSIsICInMTUwcHgnIik7CisK
K2RlYnVnKCIiKTsKK2RlYnVnKCJUZXN0IHRoZSBpbml0aWFsIHZhbHVlIik7Cit2YXIgZWxlbWVu
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChlbGVtZW50KTsKK3Nob3VsZEJlKCJnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5n
ZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtY29sdW1ucycpIiwgIidub25lJyIpOworc2hv
dWxkQmUoImdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13
ZWJraXQtZ3JpZC1yb3dzJykiLCAiJ25vbmUnIik7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJUZXN0
IGdldHRpbmcgYW5kIHNldHRpbmcgZGlzcGxheSB0aHJvdWdoIEpTIik7CitlbGVtZW50LnN0eWxl
LndlYmtpdEdyaWRDb2x1bW5zID0gIjE4cHgiOworZWxlbWVudC5zdHlsZS53ZWJraXRHcmlkUm93
cyA9ICI2NnB4IjsKK3Nob3VsZEJlKCJnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQ
cm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtY29sdW1ucycpIiwgIicxOHB4JyIpOworc2hvdWxk
QmUoImdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJr
aXQtZ3JpZC1yb3dzJykiLCAiJzY2cHgnIik7CisKK2VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJkaXYiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWxlbWVudCk7CitlbGVt
ZW50LnN0eWxlLndlYmtpdEdyaWRDb2x1bW5zID0gIjU1JSI7CitlbGVtZW50LnN0eWxlLndlYmtp
dEdyaWRSb3dzID0gIjQwJSI7CitzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAn
JykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLWNvbHVtbnMnKSIsICInNTUlJyIpOwor
c2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUo
Jy13ZWJraXQtZ3JpZC1yb3dzJykiLCAiJzQwJSciKTsKKworZWxlbWVudCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImRpdiIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbGVtZW50KTsK
K2VsZW1lbnQuc3R5bGUud2Via2l0R3JpZENvbHVtbnMgPSAiYXV0byI7CitlbGVtZW50LnN0eWxl
LndlYmtpdEdyaWRSb3dzID0gImF1dG8iOworc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZWxl
bWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1jb2x1bW5zJykiLCAiJ2F1
dG8nIik7CitzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVy
dHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXJvd3MnKSIsICInYXV0byciKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>