<?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>110511</bug_id>
          
          <creation_ts>2013-02-21 14:04:13 -0800</creation_ts>
          <short_desc>TextTrackRegion Constructor</short_desc>
          <delta_ts>2013-05-21 09:00:41 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Media</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>109570</blocked>
    
    <blocked>116546</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Victor Carbune">vcarbune</reporter>
          <assigned_to name="Victor Carbune">vcarbune</assigned_to>
          <cc>abarth</cc>
    
    <cc>benjamin</cc>
    
    <cc>buildbot</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>philn</cc>
    
    <cc>rakuco</cc>
    
    <cc>rniwa</cc>
    
    <cc>silviapf</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>838816</commentid>
    <comment_count>0</comment_count>
    <who name="Victor Carbune">vcarbune</who>
    <bug_when>2013-02-21 14:04:13 -0800</bug_when>
    <thetext>Implement TextTrackRegion with appropriate build guards.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>838825</commentid>
    <comment_count>1</comment_count>
      <attachid>189598</attachid>
    <who name="Victor Carbune">vcarbune</who>
    <bug_when>2013-02-21 14:09:51 -0800</bug_when>
    <thetext>Created attachment 189598
Initial Patch

Work in progress</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>838857</commentid>
    <comment_count>2</comment_count>
      <attachid>189598</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-02-21 14:42:31 -0800</bug_when>
    <thetext>Comment on attachment 189598
Initial Patch

Attachment 189598 did not pass mac-wk2-ews (mac-wk2):
Output: http://queues.webkit.org/results/16693313</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>838860</commentid>
    <comment_count>3</comment_count>
      <attachid>189598</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-02-21 14:49:15 -0800</bug_when>
    <thetext>Comment on attachment 189598
Initial Patch

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

&gt; Source/WebCore/html/track/TextTrackRegion.h:106
&gt; +    unsigned m_width;
&gt; +    unsigned m_height;

Should this be an IntSize?

&gt; Source/WebCore/html/track/TextTrackRegion.h:109
&gt; +    std::pair&lt;unsigned, unsigned&gt; m_regionAnchor;
&gt; +    std::pair&lt;unsigned, unsigned&gt; m_viewportAnchor;

Should these be IntSizes?

&gt; Source/WebCore/html/track/TextTrackRegion.h:113
&gt; +    ScriptExecutionContext* m_scriptExecutionContext;

How is the lifetime of this object related to m_scriptExecutionContext?  Should this object be a ContextDestructionObserver?

&gt; Source/WebCore/html/track/TextTrackRegion.h:114
&gt; +    TextTrack* m_track;

How is the lifetime of this object related to m_track?

&gt; Source/WebCore/html/track/TextTrackRegion.idl:33
&gt; +    JSCustomMarkFunction,
&gt; +    JSCustomIsReachable,

Why do you need custom mark and reachability functions for JSC and not for V8?

&gt; Source/WebCore/html/track/TextTrackRegion.idl:34
&gt; +    ImplementationLacksVTable

This isn&apos;t true.  The implementation has a vtable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>839687</commentid>
    <comment_count>4</comment_count>
      <attachid>189789</attachid>
    <who name="Victor Carbune">vcarbune</who>
    <bug_when>2013-02-22 10:06:09 -0800</bug_when>
    <thetext>Created attachment 189789
Addressed first comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>839693</commentid>
    <comment_count>5</comment_count>
    <who name="Victor Carbune">vcarbune</who>
    <bug_when>2013-02-22 10:13:06 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 189598 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=189598&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/track/TextTrackRegion.h:106
&gt; &gt; +    unsigned m_width;
&gt; &gt; +    unsigned m_height;
&gt; 
&gt; Should this be an IntSize?
I changed the code to use IntSize.

I hesitated to make them a pair at first since they are different units
(width is a percentage value, while height is the number of lines).

&gt; &gt; Source/WebCore/html/track/TextTrackRegion.h:109
&gt; &gt; +    std::pair&lt;unsigned, unsigned&gt; m_regionAnchor;
&gt; &gt; +    std::pair&lt;unsigned, unsigned&gt; m_viewportAnchor;
&gt; 
&gt; Should these be IntSizes?
Done.

&gt; &gt; Source/WebCore/html/track/TextTrackRegion.h:113
&gt; &gt; +    ScriptExecutionContext* m_scriptExecutionContext;
&gt; 
&gt; How is the lifetime of this object related to m_scriptExecutionContext?  Should this object be a ContextDestructionObserver?

Yes, I think it&apos;s appropriate for it to be a ContextDestructionObserver. I wasn&apos;t aware of it,
so thanks!
 
&gt; &gt; Source/WebCore/html/track/TextTrackRegion.h:114
&gt; &gt; +    TextTrack* m_track;
&gt; 
&gt; How is the lifetime of this object related to m_track?

It should be fairly independent.
I &apos;borrowed&apos; this variable from TextTrackCue (since it&apos;s should be the same lifetime).

&gt; &gt; Source/WebCore/html/track/TextTrackRegion.idl:33
&gt; &gt; +    JSCustomMarkFunction,
&gt; &gt; +    JSCustomIsReachable,
&gt; 
&gt; Why do you need custom mark and reachability functions for JSC and not for V8?

Looking closer to the TextTrackCue implementation, I now think these aren&apos;t actually needed.

&gt; &gt; Source/WebCore/html/track/TextTrackRegion.idl:34
&gt; &gt; +    ImplementationLacksVTable
&gt; 
&gt; This isn&apos;t true.  The implementation has a vtable.

Indeed, sorry.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>839736</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-02-22 10:52:49 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #3)
&gt; &gt; (From update of attachment 189598 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=189598&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/html/track/TextTrackRegion.h:106
&gt; &gt; &gt; +    unsigned m_width;
&gt; &gt; &gt; +    unsigned m_height;
&gt; &gt; 
&gt; &gt; Should this be an IntSize?
&gt; I changed the code to use IntSize.
&gt; 
&gt; I hesitated to make them a pair at first since they are different units
&gt; (width is a percentage value, while height is the number of lines).

That&apos;s very unclear from the code.  Perhaps we should use different names?

&gt; &gt; &gt; Source/WebCore/html/track/TextTrackRegion.h:114
&gt; &gt; &gt; +    TextTrack* m_track;
&gt; &gt; 
&gt; &gt; How is the lifetime of this object related to m_track?
&gt; 
&gt; It should be fairly independent.
&gt; I &apos;borrowed&apos; this variable from TextTrackCue (since it&apos;s should be the same lifetime).

Doesn&apos;t that mean there&apos;s a risk of use-after-free if the TextTrack is deleted before the TextTrackRegion?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>839737</commentid>
    <comment_count>7</comment_count>
      <attachid>189789</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-02-22 10:53:58 -0800</bug_when>
    <thetext>Comment on attachment 189789
Addressed first comments

I&apos;m sorry that I don&apos;t have time to review your patch in detail, but it looks like there are a number of issues that need to be addressed before we can land this patch.  Who is a better person to review this change?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>839811</commentid>
    <comment_count>8</comment_count>
    <who name="Victor Carbune">vcarbune</who>
    <bug_when>2013-02-22 12:25:50 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; I hesitated to make them a pair at first since they are different units
&gt; &gt; (width is a percentage value, while height is the number of lines).
&gt; 
&gt; That&apos;s very unclear from the code.  Perhaps we should use different names?

I will split them back and perhaps use the name m_heightInLines?

&gt; &gt; &gt; &gt; Source/WebCore/html/track/TextTrackRegion.h:114
&gt; &gt; &gt; &gt; +    TextTrack* m_track;
&gt; &gt; &gt; 
&gt; &gt; &gt; How is the lifetime of this object related to m_track?
&gt; &gt; 
&gt; &gt; It should be fairly independent.
&gt; &gt; I &apos;borrowed&apos; this variable from TextTrackCue (since it&apos;s should be the same lifetime).
&gt; 
&gt; Doesn&apos;t that mean there&apos;s a risk of use-after-free if the TextTrack is deleted before the TextTrackRegion?

The current patch doesn&apos;t handle the TextTrackRegionList, but in the patch that
will handle this, the destructor of TextTrack will clear the track pointers for
all the TextTrackRegion instances that are in its TextTrackRegionList.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>839829</commentid>
    <comment_count>9</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-02-22 12:48:55 -0800</bug_when>
    <thetext>It&apos;s better not to introduce the member variable until it doesn&apos;t point to freed memory.

It also sounds like we need to teach the JavaScript engine about the relationship between these objects so that it doesn&apos;t prematurely collect the wrappers for one or more of these objects.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>840399</commentid>
    <comment_count>10</comment_count>
      <attachid>189933</attachid>
    <who name="Victor Carbune">vcarbune</who>
    <bug_when>2013-02-23 10:19:58 -0800</bug_when>
    <thetext>Created attachment 189933
Split width and height attributes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>840403</commentid>
    <comment_count>11</comment_count>
    <who name="Victor Carbune">vcarbune</who>
    <bug_when>2013-02-23 10:24:42 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; It&apos;s better not to introduce the member variable until it doesn&apos;t point to freed memory.
I removed the setter for m_track, but I would keep the getter to keep the 
complete TextTrackRegion IDL in this patch. Would this work?

&gt; It also sounds like we need to teach the JavaScript engine about the relationship between these objects so that it doesn&apos;t prematurely collect the wrappers for one or more of these objects.

I&apos;m don&apos;t feel familiar enough, but I would expect that TextTrackCue alread
went through such a review and following it would be a safe path? Either way,
if there are extra concerns I would be interested in discussing more about this
(maybe live on IRC?) about this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>840404</commentid>
    <comment_count>12</comment_count>
      <attachid>189933</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-02-23 10:32:59 -0800</bug_when>
    <thetext>Comment on attachment 189933
Split width and height attributes

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

I&apos;m worried that you&apos;ve authored this patch via copy and paste without really understanding what each part of it does.  It would be better to only include things that are needed...

&gt; Source/WebCore/html/track/TextTrackRegion.cpp:57
&gt; +    : ContextDestructionObserver(context)

Why do you need the context?  You don&apos;t seem to be using it anywhere...

&gt; Source/WebCore/html/track/TextTrackRegion.cpp:79
&gt; +    if (std::isinf(value) || std::isnan(value)) {

How can either of these things return true for a variable of type |long|?  They only make sense for floating point values.  Do you have a test case that triggers this condition?

&gt; Source/WebCore/html/track/TextTrackRegion.h:87
&gt; +    using RefCounted&lt;TextTrackRegion&gt;::ref;
&gt; +    using RefCounted&lt;TextTrackRegion&gt;::deref;

This should not be necessary.

&gt; Source/WebCore/html/track/TextTrackRegion.h:110
&gt; +    TextTrack* m_track;

I see.  You&apos;re saying that this is always zero.  I think its better to have the getter just return 0 directly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>840406</commentid>
    <comment_count>13</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-02-23 10:35:45 -0800</bug_when>
    <thetext>Is there someone you can discuss this patch with locally?  I&apos;m worried that going back and forth on this bug will take a while.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>840471</commentid>
    <comment_count>14</comment_count>
      <attachid>189942</attachid>
    <who name="Victor Carbune">vcarbune</who>
    <bug_when>2013-02-23 15:28:30 -0800</bug_when>
    <thetext>Created attachment 189942
Simplified patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>840479</commentid>
    <comment_count>15</comment_count>
    <who name="Victor Carbune">vcarbune</who>
    <bug_when>2013-02-23 15:42:20 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 189933 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=189933&amp;action=review
&gt; 
&gt; I&apos;m worried that you&apos;ve authored this patch via copy and paste without really understanding what each part of it does.  It would be better to only include things that are needed...

Indeed I followed the TextTrackCue skelet, as I&apos;ve previously mentioned..
I went again through all the elements and hopefully refined properly the patch.

&gt; &gt; Source/WebCore/html/track/TextTrackRegion.cpp:57
&gt; &gt; +    : ContextDestructionObserver(context)
&gt; 
&gt; Why do you need the context?  You don&apos;t seem to be using it anywhere...
It&apos;s not, so I changed the constructor to not take any arguments. From my 
understanding it still needs to be passed through the static create method.

&gt; &gt; Source/WebCore/html/track/TextTrackRegion.cpp:79
&gt; &gt; +    if (std::isinf(value) || std::isnan(value)) {
&gt; 
&gt; How can either of these things return true for a variable of type |long|?  They only make sense for floating point values.  Do you have a test case that triggers this condition?

Argh, this remained from the first versoin of the patch - the IDL was declared 
with double, but they should actually be long (I removed them now).

&gt; &gt; Source/WebCore/html/track/TextTrackRegion.h:87
&gt; &gt; +    using RefCounted&lt;TextTrackRegion&gt;::ref;
&gt; &gt; +    using RefCounted&lt;TextTrackRegion&gt;::deref;
&gt; 
&gt; This should not be necessary.
Yes, sorry.

&gt; &gt; Source/WebCore/html/track/TextTrackRegion.h:110
&gt; &gt; +    TextTrack* m_track;
&gt; 
&gt; I see.  You&apos;re saying that this is always zero.  I think its better to have the getter just return 0 directly.
Done.

(In reply to comment #13)
&gt; Is there someone you can discuss this patch with locally?  I&apos;m worried that going back and forth on this bug will take a while.

No, but I&apos;m very often online on IRC so there shouldn&apos;t be communication 
issues.

I have removed for now from the patch the changes in files that enabled 
WEBVTT_REGIONS in various build systems.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>840490</commentid>
    <comment_count>16</comment_count>
      <attachid>189942</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-02-23 17:05:31 -0800</bug_when>
    <thetext>Comment on attachment 189942
Simplified patch

Attachment 189942 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/16726100

New failing tests:
media/track/track-region-constructor.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>840509</commentid>
    <comment_count>17</comment_count>
      <attachid>189942</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-02-23 19:29:42 -0800</bug_when>
    <thetext>Comment on attachment 189942
Simplified patch

Attachment 189942 did not pass mac-wk2-ews (mac-wk2):
Output: http://queues.webkit.org/results/16722992

New failing tests:
media/track/track-region-constructor.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846037</commentid>
    <comment_count>18</comment_count>
    <who name="Victor Carbune">vcarbune</who>
    <bug_when>2013-03-03 10:21:35 -0800</bug_when>
    <thetext>(In reply to comment #17)
&gt; (From update of attachment 189942 [details])
&gt; Attachment 189942 [details] did not pass mac-wk2-ews (mac-wk2):
&gt; Output: http://queues.webkit.org/results/16722992
&gt; 
&gt; New failing tests:
&gt; media/track/track-region-constructor.html

Since this is an experimental feature, is the appropriate method to commit 
patches while keeping it disabled in all the ports and skip tests in TestExpectations?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846048</commentid>
    <comment_count>19</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-03-03 11:50:19 -0800</bug_when>
    <thetext>&gt; Since this is an experimental feature, is the appropriate method to commit 
&gt; patches while keeping it disabled in all the ports and skip tests in TestExpectations?

Yep.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849290</commentid>
    <comment_count>20</comment_count>
      <attachid>191831</attachid>
    <who name="Victor Carbune">vcarbune</who>
    <bug_when>2013-03-06 14:15:59 -0800</bug_when>
    <thetext>Created attachment 191831
Refined patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849312</commentid>
    <comment_count>21</comment_count>
    <who name="Victor Carbune">vcarbune</who>
    <bug_when>2013-03-06 14:39:33 -0800</bug_when>
    <thetext>(In reply to comment #15)
&gt; (In reply to comment #12)
&gt; &gt; &gt; Source/WebCore/html/track/TextTrackRegion.cpp:79
&gt; &gt; &gt; +    if (std::isinf(value) || std::isnan(value)) {
&gt; &gt; 
&gt; &gt; How can either of these things return true for a variable of type |long|?  They only make sense for floating point values.  Do you have a test case that triggers this condition?
&gt; 
&gt; Argh, this remained from the first versoin of the patch - the IDL was declared 
&gt; with double, but they should actually be long (I removed them now).

After a bit of discussion, these will be kept as double in the specification for better
positioning precision of the cue, so I re-added the tests for Inf and Nan and added the
cases in the layout test as well.

I also removed completely the ScriptExecutionContext, skipped tests
and disabled the feature implicitly</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849341</commentid>
    <comment_count>22</comment_count>
      <attachid>191831</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-03-06 15:03:04 -0800</bug_when>
    <thetext>Comment on attachment 191831
Refined patch

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

&gt; Source/WebCore/html/track/TextTrackRegion.cpp:43
&gt; +// The region occupies by default 100% of the width of the video viewport.
&gt; +static const int defaultWidth = 100;
&gt; +
&gt; +// The region has, by default, 3 lines of text.
&gt; +static const int defaultHeight = 3;

These names read very symmetrically, but their semantics aren&apos;t symmetric.  Perhaps defaultHeightInLines to match m_heightInLines?

&gt; Source/WebCore/html/track/TextTrackRegion.h:64
&gt; +    double regionAnchorX() const { return m_regionAnchor.width(); }
&gt; +    void setRegionAnchorX(double, ExceptionCode&amp;);

Using LayoutSize for m_regionAnchor means that this DOM API behaves different when we&apos;re using subpixel layout.  Is that intentional?  That doesn&apos;t seem like something we should expose via this sort of API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849365</commentid>
    <comment_count>23</comment_count>
      <attachid>191848</attachid>
    <who name="Victor Carbune">vcarbune</who>
    <bug_when>2013-03-06 15:20:29 -0800</bug_when>
    <thetext>Created attachment 191848
Changed to FloatSize</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849369</commentid>
    <comment_count>24</comment_count>
    <who name="Victor Carbune">vcarbune</who>
    <bug_when>2013-03-06 15:24:58 -0800</bug_when>
    <thetext>(In reply to comment #22)
&gt; (From update of attachment 191831 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=191831&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/track/TextTrackRegion.cpp:43
&gt; &gt; +// The region occupies by default 100% of the width of the video viewport.
&gt; &gt; +static const int defaultWidth = 100;
&gt; &gt; +
&gt; &gt; +// The region has, by default, 3 lines of text.
&gt; &gt; +static const int defaultHeight = 3;
&gt; 
&gt; These names read very symmetrically, but their semantics aren&apos;t symmetric.  Perhaps defaultHeightInLines to match m_heightInLines?

Good idea, done.

&gt; &gt; Source/WebCore/html/track/TextTrackRegion.h:64
&gt; &gt; +    double regionAnchorX() const { return m_regionAnchor.width(); }
&gt; &gt; +    void setRegionAnchorX(double, ExceptionCode&amp;);
&gt; 
&gt; Using LayoutSize for m_regionAnchor means that this DOM API behaves different when we&apos;re using subpixel layout.  Is that intentional?  That doesn&apos;t seem like something we should expose via this sort of API.

I was tempted to use LayoutSize because of explicit handling of doubles,
but the precision for cues can be handled with FloatSize.


Thanks for the patience of going back and forth through this patch!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849381</commentid>
    <comment_count>25</comment_count>
      <attachid>191848</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-03-06 15:45:51 -0800</bug_when>
    <thetext>Comment on attachment 191848
Changed to FloatSize

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

Ok, this is looking good now.  My comments below are now just tiny nits.

&gt; Source/WebCore/html/track/TextTrackRegion.cpp:43
&gt; +// The region occupies by default 100% of the width of the video viewport.
&gt; +static const int defaultWidth = 100;
&gt; +
&gt; +// The region has, by default, 3 lines of text.
&gt; +static const int defaultHeightInLines = 3;

These types don&apos;t match the member variables, but maybe that doesn&apos;t matter.

&gt; Source/WebCore/html/track/TextTrackRegion.h:82
&gt; +protected:
&gt; +    TextTrackRegion();

Why protected?  Normally we just mark the constructors as private.

&gt; Source/WebCore/html/track/TextTrackRegion.h:85
&gt; +    enum RegionSetting { None, Id, Width, Height, RegionAnchor, ViewportAnchor, Scroll };

Normally we put each enum value on its own line.

&gt; Source/WebCore/html/track/TextTrackRegion.h:89
&gt; +    RegionSetting getSettingFromString(const String&amp;);
&gt; +
&gt; +    void parseSettingValue(RegionSetting, const String&amp;);
&gt; +    void parseSetting(const String&amp;, unsigned*);

I would skip these for now.  You can always add them once you actually need to call them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849847</commentid>
    <comment_count>26</comment_count>
      <attachid>191942</attachid>
    <who name="Victor Carbune">vcarbune</who>
    <bug_when>2013-03-07 01:08:27 -0800</bug_when>
    <thetext>Created attachment 191942
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849852</commentid>
    <comment_count>27</comment_count>
    <who name="Victor Carbune">vcarbune</who>
    <bug_when>2013-03-07 01:13:36 -0800</bug_when>
    <thetext>(In reply to comment #25)
&gt; &gt; Source/WebCore/html/track/TextTrackRegion.cpp:43
&gt; &gt; +// The region occupies by default 100% of the width of the video viewport.
&gt; &gt; +static const int defaultWidth = 100;
&gt; &gt; +
&gt; &gt; +// The region has, by default, 3 lines of text.
&gt; &gt; +static const int defaultHeightInLines = 3;
&gt; 
&gt; These types don&apos;t match the member variables, but maybe that doesn&apos;t matter.

Fixed. 

&gt; &gt; Source/WebCore/html/track/TextTrackRegion.h:82
&gt; &gt; +protected:
&gt; &gt; +    TextTrackRegion();
&gt; 
&gt; Why protected?  Normally we just mark the constructors as private.

It should private should be, thanks for catching it.
 
&gt; &gt; Source/WebCore/html/track/TextTrackRegion.h:85
&gt; &gt; +    enum RegionSetting { None, Id, Width, Height, RegionAnchor, ViewportAnchor, Scroll };
&gt; 
&gt; Normally we put each enum value on its own line.

Fixed.
 
&gt; &gt; Source/WebCore/html/track/TextTrackRegion.h:89
&gt; &gt; +    RegionSetting getSettingFromString(const String&amp;);
&gt; &gt; +
&gt; &gt; +    void parseSettingValue(RegionSetting, const String&amp;);
&gt; &gt; +    void parseSetting(const String&amp;, unsigned*);
&gt; 
&gt; I would skip these for now.  You can always add them once you actually need to call them.

They&apos;re purpose was more informaly so you can see the whole intended layout of
the class (since I&apos;m splitting code in multiple patches). I removed them for
now from the class and the ChangeLog.

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849866</commentid>
    <comment_count>28</comment_count>
      <attachid>191942</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-07 01:31:13 -0800</bug_when>
    <thetext>Comment on attachment 191942
Patch for landing

Clearing flags on attachment: 191942

Committed r145053: &lt;http://trac.webkit.org/changeset/145053&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849867</commentid>
    <comment_count>29</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-07 01:31:20 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189598</attachid>
            <date>2013-02-21 14:09:51 -0800</date>
            <delta_ts>2013-02-22 10:06:01 -0800</delta_ts>
            <desc>Initial Patch</desc>
            <filename>bug-110511-20130222000610.patch</filename>
            <type>text/plain</type>
            <size>50011</size>
            <attacher name="Victor Carbune">vcarbune</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzNjEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
ZmQyNGQyNzFiYjY3MmU0YWUyMjRjYTM2NWE5Njc2MjEyNjJhM2ViLi42ZDE1MTIyM2UwOWVjOWE5
YzIwZWNjMTNhM2ExMWEyNzE0YWZjMDY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxMy0wMi0yMSAgVmljdG9yIENhcmJ1bmUgIDx2Y2FyYnVuZUBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgVGV4dFRyYWNrUmVnaW9uIENvbnN0cnVjdG9yCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTA1MTEKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDEzLTAyLTE5ICBGaWxpcCBQaXpsbyAgPGZwaXps
b0BhcHBsZS5jb20+CiAKICAgICAgICAgREZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUludDMy
VG9Eb3VibGUoKSBoYXMgYW4gdW5uZWNlc3NhcnkgY2FzZSBmb3IgY29uc3RhbnQgb3BlcmFuZHMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggNzYzZjdhYzE5Y2FmODk1YmJmNGM1NDc4NTM2NmYwN2NmMjRjMWRjNC4uY2IyZTRjMjU2
YzRjZDY2MDRjMTZhZWI2NmYxMTE4NDEzM2E4OGVlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAx
My0wMi0yMSAgVmljdG9yIENhcmJ1bmUgIDx2Y2FyYnVuZUBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgVGV4dFRyYWNrUmVnaW9uIENvbnN0cnVjdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTA1MTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0Zi9GZWF0dXJlRGVmaW5lcy5oOgorCiAyMDEzLTAy
LTIwICBSb2dlciBGb25nICA8cm9nZXJfZm9uZ0BhcHBsZS5jb20+CiAKICAgICAgICAgR2V0IFZT
MjAxMCBTb2x1dGlvbiBCJkkgcmVhZHkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjZlODE5NzBlYjYyYjE4Njcx
OTBjZGE3NzQwNjJiY2JjNzg0YmQ3ZS4uMWU3Nzk3NDlkOWQ1MzY4MjgzOWUzMGYzOGNkMmUxZGU0
Y2MxYzc2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDEzLTAyLTIxICBWaWN0b3Ig
Q2FyYnVuZSAgPHZjYXJidW5lQGNocm9taXVtLm9yZz4KKworICAgICAgICBUZXh0VHJhY2tSZWdp
b24gQ29uc3RydWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTExMDUxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRlc3Q6IG1lZGlhL3RyYWNrL3RyYWNrLXJlZ2lvbi1jb25zdHJ1Y3Rvci5odG1sCisK
KyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtl
OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAg
ICAgICAgKiBodG1sL3RyYWNrL1RleHRUcmFjay5jcHA6CisgICAgICAgICogaHRtbC90cmFjay9U
ZXh0VHJhY2suaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGh0bWwvdHJhY2svVGV4
dFRyYWNrUmVnaW9uLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdl
YkNvcmU6OlRleHRUcmFja1JlZ2lvbjo6VGV4dFRyYWNrUmVnaW9uKToKKyAgICAgICAgKFdlYkNv
cmU6OlRleHRUcmFja1JlZ2lvbjo6flRleHRUcmFja1JlZ2lvbik6CisgICAgICAgIChXZWJDb3Jl
OjpUZXh0VHJhY2tSZWdpb246OnNldFRyYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFj
a1JlZ2lvbjo6c2V0SWQpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrUmVnaW9uOjpzZXRX
aWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tSZWdpb246OnNldEhlaWdodCk6Cisg
ICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tSZWdpb246OnNldFJlZ2lvbkFuY2hvclgpOgorICAg
ICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrUmVnaW9uOjpzZXRSZWdpb25BbmNob3JZKToKKyAgICAg
ICAgKFdlYkNvcmU6OlRleHRUcmFja1JlZ2lvbjo6c2V0Vmlld3BvcnRBbmNob3JYKToKKyAgICAg
ICAgKFdlYkNvcmU6OlRleHRUcmFja1JlZ2lvbjo6c2V0Vmlld3BvcnRBbmNob3JZKToKKyAgICAg
ICAgKFdlYkNvcmU6OlRleHRUcmFja1JlZ2lvbjo6c2Nyb2xsKToKKyAgICAgICAgKFdlYkNvcmU6
OlRleHRUcmFja1JlZ2lvbjo6c2V0U2Nyb2xsKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFj
a1JlZ2lvbjo6c2V0UmVnaW9uU2V0dGluZ3MpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNr
UmVnaW9uOjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRU
cmFja1JlZ2lvbjo6Z2V0U2V0dGluZ0Zyb21TdHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6VGV4
dFRyYWNrUmVnaW9uOjpwYXJzZVNldHRpbmdWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0
VHJhY2tSZWdpb246OnBhcnNlU2V0dGluZyk6CisgICAgICAgICogaHRtbC90cmFjay9UZXh0VHJh
Y2tSZWdpb24uaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFRleHRUcmFj
a1JlZ2lvbik6CisgICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tSZWdpb246OmNyZWF0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tSZWdpb246OnRyYWNrKToKKyAgICAgICAgKFdlYkNv
cmU6OlRleHRUcmFja1JlZ2lvbjo6aWQpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrUmVn
aW9uOjp3aWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tSZWdpb246OmhlaWdodCk6
CisgICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tSZWdpb246OnJlZ2lvbkFuY2hvclgpOgorICAg
ICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrUmVnaW9uOjpyZWdpb25BbmNob3JZKToKKyAgICAgICAg
KFdlYkNvcmU6OlRleHRUcmFja1JlZ2lvbjo6dmlld3BvcnRBbmNob3JYKToKKyAgICAgICAgKFdl
YkNvcmU6OlRleHRUcmFja1JlZ2lvbjo6dmlld3BvcnRBbmNob3JZKToKKyAgICAgICAgKFdlYkNv
cmU6OlRleHRUcmFja1JlZ2lvbjo6cmVnaW9uU2V0dGluZ3MpOgorICAgICAgICAoV2ViQ29yZTo6
VGV4dFRyYWNrUmVnaW9uOjpvd25lckRvY3VtZW50KToKKyAgICAgICAgKiBodG1sL3RyYWNrL1Rl
eHRUcmFja1JlZ2lvbi5pZGw6IEFkZGVkLgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDoK
KwogMjAxMy0wMi0yMSAgWGFuIExvcGV6ICA8eGxvcGV6QHJpbS5jb20+CiAKICAgICAgICAgW0Js
YWNrQmVycnldIExheWVyRmlsdGVyUmVuZGVyZXI6IGZpeCBpbmNsdXNpb24gb2YgVmVjdG9yLmgK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggY2ExYWQ5NzUyYmQ4OTZmNWIwMWRhMjFlOGMy
MjA0MjhjYTJjMjA0Ny4uYjZlODMwOGYxNzVlNzdlODQ1NzBlODZhZTFlYThmNjFhZWZkMzdjYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMy0wMi0yMSAg
VmljdG9yIENhcmJ1bmUgIDx2Y2FyYnVuZUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVGV4dFRy
YWNrUmVnaW9uIENvbnN0cnVjdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMTA1MTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGZlYXR1cmVzLmd5cGk6CisKIDIwMTMtMDItMjEgIFZzZXZvbG9kIFZs
YXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogR2V0
IHJpZCBvZiBwYXJzZWRVUkwgaW4gdWlTb3VyY2VDb2RlLCB1c2UgbmFtZSBhbmQgcGF0aCBmb3Ig
ZGlzcGxheU5hbWUgaW5zdGVhZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCA2MjU5YzM3ZTVlZDUyOGJm
YmYyNjNiZGM1YTQzYWQyM2NkZWQzNDI0Li44ODZjZDZjYWNjNDg5N2ZlOGE3ZTc5OWY3OWFlNWY2
NDkzZDhkYjY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTMtMDItMjEg
IFZpY3RvciBDYXJidW5lICA8dmNhcmJ1bmVAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFRleHRU
cmFja1JlZ2lvbiBDb25zdHJ1Y3RvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTEwNTExCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoK
KwogMjAxMy0wMi0yMCAgRGlyayBTY2h1bHplICA8a3JpdEB3ZWJraXQub3JnPgogCiAgICAgICAg
IEVuYWJsZSBDQU5WQVNfUEFUSCBmbGFnCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZDk0YzEwZWEwMmQyY2ViNjNl
NjU1ZDYxMTM3MTgyMmI5MDcwZDAzMS4uNjhjYTNhZmI1OWYyNzFhYTRjNTVlMzdhZWE4YmY2NDQ2
OWVkZjJmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDEzLTAyLTIxICBWaWN0b3Ig
Q2FyYnVuZSAgPHZjYXJidW5lQGNocm9taXVtLm9yZz4KKworICAgICAgICBUZXh0VHJhY2tSZWdp
b24gQ29uc3RydWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTExMDUxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisKIDIwMTMt
MDItMjEgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAg
ICAgIFVucmV2aWV3ZWQuIEZpeCBtYWtlIGRpc3RjaGVjay4KZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZwppbmRleCAyNWQwMjg0ODA4YjlhNzk0NjMwZTljZGQzZmQ1ODhmMTFkNWEwYjg2Li5jZTZlOTQ1
ZTM3ZGEyYzZjZWY2MGQzYmVkNTIwM2EwOTA5MmRhMWNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29u
ZmlnCkBAIC0xNjMsNiArMTYzLDggQEAgRU5BQkxFX1VTRVJTRUxFQ1RfQUxMID0gRU5BQkxFX1VT
RVJTRUxFQ1RfQUxMOwogRU5BQkxFX1ZJREVPID0gRU5BQkxFX1ZJREVPOwogRU5BQkxFX1ZJREVP
X1RSQUNLID0gJChFTkFCTEVfVklERU9fVFJBQ0tfJChQTEFURk9STV9OQU1FKSk7CiBFTkFCTEVf
VklERU9fVFJBQ0tfbWFjb3N4ID0gRU5BQkxFX1ZJREVPX1RSQUNLOworRU5BQkxFX1dFQlZUVF9S
RUdJT05TID0gJChFTkFCTEVfV0VCVlRUX1JFR0lPTlNfJChQTEFURk9STV9OQU1FKSk7CitFTkFC
TEVfV0VCVlRUX1JFR0lPTlNfbWFjb3N4ID0gRU5BQkxFX1dFQlZUVF9SRUdJT05TOwogRU5BQkxF
X1dFQkdMID0gRU5BQkxFX1dFQkdMOwogRU5BQkxFX1dFQl9BVURJTyA9IEVOQUJMRV9XRUJfQVVE
SU87CiBFTkFCTEVfV0VCX1NPQ0tFVFMgPSBFTkFCTEVfV0VCX1NPQ0tFVFM7CkBAIC0xNzEsNCAr
MTczLDQgQEAgRU5BQkxFX1dPUktFUlMgPSBFTkFCTEVfV09SS0VSUzsKIEVOQUJMRV9YSFJfVElN
RU9VVCA9IEVOQUJMRV9YSFJfVElNRU9VVDsKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAK
LUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxF
UkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9CTE9CKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChF
TkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVf
Q1NQX05FWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NT
X0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfRVhDTFVTSU9OUykgJChFTkFCTEVfQ1NT
X0ZJTFRFUlMpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lN
QUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0hBREVS
UykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lUSU9O
KSAkKEVOQUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1VOUFJFRklYRUQpICQoRU5BQkxF
X0NTU19WQVJJQUJMRVMpICQoRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVMpICQoRU5BQkxF
X0NTUzNfVEVYVCkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNI
Qk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9U
UkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0Vf
T1JJRU5UQVRJT04pICQoRU5BQkxFX0RJQUxPR19FTEVNRU5UKSAkKEVOQUJMRV9ESVJFQ1RPUllf
VVBMT0FEKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRFJBR0dB
QkxFX1JFR0lPTikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURf
TUVESUFfVjIpICQoRU5BQkxFX0ZJTEVfU1lTVEVNKSAkKEVOQUJMRV9GSUxURVJTKSAkKEVOQUJM
RV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04p
ICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9ISUdI
X0RQSV9DQU5WQVMpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSUZSQU1FX1NFQU1M
RVNTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTlBVVF9TUEVFQ0gpICQo
RU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FM
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChF
TkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklD
QVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lf
V0VCX0FVRElPKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9MSU5LX1BSRVJFTkRF
UikgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElB
X1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVO
QUJMRV9NSUNST0RBVEEpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFW
SUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BB
R0VfVklTSUJJTElUWV9BUEkpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BMVUdJ
Tl9QUk9YWV9GT1JfVklERU8pICQoRU5BQkxFX1BST0dSRVNTX0VMRU1FTlQpICQoRU5BQkxFX1BS
T1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElP
Tl9GUkFNRSkgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfU0NSSVBU
RURfU1BFRUNIKSAkKEVOQUJMRV9TSEFET1dfRE9NKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykg
JChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1FMX0RBVEFCQVNFKSAkKEVOQUJM
RV9TVFlMRV9TQ09QRUQpICQoRU5BQkxFX1NVQlBJWEVMX0xBWU9VVCkgJChFTkFCTEVfU1ZHKSAk
KEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1MpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFC
TEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9U
RVhUX05PVElGSUNBVElPTlNfT05MWSkgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVO
QUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNL
KSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfU09DS0VU
UykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV09SS0VSUykgJChFTkFCTEVfWEhSX1RJ
TUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRkVBVFVSRV9ERUZJTkVTXyQoUExBVEZPUk1fTkFNRSkp
OworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NF
TEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0JMT0IpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAk
KEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJM
RV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9D
U1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19FWENMVVNJT05TKSAkKEVOQUJMRV9D
U1NfRklMVEVSUykgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TSEFE
RVJTKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19TVElDS1lfUE9TSVRJ
T04pICQoRU5BQkxFX0NTU19UUkFOU0ZPUk1TX0FOSU1BVElPTlNfVU5QUkVGSVhFRCkgJChFTkFC
TEVfQ1NTX1ZBUklBQkxFUykgJChFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUykgJChFTkFC
TEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RB
U0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRB
X1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklD
RV9PUklFTlRBVElPTikgJChFTkFCTEVfRElBTE9HX0VMRU1FTlQpICQoRU5BQkxFX0RJUkVDVE9S
WV9VUExPQUQpICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9EUkFH
R0FCTEVfUkVHSU9OKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRF
RF9NRURJQV9WMikgJChFTkFCTEVfRklMRV9TWVNURU0pICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5B
QkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElP
TikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0hJ
R0hfRFBJX0NBTlZBUykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JRlJBTUVfU0VB
TUxFU1MpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1NQRUVDSCkg
JChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9D
QUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAk
KEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElG
SUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FD
WV9XRUJfQVVESU8pICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX0xJTktfUFJFUkVO
REVSKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVE
SUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQo
RU5BQkxFX01JQ1JPREFUQSkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9O
QVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVf
UEFHRV9WSVNJQklMSVRZX0FQSSkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUExV
R0lOX1BST1hZX0ZPUl9WSURFTykgJChFTkFCTEVfUFJPR1JFU1NfRUxFTUVOVCkgJChFTkFCTEVf
UFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFU
SU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9TQ1JJ
UFRFRF9TUEVFQ0gpICQoRU5BQkxFX1NIQURPV19ET00pICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJT
KSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TUUxfREFUQUJBU0UpICQoRU5B
QkxFX1NUWUxFX1NDT1BFRCkgJChFTkFCTEVfU1VCUElYRUxfTEFZT1VUKSAkKEVOQUJMRV9TVkcp
ICQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVO
QUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxF
X1RFWFRfTk9USUZJQ0FUSU9OU19PTkxZKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQo
RU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJB
Q0spICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VC
X0FVRElPKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFC
TEVfV09SS0VSUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRkVBVFVS
RV9ERUZJTkVTXyQoUExBVEZPUk1fTkFNRSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYv
RmVhdHVyZURlZmluZXMuaCBiL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgKaW5kZXgg
NTNmNjE2NmNmZmE5Y2M2MmQ1YTljNGI4YTY0NjA5NzFkYTNhYTcxMS4uZTkyZDQ0NTc4MWU5YWU2
NDg0ODE5Y2Q5YjVhMjM5MDVmY2UwYmNlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvRmVh
dHVyZURlZmluZXMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCkBAIC04
MjgsNiArODI4LDEwIEBACiAjZGVmaW5lIEVOQUJMRV9XRUJHTCAwCiAjZW5kaWYKIAorI2lmICFk
ZWZpbmVkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykKKyNkZWZpbmUgRU5BQkxFX1dFQlZUVF9SRUdJ
T05TIDAKKyNlbmRpZgorCiAjaWYgIWRlZmluZWQoRU5BQkxFX1dFQl9BUkNISVZFKQogI2RlZmlu
ZSBFTkFCTEVfV0VCX0FSQ0hJVkUgMAogI2VuZGlmCkBAIC04NzQsNCArODc4LDggQEAKICNlcnJv
ciAiRU5BQkxFKFZJREVPX1RSQUNLKSByZXF1aXJlcyBFTkFCTEUoVklERU8pIgogI2VuZGlmCiAK
KyNpZiBFTkFCTEUoV0VCVlRUX1JFR0lPTlMpICYmICFFTkFCTEUoVklERU9fVFJBQ0spCisjZXJy
b3IgIkVOQUJMRShXRUJWVFRfUkVHSU9OUykgcmVxdWlyZXMgRU5BQkxFKFZJREVPX1RSQUNLKSIK
KyNlbmRpZgorCiAjZW5kaWYgLyogV1RGX0ZlYXR1cmVEZWZpbmVzX2ggKi8KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKaW5kZXggNDUwMTdiNDVmMDdhZDYxZmVjNDkxZjg3YmZlZTAzNDQ0NTQwY2YyNS4uYTA3
MDkxN2IyOGRlNDJmOTVmNGVjZGRlZDIxNjE5NzgyNDk5ZjNiZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKQEAgLTU1Myw2ICs1NTMsNyBAQCBzZXQoV2ViQ29yZV9JRExfRklMRVMKICAgICBodG1sL3Ry
YWNrL1RleHRUcmFja0N1ZS5pZGwKICAgICBodG1sL3RyYWNrL1RleHRUcmFja0N1ZUxpc3QuaWRs
CiAgICAgaHRtbC90cmFjay9UZXh0VHJhY2tMaXN0LmlkbAorICAgIGh0bWwvdHJhY2svVGV4dFRy
YWNrUmVnaW9uLmlkbAogICAgIGh0bWwvdHJhY2svVHJhY2tFdmVudC5pZGwKIAogICAgIGluc3Bl
Y3Rvci9JbmplY3RlZFNjcmlwdEhvc3QuaWRsCkBAIC0xNTkyLDYgKzE1OTMsOCBAQCBzZXQoV2Vi
Q29yZV9TT1VSQ0VTCiAgICAgaHRtbC90cmFjay9UZXh0VHJhY2tDdWVHZW5lcmljLmNwcAogICAg
IGh0bWwvdHJhY2svVGV4dFRyYWNrQ3VlTGlzdC5jcHAKICAgICBodG1sL3RyYWNrL1RleHRUcmFj
a0xpc3QuY3BwCisgICAgaHRtbC90cmFjay9UZXh0VHJhY2tSZWdpb24uY3BwCisgICAgaHRtbC90
cmFjay9UZXh0VHJhY2tSZWdpb24uaAogICAgIGh0bWwvdHJhY2svVHJhY2tCYXNlLmNwcAogICAg
IGh0bWwvdHJhY2svVHJhY2tFdmVudC5jcHAKICAgICBodG1sL3RyYWNrL1dlYlZUVEVsZW1lbnQu
Y3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBiMjJhZGU1N2Y5YTU0ODg0MjU1
NWY1MGE0MTJmOTlkNjMzODIwZmI1Li5lNWU4ZDYwN2YyYzRiNDI1NmNkYmQyNmE0ZmRjZTQ0NWNi
N2U2ZWRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTg2OSw2ICs4NjksMTAg
QEAgaWZlcSAoJChmaW5kc3RyaW5nIEVOQUJMRV9WSURFT19UUkFDSywkKEZFQVRVUkVfREVGSU5F
UykpLCBFTkFCTEVfVklERU9fVFJBQ0spCiAgICAgSFRNTF9GTEFHUyA6PSAkKEhUTUxfRkxBR1Mp
IEVOQUJMRV9WSURFT19UUkFDSz0wCiBlbmRpZgogCitpZmVxICgkKGZpbmRzdHJpbmcgRU5BQkxF
X1dFQlZUVF9SRUdJT05TLCQoRkVBVFVSRV9ERUZJTkVTKSwgRU5BQkxFX1dFQlZUVF9SRUdJT05T
KQorICAgIEhUTUxfRkxBR1MgOj0gJChIVE1MX0ZMQUdTKSBFTkFCTEVfV0VCVlRUX1JFR0lPTlM9
MQorZW5kaWYKKwogaWZlcSAoJChmaW5kc3RyaW5nIEVOQUJMRV9TSEFET1dfRE9NLCQoRkVBVFVS
RV9ERUZJTkVTKSksIEVOQUJMRV9TSEFET1dfRE9NKQogICAgIEhUTUxfRkxBR1MgOj0gJChIVE1M
X0ZMQUdTKSBFTkFCTEVfU0hBRE9XX0RPTT0xCiBlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRl
eCA3NjIzYjlkZTgzNTI1MTdkNjk4ZGIwNzJmMTNjNWRjNzRkZWVmMWNjLi5mYWYyN2Q1OGU5NmEz
ZGMwYjQwNjgzOTk0ZjFkYzg5ZGEzYThlM2Q1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtMTQ5
LDYgKzE0OSwxNSBAQCBEZXJpdmVkU291cmNlcy9XZWJDb3JlL01hdGhNTEVsZW1lbnRGYWN0b3J5
LmNwcCBEZXJpdmVkU291cmNlcy9XZWJDb3JlL01hdGhNTE5hbQogCSQoQU1fVl9HRU4pJChQRVJM
KSAtSSQoV2ViQ29yZSkvYmluZGluZ3Mvc2NyaXB0cyAkPCAtLXRhZ3MgJChXZWJDb3JlKS9tYXRo
bWwvbWF0aHRhZ3MuaW4gLS1hdHRycyAkKFdlYkNvcmUpL21hdGhtbC9tYXRoYXR0cnMuaW4gLS1m
YWN0b3J5IC0td3JhcHBlckZhY3RvcnkgLS1vdXRwdXREaXIgIiQoR0VOU09VUkNFU19XRUJDT1JF
KSIKIAogIyAtLS0tCisjIFdlYlZUVCB3aXRoIFJlZ2lvbnMgU3VwcG9ydAorIyAtLS0tCitpZiBF
TkFCTEVfV0VCVlRUX1JFR0lPTlMKK3dlYmNvcmVfY3BwZmxhZ3MgKz0gREVOQUJMRV9XRUJWVFRf
UkVHSU9OUz0xCitlbHNlCit3ZWJjb3JlX2NwcGZsYWdzICs9IERFTkFCTEVfV0VCVlRUX1JFR0lP
TlM9MQorZW5kaWYgIyBFTkQgRU5BQkxFX1dFQlZUVF9SRUdJT05TCisKKyMgLS0tLQogIyBTVkcg
U3VwcG9ydAogIwogIyBGSVhNRTogYWxsb3cgYSBtb3JlIGZpbmUtZ3JhaW5lZCBpbmNsdXNpb24v
Z2VuZXJhdGlvbiBvZiBzb3VyY2VzIHBlciBTVkcgZmVhdHVyZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4
IGJhNTZiY2IyZTEyNTNlYjE0YjVhYzA0YTc4YTljMjc5OTg4ZmZmNDMuLmY0NzFmNDUyMzg5YzQ2
OTcxY2QyMTgwNWFiOWNmZjYyZGM0MjE5MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTQwNyw2ICs0
MDcsNyBAQAogICAgICAgICAgICAgJ2h0bWwvdHJhY2svVGV4dFRyYWNrQ3VlTGlzdC5pZGwnLAog
ICAgICAgICAgICAgJ2h0bWwvdHJhY2svVGV4dFRyYWNrTGlzdC5pZGwnLAogICAgICAgICAgICAg
J2h0bWwvdHJhY2svVHJhY2tFdmVudC5pZGwnLAorICAgICAgICAgICAgJ2h0bWwvdHJhY2svVGV4
dFRyYWNrUmVnaW9uLmlkbCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0
SG9zdC5pZGwnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3Qu
aWRsJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvSmF2YVNjcmlwdENhbGxGcmFtZS5pZGwnLApA
QCAtMzQ5Miw2ICszNDkzLDggQEAKICAgICAgICAgICAgICdodG1sL3RyYWNrL1RleHRUcmFja0N1
ZUxpc3QuY3BwJywKICAgICAgICAgICAgICdodG1sL3RyYWNrL1RleHRUcmFja0N1ZUxpc3QuaCcs
CiAgICAgICAgICAgICAnaHRtbC90cmFjay9UZXh0VHJhY2tMaXN0LmNwcCcsCisgICAgICAgICAg
ICAnaHRtbC90cmFjay9UZXh0VHJhY2tSZWdpb24uY3BwJywKKyAgICAgICAgICAgICdodG1sL3Ry
YWNrL1RleHRUcmFja1JlZ2lvbi5oJywKICAgICAgICAgICAgICdodG1sL3RyYWNrL1RyYWNrQmFz
ZS5jcHAnLAogICAgICAgICAgICAgJ2h0bWwvdHJhY2svVHJhY2tFdmVudC5jcHAnLAogICAgICAg
ICAgICAgJ2h0bWwvdHJhY2svV2ViVlRURWxlbWVudC5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2suY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC90
cmFjay9UZXh0VHJhY2suY3BwCmluZGV4IGVkMTk1NjEyMWNjYWNkNTQwOTc3NGYyZGQ5Y2MyNDJk
OTQ2MmM0M2YuLjFhYzdhNTBmMjg0YzVmY2NkZDgzNDIwZTZiYzA0M2Y3MmNkMjQwMWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFjay5jcHAKQEAgLTQwLDYgKzQwLDcgQEAKICNp
bmNsdWRlICJIVE1MTWVkaWFFbGVtZW50LmgiCiAjaW5jbHVkZSAiVGV4dFRyYWNrQ3VlTGlzdC5o
IgogI2luY2x1ZGUgIlRleHRUcmFja0xpc3QuaCIKKyNpbmNsdWRlICJUZXh0VHJhY2tSZWdpb24u
aCIKICNpbmNsdWRlICJUcmFja0Jhc2UuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2suaCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrLmgKaW5kZXggNjJiNjM1ODBhMGE3ZDc2Njg0YmRhYTVi
YjEyNzgyZGVjMzMxYWM0Zi4uYzMzOWIxMTViYzI1MGVjYmRjMzYwZGViZjUzMDNlOWQyYmQ2NTJh
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2suaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFjay5oCkBAIC00MSw2ICs0MSw3IEBA
IGNsYXNzIEhUTUxNZWRpYUVsZW1lbnQ7CiBjbGFzcyBUZXh0VHJhY2s7CiBjbGFzcyBUZXh0VHJh
Y2tDdWU7CiBjbGFzcyBUZXh0VHJhY2tDdWVMaXN0OworY2xhc3MgVGV4dFRyYWNrUmVnaW9uOwog
CiBjbGFzcyBUZXh0VHJhY2tDbGllbnQgewogcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tSZWdpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC90cmFjay9UZXh0VHJhY2tSZWdpb24uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzM2JjZTU0N2MxNDNmYmM4
ZjM4M2U2YWNkMzMzNTJlNzdiNjk3ODIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3RyYWNrL1RleHRUcmFja1JlZ2lvbi5jcHAKQEAgLTAsMCArMSwxOTggQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBlYyBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0
cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0
aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisg
KiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKworI2lmIEVOQUJMRShWSURFT19UUkFDSykgJiYgRU5BQkxFKFdFQlZUVF9S
RUdJT05TKQorCisjaW5jbHVkZSAiVGV4dFRyYWNrUmVnaW9uLmgiCisKKyNpbmNsdWRlICJXZWJW
VFRQYXJzZXIuaCIKKyNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgorI2luY2x1ZGUgPHd0Zi90
ZXh0L1N0cmluZ0J1aWxkZXIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitUZXh0VHJhY2tS
ZWdpb246OlRleHRUcmFja1JlZ2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQor
ICAgIDogbV9pZChlbXB0eVN0cmluZygpKQorICAgICwgbV93aWR0aCgxMDApCisgICAgLCBtX2hl
aWdodCgzKQorICAgICwgbV9yZWdpb25BbmNob3Ioc3RkOjptYWtlX3BhaXIoMCwgMTAwKSkKKyAg
ICAsIG1fdmlld3BvcnRBbmNob3Ioc3RkOjptYWtlX3BhaXIoMCwgMTAwKSkKKyAgICAsIG1fc2Ny
b2xsKGZhbHNlKQorICAgICwgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KGNvbnRleHQpCisgICAg
LCBtX3RyYWNrKDApCit7CisgICAgQVNTRVJUKG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+aXNE
b2N1bWVudCgpKTsKK30KKworVGV4dFRyYWNrUmVnaW9uOjp+VGV4dFRyYWNrUmVnaW9uKCkKK3sK
K30KKwordm9pZCBUZXh0VHJhY2tSZWdpb246OnNldFRyYWNrKFRleHRUcmFjayogdHJhY2spCit7
CisgICAgbV90cmFjayA9IHRyYWNrOworfQorCit2b2lkIFRleHRUcmFja1JlZ2lvbjo6c2V0SWQo
Y29uc3QgU3RyaW5nJiBpZCkKK3sKKyAgICBtX2lkID0gaWQ7Cit9CisKK3ZvaWQgVGV4dFRyYWNr
UmVnaW9uOjpzZXRXaWR0aChkb3VibGUgdmFsdWUsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAg
IGlmIChzdGQ6OmlzaW5mKHZhbHVlKSB8fCBzdGQ6OmlzbmFuKHZhbHVlKSkgeworICAgICAgICBl
YyA9IFR5cGVFcnJvcjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmICh2YWx1ZSA8
IDAgfHwgdmFsdWUgPiAxMDApCisgICAgICAgIHJldHVybjsKKworICAgIG1fd2lkdGggPSB2YWx1
ZTsKK30KKwordm9pZCBUZXh0VHJhY2tSZWdpb246OnNldEhlaWdodChsb25nIHZhbHVlLCBFeGNl
cHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAoc3RkOjppc2luZih2YWx1ZSkgfHwgc3RkOjppc25h
bih2YWx1ZSkpIHsKKyAgICAgICAgZWMgPSBUeXBlRXJyb3I7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisKKyAgICBpZiAodmFsdWUgPCAwKQorICAgICAgICByZXR1cm47CisKKyAgICBtX2hlaWdo
dCA9IHZhbHVlOworfQorCit2b2lkIFRleHRUcmFja1JlZ2lvbjo6c2V0UmVnaW9uQW5jaG9yWChk
b3VibGUgdmFsdWUsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlmIChzdGQ6OmlzaW5mKHZh
bHVlKSB8fCBzdGQ6OmlzbmFuKHZhbHVlKSkgeworICAgICAgICBlYyA9IFR5cGVFcnJvcjsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmICh2YWx1ZSA8IDAgfHwgdmFsdWUgPiAxMDAp
CisgICAgICAgIHJldHVybjsKKworICAgIG1fcmVnaW9uQW5jaG9yLmZpcnN0ID0gdmFsdWU7Cit9
CisKK3ZvaWQgVGV4dFRyYWNrUmVnaW9uOjpzZXRSZWdpb25BbmNob3JZKGRvdWJsZSB2YWx1ZSwg
RXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKHN0ZDo6aXNpbmYodmFsdWUpIHx8IHN0ZDo6
aXNuYW4odmFsdWUpKSB7CisgICAgICAgIGVjID0gVHlwZUVycm9yOworICAgICAgICByZXR1cm47
CisgICAgfQorCisgICAgaWYgKHZhbHVlIDwgMCB8fCB2YWx1ZSA+IDEwMCkKKyAgICAgICAgcmV0
dXJuOworCisgICAgbV9yZWdpb25BbmNob3Iuc2Vjb25kID0gdmFsdWU7Cit9CisKK3ZvaWQgVGV4
dFRyYWNrUmVnaW9uOjpzZXRWaWV3cG9ydEFuY2hvclgoZG91YmxlIHZhbHVlLCBFeGNlcHRpb25D
b2RlJiBlYykKK3sKKyAgICBpZiAoc3RkOjppc2luZih2YWx1ZSkgfHwgc3RkOjppc25hbih2YWx1
ZSkpIHsKKyAgICAgICAgZWMgPSBUeXBlRXJyb3I7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICBpZiAodmFsdWUgPCAwIHx8IHZhbHVlID4gMTAwKQorICAgICAgICByZXR1cm47CisKKyAg
ICBtX3ZpZXdwb3J0QW5jaG9yLmZpcnN0ID0gdmFsdWU7Cit9CisKK3ZvaWQgVGV4dFRyYWNrUmVn
aW9uOjpzZXRWaWV3cG9ydEFuY2hvclkoZG91YmxlIHZhbHVlLCBFeGNlcHRpb25Db2RlJiBlYykK
K3sKKyAgICBpZiAoc3RkOjppc2luZih2YWx1ZSkgfHwgc3RkOjppc25hbih2YWx1ZSkpIHsKKyAg
ICAgICAgZWMgPSBUeXBlRXJyb3I7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAo
dmFsdWUgPCAwIHx8IHZhbHVlID4gMTAwKQorICAgICAgICByZXR1cm47CisKKyAgICBtX3ZpZXdw
b3J0QW5jaG9yLnNlY29uZCA9IHZhbHVlOworfQorCitjb25zdCBBdG9taWNTdHJpbmcgVGV4dFRy
YWNrUmVnaW9uOjpzY3JvbGwoKSBjb25zdAoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29u
c3QgQXRvbWljU3RyaW5nLCB1cFNjcm9sbFZhbHVlS2V5d29yZCwgKCJ1cCIsIEF0b21pY1N0cmlu
Zzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKKworICAgIGlmIChtX3Njcm9sbCkKKyAgICAgICAg
cmV0dXJuIHVwU2Nyb2xsVmFsdWVLZXl3b3JkOworCisgICAgcmV0dXJuICIiOworfQorCit2b2lk
IFRleHRUcmFja1JlZ2lvbjo6c2V0U2Nyb2xsKGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUsIEV4
Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWlj
U3RyaW5nLCB1cFNjcm9sbFZhbHVlS2V5d29yZCwgKCJ1cCIsIEF0b21pY1N0cmluZzo6Q29uc3Ry
dWN0RnJvbUxpdGVyYWwpKTsKKworICAgIGlmICh2YWx1ZSAhPSBlbXB0eVN0cmluZygpICYmIHZh
bHVlICE9IHVwU2Nyb2xsVmFsdWVLZXl3b3JkKSB7CisgICAgICAgIGVjID0gU1lOVEFYX0VSUjsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIG1fc2Nyb2xsID0gdmFsdWUgPT0gdXBTY3Jv
bGxWYWx1ZUtleXdvcmQ7Cit9CisKK3ZvaWQgVGV4dFRyYWNrUmVnaW9uOjpzZXRSZWdpb25TZXR0
aW5ncyhjb25zdCBTdHJpbmcmIGlucHV0KQoreworICAgIC8vIEZJWE1FKDEwOTgxOCk6IFBhcnNl
IHJlZ2lvbiBoZWFkZXIgbWV0YWRhdGEuCit9CisKK1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIFRl
eHRUcmFja1JlZ2lvbjo6c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKK30KKworVGV4dFRyYWNrUmVnaW9uOjpSZWdp
b25TZXR0aW5nIFRleHRUcmFja1JlZ2lvbjo6Z2V0U2V0dGluZ0Zyb21TdHJpbmcoY29uc3QgU3Ry
aW5nJiBzZXR0aW5nKQoreworICAgIC8vIEZJWE1FKDEwOTgxOCk6IFBhcnNlIHJlZ2lvbiBoZWFk
ZXIgbWV0YWRhdGEuCisgICAgcmV0dXJuIE5vbmU7Cit9CisKK3ZvaWQgVGV4dFRyYWNrUmVnaW9u
OjpwYXJzZVNldHRpbmdWYWx1ZShSZWdpb25TZXR0aW5nIHNldHRpbmcsIGNvbnN0IFN0cmluZyYg
dmFsdWUpCit7CisgICAgLy8gRklYTUUoMTA5ODE4KTogUGFyc2UgcmVnaW9uIGhlYWRlciBtZXRh
ZGF0YS4KK30KKwordm9pZCBUZXh0VHJhY2tSZWdpb246OnBhcnNlU2V0dGluZyhjb25zdCBTdHJp
bmcmIGlucHV0LCB1bnNpZ25lZCogcG9zaXRpb24pCit7CisgICAgLy8gRklYTUUoMTA5ODE4KTog
UGFyc2UgcmVnaW9uIGhlYWRlciBtZXRhZGF0YS4KK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRy
YWNrUmVnaW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFja1JlZ2lvbi5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjk3Mjc2NzhmMDBjM2RkZTg5ZmY1NjY5NzIzMmUwNjQ1ZDliZWRmZmIKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFja1JlZ2lv
bi5oCkBAIC0wLDAgKzEsMTIwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJ
bmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
CisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgVGV4dFRyYWNrUmVnaW9uX2gKKyNkZWZpbmUg
VGV4dFRyYWNrUmVnaW9uX2gKKworI2lmIEVOQUJMRShWSURFT19UUkFDSykgJiYgRU5BQkxFKFdF
QlZUVF9SRUdJT05TKQorCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJUZXh0VHJh
Y2suaCIKKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3Vu
dGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRG9jdW1lbnRGcmFnbWVudDsK
K2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CisKK2NsYXNzIFRleHRUcmFja1JlZ2lvbiA6
IHB1YmxpYyBSZWZDb3VudGVkPFRleHRUcmFja1JlZ2lvbj4geworcHVibGljOgorICAgIHN0YXRp
YyBQYXNzUmVmUHRyPFRleHRUcmFja1JlZ2lvbj4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqIGNvbnRleHQpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFRleHRUcmFj
a1JlZ2lvbihjb250ZXh0KSk7CisgICAgfQorCisgICAgdmlydHVhbCB+VGV4dFRyYWNrUmVnaW9u
KCk7CisKKyAgICBUZXh0VHJhY2sqIHRyYWNrKCkgY29uc3QgeyByZXR1cm4gbV90cmFjazsgfQor
ICAgIHZvaWQgc2V0VHJhY2soVGV4dFRyYWNrKik7CisKKyAgICBjb25zdCBTdHJpbmcmIGlkKCkg
Y29uc3QgeyByZXR1cm4gbV9pZDsgfQorICAgIHZvaWQgc2V0SWQoY29uc3QgU3RyaW5nJik7CisK
KyAgICBkb3VibGUgd2lkdGgoKSBjb25zdCB7IHJldHVybiBtX3dpZHRoOyB9CisgICAgdm9pZCBz
ZXRXaWR0aChkb3VibGUsIEV4Y2VwdGlvbkNvZGUmKTsKKworICAgIGxvbmcgaGVpZ2h0KCkgY29u
c3QgeyByZXR1cm4gbV9oZWlnaHQ7IH0KKyAgICB2b2lkIHNldEhlaWdodChsb25nLCBFeGNlcHRp
b25Db2RlJik7CisKKyAgICBkb3VibGUgcmVnaW9uQW5jaG9yWCgpIGNvbnN0IHsgcmV0dXJuIG1f
cmVnaW9uQW5jaG9yLmZpcnN0OyB9CisgICAgdm9pZCBzZXRSZWdpb25BbmNob3JYKGRvdWJsZSwg
RXhjZXB0aW9uQ29kZSYpOworCisgICAgZG91YmxlIHJlZ2lvbkFuY2hvclkoKSBjb25zdCB7IHJl
dHVybiBtX3JlZ2lvbkFuY2hvci5zZWNvbmQ7IH0KKyAgICB2b2lkIHNldFJlZ2lvbkFuY2hvclko
ZG91YmxlLCBFeGNlcHRpb25Db2RlJik7CisKKyAgICBkb3VibGUgdmlld3BvcnRBbmNob3JYKCkg
Y29uc3QgeyByZXR1cm4gbV92aWV3cG9ydEFuY2hvci5maXJzdDsgfQorICAgIHZvaWQgc2V0Vmll
d3BvcnRBbmNob3JYKGRvdWJsZSwgRXhjZXB0aW9uQ29kZSYpOworCisgICAgZG91YmxlIHZpZXdw
b3J0QW5jaG9yWSgpIGNvbnN0IHsgcmV0dXJuIG1fdmlld3BvcnRBbmNob3Iuc2Vjb25kOyB9Cisg
ICAgdm9pZCBzZXRWaWV3cG9ydEFuY2hvclkoZG91YmxlLCBFeGNlcHRpb25Db2RlJik7CisKKyAg
ICBjb25zdCBBdG9taWNTdHJpbmcgc2Nyb2xsKCkgY29uc3Q7CisgICAgdm9pZCBzZXRTY3JvbGwo
Y29uc3QgQXRvbWljU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpOworCisgICAgY29uc3QgU3RyaW5n
JiByZWdpb25TZXR0aW5ncygpIGNvbnN0IHsgcmV0dXJuIG1fc2V0dGluZ3M7IH0KKyAgICB2b2lk
IHNldFJlZ2lvblNldHRpbmdzKGNvbnN0IFN0cmluZyYpOworCisgICAgdmlydHVhbCBTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3Q7CisKKyAgICB1
c2luZyBSZWZDb3VudGVkPFRleHRUcmFja1JlZ2lvbj46OnJlZjsKKyAgICB1c2luZyBSZWZDb3Vu
dGVkPFRleHRUcmFja1JlZ2lvbj46OmRlcmVmOworCitwcm90ZWN0ZWQ6CisgICAgVGV4dFRyYWNr
UmVnaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsKKworICAgIERvY3VtZW50KiBvd25lckRv
Y3VtZW50KCkgeyByZXR1cm4gc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihtX3NjcmlwdEV4ZWN1dGlv
bkNvbnRleHQpOyB9CisKK3ByaXZhdGU6CisgICAgZW51bSBSZWdpb25TZXR0aW5nIHsgTm9uZSwg
SWQsIFdpZHRoLCBIZWlnaHQsIFJlZ2lvbkFuY2hvciwgVmlld3BvcnRBbmNob3IsIFNjcm9sbCB9
OworICAgIFJlZ2lvblNldHRpbmcgZ2V0U2V0dGluZ0Zyb21TdHJpbmcoY29uc3QgU3RyaW5nJik7
CisKKyAgICB2b2lkIHBhcnNlU2V0dGluZ1ZhbHVlKFJlZ2lvblNldHRpbmcsIGNvbnN0IFN0cmlu
ZyYpOworICAgIHZvaWQgcGFyc2VTZXR0aW5nKGNvbnN0IFN0cmluZyYsIHVuc2lnbmVkKik7CisK
KyAgICBTdHJpbmcgbV9pZDsKKyAgICBTdHJpbmcgbV9zZXR0aW5nczsKKworICAgIHVuc2lnbmVk
IG1fd2lkdGg7CisgICAgdW5zaWduZWQgbV9oZWlnaHQ7CisKKyAgICBzdGQ6OnBhaXI8dW5zaWdu
ZWQsIHVuc2lnbmVkPiBtX3JlZ2lvbkFuY2hvcjsKKyAgICBzdGQ6OnBhaXI8dW5zaWduZWQsIHVu
c2lnbmVkPiBtX3ZpZXdwb3J0QW5jaG9yOworCisgICAgYm9vbCBtX3Njcm9sbDsKKworICAgIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKKyAgICBUZXh0
VHJhY2sqIG1fdHJhY2s7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgor
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFja1Jl
Z2lvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFja1JlZ2lvbi5pZGwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjY2YzE0YmFmMmY5ZTY2YWJmZTZlNTAyZGJlODBlZGMwMzk4YzNmMgotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrUmVnaW9u
LmlkbApAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJ
bmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisg
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9VklE
RU9fVFJBQ0sgJiBXRUJWVFRfUkVHSU9OUywKKyAgICBWOEVuYWJsZWRBdFJ1bnRpbWU9d2Via2l0
VmlkZW9UcmFjaywKKyAgICBKU0dlbmVyYXRlVG9OYXRpdmVPYmplY3QsCisgICAgQ29uc3RydWN0
b3IoKSwKKyAgICBDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0LAorICAgIEpTQ3VzdG9t
TWFya0Z1bmN0aW9uLAorICAgIEpTQ3VzdG9tSXNSZWFjaGFibGUsCisgICAgSW1wbGVtZW50YXRp
b25MYWNrc1ZUYWJsZQorXSBpbnRlcmZhY2UgVGV4dFRyYWNrUmVnaW9uIHsKKyAgICByZWFkb25s
eSBhdHRyaWJ1dGUgVGV4dFRyYWNrIHRyYWNrOworCisgICAgYXR0cmlidXRlIERPTVN0cmluZyBp
ZDsKKyAgICBhdHRyaWJ1dGUgZG91YmxlIHdpZHRoCisgICAgICAgIHNldHRlciByYWlzZXMgKERP
TUV4Y2VwdGlvbik7CisgICAgYXR0cmlidXRlIGxvbmcgaGVpZ2h0CisgICAgICAgIHNldHRlciBy
YWlzZXMgKERPTUV4Y2VwdGlvbik7CisgICAgYXR0cmlidXRlIGRvdWJsZSByZWdpb25BbmNob3JY
CisgICAgICAgIHNldHRlciByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisgICAgYXR0cmlidXRlIGRv
dWJsZSByZWdpb25BbmNob3JZCisgICAgICAgIHNldHRlciByYWlzZXMgKERPTUV4Y2VwdGlvbik7
CisgICAgYXR0cmlidXRlIGRvdWJsZSB2aWV3cG9ydEFuY2hvclgKKyAgICAgICAgc2V0dGVyIHJh
aXNlcyAoRE9NRXhjZXB0aW9uKTsKKyAgICBhdHRyaWJ1dGUgZG91YmxlIHZpZXdwb3J0QW5jaG9y
WQorICAgICAgICBzZXR0ZXIgcmFpc2VzIChET01FeGNlcHRpb24pOworICAgIGF0dHJpYnV0ZSBE
T01TdHJpbmcgc2Nyb2xsCisgICAgICAgIHNldHRlciByYWlzZXMgKERPTUV4Y2VwdGlvbik7Cit9
OworCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5kZXggMmUyMWRhOWU4YjFhOGNiZjdiMmIw
OTM3MzY0MzBiYmE0YWZkZDBjNC4uMmY5N2VhOTg0MjRkYWNmZTgyZGU1NmM2NjdiOTQ5NjI1ZTc5
NDFmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbApAQCAtNDk3LDYgKzQ5Nyw3IEBACiAg
ICAgW0NvbmRpdGlvbmFsPVZJREVPX1RSQUNLLCBWOEVuYWJsZWRBdFJ1bnRpbWU9d2Via2l0Vmlk
ZW9UcmFja10gYXR0cmlidXRlIFRleHRUcmFja0N1ZUNvbnN0cnVjdG9yIFRleHRUcmFja0N1ZTsg
Ly8gVXNhYmxlIHdpdGggdGhlIG5ldyBvcGVyYXRvcgogICAgIFtDb25kaXRpb25hbD1WSURFT19U
UkFDSywgVjhFbmFibGVkQXRSdW50aW1lPXdlYmtpdFZpZGVvVHJhY2tdIGF0dHJpYnV0ZSBUZXh0
VHJhY2tDdWVMaXN0Q29uc3RydWN0b3IgVGV4dFRyYWNrQ3VlTGlzdDsKICAgICBbQ29uZGl0aW9u
YWw9VklERU9fVFJBQ0ssIFY4RW5hYmxlZEF0UnVudGltZT13ZWJraXRWaWRlb1RyYWNrXSBhdHRy
aWJ1dGUgVGV4dFRyYWNrTGlzdENvbnN0cnVjdG9yIFRleHRUcmFja0xpc3Q7CisgICAgW0NvbmRp
dGlvbmFsPVZJREVPX1RSQUNLICYgV0VCVlRUX1JFR0lPTlMsIFY4RW5hYmxlZEF0UnVudGltZT13
ZWJraXRWaWRlb1RyYWNrXSBhdHRyaWJ1dGUgVGV4dFRyYWNrUmVnaW9uQ29uc3RydWN0b3IgVGV4
dFRyYWNrUmVnaW9uOyAvLyBVc2FibGUgd2l0aCB0aGUgbmV3IG9wZXJhdG9yCiAgICAgW0NvbmRp
dGlvbmFsPVZJREVPX1RSQUNLLCBWOEVuYWJsZWRBdFJ1bnRpbWU9d2Via2l0VmlkZW9UcmFja10g
YXR0cmlidXRlIFRyYWNrRXZlbnRDb25zdHJ1Y3RvciBUcmFja0V2ZW50OwogCiAgICAgW0pTQ3Vz
dG9tR2V0dGVyLCBDb25kaXRpb25hbD1WSURFTywgVjhFbmFibGVkQXRSdW50aW1lXSBhdHRyaWJ1
dGUgSFRNTEF1ZGlvRWxlbWVudENvbnN0cnVjdG9yQ29uc3RydWN0b3IgQXVkaW87IC8vIFVzYWJs
ZSB3aXRoIHRoZSBuZXcgb3BlcmF0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vZmVhdHVyZXMuZ3lwaSBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lwaQpp
bmRleCA3N2IyYzc2YzQ0YTMyZmE5MzMwNGNlNGJjZDA3ZTIxMDVmZTljNTU4Li41MDcxMGU4NjY0
NGNiNjNjMTc4ZWQxMmEyNTdlYmI1YWRjMWY0ZDYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9mZWF0
dXJlcy5neXBpCkBAIC0xMzEsNiArMTMxLDcgQEAKICAgICAgICdFTkFCTEVfVklERU9fVFJBQ0s9
MScsCiAgICAgICAnRU5BQkxFX1ZJRVdQT1JUPTEnLAogICAgICAgJ0VOQUJMRV9XRUJHTD0xJywK
KyAgICAgICdFTkFCTEVfV0VCVlRUX1JFR0lPTlM9MScsCiAgICAgICAnRU5BQkxFX1dFQl9TT0NL
RVRTPTEnLAogICAgICAgJ0VOQUJMRV9XRUJfVElNSU5HPTEnLAogICAgICAgJ0VOQUJMRV9XT1JL
RVJTPTEnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCA0Y2VmNzA2ODhhYmZkNGExNTIyNTgwYTI1ZGQz
YTMzZTRmMGE4Yjg1Li43MjM4MDUxN2VlMTAwMWVjZGMzYTFkYTRlY2JmZTNlOTZiNGQ1ZGZlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZwpAQCAtMTU4LDYgKzE1OCw4IEBAIEVOQUJMRV9VU0VSU0VMRUNUX0FM
TCA9IEVOQUJMRV9VU0VSU0VMRUNUX0FMTDsKIEVOQUJMRV9WSURFTyA9IEVOQUJMRV9WSURFTzsK
IEVOQUJMRV9WSURFT19UUkFDSyA9ICQoRU5BQkxFX1ZJREVPX1RSQUNLXyQoUExBVEZPUk1fTkFN
RSkpOwogRU5BQkxFX1ZJREVPX1RSQUNLX21hY29zeCA9IEVOQUJMRV9WSURFT19UUkFDSzsKK0VO
QUJMRV9XRUJWVFRfUkVHSU9OUyA9ICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TXyQoUExBVEZPUk1f
TkFNRSkpOworRU5BQkxFX1dFQlZUVF9SRUdJT05TX21hY29zeCA9IEVOQUJMRV9XRUJWVFRfUkVH
SU9OUzsKIEVOQUJMRV9XRUJHTCA9IEVOQUJMRV9XRUJHTDsKIEVOQUJMRV9XRUJfQVVESU8gPSBF
TkFCTEVfV0VCX0FVRElPOwogRU5BQkxFX1dFQl9TT0NLRVRTID0gRU5BQkxFX1dFQl9TT0NLRVRT
OwpAQCAtMTY2LDQgKzE2OCw0IEBAIEVOQUJMRV9XT1JLRVJTID0gRU5BQkxFX1dPUktFUlM7CiBF
TkFCTEVfWEhSX1RJTUVPVVQgPSBFTkFCTEVfWEhSX1RJTUVPVVQ7CiBFTkFCTEVfWFNMVCA9IEVO
QUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQo
RU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQkxPQikgJChFTkFCTEVfQ0FO
VkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
TkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUsp
ICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0VYQ0xVU0lPTlMp
ICQoRU5BQkxFX0NTU19GSUxURVJTKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQo
RU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFC
TEVfQ1NTX1NIQURFUlMpICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX1NU
SUNLWV9QT1NJVElPTikgJChFTkFCTEVfQ1NTX1RSQU5TRk9STVNfQU5JTUFUSU9OU19VTlBSRUZJ
WEVEKSAkKEVOQUJMRV9DU1NfVkFSSUFCTEVTKSAkKEVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JV
TEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikg
JChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQo
RU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChF
TkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ESUFMT0dfRUxFTUVOVCkgJChFTkFC
TEVfRElSRUNUT1JZX1VQTE9BRCkgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQo
RU5BQkxFX0RSQUdHQUJMRV9SRUdJT04pICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFC
TEVfRklMRV9TWVNURU0pICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJ
KSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVO
X1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0hJR0hfRFBJX0NBTlZBUykgJChF
TkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JRlJBTUVfU0VBTUxFU1MpICQoRU5BQkxFX0lO
REVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1NQRUVDSCkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVU
X1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9XRUVLKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9MRUdBQ1lfQ1NT
X1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxF
X0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5B
QkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX0xJTktfUFJFUkVOREVSKSAkKEVOQUJMRV9NQVRI
TUwpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChF
TkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01JQ1JPREFUQSkg
JChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9V
VElMUykgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQ
SSkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUExVR0lOX1BST1hZX0ZPUl9WSURF
TykgJChFTkFCTEVfUFJPR1JFU1NfRUxFTUVOVCkgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykg
JChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJM
RV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9TQ1JJUFRFRF9TUEVFQ0gpICQoRU5B
QkxFX1NIQURPV19ET00pICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TUEVFQ0hf
U1lOVEhFU0lTKSAkKEVOQUJMRV9TUUxfREFUQUJBU0UpICQoRU5BQkxFX1NUWUxFX1NDT1BFRCkg
JChFTkFCTEVfU1VCUElYRUxfTEFZT1VUKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19ET01f
T0JKQ19CSU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URU1QTEFURV9FTEVN
RU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RFWFRfTk9USUZJQ0FUSU9O
U19PTkxZKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1VTRVJTRUxFQ1Rf
QUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1dFQkdM
KSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJf
VElNSU5HKSAkKEVOQUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVf
WFNMVCkgJChGRUFUVVJFX0RFRklORVNfJChQTEFURk9STV9OQU1FKSk7CitGRUFUVVJFX0RFRklO
RVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZB
UykgJChFTkFCTEVfQkxPQikgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19Q
Uk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVO
QUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRB
VElPTikgJChFTkFCTEVfQ1NTX0VYQ0xVU0lPTlMpICQoRU5BQkxFX0NTU19GSUxURVJTKSAkKEVO
QUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9O
KSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NIQURFUlMpICQoRU5BQkxFX0NT
U19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTikgJChFTkFCTEVfQ1NT
X1RSQU5TRk9STVNfQU5JTUFUSU9OU19VTlBSRUZJWEVEKSAkKEVOQUJMRV9DU1NfVkFSSUFCTEVT
KSAkKEVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQo
RU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQp
ICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMp
ICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAk
KEVOQUJMRV9ESUFMT0dfRUxFTUVOVCkgJChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCkgJChFTkFC
TEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0RSQUdHQUJMRV9SRUdJT04pICQo
RU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRklMRV9TWVNURU0pICQoRU5BQkxFX0ZJ
TFRFUlMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJM
RV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcp
ICQoRU5BQkxFX0hJR0hfRFBJX0NBTlZBUykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJM
RV9JRlJBTUVfU0VBTUxFU1MpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lO
UFVUX1NQRUVDSCkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVU
X1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9KQVZBU0NSSVBU
X0RFQlVHR0VSKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVf
TEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQo
RU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxF
X0xJTktfUFJFUkVOREVSKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX1NPVVJDRSkg
JChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFC
TEVfTUhUTUwpICQoRU5BQkxFX01JQ1JPREFUQSkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxF
KSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTk9USUZJQ0FUSU9O
UykgJChFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQSSkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikg
JChFTkFCTEVfUExVR0lOX1BST1hZX0ZPUl9WSURFTykgJChFTkFCTEVfUFJPR1JFU1NfRUxFTUVO
VCkgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JF
UVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAk
KEVOQUJMRV9TQ1JJUFRFRF9TUEVFQ0gpICQoRU5BQkxFX1NIQURPV19ET00pICQoRU5BQkxFX1NI
QVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TUUxfREFU
QUJBU0UpICQoRU5BQkxFX1NUWUxFX1NDT1BFRCkgJChFTkFCTEVfU1VCUElYRUxfTEFZT1VUKSAk
KEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUykgJChFTkFCTEVfU1ZH
X0ZPTlRTKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJ
TkcpICQoRU5BQkxFX1RFWFRfTk9USUZJQ0FUSU9OU19PTkxZKSAkKEVOQUJMRV9UT1VDSF9JQ09O
X0xPQURJTkcpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFC
TEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9XRUJHTCkg
JChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJ
TUlORykgJChFTkFCTEVfV09SS0VSUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hT
TFQpICQoRkVBVFVSRV9ERUZJTkVTXyQoUExBVEZPUk1fTkFNRSkpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3Vy
Y2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCA0
Y2VmNzA2ODhhYmZkNGExNTIyNTgwYTI1ZGQzYTMzZTRmMGE4Yjg1Li43MjM4MDUxN2VlMTAwMWVj
ZGMzYTFkYTRlY2JmZTNlOTZiNGQ1ZGZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtMTU4LDYgKzE1OCw4IEBA
IEVOQUJMRV9VU0VSU0VMRUNUX0FMTCA9IEVOQUJMRV9VU0VSU0VMRUNUX0FMTDsKIEVOQUJMRV9W
SURFTyA9IEVOQUJMRV9WSURFTzsKIEVOQUJMRV9WSURFT19UUkFDSyA9ICQoRU5BQkxFX1ZJREVP
X1RSQUNLXyQoUExBVEZPUk1fTkFNRSkpOwogRU5BQkxFX1ZJREVPX1RSQUNLX21hY29zeCA9IEVO
QUJMRV9WSURFT19UUkFDSzsKK0VOQUJMRV9XRUJWVFRfUkVHSU9OUyA9ICQoRU5BQkxFX1dFQlZU
VF9SRUdJT05TXyQoUExBVEZPUk1fTkFNRSkpOworRU5BQkxFX1dFQlZUVF9SRUdJT05TX21hY29z
eCA9IEVOQUJMRV9XRUJWVFRfUkVHSU9OUzsKIEVOQUJMRV9XRUJHTCA9IEVOQUJMRV9XRUJHTDsK
IEVOQUJMRV9XRUJfQVVESU8gPSBFTkFCTEVfV0VCX0FVRElPOwogRU5BQkxFX1dFQl9TT0NLRVRT
ID0gRU5BQkxFX1dFQl9TT0NLRVRTOwpAQCAtMTY2LDQgKzE2OCw0IEBAIEVOQUJMRV9XT1JLRVJT
ID0gRU5BQkxFX1dPUktFUlM7CiBFTkFCTEVfWEhSX1RJTUVPVVQgPSBFTkFCTEVfWEhSX1RJTUVP
VVQ7CiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVO
QUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFC
TEVfQkxPQikgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChF
TkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1Nf
Qk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChF
TkFCTEVfQ1NTX0VYQ0xVU0lPTlMpICQoRU5BQkxFX0NTU19GSUxURVJTKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJM
RV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NIQURFUlMpICQoRU5BQkxFX0NTU19DT01QT1NJ
VElORykgJChFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTikgJChFTkFCTEVfQ1NTX1RSQU5TRk9S
TVNfQU5JTUFUSU9OU19VTlBSRUZJWEVEKSAkKEVOQUJMRV9DU1NfVkFSSUFCTEVTKSAkKEVOQUJM
RV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NV
U1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxF
X0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxF
X0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9E
SUFMT0dfRUxFTUVOVCkgJChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCkgJChFTkFCTEVfRE9NNF9F
VkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0RSQUdHQUJMRV9SRUdJT04pICQoRU5BQkxFX0VO
Q1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRklMRV9TWVNURU0pICQoRU5BQkxFX0ZJTFRFUlMpICQo
RU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NB
VElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxF
X0hJR0hfRFBJX0NBTlZBUykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JRlJBTUVf
U0VBTUxFU1MpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1NQRUVD
SCkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
TE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElN
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VS
KSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05P
VElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xF
R0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX0xJTktfUFJF
UkVOREVSKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVf
TUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwp
ICQoRU5BQkxFX01JQ1JPREFUQSkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJM
RV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFC
TEVfUEFHRV9WSVNJQklMSVRZX0FQSSkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVf
UExVR0lOX1BST1hZX0ZPUl9WSURFTykgJChFTkFCTEVfUFJPR1JFU1NfRUxFTUVOVCkgJChFTkFC
TEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5J
TUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9T
Q1JJUFRFRF9TUEVFQ0gpICQoRU5BQkxFX1NIQURPV19ET00pICQoRU5BQkxFX1NIQVJFRF9XT1JL
RVJTKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TUUxfREFUQUJBU0UpICQo
RU5BQkxFX1NUWUxFX1NDT1BFRCkgJChFTkFCTEVfU1VCUElYRUxfTEFZT1VUKSAkKEVOQUJMRV9T
VkcpICQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAk
KEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5B
QkxFX1RFWFRfTk9USUZJQ0FUSU9OU19PTkxZKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcp
ICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9f
VFJBQ0spICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9T
T0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9Y
SFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChGRUFUVVJFX0RFRklORVNfJChQTEFURk9STV9O
QU1FKSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxF
X0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQkxPQikgJChFTkFCTEVfQ0FOVkFTX1BB
VEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQo
RU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5B
QkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0VYQ0xVU0lPTlMpICQoRU5B
QkxFX0NTU19GSUxURVJTKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NT
X1NIQURFUlMpICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX1NUSUNLWV9Q
T1NJVElPTikgJChFTkFCTEVfQ1NTX1RSQU5TRk9STVNfQU5JTUFUSU9OU19VTlBSRUZJWEVEKSAk
KEVOQUJMRV9DU1NfVkFSSUFCTEVTKSAkKEVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTKSAk
KEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFC
TEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxF
X0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVf
REVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ESUFMT0dfRUxFTUVOVCkgJChFTkFCTEVfRElS
RUNUT1JZX1VQTE9BRCkgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxF
X0RSQUdHQUJMRV9SRUdJT04pICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRklM
RV9TWVNURU0pICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVO
QUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0Vf
RE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0hJR0hfRFBJX0NBTlZBUykgJChFTkFCTEVf
SUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JRlJBTUVfU0VBTUxFU1MpICQoRU5BQkxFX0lOREVYRURf
REFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1NQRUVDSCkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xP
UikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVf
TU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVL
KSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRP
Ul9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FD
WV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xJ
TktfUFJFRkVUQ0gpICQoRU5BQkxFX0xJTktfUFJFUkVOREVSKSAkKEVOQUJMRV9NQVRITUwpICQo
RU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVf
TUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01JQ1JPREFUQSkgJChFTkFC
TEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykg
JChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQSSkgJChF
TkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUExVR0lOX1BST1hZX0ZPUl9WSURFTykgJChF
TkFCTEVfUFJPR1JFU1NfRUxFTUVOVCkgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFC
TEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVNP
TFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9TQ1JJUFRFRF9TUEVFQ0gpICQoRU5BQkxFX1NI
QURPV19ET00pICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhF
U0lTKSAkKEVOQUJMRV9TUUxfREFUQUJBU0UpICQoRU5BQkxFX1NUWUxFX1NDT1BFRCkgJChFTkFC
TEVfU1VCUElYRUxfTEFZT1VUKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19ET01fT0JKQ19C
SU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAk
KEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RFWFRfTk9USUZJQ0FUSU9OU19PTkxZ
KSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAk
KEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1dFQlZUVF9SRUdJ
T05TKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfU09D
S0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV09SS0VSUykgJChFTkFCTEVfWEhS
X1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRkVBVFVSRV9ERUZJTkVTXyQoUExBVEZPUk1fTkFN
RSkpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IDg3ODQ1MWI4ZTU4ZDM0NjFkM2Y4NTk1NmYyOGNhMmZkZTZlNjM0MWYuLjI0
MjdmYmE0NTFmYTZiMzNmYjkzYzFlZDc0MTc1MGViNmJmNTI5YWYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
MyBAQAorMjAxMy0wMi0yMSAgVmljdG9yIENhcmJ1bmUgIDx2Y2FyYnVuZUBjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgVGV4dFRyYWNrUmVnaW9uIENvbnN0cnVjdG9yCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTA1MTEKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIG1lZGlhL3RyYWNrL3RyYWNrLXJlZ2lv
bi1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIG1lZGlhL3RyYWNr
L3RyYWNrLXJlZ2lvbi1jb25zdHJ1Y3Rvci5odG1sOiBBZGRlZC4KKwogMjAxMy0wMi0yMSAgRGF2
aWQgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CiAKICAgICAgICAgW05ldyBNdWx0aWNvbHVtbl0g
QWRkIGEgcG9zaXRpb25lZCBvYmplY3QgcGFnaW5hdGlvbiB0ZXN0LgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stcmVnaW9uLWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLXJlZ2lvbi1jb25zdHJ1Y3Rvci1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTQxYjRmZGE4YzFjOGQ1OTYwNmJlMzBjYzUwZmRjOTU1OWM2
ZmQyYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLXJl
Z2lvbi1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1OCBAQAorVGVzdHMgdGhl
IGNvbnN0cnVjdG9yIGFuZCBtdXRhdGlvbiBvZiBUZXh0VHJhY2tSZWdpb24uCisKKyoqIFRlc3Qg
dGhlIGRlZmF1bHQgaW5kZXhzIG9mIGEgcmVnaW9uLiAqKgorRVhQRUNURUQgKHJlZ2lvbi50cmFj
ayA9PSAnbnVsbCcpIE9LCitFWFBFQ1RFRCAocmVnaW9uLnNjcm9sbCA9PSAnJykgT0sKK0VYUEVD
VEVEIChyZWdpb24udmlld3BvcnRBbmNob3JYID09ICcwJykgT0sKK0VYUEVDVEVEIChyZWdpb24u
dmlld3BvcnRBbmNob3JZID09ICcxMDAnKSBPSworRVhQRUNURUQgKHJlZ2lvbi5yZWdpb25BbmNo
b3JYID09ICcwJykgT0sKK0VYUEVDVEVEIChyZWdpb24ucmVnaW9uQW5jaG9yWSA9PSAnMTAwJykg
T0sKK0VYUEVDVEVEIChyZWdpb24uaGVpZ2h0ID09ICczJykgT0sKK0VYUEVDVEVEIChyZWdpb24u
d2lkdGggPT0gJzEwMCcpIE9LCisKKyoqIFRlc3QgdGhhdCBpbmNvcnJlY3QgbXV0YXRpb24ga2Vl
cHMgcHJldmlvdXMgdmFsaWQgdmFsdWVzLiAqKgorUlVOKHJlZ2lvbi5zY3JvbGwgPSAnaW52YWxp
ZC1zY3JvbGwtdmFsdWUnKQorRXJyb3I6IFN5bnRheEVycm9yOiBET00gRXhjZXB0aW9uIDEyCitF
WFBFQ1RFRCAocmVnaW9uLnNjcm9sbCA9PSAnJykgT0sKKworSW52YWxpZCBwZXJjZW50YWdlIHZh
bHVlOiAtMQorUlVOKHJlZ2lvbi52aWV3cG9ydEFuY2hvclggPSBpbnZhbGlkUGVyY2VudGFnZVZh
bHVlc1tpbmRleF0pCitFWFBFQ1RFRCAocmVnaW9uLnZpZXdwb3J0QW5jaG9yWCA9PSAnMCcpIE9L
CitSVU4ocmVnaW9uLnZpZXdwb3J0QW5jaG9yWSA9IGludmFsaWRQZXJjZW50YWdlVmFsdWVzW2lu
ZGV4XSkKK0VYUEVDVEVEIChyZWdpb24udmlld3BvcnRBbmNob3JZID09ICcxMDAnKSBPSworUlVO
KHJlZ2lvbi5yZWdpb25BbmNob3JYID0gaW52YWxpZFBlcmNlbnRhZ2VWYWx1ZXNbaW5kZXhdKQor
RVhQRUNURUQgKHJlZ2lvbi5yZWdpb25BbmNob3JYID09ICcwJykgT0sKK1JVTihyZWdpb24ucmVn
aW9uQW5jaG9yWSA9IGludmFsaWRQZXJjZW50YWdlVmFsdWVzW2luZGV4XSkKK0VYUEVDVEVEIChy
ZWdpb24ucmVnaW9uQW5jaG9yWSA9PSAnMTAwJykgT0sKK1JVTihyZWdpb24ud2lkdGggPSBpbnZh
bGlkUGVyY2VudGFnZVZhbHVlc1tpbmRleF0pCitFWFBFQ1RFRCAocmVnaW9uLndpZHRoID09ICcx
MDAnKSBPSworCitJbnZhbGlkIHBlcmNlbnRhZ2UgdmFsdWU6IDEwMQorUlVOKHJlZ2lvbi52aWV3
cG9ydEFuY2hvclggPSBpbnZhbGlkUGVyY2VudGFnZVZhbHVlc1tpbmRleF0pCitFWFBFQ1RFRCAo
cmVnaW9uLnZpZXdwb3J0QW5jaG9yWCA9PSAnMCcpIE9LCitSVU4ocmVnaW9uLnZpZXdwb3J0QW5j
aG9yWSA9IGludmFsaWRQZXJjZW50YWdlVmFsdWVzW2luZGV4XSkKK0VYUEVDVEVEIChyZWdpb24u
dmlld3BvcnRBbmNob3JZID09ICcxMDAnKSBPSworUlVOKHJlZ2lvbi5yZWdpb25BbmNob3JYID0g
aW52YWxpZFBlcmNlbnRhZ2VWYWx1ZXNbaW5kZXhdKQorRVhQRUNURUQgKHJlZ2lvbi5yZWdpb25B
bmNob3JYID09ICcwJykgT0sKK1JVTihyZWdpb24ucmVnaW9uQW5jaG9yWSA9IGludmFsaWRQZXJj
ZW50YWdlVmFsdWVzW2luZGV4XSkKK0VYUEVDVEVEIChyZWdpb24ucmVnaW9uQW5jaG9yWSA9PSAn
MTAwJykgT0sKK1JVTihyZWdpb24ud2lkdGggPSBpbnZhbGlkUGVyY2VudGFnZVZhbHVlc1tpbmRl
eF0pCitFWFBFQ1RFRCAocmVnaW9uLndpZHRoID09ICcxMDAnKSBPSworUlVOKHJlZ2lvbi5oZWln
aHQgPSAtMSkKK0VYUEVDVEVEIChyZWdpb24uaGVpZ2h0ID09ICczJykgT0sKKworKiogVGVzdCB0
aGF0IHByb3BlciBtdXRhdGlvbiBrZWVwcyBhc3NpZ25lZCB2YWx1ZS4gKioKK1JVTihyZWdpb24u
aGVpZ2h0ID0gMTMwKQorRVhQRUNURUQgKHJlZ2lvbi5oZWlnaHQgPT0gJzEzMCcpIE9LCitSVU4o
cmVnaW9uLnZpZXdwb3J0QW5jaG9yWCA9IDY0KQorRVhQRUNURUQgKHJlZ2lvbi52aWV3cG9ydEFu
Y2hvclggPT0gJzY0JykgT0sKK1JVTihyZWdpb24udmlld3BvcnRBbmNob3JZID0gMzIpCitFWFBF
Q1RFRCAocmVnaW9uLnZpZXdwb3J0QW5jaG9yWSA9PSAnMzInKSBPSworUlVOKHJlZ2lvbi5yZWdp
b25BbmNob3JYID0gMTYpCitFWFBFQ1RFRCAocmVnaW9uLnJlZ2lvbkFuY2hvclggPT0gJzE2Jykg
T0sKK1JVTihyZWdpb24ucmVnaW9uQW5jaG9yWSA9IDgpCitFWFBFQ1RFRCAocmVnaW9uLnJlZ2lv
bkFuY2hvclkgPT0gJzgnKSBPSworUlVOKHJlZ2lvbi53aWR0aCA9IDQyKQorRVhQRUNURUQgKHJl
Z2lvbi53aWR0aCA9PSAnNDInKSBPSworRU5EIE9GIFRFU1QKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stcmVnaW9uLWNvbnN0cnVjdG9yLmh0bWwgYi9MYXlvdXRU
ZXN0cy9tZWRpYS90cmFjay90cmFjay1yZWdpb24tY29uc3RydWN0b3IuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5hZGU3NGM1NmRhZDJhMmZmZTZmMzNlMTdjNGJlOTVlNmU4MTcxYjZkCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stcmVnaW9uLWNvbnN0cnVjdG9yLmh0
bWwKQEAgLTAsMCArMSw3NyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4K
KyAgICAgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0
bWw7IGNoYXJzZXQ9dXRmLTgiIC8+CisKKyAgICAgICAgPHNjcmlwdCBzcmM9Li4vbWVkaWEtZmls
ZS5qcz48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Li4vdmlkZW8tdGVzdC5qcz48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIHZhciByZWdpb247CisgICAgICAg
ICAgICB2YXIgaW52YWxpZFBlcmNlbnRhZ2VWYWx1ZXM7CisKKyAgICAgICAgICAgIGZ1bmN0aW9u
IHN0YXJ0VGVzdCgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgaWYgKCF3aW5kb3cu
VGV4dFRyYWNrUmVnaW9uKSB7CisgICAgICAgICAgICAgICAgICAgIGZhaWxUZXN0KCk7CisgICAg
ICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
ICAgICByZWdpb24gPSBuZXcgVGV4dFRyYWNrUmVnaW9uKCk7CisKKyAgICAgICAgICAgICAgICBj
b25zb2xlV3JpdGUoIioqIFRlc3QgdGhlIGRlZmF1bHQgaW5kZXhzIG9mIGEgcmVnaW9uLiAqKiIp
OworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgicmVnaW9uLnRyYWNrIiwgbnVsbCk7Cisg
ICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJyZWdpb24uc2Nyb2xsIiwgIiIpOworICAgICAg
ICAgICAgICAgIHRlc3RFeHBlY3RlZCgicmVnaW9uLnZpZXdwb3J0QW5jaG9yWCIsIDApOworICAg
ICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgicmVnaW9uLnZpZXdwb3J0QW5jaG9yWSIsIDEwMCk7
CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJyZWdpb24ucmVnaW9uQW5jaG9yWCIsIDAp
OworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgicmVnaW9uLnJlZ2lvbkFuY2hvclkiLCAx
MDApOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgicmVnaW9uLmhlaWdodCIsIDMpOwor
ICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgicmVnaW9uLndpZHRoIiwgMTAwKTsKKworICAg
ICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiPGJyPioqIFRlc3QgdGhhdCBpbmNvcnJlY3QgbXV0
YXRpb24ga2VlcHMgcHJldmlvdXMgdmFsaWQgdmFsdWVzLiAqKiIpOworICAgICAgICAgICAgICAg
IHJ1bigicmVnaW9uLnNjcm9sbCA9ICdpbnZhbGlkLXNjcm9sbC12YWx1ZSciKTsKKyAgICAgICAg
ICAgICAgICB0ZXN0RXhwZWN0ZWQoInJlZ2lvbi5zY3JvbGwiLCAiIik7CisKKyAgICAgICAgICAg
ICAgICBpbnZhbGlkUGVyY2VudGFnZVZhbHVlcyA9IFstMSwgMTAxXTsKKyAgICAgICAgICAgICAg
ICBmb3IgKGluZGV4IGluIGludmFsaWRQZXJjZW50YWdlVmFsdWVzKSB7CisgICAgICAgICAgICAg
ICAgICBjb25zb2xlV3JpdGUoIjxicj5JbnZhbGlkIHBlcmNlbnRhZ2UgdmFsdWU6ICIgKyBpbnZh
bGlkUGVyY2VudGFnZVZhbHVlc1tpbmRleF0pOworICAgICAgICAgICAgICAgICAgcnVuKCJyZWdp
b24udmlld3BvcnRBbmNob3JYID0gaW52YWxpZFBlcmNlbnRhZ2VWYWx1ZXNbaW5kZXhdIik7Cisg
ICAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInJlZ2lvbi52aWV3cG9ydEFuY2hvclgiLCAw
KTsKKyAgICAgICAgICAgICAgICAgIHJ1bigicmVnaW9uLnZpZXdwb3J0QW5jaG9yWSA9IGludmFs
aWRQZXJjZW50YWdlVmFsdWVzW2luZGV4XSIpOworICAgICAgICAgICAgICAgICAgdGVzdEV4cGVj
dGVkKCJyZWdpb24udmlld3BvcnRBbmNob3JZIiwgMTAwKTsKKyAgICAgICAgICAgICAgICAgIHJ1
bigicmVnaW9uLnJlZ2lvbkFuY2hvclggPSBpbnZhbGlkUGVyY2VudGFnZVZhbHVlc1tpbmRleF0i
KTsKKyAgICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgicmVnaW9uLnJlZ2lvbkFuY2hvclgi
LCAwKTsKKyAgICAgICAgICAgICAgICAgIHJ1bigicmVnaW9uLnJlZ2lvbkFuY2hvclkgPSBpbnZh
bGlkUGVyY2VudGFnZVZhbHVlc1tpbmRleF0iKTsKKyAgICAgICAgICAgICAgICAgIHRlc3RFeHBl
Y3RlZCgicmVnaW9uLnJlZ2lvbkFuY2hvclkiLCAxMDApOworICAgICAgICAgICAgICAgICAgcnVu
KCJyZWdpb24ud2lkdGggPSBpbnZhbGlkUGVyY2VudGFnZVZhbHVlc1tpbmRleF0iKTsKKyAgICAg
ICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgicmVnaW9uLndpZHRoIiwgMTAwKTsKKyAgICAgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBydW4oInJlZ2lvbi5oZWlnaHQgPSAtMSIpOwor
ICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgicmVnaW9uLmhlaWdodCIsIDMpOworCisgICAg
ICAgICAgICAgICAgY29uc29sZVdyaXRlKCI8YnI+KiogVGVzdCB0aGF0IHByb3BlciBtdXRhdGlv
biBrZWVwcyBhc3NpZ25lZCB2YWx1ZS4gKioiKTsKKyAgICAgICAgICAgICAgICBydW4oInJlZ2lv
bi5oZWlnaHQgPSAxMzAiKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInJlZ2lvbi5o
ZWlnaHQiLCAxMzApOworCisgICAgICAgICAgICAgICAgcnVuKCJyZWdpb24udmlld3BvcnRBbmNo
b3JYID0gNjQiKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInJlZ2lvbi52aWV3cG9y
dEFuY2hvclgiLCA2NCk7CisgICAgICAgICAgICAgICAgcnVuKCJyZWdpb24udmlld3BvcnRBbmNo
b3JZID0gMzIiKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInJlZ2lvbi52aWV3cG9y
dEFuY2hvclkiLCAzMik7CisgICAgICAgICAgICAgICAgcnVuKCJyZWdpb24ucmVnaW9uQW5jaG9y
WCA9IDE2Iik7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJyZWdpb24ucmVnaW9uQW5j
aG9yWCIsIDE2KTsKKyAgICAgICAgICAgICAgICBydW4oInJlZ2lvbi5yZWdpb25BbmNob3JZID0g
OCIpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgicmVnaW9uLnJlZ2lvbkFuY2hvclki
LCA4KTsKKworICAgICAgICAgICAgICAgIHJ1bigicmVnaW9uLndpZHRoID0gNDIiKTsKKyAgICAg
ICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInJlZ2lvbi53aWR0aCIsIDQyKTsKKworICAgICAgICAg
ICAgICAgIGVuZFRlc3QoKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICA8L3NjcmlwdD4KKyAg
ICA8L2hlYWQ+CisgICAgPGJvZHkgb25sb2FkPSJzdGFydFRlc3QoKSI+CisgICAgICAgIDxwPlRl
c3RzIHRoZSBjb25zdHJ1Y3RvciBhbmQgbXV0YXRpb24gb2YgVGV4dFRyYWNrUmVnaW9uLjwvcD4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189789</attachid>
            <date>2013-02-22 10:06:09 -0800</date>
            <delta_ts>2013-02-23 10:19:51 -0800</delta_ts>
            <desc>Addressed first comments</desc>
            <filename>bug-110511-20130222200227.patch</filename>
            <type>text/plain</type>
            <size>50093</size>
            <attacher name="Victor Carbune">vcarbune</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzNjEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
ZmQyNGQyNzFiYjY3MmU0YWUyMjRjYTM2NWE5Njc2MjEyNjJhM2ViLi42ZDE1MTIyM2UwOWVjOWE5
YzIwZWNjMTNhM2ExMWEyNzE0YWZjMDY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxMy0wMi0yMSAgVmljdG9yIENhcmJ1bmUgIDx2Y2FyYnVuZUBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgVGV4dFRyYWNrUmVnaW9uIENvbnN0cnVjdG9yCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTA1MTEKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDEzLTAyLTE5ICBGaWxpcCBQaXpsbyAgPGZwaXps
b0BhcHBsZS5jb20+CiAKICAgICAgICAgREZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUludDMy
VG9Eb3VibGUoKSBoYXMgYW4gdW5uZWNlc3NhcnkgY2FzZSBmb3IgY29uc3RhbnQgb3BlcmFuZHMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggNzYzZjdhYzE5Y2FmODk1YmJmNGM1NDc4NTM2NmYwN2NmMjRjMWRjNC4uY2IyZTRjMjU2
YzRjZDY2MDRjMTZhZWI2NmYxMTE4NDEzM2E4OGVlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAx
My0wMi0yMSAgVmljdG9yIENhcmJ1bmUgIDx2Y2FyYnVuZUBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgVGV4dFRyYWNrUmVnaW9uIENvbnN0cnVjdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTA1MTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0Zi9GZWF0dXJlRGVmaW5lcy5oOgorCiAyMDEzLTAy
LTIwICBSb2dlciBGb25nICA8cm9nZXJfZm9uZ0BhcHBsZS5jb20+CiAKICAgICAgICAgR2V0IFZT
MjAxMCBTb2x1dGlvbiBCJkkgcmVhZHkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjZlODE5NzBlYjYyYjE4Njcx
OTBjZGE3NzQwNjJiY2JjNzg0YmQ3ZS4uMWU3Nzk3NDlkOWQ1MzY4MjgzOWUzMGYzOGNkMmUxZGU0
Y2MxYzc2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDEzLTAyLTIxICBWaWN0b3Ig
Q2FyYnVuZSAgPHZjYXJidW5lQGNocm9taXVtLm9yZz4KKworICAgICAgICBUZXh0VHJhY2tSZWdp
b24gQ29uc3RydWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTExMDUxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRlc3Q6IG1lZGlhL3RyYWNrL3RyYWNrLXJlZ2lvbi1jb25zdHJ1Y3Rvci5odG1sCisK
KyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtl
OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAg
ICAgICAgKiBodG1sL3RyYWNrL1RleHRUcmFjay5jcHA6CisgICAgICAgICogaHRtbC90cmFjay9U
ZXh0VHJhY2suaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGh0bWwvdHJhY2svVGV4
dFRyYWNrUmVnaW9uLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdl
YkNvcmU6OlRleHRUcmFja1JlZ2lvbjo6VGV4dFRyYWNrUmVnaW9uKToKKyAgICAgICAgKFdlYkNv
cmU6OlRleHRUcmFja1JlZ2lvbjo6flRleHRUcmFja1JlZ2lvbik6CisgICAgICAgIChXZWJDb3Jl
OjpUZXh0VHJhY2tSZWdpb246OnNldFRyYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFj
a1JlZ2lvbjo6c2V0SWQpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrUmVnaW9uOjpzZXRX
aWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tSZWdpb246OnNldEhlaWdodCk6Cisg
ICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tSZWdpb246OnNldFJlZ2lvbkFuY2hvclgpOgorICAg
ICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrUmVnaW9uOjpzZXRSZWdpb25BbmNob3JZKToKKyAgICAg
ICAgKFdlYkNvcmU6OlRleHRUcmFja1JlZ2lvbjo6c2V0Vmlld3BvcnRBbmNob3JYKToKKyAgICAg
ICAgKFdlYkNvcmU6OlRleHRUcmFja1JlZ2lvbjo6c2V0Vmlld3BvcnRBbmNob3JZKToKKyAgICAg
ICAgKFdlYkNvcmU6OlRleHRUcmFja1JlZ2lvbjo6c2Nyb2xsKToKKyAgICAgICAgKFdlYkNvcmU6
OlRleHRUcmFja1JlZ2lvbjo6c2V0U2Nyb2xsKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFj
a1JlZ2lvbjo6c2V0UmVnaW9uU2V0dGluZ3MpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNr
UmVnaW9uOjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRU
cmFja1JlZ2lvbjo6Z2V0U2V0dGluZ0Zyb21TdHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6VGV4
dFRyYWNrUmVnaW9uOjpwYXJzZVNldHRpbmdWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0
VHJhY2tSZWdpb246OnBhcnNlU2V0dGluZyk6CisgICAgICAgICogaHRtbC90cmFjay9UZXh0VHJh
Y2tSZWdpb24uaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFRleHRUcmFj
a1JlZ2lvbik6CisgICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tSZWdpb246OmNyZWF0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tSZWdpb246OnRyYWNrKToKKyAgICAgICAgKFdlYkNv
cmU6OlRleHRUcmFja1JlZ2lvbjo6aWQpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrUmVn
aW9uOjp3aWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tSZWdpb246OmhlaWdodCk6
CisgICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tSZWdpb246OnJlZ2lvbkFuY2hvclgpOgorICAg
ICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrUmVnaW9uOjpyZWdpb25BbmNob3JZKToKKyAgICAgICAg
KFdlYkNvcmU6OlRleHRUcmFja1JlZ2lvbjo6dmlld3BvcnRBbmNob3JYKToKKyAgICAgICAgKFdl
YkNvcmU6OlRleHRUcmFja1JlZ2lvbjo6dmlld3BvcnRBbmNob3JZKToKKyAgICAgICAgKFdlYkNv
cmU6OlRleHRUcmFja1JlZ2lvbjo6cmVnaW9uU2V0dGluZ3MpOgorICAgICAgICAoV2ViQ29yZTo6
VGV4dFRyYWNrUmVnaW9uOjpvd25lckRvY3VtZW50KToKKyAgICAgICAgKiBodG1sL3RyYWNrL1Rl
eHRUcmFja1JlZ2lvbi5pZGw6IEFkZGVkLgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDoK
KwogMjAxMy0wMi0yMSAgWGFuIExvcGV6ICA8eGxvcGV6QHJpbS5jb20+CiAKICAgICAgICAgW0Js
YWNrQmVycnldIExheWVyRmlsdGVyUmVuZGVyZXI6IGZpeCBpbmNsdXNpb24gb2YgVmVjdG9yLmgK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggY2ExYWQ5NzUyYmQ4OTZmNWIwMWRhMjFlOGMy
MjA0MjhjYTJjMjA0Ny4uYjZlODMwOGYxNzVlNzdlODQ1NzBlODZhZTFlYThmNjFhZWZkMzdjYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMy0wMi0yMSAg
VmljdG9yIENhcmJ1bmUgIDx2Y2FyYnVuZUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVGV4dFRy
YWNrUmVnaW9uIENvbnN0cnVjdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMTA1MTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGZlYXR1cmVzLmd5cGk6CisKIDIwMTMtMDItMjEgIFZzZXZvbG9kIFZs
YXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogR2V0
IHJpZCBvZiBwYXJzZWRVUkwgaW4gdWlTb3VyY2VDb2RlLCB1c2UgbmFtZSBhbmQgcGF0aCBmb3Ig
ZGlzcGxheU5hbWUgaW5zdGVhZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCA2MjU5YzM3ZTVlZDUyOGJm
YmYyNjNiZGM1YTQzYWQyM2NkZWQzNDI0Li44ODZjZDZjYWNjNDg5N2ZlOGE3ZTc5OWY3OWFlNWY2
NDkzZDhkYjY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTMtMDItMjEg
IFZpY3RvciBDYXJidW5lICA8dmNhcmJ1bmVAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFRleHRU
cmFja1JlZ2lvbiBDb25zdHJ1Y3RvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTEwNTExCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoK
KwogMjAxMy0wMi0yMCAgRGlyayBTY2h1bHplICA8a3JpdEB3ZWJraXQub3JnPgogCiAgICAgICAg
IEVuYWJsZSBDQU5WQVNfUEFUSCBmbGFnCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZDk0YzEwZWEwMmQyY2ViNjNl
NjU1ZDYxMTM3MTgyMmI5MDcwZDAzMS4uNjhjYTNhZmI1OWYyNzFhYTRjNTVlMzdhZWE4YmY2NDQ2
OWVkZjJmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDEzLTAyLTIxICBWaWN0b3Ig
Q2FyYnVuZSAgPHZjYXJidW5lQGNocm9taXVtLm9yZz4KKworICAgICAgICBUZXh0VHJhY2tSZWdp
b24gQ29uc3RydWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTExMDUxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisKIDIwMTMt
MDItMjEgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAg
ICAgIFVucmV2aWV3ZWQuIEZpeCBtYWtlIGRpc3RjaGVjay4KZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZwppbmRleCAyNWQwMjg0ODA4YjlhNzk0NjMwZTljZGQzZmQ1ODhmMTFkNWEwYjg2Li5jZTZlOTQ1
ZTM3ZGEyYzZjZWY2MGQzYmVkNTIwM2EwOTA5MmRhMWNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29u
ZmlnCkBAIC0xNjMsNiArMTYzLDggQEAgRU5BQkxFX1VTRVJTRUxFQ1RfQUxMID0gRU5BQkxFX1VT
RVJTRUxFQ1RfQUxMOwogRU5BQkxFX1ZJREVPID0gRU5BQkxFX1ZJREVPOwogRU5BQkxFX1ZJREVP
X1RSQUNLID0gJChFTkFCTEVfVklERU9fVFJBQ0tfJChQTEFURk9STV9OQU1FKSk7CiBFTkFCTEVf
VklERU9fVFJBQ0tfbWFjb3N4ID0gRU5BQkxFX1ZJREVPX1RSQUNLOworRU5BQkxFX1dFQlZUVF9S
RUdJT05TID0gJChFTkFCTEVfV0VCVlRUX1JFR0lPTlNfJChQTEFURk9STV9OQU1FKSk7CitFTkFC
TEVfV0VCVlRUX1JFR0lPTlNfbWFjb3N4ID0gRU5BQkxFX1dFQlZUVF9SRUdJT05TOwogRU5BQkxF
X1dFQkdMID0gRU5BQkxFX1dFQkdMOwogRU5BQkxFX1dFQl9BVURJTyA9IEVOQUJMRV9XRUJfQVVE
SU87CiBFTkFCTEVfV0VCX1NPQ0tFVFMgPSBFTkFCTEVfV0VCX1NPQ0tFVFM7CkBAIC0xNzEsNCAr
MTczLDQgQEAgRU5BQkxFX1dPUktFUlMgPSBFTkFCTEVfV09SS0VSUzsKIEVOQUJMRV9YSFJfVElN
RU9VVCA9IEVOQUJMRV9YSFJfVElNRU9VVDsKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAK
LUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxF
UkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9CTE9CKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChF
TkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVf
Q1NQX05FWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NT
X0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfRVhDTFVTSU9OUykgJChFTkFCTEVfQ1NT
X0ZJTFRFUlMpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lN
QUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0hBREVS
UykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lUSU9O
KSAkKEVOQUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1VOUFJFRklYRUQpICQoRU5BQkxF
X0NTU19WQVJJQUJMRVMpICQoRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVMpICQoRU5BQkxF
X0NTUzNfVEVYVCkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNI
Qk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9U
UkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0Vf
T1JJRU5UQVRJT04pICQoRU5BQkxFX0RJQUxPR19FTEVNRU5UKSAkKEVOQUJMRV9ESVJFQ1RPUllf
VVBMT0FEKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRFJBR0dB
QkxFX1JFR0lPTikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURf
TUVESUFfVjIpICQoRU5BQkxFX0ZJTEVfU1lTVEVNKSAkKEVOQUJMRV9GSUxURVJTKSAkKEVOQUJM
RV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04p
ICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9ISUdI
X0RQSV9DQU5WQVMpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSUZSQU1FX1NFQU1M
RVNTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTlBVVF9TUEVFQ0gpICQo
RU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FM
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChF
TkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklD
QVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lf
V0VCX0FVRElPKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9MSU5LX1BSRVJFTkRF
UikgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElB
X1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVO
QUJMRV9NSUNST0RBVEEpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFW
SUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BB
R0VfVklTSUJJTElUWV9BUEkpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BMVUdJ
Tl9QUk9YWV9GT1JfVklERU8pICQoRU5BQkxFX1BST0dSRVNTX0VMRU1FTlQpICQoRU5BQkxFX1BS
T1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElP
Tl9GUkFNRSkgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfU0NSSVBU
RURfU1BFRUNIKSAkKEVOQUJMRV9TSEFET1dfRE9NKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykg
JChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1FMX0RBVEFCQVNFKSAkKEVOQUJM
RV9TVFlMRV9TQ09QRUQpICQoRU5BQkxFX1NVQlBJWEVMX0xBWU9VVCkgJChFTkFCTEVfU1ZHKSAk
KEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1MpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFC
TEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9U
RVhUX05PVElGSUNBVElPTlNfT05MWSkgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVO
QUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNL
KSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfU09DS0VU
UykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV09SS0VSUykgJChFTkFCTEVfWEhSX1RJ
TUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRkVBVFVSRV9ERUZJTkVTXyQoUExBVEZPUk1fTkFNRSkp
OworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NF
TEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0JMT0IpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAk
KEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJM
RV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9D
U1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19FWENMVVNJT05TKSAkKEVOQUJMRV9D
U1NfRklMVEVSUykgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TSEFE
RVJTKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19TVElDS1lfUE9TSVRJ
T04pICQoRU5BQkxFX0NTU19UUkFOU0ZPUk1TX0FOSU1BVElPTlNfVU5QUkVGSVhFRCkgJChFTkFC
TEVfQ1NTX1ZBUklBQkxFUykgJChFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUykgJChFTkFC
TEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RB
U0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRB
X1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklD
RV9PUklFTlRBVElPTikgJChFTkFCTEVfRElBTE9HX0VMRU1FTlQpICQoRU5BQkxFX0RJUkVDVE9S
WV9VUExPQUQpICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9EUkFH
R0FCTEVfUkVHSU9OKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRF
RF9NRURJQV9WMikgJChFTkFCTEVfRklMRV9TWVNURU0pICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5B
QkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElP
TikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0hJ
R0hfRFBJX0NBTlZBUykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JRlJBTUVfU0VB
TUxFU1MpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1NQRUVDSCkg
JChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9D
QUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAk
KEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElG
SUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FD
WV9XRUJfQVVESU8pICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX0xJTktfUFJFUkVO
REVSKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVE
SUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQo
RU5BQkxFX01JQ1JPREFUQSkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9O
QVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVf
UEFHRV9WSVNJQklMSVRZX0FQSSkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUExV
R0lOX1BST1hZX0ZPUl9WSURFTykgJChFTkFCTEVfUFJPR1JFU1NfRUxFTUVOVCkgJChFTkFCTEVf
UFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFU
SU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9TQ1JJ
UFRFRF9TUEVFQ0gpICQoRU5BQkxFX1NIQURPV19ET00pICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJT
KSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TUUxfREFUQUJBU0UpICQoRU5B
QkxFX1NUWUxFX1NDT1BFRCkgJChFTkFCTEVfU1VCUElYRUxfTEFZT1VUKSAkKEVOQUJMRV9TVkcp
ICQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVO
QUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxF
X1RFWFRfTk9USUZJQ0FUSU9OU19PTkxZKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQo
RU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJB
Q0spICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VC
X0FVRElPKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFC
TEVfV09SS0VSUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRkVBVFVS
RV9ERUZJTkVTXyQoUExBVEZPUk1fTkFNRSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYv
RmVhdHVyZURlZmluZXMuaCBiL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgKaW5kZXgg
NTNmNjE2NmNmZmE5Y2M2MmQ1YTljNGI4YTY0NjA5NzFkYTNhYTcxMS4uZTkyZDQ0NTc4MWU5YWU2
NDg0ODE5Y2Q5YjVhMjM5MDVmY2UwYmNlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvRmVh
dHVyZURlZmluZXMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCkBAIC04
MjgsNiArODI4LDEwIEBACiAjZGVmaW5lIEVOQUJMRV9XRUJHTCAwCiAjZW5kaWYKIAorI2lmICFk
ZWZpbmVkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykKKyNkZWZpbmUgRU5BQkxFX1dFQlZUVF9SRUdJ
T05TIDAKKyNlbmRpZgorCiAjaWYgIWRlZmluZWQoRU5BQkxFX1dFQl9BUkNISVZFKQogI2RlZmlu
ZSBFTkFCTEVfV0VCX0FSQ0hJVkUgMAogI2VuZGlmCkBAIC04NzQsNCArODc4LDggQEAKICNlcnJv
ciAiRU5BQkxFKFZJREVPX1RSQUNLKSByZXF1aXJlcyBFTkFCTEUoVklERU8pIgogI2VuZGlmCiAK
KyNpZiBFTkFCTEUoV0VCVlRUX1JFR0lPTlMpICYmICFFTkFCTEUoVklERU9fVFJBQ0spCisjZXJy
b3IgIkVOQUJMRShXRUJWVFRfUkVHSU9OUykgcmVxdWlyZXMgRU5BQkxFKFZJREVPX1RSQUNLKSIK
KyNlbmRpZgorCiAjZW5kaWYgLyogV1RGX0ZlYXR1cmVEZWZpbmVzX2ggKi8KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKaW5kZXggNDUwMTdiNDVmMDdhZDYxZmVjNDkxZjg3YmZlZTAzNDQ0NTQwY2YyNS4uYTA3
MDkxN2IyOGRlNDJmOTVmNGVjZGRlZDIxNjE5NzgyNDk5ZjNiZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKQEAgLTU1Myw2ICs1NTMsNyBAQCBzZXQoV2ViQ29yZV9JRExfRklMRVMKICAgICBodG1sL3Ry
YWNrL1RleHRUcmFja0N1ZS5pZGwKICAgICBodG1sL3RyYWNrL1RleHRUcmFja0N1ZUxpc3QuaWRs
CiAgICAgaHRtbC90cmFjay9UZXh0VHJhY2tMaXN0LmlkbAorICAgIGh0bWwvdHJhY2svVGV4dFRy
YWNrUmVnaW9uLmlkbAogICAgIGh0bWwvdHJhY2svVHJhY2tFdmVudC5pZGwKIAogICAgIGluc3Bl
Y3Rvci9JbmplY3RlZFNjcmlwdEhvc3QuaWRsCkBAIC0xNTkyLDYgKzE1OTMsOCBAQCBzZXQoV2Vi
Q29yZV9TT1VSQ0VTCiAgICAgaHRtbC90cmFjay9UZXh0VHJhY2tDdWVHZW5lcmljLmNwcAogICAg
IGh0bWwvdHJhY2svVGV4dFRyYWNrQ3VlTGlzdC5jcHAKICAgICBodG1sL3RyYWNrL1RleHRUcmFj
a0xpc3QuY3BwCisgICAgaHRtbC90cmFjay9UZXh0VHJhY2tSZWdpb24uY3BwCisgICAgaHRtbC90
cmFjay9UZXh0VHJhY2tSZWdpb24uaAogICAgIGh0bWwvdHJhY2svVHJhY2tCYXNlLmNwcAogICAg
IGh0bWwvdHJhY2svVHJhY2tFdmVudC5jcHAKICAgICBodG1sL3RyYWNrL1dlYlZUVEVsZW1lbnQu
Y3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBiMjJhZGU1N2Y5YTU0ODg0MjU1
NWY1MGE0MTJmOTlkNjMzODIwZmI1Li5lNWU4ZDYwN2YyYzRiNDI1NmNkYmQyNmE0ZmRjZTQ0NWNi
N2U2ZWRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTg2OSw2ICs4NjksMTAg
QEAgaWZlcSAoJChmaW5kc3RyaW5nIEVOQUJMRV9WSURFT19UUkFDSywkKEZFQVRVUkVfREVGSU5F
UykpLCBFTkFCTEVfVklERU9fVFJBQ0spCiAgICAgSFRNTF9GTEFHUyA6PSAkKEhUTUxfRkxBR1Mp
IEVOQUJMRV9WSURFT19UUkFDSz0wCiBlbmRpZgogCitpZmVxICgkKGZpbmRzdHJpbmcgRU5BQkxF
X1dFQlZUVF9SRUdJT05TLCQoRkVBVFVSRV9ERUZJTkVTKSwgRU5BQkxFX1dFQlZUVF9SRUdJT05T
KQorICAgIEhUTUxfRkxBR1MgOj0gJChIVE1MX0ZMQUdTKSBFTkFCTEVfV0VCVlRUX1JFR0lPTlM9
MQorZW5kaWYKKwogaWZlcSAoJChmaW5kc3RyaW5nIEVOQUJMRV9TSEFET1dfRE9NLCQoRkVBVFVS
RV9ERUZJTkVTKSksIEVOQUJMRV9TSEFET1dfRE9NKQogICAgIEhUTUxfRkxBR1MgOj0gJChIVE1M
X0ZMQUdTKSBFTkFCTEVfU0hBRE9XX0RPTT0xCiBlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRl
eCA3NjIzYjlkZTgzNTI1MTdkNjk4ZGIwNzJmMTNjNWRjNzRkZWVmMWNjLi5mYWYyN2Q1OGU5NmEz
ZGMwYjQwNjgzOTk0ZjFkYzg5ZGEzYThlM2Q1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtMTQ5
LDYgKzE0OSwxNSBAQCBEZXJpdmVkU291cmNlcy9XZWJDb3JlL01hdGhNTEVsZW1lbnRGYWN0b3J5
LmNwcCBEZXJpdmVkU291cmNlcy9XZWJDb3JlL01hdGhNTE5hbQogCSQoQU1fVl9HRU4pJChQRVJM
KSAtSSQoV2ViQ29yZSkvYmluZGluZ3Mvc2NyaXB0cyAkPCAtLXRhZ3MgJChXZWJDb3JlKS9tYXRo
bWwvbWF0aHRhZ3MuaW4gLS1hdHRycyAkKFdlYkNvcmUpL21hdGhtbC9tYXRoYXR0cnMuaW4gLS1m
YWN0b3J5IC0td3JhcHBlckZhY3RvcnkgLS1vdXRwdXREaXIgIiQoR0VOU09VUkNFU19XRUJDT1JF
KSIKIAogIyAtLS0tCisjIFdlYlZUVCB3aXRoIFJlZ2lvbnMgU3VwcG9ydAorIyAtLS0tCitpZiBF
TkFCTEVfV0VCVlRUX1JFR0lPTlMKK3dlYmNvcmVfY3BwZmxhZ3MgKz0gREVOQUJMRV9XRUJWVFRf
UkVHSU9OUz0xCitlbHNlCit3ZWJjb3JlX2NwcGZsYWdzICs9IERFTkFCTEVfV0VCVlRUX1JFR0lP
TlM9MQorZW5kaWYgIyBFTkQgRU5BQkxFX1dFQlZUVF9SRUdJT05TCisKKyMgLS0tLQogIyBTVkcg
U3VwcG9ydAogIwogIyBGSVhNRTogYWxsb3cgYSBtb3JlIGZpbmUtZ3JhaW5lZCBpbmNsdXNpb24v
Z2VuZXJhdGlvbiBvZiBzb3VyY2VzIHBlciBTVkcgZmVhdHVyZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4
IGJhNTZiY2IyZTEyNTNlYjE0YjVhYzA0YTc4YTljMjc5OTg4ZmZmNDMuLmY0NzFmNDUyMzg5YzQ2
OTcxY2QyMTgwNWFiOWNmZjYyZGM0MjE5MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTQwNyw2ICs0
MDcsNyBAQAogICAgICAgICAgICAgJ2h0bWwvdHJhY2svVGV4dFRyYWNrQ3VlTGlzdC5pZGwnLAog
ICAgICAgICAgICAgJ2h0bWwvdHJhY2svVGV4dFRyYWNrTGlzdC5pZGwnLAogICAgICAgICAgICAg
J2h0bWwvdHJhY2svVHJhY2tFdmVudC5pZGwnLAorICAgICAgICAgICAgJ2h0bWwvdHJhY2svVGV4
dFRyYWNrUmVnaW9uLmlkbCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0
SG9zdC5pZGwnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3Qu
aWRsJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvSmF2YVNjcmlwdENhbGxGcmFtZS5pZGwnLApA
QCAtMzQ5Miw2ICszNDkzLDggQEAKICAgICAgICAgICAgICdodG1sL3RyYWNrL1RleHRUcmFja0N1
ZUxpc3QuY3BwJywKICAgICAgICAgICAgICdodG1sL3RyYWNrL1RleHRUcmFja0N1ZUxpc3QuaCcs
CiAgICAgICAgICAgICAnaHRtbC90cmFjay9UZXh0VHJhY2tMaXN0LmNwcCcsCisgICAgICAgICAg
ICAnaHRtbC90cmFjay9UZXh0VHJhY2tSZWdpb24uY3BwJywKKyAgICAgICAgICAgICdodG1sL3Ry
YWNrL1RleHRUcmFja1JlZ2lvbi5oJywKICAgICAgICAgICAgICdodG1sL3RyYWNrL1RyYWNrQmFz
ZS5jcHAnLAogICAgICAgICAgICAgJ2h0bWwvdHJhY2svVHJhY2tFdmVudC5jcHAnLAogICAgICAg
ICAgICAgJ2h0bWwvdHJhY2svV2ViVlRURWxlbWVudC5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2suY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC90
cmFjay9UZXh0VHJhY2suY3BwCmluZGV4IGVkMTk1NjEyMWNjYWNkNTQwOTc3NGYyZGQ5Y2MyNDJk
OTQ2MmM0M2YuLjFhYzdhNTBmMjg0YzVmY2NkZDgzNDIwZTZiYzA0M2Y3MmNkMjQwMWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFjay5jcHAKQEAgLTQwLDYgKzQwLDcgQEAKICNp
bmNsdWRlICJIVE1MTWVkaWFFbGVtZW50LmgiCiAjaW5jbHVkZSAiVGV4dFRyYWNrQ3VlTGlzdC5o
IgogI2luY2x1ZGUgIlRleHRUcmFja0xpc3QuaCIKKyNpbmNsdWRlICJUZXh0VHJhY2tSZWdpb24u
aCIKICNpbmNsdWRlICJUcmFja0Jhc2UuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2suaCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrLmgKaW5kZXggNjJiNjM1ODBhMGE3ZDc2Njg0YmRhYTVi
YjEyNzgyZGVjMzMxYWM0Zi4uYzMzOWIxMTViYzI1MGVjYmRjMzYwZGViZjUzMDNlOWQyYmQ2NTJh
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2suaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFjay5oCkBAIC00MSw2ICs0MSw3IEBA
IGNsYXNzIEhUTUxNZWRpYUVsZW1lbnQ7CiBjbGFzcyBUZXh0VHJhY2s7CiBjbGFzcyBUZXh0VHJh
Y2tDdWU7CiBjbGFzcyBUZXh0VHJhY2tDdWVMaXN0OworY2xhc3MgVGV4dFRyYWNrUmVnaW9uOwog
CiBjbGFzcyBUZXh0VHJhY2tDbGllbnQgewogcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tSZWdpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC90cmFjay9UZXh0VHJhY2tSZWdpb24uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE1OWZkYzU5NGY2YzcwZTEz
MTcxZTA0YThkN2JlMDEwYzc5YmEyNzUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3RyYWNrL1RleHRUcmFja1JlZ2lvbi5jcHAKQEAgLTAsMCArMSwyMDQgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBlYyBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0
cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0
aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisg
KiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKworI2lmIEVOQUJMRShWSURFT19UUkFDSykgJiYgRU5BQkxFKFdFQlZUVF9S
RUdJT05TKQorCisjaW5jbHVkZSAiVGV4dFRyYWNrUmVnaW9uLmgiCisKKyNpbmNsdWRlICJXZWJW
VFRQYXJzZXIuaCIKKyNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgorI2luY2x1ZGUgPHd0Zi90
ZXh0L1N0cmluZ0J1aWxkZXIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCisvLyBUaGUgcmVn
aW9uIG9jY3VwaWVzIGJ5IGRlZmF1bHQgMTAwJSBvZiB0aGUgd2lkdGggb2YgdGhlIHZpZGVvIHZp
ZXdwb3J0Lgorc3RhdGljIGNvbnN0IGludCBkZWZhdWx0V2lkdGggPSAxMDA7CisKKy8vIFRoZSBy
ZWdpb24gaGFzLCBieSBkZWZhdWx0LCAzIGxpbmVzIG9mIHRleHQuCitzdGF0aWMgY29uc3QgaW50
IGRlZmF1bHRIZWlnaHQgPSAzOworCisvLyBUaGUgcmVnaW9uIGlzIGFuY2hvcmVkIGluIHRoZSBi
b3R0b20gbGVmdCBjb3JuZXIuCitzdGF0aWMgY29uc3QgaW50IGRlZmF1bHRBbmNob3JQb2ludFgg
PSAwOworc3RhdGljIGNvbnN0IGludCBkZWZhdWx0QW5jaG9yUG9pbnRZID0gMTAwOworCisvLyBU
aGUgcmVnaW9uIGRvZXNuJ3QgaGF2ZSBzY3JvbGxpbmcgdGV4dCwgYnkgZGVmYXVsdC4KK3N0YXRp
YyBjb25zdCBpbnQgZGVmYXVsdFNjcm9sbCA9IGZhbHNlOworCitUZXh0VHJhY2tSZWdpb246OlRl
eHRUcmFja1JlZ2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQorICAgIDogQ29u
dGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIoY29udGV4dCkKKyAgICAsIG1faWQoZW1wdHlTdHJpbmco
KSkKKyAgICAsIG1fc2l6ZShJbnRTaXplKGRlZmF1bHRXaWR0aCwgZGVmYXVsdEhlaWdodCkpCisg
ICAgLCBtX3JlZ2lvbkFuY2hvcihJbnRTaXplKGRlZmF1bHRBbmNob3JQb2ludFgsIGRlZmF1bHRB
bmNob3JQb2ludFkpKQorICAgICwgbV92aWV3cG9ydEFuY2hvcihJbnRTaXplKGRlZmF1bHRBbmNo
b3JQb2ludFgsIGRlZmF1bHRBbmNob3JQb2ludFkpKQorICAgICwgbV9zY3JvbGwoZGVmYXVsdFNj
cm9sbCkKKyAgICAsIG1fdHJhY2soMCkKK3sKK30KKworVGV4dFRyYWNrUmVnaW9uOjp+VGV4dFRy
YWNrUmVnaW9uKCkKK3sKK30KKwordm9pZCBUZXh0VHJhY2tSZWdpb246OnNldFRyYWNrKFRleHRU
cmFjayogdHJhY2spCit7CisgICAgbV90cmFjayA9IHRyYWNrOworfQorCit2b2lkIFRleHRUcmFj
a1JlZ2lvbjo6c2V0SWQoY29uc3QgU3RyaW5nJiBpZCkKK3sKKyAgICBtX2lkID0gaWQ7Cit9CisK
K3ZvaWQgVGV4dFRyYWNrUmVnaW9uOjpzZXRXaWR0aChsb25nIHZhbHVlLCBFeGNlcHRpb25Db2Rl
JiBlYykKK3sKKyAgICBpZiAoc3RkOjppc2luZih2YWx1ZSkgfHwgc3RkOjppc25hbih2YWx1ZSkp
IHsKKyAgICAgICAgZWMgPSBUeXBlRXJyb3I7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAg
ICBpZiAodmFsdWUgPCAwIHx8IHZhbHVlID4gMTAwKQorICAgICAgICByZXR1cm47CisKKyAgICBt
X3NpemUuc2V0V2lkdGgodmFsdWUpOworfQorCit2b2lkIFRleHRUcmFja1JlZ2lvbjo6c2V0SGVp
Z2h0KGxvbmcgdmFsdWUsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlmIChzdGQ6OmlzaW5m
KHZhbHVlKSB8fCBzdGQ6OmlzbmFuKHZhbHVlKSkgeworICAgICAgICBlYyA9IFR5cGVFcnJvcjsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmICh2YWx1ZSA8IDApCisgICAgICAgIHJl
dHVybjsKKworICAgIG1fc2l6ZS5zZXRIZWlnaHQodmFsdWUpOworfQorCit2b2lkIFRleHRUcmFj
a1JlZ2lvbjo6c2V0UmVnaW9uQW5jaG9yWChsb25nIHZhbHVlLCBFeGNlcHRpb25Db2RlJiBlYykK
K3sKKyAgICBpZiAoc3RkOjppc2luZih2YWx1ZSkgfHwgc3RkOjppc25hbih2YWx1ZSkpIHsKKyAg
ICAgICAgZWMgPSBUeXBlRXJyb3I7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAo
dmFsdWUgPCAwIHx8IHZhbHVlID4gMTAwKQorICAgICAgICByZXR1cm47CisKKyAgICBtX3JlZ2lv
bkFuY2hvci5zZXRXaWR0aCh2YWx1ZSk7Cit9CisKK3ZvaWQgVGV4dFRyYWNrUmVnaW9uOjpzZXRS
ZWdpb25BbmNob3JZKGxvbmcgdmFsdWUsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlmIChz
dGQ6OmlzaW5mKHZhbHVlKSB8fCBzdGQ6OmlzbmFuKHZhbHVlKSkgeworICAgICAgICBlYyA9IFR5
cGVFcnJvcjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmICh2YWx1ZSA8IDAgfHwg
dmFsdWUgPiAxMDApCisgICAgICAgIHJldHVybjsKKworICAgIG1fcmVnaW9uQW5jaG9yLnNldEhl
aWdodCh2YWx1ZSk7Cit9CisKK3ZvaWQgVGV4dFRyYWNrUmVnaW9uOjpzZXRWaWV3cG9ydEFuY2hv
clgobG9uZyB2YWx1ZSwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKHN0ZDo6aXNpbmYo
dmFsdWUpIHx8IHN0ZDo6aXNuYW4odmFsdWUpKSB7CisgICAgICAgIGVjID0gVHlwZUVycm9yOwor
ICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKHZhbHVlIDwgMCB8fCB2YWx1ZSA+IDEw
MCkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV92aWV3cG9ydEFuY2hvci5zZXRXaWR0aCh2YWx1
ZSk7Cit9CisKK3ZvaWQgVGV4dFRyYWNrUmVnaW9uOjpzZXRWaWV3cG9ydEFuY2hvclkobG9uZyB2
YWx1ZSwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKHN0ZDo6aXNpbmYodmFsdWUpIHx8
IHN0ZDo6aXNuYW4odmFsdWUpKSB7CisgICAgICAgIGVjID0gVHlwZUVycm9yOworICAgICAgICBy
ZXR1cm47CisgICAgfQorCisgICAgaWYgKHZhbHVlIDwgMCB8fCB2YWx1ZSA+IDEwMCkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgbV92aWV3cG9ydEFuY2hvci5zZXRIZWlnaHQodmFsdWUpOworfQor
Citjb25zdCBBdG9taWNTdHJpbmcgVGV4dFRyYWNrUmVnaW9uOjpzY3JvbGwoKSBjb25zdAorewor
ICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCB1cFNjcm9sbFZhbHVl
S2V5d29yZCwgKCJ1cCIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKKwor
ICAgIGlmIChtX3Njcm9sbCkKKyAgICAgICAgcmV0dXJuIHVwU2Nyb2xsVmFsdWVLZXl3b3JkOwor
CisgICAgcmV0dXJuICIiOworfQorCit2b2lkIFRleHRUcmFja1JlZ2lvbjo6c2V0U2Nyb2xsKGNv
bnN0IEF0b21pY1N0cmluZyYgdmFsdWUsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIERFRklO
RV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCB1cFNjcm9sbFZhbHVlS2V5d29yZCwg
KCJ1cCIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKKworICAgIGlmICh2
YWx1ZSAhPSBlbXB0eVN0cmluZygpICYmIHZhbHVlICE9IHVwU2Nyb2xsVmFsdWVLZXl3b3JkKSB7
CisgICAgICAgIGVjID0gU1lOVEFYX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAg
IG1fc2Nyb2xsID0gdmFsdWUgPT0gdXBTY3JvbGxWYWx1ZUtleXdvcmQ7Cit9CisKK3ZvaWQgVGV4
dFRyYWNrUmVnaW9uOjpzZXRSZWdpb25TZXR0aW5ncyhjb25zdCBTdHJpbmcmIGlucHV0KQorewor
ICAgIC8vIEZJWE1FKDEwOTgxOCk6IFBhcnNlIHJlZ2lvbiBoZWFkZXIgbWV0YWRhdGEuCit9CisK
K1RleHRUcmFja1JlZ2lvbjo6UmVnaW9uU2V0dGluZyBUZXh0VHJhY2tSZWdpb246OmdldFNldHRp
bmdGcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYgc2V0dGluZykKK3sKKyAgICAvLyBGSVhNRSgxMDk4
MTgpOiBQYXJzZSByZWdpb24gaGVhZGVyIG1ldGFkYXRhLgorICAgIHJldHVybiBOb25lOworfQor
Cit2b2lkIFRleHRUcmFja1JlZ2lvbjo6cGFyc2VTZXR0aW5nVmFsdWUoUmVnaW9uU2V0dGluZyBz
ZXR0aW5nLCBjb25zdCBTdHJpbmcmIHZhbHVlKQoreworICAgIC8vIEZJWE1FKDEwOTgxOCk6IFBh
cnNlIHJlZ2lvbiBoZWFkZXIgbWV0YWRhdGEuCit9CisKK3ZvaWQgVGV4dFRyYWNrUmVnaW9uOjpw
YXJzZVNldHRpbmcoY29uc3QgU3RyaW5nJiBpbnB1dCwgdW5zaWduZWQqIHBvc2l0aW9uKQorewor
ICAgIC8vIEZJWE1FKDEwOTgxOCk6IFBhcnNlIHJlZ2lvbiBoZWFkZXIgbWV0YWRhdGEuCit9CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3RyYWNrL1RleHRUcmFja1JlZ2lvbi5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC90
cmFjay9UZXh0VHJhY2tSZWdpb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YjM3YmVmZDUxMzM4YzZlOTJkMzg2
ZjFjMzMwZTZlNjM5ZGNlY2VkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC90cmFjay9UZXh0VHJhY2tSZWdpb24uaApAQCAtMCwwICsxLDExNSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0
aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5h
bWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAor
ICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFRleHRU
cmFja1JlZ2lvbl9oCisjZGVmaW5lIFRleHRUcmFja1JlZ2lvbl9oCisKKyNpZiBFTkFCTEUoVklE
RU9fVFJBQ0spICYmIEVOQUJMRShXRUJWVFRfUkVHSU9OUykKKworI2luY2x1ZGUgIkNvbnRleHRE
ZXN0cnVjdGlvbk9ic2VydmVyLmgiCisjaW5jbHVkZSAiSW50U2l6ZS5oIgorI2luY2x1ZGUgIkxh
eW91dFVuaXQuaCIKKyNpbmNsdWRlICJUZXh0VHJhY2suaCIKKyNpbmNsdWRlIDx3dGYvUGFzc093
blB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworY2xhc3MgRG9jdW1lbnRGcmFnbWVudDsKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQ7CisKK2NsYXNzIFRleHRUcmFja1JlZ2lvbiA6IHB1YmxpYyBSZWZDb3VudGVkPFRleHRUcmFj
a1JlZ2lvbj4sIHB1YmxpYyBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlciB7CitwdWJsaWM6Cisg
ICAgc3RhdGljIFBhc3NSZWZQdHI8VGV4dFRyYWNrUmVnaW9uPiBjcmVhdGUoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCogY29udGV4dCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcg
VGV4dFRyYWNrUmVnaW9uKGNvbnRleHQpKTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIH5UZXh0VHJh
Y2tSZWdpb24oKTsKKworICAgIFRleHRUcmFjayogdHJhY2soKSBjb25zdCB7IHJldHVybiBtX3Ry
YWNrOyB9CisgICAgdm9pZCBzZXRUcmFjayhUZXh0VHJhY2sqKTsKKworICAgIGNvbnN0IFN0cmlu
ZyYgaWQoKSBjb25zdCB7IHJldHVybiBtX2lkOyB9CisgICAgdm9pZCBzZXRJZChjb25zdCBTdHJp
bmcmKTsKKworICAgIGRvdWJsZSB3aWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1fc2l6ZS53aWR0aCgp
OyB9CisgICAgdm9pZCBzZXRXaWR0aChsb25nLCBFeGNlcHRpb25Db2RlJik7CisKKyAgICBsb25n
IGhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIG1fc2l6ZS5oZWlnaHQoKTsgfQorICAgIHZvaWQgc2V0
SGVpZ2h0KGxvbmcsIEV4Y2VwdGlvbkNvZGUmKTsKKworICAgIGxvbmcgcmVnaW9uQW5jaG9yWCgp
IGNvbnN0IHsgcmV0dXJuIG1fcmVnaW9uQW5jaG9yLndpZHRoKCk7IH0KKyAgICB2b2lkIHNldFJl
Z2lvbkFuY2hvclgobG9uZywgRXhjZXB0aW9uQ29kZSYpOworCisgICAgbG9uZyByZWdpb25BbmNo
b3JZKCkgY29uc3QgeyByZXR1cm4gbV9yZWdpb25BbmNob3IuaGVpZ2h0KCk7IH0KKyAgICB2b2lk
IHNldFJlZ2lvbkFuY2hvclkobG9uZywgRXhjZXB0aW9uQ29kZSYpOworCisgICAgbG9uZyB2aWV3
cG9ydEFuY2hvclgoKSBjb25zdCB7IHJldHVybiBtX3ZpZXdwb3J0QW5jaG9yLndpZHRoKCk7IH0K
KyAgICB2b2lkIHNldFZpZXdwb3J0QW5jaG9yWChsb25nLCBFeGNlcHRpb25Db2RlJik7CisKKyAg
ICBsb25nIHZpZXdwb3J0QW5jaG9yWSgpIGNvbnN0IHsgcmV0dXJuIG1fdmlld3BvcnRBbmNob3Iu
aGVpZ2h0KCk7IH0KKyAgICB2b2lkIHNldFZpZXdwb3J0QW5jaG9yWShsb25nLCBFeGNlcHRpb25D
b2RlJik7CisKKyAgICBjb25zdCBBdG9taWNTdHJpbmcgc2Nyb2xsKCkgY29uc3Q7CisgICAgdm9p
ZCBzZXRTY3JvbGwoY29uc3QgQXRvbWljU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpOworCisgICAg
Y29uc3QgU3RyaW5nJiByZWdpb25TZXR0aW5ncygpIGNvbnN0IHsgcmV0dXJuIG1fc2V0dGluZ3M7
IH0KKyAgICB2b2lkIHNldFJlZ2lvblNldHRpbmdzKGNvbnN0IFN0cmluZyYpOworCisgICAgdXNp
bmcgUmVmQ291bnRlZDxUZXh0VHJhY2tSZWdpb24+OjpyZWY7CisgICAgdXNpbmcgUmVmQ291bnRl
ZDxUZXh0VHJhY2tSZWdpb24+OjpkZXJlZjsKKworcHJvdGVjdGVkOgorICAgIFRleHRUcmFja1Jl
Z2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CisKK3ByaXZhdGU6CisgICAgZW51bSBSZWdp
b25TZXR0aW5nIHsgTm9uZSwgSWQsIFdpZHRoLCBIZWlnaHQsIFJlZ2lvbkFuY2hvciwgVmlld3Bv
cnRBbmNob3IsIFNjcm9sbCB9OworICAgIFJlZ2lvblNldHRpbmcgZ2V0U2V0dGluZ0Zyb21TdHJp
bmcoY29uc3QgU3RyaW5nJik7CisKKyAgICB2b2lkIHBhcnNlU2V0dGluZ1ZhbHVlKFJlZ2lvblNl
dHRpbmcsIGNvbnN0IFN0cmluZyYpOworICAgIHZvaWQgcGFyc2VTZXR0aW5nKGNvbnN0IFN0cmlu
ZyYsIHVuc2lnbmVkKik7CisKKyAgICBTdHJpbmcgbV9pZDsKKyAgICBTdHJpbmcgbV9zZXR0aW5n
czsKKworICAgIEludFNpemUgbV9zaXplOworICAgIEludFNpemUgbV9yZWdpb25BbmNob3I7Cisg
ICAgSW50U2l6ZSBtX3ZpZXdwb3J0QW5jaG9yOworCisgICAgYm9vbCBtX3Njcm9sbDsKKworICAg
IFRleHRUcmFjayogbV90cmFjazsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRy
YWNrUmVnaW9uLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrUmVnaW9u
LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5iZmMwNmRlNzYxOTIxZjFlY2JiYjUyMzE3MDE2MzRhOGVmNWMxYWEx
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tS
ZWdpb24uaWRsCkBAIC0wLDAgKzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29v
Z2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKK1sKKyAgICBDb25kaXRpb25h
bD1WSURFT19UUkFDSyAmIFdFQlZUVF9SRUdJT05TLAorICAgIFY4RW5hYmxlZEF0UnVudGltZT13
ZWJraXRWaWRlb1RyYWNrLAorICAgIEpTR2VuZXJhdGVUb05hdGl2ZU9iamVjdCwKKyAgICBDb25z
dHJ1Y3RvcigpLAorICAgIENhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsCitdIGludGVy
ZmFjZSBUZXh0VHJhY2tSZWdpb24geworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBUZXh0VHJhY2sg
dHJhY2s7CisKKyAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGlkOworICAgIGF0dHJpYnV0ZSBsb25n
IHdpZHRoCisgICAgICAgIHNldHRlciByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisgICAgYXR0cmli
dXRlIGxvbmcgaGVpZ2h0CisgICAgICAgIHNldHRlciByYWlzZXMgKERPTUV4Y2VwdGlvbik7Cisg
ICAgYXR0cmlidXRlIGxvbmcgcmVnaW9uQW5jaG9yWAorICAgICAgICBzZXR0ZXIgcmFpc2VzIChE
T01FeGNlcHRpb24pOworICAgIGF0dHJpYnV0ZSBsb25nIHJlZ2lvbkFuY2hvclkKKyAgICAgICAg
c2V0dGVyIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKyAgICBhdHRyaWJ1dGUgbG9uZyB2aWV3cG9y
dEFuY2hvclgKKyAgICAgICAgc2V0dGVyIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKyAgICBhdHRy
aWJ1dGUgbG9uZyB2aWV3cG9ydEFuY2hvclkKKyAgICAgICAgc2V0dGVyIHJhaXNlcyAoRE9NRXhj
ZXB0aW9uKTsKKyAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHNjcm9sbAorICAgICAgICBzZXR0ZXIg
cmFpc2VzIChET01FeGNlcHRpb24pOworfTsKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9ET01XaW5kb3cuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCmlu
ZGV4IDJlMjFkYTllOGIxYThjYmY3YjJiMDkzNzM2NDMwYmJhNGFmZGQwYzQuLjJmOTdlYTk4NDI0
ZGFjZmU4MmRlNTZjNjY3Yjk0OTYyNWU3OTQxZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRE9NV2luZG93LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5p
ZGwKQEAgLTQ5Nyw2ICs0OTcsNyBAQAogICAgIFtDb25kaXRpb25hbD1WSURFT19UUkFDSywgVjhF
bmFibGVkQXRSdW50aW1lPXdlYmtpdFZpZGVvVHJhY2tdIGF0dHJpYnV0ZSBUZXh0VHJhY2tDdWVD
b25zdHJ1Y3RvciBUZXh0VHJhY2tDdWU7IC8vIFVzYWJsZSB3aXRoIHRoZSBuZXcgb3BlcmF0b3IK
ICAgICBbQ29uZGl0aW9uYWw9VklERU9fVFJBQ0ssIFY4RW5hYmxlZEF0UnVudGltZT13ZWJraXRW
aWRlb1RyYWNrXSBhdHRyaWJ1dGUgVGV4dFRyYWNrQ3VlTGlzdENvbnN0cnVjdG9yIFRleHRUcmFj
a0N1ZUxpc3Q7CiAgICAgW0NvbmRpdGlvbmFsPVZJREVPX1RSQUNLLCBWOEVuYWJsZWRBdFJ1bnRp
bWU9d2Via2l0VmlkZW9UcmFja10gYXR0cmlidXRlIFRleHRUcmFja0xpc3RDb25zdHJ1Y3RvciBU
ZXh0VHJhY2tMaXN0OworICAgIFtDb25kaXRpb25hbD1WSURFT19UUkFDSyAmIFdFQlZUVF9SRUdJ
T05TLCBWOEVuYWJsZWRBdFJ1bnRpbWU9d2Via2l0VmlkZW9UcmFja10gYXR0cmlidXRlIFRleHRU
cmFja1JlZ2lvbkNvbnN0cnVjdG9yIFRleHRUcmFja1JlZ2lvbjsgLy8gVXNhYmxlIHdpdGggdGhl
IG5ldyBvcGVyYXRvcgogICAgIFtDb25kaXRpb25hbD1WSURFT19UUkFDSywgVjhFbmFibGVkQXRS
dW50aW1lPXdlYmtpdFZpZGVvVHJhY2tdIGF0dHJpYnV0ZSBUcmFja0V2ZW50Q29uc3RydWN0b3Ig
VHJhY2tFdmVudDsKIAogICAgIFtKU0N1c3RvbUdldHRlciwgQ29uZGl0aW9uYWw9VklERU8sIFY4
RW5hYmxlZEF0UnVudGltZV0gYXR0cmlidXRlIEhUTUxBdWRpb0VsZW1lbnRDb25zdHJ1Y3RvckNv
bnN0cnVjdG9yIEF1ZGlvOyAvLyBVc2FibGUgd2l0aCB0aGUgbmV3IG9wZXJhdG9yCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkKaW5kZXggNzdiMmM3NmM0NGEzMmZhOTMzMDRjZTRiY2Qw
N2UyMTA1ZmU5YzU1OC4uNTA3MTBlODY2NDRjYjYzYzE3OGVkMTJhMjU3ZWJiNWFkYzFmNGQ2MCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9mZWF0dXJlcy5neXBpCisrKyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lwaQpAQCAtMTMxLDYgKzEzMSw3IEBACiAg
ICAgICAnRU5BQkxFX1ZJREVPX1RSQUNLPTEnLAogICAgICAgJ0VOQUJMRV9WSUVXUE9SVD0xJywK
ICAgICAgICdFTkFCTEVfV0VCR0w9MScsCisgICAgICAnRU5BQkxFX1dFQlZUVF9SRUdJT05TPTEn
LAogICAgICAgJ0VOQUJMRV9XRUJfU09DS0VUUz0xJywKICAgICAgICdFTkFCTEVfV0VCX1RJTUlO
Rz0xJywKICAgICAgICdFTkFCTEVfV09SS0VSUz0xJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dl
YktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggNGNl
ZjcwNjg4YWJmZDRhMTUyMjU4MGEyNWRkM2EzM2U0ZjBhOGI4NS4uNzIzODA1MTdlZTEwMDFlY2Rj
M2ExZGE0ZWNiZmUzZTk2YjRkNWRmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdC9t
YWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTE1OCw2ICsxNTgs
OCBAQCBFTkFCTEVfVVNFUlNFTEVDVF9BTEwgPSBFTkFCTEVfVVNFUlNFTEVDVF9BTEw7CiBFTkFC
TEVfVklERU8gPSBFTkFCTEVfVklERU87CiBFTkFCTEVfVklERU9fVFJBQ0sgPSAkKEVOQUJMRV9W
SURFT19UUkFDS18kKFBMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9WSURFT19UUkFDS19tYWNvc3gg
PSBFTkFCTEVfVklERU9fVFJBQ0s7CitFTkFCTEVfV0VCVlRUX1JFR0lPTlMgPSAkKEVOQUJMRV9X
RUJWVFRfUkVHSU9OU18kKFBMQVRGT1JNX05BTUUpKTsKK0VOQUJMRV9XRUJWVFRfUkVHSU9OU19t
YWNvc3ggPSBFTkFCTEVfV0VCVlRUX1JFR0lPTlM7CiBFTkFCTEVfV0VCR0wgPSBFTkFCTEVfV0VC
R0w7CiBFTkFCTEVfV0VCX0FVRElPID0gRU5BQkxFX1dFQl9BVURJTzsKIEVOQUJMRV9XRUJfU09D
S0VUUyA9IEVOQUJMRV9XRUJfU09DS0VUUzsKQEAgLTE2Niw0ICsxNjgsNCBAQCBFTkFCTEVfV09S
S0VSUyA9IEVOQUJMRV9XT1JLRVJTOwogRU5BQkxFX1hIUl9USU1FT1VUID0gRU5BQkxFX1hIUl9U
SU1FT1VUOwogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0g
JChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQo
RU5BQkxFX0JMT0IpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkp
ICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVf
Q1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04p
ICQoRU5BQkxFX0NTU19FWENMVVNJT05TKSAkKEVOQUJMRV9DU1NfRklMVEVSUykgJChFTkFCTEVf
Q1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChF
TkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TSEFERVJTKSAkKEVOQUJMRV9DU1NfQ09N
UE9TSVRJTkcpICQoRU5BQkxFX0NTU19TVElDS1lfUE9TSVRJT04pICQoRU5BQkxFX0NTU19UUkFO
U0ZPUk1TX0FOSU1BVElPTlNfVU5QUkVGSVhFRCkgJChFTkFCTEVfQ1NTX1ZBUklBQkxFUykgJChF
TkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJM
RV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVO
QUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVO
QUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFC
TEVfRElBTE9HX0VMRU1FTlQpICQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICQoRU5BQkxFX0RP
TTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9EUkFHR0FCTEVfUkVHSU9OKSAkKEVOQUJM
RV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0ZJTEVfU1lTVEVNKSAkKEVOQUJMRV9GSUxURVJT
KSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VP
TE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVO
QUJMRV9ISUdIX0RQSV9DQU5WQVMpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSUZS
QU1FX1NFQU1MRVNTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTlBVVF9T
UEVFQ0gpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
VElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJV
R0dFUikgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FD
WV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJM
RV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9MSU5L
X1BSRVJFTkRFUikgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5B
QkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01I
VE1MKSAkKEVOQUJMRV9NSUNST0RBVEEpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChF
TkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQo
RU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5B
QkxFX1BMVUdJTl9QUk9YWV9GT1JfVklERU8pICQoRU5BQkxFX1BST0dSRVNTX0VMRU1FTlQpICQo
RU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNU
X0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFC
TEVfU0NSSVBURURfU1BFRUNIKSAkKEVOQUJMRV9TSEFET1dfRE9NKSAkKEVOQUJMRV9TSEFSRURf
V09SS0VSUykgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1FMX0RBVEFCQVNF
KSAkKEVOQUJMRV9TVFlMRV9TQ09QRUQpICQoRU5BQkxFX1NVQlBJWEVMX0xBWU9VVCkgJChFTkFC
TEVfU1ZHKSAkKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1MpICQoRU5BQkxFX1NWR19GT05U
UykgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAk
KEVOQUJMRV9URVhUX05PVElGSUNBVElPTlNfT05MWSkgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FE
SU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJ
REVPX1RSQUNLKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9X
RUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV09SS0VSUykgJChFTkFC
TEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRkVBVFVSRV9ERUZJTkVTXyQoUExBVEZP
Uk1fTkFNRSkpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVO
QUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0JMT0IpICQoRU5BQkxFX0NBTlZB
U19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5H
KSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAk
KEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19FWENMVVNJT05TKSAk
KEVOQUJMRV9DU1NfRklMVEVSUykgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVO
QUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxF
X0NTU19TSEFERVJTKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19TVElD
S1lfUE9TSVRJT04pICQoRU5BQkxFX0NTU19UUkFOU0ZPUk1TX0FOSU1BVElPTlNfVU5QUkVGSVhF
RCkgJChFTkFCTEVfQ1NTX1ZBUklBQkxFUykgJChFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxF
UykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQo
RU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVO
QUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5B
QkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRElBTE9HX0VMRU1FTlQpICQoRU5BQkxF
X0RJUkVDVE9SWV9VUExPQUQpICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVO
QUJMRV9EUkFHR0FCTEVfUkVHSU9OKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxF
X0ZJTEVfU1lTVEVNKSAkKEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkg
JChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9Q
QUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9ISUdIX0RQSV9DQU5WQVMpICQoRU5B
QkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSUZSQU1FX1NFQU1MRVNTKSAkKEVOQUJMRV9JTkRF
WEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTlBVVF9TUEVFQ0gpICQoRU5BQkxFX0lOUFVUX1RZUEVf
Q09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
VElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
V0VFSykgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVfTEVHQUNZX0NTU19W
RU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9M
RUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJM
RV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9MSU5LX1BSRVJFTkRFUikgJChFTkFCTEVfTUFUSE1M
KSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5B
QkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NSUNST0RBVEEpICQo
RU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJ
TFMpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkp
ICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BMVUdJTl9QUk9YWV9GT1JfVklERU8p
ICQoRU5BQkxFX1BST0dSRVNTX0VMRU1FTlQpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQo
RU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVf
UkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfU0NSSVBURURfU1BFRUNIKSAkKEVOQUJM
RV9TSEFET1dfRE9NKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVfU1BFRUNIX1NZ
TlRIRVNJUykgJChFTkFCTEVfU1FMX0RBVEFCQVNFKSAkKEVOQUJMRV9TVFlMRV9TQ09QRUQpICQo
RU5BQkxFX1NVQlBJWEVMX0xBWU9VVCkgJChFTkFCTEVfU1ZHKSAkKEVOQUJMRV9TVkdfRE9NX09C
SkNfQklORElOR1MpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVO
VCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9URVhUX05PVElGSUNBVElPTlNf
T05MWSkgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FM
TCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9XRUJWVFRf
UkVHSU9OUykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VC
X1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxF
X1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEZFQVRVUkVfREVGSU5FU18kKFBMQVRGT1JN
X05BTUUpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWcKaW5kZXggNGNlZjcwNjg4YWJmZDRhMTUyMjU4MGEyNWRkM2EzM2U0
ZjBhOGI4NS4uNzIzODA1MTdlZTEwMDFlY2RjM2ExZGE0ZWNiZmUzZTk2YjRkNWRmZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcKKysrIGIvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKQEAgLTE1OCw2ICsxNTgsOCBAQCBFTkFCTEVfVVNFUlNFTEVDVF9BTEwgPSBFTkFCTEVf
VVNFUlNFTEVDVF9BTEw7CiBFTkFCTEVfVklERU8gPSBFTkFCTEVfVklERU87CiBFTkFCTEVfVklE
RU9fVFJBQ0sgPSAkKEVOQUJMRV9WSURFT19UUkFDS18kKFBMQVRGT1JNX05BTUUpKTsKIEVOQUJM
RV9WSURFT19UUkFDS19tYWNvc3ggPSBFTkFCTEVfVklERU9fVFJBQ0s7CitFTkFCTEVfV0VCVlRU
X1JFR0lPTlMgPSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OU18kKFBMQVRGT1JNX05BTUUpKTsKK0VO
QUJMRV9XRUJWVFRfUkVHSU9OU19tYWNvc3ggPSBFTkFCTEVfV0VCVlRUX1JFR0lPTlM7CiBFTkFC
TEVfV0VCR0wgPSBFTkFCTEVfV0VCR0w7CiBFTkFCTEVfV0VCX0FVRElPID0gRU5BQkxFX1dFQl9B
VURJTzsKIEVOQUJMRV9XRUJfU09DS0VUUyA9IEVOQUJMRV9XRUJfU09DS0VUUzsKQEAgLTE2Niw0
ICsxNjgsNCBAQCBFTkFCTEVfV09SS0VSUyA9IEVOQUJMRV9XT1JLRVJTOwogRU5BQkxFX1hIUl9U
SU1FT1VUID0gRU5BQkxFX1hIUl9USU1FT1VUOwogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsK
IAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NF
TEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0JMT0IpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAk
KEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJM
RV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9D
U1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19FWENMVVNJT05TKSAkKEVOQUJMRV9D
U1NfRklMVEVSUykgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TSEFE
RVJTKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19TVElDS1lfUE9TSVRJ
T04pICQoRU5BQkxFX0NTU19UUkFOU0ZPUk1TX0FOSU1BVElPTlNfVU5QUkVGSVhFRCkgJChFTkFC
TEVfQ1NTX1ZBUklBQkxFUykgJChFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUykgJChFTkFC
TEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RB
U0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRB
X1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklD
RV9PUklFTlRBVElPTikgJChFTkFCTEVfRElBTE9HX0VMRU1FTlQpICQoRU5BQkxFX0RJUkVDVE9S
WV9VUExPQUQpICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9EUkFH
R0FCTEVfUkVHSU9OKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0ZJTEVfU1lT
VEVNKSAkKEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVf
R0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9U
SU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9ISUdIX0RQSV9DQU5WQVMpICQoRU5BQkxFX0lDT05E
QVRBQkFTRSkgJChFTkFCTEVfSUZSQU1FX1NFQU1MRVNTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFKSAkKEVOQUJMRV9JTlBVVF9TUEVFQ0gpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRI
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChF
TkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJF
RklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVO
RE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MSU5LX1BS
RUZFVENIKSAkKEVOQUJMRV9MSU5LX1BSRVJFTkRFUikgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJM
RV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVS
X0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NSUNST0RBVEEpICQoRU5BQkxFX01P
VVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5B
QkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkpICQoRU5BQkxF
X1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BMVUdJTl9QUk9YWV9GT1JfVklERU8pICQoRU5BQkxF
X1BST0dSRVNTX0VMRU1FTlQpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1FV
T1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVTT0xVVElP
Tl9NRURJQV9RVUVSWSkgJChFTkFCTEVfU0NSSVBURURfU1BFRUNIKSAkKEVOQUJMRV9TSEFET1df
RE9NKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykg
JChFTkFCTEVfU1FMX0RBVEFCQVNFKSAkKEVOQUJMRV9TVFlMRV9TQ09QRUQpICQoRU5BQkxFX1NV
QlBJWEVMX0xBWU9VVCkgJChFTkFCTEVfU1ZHKSAkKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElO
R1MpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFC
TEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9URVhUX05PVElGSUNBVElPTlNfT05MWSkgJChF
TkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFC
TEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVf
V0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChF
TkFCTEVfV09SS0VSUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRkVB
VFVSRV9ERUZJTkVTXyQoUExBVEZPUk1fTkFNRSkpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFC
TEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxF
X0JMT0IpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0JP
WF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5B
QkxFX0NTU19FWENMVVNJT05TKSAkKEVOQUJMRV9DU1NfRklMVEVSUykgJChFTkFCTEVfQ1NTX0lN
QUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVf
Q1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TSEFERVJTKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJ
TkcpICQoRU5BQkxFX0NTU19TVElDS1lfUE9TSVRJT04pICQoRU5BQkxFX0NTU19UUkFOU0ZPUk1T
X0FOSU1BVElPTlNfVU5QUkVGSVhFRCkgJChFTkFCTEVfQ1NTX1ZBUklBQkxFUykgJChFTkFCTEVf
Q1NTM19DT05ESVRJT05BTF9SVUxFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DVVNU
T01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9E
QVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9E
RVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRElB
TE9HX0VMRU1FTlQpICQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICQoRU5BQkxFX0RPTTRfRVZF
TlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9EUkFHR0FCTEVfUkVHSU9OKSAkKEVOQUJMRV9FTkNS
WVBURURfTUVESUEpICQoRU5BQkxFX0ZJTEVfU1lTVEVNKSAkKEVOQUJMRV9GSUxURVJTKSAkKEVO
QUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJ
T04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9I
SUdIX0RQSV9DQU5WQVMpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSUZSQU1FX1NF
QU1MRVNTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTlBVVF9TUEVFQ0gp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxP
Q0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikg
JChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJ
RklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdB
Q1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9MSU5LX1BSRVJF
TkRFUikgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01F
RElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAk
KEVOQUJMRV9NSUNST0RBVEEpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVf
TkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxF
X1BBR0VfVklTSUJJTElUWV9BUEkpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BM
VUdJTl9QUk9YWV9GT1JfVklERU8pICQoRU5BQkxFX1BST0dSRVNTX0VMRU1FTlQpICQoRU5BQkxF
X1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1B
VElPTl9GUkFNRSkgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfU0NS
SVBURURfU1BFRUNIKSAkKEVOQUJMRV9TSEFET1dfRE9NKSAkKEVOQUJMRV9TSEFSRURfV09SS0VS
UykgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1FMX0RBVEFCQVNFKSAkKEVO
QUJMRV9TVFlMRV9TQ09QRUQpICQoRU5BQkxFX1NVQlBJWEVMX0xBWU9VVCkgJChFTkFCTEVfU1ZH
KSAkKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1MpICQoRU5BQkxFX1NWR19GT05UUykgJChF
TkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJM
RV9URVhUX05PVElGSUNBVElPTlNfT05MWSkgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAk
KEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RS
QUNLKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dF
Ql9BVURJTykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5B
QkxFX1dPUktFUlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEZFQVRV
UkVfREVGSU5FU18kKFBMQVRGT1JNX05BTUUpKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4Nzg0NTFiOGU1OGQzNDYxZDNm
ODU5NTZmMjhjYTJmZGU2ZTYzNDFmLi4yNDI3ZmJhNDUxZmE2YjMzZmI5M2MxZWQ3NDE3NTBlYjZi
ZjUyOWFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTMtMDItMjEgIFZpY3RvciBDYXJidW5l
ICA8dmNhcmJ1bmVAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFRleHRUcmFja1JlZ2lvbiBDb25z
dHJ1Y3RvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTEwNTExCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBtZWRpYS90cmFjay90cmFjay1yZWdpb24tY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBtZWRpYS90cmFjay90cmFjay1yZWdpb24tY29uc3RydWN0b3IuaHRtbDog
QWRkZWQuCisKIDIwMTMtMDItMjEgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29tPgogCiAg
ICAgICAgIFtOZXcgTXVsdGljb2x1bW5dIEFkZCBhIHBvc2l0aW9uZWQgb2JqZWN0IHBhZ2luYXRp
b24gdGVzdC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLXJlZ2lv
bi1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFj
ay1yZWdpb24tY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE0MWI0ZmRhOGMx
YzhkNTk2MDZiZTMwY2M1MGZkYzk1NTljNmZkMmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9tZWRpYS90cmFjay90cmFjay1yZWdpb24tY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNTggQEAKK1Rlc3RzIHRoZSBjb25zdHJ1Y3RvciBhbmQgbXV0YXRpb24gb2YgVGV4
dFRyYWNrUmVnaW9uLgorCisqKiBUZXN0IHRoZSBkZWZhdWx0IGluZGV4cyBvZiBhIHJlZ2lvbi4g
KioKK0VYUEVDVEVEIChyZWdpb24udHJhY2sgPT0gJ251bGwnKSBPSworRVhQRUNURUQgKHJlZ2lv
bi5zY3JvbGwgPT0gJycpIE9LCitFWFBFQ1RFRCAocmVnaW9uLnZpZXdwb3J0QW5jaG9yWCA9PSAn
MCcpIE9LCitFWFBFQ1RFRCAocmVnaW9uLnZpZXdwb3J0QW5jaG9yWSA9PSAnMTAwJykgT0sKK0VY
UEVDVEVEIChyZWdpb24ucmVnaW9uQW5jaG9yWCA9PSAnMCcpIE9LCitFWFBFQ1RFRCAocmVnaW9u
LnJlZ2lvbkFuY2hvclkgPT0gJzEwMCcpIE9LCitFWFBFQ1RFRCAocmVnaW9uLmhlaWdodCA9PSAn
MycpIE9LCitFWFBFQ1RFRCAocmVnaW9uLndpZHRoID09ICcxMDAnKSBPSworCisqKiBUZXN0IHRo
YXQgaW5jb3JyZWN0IG11dGF0aW9uIGtlZXBzIHByZXZpb3VzIHZhbGlkIHZhbHVlcy4gKioKK1JV
TihyZWdpb24uc2Nyb2xsID0gJ2ludmFsaWQtc2Nyb2xsLXZhbHVlJykKK0Vycm9yOiBTeW50YXhF
cnJvcjogRE9NIEV4Y2VwdGlvbiAxMgorRVhQRUNURUQgKHJlZ2lvbi5zY3JvbGwgPT0gJycpIE9L
CisKK0ludmFsaWQgcGVyY2VudGFnZSB2YWx1ZTogLTEKK1JVTihyZWdpb24udmlld3BvcnRBbmNo
b3JYID0gaW52YWxpZFBlcmNlbnRhZ2VWYWx1ZXNbaW5kZXhdKQorRVhQRUNURUQgKHJlZ2lvbi52
aWV3cG9ydEFuY2hvclggPT0gJzAnKSBPSworUlVOKHJlZ2lvbi52aWV3cG9ydEFuY2hvclkgPSBp
bnZhbGlkUGVyY2VudGFnZVZhbHVlc1tpbmRleF0pCitFWFBFQ1RFRCAocmVnaW9uLnZpZXdwb3J0
QW5jaG9yWSA9PSAnMTAwJykgT0sKK1JVTihyZWdpb24ucmVnaW9uQW5jaG9yWCA9IGludmFsaWRQ
ZXJjZW50YWdlVmFsdWVzW2luZGV4XSkKK0VYUEVDVEVEIChyZWdpb24ucmVnaW9uQW5jaG9yWCA9
PSAnMCcpIE9LCitSVU4ocmVnaW9uLnJlZ2lvbkFuY2hvclkgPSBpbnZhbGlkUGVyY2VudGFnZVZh
bHVlc1tpbmRleF0pCitFWFBFQ1RFRCAocmVnaW9uLnJlZ2lvbkFuY2hvclkgPT0gJzEwMCcpIE9L
CitSVU4ocmVnaW9uLndpZHRoID0gaW52YWxpZFBlcmNlbnRhZ2VWYWx1ZXNbaW5kZXhdKQorRVhQ
RUNURUQgKHJlZ2lvbi53aWR0aCA9PSAnMTAwJykgT0sKKworSW52YWxpZCBwZXJjZW50YWdlIHZh
bHVlOiAxMDEKK1JVTihyZWdpb24udmlld3BvcnRBbmNob3JYID0gaW52YWxpZFBlcmNlbnRhZ2VW
YWx1ZXNbaW5kZXhdKQorRVhQRUNURUQgKHJlZ2lvbi52aWV3cG9ydEFuY2hvclggPT0gJzAnKSBP
SworUlVOKHJlZ2lvbi52aWV3cG9ydEFuY2hvclkgPSBpbnZhbGlkUGVyY2VudGFnZVZhbHVlc1tp
bmRleF0pCitFWFBFQ1RFRCAocmVnaW9uLnZpZXdwb3J0QW5jaG9yWSA9PSAnMTAwJykgT0sKK1JV
TihyZWdpb24ucmVnaW9uQW5jaG9yWCA9IGludmFsaWRQZXJjZW50YWdlVmFsdWVzW2luZGV4XSkK
K0VYUEVDVEVEIChyZWdpb24ucmVnaW9uQW5jaG9yWCA9PSAnMCcpIE9LCitSVU4ocmVnaW9uLnJl
Z2lvbkFuY2hvclkgPSBpbnZhbGlkUGVyY2VudGFnZVZhbHVlc1tpbmRleF0pCitFWFBFQ1RFRCAo
cmVnaW9uLnJlZ2lvbkFuY2hvclkgPT0gJzEwMCcpIE9LCitSVU4ocmVnaW9uLndpZHRoID0gaW52
YWxpZFBlcmNlbnRhZ2VWYWx1ZXNbaW5kZXhdKQorRVhQRUNURUQgKHJlZ2lvbi53aWR0aCA9PSAn
MTAwJykgT0sKK1JVTihyZWdpb24uaGVpZ2h0ID0gLTEpCitFWFBFQ1RFRCAocmVnaW9uLmhlaWdo
dCA9PSAnMycpIE9LCisKKyoqIFRlc3QgdGhhdCBwcm9wZXIgbXV0YXRpb24ga2VlcHMgYXNzaWdu
ZWQgdmFsdWUuICoqCitSVU4ocmVnaW9uLmhlaWdodCA9IDEzMCkKK0VYUEVDVEVEIChyZWdpb24u
aGVpZ2h0ID09ICcxMzAnKSBPSworUlVOKHJlZ2lvbi52aWV3cG9ydEFuY2hvclggPSA2NCkKK0VY
UEVDVEVEIChyZWdpb24udmlld3BvcnRBbmNob3JYID09ICc2NCcpIE9LCitSVU4ocmVnaW9uLnZp
ZXdwb3J0QW5jaG9yWSA9IDMyKQorRVhQRUNURUQgKHJlZ2lvbi52aWV3cG9ydEFuY2hvclkgPT0g
JzMyJykgT0sKK1JVTihyZWdpb24ucmVnaW9uQW5jaG9yWCA9IDE2KQorRVhQRUNURUQgKHJlZ2lv
bi5yZWdpb25BbmNob3JYID09ICcxNicpIE9LCitSVU4ocmVnaW9uLnJlZ2lvbkFuY2hvclkgPSA4
KQorRVhQRUNURUQgKHJlZ2lvbi5yZWdpb25BbmNob3JZID09ICc4JykgT0sKK1JVTihyZWdpb24u
d2lkdGggPSA0MikKK0VYUEVDVEVEIChyZWdpb24ud2lkdGggPT0gJzQyJykgT0sKK0VORCBPRiBU
RVNUCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLXJlZ2lvbi1j
b25zdHJ1Y3Rvci5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stcmVnaW9uLWNv
bnN0cnVjdG9yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWRlNzRjNTZkYWQyYTJmZmU2ZjMzZTE3YzRiZTk1
ZTZlODE3MWI2ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3Ry
YWNrLXJlZ2lvbi1jb25zdHJ1Y3Rvci5odG1sCkBAIC0wLDAgKzEsNzcgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRl
bnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04IiAvPgorCisgICAgICAg
IDxzY3JpcHQgc3JjPS4uL21lZGlhLWZpbGUuanM+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPS4uL3ZpZGVvLXRlc3QuanM+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAg
ICAgICB2YXIgcmVnaW9uOworICAgICAgICAgICAgdmFyIGludmFsaWRQZXJjZW50YWdlVmFsdWVz
OworCisgICAgICAgICAgICBmdW5jdGlvbiBzdGFydFRlc3QoKQorICAgICAgICAgICAgeworICAg
ICAgICAgICAgICAgIGlmICghd2luZG93LlRleHRUcmFja1JlZ2lvbikgeworICAgICAgICAgICAg
ICAgICAgICBmYWlsVGVzdCgpOworICAgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAg
ICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgcmVnaW9uID0gbmV3IFRleHRUcmFja1JlZ2lv
bigpOworCisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCIqKiBUZXN0IHRoZSBkZWZhdWx0
IGluZGV4cyBvZiBhIHJlZ2lvbi4gKioiKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQo
InJlZ2lvbi50cmFjayIsIG51bGwpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgicmVn
aW9uLnNjcm9sbCIsICIiKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInJlZ2lvbi52
aWV3cG9ydEFuY2hvclgiLCAwKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInJlZ2lv
bi52aWV3cG9ydEFuY2hvclkiLCAxMDApOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgi
cmVnaW9uLnJlZ2lvbkFuY2hvclgiLCAwKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQo
InJlZ2lvbi5yZWdpb25BbmNob3JZIiwgMTAwKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0
ZWQoInJlZ2lvbi5oZWlnaHQiLCAzKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInJl
Z2lvbi53aWR0aCIsIDEwMCk7CisKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIjxicj4q
KiBUZXN0IHRoYXQgaW5jb3JyZWN0IG11dGF0aW9uIGtlZXBzIHByZXZpb3VzIHZhbGlkIHZhbHVl
cy4gKioiKTsKKyAgICAgICAgICAgICAgICBydW4oInJlZ2lvbi5zY3JvbGwgPSAnaW52YWxpZC1z
Y3JvbGwtdmFsdWUnIik7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJyZWdpb24uc2Ny
b2xsIiwgIiIpOworCisgICAgICAgICAgICAgICAgaW52YWxpZFBlcmNlbnRhZ2VWYWx1ZXMgPSBb
LTEsIDEwMV07CisgICAgICAgICAgICAgICAgZm9yIChpbmRleCBpbiBpbnZhbGlkUGVyY2VudGFn
ZVZhbHVlcykgeworICAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCI8YnI+SW52YWxpZCBw
ZXJjZW50YWdlIHZhbHVlOiAiICsgaW52YWxpZFBlcmNlbnRhZ2VWYWx1ZXNbaW5kZXhdKTsKKyAg
ICAgICAgICAgICAgICAgIHJ1bigicmVnaW9uLnZpZXdwb3J0QW5jaG9yWCA9IGludmFsaWRQZXJj
ZW50YWdlVmFsdWVzW2luZGV4XSIpOworICAgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJy
ZWdpb24udmlld3BvcnRBbmNob3JYIiwgMCk7CisgICAgICAgICAgICAgICAgICBydW4oInJlZ2lv
bi52aWV3cG9ydEFuY2hvclkgPSBpbnZhbGlkUGVyY2VudGFnZVZhbHVlc1tpbmRleF0iKTsKKyAg
ICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgicmVnaW9uLnZpZXdwb3J0QW5jaG9yWSIsIDEw
MCk7CisgICAgICAgICAgICAgICAgICBydW4oInJlZ2lvbi5yZWdpb25BbmNob3JYID0gaW52YWxp
ZFBlcmNlbnRhZ2VWYWx1ZXNbaW5kZXhdIik7CisgICAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0
ZWQoInJlZ2lvbi5yZWdpb25BbmNob3JYIiwgMCk7CisgICAgICAgICAgICAgICAgICBydW4oInJl
Z2lvbi5yZWdpb25BbmNob3JZID0gaW52YWxpZFBlcmNlbnRhZ2VWYWx1ZXNbaW5kZXhdIik7Cisg
ICAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInJlZ2lvbi5yZWdpb25BbmNob3JZIiwgMTAw
KTsKKyAgICAgICAgICAgICAgICAgIHJ1bigicmVnaW9uLndpZHRoID0gaW52YWxpZFBlcmNlbnRh
Z2VWYWx1ZXNbaW5kZXhdIik7CisgICAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInJlZ2lv
bi53aWR0aCIsIDEwMCk7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgcnVu
KCJyZWdpb24uaGVpZ2h0ID0gLTEiKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInJl
Z2lvbi5oZWlnaHQiLCAzKTsKKworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiPGJyPioq
IFRlc3QgdGhhdCBwcm9wZXIgbXV0YXRpb24ga2VlcHMgYXNzaWduZWQgdmFsdWUuICoqIik7Cisg
ICAgICAgICAgICAgICAgcnVuKCJyZWdpb24uaGVpZ2h0ID0gMTMwIik7CisgICAgICAgICAgICAg
ICAgdGVzdEV4cGVjdGVkKCJyZWdpb24uaGVpZ2h0IiwgMTMwKTsKKworICAgICAgICAgICAgICAg
IHJ1bigicmVnaW9uLnZpZXdwb3J0QW5jaG9yWCA9IDY0Iik7CisgICAgICAgICAgICAgICAgdGVz
dEV4cGVjdGVkKCJyZWdpb24udmlld3BvcnRBbmNob3JYIiwgNjQpOworICAgICAgICAgICAgICAg
IHJ1bigicmVnaW9uLnZpZXdwb3J0QW5jaG9yWSA9IDMyIik7CisgICAgICAgICAgICAgICAgdGVz
dEV4cGVjdGVkKCJyZWdpb24udmlld3BvcnRBbmNob3JZIiwgMzIpOworICAgICAgICAgICAgICAg
IHJ1bigicmVnaW9uLnJlZ2lvbkFuY2hvclggPSAxNiIpOworICAgICAgICAgICAgICAgIHRlc3RF
eHBlY3RlZCgicmVnaW9uLnJlZ2lvbkFuY2hvclgiLCAxNik7CisgICAgICAgICAgICAgICAgcnVu
KCJyZWdpb24ucmVnaW9uQW5jaG9yWSA9IDgiKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0
ZWQoInJlZ2lvbi5yZWdpb25BbmNob3JZIiwgOCk7CisKKyAgICAgICAgICAgICAgICBydW4oInJl
Z2lvbi53aWR0aCA9IDQyIik7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJyZWdpb24u
d2lkdGgiLCA0Mik7CisKKyAgICAgICAgICAgICAgICBlbmRUZXN0KCk7CisgICAgICAgICAgICB9
CisKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5IG9ubG9hZD0ic3Rh
cnRUZXN0KCkiPgorICAgICAgICA8cD5UZXN0cyB0aGUgY29uc3RydWN0b3IgYW5kIG11dGF0aW9u
IG9mIFRleHRUcmFja1JlZ2lvbi48L3A+CisgICAgPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189933</attachid>
            <date>2013-02-23 10:19:58 -0800</date>
            <delta_ts>2013-02-23 15:28:23 -0800</delta_ts>
            <desc>Split width and height attributes</desc>
            <filename>bug-110511-20130223201615.patch</filename>
            <type>text/plain</type>
            <size>50215</size>
            <attacher name="Victor Carbune">vcarbune</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzNjEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
ZmQyNGQyNzFiYjY3MmU0YWUyMjRjYTM2NWE5Njc2MjEyNjJhM2ViLi42ZDE1MTIyM2UwOWVjOWE5
YzIwZWNjMTNhM2ExMWEyNzE0YWZjMDY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxMy0wMi0yMSAgVmljdG9yIENhcmJ1bmUgIDx2Y2FyYnVuZUBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgVGV4dFRyYWNrUmVnaW9uIENvbnN0cnVjdG9yCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTA1MTEKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDEzLTAyLTE5ICBGaWxpcCBQaXpsbyAgPGZwaXps
b0BhcHBsZS5jb20+CiAKICAgICAgICAgREZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUludDMy
VG9Eb3VibGUoKSBoYXMgYW4gdW5uZWNlc3NhcnkgY2FzZSBmb3IgY29uc3RhbnQgb3BlcmFuZHMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggNzYzZjdhYzE5Y2FmODk1YmJmNGM1NDc4NTM2NmYwN2NmMjRjMWRjNC4uY2IyZTRjMjU2
YzRjZDY2MDRjMTZhZWI2NmYxMTE4NDEzM2E4OGVlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAx
My0wMi0yMSAgVmljdG9yIENhcmJ1bmUgIDx2Y2FyYnVuZUBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgVGV4dFRyYWNrUmVnaW9uIENvbnN0cnVjdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTA1MTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0Zi9GZWF0dXJlRGVmaW5lcy5oOgorCiAyMDEzLTAy
LTIwICBSb2dlciBGb25nICA8cm9nZXJfZm9uZ0BhcHBsZS5jb20+CiAKICAgICAgICAgR2V0IFZT
MjAxMCBTb2x1dGlvbiBCJkkgcmVhZHkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjZlODE5NzBlYjYyYjE4Njcx
OTBjZGE3NzQwNjJiY2JjNzg0YmQ3ZS4uMWU3Nzk3NDlkOWQ1MzY4MjgzOWUzMGYzOGNkMmUxZGU0
Y2MxYzc2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDEzLTAyLTIxICBWaWN0b3Ig
Q2FyYnVuZSAgPHZjYXJidW5lQGNocm9taXVtLm9yZz4KKworICAgICAgICBUZXh0VHJhY2tSZWdp
b24gQ29uc3RydWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTExMDUxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRlc3Q6IG1lZGlhL3RyYWNrL3RyYWNrLXJlZ2lvbi1jb25zdHJ1Y3Rvci5odG1sCisK
KyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtl
OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAg
ICAgICAgKiBodG1sL3RyYWNrL1RleHRUcmFjay5jcHA6CisgICAgICAgICogaHRtbC90cmFjay9U
ZXh0VHJhY2suaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGh0bWwvdHJhY2svVGV4
dFRyYWNrUmVnaW9uLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdl
YkNvcmU6OlRleHRUcmFja1JlZ2lvbjo6VGV4dFRyYWNrUmVnaW9uKToKKyAgICAgICAgKFdlYkNv
cmU6OlRleHRUcmFja1JlZ2lvbjo6flRleHRUcmFja1JlZ2lvbik6CisgICAgICAgIChXZWJDb3Jl
OjpUZXh0VHJhY2tSZWdpb246OnNldFRyYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFj
a1JlZ2lvbjo6c2V0SWQpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrUmVnaW9uOjpzZXRX
aWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tSZWdpb246OnNldEhlaWdodCk6Cisg
ICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tSZWdpb246OnNldFJlZ2lvbkFuY2hvclgpOgorICAg
ICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrUmVnaW9uOjpzZXRSZWdpb25BbmNob3JZKToKKyAgICAg
ICAgKFdlYkNvcmU6OlRleHRUcmFja1JlZ2lvbjo6c2V0Vmlld3BvcnRBbmNob3JYKToKKyAgICAg
ICAgKFdlYkNvcmU6OlRleHRUcmFja1JlZ2lvbjo6c2V0Vmlld3BvcnRBbmNob3JZKToKKyAgICAg
ICAgKFdlYkNvcmU6OlRleHRUcmFja1JlZ2lvbjo6c2Nyb2xsKToKKyAgICAgICAgKFdlYkNvcmU6
OlRleHRUcmFja1JlZ2lvbjo6c2V0U2Nyb2xsKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFj
a1JlZ2lvbjo6c2V0UmVnaW9uU2V0dGluZ3MpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNr
UmVnaW9uOjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRU
cmFja1JlZ2lvbjo6Z2V0U2V0dGluZ0Zyb21TdHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6VGV4
dFRyYWNrUmVnaW9uOjpwYXJzZVNldHRpbmdWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0
VHJhY2tSZWdpb246OnBhcnNlU2V0dGluZyk6CisgICAgICAgICogaHRtbC90cmFjay9UZXh0VHJh
Y2tSZWdpb24uaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFRleHRUcmFj
a1JlZ2lvbik6CisgICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tSZWdpb246OmNyZWF0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tSZWdpb246OnRyYWNrKToKKyAgICAgICAgKFdlYkNv
cmU6OlRleHRUcmFja1JlZ2lvbjo6aWQpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrUmVn
aW9uOjp3aWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tSZWdpb246OmhlaWdodCk6
CisgICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tSZWdpb246OnJlZ2lvbkFuY2hvclgpOgorICAg
ICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrUmVnaW9uOjpyZWdpb25BbmNob3JZKToKKyAgICAgICAg
KFdlYkNvcmU6OlRleHRUcmFja1JlZ2lvbjo6dmlld3BvcnRBbmNob3JYKToKKyAgICAgICAgKFdl
YkNvcmU6OlRleHRUcmFja1JlZ2lvbjo6dmlld3BvcnRBbmNob3JZKToKKyAgICAgICAgKFdlYkNv
cmU6OlRleHRUcmFja1JlZ2lvbjo6cmVnaW9uU2V0dGluZ3MpOgorICAgICAgICAoV2ViQ29yZTo6
VGV4dFRyYWNrUmVnaW9uOjpvd25lckRvY3VtZW50KToKKyAgICAgICAgKiBodG1sL3RyYWNrL1Rl
eHRUcmFja1JlZ2lvbi5pZGw6IEFkZGVkLgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDoK
KwogMjAxMy0wMi0yMSAgWGFuIExvcGV6ICA8eGxvcGV6QHJpbS5jb20+CiAKICAgICAgICAgW0Js
YWNrQmVycnldIExheWVyRmlsdGVyUmVuZGVyZXI6IGZpeCBpbmNsdXNpb24gb2YgVmVjdG9yLmgK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggY2ExYWQ5NzUyYmQ4OTZmNWIwMWRhMjFlOGMy
MjA0MjhjYTJjMjA0Ny4uYjZlODMwOGYxNzVlNzdlODQ1NzBlODZhZTFlYThmNjFhZWZkMzdjYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMy0wMi0yMSAg
VmljdG9yIENhcmJ1bmUgIDx2Y2FyYnVuZUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVGV4dFRy
YWNrUmVnaW9uIENvbnN0cnVjdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMTA1MTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGZlYXR1cmVzLmd5cGk6CisKIDIwMTMtMDItMjEgIFZzZXZvbG9kIFZs
YXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogR2V0
IHJpZCBvZiBwYXJzZWRVUkwgaW4gdWlTb3VyY2VDb2RlLCB1c2UgbmFtZSBhbmQgcGF0aCBmb3Ig
ZGlzcGxheU5hbWUgaW5zdGVhZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCA2MjU5YzM3ZTVlZDUyOGJm
YmYyNjNiZGM1YTQzYWQyM2NkZWQzNDI0Li44ODZjZDZjYWNjNDg5N2ZlOGE3ZTc5OWY3OWFlNWY2
NDkzZDhkYjY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTMtMDItMjEg
IFZpY3RvciBDYXJidW5lICA8dmNhcmJ1bmVAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFRleHRU
cmFja1JlZ2lvbiBDb25zdHJ1Y3RvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTEwNTExCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoK
KwogMjAxMy0wMi0yMCAgRGlyayBTY2h1bHplICA8a3JpdEB3ZWJraXQub3JnPgogCiAgICAgICAg
IEVuYWJsZSBDQU5WQVNfUEFUSCBmbGFnCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZDk0YzEwZWEwMmQyY2ViNjNl
NjU1ZDYxMTM3MTgyMmI5MDcwZDAzMS4uNjhjYTNhZmI1OWYyNzFhYTRjNTVlMzdhZWE4YmY2NDQ2
OWVkZjJmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDEzLTAyLTIxICBWaWN0b3Ig
Q2FyYnVuZSAgPHZjYXJidW5lQGNocm9taXVtLm9yZz4KKworICAgICAgICBUZXh0VHJhY2tSZWdp
b24gQ29uc3RydWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTExMDUxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisKIDIwMTMt
MDItMjEgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAg
ICAgIFVucmV2aWV3ZWQuIEZpeCBtYWtlIGRpc3RjaGVjay4KZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZwppbmRleCAyNWQwMjg0ODA4YjlhNzk0NjMwZTljZGQzZmQ1ODhmMTFkNWEwYjg2Li5jZTZlOTQ1
ZTM3ZGEyYzZjZWY2MGQzYmVkNTIwM2EwOTA5MmRhMWNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29u
ZmlnCkBAIC0xNjMsNiArMTYzLDggQEAgRU5BQkxFX1VTRVJTRUxFQ1RfQUxMID0gRU5BQkxFX1VT
RVJTRUxFQ1RfQUxMOwogRU5BQkxFX1ZJREVPID0gRU5BQkxFX1ZJREVPOwogRU5BQkxFX1ZJREVP
X1RSQUNLID0gJChFTkFCTEVfVklERU9fVFJBQ0tfJChQTEFURk9STV9OQU1FKSk7CiBFTkFCTEVf
VklERU9fVFJBQ0tfbWFjb3N4ID0gRU5BQkxFX1ZJREVPX1RSQUNLOworRU5BQkxFX1dFQlZUVF9S
RUdJT05TID0gJChFTkFCTEVfV0VCVlRUX1JFR0lPTlNfJChQTEFURk9STV9OQU1FKSk7CitFTkFC
TEVfV0VCVlRUX1JFR0lPTlNfbWFjb3N4ID0gRU5BQkxFX1dFQlZUVF9SRUdJT05TOwogRU5BQkxF
X1dFQkdMID0gRU5BQkxFX1dFQkdMOwogRU5BQkxFX1dFQl9BVURJTyA9IEVOQUJMRV9XRUJfQVVE
SU87CiBFTkFCTEVfV0VCX1NPQ0tFVFMgPSBFTkFCTEVfV0VCX1NPQ0tFVFM7CkBAIC0xNzEsNCAr
MTczLDQgQEAgRU5BQkxFX1dPUktFUlMgPSBFTkFCTEVfV09SS0VSUzsKIEVOQUJMRV9YSFJfVElN
RU9VVCA9IEVOQUJMRV9YSFJfVElNRU9VVDsKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAK
LUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxF
UkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9CTE9CKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChF
TkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVf
Q1NQX05FWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NT
X0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfRVhDTFVTSU9OUykgJChFTkFCTEVfQ1NT
X0ZJTFRFUlMpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lN
QUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0hBREVS
UykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lUSU9O
KSAkKEVOQUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1VOUFJFRklYRUQpICQoRU5BQkxF
X0NTU19WQVJJQUJMRVMpICQoRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVMpICQoRU5BQkxF
X0NTUzNfVEVYVCkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNI
Qk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9U
UkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0Vf
T1JJRU5UQVRJT04pICQoRU5BQkxFX0RJQUxPR19FTEVNRU5UKSAkKEVOQUJMRV9ESVJFQ1RPUllf
VVBMT0FEKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRFJBR0dB
QkxFX1JFR0lPTikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURf
TUVESUFfVjIpICQoRU5BQkxFX0ZJTEVfU1lTVEVNKSAkKEVOQUJMRV9GSUxURVJTKSAkKEVOQUJM
RV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04p
ICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9ISUdI
X0RQSV9DQU5WQVMpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSUZSQU1FX1NFQU1M
RVNTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTlBVVF9TUEVFQ0gpICQo
RU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FM
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChF
TkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklD
QVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lf
V0VCX0FVRElPKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9MSU5LX1BSRVJFTkRF
UikgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElB
X1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVO
QUJMRV9NSUNST0RBVEEpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFW
SUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BB
R0VfVklTSUJJTElUWV9BUEkpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BMVUdJ
Tl9QUk9YWV9GT1JfVklERU8pICQoRU5BQkxFX1BST0dSRVNTX0VMRU1FTlQpICQoRU5BQkxFX1BS
T1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElP
Tl9GUkFNRSkgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfU0NSSVBU
RURfU1BFRUNIKSAkKEVOQUJMRV9TSEFET1dfRE9NKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykg
JChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1FMX0RBVEFCQVNFKSAkKEVOQUJM
RV9TVFlMRV9TQ09QRUQpICQoRU5BQkxFX1NVQlBJWEVMX0xBWU9VVCkgJChFTkFCTEVfU1ZHKSAk
KEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1MpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFC
TEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9U
RVhUX05PVElGSUNBVElPTlNfT05MWSkgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVO
QUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNL
KSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfU09DS0VU
UykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV09SS0VSUykgJChFTkFCTEVfWEhSX1RJ
TUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRkVBVFVSRV9ERUZJTkVTXyQoUExBVEZPUk1fTkFNRSkp
OworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NF
TEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0JMT0IpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAk
KEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJM
RV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9D
U1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19FWENMVVNJT05TKSAkKEVOQUJMRV9D
U1NfRklMVEVSUykgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TSEFE
RVJTKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19TVElDS1lfUE9TSVRJ
T04pICQoRU5BQkxFX0NTU19UUkFOU0ZPUk1TX0FOSU1BVElPTlNfVU5QUkVGSVhFRCkgJChFTkFC
TEVfQ1NTX1ZBUklBQkxFUykgJChFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUykgJChFTkFC
TEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RB
U0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRB
X1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklD
RV9PUklFTlRBVElPTikgJChFTkFCTEVfRElBTE9HX0VMRU1FTlQpICQoRU5BQkxFX0RJUkVDVE9S
WV9VUExPQUQpICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9EUkFH
R0FCTEVfUkVHSU9OKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRF
RF9NRURJQV9WMikgJChFTkFCTEVfRklMRV9TWVNURU0pICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5B
QkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElP
TikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0hJ
R0hfRFBJX0NBTlZBUykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JRlJBTUVfU0VB
TUxFU1MpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1NQRUVDSCkg
JChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9D
QUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAk
KEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElG
SUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FD
WV9XRUJfQVVESU8pICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX0xJTktfUFJFUkVO
REVSKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVE
SUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQo
RU5BQkxFX01JQ1JPREFUQSkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9O
QVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVf
UEFHRV9WSVNJQklMSVRZX0FQSSkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUExV
R0lOX1BST1hZX0ZPUl9WSURFTykgJChFTkFCTEVfUFJPR1JFU1NfRUxFTUVOVCkgJChFTkFCTEVf
UFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFU
SU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9TQ1JJ
UFRFRF9TUEVFQ0gpICQoRU5BQkxFX1NIQURPV19ET00pICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJT
KSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TUUxfREFUQUJBU0UpICQoRU5B
QkxFX1NUWUxFX1NDT1BFRCkgJChFTkFCTEVfU1VCUElYRUxfTEFZT1VUKSAkKEVOQUJMRV9TVkcp
ICQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVO
QUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxF
X1RFWFRfTk9USUZJQ0FUSU9OU19PTkxZKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQo
RU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJB
Q0spICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VC
X0FVRElPKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFC
TEVfV09SS0VSUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRkVBVFVS
RV9ERUZJTkVTXyQoUExBVEZPUk1fTkFNRSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYv
RmVhdHVyZURlZmluZXMuaCBiL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgKaW5kZXgg
NTNmNjE2NmNmZmE5Y2M2MmQ1YTljNGI4YTY0NjA5NzFkYTNhYTcxMS4uZTkyZDQ0NTc4MWU5YWU2
NDg0ODE5Y2Q5YjVhMjM5MDVmY2UwYmNlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvRmVh
dHVyZURlZmluZXMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCkBAIC04
MjgsNiArODI4LDEwIEBACiAjZGVmaW5lIEVOQUJMRV9XRUJHTCAwCiAjZW5kaWYKIAorI2lmICFk
ZWZpbmVkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykKKyNkZWZpbmUgRU5BQkxFX1dFQlZUVF9SRUdJ
T05TIDAKKyNlbmRpZgorCiAjaWYgIWRlZmluZWQoRU5BQkxFX1dFQl9BUkNISVZFKQogI2RlZmlu
ZSBFTkFCTEVfV0VCX0FSQ0hJVkUgMAogI2VuZGlmCkBAIC04NzQsNCArODc4LDggQEAKICNlcnJv
ciAiRU5BQkxFKFZJREVPX1RSQUNLKSByZXF1aXJlcyBFTkFCTEUoVklERU8pIgogI2VuZGlmCiAK
KyNpZiBFTkFCTEUoV0VCVlRUX1JFR0lPTlMpICYmICFFTkFCTEUoVklERU9fVFJBQ0spCisjZXJy
b3IgIkVOQUJMRShXRUJWVFRfUkVHSU9OUykgcmVxdWlyZXMgRU5BQkxFKFZJREVPX1RSQUNLKSIK
KyNlbmRpZgorCiAjZW5kaWYgLyogV1RGX0ZlYXR1cmVEZWZpbmVzX2ggKi8KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKaW5kZXggNDUwMTdiNDVmMDdhZDYxZmVjNDkxZjg3YmZlZTAzNDQ0NTQwY2YyNS4uYTA3
MDkxN2IyOGRlNDJmOTVmNGVjZGRlZDIxNjE5NzgyNDk5ZjNiZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKQEAgLTU1Myw2ICs1NTMsNyBAQCBzZXQoV2ViQ29yZV9JRExfRklMRVMKICAgICBodG1sL3Ry
YWNrL1RleHRUcmFja0N1ZS5pZGwKICAgICBodG1sL3RyYWNrL1RleHRUcmFja0N1ZUxpc3QuaWRs
CiAgICAgaHRtbC90cmFjay9UZXh0VHJhY2tMaXN0LmlkbAorICAgIGh0bWwvdHJhY2svVGV4dFRy
YWNrUmVnaW9uLmlkbAogICAgIGh0bWwvdHJhY2svVHJhY2tFdmVudC5pZGwKIAogICAgIGluc3Bl
Y3Rvci9JbmplY3RlZFNjcmlwdEhvc3QuaWRsCkBAIC0xNTkyLDYgKzE1OTMsOCBAQCBzZXQoV2Vi
Q29yZV9TT1VSQ0VTCiAgICAgaHRtbC90cmFjay9UZXh0VHJhY2tDdWVHZW5lcmljLmNwcAogICAg
IGh0bWwvdHJhY2svVGV4dFRyYWNrQ3VlTGlzdC5jcHAKICAgICBodG1sL3RyYWNrL1RleHRUcmFj
a0xpc3QuY3BwCisgICAgaHRtbC90cmFjay9UZXh0VHJhY2tSZWdpb24uY3BwCisgICAgaHRtbC90
cmFjay9UZXh0VHJhY2tSZWdpb24uaAogICAgIGh0bWwvdHJhY2svVHJhY2tCYXNlLmNwcAogICAg
IGh0bWwvdHJhY2svVHJhY2tFdmVudC5jcHAKICAgICBodG1sL3RyYWNrL1dlYlZUVEVsZW1lbnQu
Y3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBiMjJhZGU1N2Y5YTU0ODg0MjU1
NWY1MGE0MTJmOTlkNjMzODIwZmI1Li5lNWU4ZDYwN2YyYzRiNDI1NmNkYmQyNmE0ZmRjZTQ0NWNi
N2U2ZWRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTg2OSw2ICs4NjksMTAg
QEAgaWZlcSAoJChmaW5kc3RyaW5nIEVOQUJMRV9WSURFT19UUkFDSywkKEZFQVRVUkVfREVGSU5F
UykpLCBFTkFCTEVfVklERU9fVFJBQ0spCiAgICAgSFRNTF9GTEFHUyA6PSAkKEhUTUxfRkxBR1Mp
IEVOQUJMRV9WSURFT19UUkFDSz0wCiBlbmRpZgogCitpZmVxICgkKGZpbmRzdHJpbmcgRU5BQkxF
X1dFQlZUVF9SRUdJT05TLCQoRkVBVFVSRV9ERUZJTkVTKSwgRU5BQkxFX1dFQlZUVF9SRUdJT05T
KQorICAgIEhUTUxfRkxBR1MgOj0gJChIVE1MX0ZMQUdTKSBFTkFCTEVfV0VCVlRUX1JFR0lPTlM9
MQorZW5kaWYKKwogaWZlcSAoJChmaW5kc3RyaW5nIEVOQUJMRV9TSEFET1dfRE9NLCQoRkVBVFVS
RV9ERUZJTkVTKSksIEVOQUJMRV9TSEFET1dfRE9NKQogICAgIEhUTUxfRkxBR1MgOj0gJChIVE1M
X0ZMQUdTKSBFTkFCTEVfU0hBRE9XX0RPTT0xCiBlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRl
eCA3NjIzYjlkZTgzNTI1MTdkNjk4ZGIwNzJmMTNjNWRjNzRkZWVmMWNjLi5mYWYyN2Q1OGU5NmEz
ZGMwYjQwNjgzOTk0ZjFkYzg5ZGEzYThlM2Q1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtMTQ5
LDYgKzE0OSwxNSBAQCBEZXJpdmVkU291cmNlcy9XZWJDb3JlL01hdGhNTEVsZW1lbnRGYWN0b3J5
LmNwcCBEZXJpdmVkU291cmNlcy9XZWJDb3JlL01hdGhNTE5hbQogCSQoQU1fVl9HRU4pJChQRVJM
KSAtSSQoV2ViQ29yZSkvYmluZGluZ3Mvc2NyaXB0cyAkPCAtLXRhZ3MgJChXZWJDb3JlKS9tYXRo
bWwvbWF0aHRhZ3MuaW4gLS1hdHRycyAkKFdlYkNvcmUpL21hdGhtbC9tYXRoYXR0cnMuaW4gLS1m
YWN0b3J5IC0td3JhcHBlckZhY3RvcnkgLS1vdXRwdXREaXIgIiQoR0VOU09VUkNFU19XRUJDT1JF
KSIKIAogIyAtLS0tCisjIFdlYlZUVCB3aXRoIFJlZ2lvbnMgU3VwcG9ydAorIyAtLS0tCitpZiBF
TkFCTEVfV0VCVlRUX1JFR0lPTlMKK3dlYmNvcmVfY3BwZmxhZ3MgKz0gREVOQUJMRV9XRUJWVFRf
UkVHSU9OUz0xCitlbHNlCit3ZWJjb3JlX2NwcGZsYWdzICs9IERFTkFCTEVfV0VCVlRUX1JFR0lP
TlM9MQorZW5kaWYgIyBFTkQgRU5BQkxFX1dFQlZUVF9SRUdJT05TCisKKyMgLS0tLQogIyBTVkcg
U3VwcG9ydAogIwogIyBGSVhNRTogYWxsb3cgYSBtb3JlIGZpbmUtZ3JhaW5lZCBpbmNsdXNpb24v
Z2VuZXJhdGlvbiBvZiBzb3VyY2VzIHBlciBTVkcgZmVhdHVyZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4
IGJhNTZiY2IyZTEyNTNlYjE0YjVhYzA0YTc4YTljMjc5OTg4ZmZmNDMuLmY0NzFmNDUyMzg5YzQ2
OTcxY2QyMTgwNWFiOWNmZjYyZGM0MjE5MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTQwNyw2ICs0
MDcsNyBAQAogICAgICAgICAgICAgJ2h0bWwvdHJhY2svVGV4dFRyYWNrQ3VlTGlzdC5pZGwnLAog
ICAgICAgICAgICAgJ2h0bWwvdHJhY2svVGV4dFRyYWNrTGlzdC5pZGwnLAogICAgICAgICAgICAg
J2h0bWwvdHJhY2svVHJhY2tFdmVudC5pZGwnLAorICAgICAgICAgICAgJ2h0bWwvdHJhY2svVGV4
dFRyYWNrUmVnaW9uLmlkbCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0
SG9zdC5pZGwnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3Qu
aWRsJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvSmF2YVNjcmlwdENhbGxGcmFtZS5pZGwnLApA
QCAtMzQ5Miw2ICszNDkzLDggQEAKICAgICAgICAgICAgICdodG1sL3RyYWNrL1RleHRUcmFja0N1
ZUxpc3QuY3BwJywKICAgICAgICAgICAgICdodG1sL3RyYWNrL1RleHRUcmFja0N1ZUxpc3QuaCcs
CiAgICAgICAgICAgICAnaHRtbC90cmFjay9UZXh0VHJhY2tMaXN0LmNwcCcsCisgICAgICAgICAg
ICAnaHRtbC90cmFjay9UZXh0VHJhY2tSZWdpb24uY3BwJywKKyAgICAgICAgICAgICdodG1sL3Ry
YWNrL1RleHRUcmFja1JlZ2lvbi5oJywKICAgICAgICAgICAgICdodG1sL3RyYWNrL1RyYWNrQmFz
ZS5jcHAnLAogICAgICAgICAgICAgJ2h0bWwvdHJhY2svVHJhY2tFdmVudC5jcHAnLAogICAgICAg
ICAgICAgJ2h0bWwvdHJhY2svV2ViVlRURWxlbWVudC5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2suY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC90
cmFjay9UZXh0VHJhY2suY3BwCmluZGV4IGVkMTk1NjEyMWNjYWNkNTQwOTc3NGYyZGQ5Y2MyNDJk
OTQ2MmM0M2YuLjFhYzdhNTBmMjg0YzVmY2NkZDgzNDIwZTZiYzA0M2Y3MmNkMjQwMWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFjay5jcHAKQEAgLTQwLDYgKzQwLDcgQEAKICNp
bmNsdWRlICJIVE1MTWVkaWFFbGVtZW50LmgiCiAjaW5jbHVkZSAiVGV4dFRyYWNrQ3VlTGlzdC5o
IgogI2luY2x1ZGUgIlRleHRUcmFja0xpc3QuaCIKKyNpbmNsdWRlICJUZXh0VHJhY2tSZWdpb24u
aCIKICNpbmNsdWRlICJUcmFja0Jhc2UuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2suaCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrLmgKaW5kZXggNjJiNjM1ODBhMGE3ZDc2Njg0YmRhYTVi
YjEyNzgyZGVjMzMxYWM0Zi4uYzMzOWIxMTViYzI1MGVjYmRjMzYwZGViZjUzMDNlOWQyYmQ2NTJh
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2suaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFjay5oCkBAIC00MSw2ICs0MSw3IEBA
IGNsYXNzIEhUTUxNZWRpYUVsZW1lbnQ7CiBjbGFzcyBUZXh0VHJhY2s7CiBjbGFzcyBUZXh0VHJh
Y2tDdWU7CiBjbGFzcyBUZXh0VHJhY2tDdWVMaXN0OworY2xhc3MgVGV4dFRyYWNrUmVnaW9uOwog
CiBjbGFzcyBUZXh0VHJhY2tDbGllbnQgewogcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tSZWdpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC90cmFjay9UZXh0VHJhY2tSZWdpb24uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU3YjI2MDEwZGZkZTQzZTU2
NjNiMWRjODc1NThjNGIwNWQxNjNjOTUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3RyYWNrL1RleHRUcmFja1JlZ2lvbi5jcHAKQEAgLTAsMCArMSwyMDQgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBlYyBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0
cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0
aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisg
KiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKworI2lmIEVOQUJMRShWSURFT19UUkFDSykgJiYgRU5BQkxFKFdFQlZUVF9S
RUdJT05TKQorCisjaW5jbHVkZSAiVGV4dFRyYWNrUmVnaW9uLmgiCisKKyNpbmNsdWRlICJXZWJW
VFRQYXJzZXIuaCIKKyNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgorI2luY2x1ZGUgPHd0Zi90
ZXh0L1N0cmluZ0J1aWxkZXIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCisvLyBUaGUgcmVn
aW9uIG9jY3VwaWVzIGJ5IGRlZmF1bHQgMTAwJSBvZiB0aGUgd2lkdGggb2YgdGhlIHZpZGVvIHZp
ZXdwb3J0Lgorc3RhdGljIGNvbnN0IGludCBkZWZhdWx0V2lkdGggPSAxMDA7CisKKy8vIFRoZSBy
ZWdpb24gaGFzLCBieSBkZWZhdWx0LCAzIGxpbmVzIG9mIHRleHQuCitzdGF0aWMgY29uc3QgaW50
IGRlZmF1bHRIZWlnaHQgPSAzOworCisvLyBUaGUgcmVnaW9uIGlzIGFuY2hvcmVkIGluIHRoZSBi
b3R0b20gbGVmdCBjb3JuZXIuCitzdGF0aWMgY29uc3QgaW50IGRlZmF1bHRBbmNob3JQb2ludFgg
PSAwOworc3RhdGljIGNvbnN0IGludCBkZWZhdWx0QW5jaG9yUG9pbnRZID0gMTAwOworCisvLyBU
aGUgcmVnaW9uIGRvZXNuJ3QgaGF2ZSBzY3JvbGxpbmcgdGV4dCwgYnkgZGVmYXVsdC4KK3N0YXRp
YyBjb25zdCBpbnQgZGVmYXVsdFNjcm9sbCA9IGZhbHNlOworCitUZXh0VHJhY2tSZWdpb246OlRl
eHRUcmFja1JlZ2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQorICAgIDogQ29u
dGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIoY29udGV4dCkKKyAgICAsIG1faWQoZW1wdHlTdHJpbmco
KSkKKyAgICAsIG1fd2lkdGgoZGVmYXVsdFdpZHRoKQorICAgICwgbV9oZWlnaHRJbkxpbmVzKGRl
ZmF1bHRIZWlnaHQpCisgICAgLCBtX3JlZ2lvbkFuY2hvcihJbnRTaXplKGRlZmF1bHRBbmNob3JQ
b2ludFgsIGRlZmF1bHRBbmNob3JQb2ludFkpKQorICAgICwgbV92aWV3cG9ydEFuY2hvcihJbnRT
aXplKGRlZmF1bHRBbmNob3JQb2ludFgsIGRlZmF1bHRBbmNob3JQb2ludFkpKQorICAgICwgbV9z
Y3JvbGwoZGVmYXVsdFNjcm9sbCkKKyAgICAsIG1fdHJhY2soMCkKK3sKK30KKworVGV4dFRyYWNr
UmVnaW9uOjp+VGV4dFRyYWNrUmVnaW9uKCkKK3sKK30KKwordm9pZCBUZXh0VHJhY2tSZWdpb246
OnNldElkKGNvbnN0IFN0cmluZyYgaWQpCit7CisgICAgbV9pZCA9IGlkOworfQorCit2b2lkIFRl
eHRUcmFja1JlZ2lvbjo6c2V0V2lkdGgobG9uZyB2YWx1ZSwgRXhjZXB0aW9uQ29kZSYgZWMpCit7
CisgICAgaWYgKHN0ZDo6aXNpbmYodmFsdWUpIHx8IHN0ZDo6aXNuYW4odmFsdWUpKSB7CisgICAg
ICAgIGVjID0gVHlwZUVycm9yOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKHZh
bHVlIDwgMCB8fCB2YWx1ZSA+IDEwMCkgeworICAgICAgICBlYyA9IElOREVYX1NJWkVfRVJSOwor
ICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgbV93aWR0aCA9IHZhbHVlOworfQorCit2b2lk
IFRleHRUcmFja1JlZ2lvbjo6c2V0SGVpZ2h0KGxvbmcgdmFsdWUsIEV4Y2VwdGlvbkNvZGUmIGVj
KQoreworICAgIGlmIChzdGQ6OmlzaW5mKHZhbHVlKSB8fCBzdGQ6OmlzbmFuKHZhbHVlKSkgewor
ICAgICAgICBlYyA9IFR5cGVFcnJvcjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlm
ICh2YWx1ZSA8IDApIHsKKyAgICAgICAgZWMgPSBJTkRFWF9TSVpFX0VSUjsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKworICAgIG1faGVpZ2h0SW5MaW5lcyA9IHZhbHVlOworfQorCit2b2lkIFRl
eHRUcmFja1JlZ2lvbjo6c2V0UmVnaW9uQW5jaG9yWChsb25nIHZhbHVlLCBFeGNlcHRpb25Db2Rl
JiBlYykKK3sKKyAgICBpZiAoc3RkOjppc2luZih2YWx1ZSkgfHwgc3RkOjppc25hbih2YWx1ZSkp
IHsKKyAgICAgICAgZWMgPSBUeXBlRXJyb3I7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAg
ICBpZiAodmFsdWUgPCAwIHx8IHZhbHVlID4gMTAwKQorICAgICAgICByZXR1cm47CisKKyAgICBt
X3JlZ2lvbkFuY2hvci5zZXRXaWR0aCh2YWx1ZSk7Cit9CisKK3ZvaWQgVGV4dFRyYWNrUmVnaW9u
OjpzZXRSZWdpb25BbmNob3JZKGxvbmcgdmFsdWUsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAg
IGlmIChzdGQ6OmlzaW5mKHZhbHVlKSB8fCBzdGQ6OmlzbmFuKHZhbHVlKSkgeworICAgICAgICBl
YyA9IFR5cGVFcnJvcjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmICh2YWx1ZSA8
IDAgfHwgdmFsdWUgPiAxMDApCisgICAgICAgIHJldHVybjsKKworICAgIG1fcmVnaW9uQW5jaG9y
LnNldEhlaWdodCh2YWx1ZSk7Cit9CisKK3ZvaWQgVGV4dFRyYWNrUmVnaW9uOjpzZXRWaWV3cG9y
dEFuY2hvclgobG9uZyB2YWx1ZSwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKHN0ZDo6
aXNpbmYodmFsdWUpIHx8IHN0ZDo6aXNuYW4odmFsdWUpKSB7CisgICAgICAgIGVjID0gVHlwZUVy
cm9yOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKHZhbHVlIDwgMCB8fCB2YWx1
ZSA+IDEwMCkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV92aWV3cG9ydEFuY2hvci5zZXRXaWR0
aCh2YWx1ZSk7Cit9CisKK3ZvaWQgVGV4dFRyYWNrUmVnaW9uOjpzZXRWaWV3cG9ydEFuY2hvclko
bG9uZyB2YWx1ZSwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKHN0ZDo6aXNpbmYodmFs
dWUpIHx8IHN0ZDo6aXNuYW4odmFsdWUpKSB7CisgICAgICAgIGVjID0gVHlwZUVycm9yOworICAg
ICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKHZhbHVlIDwgMCB8fCB2YWx1ZSA+IDEwMCkK
KyAgICAgICAgcmV0dXJuOworCisgICAgbV92aWV3cG9ydEFuY2hvci5zZXRIZWlnaHQodmFsdWUp
OworfQorCitjb25zdCBBdG9taWNTdHJpbmcgVGV4dFRyYWNrUmVnaW9uOjpzY3JvbGwoKSBjb25z
dAoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCB1cFNjcm9s
bFZhbHVlS2V5d29yZCwgKCJ1cCIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwp
KTsKKworICAgIGlmIChtX3Njcm9sbCkKKyAgICAgICAgcmV0dXJuIHVwU2Nyb2xsVmFsdWVLZXl3
b3JkOworCisgICAgcmV0dXJuICIiOworfQorCit2b2lkIFRleHRUcmFja1JlZ2lvbjo6c2V0U2Ny
b2xsKGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAg
IERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCB1cFNjcm9sbFZhbHVlS2V5
d29yZCwgKCJ1cCIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKKworICAg
IGlmICh2YWx1ZSAhPSBlbXB0eVN0cmluZygpICYmIHZhbHVlICE9IHVwU2Nyb2xsVmFsdWVLZXl3
b3JkKSB7CisgICAgICAgIGVjID0gU1lOVEFYX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KworICAgIG1fc2Nyb2xsID0gdmFsdWUgPT0gdXBTY3JvbGxWYWx1ZUtleXdvcmQ7Cit9CisKK3Zv
aWQgVGV4dFRyYWNrUmVnaW9uOjpzZXRSZWdpb25TZXR0aW5ncyhjb25zdCBTdHJpbmcmIGlucHV0
KQoreworICAgIC8vIEZJWE1FKDEwOTgxOCk6IFBhcnNlIHJlZ2lvbiBoZWFkZXIgbWV0YWRhdGEu
Cit9CisKK1RleHRUcmFja1JlZ2lvbjo6UmVnaW9uU2V0dGluZyBUZXh0VHJhY2tSZWdpb246Omdl
dFNldHRpbmdGcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYgc2V0dGluZykKK3sKKyAgICAvLyBGSVhN
RSgxMDk4MTgpOiBQYXJzZSByZWdpb24gaGVhZGVyIG1ldGFkYXRhLgorICAgIHJldHVybiBOb25l
OworfQorCit2b2lkIFRleHRUcmFja1JlZ2lvbjo6cGFyc2VTZXR0aW5nVmFsdWUoUmVnaW9uU2V0
dGluZyBzZXR0aW5nLCBjb25zdCBTdHJpbmcmIHZhbHVlKQoreworICAgIC8vIEZJWE1FKDEwOTgx
OCk6IFBhcnNlIHJlZ2lvbiBoZWFkZXIgbWV0YWRhdGEuCit9CisKK3ZvaWQgVGV4dFRyYWNrUmVn
aW9uOjpwYXJzZVNldHRpbmcoY29uc3QgU3RyaW5nJiBpbnB1dCwgdW5zaWduZWQqIHBvc2l0aW9u
KQoreworICAgIC8vIEZJWE1FKDEwOTgxOCk6IFBhcnNlIHJlZ2lvbiBoZWFkZXIgbWV0YWRhdGEu
Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFja1JlZ2lvbi5oIGIvU291cmNlL1dlYkNvcmUv
aHRtbC90cmFjay9UZXh0VHJhY2tSZWdpb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hOTAxZWJmNzE1NzMyMDk1
NDJkNTg0YmEwOTk2YmUzMjVjYjY4NjQxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC90cmFjay9UZXh0VHJhY2tSZWdpb24uaApAQCAtMCwwICsxLDExNiBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlz
dHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3Ig
dGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwor
ICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVm
IFRleHRUcmFja1JlZ2lvbl9oCisjZGVmaW5lIFRleHRUcmFja1JlZ2lvbl9oCisKKyNpZiBFTkFC
TEUoVklERU9fVFJBQ0spICYmIEVOQUJMRShXRUJWVFRfUkVHSU9OUykKKworI2luY2x1ZGUgIkNv
bnRleHREZXN0cnVjdGlvbk9ic2VydmVyLmgiCisjaW5jbHVkZSAiSW50U2l6ZS5oIgorI2luY2x1
ZGUgIkxheW91dFVuaXQuaCIKKyNpbmNsdWRlICJUZXh0VHJhY2suaCIKKyNpbmNsdWRlIDx3dGYv
UGFzc093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworY2xhc3MgRG9jdW1lbnRGcmFnbWVudDsKK2NsYXNzIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQ7CisKK2NsYXNzIFRleHRUcmFja1JlZ2lvbiA6IHB1YmxpYyBSZWZDb3VudGVkPFRl
eHRUcmFja1JlZ2lvbj4sIHB1YmxpYyBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlciB7CitwdWJs
aWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8VGV4dFRyYWNrUmVnaW9uPiBjcmVhdGUoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJl
ZihuZXcgVGV4dFRyYWNrUmVnaW9uKGNvbnRleHQpKTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIH5U
ZXh0VHJhY2tSZWdpb24oKTsKKworICAgIFRleHRUcmFjayogdHJhY2soKSBjb25zdCB7IHJldHVy
biBtX3RyYWNrOyB9CisKKyAgICBjb25zdCBTdHJpbmcmIGlkKCkgY29uc3QgeyByZXR1cm4gbV9p
ZDsgfQorICAgIHZvaWQgc2V0SWQoY29uc3QgU3RyaW5nJik7CisKKyAgICBkb3VibGUgd2lkdGgo
KSBjb25zdCB7IHJldHVybiBtX3dpZHRoOyB9CisgICAgdm9pZCBzZXRXaWR0aChsb25nLCBFeGNl
cHRpb25Db2RlJik7CisKKyAgICBsb25nIGhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIG1faGVpZ2h0
SW5MaW5lczsgfQorICAgIHZvaWQgc2V0SGVpZ2h0KGxvbmcsIEV4Y2VwdGlvbkNvZGUmKTsKKwor
ICAgIGxvbmcgcmVnaW9uQW5jaG9yWCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVnaW9uQW5jaG9yLndp
ZHRoKCk7IH0KKyAgICB2b2lkIHNldFJlZ2lvbkFuY2hvclgobG9uZywgRXhjZXB0aW9uQ29kZSYp
OworCisgICAgbG9uZyByZWdpb25BbmNob3JZKCkgY29uc3QgeyByZXR1cm4gbV9yZWdpb25BbmNo
b3IuaGVpZ2h0KCk7IH0KKyAgICB2b2lkIHNldFJlZ2lvbkFuY2hvclkobG9uZywgRXhjZXB0aW9u
Q29kZSYpOworCisgICAgbG9uZyB2aWV3cG9ydEFuY2hvclgoKSBjb25zdCB7IHJldHVybiBtX3Zp
ZXdwb3J0QW5jaG9yLndpZHRoKCk7IH0KKyAgICB2b2lkIHNldFZpZXdwb3J0QW5jaG9yWChsb25n
LCBFeGNlcHRpb25Db2RlJik7CisKKyAgICBsb25nIHZpZXdwb3J0QW5jaG9yWSgpIGNvbnN0IHsg
cmV0dXJuIG1fdmlld3BvcnRBbmNob3IuaGVpZ2h0KCk7IH0KKyAgICB2b2lkIHNldFZpZXdwb3J0
QW5jaG9yWShsb25nLCBFeGNlcHRpb25Db2RlJik7CisKKyAgICBjb25zdCBBdG9taWNTdHJpbmcg
c2Nyb2xsKCkgY29uc3Q7CisgICAgdm9pZCBzZXRTY3JvbGwoY29uc3QgQXRvbWljU3RyaW5nJiwg
RXhjZXB0aW9uQ29kZSYpOworCisgICAgY29uc3QgU3RyaW5nJiByZWdpb25TZXR0aW5ncygpIGNv
bnN0IHsgcmV0dXJuIG1fc2V0dGluZ3M7IH0KKyAgICB2b2lkIHNldFJlZ2lvblNldHRpbmdzKGNv
bnN0IFN0cmluZyYpOworCisgICAgdXNpbmcgUmVmQ291bnRlZDxUZXh0VHJhY2tSZWdpb24+Ojpy
ZWY7CisgICAgdXNpbmcgUmVmQ291bnRlZDxUZXh0VHJhY2tSZWdpb24+OjpkZXJlZjsKKworcHJv
dGVjdGVkOgorICAgIFRleHRUcmFja1JlZ2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CisK
K3ByaXZhdGU6CisgICAgZW51bSBSZWdpb25TZXR0aW5nIHsgTm9uZSwgSWQsIFdpZHRoLCBIZWln
aHQsIFJlZ2lvbkFuY2hvciwgVmlld3BvcnRBbmNob3IsIFNjcm9sbCB9OworICAgIFJlZ2lvblNl
dHRpbmcgZ2V0U2V0dGluZ0Zyb21TdHJpbmcoY29uc3QgU3RyaW5nJik7CisKKyAgICB2b2lkIHBh
cnNlU2V0dGluZ1ZhbHVlKFJlZ2lvblNldHRpbmcsIGNvbnN0IFN0cmluZyYpOworICAgIHZvaWQg
cGFyc2VTZXR0aW5nKGNvbnN0IFN0cmluZyYsIHVuc2lnbmVkKik7CisKKyAgICBTdHJpbmcgbV9p
ZDsKKyAgICBTdHJpbmcgbV9zZXR0aW5nczsKKworICAgIHVuc2lnbmVkIG1fd2lkdGg7CisgICAg
dW5zaWduZWQgbV9oZWlnaHRJbkxpbmVzOworCisgICAgSW50U2l6ZSBtX3JlZ2lvbkFuY2hvcjsK
KyAgICBJbnRTaXplIG1fdmlld3BvcnRBbmNob3I7CisKKyAgICBib29sIG1fc2Nyb2xsOworCisg
ICAgVGV4dFRyYWNrKiBtX3RyYWNrOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisj
ZW5kaWYKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0
VHJhY2tSZWdpb24uaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tSZWdp
b24uaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmJmYzA2ZGU3NjE5MjFmMWVjYmJiNTIzMTcwMTYzNGE4ZWY1YzFh
YTEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFj
a1JlZ2lvbi5pZGwKQEAgLTAsMCArMSw1MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBH
b29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworWworICAgIENvbmRpdGlv
bmFsPVZJREVPX1RSQUNLICYgV0VCVlRUX1JFR0lPTlMsCisgICAgVjhFbmFibGVkQXRSdW50aW1l
PXdlYmtpdFZpZGVvVHJhY2ssCisgICAgSlNHZW5lcmF0ZVRvTmF0aXZlT2JqZWN0LAorICAgIENv
bnN0cnVjdG9yKCksCisgICAgQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwKK10gaW50
ZXJmYWNlIFRleHRUcmFja1JlZ2lvbiB7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIFRleHRUcmFj
ayB0cmFjazsKKworICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgaWQ7CisgICAgYXR0cmlidXRlIGxv
bmcgd2lkdGgKKyAgICAgICAgc2V0dGVyIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKyAgICBhdHRy
aWJ1dGUgbG9uZyBoZWlnaHQKKyAgICAgICAgc2V0dGVyIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsK
KyAgICBhdHRyaWJ1dGUgbG9uZyByZWdpb25BbmNob3JYCisgICAgICAgIHNldHRlciByYWlzZXMg
KERPTUV4Y2VwdGlvbik7CisgICAgYXR0cmlidXRlIGxvbmcgcmVnaW9uQW5jaG9yWQorICAgICAg
ICBzZXR0ZXIgcmFpc2VzIChET01FeGNlcHRpb24pOworICAgIGF0dHJpYnV0ZSBsb25nIHZpZXdw
b3J0QW5jaG9yWAorICAgICAgICBzZXR0ZXIgcmFpc2VzIChET01FeGNlcHRpb24pOworICAgIGF0
dHJpYnV0ZSBsb25nIHZpZXdwb3J0QW5jaG9yWQorICAgICAgICBzZXR0ZXIgcmFpc2VzIChET01F
eGNlcHRpb24pOworICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgc2Nyb2xsCisgICAgICAgIHNldHRl
ciByYWlzZXMgKERPTUV4Y2VwdGlvbik7Cit9OworCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwK
aW5kZXggMmUyMWRhOWU4YjFhOGNiZjdiMmIwOTM3MzY0MzBiYmE0YWZkZDBjNC4uMmY5N2VhOTg0
MjRkYWNmZTgyZGU1NmM2NjdiOTQ5NjI1ZTc5NDFmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9ET01XaW5kb3cuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmlkbApAQCAtNDk3LDYgKzQ5Nyw3IEBACiAgICAgW0NvbmRpdGlvbmFsPVZJREVPX1RSQUNLLCBW
OEVuYWJsZWRBdFJ1bnRpbWU9d2Via2l0VmlkZW9UcmFja10gYXR0cmlidXRlIFRleHRUcmFja0N1
ZUNvbnN0cnVjdG9yIFRleHRUcmFja0N1ZTsgLy8gVXNhYmxlIHdpdGggdGhlIG5ldyBvcGVyYXRv
cgogICAgIFtDb25kaXRpb25hbD1WSURFT19UUkFDSywgVjhFbmFibGVkQXRSdW50aW1lPXdlYmtp
dFZpZGVvVHJhY2tdIGF0dHJpYnV0ZSBUZXh0VHJhY2tDdWVMaXN0Q29uc3RydWN0b3IgVGV4dFRy
YWNrQ3VlTGlzdDsKICAgICBbQ29uZGl0aW9uYWw9VklERU9fVFJBQ0ssIFY4RW5hYmxlZEF0UnVu
dGltZT13ZWJraXRWaWRlb1RyYWNrXSBhdHRyaWJ1dGUgVGV4dFRyYWNrTGlzdENvbnN0cnVjdG9y
IFRleHRUcmFja0xpc3Q7CisgICAgW0NvbmRpdGlvbmFsPVZJREVPX1RSQUNLICYgV0VCVlRUX1JF
R0lPTlMsIFY4RW5hYmxlZEF0UnVudGltZT13ZWJraXRWaWRlb1RyYWNrXSBhdHRyaWJ1dGUgVGV4
dFRyYWNrUmVnaW9uQ29uc3RydWN0b3IgVGV4dFRyYWNrUmVnaW9uOyAvLyBVc2FibGUgd2l0aCB0
aGUgbmV3IG9wZXJhdG9yCiAgICAgW0NvbmRpdGlvbmFsPVZJREVPX1RSQUNLLCBWOEVuYWJsZWRB
dFJ1bnRpbWU9d2Via2l0VmlkZW9UcmFja10gYXR0cmlidXRlIFRyYWNrRXZlbnRDb25zdHJ1Y3Rv
ciBUcmFja0V2ZW50OwogCiAgICAgW0pTQ3VzdG9tR2V0dGVyLCBDb25kaXRpb25hbD1WSURFTywg
VjhFbmFibGVkQXRSdW50aW1lXSBhdHRyaWJ1dGUgSFRNTEF1ZGlvRWxlbWVudENvbnN0cnVjdG9y
Q29uc3RydWN0b3IgQXVkaW87IC8vIFVzYWJsZSB3aXRoIHRoZSBuZXcgb3BlcmF0b3IKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lwaSBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lwaQppbmRleCA3N2IyYzc2YzQ0YTMyZmE5MzMwNGNlNGJj
ZDA3ZTIxMDVmZTljNTU4Li41MDcxMGU4NjY0NGNiNjNjMTc4ZWQxMmEyNTdlYmI1YWRjMWY0ZDYw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9mZWF0dXJlcy5neXBpCkBAIC0xMzEsNiArMTMxLDcgQEAK
ICAgICAgICdFTkFCTEVfVklERU9fVFJBQ0s9MScsCiAgICAgICAnRU5BQkxFX1ZJRVdQT1JUPTEn
LAogICAgICAgJ0VOQUJMRV9XRUJHTD0xJywKKyAgICAgICdFTkFCTEVfV0VCVlRUX1JFR0lPTlM9
MScsCiAgICAgICAnRU5BQkxFX1dFQl9TT0NLRVRTPTEnLAogICAgICAgJ0VOQUJMRV9XRUJfVElN
SU5HPTEnLAogICAgICAgJ0VOQUJMRV9XT1JLRVJTPTEnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2Uv
V2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCA0
Y2VmNzA2ODhhYmZkNGExNTIyNTgwYTI1ZGQzYTMzZTRmMGE4Yjg1Li43MjM4MDUxN2VlMTAwMWVj
ZGMzYTFkYTRlY2JmZTNlOTZiNGQ1ZGZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0
L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtMTU4LDYgKzE1
OCw4IEBAIEVOQUJMRV9VU0VSU0VMRUNUX0FMTCA9IEVOQUJMRV9VU0VSU0VMRUNUX0FMTDsKIEVO
QUJMRV9WSURFTyA9IEVOQUJMRV9WSURFTzsKIEVOQUJMRV9WSURFT19UUkFDSyA9ICQoRU5BQkxF
X1ZJREVPX1RSQUNLXyQoUExBVEZPUk1fTkFNRSkpOwogRU5BQkxFX1ZJREVPX1RSQUNLX21hY29z
eCA9IEVOQUJMRV9WSURFT19UUkFDSzsKK0VOQUJMRV9XRUJWVFRfUkVHSU9OUyA9ICQoRU5BQkxF
X1dFQlZUVF9SRUdJT05TXyQoUExBVEZPUk1fTkFNRSkpOworRU5BQkxFX1dFQlZUVF9SRUdJT05T
X21hY29zeCA9IEVOQUJMRV9XRUJWVFRfUkVHSU9OUzsKIEVOQUJMRV9XRUJHTCA9IEVOQUJMRV9X
RUJHTDsKIEVOQUJMRV9XRUJfQVVESU8gPSBFTkFCTEVfV0VCX0FVRElPOwogRU5BQkxFX1dFQl9T
T0NLRVRTID0gRU5BQkxFX1dFQl9TT0NLRVRTOwpAQCAtMTY2LDQgKzE2OCw0IEBAIEVOQUJMRV9X
T1JLRVJTID0gRU5BQkxFX1dPUktFUlM7CiBFTkFCTEVfWEhSX1RJTUVPVVQgPSBFTkFCTEVfWEhS
X1RJTUVPVVQ7CiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMg
PSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykg
JChFTkFCTEVfQkxPQikgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9Y
WSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJM
RV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElP
TikgJChFTkFCTEVfQ1NTX0VYQ0xVU0lPTlMpICQoRU5BQkxFX0NTU19GSUxURVJTKSAkKEVOQUJM
RV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAk
KEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NIQURFUlMpICQoRU5BQkxFX0NTU19D
T01QT1NJVElORykgJChFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTikgJChFTkFCTEVfQ1NTX1RS
QU5TRk9STVNfQU5JTUFUSU9OU19VTlBSRUZJWEVEKSAkKEVOQUJMRV9DU1NfVkFSSUFCTEVTKSAk
KEVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5B
QkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQo
RU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQo
RU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVO
QUJMRV9ESUFMT0dfRUxFTUVOVCkgJChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCkgJChFTkFCTEVf
RE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0RSQUdHQUJMRV9SRUdJT04pICQoRU5B
QkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRklMRV9TWVNURU0pICQoRU5BQkxFX0ZJTFRF
UlMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9H
RU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQo
RU5BQkxFX0hJR0hfRFBJX0NBTlZBUykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9J
RlJBTUVfU0VBTUxFU1MpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVU
X1NQRUVDSCkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RF
QlVHR0VSKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVH
QUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5B
QkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX0xJ
TktfUFJFUkVOREVSKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChF
TkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVf
TUhUTUwpICQoRU5BQkxFX01JQ1JPREFUQSkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAk
KEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykg
JChFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQSSkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChF
TkFCTEVfUExVR0lOX1BST1hZX0ZPUl9WSURFTykgJChFTkFCTEVfUFJPR1JFU1NfRUxFTUVOVCkg
JChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVF
U1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVO
QUJMRV9TQ1JJUFRFRF9TUEVFQ0gpICQoRU5BQkxFX1NIQURPV19ET00pICQoRU5BQkxFX1NIQVJF
RF9XT1JLRVJTKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TUUxfREFUQUJB
U0UpICQoRU5BQkxFX1NUWUxFX1NDT1BFRCkgJChFTkFCTEVfU1VCUElYRUxfTEFZT1VUKSAkKEVO
QUJMRV9TVkcpICQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZP
TlRTKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcp
ICQoRU5BQkxFX1RFWFRfTk9USUZJQ0FUSU9OU19PTkxZKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xP
QURJTkcpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVf
VklERU9fVFJBQ0spICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxF
X1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XT1JLRVJTKSAkKEVO
QUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChGRUFUVVJFX0RFRklORVNfJChQTEFU
Rk9STV9OQU1FKSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQo
RU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQkxPQikgJChFTkFCTEVfQ0FO
VkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
TkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUsp
ICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0VYQ0xVU0lPTlMp
ICQoRU5BQkxFX0NTU19GSUxURVJTKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQo
RU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFC
TEVfQ1NTX1NIQURFUlMpICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX1NU
SUNLWV9QT1NJVElPTikgJChFTkFCTEVfQ1NTX1RSQU5TRk9STVNfQU5JTUFUSU9OU19VTlBSRUZJ
WEVEKSAkKEVOQUJMRV9DU1NfVkFSSUFCTEVTKSAkKEVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JV
TEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikg
JChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQo
RU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChF
TkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ESUFMT0dfRUxFTUVOVCkgJChFTkFC
TEVfRElSRUNUT1JZX1VQTE9BRCkgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQo
RU5BQkxFX0RSQUdHQUJMRV9SRUdJT04pICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFC
TEVfRklMRV9TWVNURU0pICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJ
KSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVO
X1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0hJR0hfRFBJX0NBTlZBUykgJChF
TkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JRlJBTUVfU0VBTUxFU1MpICQoRU5BQkxFX0lO
REVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1NQRUVDSCkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVU
X1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9XRUVLKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9MRUdBQ1lfQ1NT
X1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxF
X0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5B
QkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX0xJTktfUFJFUkVOREVSKSAkKEVOQUJMRV9NQVRI
TUwpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChF
TkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01JQ1JPREFUQSkg
JChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9V
VElMUykgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQ
SSkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUExVR0lOX1BST1hZX0ZPUl9WSURF
TykgJChFTkFCTEVfUFJPR1JFU1NfRUxFTUVOVCkgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykg
JChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJM
RV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9TQ1JJUFRFRF9TUEVFQ0gpICQoRU5B
QkxFX1NIQURPV19ET00pICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TUEVFQ0hf
U1lOVEhFU0lTKSAkKEVOQUJMRV9TUUxfREFUQUJBU0UpICQoRU5BQkxFX1NUWUxFX1NDT1BFRCkg
JChFTkFCTEVfU1VCUElYRUxfTEFZT1VUKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19ET01f
T0JKQ19CSU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URU1QTEFURV9FTEVN
RU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RFWFRfTk9USUZJQ0FUSU9O
U19PTkxZKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1VTRVJTRUxFQ1Rf
QUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1dFQlZU
VF9SRUdJT05TKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9X
RUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV09SS0VSUykgJChFTkFC
TEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRkVBVFVSRV9ERUZJTkVTXyQoUExBVEZP
Uk1fTkFNRSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCA0Y2VmNzA2ODhhYmZkNGExNTIyNTgwYTI1ZGQzYTMz
ZTRmMGE4Yjg1Li43MjM4MDUxN2VlMTAwMWVjZGMzYTFkYTRlY2JmZTNlOTZiNGQ1ZGZlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZwpAQCAtMTU4LDYgKzE1OCw4IEBAIEVOQUJMRV9VU0VSU0VMRUNUX0FMTCA9IEVOQUJM
RV9VU0VSU0VMRUNUX0FMTDsKIEVOQUJMRV9WSURFTyA9IEVOQUJMRV9WSURFTzsKIEVOQUJMRV9W
SURFT19UUkFDSyA9ICQoRU5BQkxFX1ZJREVPX1RSQUNLXyQoUExBVEZPUk1fTkFNRSkpOwogRU5B
QkxFX1ZJREVPX1RSQUNLX21hY29zeCA9IEVOQUJMRV9WSURFT19UUkFDSzsKK0VOQUJMRV9XRUJW
VFRfUkVHSU9OUyA9ICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TXyQoUExBVEZPUk1fTkFNRSkpOwor
RU5BQkxFX1dFQlZUVF9SRUdJT05TX21hY29zeCA9IEVOQUJMRV9XRUJWVFRfUkVHSU9OUzsKIEVO
QUJMRV9XRUJHTCA9IEVOQUJMRV9XRUJHTDsKIEVOQUJMRV9XRUJfQVVESU8gPSBFTkFCTEVfV0VC
X0FVRElPOwogRU5BQkxFX1dFQl9TT0NLRVRTID0gRU5BQkxFX1dFQl9TT0NLRVRTOwpAQCAtMTY2
LDQgKzE2OCw0IEBAIEVOQUJMRV9XT1JLRVJTID0gRU5BQkxFX1dPUktFUlM7CiBFTkFCTEVfWEhS
X1RJTUVPVVQgPSBFTkFCTEVfWEhSX1RJTUVPVVQ7CiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xU
OwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FD
Q0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQkxPQikgJChFTkFCTEVfQ0FOVkFTX1BBVEgp
ICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5B
QkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxF
X0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0VYQ0xVU0lPTlMpICQoRU5BQkxF
X0NTU19GSUxURVJTKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NT
U19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NI
QURFUlMpICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJ
VElPTikgJChFTkFCTEVfQ1NTX1RSQU5TRk9STVNfQU5JTUFUSU9OU19VTlBSRUZJWEVEKSAkKEVO
QUJMRV9DU1NfVkFSSUFCTEVTKSAkKEVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTKSAkKEVO
QUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVf
REFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RB
VEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVW
SUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ESUFMT0dfRUxFTUVOVCkgJChFTkFCTEVfRElSRUNU
T1JZX1VQTE9BRCkgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0RS
QUdHQUJMRV9SRUdJT04pICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRklMRV9T
WVNURU0pICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJM
RV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9N
X1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0hJR0hfRFBJX0NBTlZBUykgJChFTkFCTEVfSUNP
TkRBVEFCQVNFKSAkKEVOQUJMRV9JRlJBTUVfU0VBTUxFU1MpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0UpICQoRU5BQkxFX0lOUFVUX1NQRUVDSCkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9O
VEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAk
KEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9Q
UkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9W
RU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xJTktf
UFJFRkVUQ0gpICQoRU5BQkxFX0xJTktfUFJFUkVOREVSKSAkKEVOQUJMRV9NQVRITUwpICQoRU5B
QkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVU
RVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01JQ1JPREFUQSkgJChFTkFCTEVf
TU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChF
TkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQSSkgJChFTkFC
TEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUExVR0lOX1BST1hZX0ZPUl9WSURFTykgJChFTkFC
TEVfUFJPR1JFU1NfRUxFTUVOVCkgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVf
UVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVNPTFVU
SU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9TQ1JJUFRFRF9TUEVFQ0gpICQoRU5BQkxFX1NIQURP
V19ET00pICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lT
KSAkKEVOQUJMRV9TUUxfREFUQUJBU0UpICQoRU5BQkxFX1NUWUxFX1NDT1BFRCkgJChFTkFCTEVf
U1VCUElYRUxfTEFZT1VUKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5E
SU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVO
QUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RFWFRfTk9USUZJQ0FUSU9OU19PTkxZKSAk
KEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVO
QUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJM
RV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAk
KEVOQUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChG
RUFUVVJFX0RFRklORVNfJChQTEFURk9STV9OQU1FKSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVO
QUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFC
TEVfQkxPQikgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChF
TkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1Nf
Qk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChF
TkFCTEVfQ1NTX0VYQ0xVU0lPTlMpICQoRU5BQkxFX0NTU19GSUxURVJTKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJM
RV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NIQURFUlMpICQoRU5BQkxFX0NTU19DT01QT1NJ
VElORykgJChFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTikgJChFTkFCTEVfQ1NTX1RSQU5TRk9S
TVNfQU5JTUFUSU9OU19VTlBSRUZJWEVEKSAkKEVOQUJMRV9DU1NfVkFSSUFCTEVTKSAkKEVOQUJM
RV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NV
U1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxF
X0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxF
X0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9E
SUFMT0dfRUxFTUVOVCkgJChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCkgJChFTkFCTEVfRE9NNF9F
VkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0RSQUdHQUJMRV9SRUdJT04pICQoRU5BQkxFX0VO
Q1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRklMRV9TWVNURU0pICQoRU5BQkxFX0ZJTFRFUlMpICQo
RU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NB
VElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxF
X0hJR0hfRFBJX0NBTlZBUykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JRlJBTUVf
U0VBTUxFU1MpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1NQRUVD
SCkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
TE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElN
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VS
KSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05P
VElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xF
R0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX0xJTktfUFJF
UkVOREVSKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVf
TUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwp
ICQoRU5BQkxFX01JQ1JPREFUQSkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJM
RV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFC
TEVfUEFHRV9WSVNJQklMSVRZX0FQSSkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVf
UExVR0lOX1BST1hZX0ZPUl9WSURFTykgJChFTkFCTEVfUFJPR1JFU1NfRUxFTUVOVCkgJChFTkFC
TEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5J
TUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9T
Q1JJUFRFRF9TUEVFQ0gpICQoRU5BQkxFX1NIQURPV19ET00pICQoRU5BQkxFX1NIQVJFRF9XT1JL
RVJTKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TUUxfREFUQUJBU0UpICQo
RU5BQkxFX1NUWUxFX1NDT1BFRCkgJChFTkFCTEVfU1VCUElYRUxfTEFZT1VUKSAkKEVOQUJMRV9T
VkcpICQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAk
KEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5B
QkxFX1RFWFRfTk9USUZJQ0FUSU9OU19PTkxZKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcp
ICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9f
VFJBQ0spICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVf
V0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChF
TkFCTEVfV09SS0VSUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRkVB
VFVSRV9ERUZJTkVTXyQoUExBVEZPUk1fTkFNRSkpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDg3ODQ1MWI4ZTU4ZDM0NjFk
M2Y4NTk1NmYyOGNhMmZkZTZlNjM0MWYuLjI0MjdmYmE0NTFmYTZiMzNmYjkzYzFlZDc0MTc1MGVi
NmJmNTI5YWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMy0wMi0yMSAgVmljdG9yIENhcmJ1
bmUgIDx2Y2FyYnVuZUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVGV4dFRyYWNrUmVnaW9uIENv
bnN0cnVjdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMTA1MTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIG1lZGlhL3RyYWNrL3RyYWNrLXJlZ2lvbi1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIG1lZGlhL3RyYWNrL3RyYWNrLXJlZ2lvbi1jb25zdHJ1Y3Rvci5odG1s
OiBBZGRlZC4KKwogMjAxMy0wMi0yMSAgRGF2aWQgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CiAK
ICAgICAgICAgW05ldyBNdWx0aWNvbHVtbl0gQWRkIGEgcG9zaXRpb25lZCBvYmplY3QgcGFnaW5h
dGlvbiB0ZXN0LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stcmVn
aW9uLWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3Ry
YWNrLXJlZ2lvbi1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjM5NzZlNzRk
YTdmZjFkYWU1NTNhYmQ1OGYxYmE2MDBkMWU4MTYyYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLXJlZ2lvbi1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw2MSBAQAorVGVzdHMgdGhlIGNvbnN0cnVjdG9yIGFuZCBtdXRhdGlvbiBvZiBU
ZXh0VHJhY2tSZWdpb24uCisKKyoqIFRlc3QgdGhlIGRlZmF1bHQgaW5kZXhzIG9mIGEgcmVnaW9u
LiAqKgorRVhQRUNURUQgKHJlZ2lvbi50cmFjayA9PSAnbnVsbCcpIE9LCitFWFBFQ1RFRCAocmVn
aW9uLnNjcm9sbCA9PSAnJykgT0sKK0VYUEVDVEVEIChyZWdpb24udmlld3BvcnRBbmNob3JYID09
ICcwJykgT0sKK0VYUEVDVEVEIChyZWdpb24udmlld3BvcnRBbmNob3JZID09ICcxMDAnKSBPSwor
RVhQRUNURUQgKHJlZ2lvbi5yZWdpb25BbmNob3JYID09ICcwJykgT0sKK0VYUEVDVEVEIChyZWdp
b24ucmVnaW9uQW5jaG9yWSA9PSAnMTAwJykgT0sKK0VYUEVDVEVEIChyZWdpb24uaGVpZ2h0ID09
ICczJykgT0sKK0VYUEVDVEVEIChyZWdpb24ud2lkdGggPT0gJzEwMCcpIE9LCisKKyoqIFRlc3Qg
dGhhdCBpbmNvcnJlY3QgbXV0YXRpb24ga2VlcHMgcHJldmlvdXMgdmFsaWQgdmFsdWVzLiAqKgor
UlVOKHJlZ2lvbi5zY3JvbGwgPSAnaW52YWxpZC1zY3JvbGwtdmFsdWUnKQorRXJyb3I6IFN5bnRh
eEVycm9yOiBET00gRXhjZXB0aW9uIDEyCitFWFBFQ1RFRCAocmVnaW9uLnNjcm9sbCA9PSAnJykg
T0sKKworSW52YWxpZCBwZXJjZW50YWdlIHZhbHVlOiAtMQorUlVOKHJlZ2lvbi52aWV3cG9ydEFu
Y2hvclggPSBpbnZhbGlkUGVyY2VudGFnZVZhbHVlc1tpbmRleF0pCitFWFBFQ1RFRCAocmVnaW9u
LnZpZXdwb3J0QW5jaG9yWCA9PSAnMCcpIE9LCitSVU4ocmVnaW9uLnZpZXdwb3J0QW5jaG9yWSA9
IGludmFsaWRQZXJjZW50YWdlVmFsdWVzW2luZGV4XSkKK0VYUEVDVEVEIChyZWdpb24udmlld3Bv
cnRBbmNob3JZID09ICcxMDAnKSBPSworUlVOKHJlZ2lvbi5yZWdpb25BbmNob3JYID0gaW52YWxp
ZFBlcmNlbnRhZ2VWYWx1ZXNbaW5kZXhdKQorRVhQRUNURUQgKHJlZ2lvbi5yZWdpb25BbmNob3JY
ID09ICcwJykgT0sKK1JVTihyZWdpb24ucmVnaW9uQW5jaG9yWSA9IGludmFsaWRQZXJjZW50YWdl
VmFsdWVzW2luZGV4XSkKK0VYUEVDVEVEIChyZWdpb24ucmVnaW9uQW5jaG9yWSA9PSAnMTAwJykg
T0sKK1JVTihyZWdpb24ud2lkdGggPSBpbnZhbGlkUGVyY2VudGFnZVZhbHVlc1tpbmRleF0pCitF
cnJvcjogSW5kZXhTaXplRXJyb3I6IERPTSBFeGNlcHRpb24gMQorRVhQRUNURUQgKHJlZ2lvbi53
aWR0aCA9PSAnMTAwJykgT0sKKworSW52YWxpZCBwZXJjZW50YWdlIHZhbHVlOiAxMDEKK1JVTihy
ZWdpb24udmlld3BvcnRBbmNob3JYID0gaW52YWxpZFBlcmNlbnRhZ2VWYWx1ZXNbaW5kZXhdKQor
RVhQRUNURUQgKHJlZ2lvbi52aWV3cG9ydEFuY2hvclggPT0gJzAnKSBPSworUlVOKHJlZ2lvbi52
aWV3cG9ydEFuY2hvclkgPSBpbnZhbGlkUGVyY2VudGFnZVZhbHVlc1tpbmRleF0pCitFWFBFQ1RF
RCAocmVnaW9uLnZpZXdwb3J0QW5jaG9yWSA9PSAnMTAwJykgT0sKK1JVTihyZWdpb24ucmVnaW9u
QW5jaG9yWCA9IGludmFsaWRQZXJjZW50YWdlVmFsdWVzW2luZGV4XSkKK0VYUEVDVEVEIChyZWdp
b24ucmVnaW9uQW5jaG9yWCA9PSAnMCcpIE9LCitSVU4ocmVnaW9uLnJlZ2lvbkFuY2hvclkgPSBp
bnZhbGlkUGVyY2VudGFnZVZhbHVlc1tpbmRleF0pCitFWFBFQ1RFRCAocmVnaW9uLnJlZ2lvbkFu
Y2hvclkgPT0gJzEwMCcpIE9LCitSVU4ocmVnaW9uLndpZHRoID0gaW52YWxpZFBlcmNlbnRhZ2VW
YWx1ZXNbaW5kZXhdKQorRXJyb3I6IEluZGV4U2l6ZUVycm9yOiBET00gRXhjZXB0aW9uIDEKK0VY
UEVDVEVEIChyZWdpb24ud2lkdGggPT0gJzEwMCcpIE9LCitSVU4ocmVnaW9uLmhlaWdodCA9IC0x
KQorRXJyb3I6IEluZGV4U2l6ZUVycm9yOiBET00gRXhjZXB0aW9uIDEKK0VYUEVDVEVEIChyZWdp
b24uaGVpZ2h0ID09ICczJykgT0sKKworKiogVGVzdCB0aGF0IHByb3BlciBtdXRhdGlvbiBrZWVw
cyBhc3NpZ25lZCB2YWx1ZS4gKioKK1JVTihyZWdpb24uaGVpZ2h0ID0gMTMwKQorRVhQRUNURUQg
KHJlZ2lvbi5oZWlnaHQgPT0gJzEzMCcpIE9LCitSVU4ocmVnaW9uLnZpZXdwb3J0QW5jaG9yWCA9
IDY0KQorRVhQRUNURUQgKHJlZ2lvbi52aWV3cG9ydEFuY2hvclggPT0gJzY0JykgT0sKK1JVTihy
ZWdpb24udmlld3BvcnRBbmNob3JZID0gMzIpCitFWFBFQ1RFRCAocmVnaW9uLnZpZXdwb3J0QW5j
aG9yWSA9PSAnMzInKSBPSworUlVOKHJlZ2lvbi5yZWdpb25BbmNob3JYID0gMTYpCitFWFBFQ1RF
RCAocmVnaW9uLnJlZ2lvbkFuY2hvclggPT0gJzE2JykgT0sKK1JVTihyZWdpb24ucmVnaW9uQW5j
aG9yWSA9IDgpCitFWFBFQ1RFRCAocmVnaW9uLnJlZ2lvbkFuY2hvclkgPT0gJzgnKSBPSworUlVO
KHJlZ2lvbi53aWR0aCA9IDQyKQorRVhQRUNURUQgKHJlZ2lvbi53aWR0aCA9PSAnNDInKSBPSwor
RU5EIE9GIFRFU1QKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2st
cmVnaW9uLWNvbnN0cnVjdG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1y
ZWdpb24tY29uc3RydWN0b3IuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZGU3NGM1NmRhZDJhMmZmZTZmMzNl
MTdjNGJlOTVlNmU4MTcxYjZkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEv
dHJhY2svdHJhY2stcmVnaW9uLWNvbnN0cnVjdG9yLmh0bWwKQEAgLTAsMCArMSw3NyBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgaHR0cC1lcXVp
dj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiIC8+CisK
KyAgICAgICAgPHNjcmlwdCBzcmM9Li4vbWVkaWEtZmlsZS5qcz48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Li4vdmlkZW8tdGVzdC5qcz48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdD4K
KyAgICAgICAgICAgIHZhciByZWdpb247CisgICAgICAgICAgICB2YXIgaW52YWxpZFBlcmNlbnRh
Z2VWYWx1ZXM7CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHN0YXJ0VGVzdCgpCisgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgaWYgKCF3aW5kb3cuVGV4dFRyYWNrUmVnaW9uKSB7CisgICAg
ICAgICAgICAgICAgICAgIGZhaWxUZXN0KCk7CisgICAgICAgICAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICByZWdpb24gPSBuZXcgVGV4dFRy
YWNrUmVnaW9uKCk7CisKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIioqIFRlc3QgdGhl
IGRlZmF1bHQgaW5kZXhzIG9mIGEgcmVnaW9uLiAqKiIpOworICAgICAgICAgICAgICAgIHRlc3RF
eHBlY3RlZCgicmVnaW9uLnRyYWNrIiwgbnVsbCk7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVj
dGVkKCJyZWdpb24uc2Nyb2xsIiwgIiIpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgi
cmVnaW9uLnZpZXdwb3J0QW5jaG9yWCIsIDApOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3Rl
ZCgicmVnaW9uLnZpZXdwb3J0QW5jaG9yWSIsIDEwMCk7CisgICAgICAgICAgICAgICAgdGVzdEV4
cGVjdGVkKCJyZWdpb24ucmVnaW9uQW5jaG9yWCIsIDApOworICAgICAgICAgICAgICAgIHRlc3RF
eHBlY3RlZCgicmVnaW9uLnJlZ2lvbkFuY2hvclkiLCAxMDApOworICAgICAgICAgICAgICAgIHRl
c3RFeHBlY3RlZCgicmVnaW9uLmhlaWdodCIsIDMpOworICAgICAgICAgICAgICAgIHRlc3RFeHBl
Y3RlZCgicmVnaW9uLndpZHRoIiwgMTAwKTsKKworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0
ZSgiPGJyPioqIFRlc3QgdGhhdCBpbmNvcnJlY3QgbXV0YXRpb24ga2VlcHMgcHJldmlvdXMgdmFs
aWQgdmFsdWVzLiAqKiIpOworICAgICAgICAgICAgICAgIHJ1bigicmVnaW9uLnNjcm9sbCA9ICdp
bnZhbGlkLXNjcm9sbC12YWx1ZSciKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInJl
Z2lvbi5zY3JvbGwiLCAiIik7CisKKyAgICAgICAgICAgICAgICBpbnZhbGlkUGVyY2VudGFnZVZh
bHVlcyA9IFstMSwgMTAxXTsKKyAgICAgICAgICAgICAgICBmb3IgKGluZGV4IGluIGludmFsaWRQ
ZXJjZW50YWdlVmFsdWVzKSB7CisgICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIjxicj5J
bnZhbGlkIHBlcmNlbnRhZ2UgdmFsdWU6ICIgKyBpbnZhbGlkUGVyY2VudGFnZVZhbHVlc1tpbmRl
eF0pOworICAgICAgICAgICAgICAgICAgcnVuKCJyZWdpb24udmlld3BvcnRBbmNob3JYID0gaW52
YWxpZFBlcmNlbnRhZ2VWYWx1ZXNbaW5kZXhdIik7CisgICAgICAgICAgICAgICAgICB0ZXN0RXhw
ZWN0ZWQoInJlZ2lvbi52aWV3cG9ydEFuY2hvclgiLCAwKTsKKyAgICAgICAgICAgICAgICAgIHJ1
bigicmVnaW9uLnZpZXdwb3J0QW5jaG9yWSA9IGludmFsaWRQZXJjZW50YWdlVmFsdWVzW2luZGV4
XSIpOworICAgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJyZWdpb24udmlld3BvcnRBbmNo
b3JZIiwgMTAwKTsKKyAgICAgICAgICAgICAgICAgIHJ1bigicmVnaW9uLnJlZ2lvbkFuY2hvclgg
PSBpbnZhbGlkUGVyY2VudGFnZVZhbHVlc1tpbmRleF0iKTsKKyAgICAgICAgICAgICAgICAgIHRl
c3RFeHBlY3RlZCgicmVnaW9uLnJlZ2lvbkFuY2hvclgiLCAwKTsKKyAgICAgICAgICAgICAgICAg
IHJ1bigicmVnaW9uLnJlZ2lvbkFuY2hvclkgPSBpbnZhbGlkUGVyY2VudGFnZVZhbHVlc1tpbmRl
eF0iKTsKKyAgICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgicmVnaW9uLnJlZ2lvbkFuY2hv
clkiLCAxMDApOworICAgICAgICAgICAgICAgICAgcnVuKCJyZWdpb24ud2lkdGggPSBpbnZhbGlk
UGVyY2VudGFnZVZhbHVlc1tpbmRleF0iKTsKKyAgICAgICAgICAgICAgICAgIHRlc3RFeHBlY3Rl
ZCgicmVnaW9uLndpZHRoIiwgMTAwKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
ICAgICBydW4oInJlZ2lvbi5oZWlnaHQgPSAtMSIpOworICAgICAgICAgICAgICAgIHRlc3RFeHBl
Y3RlZCgicmVnaW9uLmhlaWdodCIsIDMpOworCisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRl
KCI8YnI+KiogVGVzdCB0aGF0IHByb3BlciBtdXRhdGlvbiBrZWVwcyBhc3NpZ25lZCB2YWx1ZS4g
KioiKTsKKyAgICAgICAgICAgICAgICBydW4oInJlZ2lvbi5oZWlnaHQgPSAxMzAiKTsKKyAgICAg
ICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInJlZ2lvbi5oZWlnaHQiLCAxMzApOworCisgICAgICAg
ICAgICAgICAgcnVuKCJyZWdpb24udmlld3BvcnRBbmNob3JYID0gNjQiKTsKKyAgICAgICAgICAg
ICAgICB0ZXN0RXhwZWN0ZWQoInJlZ2lvbi52aWV3cG9ydEFuY2hvclgiLCA2NCk7CisgICAgICAg
ICAgICAgICAgcnVuKCJyZWdpb24udmlld3BvcnRBbmNob3JZID0gMzIiKTsKKyAgICAgICAgICAg
ICAgICB0ZXN0RXhwZWN0ZWQoInJlZ2lvbi52aWV3cG9ydEFuY2hvclkiLCAzMik7CisgICAgICAg
ICAgICAgICAgcnVuKCJyZWdpb24ucmVnaW9uQW5jaG9yWCA9IDE2Iik7CisgICAgICAgICAgICAg
ICAgdGVzdEV4cGVjdGVkKCJyZWdpb24ucmVnaW9uQW5jaG9yWCIsIDE2KTsKKyAgICAgICAgICAg
ICAgICBydW4oInJlZ2lvbi5yZWdpb25BbmNob3JZID0gOCIpOworICAgICAgICAgICAgICAgIHRl
c3RFeHBlY3RlZCgicmVnaW9uLnJlZ2lvbkFuY2hvclkiLCA4KTsKKworICAgICAgICAgICAgICAg
IHJ1bigicmVnaW9uLndpZHRoID0gNDIiKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQo
InJlZ2lvbi53aWR0aCIsIDQyKTsKKworICAgICAgICAgICAgICAgIGVuZFRlc3QoKTsKKyAgICAg
ICAgICAgIH0KKworICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgb25s
b2FkPSJzdGFydFRlc3QoKSI+CisgICAgICAgIDxwPlRlc3RzIHRoZSBjb25zdHJ1Y3RvciBhbmQg
bXV0YXRpb24gb2YgVGV4dFRyYWNrUmVnaW9uLjwvcD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189942</attachid>
            <date>2013-02-23 15:28:30 -0800</date>
            <delta_ts>2013-03-06 14:15:52 -0800</delta_ts>
            <desc>Simplified patch</desc>
            <filename>bug-110511-20130224012447.patch</filename>
            <type>text/plain</type>
            <size>24435</size>
            <attacher name="Victor Carbune">vcarbune</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzNjEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjZlODE5NzBlYjYyYjE4
NjcxOTBjZGE3NzQwNjJiY2JjNzg0YmQ3ZS4uNTcxNjYyMjlhZGZmOGMxMjgxNWIwNzdjZjcyMTgx
MmNjMzhmZjYzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDEzLTAyLTIzICBWaWN0
b3IgQ2FyYnVuZSAgPHZjYXJidW5lQGNocm9taXVtLm9yZz4KKworICAgICAgICBUZXh0VHJhY2tS
ZWdpb24gQ29uc3RydWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTExMDUxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRlc3Q6IG1lZGlhL3RyYWNrL3RyYWNrLXJlZ2lvbi1jb25zdHJ1Y3Rvci5odG1s
CisKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogaHRtbC90cmFjay9UZXh0VHJh
Y2tSZWdpb24uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29y
ZTo6VGV4dFRyYWNrUmVnaW9uOjpUZXh0VHJhY2tSZWdpb24pOgorICAgICAgICAoV2ViQ29yZTo6
VGV4dFRyYWNrUmVnaW9uOjp+VGV4dFRyYWNrUmVnaW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlRl
eHRUcmFja1JlZ2lvbjo6c2V0SWQpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrUmVnaW9u
OjpzZXRXaWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tSZWdpb246OnNldEhlaWdo
dCk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tSZWdpb246OnNldFJlZ2lvbkFuY2hvclgp
OgorICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrUmVnaW9uOjpzZXRSZWdpb25BbmNob3JZKToK
KyAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFja1JlZ2lvbjo6c2V0Vmlld3BvcnRBbmNob3JYKToK
KyAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFja1JlZ2lvbjo6c2V0Vmlld3BvcnRBbmNob3JZKToK
KyAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFja1JlZ2lvbjo6c2Nyb2xsKToKKyAgICAgICAgKFdl
YkNvcmU6OlRleHRUcmFja1JlZ2lvbjo6c2V0U2Nyb2xsKToKKyAgICAgICAgKFdlYkNvcmU6OlRl
eHRUcmFja1JlZ2lvbjo6c2V0UmVnaW9uU2V0dGluZ3MpOgorICAgICAgICAoV2ViQ29yZTo6VGV4
dFRyYWNrUmVnaW9uOjpnZXRTZXR0aW5nRnJvbVN0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpU
ZXh0VHJhY2tSZWdpb246OnBhcnNlU2V0dGluZ1ZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OlRl
eHRUcmFja1JlZ2lvbjo6cGFyc2VTZXR0aW5nKToKKyAgICAgICAgKiBodG1sL3RyYWNrL1RleHRU
cmFja1JlZ2lvbi5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoVGV4dFRy
YWNrUmVnaW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFja1JlZ2lvbjo6Y3JlYXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFja1JlZ2lvbjo6dHJhY2spOgorICAgICAgICAoV2Vi
Q29yZTo6VGV4dFRyYWNrUmVnaW9uOjppZCk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tS
ZWdpb246OndpZHRoKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFja1JlZ2lvbjo6aGVpZ2h0
KToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFja1JlZ2lvbjo6cmVnaW9uQW5jaG9yWCk6Cisg
ICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tSZWdpb246OnJlZ2lvbkFuY2hvclkpOgorICAgICAg
ICAoV2ViQ29yZTo6VGV4dFRyYWNrUmVnaW9uOjp2aWV3cG9ydEFuY2hvclgpOgorICAgICAgICAo
V2ViQ29yZTo6VGV4dFRyYWNrUmVnaW9uOjp2aWV3cG9ydEFuY2hvclkpOgorICAgICAgICAoV2Vi
Q29yZTo6VGV4dFRyYWNrUmVnaW9uOjpyZWdpb25TZXR0aW5ncyk6CisgICAgICAgICogaHRtbC90
cmFjay9UZXh0VHJhY2tSZWdpb24uaWRsOiBBZGRlZC4KKyAgICAgICAgKiBwYWdlL0RPTVdpbmRv
dy5pZGw6CisKIDIwMTMtMDItMjEgIFhhbiBMb3BleiAgPHhsb3BlekByaW0uY29tPgogCiAgICAg
ICAgIFtCbGFja0JlcnJ5XSBMYXllckZpbHRlclJlbmRlcmVyOiBmaXggaW5jbHVzaW9uIG9mIFZl
Y3Rvci5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IGNhMWFkOTc1MmJkODk2ZjViMDFk
YTIxZThjMjIwNDI4Y2EyYzIwNDcuLmJkODgxMDQ4NzcwYjkzNjdkYzQ5MzA5NjYzOWNjNGQ5NDYw
ZGEzZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTMt
MDItMjMgIFZpY3RvciBDYXJidW5lICA8dmNhcmJ1bmVAY2hyb21pdW0ub3JnPgorCisgICAgICAg
IFRleHRUcmFja1JlZ2lvbiBDb25zdHJ1Y3RvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwNTExCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBmZWF0dXJlcy5neXBpOgorCiAyMDEzLTAyLTIxICBWc2V2
b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0
b3I6IEdldCByaWQgb2YgcGFyc2VkVVJMIGluIHVpU291cmNlQ29kZSwgdXNlIG5hbWUgYW5kIHBh
dGggZm9yIGRpc3BsYXlOYW1lIGluc3RlYWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggYmE1NmJjYjJl
MTI1M2ViMTRiNWFjMDRhNzhhOWMyNzk5ODhmZmY0My4uZjQ3MWY0NTIzODljNDY5NzFjZDIxODA1
YWI5Y2ZmNjJkYzQyMTkyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBp
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtNDA3LDYgKzQwNyw3IEBACiAg
ICAgICAgICAgICAnaHRtbC90cmFjay9UZXh0VHJhY2tDdWVMaXN0LmlkbCcsCiAgICAgICAgICAg
ICAnaHRtbC90cmFjay9UZXh0VHJhY2tMaXN0LmlkbCcsCiAgICAgICAgICAgICAnaHRtbC90cmFj
ay9UcmFja0V2ZW50LmlkbCcsCisgICAgICAgICAgICAnaHRtbC90cmFjay9UZXh0VHJhY2tSZWdp
b24uaWRsJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRIb3N0LmlkbCcs
CiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5pZGwnLAogICAg
ICAgICAgICAgJ2luc3BlY3Rvci9KYXZhU2NyaXB0Q2FsbEZyYW1lLmlkbCcsCkBAIC0zNDkyLDYg
KzM0OTMsOCBAQAogICAgICAgICAgICAgJ2h0bWwvdHJhY2svVGV4dFRyYWNrQ3VlTGlzdC5jcHAn
LAogICAgICAgICAgICAgJ2h0bWwvdHJhY2svVGV4dFRyYWNrQ3VlTGlzdC5oJywKICAgICAgICAg
ICAgICdodG1sL3RyYWNrL1RleHRUcmFja0xpc3QuY3BwJywKKyAgICAgICAgICAgICdodG1sL3Ry
YWNrL1RleHRUcmFja1JlZ2lvbi5jcHAnLAorICAgICAgICAgICAgJ2h0bWwvdHJhY2svVGV4dFRy
YWNrUmVnaW9uLmgnLAogICAgICAgICAgICAgJ2h0bWwvdHJhY2svVHJhY2tCYXNlLmNwcCcsCiAg
ICAgICAgICAgICAnaHRtbC90cmFjay9UcmFja0V2ZW50LmNwcCcsCiAgICAgICAgICAgICAnaHRt
bC90cmFjay9XZWJWVFRFbGVtZW50LmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3RyYWNrL1RleHRUcmFja1JlZ2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNr
L1RleHRUcmFja1JlZ2lvbi5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGJlZWFmZjQyODBjZjAxYmI2ZDdkZjY1
MWZhYjEwMWY3NTVlYTlmNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
dHJhY2svVGV4dFRyYWNrUmVnaW9uLmNwcApAQCAtMCwwICsxLDE3NiBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGVjIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlv
bi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorCisjaWYgRU5BQkxFKFZJREVPX1RSQUNLKSAmJiBFTkFCTEUoV0VCVlRUX1JFR0lPTlMp
CisKKyNpbmNsdWRlICJUZXh0VHJhY2tSZWdpb24uaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CisvLyBUaGUgcmVnaW9uIG9jY3VwaWVzIGJ5IGRlZmF1bHQgMTAwJSBvZiB0aGUgd2lkdGggb2Yg
dGhlIHZpZGVvIHZpZXdwb3J0Lgorc3RhdGljIGNvbnN0IGludCBkZWZhdWx0V2lkdGggPSAxMDA7
CisKKy8vIFRoZSByZWdpb24gaGFzLCBieSBkZWZhdWx0LCAzIGxpbmVzIG9mIHRleHQuCitzdGF0
aWMgY29uc3QgaW50IGRlZmF1bHRIZWlnaHQgPSAzOworCisvLyBUaGUgcmVnaW9uIGlzIGFuY2hv
cmVkIGluIHRoZSBib3R0b20gbGVmdCBjb3JuZXIuCitzdGF0aWMgY29uc3QgaW50IGRlZmF1bHRB
bmNob3JQb2ludFggPSAwOworc3RhdGljIGNvbnN0IGludCBkZWZhdWx0QW5jaG9yUG9pbnRZID0g
MTAwOworCisvLyBUaGUgcmVnaW9uIGRvZXNuJ3QgaGF2ZSBzY3JvbGxpbmcgdGV4dCwgYnkgZGVm
YXVsdC4KK3N0YXRpYyBjb25zdCBpbnQgZGVmYXVsdFNjcm9sbCA9IGZhbHNlOworCitUZXh0VHJh
Y2tSZWdpb246OlRleHRUcmFja1JlZ2lvbigpCisgICAgOiBtX2lkKGVtcHR5U3RyaW5nKCkpCisg
ICAgLCBtX3dpZHRoKGRlZmF1bHRXaWR0aCkKKyAgICAsIG1faGVpZ2h0SW5MaW5lcyhkZWZhdWx0
SGVpZ2h0KQorICAgICwgbV9yZWdpb25BbmNob3IoSW50U2l6ZShkZWZhdWx0QW5jaG9yUG9pbnRY
LCBkZWZhdWx0QW5jaG9yUG9pbnRZKSkKKyAgICAsIG1fdmlld3BvcnRBbmNob3IoSW50U2l6ZShk
ZWZhdWx0QW5jaG9yUG9pbnRYLCBkZWZhdWx0QW5jaG9yUG9pbnRZKSkKKyAgICAsIG1fc2Nyb2xs
KGRlZmF1bHRTY3JvbGwpCit7Cit9CisKK1RleHRUcmFja1JlZ2lvbjo6flRleHRUcmFja1JlZ2lv
bigpCit7Cit9CisKK3ZvaWQgVGV4dFRyYWNrUmVnaW9uOjpzZXRJZChjb25zdCBTdHJpbmcmIGlk
KQoreworICAgIG1faWQgPSBpZDsKK30KKwordm9pZCBUZXh0VHJhY2tSZWdpb246OnNldFdpZHRo
KGxvbmcgdmFsdWUsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlmICh2YWx1ZSA8IDAgfHwg
dmFsdWUgPiAxMDApIHsKKyAgICAgICAgZWMgPSBJTkRFWF9TSVpFX0VSUjsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKworICAgIG1fd2lkdGggPSB2YWx1ZTsKK30KKwordm9pZCBUZXh0VHJhY2tS
ZWdpb246OnNldEhlaWdodChsb25nIHZhbHVlLCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBp
ZiAodmFsdWUgPCAwKSB7CisgICAgICAgIGVjID0gSU5ERVhfU0laRV9FUlI7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisKKyAgICBtX2hlaWdodEluTGluZXMgPSB2YWx1ZTsKK30KKwordm9pZCBU
ZXh0VHJhY2tSZWdpb246OnNldFJlZ2lvbkFuY2hvclgobG9uZyB2YWx1ZSwgRXhjZXB0aW9uQ29k
ZSYgZWMpCit7CisgICAgaWYgKHZhbHVlIDwgMCB8fCB2YWx1ZSA+IDEwMCkgeworICAgICAgICBl
YyA9IElOREVYX1NJWkVfRVJSOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgbV9yZWdp
b25BbmNob3Iuc2V0V2lkdGgodmFsdWUpOworfQorCit2b2lkIFRleHRUcmFja1JlZ2lvbjo6c2V0
UmVnaW9uQW5jaG9yWShsb25nIHZhbHVlLCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAo
dmFsdWUgPCAwIHx8IHZhbHVlID4gMTAwKSB7CisgICAgICAgIGVjID0gSU5ERVhfU0laRV9FUlI7
CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBtX3JlZ2lvbkFuY2hvci5zZXRIZWlnaHQo
dmFsdWUpOworfQorCit2b2lkIFRleHRUcmFja1JlZ2lvbjo6c2V0Vmlld3BvcnRBbmNob3JYKGxv
bmcgdmFsdWUsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlmICh2YWx1ZSA8IDAgfHwgdmFs
dWUgPiAxMDApIHsKKyAgICAgICAgZWMgPSBJTkRFWF9TSVpFX0VSUjsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKworICAgIG1fdmlld3BvcnRBbmNob3Iuc2V0V2lkdGgodmFsdWUpOworfQorCit2
b2lkIFRleHRUcmFja1JlZ2lvbjo6c2V0Vmlld3BvcnRBbmNob3JZKGxvbmcgdmFsdWUsIEV4Y2Vw
dGlvbkNvZGUmIGVjKQoreworICAgIGlmICh2YWx1ZSA8IDAgfHwgdmFsdWUgPiAxMDApIHsKKyAg
ICAgICAgZWMgPSBJTkRFWF9TSVpFX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAg
IG1fdmlld3BvcnRBbmNob3Iuc2V0SGVpZ2h0KHZhbHVlKTsKK30KKworY29uc3QgQXRvbWljU3Ry
aW5nIFRleHRUcmFja1JlZ2lvbjo6c2Nyb2xsKCkgY29uc3QKK3sKKyAgICBERUZJTkVfU1RBVElD
X0xPQ0FMKGNvbnN0IEF0b21pY1N0cmluZywgdXBTY3JvbGxWYWx1ZUtleXdvcmQsICgidXAiLCBB
dG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7CisKKyAgICBpZiAobV9zY3JvbGwp
CisgICAgICAgIHJldHVybiB1cFNjcm9sbFZhbHVlS2V5d29yZDsKKworICAgIHJldHVybiAiIjsK
K30KKwordm9pZCBUZXh0VHJhY2tSZWdpb246OnNldFNjcm9sbChjb25zdCBBdG9taWNTdHJpbmcm
IHZhbHVlLCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNv
bnN0IEF0b21pY1N0cmluZywgdXBTY3JvbGxWYWx1ZUtleXdvcmQsICgidXAiLCBBdG9taWNTdHJp
bmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7CisKKyAgICBpZiAodmFsdWUgIT0gZW1wdHlTdHJp
bmcoKSAmJiB2YWx1ZSAhPSB1cFNjcm9sbFZhbHVlS2V5d29yZCkgeworICAgICAgICBlYyA9IFNZ
TlRBWF9FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBtX3Njcm9sbCA9IHZhbHVl
ID09IHVwU2Nyb2xsVmFsdWVLZXl3b3JkOworfQorCit2b2lkIFRleHRUcmFja1JlZ2lvbjo6c2V0
UmVnaW9uU2V0dGluZ3MoY29uc3QgU3RyaW5nJiBpbnB1dCkKK3sKKyAgICAvLyBGSVhNRSgxMDk4
MTgpOiBQYXJzZSByZWdpb24gaGVhZGVyIG1ldGFkYXRhLgorfQorCitUZXh0VHJhY2tSZWdpb246
OlJlZ2lvblNldHRpbmcgVGV4dFRyYWNrUmVnaW9uOjpnZXRTZXR0aW5nRnJvbVN0cmluZyhjb25z
dCBTdHJpbmcmIHNldHRpbmcpCit7CisgICAgLy8gRklYTUUoMTA5ODE4KTogUGFyc2UgcmVnaW9u
IGhlYWRlciBtZXRhZGF0YS4KKyAgICByZXR1cm4gTm9uZTsKK30KKwordm9pZCBUZXh0VHJhY2tS
ZWdpb246OnBhcnNlU2V0dGluZ1ZhbHVlKFJlZ2lvblNldHRpbmcgc2V0dGluZywgY29uc3QgU3Ry
aW5nJiB2YWx1ZSkKK3sKKyAgICAvLyBGSVhNRSgxMDk4MTgpOiBQYXJzZSByZWdpb24gaGVhZGVy
IG1ldGFkYXRhLgorfQorCit2b2lkIFRleHRUcmFja1JlZ2lvbjo6cGFyc2VTZXR0aW5nKGNvbnN0
IFN0cmluZyYgaW5wdXQsIHVuc2lnbmVkKiBwb3NpdGlvbikKK3sKKyAgICAvLyBGSVhNRSgxMDk4
MTgpOiBQYXJzZSByZWdpb24gaGVhZGVyIG1ldGFkYXRhLgorfQorCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9U
ZXh0VHJhY2tSZWdpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrUmVn
aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uOThlZmZjMmI1ZjZiZjMxY2YzMjgxMTRiOTUzNzc3MDA4ZWJhMDU3
NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNr
UmVnaW9uLmgKQEAgLTAsMCArMSwxMDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29v
Z2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
KyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBUZXh0VHJhY2tSZWdpb25faAorI2Rl
ZmluZSBUZXh0VHJhY2tSZWdpb25faAorCisjaWYgRU5BQkxFKFZJREVPX1RSQUNLKSAmJiBFTkFC
TEUoV0VCVlRUX1JFR0lPTlMpCisKKyNpbmNsdWRlICJJbnRTaXplLmgiCisjaW5jbHVkZSAiVGV4
dFRyYWNrLmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVm
Q291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFRleHRUcmFja1JlZ2lv
biA6IHB1YmxpYyBSZWZDb3VudGVkPFRleHRUcmFja1JlZ2lvbj4geworcHVibGljOgorICAgIHN0
YXRpYyBQYXNzUmVmUHRyPFRleHRUcmFja1JlZ2lvbj4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqIGNvbnRleHQpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFRleHRU
cmFja1JlZ2lvbigpKTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIH5UZXh0VHJhY2tSZWdpb24oKTsK
KworICAgIFRleHRUcmFjayogdHJhY2soKSBjb25zdCB7IHJldHVybiAwOyB9CisKKyAgICBjb25z
dCBTdHJpbmcmIGlkKCkgY29uc3QgeyByZXR1cm4gbV9pZDsgfQorICAgIHZvaWQgc2V0SWQoY29u
c3QgU3RyaW5nJik7CisKKyAgICBkb3VibGUgd2lkdGgoKSBjb25zdCB7IHJldHVybiBtX3dpZHRo
OyB9CisgICAgdm9pZCBzZXRXaWR0aChsb25nLCBFeGNlcHRpb25Db2RlJik7CisKKyAgICBsb25n
IGhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIG1faGVpZ2h0SW5MaW5lczsgfQorICAgIHZvaWQgc2V0
SGVpZ2h0KGxvbmcsIEV4Y2VwdGlvbkNvZGUmKTsKKworICAgIGxvbmcgcmVnaW9uQW5jaG9yWCgp
IGNvbnN0IHsgcmV0dXJuIG1fcmVnaW9uQW5jaG9yLndpZHRoKCk7IH0KKyAgICB2b2lkIHNldFJl
Z2lvbkFuY2hvclgobG9uZywgRXhjZXB0aW9uQ29kZSYpOworCisgICAgbG9uZyByZWdpb25BbmNo
b3JZKCkgY29uc3QgeyByZXR1cm4gbV9yZWdpb25BbmNob3IuaGVpZ2h0KCk7IH0KKyAgICB2b2lk
IHNldFJlZ2lvbkFuY2hvclkobG9uZywgRXhjZXB0aW9uQ29kZSYpOworCisgICAgbG9uZyB2aWV3
cG9ydEFuY2hvclgoKSBjb25zdCB7IHJldHVybiBtX3ZpZXdwb3J0QW5jaG9yLndpZHRoKCk7IH0K
KyAgICB2b2lkIHNldFZpZXdwb3J0QW5jaG9yWChsb25nLCBFeGNlcHRpb25Db2RlJik7CisKKyAg
ICBsb25nIHZpZXdwb3J0QW5jaG9yWSgpIGNvbnN0IHsgcmV0dXJuIG1fdmlld3BvcnRBbmNob3Iu
aGVpZ2h0KCk7IH0KKyAgICB2b2lkIHNldFZpZXdwb3J0QW5jaG9yWShsb25nLCBFeGNlcHRpb25D
b2RlJik7CisKKyAgICBjb25zdCBBdG9taWNTdHJpbmcgc2Nyb2xsKCkgY29uc3Q7CisgICAgdm9p
ZCBzZXRTY3JvbGwoY29uc3QgQXRvbWljU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpOworCisgICAg
Y29uc3QgU3RyaW5nJiByZWdpb25TZXR0aW5ncygpIGNvbnN0IHsgcmV0dXJuIG1fc2V0dGluZ3M7
IH0KKyAgICB2b2lkIHNldFJlZ2lvblNldHRpbmdzKGNvbnN0IFN0cmluZyYpOworCitwcm90ZWN0
ZWQ6CisgICAgVGV4dFRyYWNrUmVnaW9uKCk7CisKK3ByaXZhdGU6CisgICAgZW51bSBSZWdpb25T
ZXR0aW5nIHsgTm9uZSwgSWQsIFdpZHRoLCBIZWlnaHQsIFJlZ2lvbkFuY2hvciwgVmlld3BvcnRB
bmNob3IsIFNjcm9sbCB9OworICAgIFJlZ2lvblNldHRpbmcgZ2V0U2V0dGluZ0Zyb21TdHJpbmco
Y29uc3QgU3RyaW5nJik7CisKKyAgICB2b2lkIHBhcnNlU2V0dGluZ1ZhbHVlKFJlZ2lvblNldHRp
bmcsIGNvbnN0IFN0cmluZyYpOworICAgIHZvaWQgcGFyc2VTZXR0aW5nKGNvbnN0IFN0cmluZyYs
IHVuc2lnbmVkKik7CisKKyAgICBTdHJpbmcgbV9pZDsKKyAgICBTdHJpbmcgbV9zZXR0aW5nczsK
KworICAgIHVuc2lnbmVkIG1fd2lkdGg7CisgICAgdW5zaWduZWQgbV9oZWlnaHRJbkxpbmVzOwor
CisgICAgSW50U2l6ZSBtX3JlZ2lvbkFuY2hvcjsKKyAgICBJbnRTaXplIG1fdmlld3BvcnRBbmNo
b3I7CisKKyAgICBib29sIG1fc2Nyb2xsOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9U
ZXh0VHJhY2tSZWdpb24uaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tS
ZWdpb24uaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJmYzA2ZGU3NjE5MjFmMWVjYmJiNTIzMTcwMTYzNGE4ZWY1
YzFhYTEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRU
cmFja1JlZ2lvbi5pZGwKQEAgLTAsMCArMSw1MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MyBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworWworICAgIENvbmRp
dGlvbmFsPVZJREVPX1RSQUNLICYgV0VCVlRUX1JFR0lPTlMsCisgICAgVjhFbmFibGVkQXRSdW50
aW1lPXdlYmtpdFZpZGVvVHJhY2ssCisgICAgSlNHZW5lcmF0ZVRvTmF0aXZlT2JqZWN0LAorICAg
IENvbnN0cnVjdG9yKCksCisgICAgQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwKK10g
aW50ZXJmYWNlIFRleHRUcmFja1JlZ2lvbiB7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIFRleHRU
cmFjayB0cmFjazsKKworICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgaWQ7CisgICAgYXR0cmlidXRl
IGxvbmcgd2lkdGgKKyAgICAgICAgc2V0dGVyIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKyAgICBh
dHRyaWJ1dGUgbG9uZyBoZWlnaHQKKyAgICAgICAgc2V0dGVyIHJhaXNlcyAoRE9NRXhjZXB0aW9u
KTsKKyAgICBhdHRyaWJ1dGUgbG9uZyByZWdpb25BbmNob3JYCisgICAgICAgIHNldHRlciByYWlz
ZXMgKERPTUV4Y2VwdGlvbik7CisgICAgYXR0cmlidXRlIGxvbmcgcmVnaW9uQW5jaG9yWQorICAg
ICAgICBzZXR0ZXIgcmFpc2VzIChET01FeGNlcHRpb24pOworICAgIGF0dHJpYnV0ZSBsb25nIHZp
ZXdwb3J0QW5jaG9yWAorICAgICAgICBzZXR0ZXIgcmFpc2VzIChET01FeGNlcHRpb24pOworICAg
IGF0dHJpYnV0ZSBsb25nIHZpZXdwb3J0QW5jaG9yWQorICAgICAgICBzZXR0ZXIgcmFpc2VzIChE
T01FeGNlcHRpb24pOworICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgc2Nyb2xsCisgICAgICAgIHNl
dHRlciByYWlzZXMgKERPTUV4Y2VwdGlvbik7Cit9OworCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5p
ZGwKaW5kZXggMmUyMWRhOWU4YjFhOGNiZjdiMmIwOTM3MzY0MzBiYmE0YWZkZDBjNC4uMmY5N2Vh
OTg0MjRkYWNmZTgyZGU1NmM2NjdiOTQ5NjI1ZTc5NDFmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2lu
ZG93LmlkbApAQCAtNDk3LDYgKzQ5Nyw3IEBACiAgICAgW0NvbmRpdGlvbmFsPVZJREVPX1RSQUNL
LCBWOEVuYWJsZWRBdFJ1bnRpbWU9d2Via2l0VmlkZW9UcmFja10gYXR0cmlidXRlIFRleHRUcmFj
a0N1ZUNvbnN0cnVjdG9yIFRleHRUcmFja0N1ZTsgLy8gVXNhYmxlIHdpdGggdGhlIG5ldyBvcGVy
YXRvcgogICAgIFtDb25kaXRpb25hbD1WSURFT19UUkFDSywgVjhFbmFibGVkQXRSdW50aW1lPXdl
YmtpdFZpZGVvVHJhY2tdIGF0dHJpYnV0ZSBUZXh0VHJhY2tDdWVMaXN0Q29uc3RydWN0b3IgVGV4
dFRyYWNrQ3VlTGlzdDsKICAgICBbQ29uZGl0aW9uYWw9VklERU9fVFJBQ0ssIFY4RW5hYmxlZEF0
UnVudGltZT13ZWJraXRWaWRlb1RyYWNrXSBhdHRyaWJ1dGUgVGV4dFRyYWNrTGlzdENvbnN0cnVj
dG9yIFRleHRUcmFja0xpc3Q7CisgICAgW0NvbmRpdGlvbmFsPVZJREVPX1RSQUNLICYgV0VCVlRU
X1JFR0lPTlMsIFY4RW5hYmxlZEF0UnVudGltZT13ZWJraXRWaWRlb1RyYWNrXSBhdHRyaWJ1dGUg
VGV4dFRyYWNrUmVnaW9uQ29uc3RydWN0b3IgVGV4dFRyYWNrUmVnaW9uOyAvLyBVc2FibGUgd2l0
aCB0aGUgbmV3IG9wZXJhdG9yCiAgICAgW0NvbmRpdGlvbmFsPVZJREVPX1RSQUNLLCBWOEVuYWJs
ZWRBdFJ1bnRpbWU9d2Via2l0VmlkZW9UcmFja10gYXR0cmlidXRlIFRyYWNrRXZlbnRDb25zdHJ1
Y3RvciBUcmFja0V2ZW50OwogCiAgICAgW0pTQ3VzdG9tR2V0dGVyLCBDb25kaXRpb25hbD1WSURF
TywgVjhFbmFibGVkQXRSdW50aW1lXSBhdHRyaWJ1dGUgSFRNTEF1ZGlvRWxlbWVudENvbnN0cnVj
dG9yQ29uc3RydWN0b3IgQXVkaW87IC8vIFVzYWJsZSB3aXRoIHRoZSBuZXcgb3BlcmF0b3IKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lwaSBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lwaQppbmRleCA3N2IyYzc2YzQ0YTMyZmE5MzMwNGNl
NGJjZDA3ZTIxMDVmZTljNTU4Li41MDcxMGU4NjY0NGNiNjNjMTc4ZWQxMmEyNTdlYmI1YWRjMWY0
ZDYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkKKysr
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9mZWF0dXJlcy5neXBpCkBAIC0xMzEsNiArMTMxLDcg
QEAKICAgICAgICdFTkFCTEVfVklERU9fVFJBQ0s9MScsCiAgICAgICAnRU5BQkxFX1ZJRVdQT1JU
PTEnLAogICAgICAgJ0VOQUJMRV9XRUJHTD0xJywKKyAgICAgICdFTkFCTEVfV0VCVlRUX1JFR0lP
TlM9MScsCiAgICAgICAnRU5BQkxFX1dFQl9TT0NLRVRTPTEnLAogICAgICAgJ0VOQUJMRV9XRUJf
VElNSU5HPTEnLAogICAgICAgJ0VOQUJMRV9XT1JLRVJTPTEnLApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDg3ODQ1MWI4ZTU4
ZDM0NjFkM2Y4NTk1NmYyOGNhMmZkZTZlNjM0MWYuLjYwMzYxODcxNmMzOTcxMDBlMDcwZjE3ZTM5
MGNiYTA2YTkzY2ZkOTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMy0wMi0yMyAgVmljdG9y
IENhcmJ1bmUgIDx2Y2FyYnVuZUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVGV4dFRyYWNrUmVn
aW9uIENvbnN0cnVjdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMTA1MTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIG1lZGlhL3RyYWNrL3RyYWNrLXJlZ2lvbi1jb25zdHJ1Y3Rvci1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIG1lZGlhL3RyYWNrL3RyYWNrLXJlZ2lvbi1jb25zdHJ1Y3Rv
ci5odG1sOiBBZGRlZC4KKwogMjAxMy0wMi0yMSAgRGF2aWQgSHlhdHQgIDxoeWF0dEBhcHBsZS5j
b20+CiAKICAgICAgICAgW05ldyBNdWx0aWNvbHVtbl0gQWRkIGEgcG9zaXRpb25lZCBvYmplY3Qg
cGFnaW5hdGlvbiB0ZXN0LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJh
Y2stcmVnaW9uLWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL21lZGlhL3Ry
YWNrL3RyYWNrLXJlZ2lvbi1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTEy
ZTFkYWYyYTY0MjJjNmFkM2Y5YTYxMzY1MTYyNjgxZDg5MTZjOQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLXJlZ2lvbi1jb25zdHJ1Y3Rvci1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw2OSBAQAorVGVzdHMgdGhlIGNvbnN0cnVjdG9yIGFuZCBtdXRhdGlv
biBvZiBUZXh0VHJhY2tSZWdpb24uCisKKyoqIFRlc3QgdGhlIGRlZmF1bHQgaW5kZXhzIG9mIGEg
cmVnaW9uLiAqKgorRVhQRUNURUQgKHJlZ2lvbi50cmFjayA9PSAnbnVsbCcpIE9LCitFWFBFQ1RF
RCAocmVnaW9uLnNjcm9sbCA9PSAnJykgT0sKK0VYUEVDVEVEIChyZWdpb24udmlld3BvcnRBbmNo
b3JYID09ICcwJykgT0sKK0VYUEVDVEVEIChyZWdpb24udmlld3BvcnRBbmNob3JZID09ICcxMDAn
KSBPSworRVhQRUNURUQgKHJlZ2lvbi5yZWdpb25BbmNob3JYID09ICcwJykgT0sKK0VYUEVDVEVE
IChyZWdpb24ucmVnaW9uQW5jaG9yWSA9PSAnMTAwJykgT0sKK0VYUEVDVEVEIChyZWdpb24uaGVp
Z2h0ID09ICczJykgT0sKK0VYUEVDVEVEIChyZWdpb24ud2lkdGggPT0gJzEwMCcpIE9LCisKKyoq
IFRlc3QgdGhhdCBpbmNvcnJlY3QgbXV0YXRpb24ga2VlcHMgcHJldmlvdXMgdmFsaWQgdmFsdWVz
LiAqKgorUlVOKHJlZ2lvbi5zY3JvbGwgPSAnaW52YWxpZC1zY3JvbGwtdmFsdWUnKQorRXJyb3I6
IFN5bnRheEVycm9yOiBET00gRXhjZXB0aW9uIDEyCitFWFBFQ1RFRCAocmVnaW9uLnNjcm9sbCA9
PSAnJykgT0sKKworSW52YWxpZCBwZXJjZW50YWdlIHZhbHVlOiAtMQorUlVOKHJlZ2lvbi52aWV3
cG9ydEFuY2hvclggPSBpbnZhbGlkUGVyY2VudGFnZVZhbHVlc1tpbmRleF0pCitFcnJvcjogSW5k
ZXhTaXplRXJyb3I6IERPTSBFeGNlcHRpb24gMQorRVhQRUNURUQgKHJlZ2lvbi52aWV3cG9ydEFu
Y2hvclggPT0gJzAnKSBPSworUlVOKHJlZ2lvbi52aWV3cG9ydEFuY2hvclkgPSBpbnZhbGlkUGVy
Y2VudGFnZVZhbHVlc1tpbmRleF0pCitFcnJvcjogSW5kZXhTaXplRXJyb3I6IERPTSBFeGNlcHRp
b24gMQorRVhQRUNURUQgKHJlZ2lvbi52aWV3cG9ydEFuY2hvclkgPT0gJzEwMCcpIE9LCitSVU4o
cmVnaW9uLnJlZ2lvbkFuY2hvclggPSBpbnZhbGlkUGVyY2VudGFnZVZhbHVlc1tpbmRleF0pCitF
cnJvcjogSW5kZXhTaXplRXJyb3I6IERPTSBFeGNlcHRpb24gMQorRVhQRUNURUQgKHJlZ2lvbi5y
ZWdpb25BbmNob3JYID09ICcwJykgT0sKK1JVTihyZWdpb24ucmVnaW9uQW5jaG9yWSA9IGludmFs
aWRQZXJjZW50YWdlVmFsdWVzW2luZGV4XSkKK0Vycm9yOiBJbmRleFNpemVFcnJvcjogRE9NIEV4
Y2VwdGlvbiAxCitFWFBFQ1RFRCAocmVnaW9uLnJlZ2lvbkFuY2hvclkgPT0gJzEwMCcpIE9LCitS
VU4ocmVnaW9uLndpZHRoID0gaW52YWxpZFBlcmNlbnRhZ2VWYWx1ZXNbaW5kZXhdKQorRXJyb3I6
IEluZGV4U2l6ZUVycm9yOiBET00gRXhjZXB0aW9uIDEKK0VYUEVDVEVEIChyZWdpb24ud2lkdGgg
PT0gJzEwMCcpIE9LCisKK0ludmFsaWQgcGVyY2VudGFnZSB2YWx1ZTogMTAxCitSVU4ocmVnaW9u
LnZpZXdwb3J0QW5jaG9yWCA9IGludmFsaWRQZXJjZW50YWdlVmFsdWVzW2luZGV4XSkKK0Vycm9y
OiBJbmRleFNpemVFcnJvcjogRE9NIEV4Y2VwdGlvbiAxCitFWFBFQ1RFRCAocmVnaW9uLnZpZXdw
b3J0QW5jaG9yWCA9PSAnMCcpIE9LCitSVU4ocmVnaW9uLnZpZXdwb3J0QW5jaG9yWSA9IGludmFs
aWRQZXJjZW50YWdlVmFsdWVzW2luZGV4XSkKK0Vycm9yOiBJbmRleFNpemVFcnJvcjogRE9NIEV4
Y2VwdGlvbiAxCitFWFBFQ1RFRCAocmVnaW9uLnZpZXdwb3J0QW5jaG9yWSA9PSAnMTAwJykgT0sK
K1JVTihyZWdpb24ucmVnaW9uQW5jaG9yWCA9IGludmFsaWRQZXJjZW50YWdlVmFsdWVzW2luZGV4
XSkKK0Vycm9yOiBJbmRleFNpemVFcnJvcjogRE9NIEV4Y2VwdGlvbiAxCitFWFBFQ1RFRCAocmVn
aW9uLnJlZ2lvbkFuY2hvclggPT0gJzAnKSBPSworUlVOKHJlZ2lvbi5yZWdpb25BbmNob3JZID0g
aW52YWxpZFBlcmNlbnRhZ2VWYWx1ZXNbaW5kZXhdKQorRXJyb3I6IEluZGV4U2l6ZUVycm9yOiBE
T00gRXhjZXB0aW9uIDEKK0VYUEVDVEVEIChyZWdpb24ucmVnaW9uQW5jaG9yWSA9PSAnMTAwJykg
T0sKK1JVTihyZWdpb24ud2lkdGggPSBpbnZhbGlkUGVyY2VudGFnZVZhbHVlc1tpbmRleF0pCitF
cnJvcjogSW5kZXhTaXplRXJyb3I6IERPTSBFeGNlcHRpb24gMQorRVhQRUNURUQgKHJlZ2lvbi53
aWR0aCA9PSAnMTAwJykgT0sKK1JVTihyZWdpb24uaGVpZ2h0ID0gLTEpCitFcnJvcjogSW5kZXhT
aXplRXJyb3I6IERPTSBFeGNlcHRpb24gMQorRVhQRUNURUQgKHJlZ2lvbi5oZWlnaHQgPT0gJzMn
KSBPSworCisqKiBUZXN0IHRoYXQgcHJvcGVyIG11dGF0aW9uIGtlZXBzIGFzc2lnbmVkIHZhbHVl
LiAqKgorUlVOKHJlZ2lvbi5oZWlnaHQgPSAxMzApCitFWFBFQ1RFRCAocmVnaW9uLmhlaWdodCA9
PSAnMTMwJykgT0sKK1JVTihyZWdpb24udmlld3BvcnRBbmNob3JYID0gNjQpCitFWFBFQ1RFRCAo
cmVnaW9uLnZpZXdwb3J0QW5jaG9yWCA9PSAnNjQnKSBPSworUlVOKHJlZ2lvbi52aWV3cG9ydEFu
Y2hvclkgPSAzMikKK0VYUEVDVEVEIChyZWdpb24udmlld3BvcnRBbmNob3JZID09ICczMicpIE9L
CitSVU4ocmVnaW9uLnJlZ2lvbkFuY2hvclggPSAxNikKK0VYUEVDVEVEIChyZWdpb24ucmVnaW9u
QW5jaG9yWCA9PSAnMTYnKSBPSworUlVOKHJlZ2lvbi5yZWdpb25BbmNob3JZID0gOCkKK0VYUEVD
VEVEIChyZWdpb24ucmVnaW9uQW5jaG9yWSA9PSAnOCcpIE9LCitSVU4ocmVnaW9uLndpZHRoID0g
NDIpCitFWFBFQ1RFRCAocmVnaW9uLndpZHRoID09ICc0MicpIE9LCitFTkQgT0YgVEVTVAorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1yZWdpb24tY29uc3RydWN0
b3IuaHRtbCBiL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLXJlZ2lvbi1jb25zdHJ1Y3Rv
ci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmFkZTc0YzU2ZGFkMmEyZmZlNmYzM2UxN2M0YmU5NWU2ZTgxNzFi
NmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1yZWdp
b24tY29uc3RydWN0b3IuaHRtbApAQCAtMCwwICsxLDc3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUi
IGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIgLz4KKworICAgICAgICA8c2NyaXB0
IHNyYz0uLi9tZWRpYS1maWxlLmpzPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0uLi92
aWRlby10ZXN0LmpzPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgdmFy
IHJlZ2lvbjsKKyAgICAgICAgICAgIHZhciBpbnZhbGlkUGVyY2VudGFnZVZhbHVlczsKKworICAg
ICAgICAgICAgZnVuY3Rpb24gc3RhcnRUZXN0KCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAg
ICAgICBpZiAoIXdpbmRvdy5UZXh0VHJhY2tSZWdpb24pIHsKKyAgICAgICAgICAgICAgICAgICAg
ZmFpbFRlc3QoKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAg
IH0KKworICAgICAgICAgICAgICAgIHJlZ2lvbiA9IG5ldyBUZXh0VHJhY2tSZWdpb24oKTsKKwor
ICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiKiogVGVzdCB0aGUgZGVmYXVsdCBpbmRleHMg
b2YgYSByZWdpb24uICoqIik7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJyZWdpb24u
dHJhY2siLCBudWxsKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInJlZ2lvbi5zY3Jv
bGwiLCAiIik7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJyZWdpb24udmlld3BvcnRB
bmNob3JYIiwgMCk7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJyZWdpb24udmlld3Bv
cnRBbmNob3JZIiwgMTAwKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInJlZ2lvbi5y
ZWdpb25BbmNob3JYIiwgMCk7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJyZWdpb24u
cmVnaW9uQW5jaG9yWSIsIDEwMCk7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJyZWdp
b24uaGVpZ2h0IiwgMyk7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJyZWdpb24ud2lk
dGgiLCAxMDApOworCisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCI8YnI+KiogVGVzdCB0
aGF0IGluY29ycmVjdCBtdXRhdGlvbiBrZWVwcyBwcmV2aW91cyB2YWxpZCB2YWx1ZXMuICoqIik7
CisgICAgICAgICAgICAgICAgcnVuKCJyZWdpb24uc2Nyb2xsID0gJ2ludmFsaWQtc2Nyb2xsLXZh
bHVlJyIpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgicmVnaW9uLnNjcm9sbCIsICIi
KTsKKworICAgICAgICAgICAgICAgIGludmFsaWRQZXJjZW50YWdlVmFsdWVzID0gWy0xLCAxMDFd
OworICAgICAgICAgICAgICAgIGZvciAoaW5kZXggaW4gaW52YWxpZFBlcmNlbnRhZ2VWYWx1ZXMp
IHsKKyAgICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiPGJyPkludmFsaWQgcGVyY2VudGFn
ZSB2YWx1ZTogIiArIGludmFsaWRQZXJjZW50YWdlVmFsdWVzW2luZGV4XSk7CisgICAgICAgICAg
ICAgICAgICBydW4oInJlZ2lvbi52aWV3cG9ydEFuY2hvclggPSBpbnZhbGlkUGVyY2VudGFnZVZh
bHVlc1tpbmRleF0iKTsKKyAgICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgicmVnaW9uLnZp
ZXdwb3J0QW5jaG9yWCIsIDApOworICAgICAgICAgICAgICAgICAgcnVuKCJyZWdpb24udmlld3Bv
cnRBbmNob3JZID0gaW52YWxpZFBlcmNlbnRhZ2VWYWx1ZXNbaW5kZXhdIik7CisgICAgICAgICAg
ICAgICAgICB0ZXN0RXhwZWN0ZWQoInJlZ2lvbi52aWV3cG9ydEFuY2hvclkiLCAxMDApOworICAg
ICAgICAgICAgICAgICAgcnVuKCJyZWdpb24ucmVnaW9uQW5jaG9yWCA9IGludmFsaWRQZXJjZW50
YWdlVmFsdWVzW2luZGV4XSIpOworICAgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJyZWdp
b24ucmVnaW9uQW5jaG9yWCIsIDApOworICAgICAgICAgICAgICAgICAgcnVuKCJyZWdpb24ucmVn
aW9uQW5jaG9yWSA9IGludmFsaWRQZXJjZW50YWdlVmFsdWVzW2luZGV4XSIpOworICAgICAgICAg
ICAgICAgICAgdGVzdEV4cGVjdGVkKCJyZWdpb24ucmVnaW9uQW5jaG9yWSIsIDEwMCk7CisgICAg
ICAgICAgICAgICAgICBydW4oInJlZ2lvbi53aWR0aCA9IGludmFsaWRQZXJjZW50YWdlVmFsdWVz
W2luZGV4XSIpOworICAgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJyZWdpb24ud2lkdGgi
LCAxMDApOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIHJ1bigicmVnaW9u
LmhlaWdodCA9IC0xIik7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJyZWdpb24uaGVp
Z2h0IiwgMyk7CisKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIjxicj4qKiBUZXN0IHRo
YXQgcHJvcGVyIG11dGF0aW9uIGtlZXBzIGFzc2lnbmVkIHZhbHVlLiAqKiIpOworICAgICAgICAg
ICAgICAgIHJ1bigicmVnaW9uLmhlaWdodCA9IDEzMCIpOworICAgICAgICAgICAgICAgIHRlc3RF
eHBlY3RlZCgicmVnaW9uLmhlaWdodCIsIDEzMCk7CisKKyAgICAgICAgICAgICAgICBydW4oInJl
Z2lvbi52aWV3cG9ydEFuY2hvclggPSA2NCIpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3Rl
ZCgicmVnaW9uLnZpZXdwb3J0QW5jaG9yWCIsIDY0KTsKKyAgICAgICAgICAgICAgICBydW4oInJl
Z2lvbi52aWV3cG9ydEFuY2hvclkgPSAzMiIpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3Rl
ZCgicmVnaW9uLnZpZXdwb3J0QW5jaG9yWSIsIDMyKTsKKyAgICAgICAgICAgICAgICBydW4oInJl
Z2lvbi5yZWdpb25BbmNob3JYID0gMTYiKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQo
InJlZ2lvbi5yZWdpb25BbmNob3JYIiwgMTYpOworICAgICAgICAgICAgICAgIHJ1bigicmVnaW9u
LnJlZ2lvbkFuY2hvclkgPSA4Iik7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJyZWdp
b24ucmVnaW9uQW5jaG9yWSIsIDgpOworCisgICAgICAgICAgICAgICAgcnVuKCJyZWdpb24ud2lk
dGggPSA0MiIpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgicmVnaW9uLndpZHRoIiwg
NDIpOworCisgICAgICAgICAgICAgICAgZW5kVGVzdCgpOworICAgICAgICAgICAgfQorCisgICAg
ICAgIDwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keSBvbmxvYWQ9InN0YXJ0VGVzdCgp
Ij4KKyAgICAgICAgPHA+VGVzdHMgdGhlIGNvbnN0cnVjdG9yIGFuZCBtdXRhdGlvbiBvZiBUZXh0
VHJhY2tSZWdpb24uPC9wPgorICAgIDwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191831</attachid>
            <date>2013-03-06 14:15:59 -0800</date>
            <delta_ts>2013-03-06 15:20:21 -0800</delta_ts>
            <desc>Refined patch</desc>
            <filename>bug-110511-20130307001204.patch</filename>
            <type>text/plain</type>
            <size>27436</size>
            <attacher name="Victor Carbune">vcarbune</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0ODgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2ZhMDM4YzAwYzRiMzcw
MTk2MzE0MGI5MTljOWM2OTAwNTMzNTc3Ny4uZGJmOTcyYWZiOGVjZWJkNTUyZDBlZDIxMmUzZWM1
Nzg4YzlhMjkwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDEzLTAzLTA2ICBWaWN0
b3IgQ2FyYnVuZSAgPHZjYXJidW5lQGNocm9taXVtLm9yZz4KKworICAgICAgICBUZXh0VHJhY2tS
ZWdpb24gQ29uc3RydWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTExMDUxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoaXMgaXMgYW4gaW5pdGlhbCBwYXRjaCBmb3IgaW1wbGVtZW50aW5nIHRoZSBU
ZXh0VHJhY2tSZWdpb24KKyAgICAgICAgZGVmaW5lZCBpbiB0aGUgIldlYlZUVCBFeHRlbnNpb246
IFJlZ2lvbnMgZm9yIHJlbmRlcmluZyBjdWUgZ3JvdXBzIjoKKyAgICAgICAgaHR0cHM6Ly9kdmNz
LnczLm9yZy9oZy90ZXh0LXRyYWNrcy9yYXctZmlsZS9kZWZhdWx0LzYwOHRvVlRUL3JlZ2lvbi5o
dG1sCisKKyAgICAgICAgVGhlIGZlYXR1cmUgY29tcG9uZW50cyBhcmUgaGlkZGVuIGJlaGluZCB0
aGUgV0VCVlRUX1JFR0lPTlMgZmxhZworICAgICAgICBhbmQgaXMgY3VycmVudGx5IGRpc2FibGVk
IGJ5IGRlZmF1bHQgaW4gYWxsIHBvcnRzIGFuZCB0ZXN0cyBza2lwcGVkLgorCisgICAgICAgIFRl
c3Q6IG1lZGlhL3RyYWNrL3JlZ2lvbnMtd2VidnR0L3RleHQtdHJhY2stcmVnaW9uLWNvbnN0cnVj
dG9yLmh0bWwKKworICAgICAgICAqIFdlYkNvcmUuZ3lwaTogQWRkZWQgZmlsZXMgdG8gYmUgaW5j
bHVkZWQgZm9yIGJ1aWxkaW5nIENocm9taXVtIHdpdGgKKyAgICAgICAgZmVhdHVyZSBlbmFibGVk
IChpdCBpcyBkaXNhYmxlZCBieSBkZWZhdWx0KS4KKyAgICAgICAgKiBodG1sL3RyYWNrL1RleHRU
cmFja1JlZ2lvbi5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJD
b3JlOjpUZXh0VHJhY2tSZWdpb246OlRleHRUcmFja1JlZ2lvbik6CisgICAgICAgIChXZWJDb3Jl
OjpUZXh0VHJhY2tSZWdpb246On5UZXh0VHJhY2tSZWdpb24pOgorICAgICAgICAoV2ViQ29yZTo6
VGV4dFRyYWNrUmVnaW9uOjpzZXRJZCk6IFNldHRlci4KKyAgICAgICAgKFdlYkNvcmU6OlRleHRU
cmFja1JlZ2lvbjo6c2V0V2lkdGgpOiBTZXR0ZXIuCisgICAgICAgIChXZWJDb3JlOjpUZXh0VHJh
Y2tSZWdpb246OnNldEhlaWdodCk6IFNldHRlci4KKyAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFj
a1JlZ2lvbjo6c2V0UmVnaW9uQW5jaG9yWCk6IFNldHRlci4KKyAgICAgICAgKFdlYkNvcmU6OlRl
eHRUcmFja1JlZ2lvbjo6c2V0UmVnaW9uQW5jaG9yWSk6IFNldHRlci4KKyAgICAgICAgKFdlYkNv
cmU6OlRleHRUcmFja1JlZ2lvbjo6c2V0Vmlld3BvcnRBbmNob3JYKTogU2V0dGVyLgorICAgICAg
ICAoV2ViQ29yZTo6VGV4dFRyYWNrUmVnaW9uOjpzZXRWaWV3cG9ydEFuY2hvclkpOiBTZXR0ZXIu
CisgICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tSZWdpb246OnNjcm9sbCk6IEdldHRlci4gSW50
ZXJuYWxseSwgdGhlIHNjcm9sbAorICAgICAgICB2YWx1ZSBpcyBzdG9yZWQgYXMgYSBib29sZWFu
LCBidXQgd2hlbiByZXR1cm5lZCBpcyBjb252ZXJ0ZWQgdG8gZWl0aGVyCisgICAgICAgIHRoZSBl
bXB0eSBzdHJpbmcgb3IgInVwIi4KKyAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFja1JlZ2lvbjo6
c2V0U2Nyb2xsKTogU2V0dGVyLgorICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrUmVnaW9uOjpz
ZXRSZWdpb25TZXR0aW5ncyk6IE5vdCB1c2VkIHlldCAoc2VlIGIvMTA5ODE4KQorICAgICAgICAo
V2ViQ29yZTo6VGV4dFRyYWNrUmVnaW9uOjpnZXRTZXR0aW5nRnJvbVN0cmluZyk6IE5vdCB1c2Vk
IHlldCAoc2VlIGIvMTA5ODE4KQorICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrUmVnaW9uOjpw
YXJzZVNldHRpbmdWYWx1ZSk6IE5vdCB1c2VkIHlldCAoc2VlIGIvMTA5ODE4KQorICAgICAgICAo
V2ViQ29yZTo6VGV4dFRyYWNrUmVnaW9uOjpwYXJzZVNldHRpbmcpOiBOb3QgdXNlZCB5ZXQgKHNl
ZSBiLzEwOTgxOCkKKyAgICAgICAgKiBodG1sL3RyYWNrL1RleHRUcmFja1JlZ2lvbi5oOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoVGV4dFRyYWNrUmVnaW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6OlRleHRUcmFja1JlZ2lvbjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6
OlRleHRUcmFja1JlZ2lvbjo6dHJhY2spOiBHZXR0ZXIuCisgICAgICAgIChXZWJDb3JlOjpUZXh0
VHJhY2tSZWdpb246OmlkKTogR2V0dGVyLgorICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrUmVn
aW9uOjp3aWR0aCk6IEdldHRlci4KKyAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFja1JlZ2lvbjo6
aGVpZ2h0KTogR2V0dGVyLgorICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrUmVnaW9uOjpyZWdp
b25BbmNob3JYKTogR2V0dGVyLgorICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrUmVnaW9uOjpy
ZWdpb25BbmNob3JZKTogR2V0dGVyLgorICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrUmVnaW9u
Ojp2aWV3cG9ydEFuY2hvclgpOiBHZXR0ZXIuCisgICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tS
ZWdpb246OnZpZXdwb3J0QW5jaG9yWSk6IEdldHRlci4KKyAgICAgICAgKFdlYkNvcmU6OlRleHRU
cmFja1JlZ2lvbjo6cmVnaW9uU2V0dGluZ3MpOiBHZXR0ZXIsIHVzZWQgb25seSBpbnRlcm5hbGx5
IChzZWUgYi8xMDk4MTgpLgorICAgICAgICAqIGh0bWwvdHJhY2svVGV4dFRyYWNrUmVnaW9uLmlk
bDogQWRkZWQuCisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaWRsOiBDb25zdHJ1Y3RvciBzdXBw
b3J0LgorCiAyMDEzLTAzLTA1ICBIYXlhdG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBbU2hhZG93XSBJbXBsZW1lbnRzIGV2ZW50IHJlLXRhcmdldGluZyBmb3IgVG91Y2gg
RXZlbnRzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDRmZDlkYjdlMzJjZjM4NjEzM2VmMWUxZmI4OGRj
MTA5MDU1N2UyZDQuLmExZDFhNGUyZmFiMjNlOWNhZThkNmRmZmNhY2E0NzBmYjk2YWRmMjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKQEAgLTQ5OCw2ICs0OTgsNyBAQAogICAgICAgICAgICAgJ2h0bWwvdHJh
Y2svVGV4dFRyYWNrQ3VlTGlzdC5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvdHJhY2svVGV4dFRy
YWNrTGlzdC5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvdHJhY2svVHJhY2tFdmVudC5pZGwnLAor
ICAgICAgICAgICAgJ2h0bWwvdHJhY2svVGV4dFRyYWNrUmVnaW9uLmlkbCcsCiAgICAgICAgICAg
ICAnaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0SG9zdC5pZGwnLAogICAgICAgICAgICAgJ2luc3Bl
Y3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaWRsJywKICAgICAgICAgICAgICdpbnNwZWN0b3Iv
SmF2YVNjcmlwdENhbGxGcmFtZS5pZGwnLApAQCAtMzYwNSw2ICszNjA2LDggQEAKICAgICAgICAg
ICAgICdodG1sL3RyYWNrL1RleHRUcmFja0N1ZUxpc3QuY3BwJywKICAgICAgICAgICAgICdodG1s
L3RyYWNrL1RleHRUcmFja0N1ZUxpc3QuaCcsCiAgICAgICAgICAgICAnaHRtbC90cmFjay9UZXh0
VHJhY2tMaXN0LmNwcCcsCisgICAgICAgICAgICAnaHRtbC90cmFjay9UZXh0VHJhY2tSZWdpb24u
Y3BwJywKKyAgICAgICAgICAgICdodG1sL3RyYWNrL1RleHRUcmFja1JlZ2lvbi5oJywKICAgICAg
ICAgICAgICdodG1sL3RyYWNrL1RyYWNrQmFzZS5jcHAnLAogICAgICAgICAgICAgJ2h0bWwvdHJh
Y2svVHJhY2tFdmVudC5jcHAnLAogICAgICAgICAgICAgJ2h0bWwvdHJhY2svV2ViVlRURWxlbWVu
dC5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tS
ZWdpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tSZWdpb24uY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjBmMzhmNDE2YzBlNjg3Y2M3ODVhODhkNGRkYzE4ZjBhMjJmNTgyZGYKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFja1JlZ2lv
bi5jcHAKQEAgLTAsMCArMSwyMDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xl
IEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBl
YyBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
CisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShW
SURFT19UUkFDSykgJiYgRU5BQkxFKFdFQlZUVF9SRUdJT05TKQorCisjaW5jbHVkZSAiVGV4dFRy
YWNrUmVnaW9uLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworLy8gVGhlIHJlZ2lvbiBvY2N1
cGllcyBieSBkZWZhdWx0IDEwMCUgb2YgdGhlIHdpZHRoIG9mIHRoZSB2aWRlbyB2aWV3cG9ydC4K
K3N0YXRpYyBjb25zdCBpbnQgZGVmYXVsdFdpZHRoID0gMTAwOworCisvLyBUaGUgcmVnaW9uIGhh
cywgYnkgZGVmYXVsdCwgMyBsaW5lcyBvZiB0ZXh0Lgorc3RhdGljIGNvbnN0IGludCBkZWZhdWx0
SGVpZ2h0ID0gMzsKKworLy8gVGhlIHJlZ2lvbiBpcyBhbmNob3JlZCBpbiB0aGUgYm90dG9tIGxl
ZnQgY29ybmVyLgorc3RhdGljIGNvbnN0IGludCBkZWZhdWx0QW5jaG9yUG9pbnRYID0gMDsKK3N0
YXRpYyBjb25zdCBpbnQgZGVmYXVsdEFuY2hvclBvaW50WSA9IDEwMDsKKworLy8gVGhlIHJlZ2lv
biBkb2Vzbid0IGhhdmUgc2Nyb2xsaW5nIHRleHQsIGJ5IGRlZmF1bHQuCitzdGF0aWMgY29uc3Qg
aW50IGRlZmF1bHRTY3JvbGwgPSBmYWxzZTsKKworVGV4dFRyYWNrUmVnaW9uOjpUZXh0VHJhY2tS
ZWdpb24oKQorICAgIDogbV9pZChlbXB0eVN0cmluZygpKQorICAgICwgbV93aWR0aChkZWZhdWx0
V2lkdGgpCisgICAgLCBtX2hlaWdodEluTGluZXMoZGVmYXVsdEhlaWdodCkKKyAgICAsIG1fcmVn
aW9uQW5jaG9yKEludFNpemUoZGVmYXVsdEFuY2hvclBvaW50WCwgZGVmYXVsdEFuY2hvclBvaW50
WSkpCisgICAgLCBtX3ZpZXdwb3J0QW5jaG9yKEludFNpemUoZGVmYXVsdEFuY2hvclBvaW50WCwg
ZGVmYXVsdEFuY2hvclBvaW50WSkpCisgICAgLCBtX3Njcm9sbChkZWZhdWx0U2Nyb2xsKQorewor
fQorCitUZXh0VHJhY2tSZWdpb246On5UZXh0VHJhY2tSZWdpb24oKQoreworfQorCit2b2lkIFRl
eHRUcmFja1JlZ2lvbjo6c2V0SWQoY29uc3QgU3RyaW5nJiBpZCkKK3sKKyAgICBtX2lkID0gaWQ7
Cit9CisKK3ZvaWQgVGV4dFRyYWNrUmVnaW9uOjpzZXRXaWR0aChkb3VibGUgdmFsdWUsIEV4Y2Vw
dGlvbkNvZGUmIGVjKQoreworICAgIGlmIChzdGQ6OmlzaW5mKHZhbHVlKSB8fCBzdGQ6OmlzbmFu
KHZhbHVlKSkgeworICAgICAgICBlYyA9IFR5cGVFcnJvcjsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKworICAgIGlmICh2YWx1ZSA8IDAgfHwgdmFsdWUgPiAxMDApIHsKKyAgICAgICAgZWMgPSBJ
TkRFWF9TSVpFX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIG1fd2lkdGggPSB2
YWx1ZTsKK30KKwordm9pZCBUZXh0VHJhY2tSZWdpb246OnNldEhlaWdodChsb25nIHZhbHVlLCBF
eGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAodmFsdWUgPCAwKSB7CisgICAgICAgIGVjID0g
SU5ERVhfU0laRV9FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBtX2hlaWdodElu
TGluZXMgPSB2YWx1ZTsKK30KKwordm9pZCBUZXh0VHJhY2tSZWdpb246OnNldFJlZ2lvbkFuY2hv
clgoZG91YmxlIHZhbHVlLCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAoc3RkOjppc2lu
Zih2YWx1ZSkgfHwgc3RkOjppc25hbih2YWx1ZSkpIHsKKyAgICAgICAgZWMgPSBUeXBlRXJyb3I7
CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAodmFsdWUgPCAwIHx8IHZhbHVlID4g
MTAwKSB7CisgICAgICAgIGVjID0gSU5ERVhfU0laRV9FUlI7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisKKyAgICBtX3JlZ2lvbkFuY2hvci5zZXRXaWR0aCh2YWx1ZSk7Cit9CisKK3ZvaWQgVGV4
dFRyYWNrUmVnaW9uOjpzZXRSZWdpb25BbmNob3JZKGRvdWJsZSB2YWx1ZSwgRXhjZXB0aW9uQ29k
ZSYgZWMpCit7CisgICAgaWYgKHN0ZDo6aXNpbmYodmFsdWUpIHx8IHN0ZDo6aXNuYW4odmFsdWUp
KSB7CisgICAgICAgIGVjID0gVHlwZUVycm9yOworICAgICAgICByZXR1cm47CisgICAgfQorCisg
ICAgaWYgKHZhbHVlIDwgMCB8fCB2YWx1ZSA+IDEwMCkgeworICAgICAgICBlYyA9IElOREVYX1NJ
WkVfRVJSOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgbV9yZWdpb25BbmNob3Iuc2V0
SGVpZ2h0KHZhbHVlKTsKK30KKwordm9pZCBUZXh0VHJhY2tSZWdpb246OnNldFZpZXdwb3J0QW5j
aG9yWChkb3VibGUgdmFsdWUsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlmIChzdGQ6Omlz
aW5mKHZhbHVlKSB8fCBzdGQ6OmlzbmFuKHZhbHVlKSkgeworICAgICAgICBlYyA9IFR5cGVFcnJv
cjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmICh2YWx1ZSA8IDAgfHwgdmFsdWUg
PiAxMDApIHsKKyAgICAgICAgZWMgPSBJTkRFWF9TSVpFX0VSUjsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKworICAgIG1fdmlld3BvcnRBbmNob3Iuc2V0V2lkdGgodmFsdWUpOworfQorCit2b2lk
IFRleHRUcmFja1JlZ2lvbjo6c2V0Vmlld3BvcnRBbmNob3JZKGRvdWJsZSB2YWx1ZSwgRXhjZXB0
aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKHN0ZDo6aXNpbmYodmFsdWUpIHx8IHN0ZDo6aXNuYW4o
dmFsdWUpKSB7CisgICAgICAgIGVjID0gVHlwZUVycm9yOworICAgICAgICByZXR1cm47CisgICAg
fQorCisgICAgaWYgKHZhbHVlIDwgMCB8fCB2YWx1ZSA+IDEwMCkgeworICAgICAgICBlYyA9IElO
REVYX1NJWkVfRVJSOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgbV92aWV3cG9ydEFu
Y2hvci5zZXRIZWlnaHQodmFsdWUpOworfQorCitjb25zdCBBdG9taWNTdHJpbmcgVGV4dFRyYWNr
UmVnaW9uOjpzY3JvbGwoKSBjb25zdAoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3Qg
QXRvbWljU3RyaW5nLCB1cFNjcm9sbFZhbHVlS2V5d29yZCwgKCJ1cCIsIEF0b21pY1N0cmluZzo6
Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKKworICAgIGlmIChtX3Njcm9sbCkKKyAgICAgICAgcmV0
dXJuIHVwU2Nyb2xsVmFsdWVLZXl3b3JkOworCisgICAgcmV0dXJuICIiOworfQorCit2b2lkIFRl
eHRUcmFja1JlZ2lvbjo6c2V0U2Nyb2xsKGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUsIEV4Y2Vw
dGlvbkNvZGUmIGVjKQoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3Ry
aW5nLCB1cFNjcm9sbFZhbHVlS2V5d29yZCwgKCJ1cCIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0
RnJvbUxpdGVyYWwpKTsKKworICAgIGlmICh2YWx1ZSAhPSBlbXB0eVN0cmluZygpICYmIHZhbHVl
ICE9IHVwU2Nyb2xsVmFsdWVLZXl3b3JkKSB7CisgICAgICAgIGVjID0gU1lOVEFYX0VSUjsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKworICAgIG1fc2Nyb2xsID0gdmFsdWUgPT0gdXBTY3JvbGxW
YWx1ZUtleXdvcmQ7Cit9CisKK3ZvaWQgVGV4dFRyYWNrUmVnaW9uOjpzZXRSZWdpb25TZXR0aW5n
cyhjb25zdCBTdHJpbmcmIGlucHV0KQoreworICAgIC8vIEZJWE1FKDEwOTgxOCk6IFBhcnNlIHJl
Z2lvbiBoZWFkZXIgbWV0YWRhdGEuCit9CisKK1RleHRUcmFja1JlZ2lvbjo6UmVnaW9uU2V0dGlu
ZyBUZXh0VHJhY2tSZWdpb246OmdldFNldHRpbmdGcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYgc2V0
dGluZykKK3sKKyAgICAvLyBGSVhNRSgxMDk4MTgpOiBQYXJzZSByZWdpb24gaGVhZGVyIG1ldGFk
YXRhLgorICAgIHJldHVybiBOb25lOworfQorCit2b2lkIFRleHRUcmFja1JlZ2lvbjo6cGFyc2VT
ZXR0aW5nVmFsdWUoUmVnaW9uU2V0dGluZyBzZXR0aW5nLCBjb25zdCBTdHJpbmcmIHZhbHVlKQor
eworICAgIC8vIEZJWE1FKDEwOTgxOCk6IFBhcnNlIHJlZ2lvbiBoZWFkZXIgbWV0YWRhdGEuCit9
CisKK3ZvaWQgVGV4dFRyYWNrUmVnaW9uOjpwYXJzZVNldHRpbmcoY29uc3QgU3RyaW5nJiBpbnB1
dCwgdW5zaWduZWQqIHBvc2l0aW9uKQoreworICAgIC8vIEZJWE1FKDEwOTgxOCk6IFBhcnNlIHJl
Z2lvbiBoZWFkZXIgbWV0YWRhdGEuCit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFja1JlZ2lv
bi5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tSZWdpb24uaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xNDExNTk0YTFjOTM5ZDJkOTNlZWVkNjU2YzQ4MzQzNTBmY2VjOWQ0Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tSZWdpb24uaApAQCAt
MCwwICsxLDEwNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiAgQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAq
IG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAq
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisg
KiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaWZuZGVmIFRleHRUcmFja1JlZ2lvbl9oCisjZGVmaW5lIFRleHRUcmFj
a1JlZ2lvbl9oCisKKyNpZiBFTkFCTEUoVklERU9fVFJBQ0spICYmIEVOQUJMRShXRUJWVFRfUkVH
SU9OUykKKworI2luY2x1ZGUgIkxheW91dFNpemUuaCIKKyNpbmNsdWRlICJUZXh0VHJhY2suaCIK
KyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgVGV4dFRyYWNrUmVnaW9uIDogcHVibGlj
IFJlZkNvdW50ZWQ8VGV4dFRyYWNrUmVnaW9uPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NS
ZWZQdHI8VGV4dFRyYWNrUmVnaW9uPiBjcmVhdGUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFk
b3B0UmVmKG5ldyBUZXh0VHJhY2tSZWdpb24oKSk7CisgICAgfQorCisgICAgdmlydHVhbCB+VGV4
dFRyYWNrUmVnaW9uKCk7CisKKyAgICBUZXh0VHJhY2sqIHRyYWNrKCkgY29uc3QgeyByZXR1cm4g
MDsgfQorCisgICAgY29uc3QgU3RyaW5nJiBpZCgpIGNvbnN0IHsgcmV0dXJuIG1faWQ7IH0KKyAg
ICB2b2lkIHNldElkKGNvbnN0IFN0cmluZyYpOworCisgICAgZG91YmxlIHdpZHRoKCkgY29uc3Qg
eyByZXR1cm4gbV93aWR0aDsgfQorICAgIHZvaWQgc2V0V2lkdGgoZG91YmxlLCBFeGNlcHRpb25D
b2RlJik7CisKKyAgICBsb25nIGhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIG1faGVpZ2h0SW5MaW5l
czsgfQorICAgIHZvaWQgc2V0SGVpZ2h0KGxvbmcsIEV4Y2VwdGlvbkNvZGUmKTsKKworICAgIGRv
dWJsZSByZWdpb25BbmNob3JYKCkgY29uc3QgeyByZXR1cm4gbV9yZWdpb25BbmNob3Iud2lkdGgo
KTsgfQorICAgIHZvaWQgc2V0UmVnaW9uQW5jaG9yWChkb3VibGUsIEV4Y2VwdGlvbkNvZGUmKTsK
KworICAgIGRvdWJsZSByZWdpb25BbmNob3JZKCkgY29uc3QgeyByZXR1cm4gbV9yZWdpb25BbmNo
b3IuaGVpZ2h0KCk7IH0KKyAgICB2b2lkIHNldFJlZ2lvbkFuY2hvclkoZG91YmxlLCBFeGNlcHRp
b25Db2RlJik7CisKKyAgICBkb3VibGUgdmlld3BvcnRBbmNob3JYKCkgY29uc3QgeyByZXR1cm4g
bV92aWV3cG9ydEFuY2hvci53aWR0aCgpOyB9CisgICAgdm9pZCBzZXRWaWV3cG9ydEFuY2hvclgo
ZG91YmxlLCBFeGNlcHRpb25Db2RlJik7CisKKyAgICBkb3VibGUgdmlld3BvcnRBbmNob3JZKCkg
Y29uc3QgeyByZXR1cm4gbV92aWV3cG9ydEFuY2hvci5oZWlnaHQoKTsgfQorICAgIHZvaWQgc2V0
Vmlld3BvcnRBbmNob3JZKGRvdWJsZSwgRXhjZXB0aW9uQ29kZSYpOworCisgICAgY29uc3QgQXRv
bWljU3RyaW5nIHNjcm9sbCgpIGNvbnN0OworICAgIHZvaWQgc2V0U2Nyb2xsKGNvbnN0IEF0b21p
Y1N0cmluZyYsIEV4Y2VwdGlvbkNvZGUmKTsKKworICAgIGNvbnN0IFN0cmluZyYgcmVnaW9uU2V0
dGluZ3MoKSBjb25zdCB7IHJldHVybiBtX3NldHRpbmdzOyB9CisgICAgdm9pZCBzZXRSZWdpb25T
ZXR0aW5ncyhjb25zdCBTdHJpbmcmKTsKKworcHJvdGVjdGVkOgorICAgIFRleHRUcmFja1JlZ2lv
bigpOworCitwcml2YXRlOgorICAgIGVudW0gUmVnaW9uU2V0dGluZyB7IE5vbmUsIElkLCBXaWR0
aCwgSGVpZ2h0LCBSZWdpb25BbmNob3IsIFZpZXdwb3J0QW5jaG9yLCBTY3JvbGwgfTsKKyAgICBS
ZWdpb25TZXR0aW5nIGdldFNldHRpbmdGcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYpOworCisgICAg
dm9pZCBwYXJzZVNldHRpbmdWYWx1ZShSZWdpb25TZXR0aW5nLCBjb25zdCBTdHJpbmcmKTsKKyAg
ICB2b2lkIHBhcnNlU2V0dGluZyhjb25zdCBTdHJpbmcmLCB1bnNpZ25lZCopOworCisgICAgU3Ry
aW5nIG1faWQ7CisgICAgU3RyaW5nIG1fc2V0dGluZ3M7CisKKyAgICBkb3VibGUgbV93aWR0aDsK
KyAgICB1bnNpZ25lZCBtX2hlaWdodEluTGluZXM7CisKKyAgICBMYXlvdXRTaXplIG1fcmVnaW9u
QW5jaG9yOworICAgIExheW91dFNpemUgbV92aWV3cG9ydEFuY2hvcjsKKworICAgIGJvb2wgbV9z
Y3JvbGw7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgorI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFja1JlZ2lvbi5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFja1JlZ2lvbi5pZGwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMzI4MTY2YmU3YzM3M2RjNTg0NmVmMzdhYjU0ZWEwY2I4ZDdhOTYzZAotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrUmVnaW9uLmlkbApAQCAt
MCwwICsxLDUwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuICBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9VklERU9fVFJBQ0sg
JiBXRUJWVFRfUkVHSU9OUywKKyAgICBWOEVuYWJsZWRBdFJ1bnRpbWU9d2Via2l0VmlkZW9UcmFj
aywKKyAgICBKU0dlbmVyYXRlVG9OYXRpdmVPYmplY3QsCisgICAgQ29uc3RydWN0b3IoKQorXSBp
bnRlcmZhY2UgVGV4dFRyYWNrUmVnaW9uIHsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgVGV4dFRy
YWNrIHRyYWNrOworCisgICAgYXR0cmlidXRlIERPTVN0cmluZyBpZDsKKyAgICBhdHRyaWJ1dGUg
ZG91YmxlIHdpZHRoCisgICAgICAgIHNldHRlciByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisgICAg
YXR0cmlidXRlIGxvbmcgaGVpZ2h0CisgICAgICAgIHNldHRlciByYWlzZXMgKERPTUV4Y2VwdGlv
bik7CisgICAgYXR0cmlidXRlIGRvdWJsZSByZWdpb25BbmNob3JYCisgICAgICAgIHNldHRlciBy
YWlzZXMgKERPTUV4Y2VwdGlvbik7CisgICAgYXR0cmlidXRlIGRvdWJsZSByZWdpb25BbmNob3JZ
CisgICAgICAgIHNldHRlciByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisgICAgYXR0cmlidXRlIGRv
dWJsZSB2aWV3cG9ydEFuY2hvclgKKyAgICAgICAgc2V0dGVyIHJhaXNlcyAoRE9NRXhjZXB0aW9u
KTsKKyAgICBhdHRyaWJ1dGUgZG91YmxlIHZpZXdwb3J0QW5jaG9yWQorICAgICAgICBzZXR0ZXIg
cmFpc2VzIChET01FeGNlcHRpb24pOworICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgc2Nyb2xsCisg
ICAgICAgIHNldHRlciByYWlzZXMgKERPTUV4Y2VwdGlvbik7Cit9OworCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RP
TVdpbmRvdy5pZGwKaW5kZXggMTM0ZTQ4ZGI5MzE5ZjJlZmI1NDU1OGVkNjJlOWU2ODg1YjdkNzZk
Yi4uOTgzNzRjY2I5NDk1ZjBiMDllNTE3YjEwYmUxOTllNDYzOGU4NDFkNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRE9NV2luZG93LmlkbApAQCAtNDkyLDYgKzQ5Miw3IEBACiAgICAgW0NvbmRpdGlvbmFsPVZJ
REVPX1RSQUNLLCBWOEVuYWJsZWRBdFJ1bnRpbWU9d2Via2l0VmlkZW9UcmFja10gYXR0cmlidXRl
IFRleHRUcmFja0N1ZUNvbnN0cnVjdG9yIFRleHRUcmFja0N1ZTsgLy8gVXNhYmxlIHdpdGggdGhl
IG5ldyBvcGVyYXRvcgogICAgIFtDb25kaXRpb25hbD1WSURFT19UUkFDSywgVjhFbmFibGVkQXRS
dW50aW1lPXdlYmtpdFZpZGVvVHJhY2tdIGF0dHJpYnV0ZSBUZXh0VHJhY2tDdWVMaXN0Q29uc3Ry
dWN0b3IgVGV4dFRyYWNrQ3VlTGlzdDsKICAgICBbQ29uZGl0aW9uYWw9VklERU9fVFJBQ0ssIFY4
RW5hYmxlZEF0UnVudGltZT13ZWJraXRWaWRlb1RyYWNrXSBhdHRyaWJ1dGUgVGV4dFRyYWNrTGlz
dENvbnN0cnVjdG9yIFRleHRUcmFja0xpc3Q7CisgICAgW0NvbmRpdGlvbmFsPVZJREVPX1RSQUNL
ICYgV0VCVlRUX1JFR0lPTlMsIFY4RW5hYmxlZEF0UnVudGltZT13ZWJraXRWaWRlb1RyYWNrXSBh
dHRyaWJ1dGUgVGV4dFRyYWNrUmVnaW9uQ29uc3RydWN0b3IgVGV4dFRyYWNrUmVnaW9uOyAvLyBV
c2FibGUgd2l0aCB0aGUgbmV3IG9wZXJhdG9yCiAgICAgW0NvbmRpdGlvbmFsPVZJREVPX1RSQUNL
LCBWOEVuYWJsZWRBdFJ1bnRpbWU9d2Via2l0VmlkZW9UcmFja10gYXR0cmlidXRlIFRyYWNrRXZl
bnRDb25zdHJ1Y3RvciBUcmFja0V2ZW50OwogCiAgICAgW0pTQ3VzdG9tR2V0dGVyLCBDb25kaXRp
b25hbD1WSURFTywgVjhFbmFibGVkQXRSdW50aW1lXSBhdHRyaWJ1dGUgSFRNTEF1ZGlvRWxlbWVu
dENvbnN0cnVjdG9yQ29uc3RydWN0b3IgQXVkaW87IC8vIFVzYWJsZSB3aXRoIHRoZSBuZXcgb3Bl
cmF0b3IKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCA0NTYzN2IyMGZjODIwN2FjMTU4ODU4MGU4Nzk3OTFlZDFkYzYzOWM4Li42
YTk5NTIxZWVhMzc1OGZjYTZhNWRmNmRkNWY3ODExNzMwN2FjNTUzIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTQgQEAKKzIwMTMtMDMtMDYgIFZpY3RvciBDYXJidW5lICA8dmNhcmJ1bmVAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFRleHRUcmFja1JlZ2lvbiBDb25zdHJ1Y3RvcgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwNTExCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOgorICAg
ICAgICAqIG1lZGlhL3RyYWNrL3JlZ2lvbnMtd2VidnR0L3RleHQtdHJhY2stcmVnaW9uLWNvbnN0
cnVjdG9yLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogbWVkaWEvdHJhY2svcmVnaW9u
cy13ZWJ2dHQvdGV4dC10cmFjay1yZWdpb24tY29uc3RydWN0b3IuaHRtbDogQWRkZWQuCisKIDIw
MTMtMDMtMDUgIENsYXVkaW8gU2FhdmVkcmEgIDxjc2FhdmVkcmFAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBNYWtlIHRvZ2dsZS11bmxpbmsuaHRtbCB0ZXN0IE1hYyBzcGVjaWZpYyBiZWhhdmlvdXIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9U
ZXN0RXhwZWN0YXRpb25zCmluZGV4IDg1ZTkyMDg3YjRkMTQ1NTc4MTJkY2EyMmNmNDNjMTY4MjQ2
Y2VlNzUuLjY5ZjU4NTNlNTUyYWY4M2EwYTQ3NTFlNWI1YzgyMzcwODY5MmEyZWEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4
cGVjdGF0aW9ucwpAQCAtNSwzICs1LDUgQEAKICMgcGVuZGluZyBmdW5jdGlvbmFsIHBhdGNoIGFu
ZCBwZXItcG9ydCB2ZXJpZmljYXRpb24KIHdlYmtpdC5vcmcvYi8xMDk5NTQgY3NzMy9saW5lLWJy
ZWFrIFsgU2tpcCBdCiAKKyMgcGVuZGluZyBpbXBsZW1lbnRhdGlvbiBjb21wbGV0aW9uIGFuZCBm
ZWF0dXJlIGVuYWJsaW5nCit3ZWJraXQub3JnL2IvMTA5NTcwIG1lZGlhL3RyYWNrL3JlZ2lvbnMt
d2VidnR0IFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay9yZWdp
b25zLXdlYnZ0dC90ZXh0LXRyYWNrLXJlZ2lvbi1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9tZWRpYS90cmFjay9yZWdpb25zLXdlYnZ0dC90ZXh0LXRyYWNrLXJlZ2lvbi1j
b25zdHJ1Y3Rvci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTY3ZmQ3M2MwYmQ2YmI0MDUyNmI5
MTZkNjVmZGIyZmIxMzZkMDJlMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21lZGlh
L3RyYWNrL3JlZ2lvbnMtd2VidnR0L3RleHQtdHJhY2stcmVnaW9uLWNvbnN0cnVjdG9yLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEyMCBAQAorVGVzdHMgdGhlIGNvbnN0cnVjdG9yIGFuZCBtdXRh
dGlvbiBvZiBUZXh0VHJhY2tSZWdpb24uCisKKyoqIFRlc3QgdGhlIGRlZmF1bHQgaW5kZXhzIG9m
IGEgcmVnaW9uLiAqKgorRVhQRUNURUQgKHJlZ2lvbi50cmFjayA9PSAnbnVsbCcpIE9LCitFWFBF
Q1RFRCAocmVnaW9uLnNjcm9sbCA9PSAnJykgT0sKK0VYUEVDVEVEIChyZWdpb24udmlld3BvcnRB
bmNob3JYID09ICcwJykgT0sKK0VYUEVDVEVEIChyZWdpb24udmlld3BvcnRBbmNob3JZID09ICcx
MDAnKSBPSworRVhQRUNURUQgKHJlZ2lvbi5yZWdpb25BbmNob3JYID09ICcwJykgT0sKK0VYUEVD
VEVEIChyZWdpb24ucmVnaW9uQW5jaG9yWSA9PSAnMTAwJykgT0sKK0VYUEVDVEVEIChyZWdpb24u
aGVpZ2h0ID09ICczJykgT0sKK0VYUEVDVEVEIChyZWdpb24ud2lkdGggPT0gJzEwMCcpIE9LCisK
KyoqIFRlc3QgdGhhdCBpbmNvcnJlY3QgbXV0YXRpb24ga2VlcHMgcHJldmlvdXMgdmFsaWQgdmFs
dWVzLiAqKgorUlVOKHJlZ2lvbi5zY3JvbGwgPSAnaW52YWxpZC1zY3JvbGwtdmFsdWUnKQorRXJy
b3I6IFN5bnRheEVycm9yOiBET00gRXhjZXB0aW9uIDEyCitFWFBFQ1RFRCAocmVnaW9uLnNjcm9s
bCA9PSAnJykgT0sKKworSW52YWxpZCBwZXJjZW50YWdlIHZhbHVlOiAtMQorUlVOKHJlZ2lvbi52
aWV3cG9ydEFuY2hvclggPSBpbnZhbGlkUGVyY2VudGFnZVZhbHVlc1tpbmRleF0pCitFcnJvcjog
SW5kZXhTaXplRXJyb3I6IERPTSBFeGNlcHRpb24gMQorRVhQRUNURUQgKHJlZ2lvbi52aWV3cG9y
dEFuY2hvclggPT0gJzAnKSBPSworUlVOKHJlZ2lvbi52aWV3cG9ydEFuY2hvclkgPSBpbnZhbGlk
UGVyY2VudGFnZVZhbHVlc1tpbmRleF0pCitFcnJvcjogSW5kZXhTaXplRXJyb3I6IERPTSBFeGNl
cHRpb24gMQorRVhQRUNURUQgKHJlZ2lvbi52aWV3cG9ydEFuY2hvclkgPT0gJzEwMCcpIE9LCitS
VU4ocmVnaW9uLnJlZ2lvbkFuY2hvclggPSBpbnZhbGlkUGVyY2VudGFnZVZhbHVlc1tpbmRleF0p
CitFcnJvcjogSW5kZXhTaXplRXJyb3I6IERPTSBFeGNlcHRpb24gMQorRVhQRUNURUQgKHJlZ2lv
bi5yZWdpb25BbmNob3JYID09ICcwJykgT0sKK1JVTihyZWdpb24ucmVnaW9uQW5jaG9yWSA9IGlu
dmFsaWRQZXJjZW50YWdlVmFsdWVzW2luZGV4XSkKK0Vycm9yOiBJbmRleFNpemVFcnJvcjogRE9N
IEV4Y2VwdGlvbiAxCitFWFBFQ1RFRCAocmVnaW9uLnJlZ2lvbkFuY2hvclkgPT0gJzEwMCcpIE9L
CitSVU4ocmVnaW9uLndpZHRoID0gaW52YWxpZFBlcmNlbnRhZ2VWYWx1ZXNbaW5kZXhdKQorRXJy
b3I6IEluZGV4U2l6ZUVycm9yOiBET00gRXhjZXB0aW9uIDEKK0VYUEVDVEVEIChyZWdpb24ud2lk
dGggPT0gJzEwMCcpIE9LCisKK0ludmFsaWQgcGVyY2VudGFnZSB2YWx1ZTogMTAxCitSVU4ocmVn
aW9uLnZpZXdwb3J0QW5jaG9yWCA9IGludmFsaWRQZXJjZW50YWdlVmFsdWVzW2luZGV4XSkKK0Vy
cm9yOiBJbmRleFNpemVFcnJvcjogRE9NIEV4Y2VwdGlvbiAxCitFWFBFQ1RFRCAocmVnaW9uLnZp
ZXdwb3J0QW5jaG9yWCA9PSAnMCcpIE9LCitSVU4ocmVnaW9uLnZpZXdwb3J0QW5jaG9yWSA9IGlu
dmFsaWRQZXJjZW50YWdlVmFsdWVzW2luZGV4XSkKK0Vycm9yOiBJbmRleFNpemVFcnJvcjogRE9N
IEV4Y2VwdGlvbiAxCitFWFBFQ1RFRCAocmVnaW9uLnZpZXdwb3J0QW5jaG9yWSA9PSAnMTAwJykg
T0sKK1JVTihyZWdpb24ucmVnaW9uQW5jaG9yWCA9IGludmFsaWRQZXJjZW50YWdlVmFsdWVzW2lu
ZGV4XSkKK0Vycm9yOiBJbmRleFNpemVFcnJvcjogRE9NIEV4Y2VwdGlvbiAxCitFWFBFQ1RFRCAo
cmVnaW9uLnJlZ2lvbkFuY2hvclggPT0gJzAnKSBPSworUlVOKHJlZ2lvbi5yZWdpb25BbmNob3JZ
ID0gaW52YWxpZFBlcmNlbnRhZ2VWYWx1ZXNbaW5kZXhdKQorRXJyb3I6IEluZGV4U2l6ZUVycm9y
OiBET00gRXhjZXB0aW9uIDEKK0VYUEVDVEVEIChyZWdpb24ucmVnaW9uQW5jaG9yWSA9PSAnMTAw
JykgT0sKK1JVTihyZWdpb24ud2lkdGggPSBpbnZhbGlkUGVyY2VudGFnZVZhbHVlc1tpbmRleF0p
CitFcnJvcjogSW5kZXhTaXplRXJyb3I6IERPTSBFeGNlcHRpb24gMQorRVhQRUNURUQgKHJlZ2lv
bi53aWR0aCA9PSAnMTAwJykgT0sKKworSW52YWxpZCBwZXJjZW50YWdlIHZhbHVlOiAtSW5maW5p
dHkKK1JVTihyZWdpb24udmlld3BvcnRBbmNob3JYID0gaW52YWxpZFBlcmNlbnRhZ2VWYWx1ZXNb
aW5kZXhdKQorVHlwZUVycm9yOiBUeXBlIGVycm9yCitFWFBFQ1RFRCAocmVnaW9uLnZpZXdwb3J0
QW5jaG9yWCA9PSAnMCcpIE9LCitSVU4ocmVnaW9uLnZpZXdwb3J0QW5jaG9yWSA9IGludmFsaWRQ
ZXJjZW50YWdlVmFsdWVzW2luZGV4XSkKK1R5cGVFcnJvcjogVHlwZSBlcnJvcgorRVhQRUNURUQg
KHJlZ2lvbi52aWV3cG9ydEFuY2hvclkgPT0gJzEwMCcpIE9LCitSVU4ocmVnaW9uLnJlZ2lvbkFu
Y2hvclggPSBpbnZhbGlkUGVyY2VudGFnZVZhbHVlc1tpbmRleF0pCitUeXBlRXJyb3I6IFR5cGUg
ZXJyb3IKK0VYUEVDVEVEIChyZWdpb24ucmVnaW9uQW5jaG9yWCA9PSAnMCcpIE9LCitSVU4ocmVn
aW9uLnJlZ2lvbkFuY2hvclkgPSBpbnZhbGlkUGVyY2VudGFnZVZhbHVlc1tpbmRleF0pCitUeXBl
RXJyb3I6IFR5cGUgZXJyb3IKK0VYUEVDVEVEIChyZWdpb24ucmVnaW9uQW5jaG9yWSA9PSAnMTAw
JykgT0sKK1JVTihyZWdpb24ud2lkdGggPSBpbnZhbGlkUGVyY2VudGFnZVZhbHVlc1tpbmRleF0p
CitUeXBlRXJyb3I6IFR5cGUgZXJyb3IKK0VYUEVDVEVEIChyZWdpb24ud2lkdGggPT0gJzEwMCcp
IE9LCisKK0ludmFsaWQgcGVyY2VudGFnZSB2YWx1ZTogSW5maW5pdHkKK1JVTihyZWdpb24udmll
d3BvcnRBbmNob3JYID0gaW52YWxpZFBlcmNlbnRhZ2VWYWx1ZXNbaW5kZXhdKQorVHlwZUVycm9y
OiBUeXBlIGVycm9yCitFWFBFQ1RFRCAocmVnaW9uLnZpZXdwb3J0QW5jaG9yWCA9PSAnMCcpIE9L
CitSVU4ocmVnaW9uLnZpZXdwb3J0QW5jaG9yWSA9IGludmFsaWRQZXJjZW50YWdlVmFsdWVzW2lu
ZGV4XSkKK1R5cGVFcnJvcjogVHlwZSBlcnJvcgorRVhQRUNURUQgKHJlZ2lvbi52aWV3cG9ydEFu
Y2hvclkgPT0gJzEwMCcpIE9LCitSVU4ocmVnaW9uLnJlZ2lvbkFuY2hvclggPSBpbnZhbGlkUGVy
Y2VudGFnZVZhbHVlc1tpbmRleF0pCitUeXBlRXJyb3I6IFR5cGUgZXJyb3IKK0VYUEVDVEVEIChy
ZWdpb24ucmVnaW9uQW5jaG9yWCA9PSAnMCcpIE9LCitSVU4ocmVnaW9uLnJlZ2lvbkFuY2hvclkg
PSBpbnZhbGlkUGVyY2VudGFnZVZhbHVlc1tpbmRleF0pCitUeXBlRXJyb3I6IFR5cGUgZXJyb3IK
K0VYUEVDVEVEIChyZWdpb24ucmVnaW9uQW5jaG9yWSA9PSAnMTAwJykgT0sKK1JVTihyZWdpb24u
d2lkdGggPSBpbnZhbGlkUGVyY2VudGFnZVZhbHVlc1tpbmRleF0pCitUeXBlRXJyb3I6IFR5cGUg
ZXJyb3IKK0VYUEVDVEVEIChyZWdpb24ud2lkdGggPT0gJzEwMCcpIE9LCisKK0ludmFsaWQgcGVy
Y2VudGFnZSB2YWx1ZTogTmFOCitSVU4ocmVnaW9uLnZpZXdwb3J0QW5jaG9yWCA9IGludmFsaWRQ
ZXJjZW50YWdlVmFsdWVzW2luZGV4XSkKK1R5cGVFcnJvcjogVHlwZSBlcnJvcgorRVhQRUNURUQg
KHJlZ2lvbi52aWV3cG9ydEFuY2hvclggPT0gJzAnKSBPSworUlVOKHJlZ2lvbi52aWV3cG9ydEFu
Y2hvclkgPSBpbnZhbGlkUGVyY2VudGFnZVZhbHVlc1tpbmRleF0pCitUeXBlRXJyb3I6IFR5cGUg
ZXJyb3IKK0VYUEVDVEVEIChyZWdpb24udmlld3BvcnRBbmNob3JZID09ICcxMDAnKSBPSworUlVO
KHJlZ2lvbi5yZWdpb25BbmNob3JYID0gaW52YWxpZFBlcmNlbnRhZ2VWYWx1ZXNbaW5kZXhdKQor
VHlwZUVycm9yOiBUeXBlIGVycm9yCitFWFBFQ1RFRCAocmVnaW9uLnJlZ2lvbkFuY2hvclggPT0g
JzAnKSBPSworUlVOKHJlZ2lvbi5yZWdpb25BbmNob3JZID0gaW52YWxpZFBlcmNlbnRhZ2VWYWx1
ZXNbaW5kZXhdKQorVHlwZUVycm9yOiBUeXBlIGVycm9yCitFWFBFQ1RFRCAocmVnaW9uLnJlZ2lv
bkFuY2hvclkgPT0gJzEwMCcpIE9LCitSVU4ocmVnaW9uLndpZHRoID0gaW52YWxpZFBlcmNlbnRh
Z2VWYWx1ZXNbaW5kZXhdKQorVHlwZUVycm9yOiBUeXBlIGVycm9yCitFWFBFQ1RFRCAocmVnaW9u
LndpZHRoID09ICcxMDAnKSBPSworUlVOKHJlZ2lvbi5oZWlnaHQgPSAtMSkKK0Vycm9yOiBJbmRl
eFNpemVFcnJvcjogRE9NIEV4Y2VwdGlvbiAxCitFWFBFQ1RFRCAocmVnaW9uLmhlaWdodCA9PSAn
MycpIE9LCisKKyoqIFRlc3QgdGhhdCBwcm9wZXIgbXV0YXRpb24ga2VlcHMgYXNzaWduZWQgdmFs
dWUuICoqCitSVU4ocmVnaW9uLmhlaWdodCA9IDEzMCkKK0VYUEVDVEVEIChyZWdpb24uaGVpZ2h0
ID09ICcxMzAnKSBPSworUlVOKHJlZ2lvbi52aWV3cG9ydEFuY2hvclggPSA2NCkKK0VYUEVDVEVE
IChyZWdpb24udmlld3BvcnRBbmNob3JYID09ICc2NCcpIE9LCitSVU4ocmVnaW9uLnZpZXdwb3J0
QW5jaG9yWSA9IDMyKQorRVhQRUNURUQgKHJlZ2lvbi52aWV3cG9ydEFuY2hvclkgPT0gJzMyJykg
T0sKK1JVTihyZWdpb24ucmVnaW9uQW5jaG9yWCA9IDE2KQorRVhQRUNURUQgKHJlZ2lvbi5yZWdp
b25BbmNob3JYID09ICcxNicpIE9LCitSVU4ocmVnaW9uLnJlZ2lvbkFuY2hvclkgPSA4KQorRVhQ
RUNURUQgKHJlZ2lvbi5yZWdpb25BbmNob3JZID09ICc4JykgT0sKK1JVTihyZWdpb24ud2lkdGgg
PSA0MikKK0VYUEVDVEVEIChyZWdpb24ud2lkdGggPT0gJzQyJykgT0sKK0VORCBPRiBURVNUCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3JlZ2lvbnMtd2VidnR0L3RleHQt
dHJhY2stcmVnaW9uLWNvbnN0cnVjdG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay9y
ZWdpb25zLXdlYnZ0dC90ZXh0LXRyYWNrLXJlZ2lvbi1jb25zdHJ1Y3Rvci5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmZhZTM3OWJjNGViODc1Y2Y0OWFmZjQ5ZTY2NGI1MmExMmM5ZmU5YTgKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay9yZWdpb25zLXdlYnZ0dC90ZXh0LXRyYWNr
LXJlZ2lvbi1jb25zdHJ1Y3Rvci5odG1sCkBAIC0wLDAgKzEsNzcgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQt
VHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04IiAvPgorCisgICAgICAgIDxz
Y3JpcHQgc3JjPS4uLy4uL21lZGlhLWZpbGUuanM+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPS4uLy4uL3ZpZGVvLXRlc3QuanM+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQ+CisgICAg
ICAgICAgICB2YXIgcmVnaW9uOworICAgICAgICAgICAgdmFyIGludmFsaWRQZXJjZW50YWdlVmFs
dWVzOworCisgICAgICAgICAgICBmdW5jdGlvbiBzdGFydFRlc3QoKQorICAgICAgICAgICAgewor
ICAgICAgICAgICAgICAgIGlmICghd2luZG93LlRleHRUcmFja1JlZ2lvbikgeworICAgICAgICAg
ICAgICAgICAgICBmYWlsVGVzdCgpOworICAgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAg
ICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgcmVnaW9uID0gbmV3IFRleHRUcmFja1Jl
Z2lvbigpOworCisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCIqKiBUZXN0IHRoZSBkZWZh
dWx0IGluZGV4cyBvZiBhIHJlZ2lvbi4gKioiKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0
ZWQoInJlZ2lvbi50cmFjayIsIG51bGwpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgi
cmVnaW9uLnNjcm9sbCIsICIiKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInJlZ2lv
bi52aWV3cG9ydEFuY2hvclgiLCAwKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInJl
Z2lvbi52aWV3cG9ydEFuY2hvclkiLCAxMDApOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3Rl
ZCgicmVnaW9uLnJlZ2lvbkFuY2hvclgiLCAwKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0
ZWQoInJlZ2lvbi5yZWdpb25BbmNob3JZIiwgMTAwKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhw
ZWN0ZWQoInJlZ2lvbi5oZWlnaHQiLCAzKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQo
InJlZ2lvbi53aWR0aCIsIDEwMCk7CisKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIjxi
cj4qKiBUZXN0IHRoYXQgaW5jb3JyZWN0IG11dGF0aW9uIGtlZXBzIHByZXZpb3VzIHZhbGlkIHZh
bHVlcy4gKioiKTsKKyAgICAgICAgICAgICAgICBydW4oInJlZ2lvbi5zY3JvbGwgPSAnaW52YWxp
ZC1zY3JvbGwtdmFsdWUnIik7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJyZWdpb24u
c2Nyb2xsIiwgIiIpOworCisgICAgICAgICAgICAgICAgaW52YWxpZFBlcmNlbnRhZ2VWYWx1ZXMg
PSBbLTEsIDEwMSwgLUluZmluaXR5LCBJbmZpbml0eSwgTmFOXTsKKyAgICAgICAgICAgICAgICBm
b3IgKGluZGV4IGluIGludmFsaWRQZXJjZW50YWdlVmFsdWVzKSB7CisgICAgICAgICAgICAgICAg
ICBjb25zb2xlV3JpdGUoIjxicj5JbnZhbGlkIHBlcmNlbnRhZ2UgdmFsdWU6ICIgKyBpbnZhbGlk
UGVyY2VudGFnZVZhbHVlc1tpbmRleF0pOworICAgICAgICAgICAgICAgICAgcnVuKCJyZWdpb24u
dmlld3BvcnRBbmNob3JYID0gaW52YWxpZFBlcmNlbnRhZ2VWYWx1ZXNbaW5kZXhdIik7CisgICAg
ICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInJlZ2lvbi52aWV3cG9ydEFuY2hvclgiLCAwKTsK
KyAgICAgICAgICAgICAgICAgIHJ1bigicmVnaW9uLnZpZXdwb3J0QW5jaG9yWSA9IGludmFsaWRQ
ZXJjZW50YWdlVmFsdWVzW2luZGV4XSIpOworICAgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVk
KCJyZWdpb24udmlld3BvcnRBbmNob3JZIiwgMTAwKTsKKyAgICAgICAgICAgICAgICAgIHJ1bigi
cmVnaW9uLnJlZ2lvbkFuY2hvclggPSBpbnZhbGlkUGVyY2VudGFnZVZhbHVlc1tpbmRleF0iKTsK
KyAgICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgicmVnaW9uLnJlZ2lvbkFuY2hvclgiLCAw
KTsKKyAgICAgICAgICAgICAgICAgIHJ1bigicmVnaW9uLnJlZ2lvbkFuY2hvclkgPSBpbnZhbGlk
UGVyY2VudGFnZVZhbHVlc1tpbmRleF0iKTsKKyAgICAgICAgICAgICAgICAgIHRlc3RFeHBlY3Rl
ZCgicmVnaW9uLnJlZ2lvbkFuY2hvclkiLCAxMDApOworICAgICAgICAgICAgICAgICAgcnVuKCJy
ZWdpb24ud2lkdGggPSBpbnZhbGlkUGVyY2VudGFnZVZhbHVlc1tpbmRleF0iKTsKKyAgICAgICAg
ICAgICAgICAgIHRlc3RFeHBlY3RlZCgicmVnaW9uLndpZHRoIiwgMTAwKTsKKyAgICAgICAgICAg
ICAgICB9CisKKyAgICAgICAgICAgICAgICBydW4oInJlZ2lvbi5oZWlnaHQgPSAtMSIpOworICAg
ICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgicmVnaW9uLmhlaWdodCIsIDMpOworCisgICAgICAg
ICAgICAgICAgY29uc29sZVdyaXRlKCI8YnI+KiogVGVzdCB0aGF0IHByb3BlciBtdXRhdGlvbiBr
ZWVwcyBhc3NpZ25lZCB2YWx1ZS4gKioiKTsKKyAgICAgICAgICAgICAgICBydW4oInJlZ2lvbi5o
ZWlnaHQgPSAxMzAiKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInJlZ2lvbi5oZWln
aHQiLCAxMzApOworCisgICAgICAgICAgICAgICAgcnVuKCJyZWdpb24udmlld3BvcnRBbmNob3JY
ID0gNjQiKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInJlZ2lvbi52aWV3cG9ydEFu
Y2hvclgiLCA2NCk7CisgICAgICAgICAgICAgICAgcnVuKCJyZWdpb24udmlld3BvcnRBbmNob3JZ
ID0gMzIiKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInJlZ2lvbi52aWV3cG9ydEFu
Y2hvclkiLCAzMik7CisgICAgICAgICAgICAgICAgcnVuKCJyZWdpb24ucmVnaW9uQW5jaG9yWCA9
IDE2Iik7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJyZWdpb24ucmVnaW9uQW5jaG9y
WCIsIDE2KTsKKyAgICAgICAgICAgICAgICBydW4oInJlZ2lvbi5yZWdpb25BbmNob3JZID0gOCIp
OworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgicmVnaW9uLnJlZ2lvbkFuY2hvclkiLCA4
KTsKKworICAgICAgICAgICAgICAgIHJ1bigicmVnaW9uLndpZHRoID0gNDIiKTsKKyAgICAgICAg
ICAgICAgICB0ZXN0RXhwZWN0ZWQoInJlZ2lvbi53aWR0aCIsIDQyKTsKKworICAgICAgICAgICAg
ICAgIGVuZFRlc3QoKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICA8L3NjcmlwdD4KKyAgICA8
L2hlYWQ+CisgICAgPGJvZHkgb25sb2FkPSJzdGFydFRlc3QoKSI+CisgICAgICAgIDxwPlRlc3Rz
IHRoZSBjb25zdHJ1Y3RvciBhbmQgbXV0YXRpb24gb2YgVGV4dFRyYWNrUmVnaW9uLjwvcD4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191848</attachid>
            <date>2013-03-06 15:20:29 -0800</date>
            <delta_ts>2013-03-07 01:08:18 -0800</delta_ts>
            <desc>Changed to FloatSize</desc>
            <filename>bug-110511-20130307011633.patch</filename>
            <type>text/plain</type>
            <size>27451</size>
            <attacher name="Victor Carbune">vcarbune</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0ODgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2ZhMDM4YzAwYzRiMzcw
MTk2MzE0MGI5MTljOWM2OTAwNTMzNTc3Ny4uZGJmOTcyYWZiOGVjZWJkNTUyZDBlZDIxMmUzZWM1
Nzg4YzlhMjkwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDEzLTAzLTA2ICBWaWN0
b3IgQ2FyYnVuZSAgPHZjYXJidW5lQGNocm9taXVtLm9yZz4KKworICAgICAgICBUZXh0VHJhY2tS
ZWdpb24gQ29uc3RydWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTExMDUxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoaXMgaXMgYW4gaW5pdGlhbCBwYXRjaCBmb3IgaW1wbGVtZW50aW5nIHRoZSBU
ZXh0VHJhY2tSZWdpb24KKyAgICAgICAgZGVmaW5lZCBpbiB0aGUgIldlYlZUVCBFeHRlbnNpb246
IFJlZ2lvbnMgZm9yIHJlbmRlcmluZyBjdWUgZ3JvdXBzIjoKKyAgICAgICAgaHR0cHM6Ly9kdmNz
LnczLm9yZy9oZy90ZXh0LXRyYWNrcy9yYXctZmlsZS9kZWZhdWx0LzYwOHRvVlRUL3JlZ2lvbi5o
dG1sCisKKyAgICAgICAgVGhlIGZlYXR1cmUgY29tcG9uZW50cyBhcmUgaGlkZGVuIGJlaGluZCB0
aGUgV0VCVlRUX1JFR0lPTlMgZmxhZworICAgICAgICBhbmQgaXMgY3VycmVudGx5IGRpc2FibGVk
IGJ5IGRlZmF1bHQgaW4gYWxsIHBvcnRzIGFuZCB0ZXN0cyBza2lwcGVkLgorCisgICAgICAgIFRl
c3Q6IG1lZGlhL3RyYWNrL3JlZ2lvbnMtd2VidnR0L3RleHQtdHJhY2stcmVnaW9uLWNvbnN0cnVj
dG9yLmh0bWwKKworICAgICAgICAqIFdlYkNvcmUuZ3lwaTogQWRkZWQgZmlsZXMgdG8gYmUgaW5j
bHVkZWQgZm9yIGJ1aWxkaW5nIENocm9taXVtIHdpdGgKKyAgICAgICAgZmVhdHVyZSBlbmFibGVk
IChpdCBpcyBkaXNhYmxlZCBieSBkZWZhdWx0KS4KKyAgICAgICAgKiBodG1sL3RyYWNrL1RleHRU
cmFja1JlZ2lvbi5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJD
b3JlOjpUZXh0VHJhY2tSZWdpb246OlRleHRUcmFja1JlZ2lvbik6CisgICAgICAgIChXZWJDb3Jl
OjpUZXh0VHJhY2tSZWdpb246On5UZXh0VHJhY2tSZWdpb24pOgorICAgICAgICAoV2ViQ29yZTo6
VGV4dFRyYWNrUmVnaW9uOjpzZXRJZCk6IFNldHRlci4KKyAgICAgICAgKFdlYkNvcmU6OlRleHRU
cmFja1JlZ2lvbjo6c2V0V2lkdGgpOiBTZXR0ZXIuCisgICAgICAgIChXZWJDb3JlOjpUZXh0VHJh
Y2tSZWdpb246OnNldEhlaWdodCk6IFNldHRlci4KKyAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFj
a1JlZ2lvbjo6c2V0UmVnaW9uQW5jaG9yWCk6IFNldHRlci4KKyAgICAgICAgKFdlYkNvcmU6OlRl
eHRUcmFja1JlZ2lvbjo6c2V0UmVnaW9uQW5jaG9yWSk6IFNldHRlci4KKyAgICAgICAgKFdlYkNv
cmU6OlRleHRUcmFja1JlZ2lvbjo6c2V0Vmlld3BvcnRBbmNob3JYKTogU2V0dGVyLgorICAgICAg
ICAoV2ViQ29yZTo6VGV4dFRyYWNrUmVnaW9uOjpzZXRWaWV3cG9ydEFuY2hvclkpOiBTZXR0ZXIu
CisgICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tSZWdpb246OnNjcm9sbCk6IEdldHRlci4gSW50
ZXJuYWxseSwgdGhlIHNjcm9sbAorICAgICAgICB2YWx1ZSBpcyBzdG9yZWQgYXMgYSBib29sZWFu
LCBidXQgd2hlbiByZXR1cm5lZCBpcyBjb252ZXJ0ZWQgdG8gZWl0aGVyCisgICAgICAgIHRoZSBl
bXB0eSBzdHJpbmcgb3IgInVwIi4KKyAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFja1JlZ2lvbjo6
c2V0U2Nyb2xsKTogU2V0dGVyLgorICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrUmVnaW9uOjpz
ZXRSZWdpb25TZXR0aW5ncyk6IE5vdCB1c2VkIHlldCAoc2VlIGIvMTA5ODE4KQorICAgICAgICAo
V2ViQ29yZTo6VGV4dFRyYWNrUmVnaW9uOjpnZXRTZXR0aW5nRnJvbVN0cmluZyk6IE5vdCB1c2Vk
IHlldCAoc2VlIGIvMTA5ODE4KQorICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrUmVnaW9uOjpw
YXJzZVNldHRpbmdWYWx1ZSk6IE5vdCB1c2VkIHlldCAoc2VlIGIvMTA5ODE4KQorICAgICAgICAo
V2ViQ29yZTo6VGV4dFRyYWNrUmVnaW9uOjpwYXJzZVNldHRpbmcpOiBOb3QgdXNlZCB5ZXQgKHNl
ZSBiLzEwOTgxOCkKKyAgICAgICAgKiBodG1sL3RyYWNrL1RleHRUcmFja1JlZ2lvbi5oOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoVGV4dFRyYWNrUmVnaW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6OlRleHRUcmFja1JlZ2lvbjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6
OlRleHRUcmFja1JlZ2lvbjo6dHJhY2spOiBHZXR0ZXIuCisgICAgICAgIChXZWJDb3JlOjpUZXh0
VHJhY2tSZWdpb246OmlkKTogR2V0dGVyLgorICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrUmVn
aW9uOjp3aWR0aCk6IEdldHRlci4KKyAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFja1JlZ2lvbjo6
aGVpZ2h0KTogR2V0dGVyLgorICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrUmVnaW9uOjpyZWdp
b25BbmNob3JYKTogR2V0dGVyLgorICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrUmVnaW9uOjpy
ZWdpb25BbmNob3JZKTogR2V0dGVyLgorICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrUmVnaW9u
Ojp2aWV3cG9ydEFuY2hvclgpOiBHZXR0ZXIuCisgICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tS
ZWdpb246OnZpZXdwb3J0QW5jaG9yWSk6IEdldHRlci4KKyAgICAgICAgKFdlYkNvcmU6OlRleHRU
cmFja1JlZ2lvbjo6cmVnaW9uU2V0dGluZ3MpOiBHZXR0ZXIsIHVzZWQgb25seSBpbnRlcm5hbGx5
IChzZWUgYi8xMDk4MTgpLgorICAgICAgICAqIGh0bWwvdHJhY2svVGV4dFRyYWNrUmVnaW9uLmlk
bDogQWRkZWQuCisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaWRsOiBDb25zdHJ1Y3RvciBzdXBw
b3J0LgorCiAyMDEzLTAzLTA1ICBIYXlhdG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBbU2hhZG93XSBJbXBsZW1lbnRzIGV2ZW50IHJlLXRhcmdldGluZyBmb3IgVG91Y2gg
RXZlbnRzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDRmZDlkYjdlMzJjZjM4NjEzM2VmMWUxZmI4OGRj
MTA5MDU1N2UyZDQuLmExZDFhNGUyZmFiMjNlOWNhZThkNmRmZmNhY2E0NzBmYjk2YWRmMjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKQEAgLTQ5OCw2ICs0OTgsNyBAQAogICAgICAgICAgICAgJ2h0bWwvdHJh
Y2svVGV4dFRyYWNrQ3VlTGlzdC5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvdHJhY2svVGV4dFRy
YWNrTGlzdC5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvdHJhY2svVHJhY2tFdmVudC5pZGwnLAor
ICAgICAgICAgICAgJ2h0bWwvdHJhY2svVGV4dFRyYWNrUmVnaW9uLmlkbCcsCiAgICAgICAgICAg
ICAnaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0SG9zdC5pZGwnLAogICAgICAgICAgICAgJ2luc3Bl
Y3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaWRsJywKICAgICAgICAgICAgICdpbnNwZWN0b3Iv
SmF2YVNjcmlwdENhbGxGcmFtZS5pZGwnLApAQCAtMzYwNSw2ICszNjA2LDggQEAKICAgICAgICAg
ICAgICdodG1sL3RyYWNrL1RleHRUcmFja0N1ZUxpc3QuY3BwJywKICAgICAgICAgICAgICdodG1s
L3RyYWNrL1RleHRUcmFja0N1ZUxpc3QuaCcsCiAgICAgICAgICAgICAnaHRtbC90cmFjay9UZXh0
VHJhY2tMaXN0LmNwcCcsCisgICAgICAgICAgICAnaHRtbC90cmFjay9UZXh0VHJhY2tSZWdpb24u
Y3BwJywKKyAgICAgICAgICAgICdodG1sL3RyYWNrL1RleHRUcmFja1JlZ2lvbi5oJywKICAgICAg
ICAgICAgICdodG1sL3RyYWNrL1RyYWNrQmFzZS5jcHAnLAogICAgICAgICAgICAgJ2h0bWwvdHJh
Y2svVHJhY2tFdmVudC5jcHAnLAogICAgICAgICAgICAgJ2h0bWwvdHJhY2svV2ViVlRURWxlbWVu
dC5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tS
ZWdpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tSZWdpb24uY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjNlYThmMjgyNzhlYzFlMDhlYjFlM2JjMGI4OGI1ZWYzNmExZDQyYTMKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFja1JlZ2lv
bi5jcHAKQEAgLTAsMCArMSwyMDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xl
IEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBl
YyBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
CisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShW
SURFT19UUkFDSykgJiYgRU5BQkxFKFdFQlZUVF9SRUdJT05TKQorCisjaW5jbHVkZSAiVGV4dFRy
YWNrUmVnaW9uLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworLy8gVGhlIHJlZ2lvbiBvY2N1
cGllcyBieSBkZWZhdWx0IDEwMCUgb2YgdGhlIHdpZHRoIG9mIHRoZSB2aWRlbyB2aWV3cG9ydC4K
K3N0YXRpYyBjb25zdCBpbnQgZGVmYXVsdFdpZHRoID0gMTAwOworCisvLyBUaGUgcmVnaW9uIGhh
cywgYnkgZGVmYXVsdCwgMyBsaW5lcyBvZiB0ZXh0Lgorc3RhdGljIGNvbnN0IGludCBkZWZhdWx0
SGVpZ2h0SW5MaW5lcyA9IDM7CisKKy8vIFRoZSByZWdpb24gaXMgYW5jaG9yZWQgaW4gdGhlIGJv
dHRvbSBsZWZ0IGNvcm5lci4KK3N0YXRpYyBjb25zdCBpbnQgZGVmYXVsdEFuY2hvclBvaW50WCA9
IDA7CitzdGF0aWMgY29uc3QgaW50IGRlZmF1bHRBbmNob3JQb2ludFkgPSAxMDA7CisKKy8vIFRo
ZSByZWdpb24gZG9lc24ndCBoYXZlIHNjcm9sbGluZyB0ZXh0LCBieSBkZWZhdWx0Lgorc3RhdGlj
IGNvbnN0IGludCBkZWZhdWx0U2Nyb2xsID0gZmFsc2U7CisKK1RleHRUcmFja1JlZ2lvbjo6VGV4
dFRyYWNrUmVnaW9uKCkKKyAgICA6IG1faWQoZW1wdHlTdHJpbmcoKSkKKyAgICAsIG1fd2lkdGgo
ZGVmYXVsdFdpZHRoKQorICAgICwgbV9oZWlnaHRJbkxpbmVzKGRlZmF1bHRIZWlnaHRJbkxpbmVz
KQorICAgICwgbV9yZWdpb25BbmNob3IoRmxvYXRTaXplKGRlZmF1bHRBbmNob3JQb2ludFgsIGRl
ZmF1bHRBbmNob3JQb2ludFkpKQorICAgICwgbV92aWV3cG9ydEFuY2hvcihGbG9hdFNpemUoZGVm
YXVsdEFuY2hvclBvaW50WCwgZGVmYXVsdEFuY2hvclBvaW50WSkpCisgICAgLCBtX3Njcm9sbChk
ZWZhdWx0U2Nyb2xsKQoreworfQorCitUZXh0VHJhY2tSZWdpb246On5UZXh0VHJhY2tSZWdpb24o
KQoreworfQorCit2b2lkIFRleHRUcmFja1JlZ2lvbjo6c2V0SWQoY29uc3QgU3RyaW5nJiBpZCkK
K3sKKyAgICBtX2lkID0gaWQ7Cit9CisKK3ZvaWQgVGV4dFRyYWNrUmVnaW9uOjpzZXRXaWR0aChk
b3VibGUgdmFsdWUsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlmIChzdGQ6OmlzaW5mKHZh
bHVlKSB8fCBzdGQ6OmlzbmFuKHZhbHVlKSkgeworICAgICAgICBlYyA9IFR5cGVFcnJvcjsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmICh2YWx1ZSA8IDAgfHwgdmFsdWUgPiAxMDAp
IHsKKyAgICAgICAgZWMgPSBJTkRFWF9TSVpFX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KworICAgIG1fd2lkdGggPSB2YWx1ZTsKK30KKwordm9pZCBUZXh0VHJhY2tSZWdpb246OnNldEhl
aWdodChsb25nIHZhbHVlLCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAodmFsdWUgPCAw
KSB7CisgICAgICAgIGVjID0gSU5ERVhfU0laRV9FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9
CisKKyAgICBtX2hlaWdodEluTGluZXMgPSB2YWx1ZTsKK30KKwordm9pZCBUZXh0VHJhY2tSZWdp
b246OnNldFJlZ2lvbkFuY2hvclgoZG91YmxlIHZhbHVlLCBFeGNlcHRpb25Db2RlJiBlYykKK3sK
KyAgICBpZiAoc3RkOjppc2luZih2YWx1ZSkgfHwgc3RkOjppc25hbih2YWx1ZSkpIHsKKyAgICAg
ICAgZWMgPSBUeXBlRXJyb3I7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAodmFs
dWUgPCAwIHx8IHZhbHVlID4gMTAwKSB7CisgICAgICAgIGVjID0gSU5ERVhfU0laRV9FUlI7Cisg
ICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBtX3JlZ2lvbkFuY2hvci5zZXRXaWR0aCh2YWx1
ZSk7Cit9CisKK3ZvaWQgVGV4dFRyYWNrUmVnaW9uOjpzZXRSZWdpb25BbmNob3JZKGRvdWJsZSB2
YWx1ZSwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKHN0ZDo6aXNpbmYodmFsdWUpIHx8
IHN0ZDo6aXNuYW4odmFsdWUpKSB7CisgICAgICAgIGVjID0gVHlwZUVycm9yOworICAgICAgICBy
ZXR1cm47CisgICAgfQorCisgICAgaWYgKHZhbHVlIDwgMCB8fCB2YWx1ZSA+IDEwMCkgeworICAg
ICAgICBlYyA9IElOREVYX1NJWkVfRVJSOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAg
bV9yZWdpb25BbmNob3Iuc2V0SGVpZ2h0KHZhbHVlKTsKK30KKwordm9pZCBUZXh0VHJhY2tSZWdp
b246OnNldFZpZXdwb3J0QW5jaG9yWChkb3VibGUgdmFsdWUsIEV4Y2VwdGlvbkNvZGUmIGVjKQor
eworICAgIGlmIChzdGQ6OmlzaW5mKHZhbHVlKSB8fCBzdGQ6OmlzbmFuKHZhbHVlKSkgeworICAg
ICAgICBlYyA9IFR5cGVFcnJvcjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmICh2
YWx1ZSA8IDAgfHwgdmFsdWUgPiAxMDApIHsKKyAgICAgICAgZWMgPSBJTkRFWF9TSVpFX0VSUjsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIG1fdmlld3BvcnRBbmNob3Iuc2V0V2lkdGgo
dmFsdWUpOworfQorCit2b2lkIFRleHRUcmFja1JlZ2lvbjo6c2V0Vmlld3BvcnRBbmNob3JZKGRv
dWJsZSB2YWx1ZSwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKHN0ZDo6aXNpbmYodmFs
dWUpIHx8IHN0ZDo6aXNuYW4odmFsdWUpKSB7CisgICAgICAgIGVjID0gVHlwZUVycm9yOworICAg
ICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKHZhbHVlIDwgMCB8fCB2YWx1ZSA+IDEwMCkg
eworICAgICAgICBlYyA9IElOREVYX1NJWkVfRVJSOworICAgICAgICByZXR1cm47CisgICAgfQor
CisgICAgbV92aWV3cG9ydEFuY2hvci5zZXRIZWlnaHQodmFsdWUpOworfQorCitjb25zdCBBdG9t
aWNTdHJpbmcgVGV4dFRyYWNrUmVnaW9uOjpzY3JvbGwoKSBjb25zdAoreworICAgIERFRklORV9T
VEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCB1cFNjcm9sbFZhbHVlS2V5d29yZCwgKCJ1
cCIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKKworICAgIGlmIChtX3Nj
cm9sbCkKKyAgICAgICAgcmV0dXJuIHVwU2Nyb2xsVmFsdWVLZXl3b3JkOworCisgICAgcmV0dXJu
ICIiOworfQorCit2b2lkIFRleHRUcmFja1JlZ2lvbjo6c2V0U2Nyb2xsKGNvbnN0IEF0b21pY1N0
cmluZyYgdmFsdWUsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIERFRklORV9TVEFUSUNfTE9D
QUwoY29uc3QgQXRvbWljU3RyaW5nLCB1cFNjcm9sbFZhbHVlS2V5d29yZCwgKCJ1cCIsIEF0b21p
Y1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKKworICAgIGlmICh2YWx1ZSAhPSBlbXB0
eVN0cmluZygpICYmIHZhbHVlICE9IHVwU2Nyb2xsVmFsdWVLZXl3b3JkKSB7CisgICAgICAgIGVj
ID0gU1lOVEFYX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIG1fc2Nyb2xsID0g
dmFsdWUgPT0gdXBTY3JvbGxWYWx1ZUtleXdvcmQ7Cit9CisKK3ZvaWQgVGV4dFRyYWNrUmVnaW9u
OjpzZXRSZWdpb25TZXR0aW5ncyhjb25zdCBTdHJpbmcmIGlucHV0KQoreworICAgIC8vIEZJWE1F
KDEwOTgxOCk6IFBhcnNlIHJlZ2lvbiBoZWFkZXIgbWV0YWRhdGEuCit9CisKK1RleHRUcmFja1Jl
Z2lvbjo6UmVnaW9uU2V0dGluZyBUZXh0VHJhY2tSZWdpb246OmdldFNldHRpbmdGcm9tU3RyaW5n
KGNvbnN0IFN0cmluZyYgc2V0dGluZykKK3sKKyAgICAvLyBGSVhNRSgxMDk4MTgpOiBQYXJzZSBy
ZWdpb24gaGVhZGVyIG1ldGFkYXRhLgorICAgIHJldHVybiBOb25lOworfQorCit2b2lkIFRleHRU
cmFja1JlZ2lvbjo6cGFyc2VTZXR0aW5nVmFsdWUoUmVnaW9uU2V0dGluZyBzZXR0aW5nLCBjb25z
dCBTdHJpbmcmIHZhbHVlKQoreworICAgIC8vIEZJWE1FKDEwOTgxOCk6IFBhcnNlIHJlZ2lvbiBo
ZWFkZXIgbWV0YWRhdGEuCit9CisKK3ZvaWQgVGV4dFRyYWNrUmVnaW9uOjpwYXJzZVNldHRpbmco
Y29uc3QgU3RyaW5nJiBpbnB1dCwgdW5zaWduZWQqIHBvc2l0aW9uKQoreworICAgIC8vIEZJWE1F
KDEwOTgxOCk6IFBhcnNlIHJlZ2lvbiBoZWFkZXIgbWV0YWRhdGEuCit9CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3Ry
YWNrL1RleHRUcmFja1JlZ2lvbi5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJh
Y2tSZWdpb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjMwNTU5MDA4Mzg2MzlhMmFkNjg4MDFiNjVmNzI5YTk4
MzViY2E5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0
VHJhY2tSZWdpb24uaApAQCAtMCwwICsxLDEwNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MyBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwor
ICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFRleHRUcmFja1JlZ2lvbl9o
CisjZGVmaW5lIFRleHRUcmFja1JlZ2lvbl9oCisKKyNpZiBFTkFCTEUoVklERU9fVFJBQ0spICYm
IEVOQUJMRShXRUJWVFRfUkVHSU9OUykKKworI2luY2x1ZGUgIkZsb2F0U2l6ZS5oIgorI2luY2x1
ZGUgIlRleHRUcmFjay5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CisjaW5jbHVkZSA8
d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBUZXh0VHJh
Y2tSZWdpb24gOiBwdWJsaWMgUmVmQ291bnRlZDxUZXh0VHJhY2tSZWdpb24+IHsKK3B1YmxpYzoK
KyAgICBzdGF0aWMgUGFzc1JlZlB0cjxUZXh0VHJhY2tSZWdpb24+IGNyZWF0ZSgpCisgICAgewor
ICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFRleHRUcmFja1JlZ2lvbigpKTsKKyAgICB9CisK
KyAgICB2aXJ0dWFsIH5UZXh0VHJhY2tSZWdpb24oKTsKKworICAgIFRleHRUcmFjayogdHJhY2so
KSBjb25zdCB7IHJldHVybiAwOyB9CisKKyAgICBjb25zdCBTdHJpbmcmIGlkKCkgY29uc3QgeyBy
ZXR1cm4gbV9pZDsgfQorICAgIHZvaWQgc2V0SWQoY29uc3QgU3RyaW5nJik7CisKKyAgICBkb3Vi
bGUgd2lkdGgoKSBjb25zdCB7IHJldHVybiBtX3dpZHRoOyB9CisgICAgdm9pZCBzZXRXaWR0aChk
b3VibGUsIEV4Y2VwdGlvbkNvZGUmKTsKKworICAgIGxvbmcgaGVpZ2h0KCkgY29uc3QgeyByZXR1
cm4gbV9oZWlnaHRJbkxpbmVzOyB9CisgICAgdm9pZCBzZXRIZWlnaHQobG9uZywgRXhjZXB0aW9u
Q29kZSYpOworCisgICAgZG91YmxlIHJlZ2lvbkFuY2hvclgoKSBjb25zdCB7IHJldHVybiBtX3Jl
Z2lvbkFuY2hvci53aWR0aCgpOyB9CisgICAgdm9pZCBzZXRSZWdpb25BbmNob3JYKGRvdWJsZSwg
RXhjZXB0aW9uQ29kZSYpOworCisgICAgZG91YmxlIHJlZ2lvbkFuY2hvclkoKSBjb25zdCB7IHJl
dHVybiBtX3JlZ2lvbkFuY2hvci5oZWlnaHQoKTsgfQorICAgIHZvaWQgc2V0UmVnaW9uQW5jaG9y
WShkb3VibGUsIEV4Y2VwdGlvbkNvZGUmKTsKKworICAgIGRvdWJsZSB2aWV3cG9ydEFuY2hvclgo
KSBjb25zdCB7IHJldHVybiBtX3ZpZXdwb3J0QW5jaG9yLndpZHRoKCk7IH0KKyAgICB2b2lkIHNl
dFZpZXdwb3J0QW5jaG9yWChkb3VibGUsIEV4Y2VwdGlvbkNvZGUmKTsKKworICAgIGRvdWJsZSB2
aWV3cG9ydEFuY2hvclkoKSBjb25zdCB7IHJldHVybiBtX3ZpZXdwb3J0QW5jaG9yLmhlaWdodCgp
OyB9CisgICAgdm9pZCBzZXRWaWV3cG9ydEFuY2hvclkoZG91YmxlLCBFeGNlcHRpb25Db2RlJik7
CisKKyAgICBjb25zdCBBdG9taWNTdHJpbmcgc2Nyb2xsKCkgY29uc3Q7CisgICAgdm9pZCBzZXRT
Y3JvbGwoY29uc3QgQXRvbWljU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpOworCisgICAgY29uc3Qg
U3RyaW5nJiByZWdpb25TZXR0aW5ncygpIGNvbnN0IHsgcmV0dXJuIG1fc2V0dGluZ3M7IH0KKyAg
ICB2b2lkIHNldFJlZ2lvblNldHRpbmdzKGNvbnN0IFN0cmluZyYpOworCitwcm90ZWN0ZWQ6Cisg
ICAgVGV4dFRyYWNrUmVnaW9uKCk7CisKK3ByaXZhdGU6CisgICAgZW51bSBSZWdpb25TZXR0aW5n
IHsgTm9uZSwgSWQsIFdpZHRoLCBIZWlnaHQsIFJlZ2lvbkFuY2hvciwgVmlld3BvcnRBbmNob3Is
IFNjcm9sbCB9OworICAgIFJlZ2lvblNldHRpbmcgZ2V0U2V0dGluZ0Zyb21TdHJpbmcoY29uc3Qg
U3RyaW5nJik7CisKKyAgICB2b2lkIHBhcnNlU2V0dGluZ1ZhbHVlKFJlZ2lvblNldHRpbmcsIGNv
bnN0IFN0cmluZyYpOworICAgIHZvaWQgcGFyc2VTZXR0aW5nKGNvbnN0IFN0cmluZyYsIHVuc2ln
bmVkKik7CisKKyAgICBTdHJpbmcgbV9pZDsKKyAgICBTdHJpbmcgbV9zZXR0aW5nczsKKworICAg
IGRvdWJsZSBtX3dpZHRoOworICAgIHVuc2lnbmVkIG1faGVpZ2h0SW5MaW5lczsKKworICAgIEZs
b2F0U2l6ZSBtX3JlZ2lvbkFuY2hvcjsKKyAgICBGbG9hdFNpemUgbV92aWV3cG9ydEFuY2hvcjsK
KworICAgIGJvb2wgbV9zY3JvbGw7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNl
bmRpZgorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRU
cmFja1JlZ2lvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFja1JlZ2lv
bi5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMzI4MTY2YmU3YzM3M2RjNTg0NmVmMzdhYjU0ZWEwY2I4ZDdhOTYz
ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNr
UmVnaW9uLmlkbApAQCAtMCwwICsxLDUwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEdv
b2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBB
TlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
ICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCitbCisgICAgQ29uZGl0aW9u
YWw9VklERU9fVFJBQ0sgJiBXRUJWVFRfUkVHSU9OUywKKyAgICBWOEVuYWJsZWRBdFJ1bnRpbWU9
d2Via2l0VmlkZW9UcmFjaywKKyAgICBKU0dlbmVyYXRlVG9OYXRpdmVPYmplY3QsCisgICAgQ29u
c3RydWN0b3IoKQorXSBpbnRlcmZhY2UgVGV4dFRyYWNrUmVnaW9uIHsKKyAgICByZWFkb25seSBh
dHRyaWJ1dGUgVGV4dFRyYWNrIHRyYWNrOworCisgICAgYXR0cmlidXRlIERPTVN0cmluZyBpZDsK
KyAgICBhdHRyaWJ1dGUgZG91YmxlIHdpZHRoCisgICAgICAgIHNldHRlciByYWlzZXMgKERPTUV4
Y2VwdGlvbik7CisgICAgYXR0cmlidXRlIGxvbmcgaGVpZ2h0CisgICAgICAgIHNldHRlciByYWlz
ZXMgKERPTUV4Y2VwdGlvbik7CisgICAgYXR0cmlidXRlIGRvdWJsZSByZWdpb25BbmNob3JYCisg
ICAgICAgIHNldHRlciByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisgICAgYXR0cmlidXRlIGRvdWJs
ZSByZWdpb25BbmNob3JZCisgICAgICAgIHNldHRlciByYWlzZXMgKERPTUV4Y2VwdGlvbik7Cisg
ICAgYXR0cmlidXRlIGRvdWJsZSB2aWV3cG9ydEFuY2hvclgKKyAgICAgICAgc2V0dGVyIHJhaXNl
cyAoRE9NRXhjZXB0aW9uKTsKKyAgICBhdHRyaWJ1dGUgZG91YmxlIHZpZXdwb3J0QW5jaG9yWQor
ICAgICAgICBzZXR0ZXIgcmFpc2VzIChET01FeGNlcHRpb24pOworICAgIGF0dHJpYnV0ZSBET01T
dHJpbmcgc2Nyb2xsCisgICAgICAgIHNldHRlciByYWlzZXMgKERPTUV4Y2VwdGlvbik7Cit9Owor
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5kZXggMTM0ZTQ4ZGI5MzE5ZjJlZmI1NDU1OGVk
NjJlOWU2ODg1YjdkNzZkYi4uOTgzNzRjY2I5NDk1ZjBiMDllNTE3YjEwYmUxOTllNDYzOGU4NDFk
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbApAQCAtNDkyLDYgKzQ5Miw3IEBACiAgICAg
W0NvbmRpdGlvbmFsPVZJREVPX1RSQUNLLCBWOEVuYWJsZWRBdFJ1bnRpbWU9d2Via2l0VmlkZW9U
cmFja10gYXR0cmlidXRlIFRleHRUcmFja0N1ZUNvbnN0cnVjdG9yIFRleHRUcmFja0N1ZTsgLy8g
VXNhYmxlIHdpdGggdGhlIG5ldyBvcGVyYXRvcgogICAgIFtDb25kaXRpb25hbD1WSURFT19UUkFD
SywgVjhFbmFibGVkQXRSdW50aW1lPXdlYmtpdFZpZGVvVHJhY2tdIGF0dHJpYnV0ZSBUZXh0VHJh
Y2tDdWVMaXN0Q29uc3RydWN0b3IgVGV4dFRyYWNrQ3VlTGlzdDsKICAgICBbQ29uZGl0aW9uYWw9
VklERU9fVFJBQ0ssIFY4RW5hYmxlZEF0UnVudGltZT13ZWJraXRWaWRlb1RyYWNrXSBhdHRyaWJ1
dGUgVGV4dFRyYWNrTGlzdENvbnN0cnVjdG9yIFRleHRUcmFja0xpc3Q7CisgICAgW0NvbmRpdGlv
bmFsPVZJREVPX1RSQUNLICYgV0VCVlRUX1JFR0lPTlMsIFY4RW5hYmxlZEF0UnVudGltZT13ZWJr
aXRWaWRlb1RyYWNrXSBhdHRyaWJ1dGUgVGV4dFRyYWNrUmVnaW9uQ29uc3RydWN0b3IgVGV4dFRy
YWNrUmVnaW9uOyAvLyBVc2FibGUgd2l0aCB0aGUgbmV3IG9wZXJhdG9yCiAgICAgW0NvbmRpdGlv
bmFsPVZJREVPX1RSQUNLLCBWOEVuYWJsZWRBdFJ1bnRpbWU9d2Via2l0VmlkZW9UcmFja10gYXR0
cmlidXRlIFRyYWNrRXZlbnRDb25zdHJ1Y3RvciBUcmFja0V2ZW50OwogCiAgICAgW0pTQ3VzdG9t
R2V0dGVyLCBDb25kaXRpb25hbD1WSURFTywgVjhFbmFibGVkQXRSdW50aW1lXSBhdHRyaWJ1dGUg
SFRNTEF1ZGlvRWxlbWVudENvbnN0cnVjdG9yQ29uc3RydWN0b3IgQXVkaW87IC8vIFVzYWJsZSB3
aXRoIHRoZSBuZXcgb3BlcmF0b3IKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0NTYzN2IyMGZjODIwN2FjMTU4ODU4MGU4Nzk3
OTFlZDFkYzYzOWM4Li42YTk5NTIxZWVhMzc1OGZjYTZhNWRmNmRkNWY3ODExNzMwN2FjNTUzIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTMtMDMtMDYgIFZpY3RvciBDYXJidW5lICA8dmNhcmJ1
bmVAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFRleHRUcmFja1JlZ2lvbiBDb25zdHJ1Y3Rvcgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwNTExCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0RXhw
ZWN0YXRpb25zOgorICAgICAgICAqIG1lZGlhL3RyYWNrL3JlZ2lvbnMtd2VidnR0L3RleHQtdHJh
Y2stcmVnaW9uLWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogbWVk
aWEvdHJhY2svcmVnaW9ucy13ZWJ2dHQvdGV4dC10cmFjay1yZWdpb24tY29uc3RydWN0b3IuaHRt
bDogQWRkZWQuCisKIDIwMTMtMDMtMDUgIENsYXVkaW8gU2FhdmVkcmEgIDxjc2FhdmVkcmFAaWdh
bGlhLmNvbT4KIAogICAgICAgICBNYWtlIHRvZ2dsZS11bmxpbmsuaHRtbCB0ZXN0IE1hYyBzcGVj
aWZpYyBiZWhhdmlvdXIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMg
Yi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDg1ZTkyMDg3YjRkMTQ1NTc4MTJk
Y2EyMmNmNDNjMTY4MjQ2Y2VlNzUuLjY5ZjU4NTNlNTUyYWY4M2EwYTQ3NTFlNWI1YzgyMzcwODY5
MmEyZWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5
b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNSwzICs1LDUgQEAKICMgcGVuZGluZyBmdW5j
dGlvbmFsIHBhdGNoIGFuZCBwZXItcG9ydCB2ZXJpZmljYXRpb24KIHdlYmtpdC5vcmcvYi8xMDk5
NTQgY3NzMy9saW5lLWJyZWFrIFsgU2tpcCBdCiAKKyMgcGVuZGluZyBpbXBsZW1lbnRhdGlvbiBj
b21wbGV0aW9uIGFuZCBmZWF0dXJlIGVuYWJsaW5nCit3ZWJraXQub3JnL2IvMTA5NTcwIG1lZGlh
L3RyYWNrL3JlZ2lvbnMtd2VidnR0IFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9t
ZWRpYS90cmFjay9yZWdpb25zLXdlYnZ0dC90ZXh0LXRyYWNrLXJlZ2lvbi1jb25zdHJ1Y3Rvci1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay9yZWdpb25zLXdlYnZ0dC90ZXh0
LXRyYWNrLXJlZ2lvbi1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTY3ZmQ3
M2MwYmQ2YmI0MDUyNmI5MTZkNjVmZGIyZmIxMzZkMDJlMgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL21lZGlhL3RyYWNrL3JlZ2lvbnMtd2VidnR0L3RleHQtdHJhY2stcmVnaW9uLWNv
bnN0cnVjdG9yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyMCBAQAorVGVzdHMgdGhlIGNvbnN0
cnVjdG9yIGFuZCBtdXRhdGlvbiBvZiBUZXh0VHJhY2tSZWdpb24uCisKKyoqIFRlc3QgdGhlIGRl
ZmF1bHQgaW5kZXhzIG9mIGEgcmVnaW9uLiAqKgorRVhQRUNURUQgKHJlZ2lvbi50cmFjayA9PSAn
bnVsbCcpIE9LCitFWFBFQ1RFRCAocmVnaW9uLnNjcm9sbCA9PSAnJykgT0sKK0VYUEVDVEVEIChy
ZWdpb24udmlld3BvcnRBbmNob3JYID09ICcwJykgT0sKK0VYUEVDVEVEIChyZWdpb24udmlld3Bv
cnRBbmNob3JZID09ICcxMDAnKSBPSworRVhQRUNURUQgKHJlZ2lvbi5yZWdpb25BbmNob3JYID09
ICcwJykgT0sKK0VYUEVDVEVEIChyZWdpb24ucmVnaW9uQW5jaG9yWSA9PSAnMTAwJykgT0sKK0VY
UEVDVEVEIChyZWdpb24uaGVpZ2h0ID09ICczJykgT0sKK0VYUEVDVEVEIChyZWdpb24ud2lkdGgg
PT0gJzEwMCcpIE9LCisKKyoqIFRlc3QgdGhhdCBpbmNvcnJlY3QgbXV0YXRpb24ga2VlcHMgcHJl
dmlvdXMgdmFsaWQgdmFsdWVzLiAqKgorUlVOKHJlZ2lvbi5zY3JvbGwgPSAnaW52YWxpZC1zY3Jv
bGwtdmFsdWUnKQorRXJyb3I6IFN5bnRheEVycm9yOiBET00gRXhjZXB0aW9uIDEyCitFWFBFQ1RF
RCAocmVnaW9uLnNjcm9sbCA9PSAnJykgT0sKKworSW52YWxpZCBwZXJjZW50YWdlIHZhbHVlOiAt
MQorUlVOKHJlZ2lvbi52aWV3cG9ydEFuY2hvclggPSBpbnZhbGlkUGVyY2VudGFnZVZhbHVlc1tp
bmRleF0pCitFcnJvcjogSW5kZXhTaXplRXJyb3I6IERPTSBFeGNlcHRpb24gMQorRVhQRUNURUQg
KHJlZ2lvbi52aWV3cG9ydEFuY2hvclggPT0gJzAnKSBPSworUlVOKHJlZ2lvbi52aWV3cG9ydEFu
Y2hvclkgPSBpbnZhbGlkUGVyY2VudGFnZVZhbHVlc1tpbmRleF0pCitFcnJvcjogSW5kZXhTaXpl
RXJyb3I6IERPTSBFeGNlcHRpb24gMQorRVhQRUNURUQgKHJlZ2lvbi52aWV3cG9ydEFuY2hvclkg
PT0gJzEwMCcpIE9LCitSVU4ocmVnaW9uLnJlZ2lvbkFuY2hvclggPSBpbnZhbGlkUGVyY2VudGFn
ZVZhbHVlc1tpbmRleF0pCitFcnJvcjogSW5kZXhTaXplRXJyb3I6IERPTSBFeGNlcHRpb24gMQor
RVhQRUNURUQgKHJlZ2lvbi5yZWdpb25BbmNob3JYID09ICcwJykgT0sKK1JVTihyZWdpb24ucmVn
aW9uQW5jaG9yWSA9IGludmFsaWRQZXJjZW50YWdlVmFsdWVzW2luZGV4XSkKK0Vycm9yOiBJbmRl
eFNpemVFcnJvcjogRE9NIEV4Y2VwdGlvbiAxCitFWFBFQ1RFRCAocmVnaW9uLnJlZ2lvbkFuY2hv
clkgPT0gJzEwMCcpIE9LCitSVU4ocmVnaW9uLndpZHRoID0gaW52YWxpZFBlcmNlbnRhZ2VWYWx1
ZXNbaW5kZXhdKQorRXJyb3I6IEluZGV4U2l6ZUVycm9yOiBET00gRXhjZXB0aW9uIDEKK0VYUEVD
VEVEIChyZWdpb24ud2lkdGggPT0gJzEwMCcpIE9LCisKK0ludmFsaWQgcGVyY2VudGFnZSB2YWx1
ZTogMTAxCitSVU4ocmVnaW9uLnZpZXdwb3J0QW5jaG9yWCA9IGludmFsaWRQZXJjZW50YWdlVmFs
dWVzW2luZGV4XSkKK0Vycm9yOiBJbmRleFNpemVFcnJvcjogRE9NIEV4Y2VwdGlvbiAxCitFWFBF
Q1RFRCAocmVnaW9uLnZpZXdwb3J0QW5jaG9yWCA9PSAnMCcpIE9LCitSVU4ocmVnaW9uLnZpZXdw
b3J0QW5jaG9yWSA9IGludmFsaWRQZXJjZW50YWdlVmFsdWVzW2luZGV4XSkKK0Vycm9yOiBJbmRl
eFNpemVFcnJvcjogRE9NIEV4Y2VwdGlvbiAxCitFWFBFQ1RFRCAocmVnaW9uLnZpZXdwb3J0QW5j
aG9yWSA9PSAnMTAwJykgT0sKK1JVTihyZWdpb24ucmVnaW9uQW5jaG9yWCA9IGludmFsaWRQZXJj
ZW50YWdlVmFsdWVzW2luZGV4XSkKK0Vycm9yOiBJbmRleFNpemVFcnJvcjogRE9NIEV4Y2VwdGlv
biAxCitFWFBFQ1RFRCAocmVnaW9uLnJlZ2lvbkFuY2hvclggPT0gJzAnKSBPSworUlVOKHJlZ2lv
bi5yZWdpb25BbmNob3JZID0gaW52YWxpZFBlcmNlbnRhZ2VWYWx1ZXNbaW5kZXhdKQorRXJyb3I6
IEluZGV4U2l6ZUVycm9yOiBET00gRXhjZXB0aW9uIDEKK0VYUEVDVEVEIChyZWdpb24ucmVnaW9u
QW5jaG9yWSA9PSAnMTAwJykgT0sKK1JVTihyZWdpb24ud2lkdGggPSBpbnZhbGlkUGVyY2VudGFn
ZVZhbHVlc1tpbmRleF0pCitFcnJvcjogSW5kZXhTaXplRXJyb3I6IERPTSBFeGNlcHRpb24gMQor
RVhQRUNURUQgKHJlZ2lvbi53aWR0aCA9PSAnMTAwJykgT0sKKworSW52YWxpZCBwZXJjZW50YWdl
IHZhbHVlOiAtSW5maW5pdHkKK1JVTihyZWdpb24udmlld3BvcnRBbmNob3JYID0gaW52YWxpZFBl
cmNlbnRhZ2VWYWx1ZXNbaW5kZXhdKQorVHlwZUVycm9yOiBUeXBlIGVycm9yCitFWFBFQ1RFRCAo
cmVnaW9uLnZpZXdwb3J0QW5jaG9yWCA9PSAnMCcpIE9LCitSVU4ocmVnaW9uLnZpZXdwb3J0QW5j
aG9yWSA9IGludmFsaWRQZXJjZW50YWdlVmFsdWVzW2luZGV4XSkKK1R5cGVFcnJvcjogVHlwZSBl
cnJvcgorRVhQRUNURUQgKHJlZ2lvbi52aWV3cG9ydEFuY2hvclkgPT0gJzEwMCcpIE9LCitSVU4o
cmVnaW9uLnJlZ2lvbkFuY2hvclggPSBpbnZhbGlkUGVyY2VudGFnZVZhbHVlc1tpbmRleF0pCitU
eXBlRXJyb3I6IFR5cGUgZXJyb3IKK0VYUEVDVEVEIChyZWdpb24ucmVnaW9uQW5jaG9yWCA9PSAn
MCcpIE9LCitSVU4ocmVnaW9uLnJlZ2lvbkFuY2hvclkgPSBpbnZhbGlkUGVyY2VudGFnZVZhbHVl
c1tpbmRleF0pCitUeXBlRXJyb3I6IFR5cGUgZXJyb3IKK0VYUEVDVEVEIChyZWdpb24ucmVnaW9u
QW5jaG9yWSA9PSAnMTAwJykgT0sKK1JVTihyZWdpb24ud2lkdGggPSBpbnZhbGlkUGVyY2VudGFn
ZVZhbHVlc1tpbmRleF0pCitUeXBlRXJyb3I6IFR5cGUgZXJyb3IKK0VYUEVDVEVEIChyZWdpb24u
d2lkdGggPT0gJzEwMCcpIE9LCisKK0ludmFsaWQgcGVyY2VudGFnZSB2YWx1ZTogSW5maW5pdHkK
K1JVTihyZWdpb24udmlld3BvcnRBbmNob3JYID0gaW52YWxpZFBlcmNlbnRhZ2VWYWx1ZXNbaW5k
ZXhdKQorVHlwZUVycm9yOiBUeXBlIGVycm9yCitFWFBFQ1RFRCAocmVnaW9uLnZpZXdwb3J0QW5j
aG9yWCA9PSAnMCcpIE9LCitSVU4ocmVnaW9uLnZpZXdwb3J0QW5jaG9yWSA9IGludmFsaWRQZXJj
ZW50YWdlVmFsdWVzW2luZGV4XSkKK1R5cGVFcnJvcjogVHlwZSBlcnJvcgorRVhQRUNURUQgKHJl
Z2lvbi52aWV3cG9ydEFuY2hvclkgPT0gJzEwMCcpIE9LCitSVU4ocmVnaW9uLnJlZ2lvbkFuY2hv
clggPSBpbnZhbGlkUGVyY2VudGFnZVZhbHVlc1tpbmRleF0pCitUeXBlRXJyb3I6IFR5cGUgZXJy
b3IKK0VYUEVDVEVEIChyZWdpb24ucmVnaW9uQW5jaG9yWCA9PSAnMCcpIE9LCitSVU4ocmVnaW9u
LnJlZ2lvbkFuY2hvclkgPSBpbnZhbGlkUGVyY2VudGFnZVZhbHVlc1tpbmRleF0pCitUeXBlRXJy
b3I6IFR5cGUgZXJyb3IKK0VYUEVDVEVEIChyZWdpb24ucmVnaW9uQW5jaG9yWSA9PSAnMTAwJykg
T0sKK1JVTihyZWdpb24ud2lkdGggPSBpbnZhbGlkUGVyY2VudGFnZVZhbHVlc1tpbmRleF0pCitU
eXBlRXJyb3I6IFR5cGUgZXJyb3IKK0VYUEVDVEVEIChyZWdpb24ud2lkdGggPT0gJzEwMCcpIE9L
CisKK0ludmFsaWQgcGVyY2VudGFnZSB2YWx1ZTogTmFOCitSVU4ocmVnaW9uLnZpZXdwb3J0QW5j
aG9yWCA9IGludmFsaWRQZXJjZW50YWdlVmFsdWVzW2luZGV4XSkKK1R5cGVFcnJvcjogVHlwZSBl
cnJvcgorRVhQRUNURUQgKHJlZ2lvbi52aWV3cG9ydEFuY2hvclggPT0gJzAnKSBPSworUlVOKHJl
Z2lvbi52aWV3cG9ydEFuY2hvclkgPSBpbnZhbGlkUGVyY2VudGFnZVZhbHVlc1tpbmRleF0pCitU
eXBlRXJyb3I6IFR5cGUgZXJyb3IKK0VYUEVDVEVEIChyZWdpb24udmlld3BvcnRBbmNob3JZID09
ICcxMDAnKSBPSworUlVOKHJlZ2lvbi5yZWdpb25BbmNob3JYID0gaW52YWxpZFBlcmNlbnRhZ2VW
YWx1ZXNbaW5kZXhdKQorVHlwZUVycm9yOiBUeXBlIGVycm9yCitFWFBFQ1RFRCAocmVnaW9uLnJl
Z2lvbkFuY2hvclggPT0gJzAnKSBPSworUlVOKHJlZ2lvbi5yZWdpb25BbmNob3JZID0gaW52YWxp
ZFBlcmNlbnRhZ2VWYWx1ZXNbaW5kZXhdKQorVHlwZUVycm9yOiBUeXBlIGVycm9yCitFWFBFQ1RF
RCAocmVnaW9uLnJlZ2lvbkFuY2hvclkgPT0gJzEwMCcpIE9LCitSVU4ocmVnaW9uLndpZHRoID0g
aW52YWxpZFBlcmNlbnRhZ2VWYWx1ZXNbaW5kZXhdKQorVHlwZUVycm9yOiBUeXBlIGVycm9yCitF
WFBFQ1RFRCAocmVnaW9uLndpZHRoID09ICcxMDAnKSBPSworUlVOKHJlZ2lvbi5oZWlnaHQgPSAt
MSkKK0Vycm9yOiBJbmRleFNpemVFcnJvcjogRE9NIEV4Y2VwdGlvbiAxCitFWFBFQ1RFRCAocmVn
aW9uLmhlaWdodCA9PSAnMycpIE9LCisKKyoqIFRlc3QgdGhhdCBwcm9wZXIgbXV0YXRpb24ga2Vl
cHMgYXNzaWduZWQgdmFsdWUuICoqCitSVU4ocmVnaW9uLmhlaWdodCA9IDEzMCkKK0VYUEVDVEVE
IChyZWdpb24uaGVpZ2h0ID09ICcxMzAnKSBPSworUlVOKHJlZ2lvbi52aWV3cG9ydEFuY2hvclgg
PSA2NCkKK0VYUEVDVEVEIChyZWdpb24udmlld3BvcnRBbmNob3JYID09ICc2NCcpIE9LCitSVU4o
cmVnaW9uLnZpZXdwb3J0QW5jaG9yWSA9IDMyKQorRVhQRUNURUQgKHJlZ2lvbi52aWV3cG9ydEFu
Y2hvclkgPT0gJzMyJykgT0sKK1JVTihyZWdpb24ucmVnaW9uQW5jaG9yWCA9IDE2KQorRVhQRUNU
RUQgKHJlZ2lvbi5yZWdpb25BbmNob3JYID09ICcxNicpIE9LCitSVU4ocmVnaW9uLnJlZ2lvbkFu
Y2hvclkgPSA4KQorRVhQRUNURUQgKHJlZ2lvbi5yZWdpb25BbmNob3JZID09ICc4JykgT0sKK1JV
TihyZWdpb24ud2lkdGggPSA0MikKK0VYUEVDVEVEIChyZWdpb24ud2lkdGggPT0gJzQyJykgT0sK
K0VORCBPRiBURVNUCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3JlZ2lv
bnMtd2VidnR0L3RleHQtdHJhY2stcmVnaW9uLWNvbnN0cnVjdG9yLmh0bWwgYi9MYXlvdXRUZXN0
cy9tZWRpYS90cmFjay9yZWdpb25zLXdlYnZ0dC90ZXh0LXRyYWNrLXJlZ2lvbi1jb25zdHJ1Y3Rv
ci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmZhZTM3OWJjNGViODc1Y2Y0OWFmZjQ5ZTY2NGI1MmExMmM5ZmU5
YTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay9yZWdpb25zLXdl
YnZ0dC90ZXh0LXRyYWNrLXJlZ2lvbi1jb25zdHJ1Y3Rvci5odG1sCkBAIC0wLDAgKzEsNzcgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIGh0dHAt
ZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04IiAv
PgorCisgICAgICAgIDxzY3JpcHQgc3JjPS4uLy4uL21lZGlhLWZpbGUuanM+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPS4uLy4uL3ZpZGVvLXRlc3QuanM+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQ+CisgICAgICAgICAgICB2YXIgcmVnaW9uOworICAgICAgICAgICAgdmFyIGludmFs
aWRQZXJjZW50YWdlVmFsdWVzOworCisgICAgICAgICAgICBmdW5jdGlvbiBzdGFydFRlc3QoKQor
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGlmICghd2luZG93LlRleHRUcmFja1JlZ2lv
bikgeworICAgICAgICAgICAgICAgICAgICBmYWlsVGVzdCgpOworICAgICAgICAgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgcmVnaW9uID0g
bmV3IFRleHRUcmFja1JlZ2lvbigpOworCisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCIq
KiBUZXN0IHRoZSBkZWZhdWx0IGluZGV4cyBvZiBhIHJlZ2lvbi4gKioiKTsKKyAgICAgICAgICAg
ICAgICB0ZXN0RXhwZWN0ZWQoInJlZ2lvbi50cmFjayIsIG51bGwpOworICAgICAgICAgICAgICAg
IHRlc3RFeHBlY3RlZCgicmVnaW9uLnNjcm9sbCIsICIiKTsKKyAgICAgICAgICAgICAgICB0ZXN0
RXhwZWN0ZWQoInJlZ2lvbi52aWV3cG9ydEFuY2hvclgiLCAwKTsKKyAgICAgICAgICAgICAgICB0
ZXN0RXhwZWN0ZWQoInJlZ2lvbi52aWV3cG9ydEFuY2hvclkiLCAxMDApOworICAgICAgICAgICAg
ICAgIHRlc3RFeHBlY3RlZCgicmVnaW9uLnJlZ2lvbkFuY2hvclgiLCAwKTsKKyAgICAgICAgICAg
ICAgICB0ZXN0RXhwZWN0ZWQoInJlZ2lvbi5yZWdpb25BbmNob3JZIiwgMTAwKTsKKyAgICAgICAg
ICAgICAgICB0ZXN0RXhwZWN0ZWQoInJlZ2lvbi5oZWlnaHQiLCAzKTsKKyAgICAgICAgICAgICAg
ICB0ZXN0RXhwZWN0ZWQoInJlZ2lvbi53aWR0aCIsIDEwMCk7CisKKyAgICAgICAgICAgICAgICBj
b25zb2xlV3JpdGUoIjxicj4qKiBUZXN0IHRoYXQgaW5jb3JyZWN0IG11dGF0aW9uIGtlZXBzIHBy
ZXZpb3VzIHZhbGlkIHZhbHVlcy4gKioiKTsKKyAgICAgICAgICAgICAgICBydW4oInJlZ2lvbi5z
Y3JvbGwgPSAnaW52YWxpZC1zY3JvbGwtdmFsdWUnIik7CisgICAgICAgICAgICAgICAgdGVzdEV4
cGVjdGVkKCJyZWdpb24uc2Nyb2xsIiwgIiIpOworCisgICAgICAgICAgICAgICAgaW52YWxpZFBl
cmNlbnRhZ2VWYWx1ZXMgPSBbLTEsIDEwMSwgLUluZmluaXR5LCBJbmZpbml0eSwgTmFOXTsKKyAg
ICAgICAgICAgICAgICBmb3IgKGluZGV4IGluIGludmFsaWRQZXJjZW50YWdlVmFsdWVzKSB7Cisg
ICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIjxicj5JbnZhbGlkIHBlcmNlbnRhZ2UgdmFs
dWU6ICIgKyBpbnZhbGlkUGVyY2VudGFnZVZhbHVlc1tpbmRleF0pOworICAgICAgICAgICAgICAg
ICAgcnVuKCJyZWdpb24udmlld3BvcnRBbmNob3JYID0gaW52YWxpZFBlcmNlbnRhZ2VWYWx1ZXNb
aW5kZXhdIik7CisgICAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInJlZ2lvbi52aWV3cG9y
dEFuY2hvclgiLCAwKTsKKyAgICAgICAgICAgICAgICAgIHJ1bigicmVnaW9uLnZpZXdwb3J0QW5j
aG9yWSA9IGludmFsaWRQZXJjZW50YWdlVmFsdWVzW2luZGV4XSIpOworICAgICAgICAgICAgICAg
ICAgdGVzdEV4cGVjdGVkKCJyZWdpb24udmlld3BvcnRBbmNob3JZIiwgMTAwKTsKKyAgICAgICAg
ICAgICAgICAgIHJ1bigicmVnaW9uLnJlZ2lvbkFuY2hvclggPSBpbnZhbGlkUGVyY2VudGFnZVZh
bHVlc1tpbmRleF0iKTsKKyAgICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgicmVnaW9uLnJl
Z2lvbkFuY2hvclgiLCAwKTsKKyAgICAgICAgICAgICAgICAgIHJ1bigicmVnaW9uLnJlZ2lvbkFu
Y2hvclkgPSBpbnZhbGlkUGVyY2VudGFnZVZhbHVlc1tpbmRleF0iKTsKKyAgICAgICAgICAgICAg
ICAgIHRlc3RFeHBlY3RlZCgicmVnaW9uLnJlZ2lvbkFuY2hvclkiLCAxMDApOworICAgICAgICAg
ICAgICAgICAgcnVuKCJyZWdpb24ud2lkdGggPSBpbnZhbGlkUGVyY2VudGFnZVZhbHVlc1tpbmRl
eF0iKTsKKyAgICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgicmVnaW9uLndpZHRoIiwgMTAw
KTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBydW4oInJlZ2lvbi5oZWln
aHQgPSAtMSIpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgicmVnaW9uLmhlaWdodCIs
IDMpOworCisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCI8YnI+KiogVGVzdCB0aGF0IHBy
b3BlciBtdXRhdGlvbiBrZWVwcyBhc3NpZ25lZCB2YWx1ZS4gKioiKTsKKyAgICAgICAgICAgICAg
ICBydW4oInJlZ2lvbi5oZWlnaHQgPSAxMzAiKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0
ZWQoInJlZ2lvbi5oZWlnaHQiLCAxMzApOworCisgICAgICAgICAgICAgICAgcnVuKCJyZWdpb24u
dmlld3BvcnRBbmNob3JYID0gNjQiKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInJl
Z2lvbi52aWV3cG9ydEFuY2hvclgiLCA2NCk7CisgICAgICAgICAgICAgICAgcnVuKCJyZWdpb24u
dmlld3BvcnRBbmNob3JZID0gMzIiKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInJl
Z2lvbi52aWV3cG9ydEFuY2hvclkiLCAzMik7CisgICAgICAgICAgICAgICAgcnVuKCJyZWdpb24u
cmVnaW9uQW5jaG9yWCA9IDE2Iik7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJyZWdp
b24ucmVnaW9uQW5jaG9yWCIsIDE2KTsKKyAgICAgICAgICAgICAgICBydW4oInJlZ2lvbi5yZWdp
b25BbmNob3JZID0gOCIpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgicmVnaW9uLnJl
Z2lvbkFuY2hvclkiLCA4KTsKKworICAgICAgICAgICAgICAgIHJ1bigicmVnaW9uLndpZHRoID0g
NDIiKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInJlZ2lvbi53aWR0aCIsIDQyKTsK
KworICAgICAgICAgICAgICAgIGVuZFRlc3QoKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICA8
L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgb25sb2FkPSJzdGFydFRlc3QoKSI+Cisg
ICAgICAgIDxwPlRlc3RzIHRoZSBjb25zdHJ1Y3RvciBhbmQgbXV0YXRpb24gb2YgVGV4dFRyYWNr
UmVnaW9uLjwvcD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191942</attachid>
            <date>2013-03-07 01:08:27 -0800</date>
            <delta_ts>2013-03-07 01:31:13 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-110511-20130307110431.patch</filename>
            <type>text/plain</type>
            <size>26617</size>
            <attacher name="Victor Carbune">vcarbune</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0ODgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2ZhMDM4YzAwYzRiMzcw
MTk2MzE0MGI5MTljOWM2OTAwNTMzNTc3Ny4uNjVkODJkMTc4MDdiYzMwNjFmYWUwMjIzOTcxNjMy
Mjg3OTczM2ExMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDEzLTAzLTA2ICBWaWN0
b3IgQ2FyYnVuZSAgPHZjYXJidW5lQGNocm9taXVtLm9yZz4KKworICAgICAgICBUZXh0VHJhY2tS
ZWdpb24gQ29uc3RydWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTExMDUxMQorCisgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCisKKyAg
ICAgICAgVGhpcyBpcyBhbiBpbml0aWFsIHBhdGNoIGZvciBpbXBsZW1lbnRpbmcgdGhlIFRleHRU
cmFja1JlZ2lvbgorICAgICAgICBkZWZpbmVkIGluIHRoZSAiV2ViVlRUIEV4dGVuc2lvbjogUmVn
aW9ucyBmb3IgcmVuZGVyaW5nIGN1ZSBncm91cHMiOgorICAgICAgICBodHRwczovL2R2Y3MudzMu
b3JnL2hnL3RleHQtdHJhY2tzL3Jhdy1maWxlL2RlZmF1bHQvNjA4dG9WVFQvcmVnaW9uLmh0bWwK
KworICAgICAgICBUaGUgZmVhdHVyZSBjb21wb25lbnRzIGFyZSBoaWRkZW4gYmVoaW5kIHRoZSBX
RUJWVFRfUkVHSU9OUyBmbGFnCisgICAgICAgIGFuZCBpcyBjdXJyZW50bHkgZGlzYWJsZWQgYnkg
ZGVmYXVsdCBpbiBhbGwgcG9ydHMgYW5kIHRlc3RzIHNraXBwZWQuCisKKyAgICAgICAgVGVzdDog
bWVkaWEvdHJhY2svcmVnaW9ucy13ZWJ2dHQvdGV4dC10cmFjay1yZWdpb24tY29uc3RydWN0b3Iu
aHRtbAorCisgICAgICAgICogV2ViQ29yZS5neXBpOiBBZGRlZCBmaWxlcyB0byBiZSBpbmNsdWRl
ZCBmb3IgYnVpbGRpbmcgQ2hyb21pdW0gd2l0aAorICAgICAgICBmZWF0dXJlIGVuYWJsZWQgKGl0
IGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQpLgorICAgICAgICAqIGh0bWwvdHJhY2svVGV4dFRyYWNr
UmVnaW9uLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6
OlRleHRUcmFja1JlZ2lvbjo6VGV4dFRyYWNrUmVnaW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlRl
eHRUcmFja1JlZ2lvbjo6flRleHRUcmFja1JlZ2lvbik6CisgICAgICAgIChXZWJDb3JlOjpUZXh0
VHJhY2tSZWdpb246OnNldElkKTogU2V0dGVyLgorICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNr
UmVnaW9uOjpzZXRXaWR0aCk6IFNldHRlci4KKyAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFja1Jl
Z2lvbjo6c2V0SGVpZ2h0KTogU2V0dGVyLgorICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrUmVn
aW9uOjpzZXRSZWdpb25BbmNob3JYKTogU2V0dGVyLgorICAgICAgICAoV2ViQ29yZTo6VGV4dFRy
YWNrUmVnaW9uOjpzZXRSZWdpb25BbmNob3JZKTogU2V0dGVyLgorICAgICAgICAoV2ViQ29yZTo6
VGV4dFRyYWNrUmVnaW9uOjpzZXRWaWV3cG9ydEFuY2hvclgpOiBTZXR0ZXIuCisgICAgICAgIChX
ZWJDb3JlOjpUZXh0VHJhY2tSZWdpb246OnNldFZpZXdwb3J0QW5jaG9yWSk6IFNldHRlci4KKyAg
ICAgICAgKFdlYkNvcmU6OlRleHRUcmFja1JlZ2lvbjo6c2Nyb2xsKTogR2V0dGVyLiBJbnRlcm5h
bGx5LCB0aGUgc2Nyb2xsCisgICAgICAgIHZhbHVlIGlzIHN0b3JlZCBhcyBhIGJvb2xlYW4sIGJ1
dCB3aGVuIHJldHVybmVkIGlzIGNvbnZlcnRlZCB0byBlaXRoZXIKKyAgICAgICAgdGhlIGVtcHR5
IHN0cmluZyBvciAidXAiLgorICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrUmVnaW9uOjpzZXRT
Y3JvbGwpOiBTZXR0ZXIuCisgICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tSZWdpb246OnNldFJl
Z2lvblNldHRpbmdzKTogTm90IHVzZWQgeWV0IChzZWUgYi8xMDk4MTgpCisgICAgICAgICogaHRt
bC90cmFjay9UZXh0VHJhY2tSZWdpb24uaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKFRleHRUcmFja1JlZ2lvbik6CisgICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tSZWdp
b246OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tSZWdpb246OnRyYWNrKTog
R2V0dGVyLgorICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrUmVnaW9uOjppZCk6IEdldHRlci4K
KyAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFja1JlZ2lvbjo6d2lkdGgpOiBHZXR0ZXIuCisgICAg
ICAgIChXZWJDb3JlOjpUZXh0VHJhY2tSZWdpb246OmhlaWdodCk6IEdldHRlci4KKyAgICAgICAg
KFdlYkNvcmU6OlRleHRUcmFja1JlZ2lvbjo6cmVnaW9uQW5jaG9yWCk6IEdldHRlci4KKyAgICAg
ICAgKFdlYkNvcmU6OlRleHRUcmFja1JlZ2lvbjo6cmVnaW9uQW5jaG9yWSk6IEdldHRlci4KKyAg
ICAgICAgKFdlYkNvcmU6OlRleHRUcmFja1JlZ2lvbjo6dmlld3BvcnRBbmNob3JYKTogR2V0dGVy
LgorICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrUmVnaW9uOjp2aWV3cG9ydEFuY2hvclkpOiBH
ZXR0ZXIuCisgICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tSZWdpb246OnJlZ2lvblNldHRpbmdz
KTogR2V0dGVyLCB1c2VkIG9ubHkgaW50ZXJuYWxseSAoc2VlIGIvMTA5ODE4KS4KKyAgICAgICAg
KiBodG1sL3RyYWNrL1RleHRUcmFja1JlZ2lvbi5pZGw6IEFkZGVkLgorICAgICAgICAqIHBhZ2Uv
RE9NV2luZG93LmlkbDogQ29uc3RydWN0b3Igc3VwcG9ydC4KKwogMjAxMy0wMy0wNSAgSGF5YXRv
IEl0byAgPGhheWF0b0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW1NoYWRvd10gSW1wbGVtZW50
cyBldmVudCByZS10YXJnZXRpbmcgZm9yIFRvdWNoIEV2ZW50cy4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRl
eCA0ZmQ5ZGI3ZTMyY2YzODYxMzNlZjFlMWZiODhkYzEwOTA1NTdlMmQ0Li5hMWQxYTRlMmZhYjIz
ZTljYWU4ZDZkZmZjYWNhNDcwZmI5NmFkZjIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC00OTgsNiAr
NDk4LDcgQEAKICAgICAgICAgICAgICdodG1sL3RyYWNrL1RleHRUcmFja0N1ZUxpc3QuaWRsJywK
ICAgICAgICAgICAgICdodG1sL3RyYWNrL1RleHRUcmFja0xpc3QuaWRsJywKICAgICAgICAgICAg
ICdodG1sL3RyYWNrL1RyYWNrRXZlbnQuaWRsJywKKyAgICAgICAgICAgICdodG1sL3RyYWNrL1Rl
eHRUcmFja1JlZ2lvbi5pZGwnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9JbmplY3RlZFNjcmlw
dEhvc3QuaWRsJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0
LmlkbCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0phdmFTY3JpcHRDYWxsRnJhbWUuaWRsJywK
QEAgLTM2MDUsNiArMzYwNiw4IEBACiAgICAgICAgICAgICAnaHRtbC90cmFjay9UZXh0VHJhY2tD
dWVMaXN0LmNwcCcsCiAgICAgICAgICAgICAnaHRtbC90cmFjay9UZXh0VHJhY2tDdWVMaXN0Lmgn
LAogICAgICAgICAgICAgJ2h0bWwvdHJhY2svVGV4dFRyYWNrTGlzdC5jcHAnLAorICAgICAgICAg
ICAgJ2h0bWwvdHJhY2svVGV4dFRyYWNrUmVnaW9uLmNwcCcsCisgICAgICAgICAgICAnaHRtbC90
cmFjay9UZXh0VHJhY2tSZWdpb24uaCcsCiAgICAgICAgICAgICAnaHRtbC90cmFjay9UcmFja0Jh
c2UuY3BwJywKICAgICAgICAgICAgICdodG1sL3RyYWNrL1RyYWNrRXZlbnQuY3BwJywKICAgICAg
ICAgICAgICdodG1sL3RyYWNrL1dlYlZUVEVsZW1lbnQuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrUmVnaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvdHJhY2svVGV4dFRyYWNrUmVnaW9uLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NjU4ODk4MTAwOGFl
Y2M2MGY5ZGViY2NiYTYzMzQ1M2M3NTMxNmFlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tSZWdpb24uY3BwCkBAIC0wLDAgKzEsMTg1IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgZWMgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICog
ZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBu
b3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAq
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoVklERU9fVFJBQ0spICYmIEVOQUJMRShXRUJW
VFRfUkVHSU9OUykKKworI2luY2x1ZGUgIlRleHRUcmFja1JlZ2lvbi5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKKy8vIFRoZSByZWdpb24gb2NjdXBpZXMgYnkgZGVmYXVsdCAxMDAlIG9mIHRo
ZSB3aWR0aCBvZiB0aGUgdmlkZW8gdmlld3BvcnQuCitzdGF0aWMgY29uc3QgZmxvYXQgZGVmYXVs
dFdpZHRoID0gMTAwOworCisvLyBUaGUgcmVnaW9uIGhhcywgYnkgZGVmYXVsdCwgMyBsaW5lcyBv
ZiB0ZXh0Lgorc3RhdGljIGNvbnN0IGxvbmcgZGVmYXVsdEhlaWdodEluTGluZXMgPSAzOworCisv
LyBUaGUgcmVnaW9uIGFuZCB2aWV3cG9ydCBhcmUgYW5jaG9yZWQgaW4gdGhlIGJvdHRvbSBsZWZ0
IGNvcm5lci4KK3N0YXRpYyBjb25zdCBmbG9hdCBkZWZhdWx0QW5jaG9yUG9pbnRYID0gMDsKK3N0
YXRpYyBjb25zdCBmbG9hdCBkZWZhdWx0QW5jaG9yUG9pbnRZID0gMTAwOworCisvLyBUaGUgcmVn
aW9uIGRvZXNuJ3QgaGF2ZSBzY3JvbGxpbmcgdGV4dCwgYnkgZGVmYXVsdC4KK3N0YXRpYyBjb25z
dCBib29sIGRlZmF1bHRTY3JvbGwgPSBmYWxzZTsKKworVGV4dFRyYWNrUmVnaW9uOjpUZXh0VHJh
Y2tSZWdpb24oKQorICAgIDogbV9pZChlbXB0eVN0cmluZygpKQorICAgICwgbV93aWR0aChkZWZh
dWx0V2lkdGgpCisgICAgLCBtX2hlaWdodEluTGluZXMoZGVmYXVsdEhlaWdodEluTGluZXMpCisg
ICAgLCBtX3JlZ2lvbkFuY2hvcihGbG9hdFBvaW50KGRlZmF1bHRBbmNob3JQb2ludFgsIGRlZmF1
bHRBbmNob3JQb2ludFkpKQorICAgICwgbV92aWV3cG9ydEFuY2hvcihGbG9hdFBvaW50KGRlZmF1
bHRBbmNob3JQb2ludFgsIGRlZmF1bHRBbmNob3JQb2ludFkpKQorICAgICwgbV9zY3JvbGwoZGVm
YXVsdFNjcm9sbCkKK3sKK30KKworVGV4dFRyYWNrUmVnaW9uOjp+VGV4dFRyYWNrUmVnaW9uKCkK
K3sKK30KKwordm9pZCBUZXh0VHJhY2tSZWdpb246OnNldElkKGNvbnN0IFN0cmluZyYgaWQpCit7
CisgICAgbV9pZCA9IGlkOworfQorCit2b2lkIFRleHRUcmFja1JlZ2lvbjo6c2V0V2lkdGgoZG91
YmxlIHZhbHVlLCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAoc3RkOjppc2luZih2YWx1
ZSkgfHwgc3RkOjppc25hbih2YWx1ZSkpIHsKKyAgICAgICAgZWMgPSBUeXBlRXJyb3I7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAodmFsdWUgPCAwIHx8IHZhbHVlID4gMTAwKSB7
CisgICAgICAgIGVjID0gSU5ERVhfU0laRV9FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICBtX3dpZHRoID0gdmFsdWU7Cit9CisKK3ZvaWQgVGV4dFRyYWNrUmVnaW9uOjpzZXRIZWln
aHQobG9uZyB2YWx1ZSwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKHZhbHVlIDwgMCkg
eworICAgICAgICBlYyA9IElOREVYX1NJWkVfRVJSOworICAgICAgICByZXR1cm47CisgICAgfQor
CisgICAgbV9oZWlnaHRJbkxpbmVzID0gdmFsdWU7Cit9CisKK3ZvaWQgVGV4dFRyYWNrUmVnaW9u
OjpzZXRSZWdpb25BbmNob3JYKGRvdWJsZSB2YWx1ZSwgRXhjZXB0aW9uQ29kZSYgZWMpCit7Cisg
ICAgaWYgKHN0ZDo6aXNpbmYodmFsdWUpIHx8IHN0ZDo6aXNuYW4odmFsdWUpKSB7CisgICAgICAg
IGVjID0gVHlwZUVycm9yOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKHZhbHVl
IDwgMCB8fCB2YWx1ZSA+IDEwMCkgeworICAgICAgICBlYyA9IElOREVYX1NJWkVfRVJSOworICAg
ICAgICByZXR1cm47CisgICAgfQorCisgICAgbV9yZWdpb25BbmNob3Iuc2V0WCh2YWx1ZSk7Cit9
CisKK3ZvaWQgVGV4dFRyYWNrUmVnaW9uOjpzZXRSZWdpb25BbmNob3JZKGRvdWJsZSB2YWx1ZSwg
RXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKHN0ZDo6aXNpbmYodmFsdWUpIHx8IHN0ZDo6
aXNuYW4odmFsdWUpKSB7CisgICAgICAgIGVjID0gVHlwZUVycm9yOworICAgICAgICByZXR1cm47
CisgICAgfQorCisgICAgaWYgKHZhbHVlIDwgMCB8fCB2YWx1ZSA+IDEwMCkgeworICAgICAgICBl
YyA9IElOREVYX1NJWkVfRVJSOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgbV9yZWdp
b25BbmNob3Iuc2V0WSh2YWx1ZSk7Cit9CisKK3ZvaWQgVGV4dFRyYWNrUmVnaW9uOjpzZXRWaWV3
cG9ydEFuY2hvclgoZG91YmxlIHZhbHVlLCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAo
c3RkOjppc2luZih2YWx1ZSkgfHwgc3RkOjppc25hbih2YWx1ZSkpIHsKKyAgICAgICAgZWMgPSBU
eXBlRXJyb3I7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAodmFsdWUgPCAwIHx8
IHZhbHVlID4gMTAwKSB7CisgICAgICAgIGVjID0gSU5ERVhfU0laRV9FUlI7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisKKyAgICBtX3ZpZXdwb3J0QW5jaG9yLnNldFgodmFsdWUpOworfQorCit2
b2lkIFRleHRUcmFja1JlZ2lvbjo6c2V0Vmlld3BvcnRBbmNob3JZKGRvdWJsZSB2YWx1ZSwgRXhj
ZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKHN0ZDo6aXNpbmYodmFsdWUpIHx8IHN0ZDo6aXNu
YW4odmFsdWUpKSB7CisgICAgICAgIGVjID0gVHlwZUVycm9yOworICAgICAgICByZXR1cm47Cisg
ICAgfQorCisgICAgaWYgKHZhbHVlIDwgMCB8fCB2YWx1ZSA+IDEwMCkgeworICAgICAgICBlYyA9
IElOREVYX1NJWkVfRVJSOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgbV92aWV3cG9y
dEFuY2hvci5zZXRZKHZhbHVlKTsKK30KKworY29uc3QgQXRvbWljU3RyaW5nIFRleHRUcmFja1Jl
Z2lvbjo6c2Nyb2xsKCkgY29uc3QKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IEF0
b21pY1N0cmluZywgdXBTY3JvbGxWYWx1ZUtleXdvcmQsICgidXAiLCBBdG9taWNTdHJpbmc6OkNv
bnN0cnVjdEZyb21MaXRlcmFsKSk7CisKKyAgICBpZiAobV9zY3JvbGwpCisgICAgICAgIHJldHVy
biB1cFNjcm9sbFZhbHVlS2V5d29yZDsKKworICAgIHJldHVybiAiIjsKK30KKwordm9pZCBUZXh0
VHJhY2tSZWdpb246OnNldFNjcm9sbChjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlLCBFeGNlcHRp
b25Db2RlJiBlYykKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IEF0b21pY1N0cmlu
ZywgdXBTY3JvbGxWYWx1ZUtleXdvcmQsICgidXAiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZy
b21MaXRlcmFsKSk7CisKKyAgICBpZiAodmFsdWUgIT0gZW1wdHlTdHJpbmcoKSAmJiB2YWx1ZSAh
PSB1cFNjcm9sbFZhbHVlS2V5d29yZCkgeworICAgICAgICBlYyA9IFNZTlRBWF9FUlI7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKKyAgICBtX3Njcm9sbCA9IHZhbHVlID09IHVwU2Nyb2xsVmFs
dWVLZXl3b3JkOworfQorCit2b2lkIFRleHRUcmFja1JlZ2lvbjo6c2V0UmVnaW9uU2V0dGluZ3Mo
Y29uc3QgU3RyaW5nJiBpbnB1dCkKK3sKKyAgICAvLyBGSVhNRSgxMDk4MTgpOiBQYXJzZSByZWdp
b24gaGVhZGVyIG1ldGFkYXRhLgorfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tSZWdpb24u
aCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrUmVnaW9uLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOWViM2NiNTkwY2U3ZDI3ZmEzOTI2MmIwNzNiYTIyNTE4MmI5ZGYwMAotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrUmVnaW9uLmgKQEAgLTAs
MCArMSwxMDkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBt
ZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICog
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2lmbmRlZiBUZXh0VHJhY2tSZWdpb25faAorI2RlZmluZSBUZXh0VHJhY2tS
ZWdpb25faAorCisjaWYgRU5BQkxFKFZJREVPX1RSQUNLKSAmJiBFTkFCTEUoV0VCVlRUX1JFR0lP
TlMpCisKKyNpbmNsdWRlICJGbG9hdFBvaW50LmgiCisjaW5jbHVkZSAiVGV4dFRyYWNrLmgiCisj
aW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFRleHRUcmFja1JlZ2lvbiA6IHB1YmxpYyBS
ZWZDb3VudGVkPFRleHRUcmFja1JlZ2lvbj4geworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVm
UHRyPFRleHRUcmFja1JlZ2lvbj4gY3JlYXRlKCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9w
dFJlZihuZXcgVGV4dFRyYWNrUmVnaW9uKCkpOworICAgIH0KKworICAgIHZpcnR1YWwgflRleHRU
cmFja1JlZ2lvbigpOworCisgICAgVGV4dFRyYWNrKiB0cmFjaygpIGNvbnN0IHsgcmV0dXJuIDA7
IH0KKworICAgIGNvbnN0IFN0cmluZyYgaWQoKSBjb25zdCB7IHJldHVybiBtX2lkOyB9CisgICAg
dm9pZCBzZXRJZChjb25zdCBTdHJpbmcmKTsKKworICAgIGRvdWJsZSB3aWR0aCgpIGNvbnN0IHsg
cmV0dXJuIG1fd2lkdGg7IH0KKyAgICB2b2lkIHNldFdpZHRoKGRvdWJsZSwgRXhjZXB0aW9uQ29k
ZSYpOworCisgICAgbG9uZyBoZWlnaHQoKSBjb25zdCB7IHJldHVybiBtX2hlaWdodEluTGluZXM7
IH0KKyAgICB2b2lkIHNldEhlaWdodChsb25nLCBFeGNlcHRpb25Db2RlJik7CisKKyAgICBkb3Vi
bGUgcmVnaW9uQW5jaG9yWCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVnaW9uQW5jaG9yLngoKTsgfQor
ICAgIHZvaWQgc2V0UmVnaW9uQW5jaG9yWChkb3VibGUsIEV4Y2VwdGlvbkNvZGUmKTsKKworICAg
IGRvdWJsZSByZWdpb25BbmNob3JZKCkgY29uc3QgeyByZXR1cm4gbV9yZWdpb25BbmNob3IueSgp
OyB9CisgICAgdm9pZCBzZXRSZWdpb25BbmNob3JZKGRvdWJsZSwgRXhjZXB0aW9uQ29kZSYpOwor
CisgICAgZG91YmxlIHZpZXdwb3J0QW5jaG9yWCgpIGNvbnN0IHsgcmV0dXJuIG1fdmlld3BvcnRB
bmNob3IueCgpOyB9CisgICAgdm9pZCBzZXRWaWV3cG9ydEFuY2hvclgoZG91YmxlLCBFeGNlcHRp
b25Db2RlJik7CisKKyAgICBkb3VibGUgdmlld3BvcnRBbmNob3JZKCkgY29uc3QgeyByZXR1cm4g
bV92aWV3cG9ydEFuY2hvci55KCk7IH0KKyAgICB2b2lkIHNldFZpZXdwb3J0QW5jaG9yWShkb3Vi
bGUsIEV4Y2VwdGlvbkNvZGUmKTsKKworICAgIGNvbnN0IEF0b21pY1N0cmluZyBzY3JvbGwoKSBj
b25zdDsKKyAgICB2b2lkIHNldFNjcm9sbChjb25zdCBBdG9taWNTdHJpbmcmLCBFeGNlcHRpb25D
b2RlJik7CisKKyAgICBjb25zdCBTdHJpbmcmIHJlZ2lvblNldHRpbmdzKCkgY29uc3QgeyByZXR1
cm4gbV9zZXR0aW5nczsgfQorICAgIHZvaWQgc2V0UmVnaW9uU2V0dGluZ3MoY29uc3QgU3RyaW5n
Jik7CisKK3ByaXZhdGU6CisgICAgVGV4dFRyYWNrUmVnaW9uKCk7CisKKyAgICBlbnVtIFJlZ2lv
blNldHRpbmcgeworICAgICAgICBOb25lLAorICAgICAgICBJZCwKKyAgICAgICAgV2lkdGgsCisg
ICAgICAgIEhlaWdodCwKKyAgICAgICAgUmVnaW9uQW5jaG9yLAorICAgICAgICBWaWV3cG9ydEFu
Y2hvciwKKyAgICAgICAgU2Nyb2xsCisgICAgfTsKKworICAgIFN0cmluZyBtX2lkOworICAgIFN0
cmluZyBtX3NldHRpbmdzOworCisgICAgZG91YmxlIG1fd2lkdGg7CisgICAgdW5zaWduZWQgbV9o
ZWlnaHRJbkxpbmVzOworCisgICAgRmxvYXRQb2ludCBtX3JlZ2lvbkFuY2hvcjsKKyAgICBGbG9h
dFBvaW50IG1fdmlld3BvcnRBbmNob3I7CisKKyAgICBib29sIG1fc2Nyb2xsOworfTsKKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tSZWdpb24uaWRsIGIvU291cmNlL1dlYkNvcmUv
aHRtbC90cmFjay9UZXh0VHJhY2tSZWdpb24uaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMyODE2NmJlN2MzNzNk
YzU4NDZlZjM3YWI1NGVhMGNiOGQ3YTk2M2QKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3RyYWNrL1RleHRUcmFja1JlZ2lvbi5pZGwKQEAgLTAsMCArMSw1MCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBV
VEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVU
RVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
CisgKi8KKworWworICAgIENvbmRpdGlvbmFsPVZJREVPX1RSQUNLICYgV0VCVlRUX1JFR0lPTlMs
CisgICAgVjhFbmFibGVkQXRSdW50aW1lPXdlYmtpdFZpZGVvVHJhY2ssCisgICAgSlNHZW5lcmF0
ZVRvTmF0aXZlT2JqZWN0LAorICAgIENvbnN0cnVjdG9yKCkKK10gaW50ZXJmYWNlIFRleHRUcmFj
a1JlZ2lvbiB7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIFRleHRUcmFjayB0cmFjazsKKworICAg
IGF0dHJpYnV0ZSBET01TdHJpbmcgaWQ7CisgICAgYXR0cmlidXRlIGRvdWJsZSB3aWR0aAorICAg
ICAgICBzZXR0ZXIgcmFpc2VzIChET01FeGNlcHRpb24pOworICAgIGF0dHJpYnV0ZSBsb25nIGhl
aWdodAorICAgICAgICBzZXR0ZXIgcmFpc2VzIChET01FeGNlcHRpb24pOworICAgIGF0dHJpYnV0
ZSBkb3VibGUgcmVnaW9uQW5jaG9yWAorICAgICAgICBzZXR0ZXIgcmFpc2VzIChET01FeGNlcHRp
b24pOworICAgIGF0dHJpYnV0ZSBkb3VibGUgcmVnaW9uQW5jaG9yWQorICAgICAgICBzZXR0ZXIg
cmFpc2VzIChET01FeGNlcHRpb24pOworICAgIGF0dHJpYnV0ZSBkb3VibGUgdmlld3BvcnRBbmNo
b3JYCisgICAgICAgIHNldHRlciByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisgICAgYXR0cmlidXRl
IGRvdWJsZSB2aWV3cG9ydEFuY2hvclkKKyAgICAgICAgc2V0dGVyIHJhaXNlcyAoRE9NRXhjZXB0
aW9uKTsKKyAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHNjcm9sbAorICAgICAgICBzZXR0ZXIgcmFp
c2VzIChET01FeGNlcHRpb24pOworfTsKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9ET01XaW5kb3cuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCmluZGV4
IDEzNGU0OGRiOTMxOWYyZWZiNTQ1NThlZDYyZTllNjg4NWI3ZDc2ZGIuLjk4Mzc0Y2NiOTQ5NWYw
YjA5ZTUxN2IxMGJlMTk5ZTQ2MzhlODQxZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRE9NV2luZG93LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwK
QEAgLTQ5Miw2ICs0OTIsNyBAQAogICAgIFtDb25kaXRpb25hbD1WSURFT19UUkFDSywgVjhFbmFi
bGVkQXRSdW50aW1lPXdlYmtpdFZpZGVvVHJhY2tdIGF0dHJpYnV0ZSBUZXh0VHJhY2tDdWVDb25z
dHJ1Y3RvciBUZXh0VHJhY2tDdWU7IC8vIFVzYWJsZSB3aXRoIHRoZSBuZXcgb3BlcmF0b3IKICAg
ICBbQ29uZGl0aW9uYWw9VklERU9fVFJBQ0ssIFY4RW5hYmxlZEF0UnVudGltZT13ZWJraXRWaWRl
b1RyYWNrXSBhdHRyaWJ1dGUgVGV4dFRyYWNrQ3VlTGlzdENvbnN0cnVjdG9yIFRleHRUcmFja0N1
ZUxpc3Q7CiAgICAgW0NvbmRpdGlvbmFsPVZJREVPX1RSQUNLLCBWOEVuYWJsZWRBdFJ1bnRpbWU9
d2Via2l0VmlkZW9UcmFja10gYXR0cmlidXRlIFRleHRUcmFja0xpc3RDb25zdHJ1Y3RvciBUZXh0
VHJhY2tMaXN0OworICAgIFtDb25kaXRpb25hbD1WSURFT19UUkFDSyAmIFdFQlZUVF9SRUdJT05T
LCBWOEVuYWJsZWRBdFJ1bnRpbWU9d2Via2l0VmlkZW9UcmFja10gYXR0cmlidXRlIFRleHRUcmFj
a1JlZ2lvbkNvbnN0cnVjdG9yIFRleHRUcmFja1JlZ2lvbjsgLy8gVXNhYmxlIHdpdGggdGhlIG5l
dyBvcGVyYXRvcgogICAgIFtDb25kaXRpb25hbD1WSURFT19UUkFDSywgVjhFbmFibGVkQXRSdW50
aW1lPXdlYmtpdFZpZGVvVHJhY2tdIGF0dHJpYnV0ZSBUcmFja0V2ZW50Q29uc3RydWN0b3IgVHJh
Y2tFdmVudDsKIAogICAgIFtKU0N1c3RvbUdldHRlciwgQ29uZGl0aW9uYWw9VklERU8sIFY4RW5h
YmxlZEF0UnVudGltZV0gYXR0cmlidXRlIEhUTUxBdWRpb0VsZW1lbnRDb25zdHJ1Y3RvckNvbnN0
cnVjdG9yIEF1ZGlvOyAvLyBVc2FibGUgd2l0aCB0aGUgbmV3IG9wZXJhdG9yCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNDU2
MzdiMjBmYzgyMDdhYzE1ODg1ODBlODc5NzkxZWQxZGM2MzljOC4uMjllYWMwNzdhNjYzMzY4YzVl
OTM0ZmY5MzRjMjQ5NzI2MjdlN2Y3YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEzLTAzLTA2
ICBWaWN0b3IgQ2FyYnVuZSAgPHZjYXJidW5lQGNocm9taXVtLm9yZz4KKworICAgICAgICBUZXh0
VHJhY2tSZWdpb24gQ29uc3RydWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTExMDUxMQorCisgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGgu
CisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIG1lZGlhL3RyYWNrL3Jl
Z2lvbnMtd2VidnR0L3RleHQtdHJhY2stcmVnaW9uLWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogbWVkaWEvdHJhY2svcmVnaW9ucy13ZWJ2dHQvdGV4dC10cmFjay1y
ZWdpb24tY29uc3RydWN0b3IuaHRtbDogQWRkZWQuCisKIDIwMTMtMDMtMDUgIENsYXVkaW8gU2Fh
dmVkcmEgIDxjc2FhdmVkcmFAaWdhbGlhLmNvbT4KIAogICAgICAgICBNYWtlIHRvZ2dsZS11bmxp
bmsuaHRtbCB0ZXN0IE1hYyBzcGVjaWZpYyBiZWhhdmlvdXIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4
IDg1ZTkyMDg3YjRkMTQ1NTc4MTJkY2EyMmNmNDNjMTY4MjQ2Y2VlNzUuLjY5ZjU4NTNlNTUyYWY4
M2EwYTQ3NTFlNWI1YzgyMzcwODY5MmEyZWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RF
eHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNSwzICs1
LDUgQEAKICMgcGVuZGluZyBmdW5jdGlvbmFsIHBhdGNoIGFuZCBwZXItcG9ydCB2ZXJpZmljYXRp
b24KIHdlYmtpdC5vcmcvYi8xMDk5NTQgY3NzMy9saW5lLWJyZWFrIFsgU2tpcCBdCiAKKyMgcGVu
ZGluZyBpbXBsZW1lbnRhdGlvbiBjb21wbGV0aW9uIGFuZCBmZWF0dXJlIGVuYWJsaW5nCit3ZWJr
aXQub3JnL2IvMTA5NTcwIG1lZGlhL3RyYWNrL3JlZ2lvbnMtd2VidnR0IFsgU2tpcCBdCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay9yZWdpb25zLXdlYnZ0dC90ZXh0LXRyYWNr
LXJlZ2lvbi1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9tZWRpYS90cmFj
ay9yZWdpb25zLXdlYnZ0dC90ZXh0LXRyYWNrLXJlZ2lvbi1jb25zdHJ1Y3Rvci1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTY3ZmQ3M2MwYmQ2YmI0MDUyNmI5MTZkNjVmZGIyZmIxMzZkMDJlMgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3JlZ2lvbnMtd2VidnR0
L3RleHQtdHJhY2stcmVnaW9uLWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEy
MCBAQAorVGVzdHMgdGhlIGNvbnN0cnVjdG9yIGFuZCBtdXRhdGlvbiBvZiBUZXh0VHJhY2tSZWdp
b24uCisKKyoqIFRlc3QgdGhlIGRlZmF1bHQgaW5kZXhzIG9mIGEgcmVnaW9uLiAqKgorRVhQRUNU
RUQgKHJlZ2lvbi50cmFjayA9PSAnbnVsbCcpIE9LCitFWFBFQ1RFRCAocmVnaW9uLnNjcm9sbCA9
PSAnJykgT0sKK0VYUEVDVEVEIChyZWdpb24udmlld3BvcnRBbmNob3JYID09ICcwJykgT0sKK0VY
UEVDVEVEIChyZWdpb24udmlld3BvcnRBbmNob3JZID09ICcxMDAnKSBPSworRVhQRUNURUQgKHJl
Z2lvbi5yZWdpb25BbmNob3JYID09ICcwJykgT0sKK0VYUEVDVEVEIChyZWdpb24ucmVnaW9uQW5j
aG9yWSA9PSAnMTAwJykgT0sKK0VYUEVDVEVEIChyZWdpb24uaGVpZ2h0ID09ICczJykgT0sKK0VY
UEVDVEVEIChyZWdpb24ud2lkdGggPT0gJzEwMCcpIE9LCisKKyoqIFRlc3QgdGhhdCBpbmNvcnJl
Y3QgbXV0YXRpb24ga2VlcHMgcHJldmlvdXMgdmFsaWQgdmFsdWVzLiAqKgorUlVOKHJlZ2lvbi5z
Y3JvbGwgPSAnaW52YWxpZC1zY3JvbGwtdmFsdWUnKQorRXJyb3I6IFN5bnRheEVycm9yOiBET00g
RXhjZXB0aW9uIDEyCitFWFBFQ1RFRCAocmVnaW9uLnNjcm9sbCA9PSAnJykgT0sKKworSW52YWxp
ZCBwZXJjZW50YWdlIHZhbHVlOiAtMQorUlVOKHJlZ2lvbi52aWV3cG9ydEFuY2hvclggPSBpbnZh
bGlkUGVyY2VudGFnZVZhbHVlc1tpbmRleF0pCitFcnJvcjogSW5kZXhTaXplRXJyb3I6IERPTSBF
eGNlcHRpb24gMQorRVhQRUNURUQgKHJlZ2lvbi52aWV3cG9ydEFuY2hvclggPT0gJzAnKSBPSwor
UlVOKHJlZ2lvbi52aWV3cG9ydEFuY2hvclkgPSBpbnZhbGlkUGVyY2VudGFnZVZhbHVlc1tpbmRl
eF0pCitFcnJvcjogSW5kZXhTaXplRXJyb3I6IERPTSBFeGNlcHRpb24gMQorRVhQRUNURUQgKHJl
Z2lvbi52aWV3cG9ydEFuY2hvclkgPT0gJzEwMCcpIE9LCitSVU4ocmVnaW9uLnJlZ2lvbkFuY2hv
clggPSBpbnZhbGlkUGVyY2VudGFnZVZhbHVlc1tpbmRleF0pCitFcnJvcjogSW5kZXhTaXplRXJy
b3I6IERPTSBFeGNlcHRpb24gMQorRVhQRUNURUQgKHJlZ2lvbi5yZWdpb25BbmNob3JYID09ICcw
JykgT0sKK1JVTihyZWdpb24ucmVnaW9uQW5jaG9yWSA9IGludmFsaWRQZXJjZW50YWdlVmFsdWVz
W2luZGV4XSkKK0Vycm9yOiBJbmRleFNpemVFcnJvcjogRE9NIEV4Y2VwdGlvbiAxCitFWFBFQ1RF
RCAocmVnaW9uLnJlZ2lvbkFuY2hvclkgPT0gJzEwMCcpIE9LCitSVU4ocmVnaW9uLndpZHRoID0g
aW52YWxpZFBlcmNlbnRhZ2VWYWx1ZXNbaW5kZXhdKQorRXJyb3I6IEluZGV4U2l6ZUVycm9yOiBE
T00gRXhjZXB0aW9uIDEKK0VYUEVDVEVEIChyZWdpb24ud2lkdGggPT0gJzEwMCcpIE9LCisKK0lu
dmFsaWQgcGVyY2VudGFnZSB2YWx1ZTogMTAxCitSVU4ocmVnaW9uLnZpZXdwb3J0QW5jaG9yWCA9
IGludmFsaWRQZXJjZW50YWdlVmFsdWVzW2luZGV4XSkKK0Vycm9yOiBJbmRleFNpemVFcnJvcjog
RE9NIEV4Y2VwdGlvbiAxCitFWFBFQ1RFRCAocmVnaW9uLnZpZXdwb3J0QW5jaG9yWCA9PSAnMCcp
IE9LCitSVU4ocmVnaW9uLnZpZXdwb3J0QW5jaG9yWSA9IGludmFsaWRQZXJjZW50YWdlVmFsdWVz
W2luZGV4XSkKK0Vycm9yOiBJbmRleFNpemVFcnJvcjogRE9NIEV4Y2VwdGlvbiAxCitFWFBFQ1RF
RCAocmVnaW9uLnZpZXdwb3J0QW5jaG9yWSA9PSAnMTAwJykgT0sKK1JVTihyZWdpb24ucmVnaW9u
QW5jaG9yWCA9IGludmFsaWRQZXJjZW50YWdlVmFsdWVzW2luZGV4XSkKK0Vycm9yOiBJbmRleFNp
emVFcnJvcjogRE9NIEV4Y2VwdGlvbiAxCitFWFBFQ1RFRCAocmVnaW9uLnJlZ2lvbkFuY2hvclgg
PT0gJzAnKSBPSworUlVOKHJlZ2lvbi5yZWdpb25BbmNob3JZID0gaW52YWxpZFBlcmNlbnRhZ2VW
YWx1ZXNbaW5kZXhdKQorRXJyb3I6IEluZGV4U2l6ZUVycm9yOiBET00gRXhjZXB0aW9uIDEKK0VY
UEVDVEVEIChyZWdpb24ucmVnaW9uQW5jaG9yWSA9PSAnMTAwJykgT0sKK1JVTihyZWdpb24ud2lk
dGggPSBpbnZhbGlkUGVyY2VudGFnZVZhbHVlc1tpbmRleF0pCitFcnJvcjogSW5kZXhTaXplRXJy
b3I6IERPTSBFeGNlcHRpb24gMQorRVhQRUNURUQgKHJlZ2lvbi53aWR0aCA9PSAnMTAwJykgT0sK
KworSW52YWxpZCBwZXJjZW50YWdlIHZhbHVlOiAtSW5maW5pdHkKK1JVTihyZWdpb24udmlld3Bv
cnRBbmNob3JYID0gaW52YWxpZFBlcmNlbnRhZ2VWYWx1ZXNbaW5kZXhdKQorVHlwZUVycm9yOiBU
eXBlIGVycm9yCitFWFBFQ1RFRCAocmVnaW9uLnZpZXdwb3J0QW5jaG9yWCA9PSAnMCcpIE9LCitS
VU4ocmVnaW9uLnZpZXdwb3J0QW5jaG9yWSA9IGludmFsaWRQZXJjZW50YWdlVmFsdWVzW2luZGV4
XSkKK1R5cGVFcnJvcjogVHlwZSBlcnJvcgorRVhQRUNURUQgKHJlZ2lvbi52aWV3cG9ydEFuY2hv
clkgPT0gJzEwMCcpIE9LCitSVU4ocmVnaW9uLnJlZ2lvbkFuY2hvclggPSBpbnZhbGlkUGVyY2Vu
dGFnZVZhbHVlc1tpbmRleF0pCitUeXBlRXJyb3I6IFR5cGUgZXJyb3IKK0VYUEVDVEVEIChyZWdp
b24ucmVnaW9uQW5jaG9yWCA9PSAnMCcpIE9LCitSVU4ocmVnaW9uLnJlZ2lvbkFuY2hvclkgPSBp
bnZhbGlkUGVyY2VudGFnZVZhbHVlc1tpbmRleF0pCitUeXBlRXJyb3I6IFR5cGUgZXJyb3IKK0VY
UEVDVEVEIChyZWdpb24ucmVnaW9uQW5jaG9yWSA9PSAnMTAwJykgT0sKK1JVTihyZWdpb24ud2lk
dGggPSBpbnZhbGlkUGVyY2VudGFnZVZhbHVlc1tpbmRleF0pCitUeXBlRXJyb3I6IFR5cGUgZXJy
b3IKK0VYUEVDVEVEIChyZWdpb24ud2lkdGggPT0gJzEwMCcpIE9LCisKK0ludmFsaWQgcGVyY2Vu
dGFnZSB2YWx1ZTogSW5maW5pdHkKK1JVTihyZWdpb24udmlld3BvcnRBbmNob3JYID0gaW52YWxp
ZFBlcmNlbnRhZ2VWYWx1ZXNbaW5kZXhdKQorVHlwZUVycm9yOiBUeXBlIGVycm9yCitFWFBFQ1RF
RCAocmVnaW9uLnZpZXdwb3J0QW5jaG9yWCA9PSAnMCcpIE9LCitSVU4ocmVnaW9uLnZpZXdwb3J0
QW5jaG9yWSA9IGludmFsaWRQZXJjZW50YWdlVmFsdWVzW2luZGV4XSkKK1R5cGVFcnJvcjogVHlw
ZSBlcnJvcgorRVhQRUNURUQgKHJlZ2lvbi52aWV3cG9ydEFuY2hvclkgPT0gJzEwMCcpIE9LCitS
VU4ocmVnaW9uLnJlZ2lvbkFuY2hvclggPSBpbnZhbGlkUGVyY2VudGFnZVZhbHVlc1tpbmRleF0p
CitUeXBlRXJyb3I6IFR5cGUgZXJyb3IKK0VYUEVDVEVEIChyZWdpb24ucmVnaW9uQW5jaG9yWCA9
PSAnMCcpIE9LCitSVU4ocmVnaW9uLnJlZ2lvbkFuY2hvclkgPSBpbnZhbGlkUGVyY2VudGFnZVZh
bHVlc1tpbmRleF0pCitUeXBlRXJyb3I6IFR5cGUgZXJyb3IKK0VYUEVDVEVEIChyZWdpb24ucmVn
aW9uQW5jaG9yWSA9PSAnMTAwJykgT0sKK1JVTihyZWdpb24ud2lkdGggPSBpbnZhbGlkUGVyY2Vu
dGFnZVZhbHVlc1tpbmRleF0pCitUeXBlRXJyb3I6IFR5cGUgZXJyb3IKK0VYUEVDVEVEIChyZWdp
b24ud2lkdGggPT0gJzEwMCcpIE9LCisKK0ludmFsaWQgcGVyY2VudGFnZSB2YWx1ZTogTmFOCitS
VU4ocmVnaW9uLnZpZXdwb3J0QW5jaG9yWCA9IGludmFsaWRQZXJjZW50YWdlVmFsdWVzW2luZGV4
XSkKK1R5cGVFcnJvcjogVHlwZSBlcnJvcgorRVhQRUNURUQgKHJlZ2lvbi52aWV3cG9ydEFuY2hv
clggPT0gJzAnKSBPSworUlVOKHJlZ2lvbi52aWV3cG9ydEFuY2hvclkgPSBpbnZhbGlkUGVyY2Vu
dGFnZVZhbHVlc1tpbmRleF0pCitUeXBlRXJyb3I6IFR5cGUgZXJyb3IKK0VYUEVDVEVEIChyZWdp
b24udmlld3BvcnRBbmNob3JZID09ICcxMDAnKSBPSworUlVOKHJlZ2lvbi5yZWdpb25BbmNob3JY
ID0gaW52YWxpZFBlcmNlbnRhZ2VWYWx1ZXNbaW5kZXhdKQorVHlwZUVycm9yOiBUeXBlIGVycm9y
CitFWFBFQ1RFRCAocmVnaW9uLnJlZ2lvbkFuY2hvclggPT0gJzAnKSBPSworUlVOKHJlZ2lvbi5y
ZWdpb25BbmNob3JZID0gaW52YWxpZFBlcmNlbnRhZ2VWYWx1ZXNbaW5kZXhdKQorVHlwZUVycm9y
OiBUeXBlIGVycm9yCitFWFBFQ1RFRCAocmVnaW9uLnJlZ2lvbkFuY2hvclkgPT0gJzEwMCcpIE9L
CitSVU4ocmVnaW9uLndpZHRoID0gaW52YWxpZFBlcmNlbnRhZ2VWYWx1ZXNbaW5kZXhdKQorVHlw
ZUVycm9yOiBUeXBlIGVycm9yCitFWFBFQ1RFRCAocmVnaW9uLndpZHRoID09ICcxMDAnKSBPSwor
UlVOKHJlZ2lvbi5oZWlnaHQgPSAtMSkKK0Vycm9yOiBJbmRleFNpemVFcnJvcjogRE9NIEV4Y2Vw
dGlvbiAxCitFWFBFQ1RFRCAocmVnaW9uLmhlaWdodCA9PSAnMycpIE9LCisKKyoqIFRlc3QgdGhh
dCBwcm9wZXIgbXV0YXRpb24ga2VlcHMgYXNzaWduZWQgdmFsdWUuICoqCitSVU4ocmVnaW9uLmhl
aWdodCA9IDEzMCkKK0VYUEVDVEVEIChyZWdpb24uaGVpZ2h0ID09ICcxMzAnKSBPSworUlVOKHJl
Z2lvbi52aWV3cG9ydEFuY2hvclggPSA2NCkKK0VYUEVDVEVEIChyZWdpb24udmlld3BvcnRBbmNo
b3JYID09ICc2NCcpIE9LCitSVU4ocmVnaW9uLnZpZXdwb3J0QW5jaG9yWSA9IDMyKQorRVhQRUNU
RUQgKHJlZ2lvbi52aWV3cG9ydEFuY2hvclkgPT0gJzMyJykgT0sKK1JVTihyZWdpb24ucmVnaW9u
QW5jaG9yWCA9IDE2KQorRVhQRUNURUQgKHJlZ2lvbi5yZWdpb25BbmNob3JYID09ICcxNicpIE9L
CitSVU4ocmVnaW9uLnJlZ2lvbkFuY2hvclkgPSA4KQorRVhQRUNURUQgKHJlZ2lvbi5yZWdpb25B
bmNob3JZID09ICc4JykgT0sKK1JVTihyZWdpb24ud2lkdGggPSA0MikKK0VYUEVDVEVEIChyZWdp
b24ud2lkdGggPT0gJzQyJykgT0sKK0VORCBPRiBURVNUCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL21lZGlhL3RyYWNrL3JlZ2lvbnMtd2VidnR0L3RleHQtdHJhY2stcmVnaW9uLWNvbnN0cnVj
dG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay9yZWdpb25zLXdlYnZ0dC90ZXh0LXRy
YWNrLXJlZ2lvbi1jb25zdHJ1Y3Rvci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZhZTM3OWJjNGViODc1Y2Y0
OWFmZjQ5ZTY2NGI1MmExMmM5ZmU5YTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9t
ZWRpYS90cmFjay9yZWdpb25zLXdlYnZ0dC90ZXh0LXRyYWNrLXJlZ2lvbi1jb25zdHJ1Y3Rvci5o
dG1sCkBAIC0wLDAgKzEsNzcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9o
dG1sOyBjaGFyc2V0PXV0Zi04IiAvPgorCisgICAgICAgIDxzY3JpcHQgc3JjPS4uLy4uL21lZGlh
LWZpbGUuanM+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPS4uLy4uL3ZpZGVvLXRlc3Qu
anM+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICB2YXIgcmVnaW9uOwor
ICAgICAgICAgICAgdmFyIGludmFsaWRQZXJjZW50YWdlVmFsdWVzOworCisgICAgICAgICAgICBm
dW5jdGlvbiBzdGFydFRlc3QoKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGlmICgh
d2luZG93LlRleHRUcmFja1JlZ2lvbikgeworICAgICAgICAgICAgICAgICAgICBmYWlsVGVzdCgp
OworICAgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAgfQorCisgICAg
ICAgICAgICAgICAgcmVnaW9uID0gbmV3IFRleHRUcmFja1JlZ2lvbigpOworCisgICAgICAgICAg
ICAgICAgY29uc29sZVdyaXRlKCIqKiBUZXN0IHRoZSBkZWZhdWx0IGluZGV4cyBvZiBhIHJlZ2lv
bi4gKioiKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInJlZ2lvbi50cmFjayIsIG51
bGwpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgicmVnaW9uLnNjcm9sbCIsICIiKTsK
KyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInJlZ2lvbi52aWV3cG9ydEFuY2hvclgiLCAw
KTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInJlZ2lvbi52aWV3cG9ydEFuY2hvclki
LCAxMDApOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgicmVnaW9uLnJlZ2lvbkFuY2hv
clgiLCAwKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInJlZ2lvbi5yZWdpb25BbmNo
b3JZIiwgMTAwKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInJlZ2lvbi5oZWlnaHQi
LCAzKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInJlZ2lvbi53aWR0aCIsIDEwMCk7
CisKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIjxicj4qKiBUZXN0IHRoYXQgaW5jb3Jy
ZWN0IG11dGF0aW9uIGtlZXBzIHByZXZpb3VzIHZhbGlkIHZhbHVlcy4gKioiKTsKKyAgICAgICAg
ICAgICAgICBydW4oInJlZ2lvbi5zY3JvbGwgPSAnaW52YWxpZC1zY3JvbGwtdmFsdWUnIik7Cisg
ICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJyZWdpb24uc2Nyb2xsIiwgIiIpOworCisgICAg
ICAgICAgICAgICAgaW52YWxpZFBlcmNlbnRhZ2VWYWx1ZXMgPSBbLTEsIDEwMSwgLUluZmluaXR5
LCBJbmZpbml0eSwgTmFOXTsKKyAgICAgICAgICAgICAgICBmb3IgKGluZGV4IGluIGludmFsaWRQ
ZXJjZW50YWdlVmFsdWVzKSB7CisgICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIjxicj5J
bnZhbGlkIHBlcmNlbnRhZ2UgdmFsdWU6ICIgKyBpbnZhbGlkUGVyY2VudGFnZVZhbHVlc1tpbmRl
eF0pOworICAgICAgICAgICAgICAgICAgcnVuKCJyZWdpb24udmlld3BvcnRBbmNob3JYID0gaW52
YWxpZFBlcmNlbnRhZ2VWYWx1ZXNbaW5kZXhdIik7CisgICAgICAgICAgICAgICAgICB0ZXN0RXhw
ZWN0ZWQoInJlZ2lvbi52aWV3cG9ydEFuY2hvclgiLCAwKTsKKyAgICAgICAgICAgICAgICAgIHJ1
bigicmVnaW9uLnZpZXdwb3J0QW5jaG9yWSA9IGludmFsaWRQZXJjZW50YWdlVmFsdWVzW2luZGV4
XSIpOworICAgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJyZWdpb24udmlld3BvcnRBbmNo
b3JZIiwgMTAwKTsKKyAgICAgICAgICAgICAgICAgIHJ1bigicmVnaW9uLnJlZ2lvbkFuY2hvclgg
PSBpbnZhbGlkUGVyY2VudGFnZVZhbHVlc1tpbmRleF0iKTsKKyAgICAgICAgICAgICAgICAgIHRl
c3RFeHBlY3RlZCgicmVnaW9uLnJlZ2lvbkFuY2hvclgiLCAwKTsKKyAgICAgICAgICAgICAgICAg
IHJ1bigicmVnaW9uLnJlZ2lvbkFuY2hvclkgPSBpbnZhbGlkUGVyY2VudGFnZVZhbHVlc1tpbmRl
eF0iKTsKKyAgICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgicmVnaW9uLnJlZ2lvbkFuY2hv
clkiLCAxMDApOworICAgICAgICAgICAgICAgICAgcnVuKCJyZWdpb24ud2lkdGggPSBpbnZhbGlk
UGVyY2VudGFnZVZhbHVlc1tpbmRleF0iKTsKKyAgICAgICAgICAgICAgICAgIHRlc3RFeHBlY3Rl
ZCgicmVnaW9uLndpZHRoIiwgMTAwKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
ICAgICBydW4oInJlZ2lvbi5oZWlnaHQgPSAtMSIpOworICAgICAgICAgICAgICAgIHRlc3RFeHBl
Y3RlZCgicmVnaW9uLmhlaWdodCIsIDMpOworCisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRl
KCI8YnI+KiogVGVzdCB0aGF0IHByb3BlciBtdXRhdGlvbiBrZWVwcyBhc3NpZ25lZCB2YWx1ZS4g
KioiKTsKKyAgICAgICAgICAgICAgICBydW4oInJlZ2lvbi5oZWlnaHQgPSAxMzAiKTsKKyAgICAg
ICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInJlZ2lvbi5oZWlnaHQiLCAxMzApOworCisgICAgICAg
ICAgICAgICAgcnVuKCJyZWdpb24udmlld3BvcnRBbmNob3JYID0gNjQiKTsKKyAgICAgICAgICAg
ICAgICB0ZXN0RXhwZWN0ZWQoInJlZ2lvbi52aWV3cG9ydEFuY2hvclgiLCA2NCk7CisgICAgICAg
ICAgICAgICAgcnVuKCJyZWdpb24udmlld3BvcnRBbmNob3JZID0gMzIiKTsKKyAgICAgICAgICAg
ICAgICB0ZXN0RXhwZWN0ZWQoInJlZ2lvbi52aWV3cG9ydEFuY2hvclkiLCAzMik7CisgICAgICAg
ICAgICAgICAgcnVuKCJyZWdpb24ucmVnaW9uQW5jaG9yWCA9IDE2Iik7CisgICAgICAgICAgICAg
ICAgdGVzdEV4cGVjdGVkKCJyZWdpb24ucmVnaW9uQW5jaG9yWCIsIDE2KTsKKyAgICAgICAgICAg
ICAgICBydW4oInJlZ2lvbi5yZWdpb25BbmNob3JZID0gOCIpOworICAgICAgICAgICAgICAgIHRl
c3RFeHBlY3RlZCgicmVnaW9uLnJlZ2lvbkFuY2hvclkiLCA4KTsKKworICAgICAgICAgICAgICAg
IHJ1bigicmVnaW9uLndpZHRoID0gNDIiKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQo
InJlZ2lvbi53aWR0aCIsIDQyKTsKKworICAgICAgICAgICAgICAgIGVuZFRlc3QoKTsKKyAgICAg
ICAgICAgIH0KKworICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgb25s
b2FkPSJzdGFydFRlc3QoKSI+CisgICAgICAgIDxwPlRlc3RzIHRoZSBjb25zdHJ1Y3RvciBhbmQg
bXV0YXRpb24gb2YgVGV4dFRyYWNrUmVnaW9uLjwvcD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>