<?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>66143</bug_id>
          
          <creation_ts>2011-08-12 09:41:44 -0700</creation_ts>
          <short_desc>[CSSRegions] RenderFlowThread layout should use the attached region sizes</short_desc>
          <delta_ts>2011-08-23 12:45:01 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>57312</blocked>
    
    <blocked>66198</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexandru Chiculita">achicu</reporter>
          <assigned_to name="Alexandru Chiculita">achicu</assigned_to>
          <cc>hyatt</cc>
    
    <cc>mihnea</cc>
    
    <cc>pkasting</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>450473</commentid>
    <comment_count>0</comment_count>
    <who name="Alexandru Chiculita">achicu</who>
    <bug_when>2011-08-12 09:41:44 -0700</bug_when>
    <thetext>Currently the RenderFlowThread is taking the maximum size of the attached regions. It should flow the content inside the specified region sizes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>454518</commentid>
    <comment_count>1</comment_count>
      <attachid>104659</attachid>
    <who name="Alexandru Chiculita">achicu</who>
    <bug_when>2011-08-22 03:40:04 -0700</bug_when>
    <thetext>Created attachment 104659
Patch V1

RenderFlowThread::layout will set the current flow thread on its own RenderView. RenderFlowThread cannot be nested inside a single RenderView, so there&apos;s no need to keep it on the LayoutState.

The RenderFlowThread uses the width of the maximum region, but when it comes to measuring the width of a specific line, the width is adjusted by the difference between the largest region and the region that contains that line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>454525</commentid>
    <comment_count>2</comment_count>
      <attachid>104660</attachid>
    <who name="Alexandru Chiculita">achicu</who>
    <bug_when>2011-08-22 04:08:38 -0700</bug_when>
    <thetext>Created attachment 104660
Patch V2

Using fixedOffset instead of right in RenderBlock::logicalRightOffsetForLine, so that heightRemaining still works correctly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>454785</commentid>
    <comment_count>3</comment_count>
      <attachid>104660</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2011-08-22 12:08:39 -0700</bug_when>
    <thetext>Comment on attachment 104660
Patch V2

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

Just need some minor tweaks.

&gt; Source/WebCore/rendering/RenderBlock.cpp:1229
&gt;      LayoutStateMaintainer statePusher(view(), this, locationOffset(), hasColumns() || hasTransform() || hasReflection() || style()-&gt;isFlippedBlocksWritingMode(), pageLogicalHeight, pageLogicalHeightChanged, colInfo);
&gt;  
&gt; +    bool disableRegionFitting = view()-&gt;hasRenderFlowThread() &amp;&amp; (hasColumns() || (isPositioned() &amp;&amp; !isRenderFlowThread()) || isFloating());
&gt; +    RegionFittingDisabler regionFittingDisabler(view()-&gt;currentRenderFlowThread(), disableRegionFitting);

Pull view() into a local since it&apos;s being accessed three times here in quick succession.

&gt; Source/WebCore/rendering/RenderBlock.cpp:3576
&gt; +    if (view()-&gt;hasRenderFlowThread()) {
&gt; +        RenderFlowThread* flowThread = view()-&gt;currentRenderFlowThread();
&gt; +        if (flowThread-&gt;isRegionFittingEnabled()) {
&gt; +            LayoutState* layoutState = view()-&gt;layoutState();
&gt; +            IntSize delta = layoutState-&gt;m_layoutOffset - layoutState-&gt;m_pageOffset;
&gt; +            int offset = isHorizontalWritingMode() ? delta.height() : delta.width();
&gt; +            LayoutUnit regionWidth = flowThread-&gt;regionLogicalWidthForLine(offset + logicalTop);
&gt; +            right -= flowThread-&gt;logicalWidth() - regionWidth;
&gt; +        }
&gt; +    }

Pull this into a helper function. Even a little static function would be nice. I&apos;m not sure if there&apos;s any compelling logic behind picking the right side to shrink or if you just made an arbitrary call. It&apos;s cool that this gets lines working, but we know long-term that this solution isn&apos;t going to work for block splitting. I guess it&apos;s better than nothing though.

&gt; Source/WebCore/rendering/RenderFlowThread.cpp:466
&gt; +    // FIXME: The regions are always in order, optimize this search.

Interval tree might work here right?

&gt; Source/WebCore/rendering/RenderFlowThread.h:108
&gt; +    RenderRegion* renderRegionForLine(LayoutUnit logicalTop) const;

This isn&apos;t a &quot;logicalTop&quot; really. It&apos;s just a position that is examined. I&apos;d rename &quot;logicalTop&quot; to &quot;position&quot; since that matches the other &quot;ForLine&quot; methods in RenderBlock.

&gt; Source/WebCore/rendering/RenderRegion.cpp:89
&gt; +    if (m_flowThread &amp;&amp; isValid())
&gt; +        m_flowThread-&gt;invalidateRegions();

Can you go from valid to invalid? If so, then you would need an invalidate for that also. I&apos;m thinking you probably can&apos;t, but I figured I&apos;d double-check. I&apos;m assuming going from valid to invalid can only happen across a reconstruction of the RenderObject.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>454805</commentid>
    <comment_count>4</comment_count>
    <who name="Alexandru Chiculita">achicu</who>
    <bug_when>2011-08-22 12:29:46 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 104660 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=104660&amp;action=review

&gt; Pull view() into a local since it&apos;s being accessed three times here in quick succession.

Ok.

&gt; Pull this into a helper function. Even a little static function would be nice.

Ok.

&gt; I&apos;m not sure if there&apos;s any compelling logic behind picking the right side to shrink or if you just made an arbitrary call. 

I was thinking that regions stay on the left, and I would need to adjust just the right edge.

&gt; It&apos;s cool that this gets lines working, but we know long-term that this solution isn&apos;t going to work for block splitting. I guess it&apos;s better than nothing though.

For blocks, I think two passes will be necessary. One with the region width size + region styling applied, and if the block fits inside a single region we&apos;re done, if not do a second pass with the maximum region width. I&apos;m not sure how would that work with incremental layout.

&gt; 
&gt; &gt; Source/WebCore/rendering/RenderFlowThread.cpp:466
&gt; &gt; +    // FIXME: The regions are always in order, optimize this search.
&gt; 
&gt; Interval tree might work here right?
Can that be in a separate bug? I&apos;m sure a simple binary search will do here, because the regions are always in order and never overlapping. Just that we now have a linked list and it would be slow to search the middle region.

&gt; This isn&apos;t a &quot;logicalTop&quot; really. It&apos;s just a position that is examined. I&apos;d rename &quot;logicalTop&quot; to &quot;position&quot; since that matches the other &quot;ForLine&quot; methods in RenderBlock.

Ok.

&gt; Can you go from valid to invalid? If so, then you would need an invalidate for that also. I&apos;m thinking you probably can&apos;t, but I figured I&apos;d double-check. I&apos;m assuming going from valid to invalid can only happen across a reconstruction of the RenderObject.

No, there should be no way to get from valid to invalid. The state is required for regions that are invalid when first added. At a later time other regions may be removed meaning that some of the invalid regions may become valid. That&apos;s why we need to keep track of invalid regions. Once valid a region cannot go back. A visible issue of this approach might be that one could remove a valid region and reverse the dependencies. When the same region is added back, this time it becomes invalid.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>454837</commentid>
    <comment_count>5</comment_count>
      <attachid>104722</attachid>
    <who name="Alexandru Chiculita">achicu</who>
    <bug_when>2011-08-22 13:16:38 -0700</bug_when>
    <thetext>Created attachment 104722
Patch V3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>454846</commentid>
    <comment_count>6</comment_count>
      <attachid>104722</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2011-08-22 13:23:35 -0700</bug_when>
    <thetext>Comment on attachment 104722
Patch V3

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>454891</commentid>
    <comment_count>7</comment_count>
      <attachid>104722</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-22 14:04:46 -0700</bug_when>
    <thetext>Comment on attachment 104722
Patch V3

Clearing flags on attachment: 104722

Committed r93538: &lt;http://trac.webkit.org/changeset/93538&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>454892</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-22 14:04:51 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>455019</commentid>
    <comment_count>9</comment_count>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2011-08-22 15:52:41 -0700</bug_when>
    <thetext>This seems to have caused the Leopard and SnowLeopard bots, as well as the Chromium Mac bot, to fail fast/repaint/japanese-rl-selection-repaint-in-regions.html .  Below I&apos;ve pasted a diff from the Leopard bot.  This looks like it could just be a test whose results need updating, but I don&apos;t know anything about this area, so I&apos;m not really sure.

The Chromium Mac bots are also failing downstream for the Chromium folks.  Since we run pixel tests, there are also pixel diffs in addition to textual diffs.

Because ATM neither achicu or dhyatt are around on #webkit to ask about this stuff, I&apos;m rolling this change back for now.

--- /Volumes/Data/slave/leopard-intel-debug-tests/build/layout-test-results/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.txt 
+++ /Volumes/Data/slave/leopard-intel-debug-tests/build/layout-test-results/fast/repaint/japanese-rl-selection-repaint-in-regions-actual.txt 
@@ -9,8 +9,8 @@
   Thread with flow-name &apos;thread&apos;
     layer at (400,0) size 400x400
       RenderFlowThread at (0,0) size 400x400
-        RenderBlock {DIV} at (0,0) size 480x400
-          RenderText {#text} at (5,0) size 469x388
+        RenderBlock {DIV} at (0,0) size 1248x400
+          RenderText {#text} at (5,0) size 1237x388
             text run at (5,0) width 381: &quot;\x{305B}\x{3063}\x{304B}\x{304F}\x{898B}\x{3064}\x{3051}\x{305F}\x{3059}\x{3070}\x{3089}\x{3057}\x{3044}\x{8A18}\x{4E8B}\x{304C}\x{3069}\x{3053}&quot;
             text run at (37,0) width 381: &quot;\x{306B}\x{3042}\x{3063}\x{305F}\x{304B}\x{5FD8}\x{308C}\x{3066}\x{3057}\x{307E}\x{3063}\x{305F}\x{7D4C}\x{9A13}\x{306F}\x{3042}\x{308A}\x{307E}&quot;
             text run at (69,0) width 360: &quot;\x{3059}\x{304B}\x{306A}\x{3089}\x{30BF}\x{30A4}\x{30C8}\x{30EB}\x{3068}\x{30A2}\x{30C9}\x{30EC}\x{30B9}\x{3060}\x{3051}\x{3067}\x{306A}&quot;
@@ -24,8 +24,32 @@
             text run at (325,0) width 381: &quot;\x{30DA}\x{30FC}\x{30B8}\x{306E}\x{30B3}\x{30F3}\x{30C6}\x{30F3}\x{30C4}\x{304B}\x{3089}\x{3082}\x{691C}\x{7D22}\x{3059}\x{308B}\x{3053}\x{3068}&quot;
             text run at (357,0) width 381: &quot;\x{304C}\x{3067}\x{304D}\x{307E}\x{3059}\x{3002}\x{305B}\x{3063}\x{304B}\x{304F}\x{898B}\x{3064}\x{3051}\x{305F}\x{3059}\x{3070}\x{3089}\x{3057}&quot;
             text run at (389,0) width 381: &quot;\x{3044}\x{8A18}\x{4E8B}\x{304C}\x{3069}\x{3053}\x{306B}\x{3042}\x{3063}\x{305F}\x{304B}\x{5FD8}\x{308C}\x{3066}\x{3057}\x{307E}\x{3063}\x{305F}&quot;
-            text run at (421,0) width 388: &quot;\x{7D4C}\x{9A13}\x{306F}\x{3042}\x{308A}\x{307E}\x{3059}\x{304B} \x{306A}\x{3089}\x{30BF}\x{30A4}\x{30C8}\x{30EB}\x{3068}\x{30A2}\x{30C9}\x{30EC}&quot;
-            text run at (453,0) width 191: &quot;\x{30B9}\x{3060}\x{3051}\x{3067}\x{306A}\x{304F}\x{3001}\x{8A2A}\x{554F}&quot;
+            text run at (421,0) width 22: &quot;\x{7D4C}&quot;
+            text run at (453,0) width 22: &quot;\x{9A13}&quot;
+            text run at (485,0) width 22: &quot;\x{306F}&quot;
+            text run at (517,0) width 22: &quot;\x{3042}&quot;
+            text run at (549,0) width 22: &quot;\x{308A}&quot;
+            text run at (581,0) width 22: &quot;\x{307E}&quot;
+            text run at (613,0) width 22: &quot;\x{3059}&quot;
+            text run at (645,0) width 22: &quot;\x{304B}&quot;
+            text run at (677,0) width 22: &quot;\x{306A}&quot;
+            text run at (709,0) width 22: &quot;\x{3089}&quot;
+            text run at (741,0) width 22: &quot;\x{30BF}&quot;
+            text run at (773,0) width 22: &quot;\x{30A4}&quot;
+            text run at (805,0) width 22: &quot;\x{30C8}&quot;
+            text run at (837,0) width 22: &quot;\x{30EB}&quot;
+            text run at (869,0) width 22: &quot;\x{3068}&quot;
+            text run at (901,0) width 22: &quot;\x{30A2}&quot;
+            text run at (933,0) width 22: &quot;\x{30C9}&quot;
+            text run at (965,0) width 22: &quot;\x{30EC}&quot;
+            text run at (997,0) width 22: &quot;\x{30B9}&quot;
+            text run at (1029,0) width 22: &quot;\x{3060}&quot;
+            text run at (1061,0) width 22: &quot;\x{3051}&quot;
+            text run at (1093,0) width 22: &quot;\x{3067}&quot;
+            text run at (1125,0) width 22: &quot;\x{306A}&quot;
+            text run at (1157,0) width 43: &quot;\x{304F}\x{3001}&quot;
+            text run at (1189,0) width 22: &quot;\x{8A2A}&quot;
+            text run at (1221,0) width 22: &quot;\x{554F}&quot;
   Regions for flow &apos;thread&apos;
     RenderRegion {DIV} with index 0
 selection start: position 28 of child 0 {#text} of child 1 {DIV} of body</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>455033</commentid>
    <comment_count>10</comment_count>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2011-08-22 16:15:29 -0700</bug_when>
    <thetext>Reverted r93538 for reason:

Broke Leopard, SnowLeopard, and Chromium Mac bots

Committed r93556: &lt;http://trac.webkit.org/changeset/93556&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>455171</commentid>
    <comment_count>11</comment_count>
    <who name="Alexandru Chiculita">achicu</who>
    <bug_when>2011-08-22 20:22:18 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Reverted r93538 for reason:
&gt; 
&gt; Broke Leopard, SnowLeopard, and Chromium Mac bots
&gt; 
&gt; Committed r93556: &lt;http://trac.webkit.org/changeset/93556&gt;

Sorry about that, that test would need to be updated, but I&apos;m not sure why it didn&apos;t show up when I run the tests or the chromium-bot did. For example, it isn&apos;t here http://queues.webkit.org/results/9467898 .</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>455182</commentid>
    <comment_count>12</comment_count>
      <attachid>104786</attachid>
    <who name="Alexandru Chiculita">achicu</who>
    <bug_when>2011-08-22 21:03:08 -0700</bug_when>
    <thetext>Created attachment 104786
Patch V4

Extended the last region width to all the content that doesn&apos;t fit into the regions and that will also fix the test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>455595</commentid>
    <comment_count>13</comment_count>
      <attachid>104786</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2011-08-23 12:21:38 -0700</bug_when>
    <thetext>Comment on attachment 104786
Patch V4

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>455619</commentid>
    <comment_count>14</comment_count>
      <attachid>104786</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-23 12:44:56 -0700</bug_when>
    <thetext>Comment on attachment 104786
Patch V4

Clearing flags on attachment: 104786

Committed r93627: &lt;http://trac.webkit.org/changeset/93627&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>455620</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-23 12:45:01 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>104659</attachid>
            <date>2011-08-22 03:40:04 -0700</date>
            <delta_ts>2011-08-22 04:08:38 -0700</delta_ts>
            <desc>Patch V1</desc>
            <filename>bug66143_1.patch</filename>
            <type>text/plain</type>
            <size>30497</size>
            <attacher name="Alexandru Chiculita">achicu</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwMjk3MjIxLi5kMTYwNGM4IDEwMDc1NQotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDgt
MjIgIEFsZXhhbmRydSBDaGljdWxpdGEgIDxhY2hpY3VAYWRvYmUuY29tPgorCisgICAgICAgIFtD
U1NSZWdpb25zXSBSZW5kZXJGbG93VGhyZWFkIGxheW91dCBzaG91bGQgdXNlIHRoZSBhdHRhY2hl
ZCByZWdpb24gc2l6ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTY2MTQzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBmYXN0L3JlZ2lvbnMvd2Via2l0LWZsb3ctZmxvYXRzLWluc2lkZS1yZWdpb25zLWJv
dW5kcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVnaW9ucy93ZWJraXQt
Zmxvdy1mbG9hdHMtaW5zaWRlLXJlZ2lvbnMtYm91bmRzLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvcmVnaW9ucy93ZWJraXQtZmxvdy1pbmxpbmVzLWluc2lkZS1yZWdpb25zLWJvdW5kcy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVnaW9ucy93ZWJraXQtZmxvdy1p
bmxpbmVzLWluc2lkZS1yZWdpb25zLWJvdW5kcy12ZXJ0aWNhbC1sci1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvcmVnaW9ucy93ZWJraXQtZmxvdy1pbmxpbmVzLWluc2lkZS1y
ZWdpb25zLWJvdW5kcy12ZXJ0aWNhbC1sci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3Jl
Z2lvbnMvd2Via2l0LWZsb3ctaW5saW5lcy1pbnNpZGUtcmVnaW9ucy1ib3VuZHMuaHRtbDogQWRk
ZWQuCisKIDIwMTEtMDgtMjEgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAg
ICAgIFVwZGF0ZSByZXN1bHRzIGZvciBtb3JlIHRlc3RzIGFmZmVjdGVkIGJ5IHRoZSBhZGRpdGlv
biBvZiB0aGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtZmxv
dy1mbG9hdHMtaW5zaWRlLXJlZ2lvbnMtYm91bmRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvcmVnaW9ucy93ZWJraXQtZmxvdy1mbG9hdHMtaW5zaWRlLXJlZ2lvbnMtYm91bmRzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNzI3Nzg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3dlYmtpdC1mbG93LWZs
b2F0cy1pbnNpZGUtcmVnaW9ucy1ib3VuZHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNTIgQEAK
K2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUg
ODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NDIyCisgIFJlbmRlckJsb2NrIHtIVE1M
fSBhdCAoMCwwKSBzaXplIDgwMHg0MjIKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBz
aXplIDc4NHg0MDYKKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgNzg0eDQw
NgorICAgICAgICBSZW5kZXJSZWdpb24ge0RJVn0gYXQgKDAsMCkgc2l6ZSAyMDJ4MTAyIFtib3Jk
ZXI6ICgxcHggc29saWQgIzAwMDAwMCldCisgICAgICAgIFJlbmRlclJlZ2lvbiB7RElWfSBhdCAo
MCwxMDIpIHNpemUgMzAyeDE4MiBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQorICAgICAg
ICBSZW5kZXJSZWdpb24ge0RJVn0gYXQgKDAsMjg0KSBzaXplIDEyMngxMjIgW2JvcmRlcjogKDFw
eCBzb2xpZCAjMDAwMDAwKV0KK0Zsb3cgVGhyZWFkcworICBUaHJlYWQgd2l0aCBmbG93LW5hbWUg
J2Zsb3cxJworICAgIGxheWVyIGF0ICgwLDApIHNpemUgMzAweDQwMAorICAgICAgUmVuZGVyRmxv
d1RocmVhZCBhdCAoMCwwKSBzaXplIDMwMHg0MDAKKyAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0g
YXQgKDAsMCkgc2l6ZSAzMDB4NDc0CisgICAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDUs
NSkgc2l6ZSAyOTB4NDY0IFtib3JkZXI6ICgxcHggc29saWQgIzAwMDBGRildCisgICAgICAgICAg
ICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMTEsMTEpIHNpemUgMjY4eDQ0MiBbYm9yZGVyOiAoMXB4
IHNvbGlkICMwMDgwMDApXQorICAgICAgICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDEsMTcp
IHNpemUgMjY2eDM2CisgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgMTY2eDM2CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAx
NjY6ICJUaGlzIGxpbmUgb2YgdGV4dCBzaG91bGQiCisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwxOCkgd2lkdGggMTU1OiAibm90IGdldCBvdXQgb2YgdGhlIHJlZ2lvbi4iCisgICAg
ICAgICAgICAgIFJlbmRlckJsb2NrIChmbG9hdGluZykge0RJVn0gYXQgKDk1LDY5KSBzaXplIDcy
eDM3IFtib3JkZXI6ICgxcHggc29saWQgI0ZGMDAwMCldCisgICAgICAgICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgNDR4MTgKKyAgICAgICAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgxLDEpIHdpZHRoIDQ0OiAiRmxvYXQgMSIKKyAgICAgICAgICAgICAgUmVuZGVyQmxv
Y2sgKGFub255bW91cykgYXQgKDEsNjkpIHNpemUgMjY2eDEwOAorICAgICAgICAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDI2NngxMDgKKyAgICAgICAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDk0OiAiVGhpcyBsaW5lIG9mIgorICAgICAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDAsMTgpIHdpZHRoIDk0OiAidGV4dCBzaG91bGQgbm90IgorICAg
ICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMzYpIHdpZHRoIDk0OiAiZ2V0IG91dCBvZiB0
aGUiCisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw1NCkgd2lkdGggMjY2OiAicmVn
aW9uLiBUaGlzIGxpbmUgb2YgdGV4dCBzaG91bGQgbm90IGdldCBvdXQiCisgICAgICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMCw3Mikgd2lkdGggMjY2OiAib2YgdGhlIHJlZ2lvbi4gVGhpcyBs
aW5lIG9mIHRleHQgc2hvdWxkIG5vdCIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgw
LDkwKSB3aWR0aCAxMzE6ICJnZXQgb3V0IG9mIHRoZSByZWdpb24uIgorICAgICAgICAgICAgICBS
ZW5kZXJCbG9jayB7UH0gYXQgKDEsMTkzKSBzaXplIDI2NngwCisgICAgICAgICAgICAgIFJlbmRl
ckJsb2NrIHtQfSBhdCAoMSwxOTMpIHNpemUgMjY2eDEyNgorICAgICAgICAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDI2NngxMjYKKyAgICAgICAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgwLDApIHdpZHRoIDI2NjogIlRoaXMgbGluZSBvZiB0ZXh0IHNob3VsZCBub3Qg
Z2V0IG91dCBvZiB0aGUiCisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxOCkgd2lk
dGggMjY2OiAicmVnaW9uLiBUaGlzIGxpbmUgb2YgdGV4dCBzaG91bGQgbm90IGdldCBvdXQiCisg
ICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwzNikgd2lkdGggMjY2OiAib2YgdGhlIHJl
Z2lvbi4gVGhpcyBsaW5lIG9mIHRleHQgc2hvdWxkIG5vdCIKKyAgICAgICAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgwLDU0KSB3aWR0aCAyNjY6ICJnZXQgb3V0IG9mIHRoZSByZWdpb24uIFRoaXMg
bGluZSBvZiB0ZXh0IgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsNzIpIHdpZHRo
IDg2OiAic2hvdWxkIG5vdCIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDkwKSB3
aWR0aCA4NjogImdldCBvdXQgb2YgdGhlIgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsMTA4KSB3aWR0aCA0NDogInJlZ2lvbi4iCisgICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtQ
fSBhdCAoMSwzMzUpIHNpemUgMjY2eDkwCisgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgwLDApIHNpemUgODZ4OTAKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgw
LDApIHdpZHRoIDg2OiAiVGhpcyBsaW5lIG9mIgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDAsMTgpIHdpZHRoIDg2OiAidGV4dCBzaG91bGQiCisgICAgICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMCwzNikgd2lkdGggODY6ICJub3QgZ2V0IG91dCBvZiIKKyAgICAgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLDU0KSB3aWR0aCAxOTogInRoZSIKKyAgICAgICAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgwLDcyKSB3aWR0aCA0NDogInJlZ2lvbi4iCisgIFJlZ2lvbnMgZm9yIGZs
b3cgJ2Zsb3cxJworICAgIFJlbmRlclJlZ2lvbiB7RElWfSAjcmVnaW9uMSB3aXRoIGluZGV4IDAK
KyAgICBSZW5kZXJSZWdpb24ge0RJVn0gI3JlZ2lvbjIgd2l0aCBpbmRleCAwCisgICAgUmVuZGVy
UmVnaW9uIHtESVZ9ICNyZWdpb24zIHdpdGggaW5kZXggMApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9yZWdpb25zL3dlYmtpdC1mbG93LWZsb2F0cy1pbnNpZGUtcmVnaW9ucy1ib3VuZHMu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtZmxvdy1mbG9hdHMtaW5zaWRl
LXJlZ2lvbnMtYm91bmRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
MmMxZmUzNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJr
aXQtZmxvdy1mbG9hdHMtaW5zaWRlLXJlZ2lvbnMtYm91bmRzLmh0bWwKQEAgLTAsMCArMSw2MSBA
QAorPCFkb2N0eXBlIGh0bWw+CisKKyA8c3R5bGU+CisgICAgI2NvbnRlbnQgeworICAgICAgICAt
d2Via2l0LWZsb3c6ICJmbG93MSI7CisgICAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7CisgICAg
ICAgIHBhZGRpbmc6IDVweDsKKyAgICB9CisgICAgCisgICAgI2ZpcnN0LWJveCB7CisgICAgICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7CisgICAgfQorICAgIAorICAgICNzZWNvbmQtYm94IHsK
KyAgICAgICAgbWFyZ2luOjEwcHg7CisgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGdyZWVuOwor
ICAgIH0KKyAgICAKKyAgICAjZmxvYXQxIHsKKyAgICAgICAgZmxvYXQ6IHJpZ2h0OworICAgICAg
ICB3aWR0aDogNzBweDsKKyAgICAgICAgaGVpZ2h0OiAzNXB4OworICAgICAgICBib3JkZXI6IDFw
eCBzb2xpZCByZWQ7CisgICAgfQorICAgIAorICAgICNyZWdpb24xLCAjcmVnaW9uMiwgI3JlZ2lv
bjMgeworICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjazsKKyAgICAgICAgY29udGVudDog
LXdlYmtpdC1mcm9tLWZsb3coImZsb3cxIik7CisgICAgfQorCisgICAgI3JlZ2lvbjEgeworICAg
ICAgICB3aWR0aDogMjAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgfQorICAgIAor
ICAgICNyZWdpb24yIHsKKyAgICAgICAgd2lkdGg6IDMwMHB4OworICAgICAgICBoZWlnaHQ6IDE4
MHB4OworICAgIH0KKyAgICAKKyAgICAjcmVnaW9uMyB7CisgICAgICAgIHdpZHRoOiAxMjBweDsK
KyAgICAgICAgaGVpZ2h0OiAxMjBweDsKKyAgICB9Cis8L3N0eWxlPgorCis8ZGl2IGlkPSJjb250
ZW50Ij4KKyAgICA8ZGl2IGlkPSJmaXJzdC1ib3giPgorICAgICAgICA8ZGl2IGlkPSJzZWNvbmQt
Ym94Ij4KKyAgICAgICAgICAgIDxwPlRoaXMgbGluZSBvZiB0ZXh0IHNob3VsZCBub3QgZ2V0IG91
dCBvZiB0aGUgcmVnaW9uLjxkaXYgaWQ9ImZsb2F0MSI+RmxvYXQgMTwvZGl2PiBUaGlzIGxpbmUg
b2YgdGV4dCBzaG91bGQgbm90IGdldCBvdXQgb2YgdGhlIHJlZ2lvbi4gVGhpcyBsaW5lIG9mIHRl
eHQgc2hvdWxkIG5vdCBnZXQgb3V0IG9mIHRoZSByZWdpb24uIFRoaXMgbGluZSBvZiB0ZXh0IHNo
b3VsZCBub3QgZ2V0IG91dCBvZiB0aGUgcmVnaW9uLjwvcD4KKyAgICAgICAgICAgIDxwPlRoaXMg
bGluZSBvZiB0ZXh0IHNob3VsZCBub3QgZ2V0IG91dCBvZiB0aGUgcmVnaW9uLiBUaGlzIGxpbmUg
b2YgdGV4dCBzaG91bGQgbm90IGdldCBvdXQgb2YgdGhlIHJlZ2lvbi4gVGhpcyBsaW5lIG9mIHRl
eHQgc2hvdWxkIG5vdCBnZXQgb3V0IG9mIHRoZSByZWdpb24uIFRoaXMgbGluZSBvZiB0ZXh0IHNo
b3VsZCBub3QgZ2V0IG91dCBvZiB0aGUgcmVnaW9uLjwvcD4KKyAgICAgICAgICAgIDxwPlRoaXMg
bGluZSBvZiB0ZXh0IHNob3VsZCBub3QgZ2V0IG91dCBvZiB0aGUgcmVnaW9uLjwvcD4KKyAgICAg
ICAgPC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKworPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8ZGl2IGlkPSJyZWdpb24xIj48L2Rpdj4KKyAgICA8ZGl2IGlkPSJyZWdpb24yIj48L2Rpdj4K
KyAgICA8ZGl2IGlkPSJyZWdpb24zIj48L2Rpdj4KKzwvZGl2PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9yZWdpb25zL3dlYmtpdC1mbG93LWlubGluZXMtaW5zaWRlLXJlZ2lvbnMtYm91
bmRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtZmxvdy1p
bmxpbmVzLWluc2lkZS1yZWdpb25zLWJvdW5kcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uNzc4OTAyNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtZmxvdy1pbmxpbmVzLWluc2lkZS1yZWdpb25zLWJvdW5k
cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0MiBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBz
aXplIDgwMHg0MjIKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDQyMgor
ICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDQwNgorICAgICAgUmVuZGVy
QmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSA3ODR4NDA2CisgICAgICAgIFJlbmRlclJlZ2lvbiB7
RElWfSBhdCAoMCwwKSBzaXplIDIwMngxMDIgW2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMDAwKV0K
KyAgICAgICAgUmVuZGVyUmVnaW9uIHtESVZ9IGF0ICgwLDEwMikgc2l6ZSAzMDJ4MTgyIFtib3Jk
ZXI6ICgxcHggc29saWQgIzAwMDAwMCldCisgICAgICAgIFJlbmRlclJlZ2lvbiB7RElWfSBhdCAo
MCwyODQpIHNpemUgMTIyeDEyMiBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQorRmxvdyBU
aHJlYWRzCisgIFRocmVhZCB3aXRoIGZsb3ctbmFtZSAnZmxvdzEnCisgICAgbGF5ZXIgYXQgKDAs
MCkgc2l6ZSAzMDB4NDAwCisgICAgICBSZW5kZXJGbG93VGhyZWFkIGF0ICgwLDApIHNpemUgMzAw
eDQwMAorICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDMwMHgzODYKKyAg
ICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoNSw1KSBzaXplIDI5MHgzNzYgW2JvcmRlcjog
KDFweCBzb2xpZCAjMDAwMEZGKV0KKyAgICAgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgx
MSwxMSkgc2l6ZSAyNjh4MzU0IFtib3JkZXI6ICgxcHggc29saWQgIzAwODAwMCldCisgICAgICAg
ICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMSwxNykgc2l6ZSAyNjZ4MTI2CisgICAgICAgICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMjY2eDEyNgorICAgICAgICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTY2OiAiVGhpcyBsaW5lIG9mIHRleHQg
c2hvdWxkIgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTgpIHdpZHRoIDE2Njog
Im5vdCBnZXQgb3V0IG9mIHRoZSByZWdpb24uIgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDAsMzYpIHdpZHRoIDE2NjogIlRoaXMgbGluZSBvZiB0ZXh0IHNob3VsZCIKKyAgICAgICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDU0KSB3aWR0aCAxNjY6ICJub3QgZ2V0IG91dCBvZiB0
aGUgcmVnaW9uLiIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDcyKSB3aWR0aCAy
NjY6ICJUaGlzIGxpbmUgb2YgdGV4dCBzaG91bGQgbm90IGdldCBvdXQgb2YgdGhlIgorICAgICAg
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsOTApIHdpZHRoIDI2NjogInJlZ2lvbi4gVGhpcyBs
aW5lIG9mIHRleHQgc2hvdWxkIG5vdCBnZXQgb3V0IgorICAgICAgICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDAsMTA4KSB3aWR0aCA4NDogIm9mIHRoZSByZWdpb24uIgorICAgICAgICAgICAgICBS
ZW5kZXJCbG9jayB7UH0gYXQgKDEsMTU5KSBzaXplIDI2Nng5MAorICAgICAgICAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDI2Nng5MAorICAgICAgICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMjY2OiAiVGhpcyBsaW5lIG9mIHRleHQgc2hvdWxkIG5v
dCBnZXQgb3V0IG9mIHRoZSIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3
aWR0aCAyNjY6ICJyZWdpb24uIFRoaXMgbGluZSBvZiB0ZXh0IHNob3VsZCBub3QgZ2V0IG91dCIK
KyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDM2KSB3aWR0aCAyNjY6ICJvZiB0aGUg
cmVnaW9uLiBUaGlzIGxpbmUgb2YgdGV4dCBzaG91bGQgbm90IgorICAgICAgICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDAsNTQpIHdpZHRoIDI2NjogImdldCBvdXQgb2YgdGhlIHJlZ2lvbi4gVGhp
cyBsaW5lIG9mIHRleHQiCisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw3Mikgd2lk
dGggMjAxOiAic2hvdWxkIG5vdCBnZXQgb3V0IG9mIHRoZSByZWdpb24uIgorICAgICAgICAgICAg
ICBSZW5kZXJCbG9jayB7UH0gYXQgKDEsMjY1KSBzaXplIDI2Nng3MgorICAgICAgICAgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDg2eDcyCisgICAgICAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA4NjogIlRoaXMgbGluZSBvZiIKKyAgICAgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3aWR0aCA4NjogInRleHQgc2hvdWxkIgorICAgICAg
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMzYpIHdpZHRoIDg2OiAibm90IGdldCBvdXQgb2Yi
CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw1NCkgd2lkdGggNjc6ICJ0aGUgcmVn
aW9uLiIKKyAgUmVnaW9ucyBmb3IgZmxvdyAnZmxvdzEnCisgICAgUmVuZGVyUmVnaW9uIHtESVZ9
ICNyZWdpb24xIHdpdGggaW5kZXggMAorICAgIFJlbmRlclJlZ2lvbiB7RElWfSAjcmVnaW9uMiB3
aXRoIGluZGV4IDAKKyAgICBSZW5kZXJSZWdpb24ge0RJVn0gI3JlZ2lvbjMgd2l0aCBpbmRleCAw
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2Via2l0LWZsb3ctaW5saW5l
cy1pbnNpZGUtcmVnaW9ucy1ib3VuZHMtdmVydGljYWwtbHItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZmFzdC9yZWdpb25zL3dlYmtpdC1mbG93LWlubGluZXMtaW5zaWRlLXJlZ2lvbnMtYm91
bmRzLXZlcnRpY2FsLWxyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi42YWJiNzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdp
b25zL3dlYmtpdC1mbG93LWlubGluZXMtaW5zaWRlLXJlZ2lvbnMtYm91bmRzLXZlcnRpY2FsLWxy
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUzIEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgxNTgsMCkg
c2l6ZSA2NDJ4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDY0Mng2MDAK
KyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDYyNng1ODQKKyAgICAgIFJlbmRl
ckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgNjI2eDU4NAorICAgICAgICBSZW5kZXJSZWdpb24g
e0RJVn0gYXQgKDAsMCkgc2l6ZSAyMDJ4MTAyIFtib3JkZXI6ICgxcHggc29saWQgIzAwMDAwMCld
CisgICAgICAgIFJlbmRlclJlZ2lvbiB7RElWfSBhdCAoMjAyLDApIHNpemUgMzAyeDE4MiBbYm9y
ZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQorICAgICAgICBSZW5kZXJSZWdpb24ge0RJVn0gYXQg
KDUwNCwwKSBzaXplIDEyMngxMjIgW2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMDAwKV0KK0Zsb3cg
VGhyZWFkcworICBUaHJlYWQgd2l0aCBmbG93LW5hbWUgJ2Zsb3cxJworICAgIGxheWVyIGF0ICgx
ODAsMCkgc2l6ZSA2MjB4MTgwCisgICAgICBSZW5kZXJGbG93VGhyZWFkIGF0ICgwLDApIHNpemUg
NjIweDE4MAorICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDU4NHgxODAK
KyAgICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoNSw1KSBzaXplIDU3NHgxNzAgW2JvcmRl
cjogKDFweCBzb2xpZCAjMDAwMEZGKV0KKyAgICAgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0
ICgxMSwxMSkgc2l6ZSA1NTJ4MTQ4IFtib3JkZXI6ICgxcHggc29saWQgIzAwODAwMCldCisgICAg
ICAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMTcsMSkgc2l6ZSAyNzB4MTQ2CisgICAgICAg
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMjcweDE0NgorICAgICAg
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNjY6ICJUaGlzIGxpbmUiCisgICAg
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTgsMCkgd2lkdGggNjY6ICJvZiB0ZXh0IgorICAg
ICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDM2LDApIHdpZHRoIDY2OiAic2hvdWxkIG5vdCIK
KyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg1NCwwKSB3aWR0aCA2NjogImdldCBvdXQg
b2YiCisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNzIsMCkgd2lkdGggMTk6ICJ0aGUi
CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoOTAsMCkgd2lkdGggNDQ6ICJyZWdpb24u
IgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEwOCwwKSB3aWR0aCA2NjogIlRoaXMg
bGluZSIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMjYsMCkgd2lkdGggNjY6ICJv
ZiB0ZXh0IgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE0NCwwKSB3aWR0aCA2Njog
InNob3VsZCBub3QiCisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTYyLDApIHdpZHRo
IDY2OiAiZ2V0IG91dCBvZiIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxODAsMCkg
d2lkdGggMTQ2OiAidGhlIHJlZ2lvbi4gVGhpcyBsaW5lIG9mIgorICAgICAgICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDE5OCwwKSB3aWR0aCAxNDY6ICJ0ZXh0IHNob3VsZCBub3QgZ2V0IG91dCIK
KyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyMTYsMCkgd2lkdGggMTQ2OiAib2YgdGhl
IHJlZ2lvbi4gVGhpcyBsaW5lIgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDIzNCww
KSB3aWR0aCAxNDY6ICJvZiB0ZXh0IHNob3VsZCBub3QgZ2V0IgorICAgICAgICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDI1MiwwKSB3aWR0aCAxMDg6ICJvdXQgb2YgdGhlIHJlZ2lvbi4iCisgICAg
ICAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMzAzLDEpIHNpemUgMTYyeDE0NgorICAgICAg
ICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDE2MngxNDYKKyAgICAg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDE0NjogIlRoaXMgbGluZSBvZiB0
ZXh0IHNob3VsZCIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxOCwwKSB3aWR0aCAx
NDY6ICJub3QgZ2V0IG91dCBvZiB0aGUiCisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MzYsMCkgd2lkdGggMTQ2OiAicmVnaW9uLiBUaGlzIGxpbmUgb2YiCisgICAgICAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoNTQsMCkgd2lkdGggMTQ2OiAidGV4dCBzaG91bGQgbm90IGdldCBvdXQi
CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNzIsMCkgd2lkdGggMTQ2OiAib2YgdGhl
IHJlZ2lvbi4gVGhpcyBsaW5lIgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDkwLDAp
IHdpZHRoIDE0NjogIm9mIHRleHQgc2hvdWxkIG5vdCBnZXQiCisgICAgICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMTA4LDApIHdpZHRoIDE0NjogIm91dCBvZiB0aGUgcmVnaW9uLiBUaGlzIgor
ICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEyNiwwKSB3aWR0aCAxNDY6ICJsaW5lIG9m
IHRleHQgc2hvdWxkIG5vdCIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxNDQsMCkg
d2lkdGggMTMxOiAiZ2V0IG91dCBvZiB0aGUgcmVnaW9uLiIKKyAgICAgICAgICAgICAgUmVuZGVy
QmxvY2sge1B9IGF0ICg0ODEsMSkgc2l6ZSA1NHgxNDYKKyAgICAgICAgICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA1NHgxNDYKKyAgICAgICAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgwLDApIHdpZHRoIDE0NjogIlRoaXMgbGluZSBvZiB0ZXh0IHNob3VsZCIKKyAgICAg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxOCwwKSB3aWR0aCA4NjogIm5vdCBnZXQgb3V0IG9m
IgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDM2LDApIHdpZHRoIDY3OiAidGhlIHJl
Z2lvbi4iCisgIFJlZ2lvbnMgZm9yIGZsb3cgJ2Zsb3cxJworICAgIFJlbmRlclJlZ2lvbiB7RElW
fSAjcmVnaW9uMSB3aXRoIGluZGV4IDAKKyAgICBSZW5kZXJSZWdpb24ge0RJVn0gI3JlZ2lvbjIg
d2l0aCBpbmRleCAwCisgICAgUmVuZGVyUmVnaW9uIHtESVZ9ICNyZWdpb24zIHdpdGggaW5kZXgg
MApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3dlYmtpdC1mbG93LWlubGlu
ZXMtaW5zaWRlLXJlZ2lvbnMtYm91bmRzLXZlcnRpY2FsLWxyLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L3JlZ2lvbnMvd2Via2l0LWZsb3ctaW5saW5lcy1pbnNpZGUtcmVnaW9ucy1ib3VuZHMtdmVy
dGljYWwtbHIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZmFkMzE0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3dlYmtpdC1mbG93
LWlubGluZXMtaW5zaWRlLXJlZ2lvbnMtYm91bmRzLXZlcnRpY2FsLWxyLmh0bWwKQEAgLTAsMCAr
MSw1NiBAQAorPCFkb2N0eXBlIGh0bWw+CisKKyA8c3R5bGU+CisgICAgaHRtbCB7IC13ZWJraXQt
d3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybCB9CisgCisgICAgI2NvbnRlbnQgeworICAgICAgICAt
d2Via2l0LWZsb3c6ICJmbG93MSI7CisgICAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7CisgICAg
ICAgIHBhZGRpbmc6IDVweDsKKyAgICB9CisgICAgCisgICAgI2ZpcnN0LWJveCB7CisgICAgICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7CisgICAgfQorICAgIAorICAgICNzZWNvbmQtYm94IHsK
KyAgICAgICAgbWFyZ2luOjEwcHg7CisgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGdyZWVuOwor
ICAgIH0KKyAgICAKKyAgICAjcmVnaW9uMSwgI3JlZ2lvbjIsICNyZWdpb24zIHsKKyAgICAgICAg
Ym9yZGVyOiAxcHggc29saWQgYmxhY2s7CisgICAgICAgIGNvbnRlbnQ6IC13ZWJraXQtZnJvbS1m
bG93KCJmbG93MSIpOworICAgIH0KKworICAgICNyZWdpb24xIHsKKyAgICAgICAgd2lkdGg6IDIw
MHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0KKyAgICAKKyAgICAjcmVnaW9uMiB7
CisgICAgICAgIHdpZHRoOiAzMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxODBweDsKKyAgICB9Cisg
ICAgCisgICAgI3JlZ2lvbjMgeworICAgICAgICB3aWR0aDogMTIwcHg7CisgICAgICAgIGhlaWdo
dDogMTIwcHg7CisgICAgfQorPC9zdHlsZT4KKworPGRpdiBpZD0iY29udGVudCI+CisgICAgPGRp
diBpZD0iZmlyc3QtYm94Ij4KKyAgICAgICAgPGRpdiBpZD0ic2Vjb25kLWJveCI+CisgICAgICAg
ICAgICA8cD5UaGlzIGxpbmUgb2YgdGV4dCBzaG91bGQgbm90IGdldCBvdXQgb2YgdGhlIHJlZ2lv
bi4gVGhpcyBsaW5lIG9mIHRleHQgc2hvdWxkIG5vdCBnZXQgb3V0IG9mIHRoZSByZWdpb24uIFRo
aXMgbGluZSBvZiB0ZXh0IHNob3VsZCBub3QgZ2V0IG91dCBvZiB0aGUgcmVnaW9uLiBUaGlzIGxp
bmUgb2YgdGV4dCBzaG91bGQgbm90IGdldCBvdXQgb2YgdGhlIHJlZ2lvbi48L3A+CisgICAgICAg
ICAgICA8cD5UaGlzIGxpbmUgb2YgdGV4dCBzaG91bGQgbm90IGdldCBvdXQgb2YgdGhlIHJlZ2lv
bi4gVGhpcyBsaW5lIG9mIHRleHQgc2hvdWxkIG5vdCBnZXQgb3V0IG9mIHRoZSByZWdpb24uIFRo
aXMgbGluZSBvZiB0ZXh0IHNob3VsZCBub3QgZ2V0IG91dCBvZiB0aGUgcmVnaW9uLiBUaGlzIGxp
bmUgb2YgdGV4dCBzaG91bGQgbm90IGdldCBvdXQgb2YgdGhlIHJlZ2lvbi48L3A+CisgICAgICAg
ICAgICA8cD5UaGlzIGxpbmUgb2YgdGV4dCBzaG91bGQgbm90IGdldCBvdXQgb2YgdGhlIHJlZ2lv
bi48L3A+CisgICAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorPC9kaXY+CisKKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPGRpdiBpZD0icmVnaW9uMSI+PC9kaXY+CisgICAgPGRpdiBpZD0icmVn
aW9uMiI+PC9kaXY+CisgICAgPGRpdiBpZD0icmVnaW9uMyI+PC9kaXY+Cis8L2Rpdj4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtZmxvdy1pbmxpbmVzLWluc2lk
ZS1yZWdpb25zLWJvdW5kcy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3dlYmtpdC1m
bG93LWlubGluZXMtaW5zaWRlLXJlZ2lvbnMtYm91bmRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uYjM5OGQwYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvcmVnaW9ucy93ZWJraXQtZmxvdy1pbmxpbmVzLWluc2lkZS1yZWdpb25zLWJvdW5kcy5o
dG1sCkBAIC0wLDAgKzEsNTQgQEAKKzwhZG9jdHlwZSBodG1sPgorCisgPHN0eWxlPgorICAgICNj
b250ZW50IHsKKyAgICAgICAgLXdlYmtpdC1mbG93OiAiZmxvdzEiOworICAgICAgICB0ZXh0LWFs
aWduOiBqdXN0aWZ5OworICAgICAgICBwYWRkaW5nOiA1cHg7CisgICAgfQorICAgIAorICAgICNm
aXJzdC1ib3ggeworICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworICAgIH0KKyAgICAK
KyAgICAjc2Vjb25kLWJveCB7CisgICAgICAgIG1hcmdpbjoxMHB4OworICAgICAgICBib3JkZXI6
IDFweCBzb2xpZCBncmVlbjsKKyAgICB9CisgICAgCisgICAgI3JlZ2lvbjEsICNyZWdpb24yLCAj
cmVnaW9uMyB7CisgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOworICAgICAgICBjb250
ZW50OiAtd2Via2l0LWZyb20tZmxvdygiZmxvdzEiKTsKKyAgICB9CisKKyAgICAjcmVnaW9uMSB7
CisgICAgICAgIHdpZHRoOiAyMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9Cisg
ICAgCisgICAgI3JlZ2lvbjIgeworICAgICAgICB3aWR0aDogMzAwcHg7CisgICAgICAgIGhlaWdo
dDogMTgwcHg7CisgICAgfQorICAgIAorICAgICNyZWdpb24zIHsKKyAgICAgICAgd2lkdGg6IDEy
MHB4OworICAgICAgICBoZWlnaHQ6IDEyMHB4OworICAgIH0KKzwvc3R5bGU+CisKKzxkaXYgaWQ9
ImNvbnRlbnQiPgorICAgIDxkaXYgaWQ9ImZpcnN0LWJveCI+CisgICAgICAgIDxkaXYgaWQ9InNl
Y29uZC1ib3giPgorICAgICAgICAgICAgPHA+VGhpcyBsaW5lIG9mIHRleHQgc2hvdWxkIG5vdCBn
ZXQgb3V0IG9mIHRoZSByZWdpb24uIFRoaXMgbGluZSBvZiB0ZXh0IHNob3VsZCBub3QgZ2V0IG91
dCBvZiB0aGUgcmVnaW9uLiBUaGlzIGxpbmUgb2YgdGV4dCBzaG91bGQgbm90IGdldCBvdXQgb2Yg
dGhlIHJlZ2lvbi4gVGhpcyBsaW5lIG9mIHRleHQgc2hvdWxkIG5vdCBnZXQgb3V0IG9mIHRoZSBy
ZWdpb24uPC9wPgorICAgICAgICAgICAgPHA+VGhpcyBsaW5lIG9mIHRleHQgc2hvdWxkIG5vdCBn
ZXQgb3V0IG9mIHRoZSByZWdpb24uIFRoaXMgbGluZSBvZiB0ZXh0IHNob3VsZCBub3QgZ2V0IG91
dCBvZiB0aGUgcmVnaW9uLiBUaGlzIGxpbmUgb2YgdGV4dCBzaG91bGQgbm90IGdldCBvdXQgb2Yg
dGhlIHJlZ2lvbi4gVGhpcyBsaW5lIG9mIHRleHQgc2hvdWxkIG5vdCBnZXQgb3V0IG9mIHRoZSBy
ZWdpb24uPC9wPgorICAgICAgICAgICAgPHA+VGhpcyBsaW5lIG9mIHRleHQgc2hvdWxkIG5vdCBn
ZXQgb3V0IG9mIHRoZSByZWdpb24uPC9wPgorICAgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKzwv
ZGl2PgorCis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxkaXYgaWQ9InJlZ2lvbjEiPjwvZGl2
PgorICAgIDxkaXYgaWQ9InJlZ2lvbjIiPjwvZGl2PgorICAgIDxkaXYgaWQ9InJlZ2lvbjMiPjwv
ZGl2PgorPC9kaXY+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODA1MjQ0Ny4uMGU2N2VkZSAxMDA3NTUKLS0tIGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDQ3IEBACisyMDExLTA4LTIyICBBbGV4YW5kcnUgQ2hpY3VsaXRhICA8YWNoaWN1
QGFkb2JlLmNvbT4KKworICAgICAgICBbQ1NTUmVnaW9uc10gUmVuZGVyRmxvd1RocmVhZCBsYXlv
dXQgc2hvdWxkIHVzZSB0aGUgYXR0YWNoZWQgcmVnaW9uIHNpemVzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjE0MworCisgICAgICAgIFdoZW4gUmVu
ZGVyRmxvd1RocmVhZCBpcyBkb2luZyB0aGUgbGF5b3V0IGl0IGFsc28gc2V0cyB0aGUgY3VycmVu
dCBSZW5kZXJGbG93VGhyZWFkIG9uCisgICAgICAgIHRoZSBSZW5kZXJWaWV3LiBSZW5kZXJGbG93
VGhyZWFkIGNhbm5vdCBiZSBuZXN0ZWQgaW5zaWRlIGEgc2luZ2xlIFJlbmRlclZpZXcsIHNvIHRo
ZXJlJ3Mgbm8gCisgICAgICAgIG5lZWQgdG8gcHV0IHRoYXQgb24gdGhlIExheW91dFN0YXRlLgor
CisgICAgICAgIFRoZSByaWdodCBvZmZzZXQgdXNlZCB0byBsYXlvdXQgdGhlIGlubGluZXMgaW5z
aWRlIGEgUmVuZGVyRmxvd1RocmVhZAorICAgICAgICBpcyBub3cgYWRqdXN0ZWQgdG8gZml0IGlu
c2lkZSB0aGUgY3VycmVudCByZWdpb24uCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGVzdHM6IGZhc3QvcmVnaW9ucy93ZWJraXQtZmxvdy1mbG9hdHMt
aW5zaWRlLXJlZ2lvbnMtYm91bmRzLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvcmVnaW9ucy93
ZWJraXQtZmxvdy1pbmxpbmVzLWluc2lkZS1yZWdpb25zLWJvdW5kcy12ZXJ0aWNhbC1sci5odG1s
CisgICAgICAgICAgICAgICBmYXN0L3JlZ2lvbnMvd2Via2l0LWZsb3ctaW5saW5lcy1pbnNpZGUt
cmVnaW9ucy1ib3VuZHMuaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL0xheW91dFN0YXRlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dFN0YXRlOjpMYXlvdXRTdGF0ZSk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJs
b2NrOjpsYXlvdXRCbG9jayk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6bG9naWNh
bFJpZ2h0T2Zmc2V0Rm9yTGluZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJl
YWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxvd1RocmVhZDo6UmVuZGVyRmxvd1Ro
cmVhZCk6CisgICAgICAgIChXZWJDb3JlOjpDdXJyZW50UmVuZGVyRmxvd1RocmVhZE1haW50YWlu
ZXI6OkN1cnJlbnRSZW5kZXJGbG93VGhyZWFkTWFpbnRhaW5lcik6CisgICAgICAgIChXZWJDb3Jl
OjpDdXJyZW50UmVuZGVyRmxvd1RocmVhZE1haW50YWluZXI6On5DdXJyZW50UmVuZGVyRmxvd1Ro
cmVhZE1haW50YWluZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxvd1RocmVhZDo6bGF5
b3V0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZsb3dUaHJlYWQ6OnJlbmRlclJlZ2lvbkZv
ckxpbmUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxvd1RocmVhZDo6cmVnaW9uTG9naWNh
bFdpZHRoRm9yTGluZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuaDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlZ2lvbkZpdHRpbmdEaXNhYmxlcjo6UmVnaW9uRml0dGluZ0Rp
c2FibGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJlZ2lvbkZpdHRpbmdEaXNhYmxlcjo6flJlZ2lv
bkZpdHRpbmdEaXNhYmxlcik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclJlZ2lvbi5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZWdpb246OmxheW91dCk6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlclJlZ2lvbi5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJWaWV3LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OlJlbmRlclZpZXcpOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJWaWV3Lmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWV3Ojpo
YXNSZW5kZXJGbG93VGhyZWFkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OmN1cnJl
bnRSZW5kZXJGbG93VGhyZWFkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OnNldEN1
cnJlbnRSZW5kZXJGbG93VGhyZWFkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OnB1
c2hMYXlvdXRTdGF0ZSk6CisKIDIwMTEtMDgtMjEgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNv
bkBpZ2FsaWEuY29tPgogCiAgICAgICAgIEZpeCAnbWFrZSBkaXN0JyBmb3IgV2ViS2l0R1RLKy4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRTdGF0ZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuY3BwCmluZGV4IDVjMmI1N2QuLmVl
MzRjMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRTdGF0ZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmNwcApAQCAtODIs
NyArODIsNyBAQCBMYXlvdXRTdGF0ZTo6TGF5b3V0U3RhdGUoTGF5b3V0U3RhdGUqIHByZXYsIFJl
bmRlckJveCogcmVuZGVyZXIsIGNvbnN0IExheW91dFNpegogCiAgICAgLy8gSWYgd2UgZXN0YWJs
aXNoIGEgbmV3IHBhZ2UgaGVpZ2h0LCB0aGVuIGNhY2hlIHRoZSBvZmZzZXQgdG8gdGhlIHRvcCBv
ZiB0aGUgZmlyc3QgcGFnZS4KICAgICAvLyBXZSBjYW4gY29tcGFyZSB0aGlzIGxhdGVyIG9uIHRv
IGZpZ3VyZSBvdXQgd2hhdCBwYXJ0IG9mIHRoZSBwYWdlIHdlJ3JlIGFjdHVhbGx5IG9uLAotICAg
IGlmIChwYWdlTG9naWNhbEhlaWdodCB8fCBtX2NvbHVtbkluZm8pIHsKKyAgICBpZiAocGFnZUxv
Z2ljYWxIZWlnaHQgfHwgbV9jb2x1bW5JbmZvIHx8IHJlbmRlcmVyLT5pc1JlbmRlckZsb3dUaHJl
YWQoKSkgewogICAgICAgICBtX3BhZ2VMb2dpY2FsSGVpZ2h0ID0gcGFnZUxvZ2ljYWxIZWlnaHQ7
CiAgICAgICAgIG1fcGFnZU9mZnNldCA9IExheW91dFNpemUobV9sYXlvdXRPZmZzZXQud2lkdGgo
KSArIHJlbmRlcmVyLT5ib3JkZXJMZWZ0KCkgKyByZW5kZXJlci0+cGFkZGluZ0xlZnQoKSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2xheW91dE9mZnNldC5oZWlnaHQoKSArIHJl
bmRlcmVyLT5ib3JkZXJUb3AoKSArIHJlbmRlcmVyLT5wYWRkaW5nVG9wKCkpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKaW5kZXggZmNlZDA0MC4uZTY5YzczMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCkBAIC00MSw2ICs0MSw3IEBA
CiAjaW5jbHVkZSAiUGFpbnRJbmZvLmgiCiAjaW5jbHVkZSAiUmVuZGVyQ29tYmluZVRleHQuaCIK
ICNpbmNsdWRlICJSZW5kZXJEZXByZWNhdGVkRmxleGlibGVCb3guaCIKKyNpbmNsdWRlICJSZW5k
ZXJGbG93VGhyZWFkLmgiCiAjaW5jbHVkZSAiUmVuZGVySW1hZ2UuaCIKICNpbmNsdWRlICJSZW5k
ZXJJbmxpbmUuaCIKICNpbmNsdWRlICJSZW5kZXJMYXllci5oIgpAQCAtMTIyNCw2ICsxMjI1LDkg
QEAgdm9pZCBSZW5kZXJCbG9jazo6bGF5b3V0QmxvY2soYm9vbCByZWxheW91dENoaWxkcmVuLCBM
YXlvdXRVbml0IHBhZ2VMb2dpY2FsSGVpZ2gKIAogICAgIExheW91dFN0YXRlTWFpbnRhaW5lciBz
dGF0ZVB1c2hlcih2aWV3KCksIHRoaXMsIGxvY2F0aW9uT2Zmc2V0KCksIGhhc0NvbHVtbnMoKSB8
fCBoYXNUcmFuc2Zvcm0oKSB8fCBoYXNSZWZsZWN0aW9uKCkgfHwgc3R5bGUoKS0+aXNGbGlwcGVk
QmxvY2tzV3JpdGluZ01vZGUoKSwgcGFnZUxvZ2ljYWxIZWlnaHQsIHBhZ2VMb2dpY2FsSGVpZ2h0
Q2hhbmdlZCwgY29sSW5mbyk7CiAKKyAgICBib29sIGRpc2FibGVSZWdpb25GaXR0aW5nID0gdmll
dygpLT5oYXNSZW5kZXJGbG93VGhyZWFkKCkgJiYgKGhhc0NvbHVtbnMoKSB8fCAoaXNQb3NpdGlv
bmVkKCkgJiYgIWlzUmVuZGVyRmxvd1RocmVhZCgpKSB8fCBpc0Zsb2F0aW5nKCkpOworICAgIFJl
Z2lvbkZpdHRpbmdEaXNhYmxlciByZWdpb25GaXR0aW5nRGlzYWJsZXIodmlldygpLT5jdXJyZW50
UmVuZGVyRmxvd1RocmVhZCgpLCBkaXNhYmxlUmVnaW9uRml0dGluZyk7CisKICAgICAvLyBXZSB1
c2UgZm91ciB2YWx1ZXMsIG1heFRvcFBvcywgbWF4VG9wTmVnLCBtYXhCb3R0b21Qb3MsIGFuZCBt
YXhCb3R0b21OZWcsIHRvIHRyYWNrCiAgICAgLy8gb3VyIGN1cnJlbnQgbWF4aW1hbCBwb3NpdGl2
ZSBhbmQgbmVnYXRpdmUgbWFyZ2lucy4gIFRoZXNlIHZhbHVlcyBhcmUgdXNlZCB3aGVuIHdlCiAg
ICAgLy8gYXJlIGNvbGxhcHNlZCB3aXRoIGFkamFjZW50IGJsb2Nrcywgc28gZm9yIGV4YW1wbGUs
IGlmIHlvdSBoYXZlIGJsb2NrIEEgYW5kIEIKQEAgLTM1NjAsMTIgKzM1NjQsMjUgQEAgTGF5b3V0
VW5pdCBSZW5kZXJCbG9jazo6bG9naWNhbFJpZ2h0T2Zmc2V0Rm9yTGluZShMYXlvdXRVbml0IGxv
Z2ljYWxUb3AsIExheW91dFUKIHsKICAgICBMYXlvdXRVbml0IHJpZ2h0ID0gZml4ZWRPZmZzZXQ7
CiAKKyAgICBpZiAodmlldygpLT5oYXNSZW5kZXJGbG93VGhyZWFkKCkpIHsKKyAgICAgICAgUmVu
ZGVyRmxvd1RocmVhZCogZmxvd1RocmVhZCA9IHZpZXcoKS0+Y3VycmVudFJlbmRlckZsb3dUaHJl
YWQoKTsKKyAgICAgICAgaWYgKGZsb3dUaHJlYWQtPmlzUmVnaW9uRml0dGluZ0VuYWJsZWQoKSkg
eworICAgICAgICAgICAgTGF5b3V0U3RhdGUqIGxheW91dFN0YXRlID0gdmlldygpLT5sYXlvdXRT
dGF0ZSgpOworICAgICAgICAgICAgSW50U2l6ZSBkZWx0YSA9IGxheW91dFN0YXRlLT5tX2xheW91
dE9mZnNldCAtIGxheW91dFN0YXRlLT5tX3BhZ2VPZmZzZXQ7CisgICAgICAgICAgICBpbnQgb2Zm
c2V0ID0gaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IGRlbHRhLmhlaWdodCgpIDogZGVsdGEu
d2lkdGgoKTsKKyAgICAgICAgICAgIExheW91dFVuaXQgcmVnaW9uV2lkdGggPSBmbG93VGhyZWFk
LT5yZWdpb25Mb2dpY2FsV2lkdGhGb3JMaW5lKG9mZnNldCArIGxvZ2ljYWxUb3ApOworICAgICAg
ICAgICAgcmlnaHQgLT0gZmxvd1RocmVhZC0+bG9naWNhbFdpZHRoKCkgLSByZWdpb25XaWR0aDsK
KyAgICAgICAgfQorICAgIH0KKwogICAgIGlmIChtX2Zsb2F0aW5nT2JqZWN0cyAmJiBtX2Zsb2F0
aW5nT2JqZWN0cy0+aGFzUmlnaHRPYmplY3RzKCkpIHsKICAgICAgICAgaWYgKGhlaWdodFJlbWFp
bmluZykKICAgICAgICAgICAgICpoZWlnaHRSZW1haW5pbmcgPSAxOwogCi0gICAgICAgIEZsb2F0
SW50ZXJ2YWxTZWFyY2hBZGFwdGVyPEZsb2F0aW5nT2JqZWN0OjpGbG9hdFJpZ2h0PiBhZGFwdGVy
KHRoaXMsIGxvZ2ljYWxUb3AsIHJpZ2h0LCBoZWlnaHRSZW1haW5pbmcpOworICAgICAgICBMYXlv
dXRVbml0IHJpZ2h0RmxvYXRPZmZzZXQgPSByaWdodDsKKyAgICAgICAgRmxvYXRJbnRlcnZhbFNl
YXJjaEFkYXB0ZXI8RmxvYXRpbmdPYmplY3Q6OkZsb2F0UmlnaHQ+IGFkYXB0ZXIodGhpcywgbG9n
aWNhbFRvcCwgcmlnaHRGbG9hdE9mZnNldCwgaGVpZ2h0UmVtYWluaW5nKTsKICAgICAgICAgbV9m
bG9hdGluZ09iamVjdHMtPnBsYWNlZEZsb2F0c1RyZWUoKS5hbGxPdmVybGFwc1dpdGhBZGFwdGVy
KGFkYXB0ZXIpOworICAgICAgICByaWdodCA9IG1pbihyaWdodCwgcmlnaHRGbG9hdE9mZnNldCk7
CiAgICAgfQogICAgIAogICAgIGlmIChhcHBseVRleHRJbmRlbnQgJiYgIXN0eWxlKCktPmlzTGVm
dFRvUmlnaHREaXJlY3Rpb24oKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckZsb3dUaHJlYWQuY3BwCmluZGV4IDJhY2UzMWIuLmM4NGJlNDQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHAKQEAgLTQ1LDYgKzQ1LDcgQEAgUmVu
ZGVyRmxvd1RocmVhZDo6UmVuZGVyRmxvd1RocmVhZChOb2RlKiBub2RlLCBjb25zdCBBdG9taWNT
dHJpbmcmIGZsb3dUaHJlYWQpCiAgICAgOiBSZW5kZXJCbG9jayhub2RlKQogICAgICwgbV9mbG93
VGhyZWFkKGZsb3dUaHJlYWQpCiAgICAgLCBtX3JlZ2lvbnNJbnZhbGlkYXRlZChmYWxzZSkKKyAg
ICAsIG1fcmVnaW9uRml0dGluZ0Rpc2FibGVDb3VudCgwKQogewogICAgIHNldElzQW5vbnltb3Vz
KGZhbHNlKTsKIH0KQEAgLTI3MCw4ICsyNzEsMzAgQEAgdm9pZCBSZW5kZXJGbG93VGhyZWFkOjpw
dXNoRGVwZW5kZW5jaWVzKFJlbmRlckZsb3dUaHJlYWRMaXN0JiBsaXN0KQogICAgIH0KIH0KIAor
Y2xhc3MgQ3VycmVudFJlbmRlckZsb3dUaHJlYWRNYWludGFpbmVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShDdXJyZW50UmVuZGVyRmxvd1RocmVhZE1haW50YWluZXIpOworcHVibGljOgor
ICAgIEN1cnJlbnRSZW5kZXJGbG93VGhyZWFkTWFpbnRhaW5lcihSZW5kZXJGbG93VGhyZWFkKiBy
ZW5kZXJGbG93VGhyZWFkKQorICAgICAgICA6IG1fcmVuZGVyRmxvd1RocmVhZChyZW5kZXJGbG93
VGhyZWFkKQorICAgIHsKKyAgICAgICAgUmVuZGVyVmlldyogdmlldyA9IG1fcmVuZGVyRmxvd1Ro
cmVhZC0+dmlldygpOworICAgICAgICBBU1NFUlQoIXZpZXctPmN1cnJlbnRSZW5kZXJGbG93VGhy
ZWFkKCkpOworICAgICAgICB2aWV3LT5zZXRDdXJyZW50UmVuZGVyRmxvd1RocmVhZChtX3JlbmRl
ckZsb3dUaHJlYWQpOworICAgIH0KKyAgICB+Q3VycmVudFJlbmRlckZsb3dUaHJlYWRNYWludGFp
bmVyKCkKKyAgICB7CisgICAgICAgIFJlbmRlclZpZXcqIHZpZXcgPSBtX3JlbmRlckZsb3dUaHJl
YWQtPnZpZXcoKTsKKyAgICAgICAgQVNTRVJUKHZpZXctPmN1cnJlbnRSZW5kZXJGbG93VGhyZWFk
KCkgPT0gbV9yZW5kZXJGbG93VGhyZWFkKTsKKyAgICAgICAgdmlldy0+c2V0Q3VycmVudFJlbmRl
ckZsb3dUaHJlYWQoMCk7CisgICAgfQorcHJpdmF0ZToKKyAgICBSZW5kZXJGbG93VGhyZWFkKiBt
X3JlbmRlckZsb3dUaHJlYWQ7Cit9OworCiB2b2lkIFJlbmRlckZsb3dUaHJlYWQ6OmxheW91dCgp
CiB7CisgICAgQ3VycmVudFJlbmRlckZsb3dUaHJlYWRNYWludGFpbmVyIGN1cnJlbnRGbG93VGhy
ZWFkU2V0dGVyKHRoaXMpOworCiAgICAgaWYgKG1fcmVnaW9uc0ludmFsaWRhdGVkKSB7CiAgICAg
ICAgIG1fcmVnaW9uc0ludmFsaWRhdGVkID0gZmFsc2U7CiAgICAgICAgIGlmIChoYXNSZWdpb25z
KCkpIHsKQEAgLTQzNiw0ICs0NTksNDAgQEAgdm9pZCBSZW5kZXJGbG93VGhyZWFkOjpyZXBhaW50
UmVjdGFuZ2xlSW5SZWdpb25zKGNvbnN0IExheW91dFJlY3QmIHJlcGFpbnRSZWN0LAogICAgIH0K
IH0KIAorUmVuZGVyUmVnaW9uKiBSZW5kZXJGbG93VGhyZWFkOjpyZW5kZXJSZWdpb25Gb3JMaW5l
KExheW91dFVuaXQgbG9naWNhbFRvcCkgY29uc3QKK3sKKyAgICBBU1NFUlQoIW1fcmVnaW9uc0lu
dmFsaWRhdGVkKTsKKworICAgIC8vIEZJWE1FOiBUaGUgcmVnaW9ucyBhcmUgYWx3YXlzIGluIG9y
ZGVyLCBvcHRpbWl6ZSB0aGlzIHNlYXJjaC4KKyAgICBib29sIHVzZUhvcml6b250YWxXcml0aW5n
TW9kZSA9IGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCk7CisgICAgZm9yIChSZW5kZXJSZWdpb25M
aXN0Ojpjb25zdF9pdGVyYXRvciBpdGVyID0gbV9yZWdpb25MaXN0LmJlZ2luKCk7IGl0ZXIgIT0g
bV9yZWdpb25MaXN0LmVuZCgpOyArK2l0ZXIpIHsKKyAgICAgICAgUmVuZGVyUmVnaW9uKiByZWdp
b24gPSAqaXRlcjsKKyAgICAgICAgaWYgKCFyZWdpb24tPmlzVmFsaWQoKSkKKyAgICAgICAgICAg
IGNvbnRpbnVlOworCisgICAgICAgIExheW91dFJlY3QgcmVnaW9uUmVjdCA9IHJlZ2lvbi0+cmVn
aW9uUmVjdCgpOworCisgICAgICAgIGlmICh1c2VIb3Jpem9udGFsV3JpdGluZ01vZGUpIHsKKyAg
ICAgICAgICAgIGlmIChyZWdpb25SZWN0LnkoKSA8PSBsb2dpY2FsVG9wICYmIGxvZ2ljYWxUb3Ag
PCByZWdpb25SZWN0Lm1heFkoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gcmVnaW9uOworICAg
ICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKworICAgICAgICBpZiAocmVnaW9uUmVjdC54
KCkgPD0gbG9naWNhbFRvcCAmJiBsb2dpY2FsVG9wIDwgcmVnaW9uUmVjdC5tYXhYKCkpCisgICAg
ICAgICAgICByZXR1cm4gcmVnaW9uOworICAgIH0KKworICAgIHJldHVybiAwOworfQorCitMYXlv
dXRVbml0IFJlbmRlckZsb3dUaHJlYWQ6OnJlZ2lvbkxvZ2ljYWxXaWR0aEZvckxpbmUoTGF5b3V0
VW5pdCBsb2dpY2FsVG9wKSBjb25zdAoreworICAgIFJlbmRlclJlZ2lvbiogcmVnaW9uID0gcmVu
ZGVyUmVnaW9uRm9yTGluZShsb2dpY2FsVG9wKTsKKyAgICBpZiAoIXJlZ2lvbikKKyAgICAgICAg
cmV0dXJuIDA7CisKKyAgICByZXR1cm4gaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IHJlZ2lv
bi0+cmVnaW9uUmVjdCgpLndpZHRoKCkgOiByZWdpb24tPnJlZ2lvblJlY3QoKS5oZWlnaHQoKTsK
K30KKworCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckZsb3dUaHJlYWQuaAppbmRleCBmMzczNTM1Li5mOTg0MzQ2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmgKQEAgLTk2LDkgKzk2LDE3IEBAIHB1
YmxpYzoKIAogICAgIHZvaWQgcmVwYWludFJlY3RhbmdsZUluUmVnaW9ucyhjb25zdCBMYXlvdXRS
ZWN0JiwgYm9vbCBpbW1lZGlhdGUpOwogCisgICAgTGF5b3V0VW5pdCByZWdpb25Mb2dpY2FsV2lk
dGhGb3JMaW5lKExheW91dFVuaXQgbG9naWNhbFRvcCkgY29uc3Q7CisKKyAgICBib29sIGlzUmVn
aW9uRml0dGluZ0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiAhbV9yZWdpb25GaXR0aW5nRGlzYWJs
ZUNvdW50OyB9CisgICAgdm9pZCBkaXNhYmxlUmVnaW9uRml0dGluZygpIHsgbV9yZWdpb25GaXR0
aW5nRGlzYWJsZUNvdW50Kys7IH0KKyAgICB2b2lkIGVuYWJsZVJlZ2lvbkZpdHRpbmcoKSB7IEFT
U0VSVChtX3JlZ2lvbkZpdHRpbmdEaXNhYmxlQ291bnQgPiAwKTsgbV9yZWdpb25GaXR0aW5nRGlz
YWJsZUNvdW50LS07IH0KKwogcHJpdmF0ZToKICAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIHJlbmRl
ck5hbWUoKSBjb25zdCB7IHJldHVybiAiUmVuZGVyRmxvd1RocmVhZCI7IH0KIAorICAgIFJlbmRl
clJlZ2lvbiogcmVuZGVyUmVnaW9uRm9yTGluZShMYXlvdXRVbml0IGxvZ2ljYWxUb3ApIGNvbnN0
OworCiAgICAgYm9vbCBkZXBlbmRzT24oUmVuZGVyRmxvd1RocmVhZCogb3RoZXJSZW5kZXJGbG93
VGhyZWFkKSBjb25zdDsKICAgICB2b2lkIGFkZERlcGVuZGVuY3lPbkZsb3dUaHJlYWQoUmVuZGVy
Rmxvd1RocmVhZCopOwogICAgIHZvaWQgcmVtb3ZlRGVwZW5kZW5jeU9uRmxvd1RocmVhZChSZW5k
ZXJGbG93VGhyZWFkKik7CkBAIC0xMjMsNiArMTMxLDcgQEAgcHJpdmF0ZToKICAgICBSZW5kZXJG
bG93VGhyZWFkQ291bnRlZFNldCBtX2xheW91dEJlZm9yZVRocmVhZHNTZXQ7CiAKICAgICBib29s
IG1fcmVnaW9uc0ludmFsaWRhdGVkOworICAgIHVuc2lnbmVkIG1fcmVnaW9uRml0dGluZ0Rpc2Fi
bGVDb3VudDsKIH07CiAKIGlubGluZSBSZW5kZXJGbG93VGhyZWFkKiB0b1JlbmRlckZsb3dUaHJl
YWQoUmVuZGVyT2JqZWN0KiBvYmplY3QpCkBAIC0xNDAsNiArMTQ5LDI4IEBAIGlubGluZSBjb25z
dCBSZW5kZXJGbG93VGhyZWFkKiB0b1JlbmRlckZsb3dUaHJlYWQoY29uc3QgUmVuZGVyT2JqZWN0
KiBvYmplY3QpCiAvLyBUaGlzIHdpbGwgY2F0Y2ggYW55b25lIGRvaW5nIGFuIHVubmVjZXNzYXJ5
IGNhc3QuCiB2b2lkIHRvUmVuZGVyRmxvd1RocmVhZChjb25zdCBSZW5kZXJGbG93VGhyZWFkKik7
CiAKK2NsYXNzIFJlZ2lvbkZpdHRpbmdEaXNhYmxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoUmVnaW9uRml0dGluZ0Rpc2FibGVyKTsKK3B1YmxpYzoKKyAgICBSZWdpb25GaXR0aW5nRGlz
YWJsZXIoUmVuZGVyRmxvd1RocmVhZCogZmxvd1RocmVhZCwgYm9vbCBkaXNhYmxlKQorICAgIHsK
KyAgICAgICAgaWYgKGZsb3dUaHJlYWQgJiYgZGlzYWJsZSkgeworICAgICAgICAgICAgbV9mbG93
VGhyZWFkID0gZmxvd1RocmVhZDsKKyAgICAgICAgICAgIG1fZmxvd1RocmVhZC0+ZGlzYWJsZVJl
Z2lvbkZpdHRpbmcoKTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBtX2Zsb3dUaHJlYWQg
PSAwOworICAgIH0KKworICAgIH5SZWdpb25GaXR0aW5nRGlzYWJsZXIoKQorICAgIHsKKyAgICAg
ICAgaWYgKG1fZmxvd1RocmVhZCkKKyAgICAgICAgICAgIG1fZmxvd1RocmVhZC0+ZW5hYmxlUmVn
aW9uRml0dGluZygpOworICAgIH0KK3ByaXZhdGU6CisgICAgUmVuZGVyRmxvd1RocmVhZCogbV9m
bG93VGhyZWFkOworfTsKKworCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBS
ZW5kZXJGbG93VGhyZWFkX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJSZWdpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlZ2lvbi5j
cHAKaW5kZXggN2M5N2NmNy4uNTYzMTkxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclJlZ2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclJlZ2lvbi5jcHAKQEAgLTgyLDYgKzgyLDEzIEBAIGJvb2wgUmVuZGVyUmVnaW9uOjpub2Rl
QXRQb2ludChjb25zdCBIaXRUZXN0UmVxdWVzdCYgcmVxdWVzdCwgSGl0VGVzdFJlc3VsdCYgcmVz
CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCit2b2lkIFJlbmRlclJlZ2lvbjo6bGF5b3V0KCkKK3sK
KyAgICBSZW5kZXJSZXBsYWNlZDo6bGF5b3V0KCk7CisgICAgaWYgKG1fZmxvd1RocmVhZCAmJiBp
c1ZhbGlkKCkpCisgICAgICAgIG1fZmxvd1RocmVhZC0+aW52YWxpZGF0ZVJlZ2lvbnMoKTsKK30K
Kwogdm9pZCBSZW5kZXJSZWdpb246OmF0dGFjaFJlZ2lvbigpCiB7CiAgICAgaWYgKCFtX2Zsb3dU
aHJlYWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVnaW9u
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVnaW9uLmgKaW5kZXggYzQ2NTBi
NS4uNTRjMTc5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJl
Z2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZWdpb24uaApAQCAt
NTgsNiArNTgsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1ZhbGlkKCkgY29uc3QgeyByZXR1cm4g
bV9pc1ZhbGlkOyB9CiAgICAgdm9pZCBzZXRJc1ZhbGlkKGJvb2wgdmFsaWQpIHsgbV9pc1ZhbGlk
ID0gdmFsaWQ7IH0KIAorICAgIHZpcnR1YWwgdm9pZCBsYXlvdXQoKTsKKwogcHJpdmF0ZToKICAg
ICB2aXJ0dWFsIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCB7IHJldHVybiAiUmVuZGVy
UmVnaW9uIjsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Vmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKaW5kZXgg
YWNhY2U1Ni4uYzFmZmI1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNw
cApAQCAtNTUsNiArNTUsNyBAQCBSZW5kZXJWaWV3OjpSZW5kZXJWaWV3KE5vZGUqIG5vZGUsIEZy
YW1lVmlldyogdmlldykKICAgICAsIG1faXNSZW5kZXJGbG93VGhyZWFkT3JkZXJEaXJ0eShmYWxz
ZSkKICAgICAsIG1fbGF5b3V0U3RhdGUoMCkKICAgICAsIG1fbGF5b3V0U3RhdGVEaXNhYmxlQ291
bnQoMCkKKyAgICAsIG1fY3VycmVudFJlbmRlckZsb3dUaHJlYWQoMCkKIHsKICAgICAvLyBDbGVh
ciBvdXIgYW5vbnltb3VzIGJpdCwgc2V0IGJlY2F1c2UgUmVuZGVyT2JqZWN0IGFzc3VtZXMKICAg
ICAvLyBhbnkgcmVuZGVyZXIgd2l0aCBkb2N1bWVudCBhcyB0aGUgbm9kZSBpcyBhbm9ueW1vdXMu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaAppbmRleCA3NWM2YjI3Li43ZTBiZmVm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgKQEAgLTE4MSw2ICsxODEsMTAg
QEAgcHVibGljOgogICAgIH0KICAgICBjb25zdCBSZW5kZXJGbG93VGhyZWFkTGlzdCogcmVuZGVy
Rmxvd1RocmVhZExpc3QoKSBjb25zdCB7IHJldHVybiBtX3JlbmRlckZsb3dUaHJlYWRMaXN0Lmdl
dCgpOyB9CiAKKyAgICBib29sIGhhc1JlbmRlckZsb3dUaHJlYWQoKSBjb25zdCB7IHJldHVybiBt
X2N1cnJlbnRSZW5kZXJGbG93VGhyZWFkOyB9CisgICAgUmVuZGVyRmxvd1RocmVhZCogY3VycmVu
dFJlbmRlckZsb3dUaHJlYWQoKSBjb25zdCB7IHJldHVybiBtX2N1cnJlbnRSZW5kZXJGbG93VGhy
ZWFkOyB9CisgICAgdm9pZCBzZXRDdXJyZW50UmVuZGVyRmxvd1RocmVhZChSZW5kZXJGbG93VGhy
ZWFkKiBmbG93VGhyZWFkKSB7IG1fY3VycmVudFJlbmRlckZsb3dUaHJlYWQgPSBmbG93VGhyZWFk
OyB9CisKICAgICB2b2lkIHN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSwgY29uc3QgUmVu
ZGVyU3R5bGUqIG9sZFN0eWxlKTsKICAgICAKIHByb3RlY3RlZDoKQEAgLTE5Niw3ICsyMDAsNyBA
QCBwcml2YXRlOgogICAgIGJvb2wgcHVzaExheW91dFN0YXRlKFJlbmRlckJveCogcmVuZGVyZXIs
IGNvbnN0IExheW91dFNpemUmIG9mZnNldCwgTGF5b3V0VW5pdCBwYWdlSGVpZ2h0ID0gMCwgYm9v
bCBwYWdlSGVpZ2h0Q2hhbmdlZCA9IGZhbHNlLCBDb2x1bW5JbmZvKiBjb2xJbmZvID0gMCkKICAg
ICB7CiAgICAgICAgIC8vIFdlIHB1c2ggTGF5b3V0U3RhdGUgZXZlbiBpZiBsYXlvdXRTdGF0ZSBp
cyBkaXNhYmxlZCBiZWNhdXNlIGl0IHN0b3JlcyBsYXlvdXREZWx0YSB0b28uCi0gICAgICAgIGlm
ICghZG9pbmdGdWxsUmVwYWludCgpIHx8IHJlbmRlcmVyLT5oYXNDb2x1bW5zKCkgfHwgbV9sYXlv
dXRTdGF0ZS0+aXNQYWdpbmF0ZWQoKSkgeworICAgICAgICBpZiAoIWRvaW5nRnVsbFJlcGFpbnQo
KSB8fCByZW5kZXJlci0+aGFzQ29sdW1ucygpIHx8IG1fbGF5b3V0U3RhdGUtPmlzUGFnaW5hdGVk
KCkgfHwgaGFzUmVuZGVyRmxvd1RocmVhZCgpKSB7CiAgICAgICAgICAgICBtX2xheW91dFN0YXRl
ID0gbmV3IChyZW5kZXJBcmVuYSgpKSBMYXlvdXRTdGF0ZShtX2xheW91dFN0YXRlLCByZW5kZXJl
ciwgb2Zmc2V0LCBwYWdlSGVpZ2h0LCBwYWdlSGVpZ2h0Q2hhbmdlZCwgY29sSW5mbyk7CiAgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgfQpAQCAtMjY1LDYgKzI2OSw3IEBAIHByaXZh
dGU6CiAgICAgT3duUHRyPFJlbmRlckxheWVyQ29tcG9zaXRvcj4gbV9jb21wb3NpdG9yOwogI2Vu
ZGlmCiAgICAgT3duUHRyPFJlbmRlckZsb3dUaHJlYWRMaXN0PiBtX3JlbmRlckZsb3dUaHJlYWRM
aXN0OworICAgIFJlbmRlckZsb3dUaHJlYWQqIG1fY3VycmVudFJlbmRlckZsb3dUaHJlYWQ7CiB9
OwogCiBpbmxpbmUgUmVuZGVyVmlldyogdG9SZW5kZXJWaWV3KFJlbmRlck9iamVjdCogb2JqZWN0
KQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>104660</attachid>
            <date>2011-08-22 04:08:38 -0700</date>
            <delta_ts>2011-08-22 13:16:38 -0700</delta_ts>
            <desc>Patch V2</desc>
            <filename>bug66143_2.patch</filename>
            <type>text/plain</type>
            <size>30503</size>
            <attacher name="Alexandru Chiculita">achicu</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwMjk3MjIxLi5kMTYwNGM4IDEwMDc1NQotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDgt
MjIgIEFsZXhhbmRydSBDaGljdWxpdGEgIDxhY2hpY3VAYWRvYmUuY29tPgorCisgICAgICAgIFtD
U1NSZWdpb25zXSBSZW5kZXJGbG93VGhyZWFkIGxheW91dCBzaG91bGQgdXNlIHRoZSBhdHRhY2hl
ZCByZWdpb24gc2l6ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTY2MTQzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBmYXN0L3JlZ2lvbnMvd2Via2l0LWZsb3ctZmxvYXRzLWluc2lkZS1yZWdpb25zLWJv
dW5kcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVnaW9ucy93ZWJraXQt
Zmxvdy1mbG9hdHMtaW5zaWRlLXJlZ2lvbnMtYm91bmRzLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvcmVnaW9ucy93ZWJraXQtZmxvdy1pbmxpbmVzLWluc2lkZS1yZWdpb25zLWJvdW5kcy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVnaW9ucy93ZWJraXQtZmxvdy1p
bmxpbmVzLWluc2lkZS1yZWdpb25zLWJvdW5kcy12ZXJ0aWNhbC1sci1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvcmVnaW9ucy93ZWJraXQtZmxvdy1pbmxpbmVzLWluc2lkZS1y
ZWdpb25zLWJvdW5kcy12ZXJ0aWNhbC1sci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3Jl
Z2lvbnMvd2Via2l0LWZsb3ctaW5saW5lcy1pbnNpZGUtcmVnaW9ucy1ib3VuZHMuaHRtbDogQWRk
ZWQuCisKIDIwMTEtMDgtMjEgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAg
ICAgIFVwZGF0ZSByZXN1bHRzIGZvciBtb3JlIHRlc3RzIGFmZmVjdGVkIGJ5IHRoZSBhZGRpdGlv
biBvZiB0aGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtZmxv
dy1mbG9hdHMtaW5zaWRlLXJlZ2lvbnMtYm91bmRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvcmVnaW9ucy93ZWJraXQtZmxvdy1mbG9hdHMtaW5zaWRlLXJlZ2lvbnMtYm91bmRzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNzI3Nzg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3dlYmtpdC1mbG93LWZs
b2F0cy1pbnNpZGUtcmVnaW9ucy1ib3VuZHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNTIgQEAK
K2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUg
ODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NDIyCisgIFJlbmRlckJsb2NrIHtIVE1M
fSBhdCAoMCwwKSBzaXplIDgwMHg0MjIKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBz
aXplIDc4NHg0MDYKKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgNzg0eDQw
NgorICAgICAgICBSZW5kZXJSZWdpb24ge0RJVn0gYXQgKDAsMCkgc2l6ZSAyMDJ4MTAyIFtib3Jk
ZXI6ICgxcHggc29saWQgIzAwMDAwMCldCisgICAgICAgIFJlbmRlclJlZ2lvbiB7RElWfSBhdCAo
MCwxMDIpIHNpemUgMzAyeDE4MiBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQorICAgICAg
ICBSZW5kZXJSZWdpb24ge0RJVn0gYXQgKDAsMjg0KSBzaXplIDEyMngxMjIgW2JvcmRlcjogKDFw
eCBzb2xpZCAjMDAwMDAwKV0KK0Zsb3cgVGhyZWFkcworICBUaHJlYWQgd2l0aCBmbG93LW5hbWUg
J2Zsb3cxJworICAgIGxheWVyIGF0ICgwLDApIHNpemUgMzAweDQwMAorICAgICAgUmVuZGVyRmxv
d1RocmVhZCBhdCAoMCwwKSBzaXplIDMwMHg0MDAKKyAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0g
YXQgKDAsMCkgc2l6ZSAzMDB4NDc0CisgICAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDUs
NSkgc2l6ZSAyOTB4NDY0IFtib3JkZXI6ICgxcHggc29saWQgIzAwMDBGRildCisgICAgICAgICAg
ICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMTEsMTEpIHNpemUgMjY4eDQ0MiBbYm9yZGVyOiAoMXB4
IHNvbGlkICMwMDgwMDApXQorICAgICAgICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDEsMTcp
IHNpemUgMjY2eDM2CisgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgMTY2eDM2CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAx
NjY6ICJUaGlzIGxpbmUgb2YgdGV4dCBzaG91bGQiCisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwxOCkgd2lkdGggMTU1OiAibm90IGdldCBvdXQgb2YgdGhlIHJlZ2lvbi4iCisgICAg
ICAgICAgICAgIFJlbmRlckJsb2NrIChmbG9hdGluZykge0RJVn0gYXQgKDk1LDY5KSBzaXplIDcy
eDM3IFtib3JkZXI6ICgxcHggc29saWQgI0ZGMDAwMCldCisgICAgICAgICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgNDR4MTgKKyAgICAgICAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgxLDEpIHdpZHRoIDQ0OiAiRmxvYXQgMSIKKyAgICAgICAgICAgICAgUmVuZGVyQmxv
Y2sgKGFub255bW91cykgYXQgKDEsNjkpIHNpemUgMjY2eDEwOAorICAgICAgICAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDI2NngxMDgKKyAgICAgICAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDk0OiAiVGhpcyBsaW5lIG9mIgorICAgICAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDAsMTgpIHdpZHRoIDk0OiAidGV4dCBzaG91bGQgbm90IgorICAg
ICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMzYpIHdpZHRoIDk0OiAiZ2V0IG91dCBvZiB0
aGUiCisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw1NCkgd2lkdGggMjY2OiAicmVn
aW9uLiBUaGlzIGxpbmUgb2YgdGV4dCBzaG91bGQgbm90IGdldCBvdXQiCisgICAgICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMCw3Mikgd2lkdGggMjY2OiAib2YgdGhlIHJlZ2lvbi4gVGhpcyBs
aW5lIG9mIHRleHQgc2hvdWxkIG5vdCIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgw
LDkwKSB3aWR0aCAxMzE6ICJnZXQgb3V0IG9mIHRoZSByZWdpb24uIgorICAgICAgICAgICAgICBS
ZW5kZXJCbG9jayB7UH0gYXQgKDEsMTkzKSBzaXplIDI2NngwCisgICAgICAgICAgICAgIFJlbmRl
ckJsb2NrIHtQfSBhdCAoMSwxOTMpIHNpemUgMjY2eDEyNgorICAgICAgICAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDI2NngxMjYKKyAgICAgICAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgwLDApIHdpZHRoIDI2NjogIlRoaXMgbGluZSBvZiB0ZXh0IHNob3VsZCBub3Qg
Z2V0IG91dCBvZiB0aGUiCisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxOCkgd2lk
dGggMjY2OiAicmVnaW9uLiBUaGlzIGxpbmUgb2YgdGV4dCBzaG91bGQgbm90IGdldCBvdXQiCisg
ICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwzNikgd2lkdGggMjY2OiAib2YgdGhlIHJl
Z2lvbi4gVGhpcyBsaW5lIG9mIHRleHQgc2hvdWxkIG5vdCIKKyAgICAgICAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgwLDU0KSB3aWR0aCAyNjY6ICJnZXQgb3V0IG9mIHRoZSByZWdpb24uIFRoaXMg
bGluZSBvZiB0ZXh0IgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsNzIpIHdpZHRo
IDg2OiAic2hvdWxkIG5vdCIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDkwKSB3
aWR0aCA4NjogImdldCBvdXQgb2YgdGhlIgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsMTA4KSB3aWR0aCA0NDogInJlZ2lvbi4iCisgICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtQ
fSBhdCAoMSwzMzUpIHNpemUgMjY2eDkwCisgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgwLDApIHNpemUgODZ4OTAKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgw
LDApIHdpZHRoIDg2OiAiVGhpcyBsaW5lIG9mIgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDAsMTgpIHdpZHRoIDg2OiAidGV4dCBzaG91bGQiCisgICAgICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMCwzNikgd2lkdGggODY6ICJub3QgZ2V0IG91dCBvZiIKKyAgICAgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLDU0KSB3aWR0aCAxOTogInRoZSIKKyAgICAgICAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgwLDcyKSB3aWR0aCA0NDogInJlZ2lvbi4iCisgIFJlZ2lvbnMgZm9yIGZs
b3cgJ2Zsb3cxJworICAgIFJlbmRlclJlZ2lvbiB7RElWfSAjcmVnaW9uMSB3aXRoIGluZGV4IDAK
KyAgICBSZW5kZXJSZWdpb24ge0RJVn0gI3JlZ2lvbjIgd2l0aCBpbmRleCAwCisgICAgUmVuZGVy
UmVnaW9uIHtESVZ9ICNyZWdpb24zIHdpdGggaW5kZXggMApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9yZWdpb25zL3dlYmtpdC1mbG93LWZsb2F0cy1pbnNpZGUtcmVnaW9ucy1ib3VuZHMu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtZmxvdy1mbG9hdHMtaW5zaWRl
LXJlZ2lvbnMtYm91bmRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
MmMxZmUzNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJr
aXQtZmxvdy1mbG9hdHMtaW5zaWRlLXJlZ2lvbnMtYm91bmRzLmh0bWwKQEAgLTAsMCArMSw2MSBA
QAorPCFkb2N0eXBlIGh0bWw+CisKKyA8c3R5bGU+CisgICAgI2NvbnRlbnQgeworICAgICAgICAt
d2Via2l0LWZsb3c6ICJmbG93MSI7CisgICAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7CisgICAg
ICAgIHBhZGRpbmc6IDVweDsKKyAgICB9CisgICAgCisgICAgI2ZpcnN0LWJveCB7CisgICAgICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7CisgICAgfQorICAgIAorICAgICNzZWNvbmQtYm94IHsK
KyAgICAgICAgbWFyZ2luOjEwcHg7CisgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGdyZWVuOwor
ICAgIH0KKyAgICAKKyAgICAjZmxvYXQxIHsKKyAgICAgICAgZmxvYXQ6IHJpZ2h0OworICAgICAg
ICB3aWR0aDogNzBweDsKKyAgICAgICAgaGVpZ2h0OiAzNXB4OworICAgICAgICBib3JkZXI6IDFw
eCBzb2xpZCByZWQ7CisgICAgfQorICAgIAorICAgICNyZWdpb24xLCAjcmVnaW9uMiwgI3JlZ2lv
bjMgeworICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjazsKKyAgICAgICAgY29udGVudDog
LXdlYmtpdC1mcm9tLWZsb3coImZsb3cxIik7CisgICAgfQorCisgICAgI3JlZ2lvbjEgeworICAg
ICAgICB3aWR0aDogMjAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgfQorICAgIAor
ICAgICNyZWdpb24yIHsKKyAgICAgICAgd2lkdGg6IDMwMHB4OworICAgICAgICBoZWlnaHQ6IDE4
MHB4OworICAgIH0KKyAgICAKKyAgICAjcmVnaW9uMyB7CisgICAgICAgIHdpZHRoOiAxMjBweDsK
KyAgICAgICAgaGVpZ2h0OiAxMjBweDsKKyAgICB9Cis8L3N0eWxlPgorCis8ZGl2IGlkPSJjb250
ZW50Ij4KKyAgICA8ZGl2IGlkPSJmaXJzdC1ib3giPgorICAgICAgICA8ZGl2IGlkPSJzZWNvbmQt
Ym94Ij4KKyAgICAgICAgICAgIDxwPlRoaXMgbGluZSBvZiB0ZXh0IHNob3VsZCBub3QgZ2V0IG91
dCBvZiB0aGUgcmVnaW9uLjxkaXYgaWQ9ImZsb2F0MSI+RmxvYXQgMTwvZGl2PiBUaGlzIGxpbmUg
b2YgdGV4dCBzaG91bGQgbm90IGdldCBvdXQgb2YgdGhlIHJlZ2lvbi4gVGhpcyBsaW5lIG9mIHRl
eHQgc2hvdWxkIG5vdCBnZXQgb3V0IG9mIHRoZSByZWdpb24uIFRoaXMgbGluZSBvZiB0ZXh0IHNo
b3VsZCBub3QgZ2V0IG91dCBvZiB0aGUgcmVnaW9uLjwvcD4KKyAgICAgICAgICAgIDxwPlRoaXMg
bGluZSBvZiB0ZXh0IHNob3VsZCBub3QgZ2V0IG91dCBvZiB0aGUgcmVnaW9uLiBUaGlzIGxpbmUg
b2YgdGV4dCBzaG91bGQgbm90IGdldCBvdXQgb2YgdGhlIHJlZ2lvbi4gVGhpcyBsaW5lIG9mIHRl
eHQgc2hvdWxkIG5vdCBnZXQgb3V0IG9mIHRoZSByZWdpb24uIFRoaXMgbGluZSBvZiB0ZXh0IHNo
b3VsZCBub3QgZ2V0IG91dCBvZiB0aGUgcmVnaW9uLjwvcD4KKyAgICAgICAgICAgIDxwPlRoaXMg
bGluZSBvZiB0ZXh0IHNob3VsZCBub3QgZ2V0IG91dCBvZiB0aGUgcmVnaW9uLjwvcD4KKyAgICAg
ICAgPC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKworPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8ZGl2IGlkPSJyZWdpb24xIj48L2Rpdj4KKyAgICA8ZGl2IGlkPSJyZWdpb24yIj48L2Rpdj4K
KyAgICA8ZGl2IGlkPSJyZWdpb24zIj48L2Rpdj4KKzwvZGl2PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9yZWdpb25zL3dlYmtpdC1mbG93LWlubGluZXMtaW5zaWRlLXJlZ2lvbnMtYm91
bmRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtZmxvdy1p
bmxpbmVzLWluc2lkZS1yZWdpb25zLWJvdW5kcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uNzc4OTAyNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtZmxvdy1pbmxpbmVzLWluc2lkZS1yZWdpb25zLWJvdW5k
cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0MiBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBz
aXplIDgwMHg0MjIKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDQyMgor
ICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDQwNgorICAgICAgUmVuZGVy
QmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSA3ODR4NDA2CisgICAgICAgIFJlbmRlclJlZ2lvbiB7
RElWfSBhdCAoMCwwKSBzaXplIDIwMngxMDIgW2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMDAwKV0K
KyAgICAgICAgUmVuZGVyUmVnaW9uIHtESVZ9IGF0ICgwLDEwMikgc2l6ZSAzMDJ4MTgyIFtib3Jk
ZXI6ICgxcHggc29saWQgIzAwMDAwMCldCisgICAgICAgIFJlbmRlclJlZ2lvbiB7RElWfSBhdCAo
MCwyODQpIHNpemUgMTIyeDEyMiBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQorRmxvdyBU
aHJlYWRzCisgIFRocmVhZCB3aXRoIGZsb3ctbmFtZSAnZmxvdzEnCisgICAgbGF5ZXIgYXQgKDAs
MCkgc2l6ZSAzMDB4NDAwCisgICAgICBSZW5kZXJGbG93VGhyZWFkIGF0ICgwLDApIHNpemUgMzAw
eDQwMAorICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDMwMHgzODYKKyAg
ICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoNSw1KSBzaXplIDI5MHgzNzYgW2JvcmRlcjog
KDFweCBzb2xpZCAjMDAwMEZGKV0KKyAgICAgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgx
MSwxMSkgc2l6ZSAyNjh4MzU0IFtib3JkZXI6ICgxcHggc29saWQgIzAwODAwMCldCisgICAgICAg
ICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMSwxNykgc2l6ZSAyNjZ4MTI2CisgICAgICAgICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMjY2eDEyNgorICAgICAgICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTY2OiAiVGhpcyBsaW5lIG9mIHRleHQg
c2hvdWxkIgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTgpIHdpZHRoIDE2Njog
Im5vdCBnZXQgb3V0IG9mIHRoZSByZWdpb24uIgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDAsMzYpIHdpZHRoIDE2NjogIlRoaXMgbGluZSBvZiB0ZXh0IHNob3VsZCIKKyAgICAgICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDU0KSB3aWR0aCAxNjY6ICJub3QgZ2V0IG91dCBvZiB0
aGUgcmVnaW9uLiIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDcyKSB3aWR0aCAy
NjY6ICJUaGlzIGxpbmUgb2YgdGV4dCBzaG91bGQgbm90IGdldCBvdXQgb2YgdGhlIgorICAgICAg
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsOTApIHdpZHRoIDI2NjogInJlZ2lvbi4gVGhpcyBs
aW5lIG9mIHRleHQgc2hvdWxkIG5vdCBnZXQgb3V0IgorICAgICAgICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDAsMTA4KSB3aWR0aCA4NDogIm9mIHRoZSByZWdpb24uIgorICAgICAgICAgICAgICBS
ZW5kZXJCbG9jayB7UH0gYXQgKDEsMTU5KSBzaXplIDI2Nng5MAorICAgICAgICAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDI2Nng5MAorICAgICAgICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMjY2OiAiVGhpcyBsaW5lIG9mIHRleHQgc2hvdWxkIG5v
dCBnZXQgb3V0IG9mIHRoZSIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3
aWR0aCAyNjY6ICJyZWdpb24uIFRoaXMgbGluZSBvZiB0ZXh0IHNob3VsZCBub3QgZ2V0IG91dCIK
KyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDM2KSB3aWR0aCAyNjY6ICJvZiB0aGUg
cmVnaW9uLiBUaGlzIGxpbmUgb2YgdGV4dCBzaG91bGQgbm90IgorICAgICAgICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDAsNTQpIHdpZHRoIDI2NjogImdldCBvdXQgb2YgdGhlIHJlZ2lvbi4gVGhp
cyBsaW5lIG9mIHRleHQiCisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw3Mikgd2lk
dGggMjAxOiAic2hvdWxkIG5vdCBnZXQgb3V0IG9mIHRoZSByZWdpb24uIgorICAgICAgICAgICAg
ICBSZW5kZXJCbG9jayB7UH0gYXQgKDEsMjY1KSBzaXplIDI2Nng3MgorICAgICAgICAgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDg2eDcyCisgICAgICAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA4NjogIlRoaXMgbGluZSBvZiIKKyAgICAgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3aWR0aCA4NjogInRleHQgc2hvdWxkIgorICAgICAg
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMzYpIHdpZHRoIDg2OiAibm90IGdldCBvdXQgb2Yi
CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw1NCkgd2lkdGggNjc6ICJ0aGUgcmVn
aW9uLiIKKyAgUmVnaW9ucyBmb3IgZmxvdyAnZmxvdzEnCisgICAgUmVuZGVyUmVnaW9uIHtESVZ9
ICNyZWdpb24xIHdpdGggaW5kZXggMAorICAgIFJlbmRlclJlZ2lvbiB7RElWfSAjcmVnaW9uMiB3
aXRoIGluZGV4IDAKKyAgICBSZW5kZXJSZWdpb24ge0RJVn0gI3JlZ2lvbjMgd2l0aCBpbmRleCAw
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2Via2l0LWZsb3ctaW5saW5l
cy1pbnNpZGUtcmVnaW9ucy1ib3VuZHMtdmVydGljYWwtbHItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZmFzdC9yZWdpb25zL3dlYmtpdC1mbG93LWlubGluZXMtaW5zaWRlLXJlZ2lvbnMtYm91
bmRzLXZlcnRpY2FsLWxyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi42YWJiNzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdp
b25zL3dlYmtpdC1mbG93LWlubGluZXMtaW5zaWRlLXJlZ2lvbnMtYm91bmRzLXZlcnRpY2FsLWxy
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUzIEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgxNTgsMCkg
c2l6ZSA2NDJ4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDY0Mng2MDAK
KyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDYyNng1ODQKKyAgICAgIFJlbmRl
ckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgNjI2eDU4NAorICAgICAgICBSZW5kZXJSZWdpb24g
e0RJVn0gYXQgKDAsMCkgc2l6ZSAyMDJ4MTAyIFtib3JkZXI6ICgxcHggc29saWQgIzAwMDAwMCld
CisgICAgICAgIFJlbmRlclJlZ2lvbiB7RElWfSBhdCAoMjAyLDApIHNpemUgMzAyeDE4MiBbYm9y
ZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQorICAgICAgICBSZW5kZXJSZWdpb24ge0RJVn0gYXQg
KDUwNCwwKSBzaXplIDEyMngxMjIgW2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMDAwKV0KK0Zsb3cg
VGhyZWFkcworICBUaHJlYWQgd2l0aCBmbG93LW5hbWUgJ2Zsb3cxJworICAgIGxheWVyIGF0ICgx
ODAsMCkgc2l6ZSA2MjB4MTgwCisgICAgICBSZW5kZXJGbG93VGhyZWFkIGF0ICgwLDApIHNpemUg
NjIweDE4MAorICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDU4NHgxODAK
KyAgICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoNSw1KSBzaXplIDU3NHgxNzAgW2JvcmRl
cjogKDFweCBzb2xpZCAjMDAwMEZGKV0KKyAgICAgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0
ICgxMSwxMSkgc2l6ZSA1NTJ4MTQ4IFtib3JkZXI6ICgxcHggc29saWQgIzAwODAwMCldCisgICAg
ICAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMTcsMSkgc2l6ZSAyNzB4MTQ2CisgICAgICAg
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMjcweDE0NgorICAgICAg
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNjY6ICJUaGlzIGxpbmUiCisgICAg
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTgsMCkgd2lkdGggNjY6ICJvZiB0ZXh0IgorICAg
ICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDM2LDApIHdpZHRoIDY2OiAic2hvdWxkIG5vdCIK
KyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg1NCwwKSB3aWR0aCA2NjogImdldCBvdXQg
b2YiCisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNzIsMCkgd2lkdGggMTk6ICJ0aGUi
CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoOTAsMCkgd2lkdGggNDQ6ICJyZWdpb24u
IgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEwOCwwKSB3aWR0aCA2NjogIlRoaXMg
bGluZSIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMjYsMCkgd2lkdGggNjY6ICJv
ZiB0ZXh0IgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE0NCwwKSB3aWR0aCA2Njog
InNob3VsZCBub3QiCisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTYyLDApIHdpZHRo
IDY2OiAiZ2V0IG91dCBvZiIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxODAsMCkg
d2lkdGggMTQ2OiAidGhlIHJlZ2lvbi4gVGhpcyBsaW5lIG9mIgorICAgICAgICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDE5OCwwKSB3aWR0aCAxNDY6ICJ0ZXh0IHNob3VsZCBub3QgZ2V0IG91dCIK
KyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyMTYsMCkgd2lkdGggMTQ2OiAib2YgdGhl
IHJlZ2lvbi4gVGhpcyBsaW5lIgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDIzNCww
KSB3aWR0aCAxNDY6ICJvZiB0ZXh0IHNob3VsZCBub3QgZ2V0IgorICAgICAgICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDI1MiwwKSB3aWR0aCAxMDg6ICJvdXQgb2YgdGhlIHJlZ2lvbi4iCisgICAg
ICAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMzAzLDEpIHNpemUgMTYyeDE0NgorICAgICAg
ICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDE2MngxNDYKKyAgICAg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDE0NjogIlRoaXMgbGluZSBvZiB0
ZXh0IHNob3VsZCIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxOCwwKSB3aWR0aCAx
NDY6ICJub3QgZ2V0IG91dCBvZiB0aGUiCisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MzYsMCkgd2lkdGggMTQ2OiAicmVnaW9uLiBUaGlzIGxpbmUgb2YiCisgICAgICAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoNTQsMCkgd2lkdGggMTQ2OiAidGV4dCBzaG91bGQgbm90IGdldCBvdXQi
CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNzIsMCkgd2lkdGggMTQ2OiAib2YgdGhl
IHJlZ2lvbi4gVGhpcyBsaW5lIgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDkwLDAp
IHdpZHRoIDE0NjogIm9mIHRleHQgc2hvdWxkIG5vdCBnZXQiCisgICAgICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMTA4LDApIHdpZHRoIDE0NjogIm91dCBvZiB0aGUgcmVnaW9uLiBUaGlzIgor
ICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEyNiwwKSB3aWR0aCAxNDY6ICJsaW5lIG9m
IHRleHQgc2hvdWxkIG5vdCIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxNDQsMCkg
d2lkdGggMTMxOiAiZ2V0IG91dCBvZiB0aGUgcmVnaW9uLiIKKyAgICAgICAgICAgICAgUmVuZGVy
QmxvY2sge1B9IGF0ICg0ODEsMSkgc2l6ZSA1NHgxNDYKKyAgICAgICAgICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA1NHgxNDYKKyAgICAgICAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgwLDApIHdpZHRoIDE0NjogIlRoaXMgbGluZSBvZiB0ZXh0IHNob3VsZCIKKyAgICAg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxOCwwKSB3aWR0aCA4NjogIm5vdCBnZXQgb3V0IG9m
IgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDM2LDApIHdpZHRoIDY3OiAidGhlIHJl
Z2lvbi4iCisgIFJlZ2lvbnMgZm9yIGZsb3cgJ2Zsb3cxJworICAgIFJlbmRlclJlZ2lvbiB7RElW
fSAjcmVnaW9uMSB3aXRoIGluZGV4IDAKKyAgICBSZW5kZXJSZWdpb24ge0RJVn0gI3JlZ2lvbjIg
d2l0aCBpbmRleCAwCisgICAgUmVuZGVyUmVnaW9uIHtESVZ9ICNyZWdpb24zIHdpdGggaW5kZXgg
MApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3dlYmtpdC1mbG93LWlubGlu
ZXMtaW5zaWRlLXJlZ2lvbnMtYm91bmRzLXZlcnRpY2FsLWxyLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L3JlZ2lvbnMvd2Via2l0LWZsb3ctaW5saW5lcy1pbnNpZGUtcmVnaW9ucy1ib3VuZHMtdmVy
dGljYWwtbHIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZmFkMzE0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3dlYmtpdC1mbG93
LWlubGluZXMtaW5zaWRlLXJlZ2lvbnMtYm91bmRzLXZlcnRpY2FsLWxyLmh0bWwKQEAgLTAsMCAr
MSw1NiBAQAorPCFkb2N0eXBlIGh0bWw+CisKKyA8c3R5bGU+CisgICAgaHRtbCB7IC13ZWJraXQt
d3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybCB9CisgCisgICAgI2NvbnRlbnQgeworICAgICAgICAt
d2Via2l0LWZsb3c6ICJmbG93MSI7CisgICAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7CisgICAg
ICAgIHBhZGRpbmc6IDVweDsKKyAgICB9CisgICAgCisgICAgI2ZpcnN0LWJveCB7CisgICAgICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7CisgICAgfQorICAgIAorICAgICNzZWNvbmQtYm94IHsK
KyAgICAgICAgbWFyZ2luOjEwcHg7CisgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGdyZWVuOwor
ICAgIH0KKyAgICAKKyAgICAjcmVnaW9uMSwgI3JlZ2lvbjIsICNyZWdpb24zIHsKKyAgICAgICAg
Ym9yZGVyOiAxcHggc29saWQgYmxhY2s7CisgICAgICAgIGNvbnRlbnQ6IC13ZWJraXQtZnJvbS1m
bG93KCJmbG93MSIpOworICAgIH0KKworICAgICNyZWdpb24xIHsKKyAgICAgICAgd2lkdGg6IDIw
MHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0KKyAgICAKKyAgICAjcmVnaW9uMiB7
CisgICAgICAgIHdpZHRoOiAzMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxODBweDsKKyAgICB9Cisg
ICAgCisgICAgI3JlZ2lvbjMgeworICAgICAgICB3aWR0aDogMTIwcHg7CisgICAgICAgIGhlaWdo
dDogMTIwcHg7CisgICAgfQorPC9zdHlsZT4KKworPGRpdiBpZD0iY29udGVudCI+CisgICAgPGRp
diBpZD0iZmlyc3QtYm94Ij4KKyAgICAgICAgPGRpdiBpZD0ic2Vjb25kLWJveCI+CisgICAgICAg
ICAgICA8cD5UaGlzIGxpbmUgb2YgdGV4dCBzaG91bGQgbm90IGdldCBvdXQgb2YgdGhlIHJlZ2lv
bi4gVGhpcyBsaW5lIG9mIHRleHQgc2hvdWxkIG5vdCBnZXQgb3V0IG9mIHRoZSByZWdpb24uIFRo
aXMgbGluZSBvZiB0ZXh0IHNob3VsZCBub3QgZ2V0IG91dCBvZiB0aGUgcmVnaW9uLiBUaGlzIGxp
bmUgb2YgdGV4dCBzaG91bGQgbm90IGdldCBvdXQgb2YgdGhlIHJlZ2lvbi48L3A+CisgICAgICAg
ICAgICA8cD5UaGlzIGxpbmUgb2YgdGV4dCBzaG91bGQgbm90IGdldCBvdXQgb2YgdGhlIHJlZ2lv
bi4gVGhpcyBsaW5lIG9mIHRleHQgc2hvdWxkIG5vdCBnZXQgb3V0IG9mIHRoZSByZWdpb24uIFRo
aXMgbGluZSBvZiB0ZXh0IHNob3VsZCBub3QgZ2V0IG91dCBvZiB0aGUgcmVnaW9uLiBUaGlzIGxp
bmUgb2YgdGV4dCBzaG91bGQgbm90IGdldCBvdXQgb2YgdGhlIHJlZ2lvbi48L3A+CisgICAgICAg
ICAgICA8cD5UaGlzIGxpbmUgb2YgdGV4dCBzaG91bGQgbm90IGdldCBvdXQgb2YgdGhlIHJlZ2lv
bi48L3A+CisgICAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorPC9kaXY+CisKKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPGRpdiBpZD0icmVnaW9uMSI+PC9kaXY+CisgICAgPGRpdiBpZD0icmVn
aW9uMiI+PC9kaXY+CisgICAgPGRpdiBpZD0icmVnaW9uMyI+PC9kaXY+Cis8L2Rpdj4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtZmxvdy1pbmxpbmVzLWluc2lk
ZS1yZWdpb25zLWJvdW5kcy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3dlYmtpdC1m
bG93LWlubGluZXMtaW5zaWRlLXJlZ2lvbnMtYm91bmRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uYjM5OGQwYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvcmVnaW9ucy93ZWJraXQtZmxvdy1pbmxpbmVzLWluc2lkZS1yZWdpb25zLWJvdW5kcy5o
dG1sCkBAIC0wLDAgKzEsNTQgQEAKKzwhZG9jdHlwZSBodG1sPgorCisgPHN0eWxlPgorICAgICNj
b250ZW50IHsKKyAgICAgICAgLXdlYmtpdC1mbG93OiAiZmxvdzEiOworICAgICAgICB0ZXh0LWFs
aWduOiBqdXN0aWZ5OworICAgICAgICBwYWRkaW5nOiA1cHg7CisgICAgfQorICAgIAorICAgICNm
aXJzdC1ib3ggeworICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworICAgIH0KKyAgICAK
KyAgICAjc2Vjb25kLWJveCB7CisgICAgICAgIG1hcmdpbjoxMHB4OworICAgICAgICBib3JkZXI6
IDFweCBzb2xpZCBncmVlbjsKKyAgICB9CisgICAgCisgICAgI3JlZ2lvbjEsICNyZWdpb24yLCAj
cmVnaW9uMyB7CisgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOworICAgICAgICBjb250
ZW50OiAtd2Via2l0LWZyb20tZmxvdygiZmxvdzEiKTsKKyAgICB9CisKKyAgICAjcmVnaW9uMSB7
CisgICAgICAgIHdpZHRoOiAyMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9Cisg
ICAgCisgICAgI3JlZ2lvbjIgeworICAgICAgICB3aWR0aDogMzAwcHg7CisgICAgICAgIGhlaWdo
dDogMTgwcHg7CisgICAgfQorICAgIAorICAgICNyZWdpb24zIHsKKyAgICAgICAgd2lkdGg6IDEy
MHB4OworICAgICAgICBoZWlnaHQ6IDEyMHB4OworICAgIH0KKzwvc3R5bGU+CisKKzxkaXYgaWQ9
ImNvbnRlbnQiPgorICAgIDxkaXYgaWQ9ImZpcnN0LWJveCI+CisgICAgICAgIDxkaXYgaWQ9InNl
Y29uZC1ib3giPgorICAgICAgICAgICAgPHA+VGhpcyBsaW5lIG9mIHRleHQgc2hvdWxkIG5vdCBn
ZXQgb3V0IG9mIHRoZSByZWdpb24uIFRoaXMgbGluZSBvZiB0ZXh0IHNob3VsZCBub3QgZ2V0IG91
dCBvZiB0aGUgcmVnaW9uLiBUaGlzIGxpbmUgb2YgdGV4dCBzaG91bGQgbm90IGdldCBvdXQgb2Yg
dGhlIHJlZ2lvbi4gVGhpcyBsaW5lIG9mIHRleHQgc2hvdWxkIG5vdCBnZXQgb3V0IG9mIHRoZSBy
ZWdpb24uPC9wPgorICAgICAgICAgICAgPHA+VGhpcyBsaW5lIG9mIHRleHQgc2hvdWxkIG5vdCBn
ZXQgb3V0IG9mIHRoZSByZWdpb24uIFRoaXMgbGluZSBvZiB0ZXh0IHNob3VsZCBub3QgZ2V0IG91
dCBvZiB0aGUgcmVnaW9uLiBUaGlzIGxpbmUgb2YgdGV4dCBzaG91bGQgbm90IGdldCBvdXQgb2Yg
dGhlIHJlZ2lvbi4gVGhpcyBsaW5lIG9mIHRleHQgc2hvdWxkIG5vdCBnZXQgb3V0IG9mIHRoZSBy
ZWdpb24uPC9wPgorICAgICAgICAgICAgPHA+VGhpcyBsaW5lIG9mIHRleHQgc2hvdWxkIG5vdCBn
ZXQgb3V0IG9mIHRoZSByZWdpb24uPC9wPgorICAgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKzwv
ZGl2PgorCis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxkaXYgaWQ9InJlZ2lvbjEiPjwvZGl2
PgorICAgIDxkaXYgaWQ9InJlZ2lvbjIiPjwvZGl2PgorICAgIDxkaXYgaWQ9InJlZ2lvbjMiPjwv
ZGl2PgorPC9kaXY+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODA1MjQ0Ny4uMGU2N2VkZSAxMDA3NTUKLS0tIGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDQ3IEBACisyMDExLTA4LTIyICBBbGV4YW5kcnUgQ2hpY3VsaXRhICA8YWNoaWN1
QGFkb2JlLmNvbT4KKworICAgICAgICBbQ1NTUmVnaW9uc10gUmVuZGVyRmxvd1RocmVhZCBsYXlv
dXQgc2hvdWxkIHVzZSB0aGUgYXR0YWNoZWQgcmVnaW9uIHNpemVzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjE0MworCisgICAgICAgIFdoZW4gUmVu
ZGVyRmxvd1RocmVhZCBpcyBkb2luZyB0aGUgbGF5b3V0IGl0IGFsc28gc2V0cyB0aGUgY3VycmVu
dCBSZW5kZXJGbG93VGhyZWFkIG9uCisgICAgICAgIHRoZSBSZW5kZXJWaWV3LiBSZW5kZXJGbG93
VGhyZWFkIGNhbm5vdCBiZSBuZXN0ZWQgaW5zaWRlIGEgc2luZ2xlIFJlbmRlclZpZXcsIHNvIHRo
ZXJlJ3Mgbm8gCisgICAgICAgIG5lZWQgdG8gcHV0IHRoYXQgb24gdGhlIExheW91dFN0YXRlLgor
CisgICAgICAgIFRoZSByaWdodCBvZmZzZXQgdXNlZCB0byBsYXlvdXQgdGhlIGlubGluZXMgaW5z
aWRlIGEgUmVuZGVyRmxvd1RocmVhZAorICAgICAgICBpcyBub3cgYWRqdXN0ZWQgdG8gZml0IGlu
c2lkZSB0aGUgY3VycmVudCByZWdpb24uCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGVzdHM6IGZhc3QvcmVnaW9ucy93ZWJraXQtZmxvdy1mbG9hdHMt
aW5zaWRlLXJlZ2lvbnMtYm91bmRzLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvcmVnaW9ucy93
ZWJraXQtZmxvdy1pbmxpbmVzLWluc2lkZS1yZWdpb25zLWJvdW5kcy12ZXJ0aWNhbC1sci5odG1s
CisgICAgICAgICAgICAgICBmYXN0L3JlZ2lvbnMvd2Via2l0LWZsb3ctaW5saW5lcy1pbnNpZGUt
cmVnaW9ucy1ib3VuZHMuaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL0xheW91dFN0YXRlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dFN0YXRlOjpMYXlvdXRTdGF0ZSk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJs
b2NrOjpsYXlvdXRCbG9jayk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6bG9naWNh
bFJpZ2h0T2Zmc2V0Rm9yTGluZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJl
YWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxvd1RocmVhZDo6UmVuZGVyRmxvd1Ro
cmVhZCk6CisgICAgICAgIChXZWJDb3JlOjpDdXJyZW50UmVuZGVyRmxvd1RocmVhZE1haW50YWlu
ZXI6OkN1cnJlbnRSZW5kZXJGbG93VGhyZWFkTWFpbnRhaW5lcik6CisgICAgICAgIChXZWJDb3Jl
OjpDdXJyZW50UmVuZGVyRmxvd1RocmVhZE1haW50YWluZXI6On5DdXJyZW50UmVuZGVyRmxvd1Ro
cmVhZE1haW50YWluZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxvd1RocmVhZDo6bGF5
b3V0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZsb3dUaHJlYWQ6OnJlbmRlclJlZ2lvbkZv
ckxpbmUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxvd1RocmVhZDo6cmVnaW9uTG9naWNh
bFdpZHRoRm9yTGluZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuaDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlZ2lvbkZpdHRpbmdEaXNhYmxlcjo6UmVnaW9uRml0dGluZ0Rp
c2FibGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJlZ2lvbkZpdHRpbmdEaXNhYmxlcjo6flJlZ2lv
bkZpdHRpbmdEaXNhYmxlcik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclJlZ2lvbi5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZWdpb246OmxheW91dCk6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlclJlZ2lvbi5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJWaWV3LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OlJlbmRlclZpZXcpOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJWaWV3Lmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWV3Ojpo
YXNSZW5kZXJGbG93VGhyZWFkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OmN1cnJl
bnRSZW5kZXJGbG93VGhyZWFkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OnNldEN1
cnJlbnRSZW5kZXJGbG93VGhyZWFkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OnB1
c2hMYXlvdXRTdGF0ZSk6CisKIDIwMTEtMDgtMjEgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNv
bkBpZ2FsaWEuY29tPgogCiAgICAgICAgIEZpeCAnbWFrZSBkaXN0JyBmb3IgV2ViS2l0R1RLKy4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRTdGF0ZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuY3BwCmluZGV4IDVjMmI1N2QuLmVl
MzRjMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRTdGF0ZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmNwcApAQCAtODIs
NyArODIsNyBAQCBMYXlvdXRTdGF0ZTo6TGF5b3V0U3RhdGUoTGF5b3V0U3RhdGUqIHByZXYsIFJl
bmRlckJveCogcmVuZGVyZXIsIGNvbnN0IExheW91dFNpegogCiAgICAgLy8gSWYgd2UgZXN0YWJs
aXNoIGEgbmV3IHBhZ2UgaGVpZ2h0LCB0aGVuIGNhY2hlIHRoZSBvZmZzZXQgdG8gdGhlIHRvcCBv
ZiB0aGUgZmlyc3QgcGFnZS4KICAgICAvLyBXZSBjYW4gY29tcGFyZSB0aGlzIGxhdGVyIG9uIHRv
IGZpZ3VyZSBvdXQgd2hhdCBwYXJ0IG9mIHRoZSBwYWdlIHdlJ3JlIGFjdHVhbGx5IG9uLAotICAg
IGlmIChwYWdlTG9naWNhbEhlaWdodCB8fCBtX2NvbHVtbkluZm8pIHsKKyAgICBpZiAocGFnZUxv
Z2ljYWxIZWlnaHQgfHwgbV9jb2x1bW5JbmZvIHx8IHJlbmRlcmVyLT5pc1JlbmRlckZsb3dUaHJl
YWQoKSkgewogICAgICAgICBtX3BhZ2VMb2dpY2FsSGVpZ2h0ID0gcGFnZUxvZ2ljYWxIZWlnaHQ7
CiAgICAgICAgIG1fcGFnZU9mZnNldCA9IExheW91dFNpemUobV9sYXlvdXRPZmZzZXQud2lkdGgo
KSArIHJlbmRlcmVyLT5ib3JkZXJMZWZ0KCkgKyByZW5kZXJlci0+cGFkZGluZ0xlZnQoKSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2xheW91dE9mZnNldC5oZWlnaHQoKSArIHJl
bmRlcmVyLT5ib3JkZXJUb3AoKSArIHJlbmRlcmVyLT5wYWRkaW5nVG9wKCkpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKaW5kZXggZmNlZDA0MC4uZjNlMDkwOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCkBAIC00MSw2ICs0MSw3IEBA
CiAjaW5jbHVkZSAiUGFpbnRJbmZvLmgiCiAjaW5jbHVkZSAiUmVuZGVyQ29tYmluZVRleHQuaCIK
ICNpbmNsdWRlICJSZW5kZXJEZXByZWNhdGVkRmxleGlibGVCb3guaCIKKyNpbmNsdWRlICJSZW5k
ZXJGbG93VGhyZWFkLmgiCiAjaW5jbHVkZSAiUmVuZGVySW1hZ2UuaCIKICNpbmNsdWRlICJSZW5k
ZXJJbmxpbmUuaCIKICNpbmNsdWRlICJSZW5kZXJMYXllci5oIgpAQCAtMTIyNCw2ICsxMjI1LDkg
QEAgdm9pZCBSZW5kZXJCbG9jazo6bGF5b3V0QmxvY2soYm9vbCByZWxheW91dENoaWxkcmVuLCBM
YXlvdXRVbml0IHBhZ2VMb2dpY2FsSGVpZ2gKIAogICAgIExheW91dFN0YXRlTWFpbnRhaW5lciBz
dGF0ZVB1c2hlcih2aWV3KCksIHRoaXMsIGxvY2F0aW9uT2Zmc2V0KCksIGhhc0NvbHVtbnMoKSB8
fCBoYXNUcmFuc2Zvcm0oKSB8fCBoYXNSZWZsZWN0aW9uKCkgfHwgc3R5bGUoKS0+aXNGbGlwcGVk
QmxvY2tzV3JpdGluZ01vZGUoKSwgcGFnZUxvZ2ljYWxIZWlnaHQsIHBhZ2VMb2dpY2FsSGVpZ2h0
Q2hhbmdlZCwgY29sSW5mbyk7CiAKKyAgICBib29sIGRpc2FibGVSZWdpb25GaXR0aW5nID0gdmll
dygpLT5oYXNSZW5kZXJGbG93VGhyZWFkKCkgJiYgKGhhc0NvbHVtbnMoKSB8fCAoaXNQb3NpdGlv
bmVkKCkgJiYgIWlzUmVuZGVyRmxvd1RocmVhZCgpKSB8fCBpc0Zsb2F0aW5nKCkpOworICAgIFJl
Z2lvbkZpdHRpbmdEaXNhYmxlciByZWdpb25GaXR0aW5nRGlzYWJsZXIodmlldygpLT5jdXJyZW50
UmVuZGVyRmxvd1RocmVhZCgpLCBkaXNhYmxlUmVnaW9uRml0dGluZyk7CisKICAgICAvLyBXZSB1
c2UgZm91ciB2YWx1ZXMsIG1heFRvcFBvcywgbWF4VG9wTmVnLCBtYXhCb3R0b21Qb3MsIGFuZCBt
YXhCb3R0b21OZWcsIHRvIHRyYWNrCiAgICAgLy8gb3VyIGN1cnJlbnQgbWF4aW1hbCBwb3NpdGl2
ZSBhbmQgbmVnYXRpdmUgbWFyZ2lucy4gIFRoZXNlIHZhbHVlcyBhcmUgdXNlZCB3aGVuIHdlCiAg
ICAgLy8gYXJlIGNvbGxhcHNlZCB3aXRoIGFkamFjZW50IGJsb2Nrcywgc28gZm9yIGV4YW1wbGUs
IGlmIHlvdSBoYXZlIGJsb2NrIEEgYW5kIEIKQEAgLTM1NjAsMTIgKzM1NjQsMjUgQEAgTGF5b3V0
VW5pdCBSZW5kZXJCbG9jazo6bG9naWNhbFJpZ2h0T2Zmc2V0Rm9yTGluZShMYXlvdXRVbml0IGxv
Z2ljYWxUb3AsIExheW91dFUKIHsKICAgICBMYXlvdXRVbml0IHJpZ2h0ID0gZml4ZWRPZmZzZXQ7
CiAKKyAgICBpZiAodmlldygpLT5oYXNSZW5kZXJGbG93VGhyZWFkKCkpIHsKKyAgICAgICAgUmVu
ZGVyRmxvd1RocmVhZCogZmxvd1RocmVhZCA9IHZpZXcoKS0+Y3VycmVudFJlbmRlckZsb3dUaHJl
YWQoKTsKKyAgICAgICAgaWYgKGZsb3dUaHJlYWQtPmlzUmVnaW9uRml0dGluZ0VuYWJsZWQoKSkg
eworICAgICAgICAgICAgTGF5b3V0U3RhdGUqIGxheW91dFN0YXRlID0gdmlldygpLT5sYXlvdXRT
dGF0ZSgpOworICAgICAgICAgICAgSW50U2l6ZSBkZWx0YSA9IGxheW91dFN0YXRlLT5tX2xheW91
dE9mZnNldCAtIGxheW91dFN0YXRlLT5tX3BhZ2VPZmZzZXQ7CisgICAgICAgICAgICBpbnQgb2Zm
c2V0ID0gaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IGRlbHRhLmhlaWdodCgpIDogZGVsdGEu
d2lkdGgoKTsKKyAgICAgICAgICAgIExheW91dFVuaXQgcmVnaW9uV2lkdGggPSBmbG93VGhyZWFk
LT5yZWdpb25Mb2dpY2FsV2lkdGhGb3JMaW5lKG9mZnNldCArIGxvZ2ljYWxUb3ApOworICAgICAg
ICAgICAgcmlnaHQgLT0gZmxvd1RocmVhZC0+bG9naWNhbFdpZHRoKCkgLSByZWdpb25XaWR0aDsK
KyAgICAgICAgfQorICAgIH0KKwogICAgIGlmIChtX2Zsb2F0aW5nT2JqZWN0cyAmJiBtX2Zsb2F0
aW5nT2JqZWN0cy0+aGFzUmlnaHRPYmplY3RzKCkpIHsKICAgICAgICAgaWYgKGhlaWdodFJlbWFp
bmluZykKICAgICAgICAgICAgICpoZWlnaHRSZW1haW5pbmcgPSAxOwogCi0gICAgICAgIEZsb2F0
SW50ZXJ2YWxTZWFyY2hBZGFwdGVyPEZsb2F0aW5nT2JqZWN0OjpGbG9hdFJpZ2h0PiBhZGFwdGVy
KHRoaXMsIGxvZ2ljYWxUb3AsIHJpZ2h0LCBoZWlnaHRSZW1haW5pbmcpOworICAgICAgICBMYXlv
dXRVbml0IHJpZ2h0RmxvYXRPZmZzZXQgPSBmaXhlZE9mZnNldDsKKyAgICAgICAgRmxvYXRJbnRl
cnZhbFNlYXJjaEFkYXB0ZXI8RmxvYXRpbmdPYmplY3Q6OkZsb2F0UmlnaHQ+IGFkYXB0ZXIodGhp
cywgbG9naWNhbFRvcCwgcmlnaHRGbG9hdE9mZnNldCwgaGVpZ2h0UmVtYWluaW5nKTsKICAgICAg
ICAgbV9mbG9hdGluZ09iamVjdHMtPnBsYWNlZEZsb2F0c1RyZWUoKS5hbGxPdmVybGFwc1dpdGhB
ZGFwdGVyKGFkYXB0ZXIpOworICAgICAgICByaWdodCA9IG1pbihyaWdodCwgcmlnaHRGbG9hdE9m
ZnNldCk7CiAgICAgfQogICAgIAogICAgIGlmIChhcHBseVRleHRJbmRlbnQgJiYgIXN0eWxlKCkt
PmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckZsb3dUaHJlYWQuY3BwCmluZGV4IDJhY2UzMWIuLmM4NGJlNDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHAKQEAgLTQ1LDYgKzQ1LDcg
QEAgUmVuZGVyRmxvd1RocmVhZDo6UmVuZGVyRmxvd1RocmVhZChOb2RlKiBub2RlLCBjb25zdCBB
dG9taWNTdHJpbmcmIGZsb3dUaHJlYWQpCiAgICAgOiBSZW5kZXJCbG9jayhub2RlKQogICAgICwg
bV9mbG93VGhyZWFkKGZsb3dUaHJlYWQpCiAgICAgLCBtX3JlZ2lvbnNJbnZhbGlkYXRlZChmYWxz
ZSkKKyAgICAsIG1fcmVnaW9uRml0dGluZ0Rpc2FibGVDb3VudCgwKQogewogICAgIHNldElzQW5v
bnltb3VzKGZhbHNlKTsKIH0KQEAgLTI3MCw4ICsyNzEsMzAgQEAgdm9pZCBSZW5kZXJGbG93VGhy
ZWFkOjpwdXNoRGVwZW5kZW5jaWVzKFJlbmRlckZsb3dUaHJlYWRMaXN0JiBsaXN0KQogICAgIH0K
IH0KIAorY2xhc3MgQ3VycmVudFJlbmRlckZsb3dUaHJlYWRNYWludGFpbmVyIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShDdXJyZW50UmVuZGVyRmxvd1RocmVhZE1haW50YWluZXIpOworcHVi
bGljOgorICAgIEN1cnJlbnRSZW5kZXJGbG93VGhyZWFkTWFpbnRhaW5lcihSZW5kZXJGbG93VGhy
ZWFkKiByZW5kZXJGbG93VGhyZWFkKQorICAgICAgICA6IG1fcmVuZGVyRmxvd1RocmVhZChyZW5k
ZXJGbG93VGhyZWFkKQorICAgIHsKKyAgICAgICAgUmVuZGVyVmlldyogdmlldyA9IG1fcmVuZGVy
Rmxvd1RocmVhZC0+dmlldygpOworICAgICAgICBBU1NFUlQoIXZpZXctPmN1cnJlbnRSZW5kZXJG
bG93VGhyZWFkKCkpOworICAgICAgICB2aWV3LT5zZXRDdXJyZW50UmVuZGVyRmxvd1RocmVhZCht
X3JlbmRlckZsb3dUaHJlYWQpOworICAgIH0KKyAgICB+Q3VycmVudFJlbmRlckZsb3dUaHJlYWRN
YWludGFpbmVyKCkKKyAgICB7CisgICAgICAgIFJlbmRlclZpZXcqIHZpZXcgPSBtX3JlbmRlckZs
b3dUaHJlYWQtPnZpZXcoKTsKKyAgICAgICAgQVNTRVJUKHZpZXctPmN1cnJlbnRSZW5kZXJGbG93
VGhyZWFkKCkgPT0gbV9yZW5kZXJGbG93VGhyZWFkKTsKKyAgICAgICAgdmlldy0+c2V0Q3VycmVu
dFJlbmRlckZsb3dUaHJlYWQoMCk7CisgICAgfQorcHJpdmF0ZToKKyAgICBSZW5kZXJGbG93VGhy
ZWFkKiBtX3JlbmRlckZsb3dUaHJlYWQ7Cit9OworCiB2b2lkIFJlbmRlckZsb3dUaHJlYWQ6Omxh
eW91dCgpCiB7CisgICAgQ3VycmVudFJlbmRlckZsb3dUaHJlYWRNYWludGFpbmVyIGN1cnJlbnRG
bG93VGhyZWFkU2V0dGVyKHRoaXMpOworCiAgICAgaWYgKG1fcmVnaW9uc0ludmFsaWRhdGVkKSB7
CiAgICAgICAgIG1fcmVnaW9uc0ludmFsaWRhdGVkID0gZmFsc2U7CiAgICAgICAgIGlmIChoYXNS
ZWdpb25zKCkpIHsKQEAgLTQzNiw0ICs0NTksNDAgQEAgdm9pZCBSZW5kZXJGbG93VGhyZWFkOjpy
ZXBhaW50UmVjdGFuZ2xlSW5SZWdpb25zKGNvbnN0IExheW91dFJlY3QmIHJlcGFpbnRSZWN0LAog
ICAgIH0KIH0KIAorUmVuZGVyUmVnaW9uKiBSZW5kZXJGbG93VGhyZWFkOjpyZW5kZXJSZWdpb25G
b3JMaW5lKExheW91dFVuaXQgbG9naWNhbFRvcCkgY29uc3QKK3sKKyAgICBBU1NFUlQoIW1fcmVn
aW9uc0ludmFsaWRhdGVkKTsKKworICAgIC8vIEZJWE1FOiBUaGUgcmVnaW9ucyBhcmUgYWx3YXlz
IGluIG9yZGVyLCBvcHRpbWl6ZSB0aGlzIHNlYXJjaC4KKyAgICBib29sIHVzZUhvcml6b250YWxX
cml0aW5nTW9kZSA9IGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCk7CisgICAgZm9yIChSZW5kZXJS
ZWdpb25MaXN0Ojpjb25zdF9pdGVyYXRvciBpdGVyID0gbV9yZWdpb25MaXN0LmJlZ2luKCk7IGl0
ZXIgIT0gbV9yZWdpb25MaXN0LmVuZCgpOyArK2l0ZXIpIHsKKyAgICAgICAgUmVuZGVyUmVnaW9u
KiByZWdpb24gPSAqaXRlcjsKKyAgICAgICAgaWYgKCFyZWdpb24tPmlzVmFsaWQoKSkKKyAgICAg
ICAgICAgIGNvbnRpbnVlOworCisgICAgICAgIExheW91dFJlY3QgcmVnaW9uUmVjdCA9IHJlZ2lv
bi0+cmVnaW9uUmVjdCgpOworCisgICAgICAgIGlmICh1c2VIb3Jpem9udGFsV3JpdGluZ01vZGUp
IHsKKyAgICAgICAgICAgIGlmIChyZWdpb25SZWN0LnkoKSA8PSBsb2dpY2FsVG9wICYmIGxvZ2lj
YWxUb3AgPCByZWdpb25SZWN0Lm1heFkoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gcmVnaW9u
OworICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKworICAgICAgICBpZiAocmVnaW9u
UmVjdC54KCkgPD0gbG9naWNhbFRvcCAmJiBsb2dpY2FsVG9wIDwgcmVnaW9uUmVjdC5tYXhYKCkp
CisgICAgICAgICAgICByZXR1cm4gcmVnaW9uOworICAgIH0KKworICAgIHJldHVybiAwOworfQor
CitMYXlvdXRVbml0IFJlbmRlckZsb3dUaHJlYWQ6OnJlZ2lvbkxvZ2ljYWxXaWR0aEZvckxpbmUo
TGF5b3V0VW5pdCBsb2dpY2FsVG9wKSBjb25zdAoreworICAgIFJlbmRlclJlZ2lvbiogcmVnaW9u
ID0gcmVuZGVyUmVnaW9uRm9yTGluZShsb2dpY2FsVG9wKTsKKyAgICBpZiAoIXJlZ2lvbikKKyAg
ICAgICAgcmV0dXJuIDA7CisKKyAgICByZXR1cm4gaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/
IHJlZ2lvbi0+cmVnaW9uUmVjdCgpLndpZHRoKCkgOiByZWdpb24tPnJlZ2lvblJlY3QoKS5oZWln
aHQoKTsKK30KKworCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuaAppbmRleCBmMzczNTM1Li5mOTg0MzQ2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmgKQEAgLTk2LDkgKzk2LDE3
IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgcmVwYWludFJlY3RhbmdsZUluUmVnaW9ucyhjb25zdCBM
YXlvdXRSZWN0JiwgYm9vbCBpbW1lZGlhdGUpOwogCisgICAgTGF5b3V0VW5pdCByZWdpb25Mb2dp
Y2FsV2lkdGhGb3JMaW5lKExheW91dFVuaXQgbG9naWNhbFRvcCkgY29uc3Q7CisKKyAgICBib29s
IGlzUmVnaW9uRml0dGluZ0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiAhbV9yZWdpb25GaXR0aW5n
RGlzYWJsZUNvdW50OyB9CisgICAgdm9pZCBkaXNhYmxlUmVnaW9uRml0dGluZygpIHsgbV9yZWdp
b25GaXR0aW5nRGlzYWJsZUNvdW50Kys7IH0KKyAgICB2b2lkIGVuYWJsZVJlZ2lvbkZpdHRpbmco
KSB7IEFTU0VSVChtX3JlZ2lvbkZpdHRpbmdEaXNhYmxlQ291bnQgPiAwKTsgbV9yZWdpb25GaXR0
aW5nRGlzYWJsZUNvdW50LS07IH0KKwogcHJpdmF0ZToKICAgICB2aXJ0dWFsIGNvbnN0IGNoYXIq
IHJlbmRlck5hbWUoKSBjb25zdCB7IHJldHVybiAiUmVuZGVyRmxvd1RocmVhZCI7IH0KIAorICAg
IFJlbmRlclJlZ2lvbiogcmVuZGVyUmVnaW9uRm9yTGluZShMYXlvdXRVbml0IGxvZ2ljYWxUb3Ap
IGNvbnN0OworCiAgICAgYm9vbCBkZXBlbmRzT24oUmVuZGVyRmxvd1RocmVhZCogb3RoZXJSZW5k
ZXJGbG93VGhyZWFkKSBjb25zdDsKICAgICB2b2lkIGFkZERlcGVuZGVuY3lPbkZsb3dUaHJlYWQo
UmVuZGVyRmxvd1RocmVhZCopOwogICAgIHZvaWQgcmVtb3ZlRGVwZW5kZW5jeU9uRmxvd1RocmVh
ZChSZW5kZXJGbG93VGhyZWFkKik7CkBAIC0xMjMsNiArMTMxLDcgQEAgcHJpdmF0ZToKICAgICBS
ZW5kZXJGbG93VGhyZWFkQ291bnRlZFNldCBtX2xheW91dEJlZm9yZVRocmVhZHNTZXQ7CiAKICAg
ICBib29sIG1fcmVnaW9uc0ludmFsaWRhdGVkOworICAgIHVuc2lnbmVkIG1fcmVnaW9uRml0dGlu
Z0Rpc2FibGVDb3VudDsKIH07CiAKIGlubGluZSBSZW5kZXJGbG93VGhyZWFkKiB0b1JlbmRlckZs
b3dUaHJlYWQoUmVuZGVyT2JqZWN0KiBvYmplY3QpCkBAIC0xNDAsNiArMTQ5LDI4IEBAIGlubGlu
ZSBjb25zdCBSZW5kZXJGbG93VGhyZWFkKiB0b1JlbmRlckZsb3dUaHJlYWQoY29uc3QgUmVuZGVy
T2JqZWN0KiBvYmplY3QpCiAvLyBUaGlzIHdpbGwgY2F0Y2ggYW55b25lIGRvaW5nIGFuIHVubmVj
ZXNzYXJ5IGNhc3QuCiB2b2lkIHRvUmVuZGVyRmxvd1RocmVhZChjb25zdCBSZW5kZXJGbG93VGhy
ZWFkKik7CiAKK2NsYXNzIFJlZ2lvbkZpdHRpbmdEaXNhYmxlciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoUmVnaW9uRml0dGluZ0Rpc2FibGVyKTsKK3B1YmxpYzoKKyAgICBSZWdpb25GaXR0
aW5nRGlzYWJsZXIoUmVuZGVyRmxvd1RocmVhZCogZmxvd1RocmVhZCwgYm9vbCBkaXNhYmxlKQor
ICAgIHsKKyAgICAgICAgaWYgKGZsb3dUaHJlYWQgJiYgZGlzYWJsZSkgeworICAgICAgICAgICAg
bV9mbG93VGhyZWFkID0gZmxvd1RocmVhZDsKKyAgICAgICAgICAgIG1fZmxvd1RocmVhZC0+ZGlz
YWJsZVJlZ2lvbkZpdHRpbmcoKTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBtX2Zsb3dU
aHJlYWQgPSAwOworICAgIH0KKworICAgIH5SZWdpb25GaXR0aW5nRGlzYWJsZXIoKQorICAgIHsK
KyAgICAgICAgaWYgKG1fZmxvd1RocmVhZCkKKyAgICAgICAgICAgIG1fZmxvd1RocmVhZC0+ZW5h
YmxlUmVnaW9uRml0dGluZygpOworICAgIH0KK3ByaXZhdGU6CisgICAgUmVuZGVyRmxvd1RocmVh
ZCogbV9mbG93VGhyZWFkOworfTsKKworCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRp
ZiAvLyBSZW5kZXJGbG93VGhyZWFkX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJSZWdpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJl
Z2lvbi5jcHAKaW5kZXggN2M5N2NmNy4uNTYzMTkxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclJlZ2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclJlZ2lvbi5jcHAKQEAgLTgyLDYgKzgyLDEzIEBAIGJvb2wgUmVuZGVyUmVnaW9u
Ojpub2RlQXRQb2ludChjb25zdCBIaXRUZXN0UmVxdWVzdCYgcmVxdWVzdCwgSGl0VGVzdFJlc3Vs
dCYgcmVzCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCit2b2lkIFJlbmRlclJlZ2lvbjo6bGF5b3V0
KCkKK3sKKyAgICBSZW5kZXJSZXBsYWNlZDo6bGF5b3V0KCk7CisgICAgaWYgKG1fZmxvd1RocmVh
ZCAmJiBpc1ZhbGlkKCkpCisgICAgICAgIG1fZmxvd1RocmVhZC0+aW52YWxpZGF0ZVJlZ2lvbnMo
KTsKK30KKwogdm9pZCBSZW5kZXJSZWdpb246OmF0dGFjaFJlZ2lvbigpCiB7CiAgICAgaWYgKCFt
X2Zsb3dUaHJlYWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
UmVnaW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVnaW9uLmgKaW5kZXgg
YzQ2NTBiNS4uNTRjMTc5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclJlZ2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZWdpb24u
aApAQCAtNTgsNiArNTgsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1ZhbGlkKCkgY29uc3QgeyBy
ZXR1cm4gbV9pc1ZhbGlkOyB9CiAgICAgdm9pZCBzZXRJc1ZhbGlkKGJvb2wgdmFsaWQpIHsgbV9p
c1ZhbGlkID0gdmFsaWQ7IH0KIAorICAgIHZpcnR1YWwgdm9pZCBsYXlvdXQoKTsKKwogcHJpdmF0
ZToKICAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCB7IHJldHVybiAi
UmVuZGVyUmVnaW9uIjsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAK
aW5kZXggYWNhY2U1Ni4uYzFmZmI1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJW
aWV3LmNwcApAQCAtNTUsNiArNTUsNyBAQCBSZW5kZXJWaWV3OjpSZW5kZXJWaWV3KE5vZGUqIG5v
ZGUsIEZyYW1lVmlldyogdmlldykKICAgICAsIG1faXNSZW5kZXJGbG93VGhyZWFkT3JkZXJEaXJ0
eShmYWxzZSkKICAgICAsIG1fbGF5b3V0U3RhdGUoMCkKICAgICAsIG1fbGF5b3V0U3RhdGVEaXNh
YmxlQ291bnQoMCkKKyAgICAsIG1fY3VycmVudFJlbmRlckZsb3dUaHJlYWQoMCkKIHsKICAgICAv
LyBDbGVhciBvdXIgYW5vbnltb3VzIGJpdCwgc2V0IGJlY2F1c2UgUmVuZGVyT2JqZWN0IGFzc3Vt
ZXMKICAgICAvLyBhbnkgcmVuZGVyZXIgd2l0aCBkb2N1bWVudCBhcyB0aGUgbm9kZSBpcyBhbm9u
eW1vdXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaAppbmRleCA3NWM2YjI3Li43
ZTBiZmVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgKQEAgLTE4MSw2ICsx
ODEsMTAgQEAgcHVibGljOgogICAgIH0KICAgICBjb25zdCBSZW5kZXJGbG93VGhyZWFkTGlzdCog
cmVuZGVyRmxvd1RocmVhZExpc3QoKSBjb25zdCB7IHJldHVybiBtX3JlbmRlckZsb3dUaHJlYWRM
aXN0LmdldCgpOyB9CiAKKyAgICBib29sIGhhc1JlbmRlckZsb3dUaHJlYWQoKSBjb25zdCB7IHJl
dHVybiBtX2N1cnJlbnRSZW5kZXJGbG93VGhyZWFkOyB9CisgICAgUmVuZGVyRmxvd1RocmVhZCog
Y3VycmVudFJlbmRlckZsb3dUaHJlYWQoKSBjb25zdCB7IHJldHVybiBtX2N1cnJlbnRSZW5kZXJG
bG93VGhyZWFkOyB9CisgICAgdm9pZCBzZXRDdXJyZW50UmVuZGVyRmxvd1RocmVhZChSZW5kZXJG
bG93VGhyZWFkKiBmbG93VGhyZWFkKSB7IG1fY3VycmVudFJlbmRlckZsb3dUaHJlYWQgPSBmbG93
VGhyZWFkOyB9CisKICAgICB2b2lkIHN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSwgY29u
c3QgUmVuZGVyU3R5bGUqIG9sZFN0eWxlKTsKICAgICAKIHByb3RlY3RlZDoKQEAgLTE5Niw3ICsy
MDAsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgcHVzaExheW91dFN0YXRlKFJlbmRlckJveCogcmVu
ZGVyZXIsIGNvbnN0IExheW91dFNpemUmIG9mZnNldCwgTGF5b3V0VW5pdCBwYWdlSGVpZ2h0ID0g
MCwgYm9vbCBwYWdlSGVpZ2h0Q2hhbmdlZCA9IGZhbHNlLCBDb2x1bW5JbmZvKiBjb2xJbmZvID0g
MCkKICAgICB7CiAgICAgICAgIC8vIFdlIHB1c2ggTGF5b3V0U3RhdGUgZXZlbiBpZiBsYXlvdXRT
dGF0ZSBpcyBkaXNhYmxlZCBiZWNhdXNlIGl0IHN0b3JlcyBsYXlvdXREZWx0YSB0b28uCi0gICAg
ICAgIGlmICghZG9pbmdGdWxsUmVwYWludCgpIHx8IHJlbmRlcmVyLT5oYXNDb2x1bW5zKCkgfHwg
bV9sYXlvdXRTdGF0ZS0+aXNQYWdpbmF0ZWQoKSkgeworICAgICAgICBpZiAoIWRvaW5nRnVsbFJl
cGFpbnQoKSB8fCByZW5kZXJlci0+aGFzQ29sdW1ucygpIHx8IG1fbGF5b3V0U3RhdGUtPmlzUGFn
aW5hdGVkKCkgfHwgaGFzUmVuZGVyRmxvd1RocmVhZCgpKSB7CiAgICAgICAgICAgICBtX2xheW91
dFN0YXRlID0gbmV3IChyZW5kZXJBcmVuYSgpKSBMYXlvdXRTdGF0ZShtX2xheW91dFN0YXRlLCBy
ZW5kZXJlciwgb2Zmc2V0LCBwYWdlSGVpZ2h0LCBwYWdlSGVpZ2h0Q2hhbmdlZCwgY29sSW5mbyk7
CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgfQpAQCAtMjY1LDYgKzI2OSw3IEBA
IHByaXZhdGU6CiAgICAgT3duUHRyPFJlbmRlckxheWVyQ29tcG9zaXRvcj4gbV9jb21wb3NpdG9y
OwogI2VuZGlmCiAgICAgT3duUHRyPFJlbmRlckZsb3dUaHJlYWRMaXN0PiBtX3JlbmRlckZsb3dU
aHJlYWRMaXN0OworICAgIFJlbmRlckZsb3dUaHJlYWQqIG1fY3VycmVudFJlbmRlckZsb3dUaHJl
YWQ7CiB9OwogCiBpbmxpbmUgUmVuZGVyVmlldyogdG9SZW5kZXJWaWV3KFJlbmRlck9iamVjdCog
b2JqZWN0KQo=
</data>
<flag name="review"
          id="100564"
          type_id="1"
          status="-"
          setter="hyatt"
    />
    <flag name="commit-queue"
          id="100565"
          type_id="3"
          status="-"
          setter="hyatt"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>104722</attachid>
            <date>2011-08-22 13:16:38 -0700</date>
            <delta_ts>2011-08-22 21:03:08 -0700</delta_ts>
            <desc>Patch V3</desc>
            <filename>bug66143_3.patch</filename>
            <type>text/plain</type>
            <size>32440</size>
            <attacher name="Alexandru Chiculita">achicu</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwMjk3MjIxLi5kMTYwNGM4IDEwMDc1NQotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDgt
MjIgIEFsZXhhbmRydSBDaGljdWxpdGEgIDxhY2hpY3VAYWRvYmUuY29tPgorCisgICAgICAgIFtD
U1NSZWdpb25zXSBSZW5kZXJGbG93VGhyZWFkIGxheW91dCBzaG91bGQgdXNlIHRoZSBhdHRhY2hl
ZCByZWdpb24gc2l6ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTY2MTQzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBmYXN0L3JlZ2lvbnMvd2Via2l0LWZsb3ctZmxvYXRzLWluc2lkZS1yZWdpb25zLWJv
dW5kcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVnaW9ucy93ZWJraXQt
Zmxvdy1mbG9hdHMtaW5zaWRlLXJlZ2lvbnMtYm91bmRzLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvcmVnaW9ucy93ZWJraXQtZmxvdy1pbmxpbmVzLWluc2lkZS1yZWdpb25zLWJvdW5kcy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVnaW9ucy93ZWJraXQtZmxvdy1p
bmxpbmVzLWluc2lkZS1yZWdpb25zLWJvdW5kcy12ZXJ0aWNhbC1sci1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvcmVnaW9ucy93ZWJraXQtZmxvdy1pbmxpbmVzLWluc2lkZS1y
ZWdpb25zLWJvdW5kcy12ZXJ0aWNhbC1sci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3Jl
Z2lvbnMvd2Via2l0LWZsb3ctaW5saW5lcy1pbnNpZGUtcmVnaW9ucy1ib3VuZHMuaHRtbDogQWRk
ZWQuCisKIDIwMTEtMDgtMjEgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAg
ICAgIFVwZGF0ZSByZXN1bHRzIGZvciBtb3JlIHRlc3RzIGFmZmVjdGVkIGJ5IHRoZSBhZGRpdGlv
biBvZiB0aGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtZmxv
dy1mbG9hdHMtaW5zaWRlLXJlZ2lvbnMtYm91bmRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvcmVnaW9ucy93ZWJraXQtZmxvdy1mbG9hdHMtaW5zaWRlLXJlZ2lvbnMtYm91bmRzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNzI3Nzg3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3dlYmtpdC1mbG93LWZs
b2F0cy1pbnNpZGUtcmVnaW9ucy1ib3VuZHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNTIgQEAK
K2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUg
ODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NDIyCisgIFJlbmRlckJsb2NrIHtIVE1M
fSBhdCAoMCwwKSBzaXplIDgwMHg0MjIKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBz
aXplIDc4NHg0MDYKKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgNzg0eDQw
NgorICAgICAgICBSZW5kZXJSZWdpb24ge0RJVn0gYXQgKDAsMCkgc2l6ZSAyMDJ4MTAyIFtib3Jk
ZXI6ICgxcHggc29saWQgIzAwMDAwMCldCisgICAgICAgIFJlbmRlclJlZ2lvbiB7RElWfSBhdCAo
MCwxMDIpIHNpemUgMzAyeDE4MiBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQorICAgICAg
ICBSZW5kZXJSZWdpb24ge0RJVn0gYXQgKDAsMjg0KSBzaXplIDEyMngxMjIgW2JvcmRlcjogKDFw
eCBzb2xpZCAjMDAwMDAwKV0KK0Zsb3cgVGhyZWFkcworICBUaHJlYWQgd2l0aCBmbG93LW5hbWUg
J2Zsb3cxJworICAgIGxheWVyIGF0ICgwLDApIHNpemUgMzAweDQwMAorICAgICAgUmVuZGVyRmxv
d1RocmVhZCBhdCAoMCwwKSBzaXplIDMwMHg0MDAKKyAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0g
YXQgKDAsMCkgc2l6ZSAzMDB4NDc0CisgICAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDUs
NSkgc2l6ZSAyOTB4NDY0IFtib3JkZXI6ICgxcHggc29saWQgIzAwMDBGRildCisgICAgICAgICAg
ICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMTEsMTEpIHNpemUgMjY4eDQ0MiBbYm9yZGVyOiAoMXB4
IHNvbGlkICMwMDgwMDApXQorICAgICAgICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDEsMTcp
IHNpemUgMjY2eDM2CisgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgMTY2eDM2CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAx
NjY6ICJUaGlzIGxpbmUgb2YgdGV4dCBzaG91bGQiCisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwxOCkgd2lkdGggMTU1OiAibm90IGdldCBvdXQgb2YgdGhlIHJlZ2lvbi4iCisgICAg
ICAgICAgICAgIFJlbmRlckJsb2NrIChmbG9hdGluZykge0RJVn0gYXQgKDk1LDY5KSBzaXplIDcy
eDM3IFtib3JkZXI6ICgxcHggc29saWQgI0ZGMDAwMCldCisgICAgICAgICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgNDR4MTgKKyAgICAgICAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgxLDEpIHdpZHRoIDQ0OiAiRmxvYXQgMSIKKyAgICAgICAgICAgICAgUmVuZGVyQmxv
Y2sgKGFub255bW91cykgYXQgKDEsNjkpIHNpemUgMjY2eDEwOAorICAgICAgICAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDI2NngxMDgKKyAgICAgICAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDk0OiAiVGhpcyBsaW5lIG9mIgorICAgICAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDAsMTgpIHdpZHRoIDk0OiAidGV4dCBzaG91bGQgbm90IgorICAg
ICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMzYpIHdpZHRoIDk0OiAiZ2V0IG91dCBvZiB0
aGUiCisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw1NCkgd2lkdGggMjY2OiAicmVn
aW9uLiBUaGlzIGxpbmUgb2YgdGV4dCBzaG91bGQgbm90IGdldCBvdXQiCisgICAgICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMCw3Mikgd2lkdGggMjY2OiAib2YgdGhlIHJlZ2lvbi4gVGhpcyBs
aW5lIG9mIHRleHQgc2hvdWxkIG5vdCIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgw
LDkwKSB3aWR0aCAxMzE6ICJnZXQgb3V0IG9mIHRoZSByZWdpb24uIgorICAgICAgICAgICAgICBS
ZW5kZXJCbG9jayB7UH0gYXQgKDEsMTkzKSBzaXplIDI2NngwCisgICAgICAgICAgICAgIFJlbmRl
ckJsb2NrIHtQfSBhdCAoMSwxOTMpIHNpemUgMjY2eDEyNgorICAgICAgICAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDI2NngxMjYKKyAgICAgICAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgwLDApIHdpZHRoIDI2NjogIlRoaXMgbGluZSBvZiB0ZXh0IHNob3VsZCBub3Qg
Z2V0IG91dCBvZiB0aGUiCisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxOCkgd2lk
dGggMjY2OiAicmVnaW9uLiBUaGlzIGxpbmUgb2YgdGV4dCBzaG91bGQgbm90IGdldCBvdXQiCisg
ICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwzNikgd2lkdGggMjY2OiAib2YgdGhlIHJl
Z2lvbi4gVGhpcyBsaW5lIG9mIHRleHQgc2hvdWxkIG5vdCIKKyAgICAgICAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgwLDU0KSB3aWR0aCAyNjY6ICJnZXQgb3V0IG9mIHRoZSByZWdpb24uIFRoaXMg
bGluZSBvZiB0ZXh0IgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsNzIpIHdpZHRo
IDg2OiAic2hvdWxkIG5vdCIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDkwKSB3
aWR0aCA4NjogImdldCBvdXQgb2YgdGhlIgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsMTA4KSB3aWR0aCA0NDogInJlZ2lvbi4iCisgICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtQ
fSBhdCAoMSwzMzUpIHNpemUgMjY2eDkwCisgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgwLDApIHNpemUgODZ4OTAKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgw
LDApIHdpZHRoIDg2OiAiVGhpcyBsaW5lIG9mIgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDAsMTgpIHdpZHRoIDg2OiAidGV4dCBzaG91bGQiCisgICAgICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMCwzNikgd2lkdGggODY6ICJub3QgZ2V0IG91dCBvZiIKKyAgICAgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLDU0KSB3aWR0aCAxOTogInRoZSIKKyAgICAgICAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgwLDcyKSB3aWR0aCA0NDogInJlZ2lvbi4iCisgIFJlZ2lvbnMgZm9yIGZs
b3cgJ2Zsb3cxJworICAgIFJlbmRlclJlZ2lvbiB7RElWfSAjcmVnaW9uMSB3aXRoIGluZGV4IDAK
KyAgICBSZW5kZXJSZWdpb24ge0RJVn0gI3JlZ2lvbjIgd2l0aCBpbmRleCAwCisgICAgUmVuZGVy
UmVnaW9uIHtESVZ9ICNyZWdpb24zIHdpdGggaW5kZXggMApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9yZWdpb25zL3dlYmtpdC1mbG93LWZsb2F0cy1pbnNpZGUtcmVnaW9ucy1ib3VuZHMu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtZmxvdy1mbG9hdHMtaW5zaWRl
LXJlZ2lvbnMtYm91bmRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
MmMxZmUzNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJr
aXQtZmxvdy1mbG9hdHMtaW5zaWRlLXJlZ2lvbnMtYm91bmRzLmh0bWwKQEAgLTAsMCArMSw2MSBA
QAorPCFkb2N0eXBlIGh0bWw+CisKKyA8c3R5bGU+CisgICAgI2NvbnRlbnQgeworICAgICAgICAt
d2Via2l0LWZsb3c6ICJmbG93MSI7CisgICAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7CisgICAg
ICAgIHBhZGRpbmc6IDVweDsKKyAgICB9CisgICAgCisgICAgI2ZpcnN0LWJveCB7CisgICAgICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7CisgICAgfQorICAgIAorICAgICNzZWNvbmQtYm94IHsK
KyAgICAgICAgbWFyZ2luOjEwcHg7CisgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGdyZWVuOwor
ICAgIH0KKyAgICAKKyAgICAjZmxvYXQxIHsKKyAgICAgICAgZmxvYXQ6IHJpZ2h0OworICAgICAg
ICB3aWR0aDogNzBweDsKKyAgICAgICAgaGVpZ2h0OiAzNXB4OworICAgICAgICBib3JkZXI6IDFw
eCBzb2xpZCByZWQ7CisgICAgfQorICAgIAorICAgICNyZWdpb24xLCAjcmVnaW9uMiwgI3JlZ2lv
bjMgeworICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjazsKKyAgICAgICAgY29udGVudDog
LXdlYmtpdC1mcm9tLWZsb3coImZsb3cxIik7CisgICAgfQorCisgICAgI3JlZ2lvbjEgeworICAg
ICAgICB3aWR0aDogMjAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgfQorICAgIAor
ICAgICNyZWdpb24yIHsKKyAgICAgICAgd2lkdGg6IDMwMHB4OworICAgICAgICBoZWlnaHQ6IDE4
MHB4OworICAgIH0KKyAgICAKKyAgICAjcmVnaW9uMyB7CisgICAgICAgIHdpZHRoOiAxMjBweDsK
KyAgICAgICAgaGVpZ2h0OiAxMjBweDsKKyAgICB9Cis8L3N0eWxlPgorCis8ZGl2IGlkPSJjb250
ZW50Ij4KKyAgICA8ZGl2IGlkPSJmaXJzdC1ib3giPgorICAgICAgICA8ZGl2IGlkPSJzZWNvbmQt
Ym94Ij4KKyAgICAgICAgICAgIDxwPlRoaXMgbGluZSBvZiB0ZXh0IHNob3VsZCBub3QgZ2V0IG91
dCBvZiB0aGUgcmVnaW9uLjxkaXYgaWQ9ImZsb2F0MSI+RmxvYXQgMTwvZGl2PiBUaGlzIGxpbmUg
b2YgdGV4dCBzaG91bGQgbm90IGdldCBvdXQgb2YgdGhlIHJlZ2lvbi4gVGhpcyBsaW5lIG9mIHRl
eHQgc2hvdWxkIG5vdCBnZXQgb3V0IG9mIHRoZSByZWdpb24uIFRoaXMgbGluZSBvZiB0ZXh0IHNo
b3VsZCBub3QgZ2V0IG91dCBvZiB0aGUgcmVnaW9uLjwvcD4KKyAgICAgICAgICAgIDxwPlRoaXMg
bGluZSBvZiB0ZXh0IHNob3VsZCBub3QgZ2V0IG91dCBvZiB0aGUgcmVnaW9uLiBUaGlzIGxpbmUg
b2YgdGV4dCBzaG91bGQgbm90IGdldCBvdXQgb2YgdGhlIHJlZ2lvbi4gVGhpcyBsaW5lIG9mIHRl
eHQgc2hvdWxkIG5vdCBnZXQgb3V0IG9mIHRoZSByZWdpb24uIFRoaXMgbGluZSBvZiB0ZXh0IHNo
b3VsZCBub3QgZ2V0IG91dCBvZiB0aGUgcmVnaW9uLjwvcD4KKyAgICAgICAgICAgIDxwPlRoaXMg
bGluZSBvZiB0ZXh0IHNob3VsZCBub3QgZ2V0IG91dCBvZiB0aGUgcmVnaW9uLjwvcD4KKyAgICAg
ICAgPC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKworPGRpdiBpZD0iY29udGFpbmVyIj4KKyAg
ICA8ZGl2IGlkPSJyZWdpb24xIj48L2Rpdj4KKyAgICA8ZGl2IGlkPSJyZWdpb24yIj48L2Rpdj4K
KyAgICA8ZGl2IGlkPSJyZWdpb24zIj48L2Rpdj4KKzwvZGl2PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9yZWdpb25zL3dlYmtpdC1mbG93LWlubGluZXMtaW5zaWRlLXJlZ2lvbnMtYm91
bmRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtZmxvdy1p
bmxpbmVzLWluc2lkZS1yZWdpb25zLWJvdW5kcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uNzc4OTAyNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtZmxvdy1pbmxpbmVzLWluc2lkZS1yZWdpb25zLWJvdW5k
cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0MiBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBz
aXplIDgwMHg0MjIKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDQyMgor
ICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDQwNgorICAgICAgUmVuZGVy
QmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSA3ODR4NDA2CisgICAgICAgIFJlbmRlclJlZ2lvbiB7
RElWfSBhdCAoMCwwKSBzaXplIDIwMngxMDIgW2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMDAwKV0K
KyAgICAgICAgUmVuZGVyUmVnaW9uIHtESVZ9IGF0ICgwLDEwMikgc2l6ZSAzMDJ4MTgyIFtib3Jk
ZXI6ICgxcHggc29saWQgIzAwMDAwMCldCisgICAgICAgIFJlbmRlclJlZ2lvbiB7RElWfSBhdCAo
MCwyODQpIHNpemUgMTIyeDEyMiBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQorRmxvdyBU
aHJlYWRzCisgIFRocmVhZCB3aXRoIGZsb3ctbmFtZSAnZmxvdzEnCisgICAgbGF5ZXIgYXQgKDAs
MCkgc2l6ZSAzMDB4NDAwCisgICAgICBSZW5kZXJGbG93VGhyZWFkIGF0ICgwLDApIHNpemUgMzAw
eDQwMAorICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDMwMHgzODYKKyAg
ICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoNSw1KSBzaXplIDI5MHgzNzYgW2JvcmRlcjog
KDFweCBzb2xpZCAjMDAwMEZGKV0KKyAgICAgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgx
MSwxMSkgc2l6ZSAyNjh4MzU0IFtib3JkZXI6ICgxcHggc29saWQgIzAwODAwMCldCisgICAgICAg
ICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMSwxNykgc2l6ZSAyNjZ4MTI2CisgICAgICAgICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMjY2eDEyNgorICAgICAgICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTY2OiAiVGhpcyBsaW5lIG9mIHRleHQg
c2hvdWxkIgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTgpIHdpZHRoIDE2Njog
Im5vdCBnZXQgb3V0IG9mIHRoZSByZWdpb24uIgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDAsMzYpIHdpZHRoIDE2NjogIlRoaXMgbGluZSBvZiB0ZXh0IHNob3VsZCIKKyAgICAgICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDU0KSB3aWR0aCAxNjY6ICJub3QgZ2V0IG91dCBvZiB0
aGUgcmVnaW9uLiIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDcyKSB3aWR0aCAy
NjY6ICJUaGlzIGxpbmUgb2YgdGV4dCBzaG91bGQgbm90IGdldCBvdXQgb2YgdGhlIgorICAgICAg
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsOTApIHdpZHRoIDI2NjogInJlZ2lvbi4gVGhpcyBs
aW5lIG9mIHRleHQgc2hvdWxkIG5vdCBnZXQgb3V0IgorICAgICAgICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDAsMTA4KSB3aWR0aCA4NDogIm9mIHRoZSByZWdpb24uIgorICAgICAgICAgICAgICBS
ZW5kZXJCbG9jayB7UH0gYXQgKDEsMTU5KSBzaXplIDI2Nng5MAorICAgICAgICAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDI2Nng5MAorICAgICAgICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMjY2OiAiVGhpcyBsaW5lIG9mIHRleHQgc2hvdWxkIG5v
dCBnZXQgb3V0IG9mIHRoZSIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3
aWR0aCAyNjY6ICJyZWdpb24uIFRoaXMgbGluZSBvZiB0ZXh0IHNob3VsZCBub3QgZ2V0IG91dCIK
KyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDM2KSB3aWR0aCAyNjY6ICJvZiB0aGUg
cmVnaW9uLiBUaGlzIGxpbmUgb2YgdGV4dCBzaG91bGQgbm90IgorICAgICAgICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDAsNTQpIHdpZHRoIDI2NjogImdldCBvdXQgb2YgdGhlIHJlZ2lvbi4gVGhp
cyBsaW5lIG9mIHRleHQiCisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw3Mikgd2lk
dGggMjAxOiAic2hvdWxkIG5vdCBnZXQgb3V0IG9mIHRoZSByZWdpb24uIgorICAgICAgICAgICAg
ICBSZW5kZXJCbG9jayB7UH0gYXQgKDEsMjY1KSBzaXplIDI2Nng3MgorICAgICAgICAgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDg2eDcyCisgICAgICAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA4NjogIlRoaXMgbGluZSBvZiIKKyAgICAgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3aWR0aCA4NjogInRleHQgc2hvdWxkIgorICAgICAg
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMzYpIHdpZHRoIDg2OiAibm90IGdldCBvdXQgb2Yi
CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw1NCkgd2lkdGggNjc6ICJ0aGUgcmVn
aW9uLiIKKyAgUmVnaW9ucyBmb3IgZmxvdyAnZmxvdzEnCisgICAgUmVuZGVyUmVnaW9uIHtESVZ9
ICNyZWdpb24xIHdpdGggaW5kZXggMAorICAgIFJlbmRlclJlZ2lvbiB7RElWfSAjcmVnaW9uMiB3
aXRoIGluZGV4IDAKKyAgICBSZW5kZXJSZWdpb24ge0RJVn0gI3JlZ2lvbjMgd2l0aCBpbmRleCAw
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2Via2l0LWZsb3ctaW5saW5l
cy1pbnNpZGUtcmVnaW9ucy1ib3VuZHMtdmVydGljYWwtbHItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZmFzdC9yZWdpb25zL3dlYmtpdC1mbG93LWlubGluZXMtaW5zaWRlLXJlZ2lvbnMtYm91
bmRzLXZlcnRpY2FsLWxyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi42YWJiNzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdp
b25zL3dlYmtpdC1mbG93LWlubGluZXMtaW5zaWRlLXJlZ2lvbnMtYm91bmRzLXZlcnRpY2FsLWxy
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUzIEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgxNTgsMCkg
c2l6ZSA2NDJ4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDY0Mng2MDAK
KyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDYyNng1ODQKKyAgICAgIFJlbmRl
ckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgNjI2eDU4NAorICAgICAgICBSZW5kZXJSZWdpb24g
e0RJVn0gYXQgKDAsMCkgc2l6ZSAyMDJ4MTAyIFtib3JkZXI6ICgxcHggc29saWQgIzAwMDAwMCld
CisgICAgICAgIFJlbmRlclJlZ2lvbiB7RElWfSBhdCAoMjAyLDApIHNpemUgMzAyeDE4MiBbYm9y
ZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQorICAgICAgICBSZW5kZXJSZWdpb24ge0RJVn0gYXQg
KDUwNCwwKSBzaXplIDEyMngxMjIgW2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMDAwKV0KK0Zsb3cg
VGhyZWFkcworICBUaHJlYWQgd2l0aCBmbG93LW5hbWUgJ2Zsb3cxJworICAgIGxheWVyIGF0ICgx
ODAsMCkgc2l6ZSA2MjB4MTgwCisgICAgICBSZW5kZXJGbG93VGhyZWFkIGF0ICgwLDApIHNpemUg
NjIweDE4MAorICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDU4NHgxODAK
KyAgICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoNSw1KSBzaXplIDU3NHgxNzAgW2JvcmRl
cjogKDFweCBzb2xpZCAjMDAwMEZGKV0KKyAgICAgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0
ICgxMSwxMSkgc2l6ZSA1NTJ4MTQ4IFtib3JkZXI6ICgxcHggc29saWQgIzAwODAwMCldCisgICAg
ICAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMTcsMSkgc2l6ZSAyNzB4MTQ2CisgICAgICAg
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMjcweDE0NgorICAgICAg
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNjY6ICJUaGlzIGxpbmUiCisgICAg
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTgsMCkgd2lkdGggNjY6ICJvZiB0ZXh0IgorICAg
ICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDM2LDApIHdpZHRoIDY2OiAic2hvdWxkIG5vdCIK
KyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg1NCwwKSB3aWR0aCA2NjogImdldCBvdXQg
b2YiCisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNzIsMCkgd2lkdGggMTk6ICJ0aGUi
CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoOTAsMCkgd2lkdGggNDQ6ICJyZWdpb24u
IgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEwOCwwKSB3aWR0aCA2NjogIlRoaXMg
bGluZSIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMjYsMCkgd2lkdGggNjY6ICJv
ZiB0ZXh0IgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE0NCwwKSB3aWR0aCA2Njog
InNob3VsZCBub3QiCisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTYyLDApIHdpZHRo
IDY2OiAiZ2V0IG91dCBvZiIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxODAsMCkg
d2lkdGggMTQ2OiAidGhlIHJlZ2lvbi4gVGhpcyBsaW5lIG9mIgorICAgICAgICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDE5OCwwKSB3aWR0aCAxNDY6ICJ0ZXh0IHNob3VsZCBub3QgZ2V0IG91dCIK
KyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyMTYsMCkgd2lkdGggMTQ2OiAib2YgdGhl
IHJlZ2lvbi4gVGhpcyBsaW5lIgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDIzNCww
KSB3aWR0aCAxNDY6ICJvZiB0ZXh0IHNob3VsZCBub3QgZ2V0IgorICAgICAgICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDI1MiwwKSB3aWR0aCAxMDg6ICJvdXQgb2YgdGhlIHJlZ2lvbi4iCisgICAg
ICAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMzAzLDEpIHNpemUgMTYyeDE0NgorICAgICAg
ICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDE2MngxNDYKKyAgICAg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDE0NjogIlRoaXMgbGluZSBvZiB0
ZXh0IHNob3VsZCIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxOCwwKSB3aWR0aCAx
NDY6ICJub3QgZ2V0IG91dCBvZiB0aGUiCisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MzYsMCkgd2lkdGggMTQ2OiAicmVnaW9uLiBUaGlzIGxpbmUgb2YiCisgICAgICAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoNTQsMCkgd2lkdGggMTQ2OiAidGV4dCBzaG91bGQgbm90IGdldCBvdXQi
CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNzIsMCkgd2lkdGggMTQ2OiAib2YgdGhl
IHJlZ2lvbi4gVGhpcyBsaW5lIgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDkwLDAp
IHdpZHRoIDE0NjogIm9mIHRleHQgc2hvdWxkIG5vdCBnZXQiCisgICAgICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMTA4LDApIHdpZHRoIDE0NjogIm91dCBvZiB0aGUgcmVnaW9uLiBUaGlzIgor
ICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEyNiwwKSB3aWR0aCAxNDY6ICJsaW5lIG9m
IHRleHQgc2hvdWxkIG5vdCIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxNDQsMCkg
d2lkdGggMTMxOiAiZ2V0IG91dCBvZiB0aGUgcmVnaW9uLiIKKyAgICAgICAgICAgICAgUmVuZGVy
QmxvY2sge1B9IGF0ICg0ODEsMSkgc2l6ZSA1NHgxNDYKKyAgICAgICAgICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA1NHgxNDYKKyAgICAgICAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgwLDApIHdpZHRoIDE0NjogIlRoaXMgbGluZSBvZiB0ZXh0IHNob3VsZCIKKyAgICAg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxOCwwKSB3aWR0aCA4NjogIm5vdCBnZXQgb3V0IG9m
IgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDM2LDApIHdpZHRoIDY3OiAidGhlIHJl
Z2lvbi4iCisgIFJlZ2lvbnMgZm9yIGZsb3cgJ2Zsb3cxJworICAgIFJlbmRlclJlZ2lvbiB7RElW
fSAjcmVnaW9uMSB3aXRoIGluZGV4IDAKKyAgICBSZW5kZXJSZWdpb24ge0RJVn0gI3JlZ2lvbjIg
d2l0aCBpbmRleCAwCisgICAgUmVuZGVyUmVnaW9uIHtESVZ9ICNyZWdpb24zIHdpdGggaW5kZXgg
MApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3dlYmtpdC1mbG93LWlubGlu
ZXMtaW5zaWRlLXJlZ2lvbnMtYm91bmRzLXZlcnRpY2FsLWxyLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L3JlZ2lvbnMvd2Via2l0LWZsb3ctaW5saW5lcy1pbnNpZGUtcmVnaW9ucy1ib3VuZHMtdmVy
dGljYWwtbHIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZmFkMzE0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3dlYmtpdC1mbG93
LWlubGluZXMtaW5zaWRlLXJlZ2lvbnMtYm91bmRzLXZlcnRpY2FsLWxyLmh0bWwKQEAgLTAsMCAr
MSw1NiBAQAorPCFkb2N0eXBlIGh0bWw+CisKKyA8c3R5bGU+CisgICAgaHRtbCB7IC13ZWJraXQt
d3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybCB9CisgCisgICAgI2NvbnRlbnQgeworICAgICAgICAt
d2Via2l0LWZsb3c6ICJmbG93MSI7CisgICAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7CisgICAg
ICAgIHBhZGRpbmc6IDVweDsKKyAgICB9CisgICAgCisgICAgI2ZpcnN0LWJveCB7CisgICAgICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7CisgICAgfQorICAgIAorICAgICNzZWNvbmQtYm94IHsK
KyAgICAgICAgbWFyZ2luOjEwcHg7CisgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGdyZWVuOwor
ICAgIH0KKyAgICAKKyAgICAjcmVnaW9uMSwgI3JlZ2lvbjIsICNyZWdpb24zIHsKKyAgICAgICAg
Ym9yZGVyOiAxcHggc29saWQgYmxhY2s7CisgICAgICAgIGNvbnRlbnQ6IC13ZWJraXQtZnJvbS1m
bG93KCJmbG93MSIpOworICAgIH0KKworICAgICNyZWdpb24xIHsKKyAgICAgICAgd2lkdGg6IDIw
MHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0KKyAgICAKKyAgICAjcmVnaW9uMiB7
CisgICAgICAgIHdpZHRoOiAzMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxODBweDsKKyAgICB9Cisg
ICAgCisgICAgI3JlZ2lvbjMgeworICAgICAgICB3aWR0aDogMTIwcHg7CisgICAgICAgIGhlaWdo
dDogMTIwcHg7CisgICAgfQorPC9zdHlsZT4KKworPGRpdiBpZD0iY29udGVudCI+CisgICAgPGRp
diBpZD0iZmlyc3QtYm94Ij4KKyAgICAgICAgPGRpdiBpZD0ic2Vjb25kLWJveCI+CisgICAgICAg
ICAgICA8cD5UaGlzIGxpbmUgb2YgdGV4dCBzaG91bGQgbm90IGdldCBvdXQgb2YgdGhlIHJlZ2lv
bi4gVGhpcyBsaW5lIG9mIHRleHQgc2hvdWxkIG5vdCBnZXQgb3V0IG9mIHRoZSByZWdpb24uIFRo
aXMgbGluZSBvZiB0ZXh0IHNob3VsZCBub3QgZ2V0IG91dCBvZiB0aGUgcmVnaW9uLiBUaGlzIGxp
bmUgb2YgdGV4dCBzaG91bGQgbm90IGdldCBvdXQgb2YgdGhlIHJlZ2lvbi48L3A+CisgICAgICAg
ICAgICA8cD5UaGlzIGxpbmUgb2YgdGV4dCBzaG91bGQgbm90IGdldCBvdXQgb2YgdGhlIHJlZ2lv
bi4gVGhpcyBsaW5lIG9mIHRleHQgc2hvdWxkIG5vdCBnZXQgb3V0IG9mIHRoZSByZWdpb24uIFRo
aXMgbGluZSBvZiB0ZXh0IHNob3VsZCBub3QgZ2V0IG91dCBvZiB0aGUgcmVnaW9uLiBUaGlzIGxp
bmUgb2YgdGV4dCBzaG91bGQgbm90IGdldCBvdXQgb2YgdGhlIHJlZ2lvbi48L3A+CisgICAgICAg
ICAgICA8cD5UaGlzIGxpbmUgb2YgdGV4dCBzaG91bGQgbm90IGdldCBvdXQgb2YgdGhlIHJlZ2lv
bi48L3A+CisgICAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorPC9kaXY+CisKKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPGRpdiBpZD0icmVnaW9uMSI+PC9kaXY+CisgICAgPGRpdiBpZD0icmVn
aW9uMiI+PC9kaXY+CisgICAgPGRpdiBpZD0icmVnaW9uMyI+PC9kaXY+Cis8L2Rpdj4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtZmxvdy1pbmxpbmVzLWluc2lk
ZS1yZWdpb25zLWJvdW5kcy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3dlYmtpdC1m
bG93LWlubGluZXMtaW5zaWRlLXJlZ2lvbnMtYm91bmRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uYjM5OGQwYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvcmVnaW9ucy93ZWJraXQtZmxvdy1pbmxpbmVzLWluc2lkZS1yZWdpb25zLWJvdW5kcy5o
dG1sCkBAIC0wLDAgKzEsNTQgQEAKKzwhZG9jdHlwZSBodG1sPgorCisgPHN0eWxlPgorICAgICNj
b250ZW50IHsKKyAgICAgICAgLXdlYmtpdC1mbG93OiAiZmxvdzEiOworICAgICAgICB0ZXh0LWFs
aWduOiBqdXN0aWZ5OworICAgICAgICBwYWRkaW5nOiA1cHg7CisgICAgfQorICAgIAorICAgICNm
aXJzdC1ib3ggeworICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworICAgIH0KKyAgICAK
KyAgICAjc2Vjb25kLWJveCB7CisgICAgICAgIG1hcmdpbjoxMHB4OworICAgICAgICBib3JkZXI6
IDFweCBzb2xpZCBncmVlbjsKKyAgICB9CisgICAgCisgICAgI3JlZ2lvbjEsICNyZWdpb24yLCAj
cmVnaW9uMyB7CisgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOworICAgICAgICBjb250
ZW50OiAtd2Via2l0LWZyb20tZmxvdygiZmxvdzEiKTsKKyAgICB9CisKKyAgICAjcmVnaW9uMSB7
CisgICAgICAgIHdpZHRoOiAyMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9Cisg
ICAgCisgICAgI3JlZ2lvbjIgeworICAgICAgICB3aWR0aDogMzAwcHg7CisgICAgICAgIGhlaWdo
dDogMTgwcHg7CisgICAgfQorICAgIAorICAgICNyZWdpb24zIHsKKyAgICAgICAgd2lkdGg6IDEy
MHB4OworICAgICAgICBoZWlnaHQ6IDEyMHB4OworICAgIH0KKzwvc3R5bGU+CisKKzxkaXYgaWQ9
ImNvbnRlbnQiPgorICAgIDxkaXYgaWQ9ImZpcnN0LWJveCI+CisgICAgICAgIDxkaXYgaWQ9InNl
Y29uZC1ib3giPgorICAgICAgICAgICAgPHA+VGhpcyBsaW5lIG9mIHRleHQgc2hvdWxkIG5vdCBn
ZXQgb3V0IG9mIHRoZSByZWdpb24uIFRoaXMgbGluZSBvZiB0ZXh0IHNob3VsZCBub3QgZ2V0IG91
dCBvZiB0aGUgcmVnaW9uLiBUaGlzIGxpbmUgb2YgdGV4dCBzaG91bGQgbm90IGdldCBvdXQgb2Yg
dGhlIHJlZ2lvbi4gVGhpcyBsaW5lIG9mIHRleHQgc2hvdWxkIG5vdCBnZXQgb3V0IG9mIHRoZSBy
ZWdpb24uPC9wPgorICAgICAgICAgICAgPHA+VGhpcyBsaW5lIG9mIHRleHQgc2hvdWxkIG5vdCBn
ZXQgb3V0IG9mIHRoZSByZWdpb24uIFRoaXMgbGluZSBvZiB0ZXh0IHNob3VsZCBub3QgZ2V0IG91
dCBvZiB0aGUgcmVnaW9uLiBUaGlzIGxpbmUgb2YgdGV4dCBzaG91bGQgbm90IGdldCBvdXQgb2Yg
dGhlIHJlZ2lvbi4gVGhpcyBsaW5lIG9mIHRleHQgc2hvdWxkIG5vdCBnZXQgb3V0IG9mIHRoZSBy
ZWdpb24uPC9wPgorICAgICAgICAgICAgPHA+VGhpcyBsaW5lIG9mIHRleHQgc2hvdWxkIG5vdCBn
ZXQgb3V0IG9mIHRoZSByZWdpb24uPC9wPgorICAgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKzwv
ZGl2PgorCis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxkaXYgaWQ9InJlZ2lvbjEiPjwvZGl2
PgorICAgIDxkaXYgaWQ9InJlZ2lvbjIiPjwvZGl2PgorICAgIDxkaXYgaWQ9InJlZ2lvbjMiPjwv
ZGl2PgorPC9kaXY+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODA1MjQ0Ny4uMjBkMDVkNiAxMDA3NTUKLS0tIGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDQ5IEBACisyMDExLTA4LTIyICBBbGV4YW5kcnUgQ2hpY3VsaXRhICA8YWNoaWN1
QGFkb2JlLmNvbT4KKworICAgICAgICBbQ1NTUmVnaW9uc10gUmVuZGVyRmxvd1RocmVhZCBsYXlv
dXQgc2hvdWxkIHVzZSB0aGUgYXR0YWNoZWQgcmVnaW9uIHNpemVzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjE0MworCisgICAgICAgIFdoZW4gUmVu
ZGVyRmxvd1RocmVhZCBpcyBkb2luZyB0aGUgbGF5b3V0IGl0IGFsc28gc2V0cyB0aGUgY3VycmVu
dCBSZW5kZXJGbG93VGhyZWFkIG9uCisgICAgICAgIHRoZSBSZW5kZXJWaWV3LiBSZW5kZXJGbG93
VGhyZWFkIGNhbm5vdCBiZSBuZXN0ZWQgaW5zaWRlIGEgc2luZ2xlIFJlbmRlclZpZXcsIHNvIHRo
ZXJlJ3Mgbm8gCisgICAgICAgIG5lZWQgdG8gcHV0IHRoYXQgb24gdGhlIExheW91dFN0YXRlLgor
CisgICAgICAgIFRoZSByaWdodCBvZmZzZXQgdXNlZCB0byBsYXlvdXQgdGhlIGlubGluZXMgaW5z
aWRlIGEgUmVuZGVyRmxvd1RocmVhZAorICAgICAgICBpcyBub3cgYWRqdXN0ZWQgdG8gZml0IGlu
c2lkZSB0aGUgY3VycmVudCByZWdpb24uCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGVzdHM6IGZhc3QvcmVnaW9ucy93ZWJraXQtZmxvdy1mbG9hdHMt
aW5zaWRlLXJlZ2lvbnMtYm91bmRzLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvcmVnaW9ucy93
ZWJraXQtZmxvdy1pbmxpbmVzLWluc2lkZS1yZWdpb25zLWJvdW5kcy12ZXJ0aWNhbC1sci5odG1s
CisgICAgICAgICAgICAgICBmYXN0L3JlZ2lvbnMvd2Via2l0LWZsb3ctaW5saW5lcy1pbnNpZGUt
cmVnaW9ucy1ib3VuZHMuaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL0xheW91dFN0YXRlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dFN0YXRlOjpMYXlvdXRTdGF0ZSk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJs
b2NrOjpsYXlvdXRCbG9jayk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6YWRqdXN0
Rm9yUmVnaW9uRml0dGluZ0lmTmVlZGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2Nr
Ojpsb2dpY2FsUmlnaHRPZmZzZXRGb3JMaW5lKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
QmxvY2suaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJGbG93VGhyZWFkOjpSZW5kZXJGbG93VGhyZWFkKToKKyAgICAg
ICAgKFdlYkNvcmU6OkN1cnJlbnRSZW5kZXJGbG93VGhyZWFkTWFpbnRhaW5lcjo6Q3VycmVudFJl
bmRlckZsb3dUaHJlYWRNYWludGFpbmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkN1cnJlbnRSZW5k
ZXJGbG93VGhyZWFkTWFpbnRhaW5lcjo6fkN1cnJlbnRSZW5kZXJGbG93VGhyZWFkTWFpbnRhaW5l
cik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbG93VGhyZWFkOjpsYXlvdXQpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyRmxvd1RocmVhZDo6cmVuZGVyUmVnaW9uRm9yTGluZSk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJGbG93VGhyZWFkOjpyZWdpb25Mb2dpY2FsV2lkdGhGb3JMaW5l
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oOgorICAgICAgICAoV2Vi
Q29yZTo6UmVnaW9uRml0dGluZ0Rpc2FibGVyOjpSZWdpb25GaXR0aW5nRGlzYWJsZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVnaW9uRml0dGluZ0Rpc2FibGVyOjp+UmVnaW9uRml0dGluZ0Rpc2Fi
bGVyKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyUmVnaW9uLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclJlZ2lvbjo6bGF5b3V0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
UmVnaW9uLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyVmlldzo6UmVuZGVyVmlldyk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlclZpZXcuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6Omhhc1JlbmRlckZsb3dU
aHJlYWQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlldzo6Y3VycmVudFJlbmRlckZsb3dU
aHJlYWQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlldzo6c2V0Q3VycmVudFJlbmRlckZs
b3dUaHJlYWQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlldzo6cHVzaExheW91dFN0YXRl
KToKKwogMjAxMS0wOC0yMSAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+
CiAKICAgICAgICAgRml4ICdtYWtlIGRpc3QnIGZvciBXZWJLaXRHVEsrLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9MYXlvdXRTdGF0ZS5jcHAKaW5kZXggNWMyYjU3ZC4uZWUzNGMwNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuY3BwCkBAIC04Miw3ICs4Miw3IEBAIExh
eW91dFN0YXRlOjpMYXlvdXRTdGF0ZShMYXlvdXRTdGF0ZSogcHJldiwgUmVuZGVyQm94KiByZW5k
ZXJlciwgY29uc3QgTGF5b3V0U2l6CiAKICAgICAvLyBJZiB3ZSBlc3RhYmxpc2ggYSBuZXcgcGFn
ZSBoZWlnaHQsIHRoZW4gY2FjaGUgdGhlIG9mZnNldCB0byB0aGUgdG9wIG9mIHRoZSBmaXJzdCBw
YWdlLgogICAgIC8vIFdlIGNhbiBjb21wYXJlIHRoaXMgbGF0ZXIgb24gdG8gZmlndXJlIG91dCB3
aGF0IHBhcnQgb2YgdGhlIHBhZ2Ugd2UncmUgYWN0dWFsbHkgb24sCi0gICAgaWYgKHBhZ2VMb2dp
Y2FsSGVpZ2h0IHx8IG1fY29sdW1uSW5mbykgeworICAgIGlmIChwYWdlTG9naWNhbEhlaWdodCB8
fCBtX2NvbHVtbkluZm8gfHwgcmVuZGVyZXItPmlzUmVuZGVyRmxvd1RocmVhZCgpKSB7CiAgICAg
ICAgIG1fcGFnZUxvZ2ljYWxIZWlnaHQgPSBwYWdlTG9naWNhbEhlaWdodDsKICAgICAgICAgbV9w
YWdlT2Zmc2V0ID0gTGF5b3V0U2l6ZShtX2xheW91dE9mZnNldC53aWR0aCgpICsgcmVuZGVyZXIt
PmJvcmRlckxlZnQoKSArIHJlbmRlcmVyLT5wYWRkaW5nTGVmdCgpLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIG1fbGF5b3V0T2Zmc2V0LmhlaWdodCgpICsgcmVuZGVyZXItPmJvcmRl
clRvcCgpICsgcmVuZGVyZXItPnBhZGRpbmdUb3AoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJsb2NrLmNwcAppbmRleCBmY2VkMDQwLi5iNjNmZmExIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKQEAgLTQxLDYgKzQxLDcgQEAKICNpbmNsdWRlICJQ
YWludEluZm8uaCIKICNpbmNsdWRlICJSZW5kZXJDb21iaW5lVGV4dC5oIgogI2luY2x1ZGUgIlJl
bmRlckRlcHJlY2F0ZWRGbGV4aWJsZUJveC5oIgorI2luY2x1ZGUgIlJlbmRlckZsb3dUaHJlYWQu
aCIKICNpbmNsdWRlICJSZW5kZXJJbWFnZS5oIgogI2luY2x1ZGUgIlJlbmRlcklubGluZS5oIgog
I2luY2x1ZGUgIlJlbmRlckxheWVyLmgiCkBAIC0xMjIyLDcgKzEyMjMsMTEgQEAgdm9pZCBSZW5k
ZXJCbG9jazo6bGF5b3V0QmxvY2soYm9vbCByZWxheW91dENoaWxkcmVuLCBMYXlvdXRVbml0IHBh
Z2VMb2dpY2FsSGVpZ2gKICAgICAgICAgICAgIGNvbEluZm8tPmNsZWFyRm9yY2VkQnJlYWtzKCk7
CiAgICAgfQogCi0gICAgTGF5b3V0U3RhdGVNYWludGFpbmVyIHN0YXRlUHVzaGVyKHZpZXcoKSwg
dGhpcywgbG9jYXRpb25PZmZzZXQoKSwgaGFzQ29sdW1ucygpIHx8IGhhc1RyYW5zZm9ybSgpIHx8
IGhhc1JlZmxlY3Rpb24oKSB8fCBzdHlsZSgpLT5pc0ZsaXBwZWRCbG9ja3NXcml0aW5nTW9kZSgp
LCBwYWdlTG9naWNhbEhlaWdodCwgcGFnZUxvZ2ljYWxIZWlnaHRDaGFuZ2VkLCBjb2xJbmZvKTsK
KyAgICBSZW5kZXJWaWV3KiByZW5kZXJWaWV3ID0gdmlldygpOworICAgIExheW91dFN0YXRlTWFp
bnRhaW5lciBzdGF0ZVB1c2hlcihyZW5kZXJWaWV3LCB0aGlzLCBsb2NhdGlvbk9mZnNldCgpLCBo
YXNDb2x1bW5zKCkgfHwgaGFzVHJhbnNmb3JtKCkgfHwgaGFzUmVmbGVjdGlvbigpIHx8IHN0eWxl
KCktPmlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2RlKCksIHBhZ2VMb2dpY2FsSGVpZ2h0LCBwYWdl
TG9naWNhbEhlaWdodENoYW5nZWQsIGNvbEluZm8pOworCisgICAgYm9vbCBkaXNhYmxlUmVnaW9u
Rml0dGluZyA9IHJlbmRlclZpZXctPmhhc1JlbmRlckZsb3dUaHJlYWQoKSAmJiAoaGFzQ29sdW1u
cygpIHx8IChpc1Bvc2l0aW9uZWQoKSAmJiAhaXNSZW5kZXJGbG93VGhyZWFkKCkpIHx8IGlzRmxv
YXRpbmcoKSk7CisgICAgUmVnaW9uRml0dGluZ0Rpc2FibGVyIHJlZ2lvbkZpdHRpbmdEaXNhYmxl
cihyZW5kZXJWaWV3LT5jdXJyZW50UmVuZGVyRmxvd1RocmVhZCgpLCBkaXNhYmxlUmVnaW9uRml0
dGluZyk7CiAKICAgICAvLyBXZSB1c2UgZm91ciB2YWx1ZXMsIG1heFRvcFBvcywgbWF4VG9wTmVn
LCBtYXhCb3R0b21Qb3MsIGFuZCBtYXhCb3R0b21OZWcsIHRvIHRyYWNrCiAgICAgLy8gb3VyIGN1
cnJlbnQgbWF4aW1hbCBwb3NpdGl2ZSBhbmQgbmVnYXRpdmUgbWFyZ2lucy4gIFRoZXNlIHZhbHVl
cyBhcmUgdXNlZCB3aGVuIHdlCkBAIC0xMzA1LDggKzEzMTAsOCBAQCB2b2lkIFJlbmRlckJsb2Nr
OjpsYXlvdXRCbG9jayhib29sIHJlbGF5b3V0Q2hpbGRyZW4sIExheW91dFVuaXQgcGFnZUxvZ2lj
YWxIZWlnaAogICAgIAogICAgIHN0YXRlUHVzaGVyLnBvcCgpOwogCi0gICAgaWYgKHZpZXcoKS0+
bGF5b3V0U3RhdGUoKS0+bV9wYWdlTG9naWNhbEhlaWdodCkKLSAgICAgICAgc2V0UGFnZUxvZ2lj
YWxPZmZzZXQodmlldygpLT5sYXlvdXRTdGF0ZSgpLT5wYWdlTG9naWNhbE9mZnNldChsb2dpY2Fs
VG9wKCkpKTsKKyAgICBpZiAocmVuZGVyVmlldy0+bGF5b3V0U3RhdGUoKS0+bV9wYWdlTG9naWNh
bEhlaWdodCkKKyAgICAgICAgc2V0UGFnZUxvZ2ljYWxPZmZzZXQocmVuZGVyVmlldy0+bGF5b3V0
U3RhdGUoKS0+cGFnZUxvZ2ljYWxPZmZzZXQobG9naWNhbFRvcCgpKSk7CiAKICAgICB1cGRhdGVM
YXllclRyYW5zZm9ybSgpOwogCkBAIC0zNTU2LDE2ICszNTYxLDM2IEBAIExheW91dFVuaXQgUmVu
ZGVyQmxvY2s6OmxvZ2ljYWxMZWZ0T2Zmc2V0Rm9yTGluZShMYXlvdXRVbml0IGxvZ2ljYWxUb3As
IExheW91dFVuCiAgICAgcmV0dXJuIGxlZnQ7CiB9CiAKK3ZvaWQgUmVuZGVyQmxvY2s6OmFkanVz
dEZvclJlZ2lvbkZpdHRpbmdJZk5lZWRlZChMYXlvdXRVbml0IGxvZ2ljYWxUb3AsIExheW91dFVu
aXQmIHJpZ2h0T2Zmc2V0KSBjb25zdAoreworICAgIFJlbmRlclZpZXcqIHJlbmRlclZpZXcgPSB2
aWV3KCk7CisgICAgaWYgKCFyZW5kZXJWaWV3LT5oYXNSZW5kZXJGbG93VGhyZWFkKCkpCisgICAg
ICAgIHJldHVybjsKKyAgICAKKyAgICBSZW5kZXJGbG93VGhyZWFkKiBmbG93VGhyZWFkID0gcmVu
ZGVyVmlldy0+Y3VycmVudFJlbmRlckZsb3dUaHJlYWQoKTsKKyAgICBpZiAoIWZsb3dUaHJlYWQt
PmlzUmVnaW9uRml0dGluZ0VuYWJsZWQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgTGF5b3V0
U3RhdGUqIGxheW91dFN0YXRlID0gcmVuZGVyVmlldy0+bGF5b3V0U3RhdGUoKTsKKyAgICBJbnRT
aXplIGRlbHRhID0gbGF5b3V0U3RhdGUtPm1fbGF5b3V0T2Zmc2V0IC0gbGF5b3V0U3RhdGUtPm1f
cGFnZU9mZnNldDsKKyAgICBpbnQgb2Zmc2V0ID0gaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/
IGRlbHRhLmhlaWdodCgpIDogZGVsdGEud2lkdGgoKTsKKyAgICBMYXlvdXRVbml0IHJlZ2lvbldp
ZHRoID0gZmxvd1RocmVhZC0+cmVnaW9uTG9naWNhbFdpZHRoRm9yTGluZShvZmZzZXQgKyBsb2dp
Y2FsVG9wKTsKKyAgICByaWdodE9mZnNldCAtPSBmbG93VGhyZWFkLT5sb2dpY2FsV2lkdGgoKSAt
IHJlZ2lvbldpZHRoOworfQorCiBMYXlvdXRVbml0IFJlbmRlckJsb2NrOjpsb2dpY2FsUmlnaHRP
ZmZzZXRGb3JMaW5lKExheW91dFVuaXQgbG9naWNhbFRvcCwgTGF5b3V0VW5pdCBmaXhlZE9mZnNl
dCwgYm9vbCBhcHBseVRleHRJbmRlbnQsIExheW91dFVuaXQqIGhlaWdodFJlbWFpbmluZykgY29u
c3QKIHsKICAgICBMYXlvdXRVbml0IHJpZ2h0ID0gZml4ZWRPZmZzZXQ7CisgICAgYWRqdXN0Rm9y
UmVnaW9uRml0dGluZ0lmTmVlZGVkKGxvZ2ljYWxUb3AsIHJpZ2h0KTsKIAogICAgIGlmIChtX2Zs
b2F0aW5nT2JqZWN0cyAmJiBtX2Zsb2F0aW5nT2JqZWN0cy0+aGFzUmlnaHRPYmplY3RzKCkpIHsK
ICAgICAgICAgaWYgKGhlaWdodFJlbWFpbmluZykKICAgICAgICAgICAgICpoZWlnaHRSZW1haW5p
bmcgPSAxOwogCi0gICAgICAgIEZsb2F0SW50ZXJ2YWxTZWFyY2hBZGFwdGVyPEZsb2F0aW5nT2Jq
ZWN0OjpGbG9hdFJpZ2h0PiBhZGFwdGVyKHRoaXMsIGxvZ2ljYWxUb3AsIHJpZ2h0LCBoZWlnaHRS
ZW1haW5pbmcpOworICAgICAgICBMYXlvdXRVbml0IHJpZ2h0RmxvYXRPZmZzZXQgPSBmaXhlZE9m
ZnNldDsKKyAgICAgICAgRmxvYXRJbnRlcnZhbFNlYXJjaEFkYXB0ZXI8RmxvYXRpbmdPYmplY3Q6
OkZsb2F0UmlnaHQ+IGFkYXB0ZXIodGhpcywgbG9naWNhbFRvcCwgcmlnaHRGbG9hdE9mZnNldCwg
aGVpZ2h0UmVtYWluaW5nKTsKICAgICAgICAgbV9mbG9hdGluZ09iamVjdHMtPnBsYWNlZEZsb2F0
c1RyZWUoKS5hbGxPdmVybGFwc1dpdGhBZGFwdGVyKGFkYXB0ZXIpOworICAgICAgICByaWdodCA9
IG1pbihyaWdodCwgcmlnaHRGbG9hdE9mZnNldCk7CiAgICAgfQogICAgIAogICAgIGlmIChhcHBs
eVRleHRJbmRlbnQgJiYgIXN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAppbmRleCAwMTcyMzFjLi4zZDlmYjcyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaApAQCAtMzExLDYgKzMxMSw4IEBA
IHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgcGFpbnQoUGFpbnRJbmZvJiwgY29uc3QgTGF5
b3V0UG9pbnQmKTsKICAgICB2aXJ0dWFsIHZvaWQgcGFpbnRPYmplY3QoUGFpbnRJbmZvJiwgY29u
c3QgTGF5b3V0UG9pbnQmKTsKIAorICAgIHZvaWQgYWRqdXN0Rm9yUmVnaW9uRml0dGluZ0lmTmVl
ZGVkKExheW91dFVuaXQgbG9naWNhbFRvcCwgTGF5b3V0VW5pdCYgcmlnaHRPZmZzZXQpIGNvbnN0
OworCiAgICAgTGF5b3V0VW5pdCBsb2dpY2FsUmlnaHRPZmZzZXRGb3JMaW5lKExheW91dFVuaXQg
cG9zaXRpb24sIExheW91dFVuaXQgZml4ZWRPZmZzZXQsIGJvb2wgYXBwbHlUZXh0SW5kZW50ID0g
dHJ1ZSwgTGF5b3V0VW5pdCogbG9naWNhbEhlaWdodFJlbWFpbmluZyA9IDApIGNvbnN0OwogICAg
IExheW91dFVuaXQgbG9naWNhbExlZnRPZmZzZXRGb3JMaW5lKExheW91dFVuaXQgcG9zaXRpb24s
IExheW91dFVuaXQgZml4ZWRPZmZzZXQsIGJvb2wgYXBwbHlUZXh0SW5kZW50ID0gdHJ1ZSwgTGF5
b3V0VW5pdCogbG9naWNhbEhlaWdodFJlbWFpbmluZyA9IDApIGNvbnN0OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHAKaW5kZXggMmFjZTMxYi4uYTQ1
YzViZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJl
YWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmNw
cApAQCAtNDUsNiArNDUsNyBAQCBSZW5kZXJGbG93VGhyZWFkOjpSZW5kZXJGbG93VGhyZWFkKE5v
ZGUqIG5vZGUsIGNvbnN0IEF0b21pY1N0cmluZyYgZmxvd1RocmVhZCkKICAgICA6IFJlbmRlckJs
b2NrKG5vZGUpCiAgICAgLCBtX2Zsb3dUaHJlYWQoZmxvd1RocmVhZCkKICAgICAsIG1fcmVnaW9u
c0ludmFsaWRhdGVkKGZhbHNlKQorICAgICwgbV9yZWdpb25GaXR0aW5nRGlzYWJsZUNvdW50KDAp
CiB7CiAgICAgc2V0SXNBbm9ueW1vdXMoZmFsc2UpOwogfQpAQCAtMjcwLDggKzI3MSwzMCBAQCB2
b2lkIFJlbmRlckZsb3dUaHJlYWQ6OnB1c2hEZXBlbmRlbmNpZXMoUmVuZGVyRmxvd1RocmVhZExp
c3QmIGxpc3QpCiAgICAgfQogfQogCitjbGFzcyBDdXJyZW50UmVuZGVyRmxvd1RocmVhZE1haW50
YWluZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEN1cnJlbnRSZW5kZXJGbG93VGhyZWFk
TWFpbnRhaW5lcik7CitwdWJsaWM6CisgICAgQ3VycmVudFJlbmRlckZsb3dUaHJlYWRNYWludGFp
bmVyKFJlbmRlckZsb3dUaHJlYWQqIHJlbmRlckZsb3dUaHJlYWQpCisgICAgICAgIDogbV9yZW5k
ZXJGbG93VGhyZWFkKHJlbmRlckZsb3dUaHJlYWQpCisgICAgeworICAgICAgICBSZW5kZXJWaWV3
KiB2aWV3ID0gbV9yZW5kZXJGbG93VGhyZWFkLT52aWV3KCk7CisgICAgICAgIEFTU0VSVCghdmll
dy0+Y3VycmVudFJlbmRlckZsb3dUaHJlYWQoKSk7CisgICAgICAgIHZpZXctPnNldEN1cnJlbnRS
ZW5kZXJGbG93VGhyZWFkKG1fcmVuZGVyRmxvd1RocmVhZCk7CisgICAgfQorICAgIH5DdXJyZW50
UmVuZGVyRmxvd1RocmVhZE1haW50YWluZXIoKQorICAgIHsKKyAgICAgICAgUmVuZGVyVmlldyog
dmlldyA9IG1fcmVuZGVyRmxvd1RocmVhZC0+dmlldygpOworICAgICAgICBBU1NFUlQodmlldy0+
Y3VycmVudFJlbmRlckZsb3dUaHJlYWQoKSA9PSBtX3JlbmRlckZsb3dUaHJlYWQpOworICAgICAg
ICB2aWV3LT5zZXRDdXJyZW50UmVuZGVyRmxvd1RocmVhZCgwKTsKKyAgICB9Citwcml2YXRlOgor
ICAgIFJlbmRlckZsb3dUaHJlYWQqIG1fcmVuZGVyRmxvd1RocmVhZDsKK307CisKIHZvaWQgUmVu
ZGVyRmxvd1RocmVhZDo6bGF5b3V0KCkKIHsKKyAgICBDdXJyZW50UmVuZGVyRmxvd1RocmVhZE1h
aW50YWluZXIgY3VycmVudEZsb3dUaHJlYWRTZXR0ZXIodGhpcyk7CisKICAgICBpZiAobV9yZWdp
b25zSW52YWxpZGF0ZWQpIHsKICAgICAgICAgbV9yZWdpb25zSW52YWxpZGF0ZWQgPSBmYWxzZTsK
ICAgICAgICAgaWYgKGhhc1JlZ2lvbnMoKSkgewpAQCAtNDM2LDQgKzQ1OSw0MCBAQCB2b2lkIFJl
bmRlckZsb3dUaHJlYWQ6OnJlcGFpbnRSZWN0YW5nbGVJblJlZ2lvbnMoY29uc3QgTGF5b3V0UmVj
dCYgcmVwYWludFJlY3QsCiAgICAgfQogfQogCitSZW5kZXJSZWdpb24qIFJlbmRlckZsb3dUaHJl
YWQ6OnJlbmRlclJlZ2lvbkZvckxpbmUoTGF5b3V0VW5pdCBwb3NpdGlvbikgY29uc3QKK3sKKyAg
ICBBU1NFUlQoIW1fcmVnaW9uc0ludmFsaWRhdGVkKTsKKworICAgIC8vIEZJWE1FOiBUaGUgcmVn
aW9ucyBhcmUgYWx3YXlzIGluIG9yZGVyLCBvcHRpbWl6ZSB0aGlzIHNlYXJjaC4KKyAgICBib29s
IHVzZUhvcml6b250YWxXcml0aW5nTW9kZSA9IGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCk7Cisg
ICAgZm9yIChSZW5kZXJSZWdpb25MaXN0Ojpjb25zdF9pdGVyYXRvciBpdGVyID0gbV9yZWdpb25M
aXN0LmJlZ2luKCk7IGl0ZXIgIT0gbV9yZWdpb25MaXN0LmVuZCgpOyArK2l0ZXIpIHsKKyAgICAg
ICAgUmVuZGVyUmVnaW9uKiByZWdpb24gPSAqaXRlcjsKKyAgICAgICAgaWYgKCFyZWdpb24tPmlz
VmFsaWQoKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgIExheW91dFJlY3QgcmVn
aW9uUmVjdCA9IHJlZ2lvbi0+cmVnaW9uUmVjdCgpOworCisgICAgICAgIGlmICh1c2VIb3Jpem9u
dGFsV3JpdGluZ01vZGUpIHsKKyAgICAgICAgICAgIGlmIChyZWdpb25SZWN0LnkoKSA8PSBwb3Np
dGlvbiAmJiBwb3NpdGlvbiA8IHJlZ2lvblJlY3QubWF4WSgpKQorICAgICAgICAgICAgICAgIHJl
dHVybiByZWdpb247CisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgfQorCisgICAgICAg
IGlmIChyZWdpb25SZWN0LngoKSA8PSBwb3NpdGlvbiAmJiBwb3NpdGlvbiA8IHJlZ2lvblJlY3Qu
bWF4WCgpKQorICAgICAgICAgICAgcmV0dXJuIHJlZ2lvbjsKKyAgICB9CisKKyAgICByZXR1cm4g
MDsKK30KKworTGF5b3V0VW5pdCBSZW5kZXJGbG93VGhyZWFkOjpyZWdpb25Mb2dpY2FsV2lkdGhG
b3JMaW5lKExheW91dFVuaXQgcG9zaXRpb24pIGNvbnN0Cit7CisgICAgUmVuZGVyUmVnaW9uKiBy
ZWdpb24gPSByZW5kZXJSZWdpb25Gb3JMaW5lKHBvc2l0aW9uKTsKKyAgICBpZiAoIXJlZ2lvbikK
KyAgICAgICAgcmV0dXJuIDA7CisKKyAgICByZXR1cm4gaXNIb3Jpem9udGFsV3JpdGluZ01vZGUo
KSA/IHJlZ2lvbi0+cmVnaW9uUmVjdCgpLndpZHRoKCkgOiByZWdpb24tPnJlZ2lvblJlY3QoKS5o
ZWlnaHQoKTsKK30KKworCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuaAppbmRleCBmMzczNTM1Li41ZWZmYjQ3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmgKQEAgLTk2LDkgKzk2
LDE3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgcmVwYWludFJlY3RhbmdsZUluUmVnaW9ucyhjb25z
dCBMYXlvdXRSZWN0JiwgYm9vbCBpbW1lZGlhdGUpOwogCisgICAgTGF5b3V0VW5pdCByZWdpb25M
b2dpY2FsV2lkdGhGb3JMaW5lKExheW91dFVuaXQgcG9zaXRpb24pIGNvbnN0OworCisgICAgYm9v
bCBpc1JlZ2lvbkZpdHRpbmdFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gIW1fcmVnaW9uRml0dGlu
Z0Rpc2FibGVDb3VudDsgfQorICAgIHZvaWQgZGlzYWJsZVJlZ2lvbkZpdHRpbmcoKSB7IG1fcmVn
aW9uRml0dGluZ0Rpc2FibGVDb3VudCsrOyB9CisgICAgdm9pZCBlbmFibGVSZWdpb25GaXR0aW5n
KCkgeyBBU1NFUlQobV9yZWdpb25GaXR0aW5nRGlzYWJsZUNvdW50ID4gMCk7IG1fcmVnaW9uRml0
dGluZ0Rpc2FibGVDb3VudC0tOyB9CisKIHByaXZhdGU6CiAgICAgdmlydHVhbCBjb25zdCBjaGFy
KiByZW5kZXJOYW1lKCkgY29uc3QgeyByZXR1cm4gIlJlbmRlckZsb3dUaHJlYWQiOyB9CiAKKyAg
ICBSZW5kZXJSZWdpb24qIHJlbmRlclJlZ2lvbkZvckxpbmUoTGF5b3V0VW5pdCBwb3NpdGlvbikg
Y29uc3Q7CisKICAgICBib29sIGRlcGVuZHNPbihSZW5kZXJGbG93VGhyZWFkKiBvdGhlclJlbmRl
ckZsb3dUaHJlYWQpIGNvbnN0OwogICAgIHZvaWQgYWRkRGVwZW5kZW5jeU9uRmxvd1RocmVhZChS
ZW5kZXJGbG93VGhyZWFkKik7CiAgICAgdm9pZCByZW1vdmVEZXBlbmRlbmN5T25GbG93VGhyZWFk
KFJlbmRlckZsb3dUaHJlYWQqKTsKQEAgLTEyMyw2ICsxMzEsNyBAQCBwcml2YXRlOgogICAgIFJl
bmRlckZsb3dUaHJlYWRDb3VudGVkU2V0IG1fbGF5b3V0QmVmb3JlVGhyZWFkc1NldDsKIAogICAg
IGJvb2wgbV9yZWdpb25zSW52YWxpZGF0ZWQ7CisgICAgdW5zaWduZWQgbV9yZWdpb25GaXR0aW5n
RGlzYWJsZUNvdW50OwogfTsKIAogaW5saW5lIFJlbmRlckZsb3dUaHJlYWQqIHRvUmVuZGVyRmxv
d1RocmVhZChSZW5kZXJPYmplY3QqIG9iamVjdCkKQEAgLTE0MCw2ICsxNDksMjggQEAgaW5saW5l
IGNvbnN0IFJlbmRlckZsb3dUaHJlYWQqIHRvUmVuZGVyRmxvd1RocmVhZChjb25zdCBSZW5kZXJP
YmplY3QqIG9iamVjdCkKIC8vIFRoaXMgd2lsbCBjYXRjaCBhbnlvbmUgZG9pbmcgYW4gdW5uZWNl
c3NhcnkgY2FzdC4KIHZvaWQgdG9SZW5kZXJGbG93VGhyZWFkKGNvbnN0IFJlbmRlckZsb3dUaHJl
YWQqKTsKIAorY2xhc3MgUmVnaW9uRml0dGluZ0Rpc2FibGVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShSZWdpb25GaXR0aW5nRGlzYWJsZXIpOworcHVibGljOgorICAgIFJlZ2lvbkZpdHRp
bmdEaXNhYmxlcihSZW5kZXJGbG93VGhyZWFkKiBmbG93VGhyZWFkLCBib29sIGRpc2FibGUpCisg
ICAgeworICAgICAgICBpZiAoZmxvd1RocmVhZCAmJiBkaXNhYmxlKSB7CisgICAgICAgICAgICBt
X2Zsb3dUaHJlYWQgPSBmbG93VGhyZWFkOworICAgICAgICAgICAgbV9mbG93VGhyZWFkLT5kaXNh
YmxlUmVnaW9uRml0dGluZygpOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIG1fZmxvd1Ro
cmVhZCA9IDA7CisgICAgfQorCisgICAgflJlZ2lvbkZpdHRpbmdEaXNhYmxlcigpCisgICAgewor
ICAgICAgICBpZiAobV9mbG93VGhyZWFkKQorICAgICAgICAgICAgbV9mbG93VGhyZWFkLT5lbmFi
bGVSZWdpb25GaXR0aW5nKCk7CisgICAgfQorcHJpdmF0ZToKKyAgICBSZW5kZXJGbG93VGhyZWFk
KiBtX2Zsb3dUaHJlYWQ7Cit9OworCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlm
IC8vIFJlbmRlckZsb3dUaHJlYWRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclJlZ2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVn
aW9uLmNwcAppbmRleCA3Yzk3Y2Y3Li41NjMxOTFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyUmVnaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyUmVnaW9uLmNwcApAQCAtODIsNiArODIsMTMgQEAgYm9vbCBSZW5kZXJSZWdpb246
Om5vZGVBdFBvaW50KGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiByZXF1ZXN0LCBIaXRUZXN0UmVzdWx0
JiByZXMKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK3ZvaWQgUmVuZGVyUmVnaW9uOjpsYXlvdXQo
KQoreworICAgIFJlbmRlclJlcGxhY2VkOjpsYXlvdXQoKTsKKyAgICBpZiAobV9mbG93VGhyZWFk
ICYmIGlzVmFsaWQoKSkKKyAgICAgICAgbV9mbG93VGhyZWFkLT5pbnZhbGlkYXRlUmVnaW9ucygp
OworfQorCiB2b2lkIFJlbmRlclJlZ2lvbjo6YXR0YWNoUmVnaW9uKCkKIHsKICAgICBpZiAoIW1f
Zmxvd1RocmVhZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJS
ZWdpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZWdpb24uaAppbmRleCBj
NDY1MGI1Li41NGMxNzllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyUmVnaW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlZ2lvbi5o
CkBAIC01OCw2ICs1OCw4IEBAIHB1YmxpYzoKICAgICBib29sIGlzVmFsaWQoKSBjb25zdCB7IHJl
dHVybiBtX2lzVmFsaWQ7IH0KICAgICB2b2lkIHNldElzVmFsaWQoYm9vbCB2YWxpZCkgeyBtX2lz
VmFsaWQgPSB2YWxpZDsgfQogCisgICAgdmlydHVhbCB2b2lkIGxheW91dCgpOworCiBwcml2YXRl
OgogICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0IHsgcmV0dXJuICJS
ZW5kZXJSZWdpb24iOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcApp
bmRleCBhY2FjZTU2Li5jMWZmYjVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZp
ZXcuY3BwCkBAIC01NSw2ICs1NSw3IEBAIFJlbmRlclZpZXc6OlJlbmRlclZpZXcoTm9kZSogbm9k
ZSwgRnJhbWVWaWV3KiB2aWV3KQogICAgICwgbV9pc1JlbmRlckZsb3dUaHJlYWRPcmRlckRpcnR5
KGZhbHNlKQogICAgICwgbV9sYXlvdXRTdGF0ZSgwKQogICAgICwgbV9sYXlvdXRTdGF0ZURpc2Fi
bGVDb3VudCgwKQorICAgICwgbV9jdXJyZW50UmVuZGVyRmxvd1RocmVhZCgwKQogewogICAgIC8v
IENsZWFyIG91ciBhbm9ueW1vdXMgYml0LCBzZXQgYmVjYXVzZSBSZW5kZXJPYmplY3QgYXNzdW1l
cwogICAgIC8vIGFueSByZW5kZXJlciB3aXRoIGRvY3VtZW50IGFzIHRoZSBub2RlIGlzIGFub255
bW91cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCmluZGV4IDc1YzZiMjcuLjdl
MGJmZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaApAQCAtMTgxLDYgKzE4
MSwxMCBAQCBwdWJsaWM6CiAgICAgfQogICAgIGNvbnN0IFJlbmRlckZsb3dUaHJlYWRMaXN0KiBy
ZW5kZXJGbG93VGhyZWFkTGlzdCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVuZGVyRmxvd1RocmVhZExp
c3QuZ2V0KCk7IH0KIAorICAgIGJvb2wgaGFzUmVuZGVyRmxvd1RocmVhZCgpIGNvbnN0IHsgcmV0
dXJuIG1fY3VycmVudFJlbmRlckZsb3dUaHJlYWQ7IH0KKyAgICBSZW5kZXJGbG93VGhyZWFkKiBj
dXJyZW50UmVuZGVyRmxvd1RocmVhZCgpIGNvbnN0IHsgcmV0dXJuIG1fY3VycmVudFJlbmRlckZs
b3dUaHJlYWQ7IH0KKyAgICB2b2lkIHNldEN1cnJlbnRSZW5kZXJGbG93VGhyZWFkKFJlbmRlckZs
b3dUaHJlYWQqIGZsb3dUaHJlYWQpIHsgbV9jdXJyZW50UmVuZGVyRmxvd1RocmVhZCA9IGZsb3dU
aHJlYWQ7IH0KKwogICAgIHZvaWQgc3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlLCBjb25z
dCBSZW5kZXJTdHlsZSogb2xkU3R5bGUpOwogICAgIAogcHJvdGVjdGVkOgpAQCAtMTk2LDcgKzIw
MCw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBwdXNoTGF5b3V0U3RhdGUoUmVuZGVyQm94KiByZW5k
ZXJlciwgY29uc3QgTGF5b3V0U2l6ZSYgb2Zmc2V0LCBMYXlvdXRVbml0IHBhZ2VIZWlnaHQgPSAw
LCBib29sIHBhZ2VIZWlnaHRDaGFuZ2VkID0gZmFsc2UsIENvbHVtbkluZm8qIGNvbEluZm8gPSAw
KQogICAgIHsKICAgICAgICAgLy8gV2UgcHVzaCBMYXlvdXRTdGF0ZSBldmVuIGlmIGxheW91dFN0
YXRlIGlzIGRpc2FibGVkIGJlY2F1c2UgaXQgc3RvcmVzIGxheW91dERlbHRhIHRvby4KLSAgICAg
ICAgaWYgKCFkb2luZ0Z1bGxSZXBhaW50KCkgfHwgcmVuZGVyZXItPmhhc0NvbHVtbnMoKSB8fCBt
X2xheW91dFN0YXRlLT5pc1BhZ2luYXRlZCgpKSB7CisgICAgICAgIGlmICghZG9pbmdGdWxsUmVw
YWludCgpIHx8IHJlbmRlcmVyLT5oYXNDb2x1bW5zKCkgfHwgbV9sYXlvdXRTdGF0ZS0+aXNQYWdp
bmF0ZWQoKSB8fCBoYXNSZW5kZXJGbG93VGhyZWFkKCkpIHsKICAgICAgICAgICAgIG1fbGF5b3V0
U3RhdGUgPSBuZXcgKHJlbmRlckFyZW5hKCkpIExheW91dFN0YXRlKG1fbGF5b3V0U3RhdGUsIHJl
bmRlcmVyLCBvZmZzZXQsIHBhZ2VIZWlnaHQsIHBhZ2VIZWlnaHRDaGFuZ2VkLCBjb2xJbmZvKTsK
ICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICB9CkBAIC0yNjUsNiArMjY5LDcgQEAg
cHJpdmF0ZToKICAgICBPd25QdHI8UmVuZGVyTGF5ZXJDb21wb3NpdG9yPiBtX2NvbXBvc2l0b3I7
CiAjZW5kaWYKICAgICBPd25QdHI8UmVuZGVyRmxvd1RocmVhZExpc3Q+IG1fcmVuZGVyRmxvd1Ro
cmVhZExpc3Q7CisgICAgUmVuZGVyRmxvd1RocmVhZCogbV9jdXJyZW50UmVuZGVyRmxvd1RocmVh
ZDsKIH07CiAKIGlubGluZSBSZW5kZXJWaWV3KiB0b1JlbmRlclZpZXcoUmVuZGVyT2JqZWN0KiBv
YmplY3QpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>104786</attachid>
            <date>2011-08-22 21:03:08 -0700</date>
            <delta_ts>2011-08-23 12:44:56 -0700</delta_ts>
            <desc>Patch V4</desc>
            <filename>bug66143_4.patch</filename>
            <type>text/plain</type>
            <size>39444</size>
            <attacher name="Alexandru Chiculita">achicu</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwMjk3MjIxLi5iZjM4ZDg2IDEwMDc1NQotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDgt
MjIgIEFsZXhhbmRydSBDaGljdWxpdGEgIDxhY2hpY3VAYWRvYmUuY29tPgorCisgICAgICAgIFtD
U1NSZWdpb25zXSBSZW5kZXJGbG93VGhyZWFkIGxheW91dCBzaG91bGQgdXNlIHRoZSBhdHRhY2hl
ZCByZWdpb24gc2l6ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTY2MTQzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBmYXN0L3JlZ2lvbnMvd2Via2l0LWZsb3ctZmxvYXRzLWluc2lkZS1yZWdpb25zLWJv
dW5kcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVnaW9ucy93ZWJraXQt
Zmxvdy1mbG9hdHMtaW5zaWRlLXJlZ2lvbnMtYm91bmRzLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvcmVnaW9ucy93ZWJraXQtZmxvdy1pbmxpbmVzLWluc2lkZS1yZWdpb25zLWJvdW5kcy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVnaW9ucy93ZWJraXQtZmxvdy1p
bmxpbmVzLWluc2lkZS1yZWdpb25zLWJvdW5kcy12ZXJ0aWNhbC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvcmVnaW9ucy93ZWJraXQtZmxvdy1pbmxpbmVzLWluc2lkZS1yZWdp
b25zLWJvdW5kcy12ZXJ0aWNhbC1ybC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvcmVnaW9ucy93ZWJraXQtZmxvdy1pbmxpbmVzLWluc2lkZS1yZWdpb25zLWJvdW5kcy12ZXJ0
aWNhbC1ybC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3JlZ2lvbnMvd2Via2l0LWZsb3ct
aW5saW5lcy1pbnNpZGUtcmVnaW9ucy1ib3VuZHMtdmVydGljYWwuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9yZWdpb25zL3dlYmtpdC1mbG93LWlubGluZXMtaW5zaWRlLXJlZ2lvbnMtYm91
bmRzLmh0bWw6IEFkZGVkLgorCiAyMDExLTA4LTIxICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxl
LmNvbT4KIAogICAgICAgICBVcGRhdGUgcmVzdWx0cyBmb3IgbW9yZSB0ZXN0cyBhZmZlY3RlZCBi
eSB0aGUgYWRkaXRpb24gb2YgdGhlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lv
bnMvd2Via2l0LWZsb3ctZmxvYXRzLWluc2lkZS1yZWdpb25zLWJvdW5kcy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2Via2l0LWZsb3ctZmxvYXRzLWluc2lkZS1yZWdp
b25zLWJvdW5kcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uYjcyNzc4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93
ZWJraXQtZmxvdy1mbG9hdHMtaW5zaWRlLXJlZ2lvbnMtYm91bmRzLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDUyIEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDQyMgorICBSZW5k
ZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NDIyCisgICAgUmVuZGVyQm9keSB7Qk9E
WX0gYXQgKDgsOCkgc2l6ZSA3ODR4NDA2CisgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCww
KSBzaXplIDc4NHg0MDYKKyAgICAgICAgUmVuZGVyUmVnaW9uIHtESVZ9IGF0ICgwLDApIHNpemUg
MjAyeDEwMiBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQorICAgICAgICBSZW5kZXJSZWdp
b24ge0RJVn0gYXQgKDAsMTAyKSBzaXplIDMwMngxODIgW2JvcmRlcjogKDFweCBzb2xpZCAjMDAw
MDAwKV0KKyAgICAgICAgUmVuZGVyUmVnaW9uIHtESVZ9IGF0ICgwLDI4NCkgc2l6ZSAxMjJ4MTIy
IFtib3JkZXI6ICgxcHggc29saWQgIzAwMDAwMCldCitGbG93IFRocmVhZHMKKyAgVGhyZWFkIHdp
dGggZmxvdy1uYW1lICdmbG93MScKKyAgICBsYXllciBhdCAoMCwwKSBzaXplIDMwMHg0MDAKKyAg
ICAgIFJlbmRlckZsb3dUaHJlYWQgYXQgKDAsMCkgc2l6ZSAzMDB4NDAwCisgICAgICAgIFJlbmRl
ckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMzAweDQ3NAorICAgICAgICAgIFJlbmRlckJsb2Nr
IHtESVZ9IGF0ICg1LDUpIHNpemUgMjkweDQ2NCBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwRkYp
XQorICAgICAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDExLDExKSBzaXplIDI2OHg0NDIg
W2JvcmRlcjogKDFweCBzb2xpZCAjMDA4MDAwKV0KKyAgICAgICAgICAgICAgUmVuZGVyQmxvY2sg
e1B9IGF0ICgxLDE3KSBzaXplIDI2NngzNgorICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMCwwKSBzaXplIDE2NngzNgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsMCkgd2lkdGggMTY2OiAiVGhpcyBsaW5lIG9mIHRleHQgc2hvdWxkIgorICAgICAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDAsMTgpIHdpZHRoIDE1NTogIm5vdCBnZXQgb3V0IG9mIHRoZSBy
ZWdpb24uIgorICAgICAgICAgICAgICBSZW5kZXJCbG9jayAoZmxvYXRpbmcpIHtESVZ9IGF0ICg5
NSw2OSkgc2l6ZSA3MngzNyBbYm9yZGVyOiAoMXB4IHNvbGlkICNGRjAwMDApXQorICAgICAgICAg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXplIDQ0eDE4CisgICAgICAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCA0NDogIkZsb2F0IDEiCisgICAgICAgICAg
ICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgxLDY5KSBzaXplIDI2NngxMDgKKyAgICAg
ICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyNjZ4MTA4CisgICAg
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA5NDogIlRoaXMgbGluZSBvZiIK
KyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3aWR0aCA5NDogInRleHQgc2hv
dWxkIG5vdCIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDM2KSB3aWR0aCA5NDog
ImdldCBvdXQgb2YgdGhlIgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsNTQpIHdp
ZHRoIDI2NjogInJlZ2lvbi4gVGhpcyBsaW5lIG9mIHRleHQgc2hvdWxkIG5vdCBnZXQgb3V0Igor
ICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsNzIpIHdpZHRoIDI2NjogIm9mIHRoZSBy
ZWdpb24uIFRoaXMgbGluZSBvZiB0ZXh0IHNob3VsZCBub3QiCisgICAgICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMCw5MCkgd2lkdGggMTMxOiAiZ2V0IG91dCBvZiB0aGUgcmVnaW9uLiIKKyAg
ICAgICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgxLDE5Mykgc2l6ZSAyNjZ4MAorICAgICAg
ICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDEsMTkzKSBzaXplIDI2NngxMjYKKyAgICAgICAg
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyNjZ4MTI2CisgICAgICAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAyNjY6ICJUaGlzIGxpbmUgb2YgdGV4
dCBzaG91bGQgbm90IGdldCBvdXQgb2YgdGhlIgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDAsMTgpIHdpZHRoIDI2NjogInJlZ2lvbi4gVGhpcyBsaW5lIG9mIHRleHQgc2hvdWxkIG5v
dCBnZXQgb3V0IgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMzYpIHdpZHRoIDI2
NjogIm9mIHRoZSByZWdpb24uIFRoaXMgbGluZSBvZiB0ZXh0IHNob3VsZCBub3QiCisgICAgICAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw1NCkgd2lkdGggMjY2OiAiZ2V0IG91dCBvZiB0aGUg
cmVnaW9uLiBUaGlzIGxpbmUgb2YgdGV4dCIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgwLDcyKSB3aWR0aCA4NjogInNob3VsZCBub3QiCisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCw5MCkgd2lkdGggODY6ICJnZXQgb3V0IG9mIHRoZSIKKyAgICAgICAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgwLDEwOCkgd2lkdGggNDQ6ICJyZWdpb24uIgorICAgICAgICAgICAgICBS
ZW5kZXJCbG9jayB7UH0gYXQgKDEsMzM1KSBzaXplIDI2Nng5MAorICAgICAgICAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDg2eDkwCisgICAgICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA4NjogIlRoaXMgbGluZSBvZiIKKyAgICAgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3aWR0aCA4NjogInRleHQgc2hvdWxkIgorICAgICAgICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDAsMzYpIHdpZHRoIDg2OiAibm90IGdldCBvdXQgb2YiCisg
ICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw1NCkgd2lkdGggMTk6ICJ0aGUiCisgICAg
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw3Mikgd2lkdGggNDQ6ICJyZWdpb24uIgorICBS
ZWdpb25zIGZvciBmbG93ICdmbG93MScKKyAgICBSZW5kZXJSZWdpb24ge0RJVn0gI3JlZ2lvbjEg
d2l0aCBpbmRleCAwCisgICAgUmVuZGVyUmVnaW9uIHtESVZ9ICNyZWdpb24yIHdpdGggaW5kZXgg
MAorICAgIFJlbmRlclJlZ2lvbiB7RElWfSAjcmVnaW9uMyB3aXRoIGluZGV4IDAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtZmxvdy1mbG9hdHMtaW5zaWRlLXJl
Z2lvbnMtYm91bmRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2Via2l0LWZsb3ct
ZmxvYXRzLWluc2lkZS1yZWdpb25zLWJvdW5kcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLjJjMWZlMzQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L3JlZ2lvbnMvd2Via2l0LWZsb3ctZmxvYXRzLWluc2lkZS1yZWdpb25zLWJvdW5kcy5odG1sCkBA
IC0wLDAgKzEsNjEgQEAKKzwhZG9jdHlwZSBodG1sPgorCisgPHN0eWxlPgorICAgICNjb250ZW50
IHsKKyAgICAgICAgLXdlYmtpdC1mbG93OiAiZmxvdzEiOworICAgICAgICB0ZXh0LWFsaWduOiBq
dXN0aWZ5OworICAgICAgICBwYWRkaW5nOiA1cHg7CisgICAgfQorICAgIAorICAgICNmaXJzdC1i
b3ggeworICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworICAgIH0KKyAgICAKKyAgICAj
c2Vjb25kLWJveCB7CisgICAgICAgIG1hcmdpbjoxMHB4OworICAgICAgICBib3JkZXI6IDFweCBz
b2xpZCBncmVlbjsKKyAgICB9CisgICAgCisgICAgI2Zsb2F0MSB7CisgICAgICAgIGZsb2F0OiBy
aWdodDsKKyAgICAgICAgd2lkdGg6IDcwcHg7CisgICAgICAgIGhlaWdodDogMzVweDsKKyAgICAg
ICAgYm9yZGVyOiAxcHggc29saWQgcmVkOworICAgIH0KKyAgICAKKyAgICAjcmVnaW9uMSwgI3Jl
Z2lvbjIsICNyZWdpb24zIHsKKyAgICAgICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7CisgICAg
ICAgIGNvbnRlbnQ6IC13ZWJraXQtZnJvbS1mbG93KCJmbG93MSIpOworICAgIH0KKworICAgICNy
ZWdpb24xIHsKKyAgICAgICAgd2lkdGg6IDIwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgIH0KKyAgICAKKyAgICAjcmVnaW9uMiB7CisgICAgICAgIHdpZHRoOiAzMDBweDsKKyAgICAg
ICAgaGVpZ2h0OiAxODBweDsKKyAgICB9CisgICAgCisgICAgI3JlZ2lvbjMgeworICAgICAgICB3
aWR0aDogMTIwcHg7CisgICAgICAgIGhlaWdodDogMTIwcHg7CisgICAgfQorPC9zdHlsZT4KKwor
PGRpdiBpZD0iY29udGVudCI+CisgICAgPGRpdiBpZD0iZmlyc3QtYm94Ij4KKyAgICAgICAgPGRp
diBpZD0ic2Vjb25kLWJveCI+CisgICAgICAgICAgICA8cD5UaGlzIGxpbmUgb2YgdGV4dCBzaG91
bGQgbm90IGdldCBvdXQgb2YgdGhlIHJlZ2lvbi48ZGl2IGlkPSJmbG9hdDEiPkZsb2F0IDE8L2Rp
dj4gVGhpcyBsaW5lIG9mIHRleHQgc2hvdWxkIG5vdCBnZXQgb3V0IG9mIHRoZSByZWdpb24uIFRo
aXMgbGluZSBvZiB0ZXh0IHNob3VsZCBub3QgZ2V0IG91dCBvZiB0aGUgcmVnaW9uLiBUaGlzIGxp
bmUgb2YgdGV4dCBzaG91bGQgbm90IGdldCBvdXQgb2YgdGhlIHJlZ2lvbi48L3A+CisgICAgICAg
ICAgICA8cD5UaGlzIGxpbmUgb2YgdGV4dCBzaG91bGQgbm90IGdldCBvdXQgb2YgdGhlIHJlZ2lv
bi4gVGhpcyBsaW5lIG9mIHRleHQgc2hvdWxkIG5vdCBnZXQgb3V0IG9mIHRoZSByZWdpb24uIFRo
aXMgbGluZSBvZiB0ZXh0IHNob3VsZCBub3QgZ2V0IG91dCBvZiB0aGUgcmVnaW9uLiBUaGlzIGxp
bmUgb2YgdGV4dCBzaG91bGQgbm90IGdldCBvdXQgb2YgdGhlIHJlZ2lvbi48L3A+CisgICAgICAg
ICAgICA8cD5UaGlzIGxpbmUgb2YgdGV4dCBzaG91bGQgbm90IGdldCBvdXQgb2YgdGhlIHJlZ2lv
bi48L3A+CisgICAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorPC9kaXY+CisKKzxkaXYgaWQ9ImNv
bnRhaW5lciI+CisgICAgPGRpdiBpZD0icmVnaW9uMSI+PC9kaXY+CisgICAgPGRpdiBpZD0icmVn
aW9uMiI+PC9kaXY+CisgICAgPGRpdiBpZD0icmVnaW9uMyI+PC9kaXY+Cis8L2Rpdj4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtZmxvdy1pbmxpbmVzLWluc2lk
ZS1yZWdpb25zLWJvdW5kcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMv
d2Via2l0LWZsb3ctaW5saW5lcy1pbnNpZGUtcmVnaW9ucy1ib3VuZHMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc3ODkwMjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2Via2l0LWZsb3ctaW5saW5lcy1pbnNpZGUt
cmVnaW9ucy1ib3VuZHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNDIgQEAKK2xheWVyIGF0ICgw
LDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NDIyCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBz
aXplIDgwMHg0MjIKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg0MDYK
KyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgNzg0eDQwNgorICAgICAgICBS
ZW5kZXJSZWdpb24ge0RJVn0gYXQgKDAsMCkgc2l6ZSAyMDJ4MTAyIFtib3JkZXI6ICgxcHggc29s
aWQgIzAwMDAwMCldCisgICAgICAgIFJlbmRlclJlZ2lvbiB7RElWfSBhdCAoMCwxMDIpIHNpemUg
MzAyeDE4MiBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQorICAgICAgICBSZW5kZXJSZWdp
b24ge0RJVn0gYXQgKDAsMjg0KSBzaXplIDEyMngxMjIgW2JvcmRlcjogKDFweCBzb2xpZCAjMDAw
MDAwKV0KK0Zsb3cgVGhyZWFkcworICBUaHJlYWQgd2l0aCBmbG93LW5hbWUgJ2Zsb3cxJworICAg
IGxheWVyIGF0ICgwLDApIHNpemUgMzAweDQwMAorICAgICAgUmVuZGVyRmxvd1RocmVhZCBhdCAo
MCwwKSBzaXplIDMwMHg0MDAKKyAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6
ZSAzMDB4Mzg2CisgICAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDUsNSkgc2l6ZSAyOTB4
Mzc2IFtib3JkZXI6ICgxcHggc29saWQgIzAwMDBGRildCisgICAgICAgICAgICBSZW5kZXJCbG9j
ayB7RElWfSBhdCAoMTEsMTEpIHNpemUgMjY4eDM1NCBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDgw
MDApXQorICAgICAgICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDEsMTcpIHNpemUgMjY2eDEy
NgorICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDI2Nngx
MjYKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDE2NjogIlRoaXMg
bGluZSBvZiB0ZXh0IHNob3VsZCIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDE4
KSB3aWR0aCAxNjY6ICJub3QgZ2V0IG91dCBvZiB0aGUgcmVnaW9uLiIKKyAgICAgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLDM2KSB3aWR0aCAxNjY6ICJUaGlzIGxpbmUgb2YgdGV4dCBzaG91
bGQiCisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw1NCkgd2lkdGggMTY2OiAibm90
IGdldCBvdXQgb2YgdGhlIHJlZ2lvbi4iCisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MCw3Mikgd2lkdGggMjY2OiAiVGhpcyBsaW5lIG9mIHRleHQgc2hvdWxkIG5vdCBnZXQgb3V0IG9m
IHRoZSIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDkwKSB3aWR0aCAyNjY6ICJy
ZWdpb24uIFRoaXMgbGluZSBvZiB0ZXh0IHNob3VsZCBub3QgZ2V0IG91dCIKKyAgICAgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLDEwOCkgd2lkdGggODQ6ICJvZiB0aGUgcmVnaW9uLiIKKyAg
ICAgICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgxLDE1OSkgc2l6ZSAyNjZ4OTAKKyAgICAg
ICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyNjZ4OTAKKyAgICAg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDI2NjogIlRoaXMgbGluZSBvZiB0
ZXh0IHNob3VsZCBub3QgZ2V0IG91dCBvZiB0aGUiCisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwxOCkgd2lkdGggMjY2OiAicmVnaW9uLiBUaGlzIGxpbmUgb2YgdGV4dCBzaG91bGQg
bm90IGdldCBvdXQiCisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwzNikgd2lkdGgg
MjY2OiAib2YgdGhlIHJlZ2lvbi4gVGhpcyBsaW5lIG9mIHRleHQgc2hvdWxkIG5vdCIKKyAgICAg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDU0KSB3aWR0aCAyNjY6ICJnZXQgb3V0IG9mIHRo
ZSByZWdpb24uIFRoaXMgbGluZSBvZiB0ZXh0IgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDAsNzIpIHdpZHRoIDIwMTogInNob3VsZCBub3QgZ2V0IG91dCBvZiB0aGUgcmVnaW9uLiIK
KyAgICAgICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgxLDI2NSkgc2l6ZSAyNjZ4NzIKKyAg
ICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA4Nng3MgorICAg
ICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggODY6ICJUaGlzIGxpbmUgb2Yi
CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxOCkgd2lkdGggODY6ICJ0ZXh0IHNo
b3VsZCIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDM2KSB3aWR0aCA4NjogIm5v
dCBnZXQgb3V0IG9mIgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsNTQpIHdpZHRo
IDY3OiAidGhlIHJlZ2lvbi4iCisgIFJlZ2lvbnMgZm9yIGZsb3cgJ2Zsb3cxJworICAgIFJlbmRl
clJlZ2lvbiB7RElWfSAjcmVnaW9uMSB3aXRoIGluZGV4IDAKKyAgICBSZW5kZXJSZWdpb24ge0RJ
Vn0gI3JlZ2lvbjIgd2l0aCBpbmRleCAwCisgICAgUmVuZGVyUmVnaW9uIHtESVZ9ICNyZWdpb24z
IHdpdGggaW5kZXggMApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3dlYmtp
dC1mbG93LWlubGluZXMtaW5zaWRlLXJlZ2lvbnMtYm91bmRzLXZlcnRpY2FsLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtZmxvdy1pbmxpbmVzLWluc2lkZS1y
ZWdpb25zLWJvdW5kcy12ZXJ0aWNhbC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uOTk3MDA4MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvcmVnaW9ucy93ZWJraXQtZmxvdy1pbmxpbmVzLWluc2lkZS1yZWdpb25zLWJvdW5kcy12ZXJ0
aWNhbC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1MyBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCww
KSBzaXplIDY0Mng2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgNjQyeDYw
MAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNjI2eDU4NAorICAgICAgUmVu
ZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSA2MjZ4NTg0CisgICAgICAgIFJlbmRlclJlZ2lv
biB7RElWfSBhdCAoMCwwKSBzaXplIDIwMngxMDIgW2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMDAw
KV0KKyAgICAgICAgUmVuZGVyUmVnaW9uIHtESVZ9IGF0ICgyMDIsMCkgc2l6ZSAzMDJ4MTgyIFti
b3JkZXI6ICgxcHggc29saWQgIzAwMDAwMCldCisgICAgICAgIFJlbmRlclJlZ2lvbiB7RElWfSBh
dCAoNTA0LDApIHNpemUgMTIyeDEyMiBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQorRmxv
dyBUaHJlYWRzCisgIFRocmVhZCB3aXRoIGZsb3ctbmFtZSAnZmxvdzEnCisgICAgbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA2MjB4MTgwCisgICAgICBSZW5kZXJGbG93VGhyZWFkIGF0ICgwLDApIHNpemUg
NjIweDE4MAorICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDU4NHgxODAK
KyAgICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoNSw1KSBzaXplIDU3NHgxNzAgW2JvcmRl
cjogKDFweCBzb2xpZCAjMDAwMEZGKV0KKyAgICAgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0
ICgxMSwxMSkgc2l6ZSA1NTJ4MTQ4IFtib3JkZXI6ICgxcHggc29saWQgIzAwODAwMCldCisgICAg
ICAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMTcsMSkgc2l6ZSAyNzB4MTQ2CisgICAgICAg
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMjcweDE0NgorICAgICAg
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNjY6ICJUaGlzIGxpbmUiCisgICAg
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTgsMCkgd2lkdGggNjY6ICJvZiB0ZXh0IgorICAg
ICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDM2LDApIHdpZHRoIDY2OiAic2hvdWxkIG5vdCIK
KyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg1NCwwKSB3aWR0aCA2NjogImdldCBvdXQg
b2YiCisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNzIsMCkgd2lkdGggMTk6ICJ0aGUi
CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoOTAsMCkgd2lkdGggNDQ6ICJyZWdpb24u
IgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEwOCwwKSB3aWR0aCA2NjogIlRoaXMg
bGluZSIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMjYsMCkgd2lkdGggNjY6ICJv
ZiB0ZXh0IgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE0NCwwKSB3aWR0aCA2Njog
InNob3VsZCBub3QiCisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTYyLDApIHdpZHRo
IDY2OiAiZ2V0IG91dCBvZiIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxODAsMCkg
d2lkdGggMTQ2OiAidGhlIHJlZ2lvbi4gVGhpcyBsaW5lIG9mIgorICAgICAgICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDE5OCwwKSB3aWR0aCAxNDY6ICJ0ZXh0IHNob3VsZCBub3QgZ2V0IG91dCIK
KyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyMTYsMCkgd2lkdGggMTQ2OiAib2YgdGhl
IHJlZ2lvbi4gVGhpcyBsaW5lIgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDIzNCww
KSB3aWR0aCAxNDY6ICJvZiB0ZXh0IHNob3VsZCBub3QgZ2V0IgorICAgICAgICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDI1MiwwKSB3aWR0aCAxMDg6ICJvdXQgb2YgdGhlIHJlZ2lvbi4iCisgICAg
ICAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMzAzLDEpIHNpemUgMTYyeDE0NgorICAgICAg
ICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDE2MngxNDYKKyAgICAg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDE0NjogIlRoaXMgbGluZSBvZiB0
ZXh0IHNob3VsZCIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxOCwwKSB3aWR0aCAx
NDY6ICJub3QgZ2V0IG91dCBvZiB0aGUiCisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MzYsMCkgd2lkdGggMTQ2OiAicmVnaW9uLiBUaGlzIGxpbmUgb2YiCisgICAgICAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoNTQsMCkgd2lkdGggMTQ2OiAidGV4dCBzaG91bGQgbm90IGdldCBvdXQi
CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNzIsMCkgd2lkdGggMTQ2OiAib2YgdGhl
IHJlZ2lvbi4gVGhpcyBsaW5lIgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDkwLDAp
IHdpZHRoIDE0NjogIm9mIHRleHQgc2hvdWxkIG5vdCBnZXQiCisgICAgICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMTA4LDApIHdpZHRoIDE0NjogIm91dCBvZiB0aGUgcmVnaW9uLiBUaGlzIgor
ICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEyNiwwKSB3aWR0aCAxNDY6ICJsaW5lIG9m
IHRleHQgc2hvdWxkIG5vdCIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxNDQsMCkg
d2lkdGggMTMxOiAiZ2V0IG91dCBvZiB0aGUgcmVnaW9uLiIKKyAgICAgICAgICAgICAgUmVuZGVy
QmxvY2sge1B9IGF0ICg0ODEsMSkgc2l6ZSA1NHgxNDYKKyAgICAgICAgICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA1NHgxNDYKKyAgICAgICAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgwLDApIHdpZHRoIDE0NjogIlRoaXMgbGluZSBvZiB0ZXh0IHNob3VsZCIKKyAgICAg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxOCwwKSB3aWR0aCA4NjogIm5vdCBnZXQgb3V0IG9m
IgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDM2LDApIHdpZHRoIDY3OiAidGhlIHJl
Z2lvbi4iCisgIFJlZ2lvbnMgZm9yIGZsb3cgJ2Zsb3cxJworICAgIFJlbmRlclJlZ2lvbiB7RElW
fSAjcmVnaW9uMSB3aXRoIGluZGV4IDAKKyAgICBSZW5kZXJSZWdpb24ge0RJVn0gI3JlZ2lvbjIg
d2l0aCBpbmRleCAwCisgICAgUmVuZGVyUmVnaW9uIHtESVZ9ICNyZWdpb24zIHdpdGggaW5kZXgg
MApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3dlYmtpdC1mbG93LWlubGlu
ZXMtaW5zaWRlLXJlZ2lvbnMtYm91bmRzLXZlcnRpY2FsLXJsLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtZmxvdy1pbmxpbmVzLWluc2lkZS1yZWdpb25zLWJv
dW5kcy12ZXJ0aWNhbC1ybC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uNmFiYjc4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVn
aW9ucy93ZWJraXQtZmxvdy1pbmxpbmVzLWluc2lkZS1yZWdpb25zLWJvdW5kcy12ZXJ0aWNhbC1y
bC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1MyBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMTU4LDAp
IHNpemUgNjQyeDYwMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA2NDJ4NjAw
CisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA2MjZ4NTg0CisgICAgICBSZW5k
ZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDYyNng1ODQKKyAgICAgICAgUmVuZGVyUmVnaW9u
IHtESVZ9IGF0ICgwLDApIHNpemUgMjAyeDEwMiBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDAp
XQorICAgICAgICBSZW5kZXJSZWdpb24ge0RJVn0gYXQgKDIwMiwwKSBzaXplIDMwMngxODIgW2Jv
cmRlcjogKDFweCBzb2xpZCAjMDAwMDAwKV0KKyAgICAgICAgUmVuZGVyUmVnaW9uIHtESVZ9IGF0
ICg1MDQsMCkgc2l6ZSAxMjJ4MTIyIFtib3JkZXI6ICgxcHggc29saWQgIzAwMDAwMCldCitGbG93
IFRocmVhZHMKKyAgVGhyZWFkIHdpdGggZmxvdy1uYW1lICdmbG93MScKKyAgICBsYXllciBhdCAo
MTgwLDApIHNpemUgNjIweDE4MAorICAgICAgUmVuZGVyRmxvd1RocmVhZCBhdCAoMCwwKSBzaXpl
IDYyMHgxODAKKyAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSA1ODR4MTgw
CisgICAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDUsNSkgc2l6ZSA1NzR4MTcwIFtib3Jk
ZXI6ICgxcHggc29saWQgIzAwMDBGRildCisgICAgICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBh
dCAoMTEsMTEpIHNpemUgNTUyeDE0OCBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDgwMDApXQorICAg
ICAgICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDE3LDEpIHNpemUgMjcweDE0NgorICAgICAg
ICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDI3MHgxNDYKKyAgICAg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDY2OiAiVGhpcyBsaW5lIgorICAg
ICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE4LDApIHdpZHRoIDY2OiAib2YgdGV4dCIKKyAg
ICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzNiwwKSB3aWR0aCA2NjogInNob3VsZCBub3Qi
CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTQsMCkgd2lkdGggNjY6ICJnZXQgb3V0
IG9mIgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDcyLDApIHdpZHRoIDE5OiAidGhl
IgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDkwLDApIHdpZHRoIDQ0OiAicmVnaW9u
LiIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMDgsMCkgd2lkdGggNjY6ICJUaGlz
IGxpbmUiCisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTI2LDApIHdpZHRoIDY2OiAi
b2YgdGV4dCIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxNDQsMCkgd2lkdGggNjY6
ICJzaG91bGQgbm90IgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE2MiwwKSB3aWR0
aCA2NjogImdldCBvdXQgb2YiCisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTgwLDAp
IHdpZHRoIDE0NjogInRoZSByZWdpb24uIFRoaXMgbGluZSBvZiIKKyAgICAgICAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgxOTgsMCkgd2lkdGggMTQ2OiAidGV4dCBzaG91bGQgbm90IGdldCBvdXQi
CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjE2LDApIHdpZHRoIDE0NjogIm9mIHRo
ZSByZWdpb24uIFRoaXMgbGluZSIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyMzQs
MCkgd2lkdGggMTQ2OiAib2YgdGV4dCBzaG91bGQgbm90IGdldCIKKyAgICAgICAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgyNTIsMCkgd2lkdGggMTA4OiAib3V0IG9mIHRoZSByZWdpb24uIgorICAg
ICAgICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDMwMywxKSBzaXplIDE2MngxNDYKKyAgICAg
ICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxNjJ4MTQ2CisgICAg
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxNDY6ICJUaGlzIGxpbmUgb2Yg
dGV4dCBzaG91bGQiCisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTgsMCkgd2lkdGgg
MTQ2OiAibm90IGdldCBvdXQgb2YgdGhlIgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDM2LDApIHdpZHRoIDE0NjogInJlZ2lvbi4gVGhpcyBsaW5lIG9mIgorICAgICAgICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDU0LDApIHdpZHRoIDE0NjogInRleHQgc2hvdWxkIG5vdCBnZXQgb3V0
IgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDcyLDApIHdpZHRoIDE0NjogIm9mIHRo
ZSByZWdpb24uIFRoaXMgbGluZSIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg5MCww
KSB3aWR0aCAxNDY6ICJvZiB0ZXh0IHNob3VsZCBub3QgZ2V0IgorICAgICAgICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDEwOCwwKSB3aWR0aCAxNDY6ICJvdXQgb2YgdGhlIHJlZ2lvbi4gVGhpcyIK
KyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMjYsMCkgd2lkdGggMTQ2OiAibGluZSBv
ZiB0ZXh0IHNob3VsZCBub3QiCisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTQ0LDAp
IHdpZHRoIDEzMTogImdldCBvdXQgb2YgdGhlIHJlZ2lvbi4iCisgICAgICAgICAgICAgIFJlbmRl
ckJsb2NrIHtQfSBhdCAoNDgxLDEpIHNpemUgNTR4MTQ2CisgICAgICAgICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNTR4MTQ2CisgICAgICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMCwwKSB3aWR0aCAxNDY6ICJUaGlzIGxpbmUgb2YgdGV4dCBzaG91bGQiCisgICAg
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTgsMCkgd2lkdGggODY6ICJub3QgZ2V0IG91dCBv
ZiIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzNiwwKSB3aWR0aCA2NzogInRoZSBy
ZWdpb24uIgorICBSZWdpb25zIGZvciBmbG93ICdmbG93MScKKyAgICBSZW5kZXJSZWdpb24ge0RJ
Vn0gI3JlZ2lvbjEgd2l0aCBpbmRleCAwCisgICAgUmVuZGVyUmVnaW9uIHtESVZ9ICNyZWdpb24y
IHdpdGggaW5kZXggMAorICAgIFJlbmRlclJlZ2lvbiB7RElWfSAjcmVnaW9uMyB3aXRoIGluZGV4
IDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtZmxvdy1pbmxp
bmVzLWluc2lkZS1yZWdpb25zLWJvdW5kcy12ZXJ0aWNhbC1ybC5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9yZWdpb25zL3dlYmtpdC1mbG93LWlubGluZXMtaW5zaWRlLXJlZ2lvbnMtYm91bmRzLXZl
cnRpY2FsLXJsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmZhZDMx
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtZmxv
dy1pbmxpbmVzLWluc2lkZS1yZWdpb25zLWJvdW5kcy12ZXJ0aWNhbC1ybC5odG1sCkBAIC0wLDAg
KzEsNTYgQEAKKzwhZG9jdHlwZSBodG1sPgorCisgPHN0eWxlPgorICAgIGh0bWwgeyAtd2Via2l0
LXdyaXRpbmctbW9kZTogdmVydGljYWwtcmwgfQorIAorICAgICNjb250ZW50IHsKKyAgICAgICAg
LXdlYmtpdC1mbG93OiAiZmxvdzEiOworICAgICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OworICAg
ICAgICBwYWRkaW5nOiA1cHg7CisgICAgfQorICAgIAorICAgICNmaXJzdC1ib3ggeworICAgICAg
ICBib3JkZXI6IDFweCBzb2xpZCBibHVlOworICAgIH0KKyAgICAKKyAgICAjc2Vjb25kLWJveCB7
CisgICAgICAgIG1hcmdpbjoxMHB4OworICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBncmVlbjsK
KyAgICB9CisgICAgCisgICAgI3JlZ2lvbjEsICNyZWdpb24yLCAjcmVnaW9uMyB7CisgICAgICAg
IGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOworICAgICAgICBjb250ZW50OiAtd2Via2l0LWZyb20t
ZmxvdygiZmxvdzEiKTsKKyAgICB9CisKKyAgICAjcmVnaW9uMSB7CisgICAgICAgIHdpZHRoOiAy
MDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB9CisgICAgCisgICAgI3JlZ2lvbjIg
eworICAgICAgICB3aWR0aDogMzAwcHg7CisgICAgICAgIGhlaWdodDogMTgwcHg7CisgICAgfQor
ICAgIAorICAgICNyZWdpb24zIHsKKyAgICAgICAgd2lkdGg6IDEyMHB4OworICAgICAgICBoZWln
aHQ6IDEyMHB4OworICAgIH0KKzwvc3R5bGU+CisKKzxkaXYgaWQ9ImNvbnRlbnQiPgorICAgIDxk
aXYgaWQ9ImZpcnN0LWJveCI+CisgICAgICAgIDxkaXYgaWQ9InNlY29uZC1ib3giPgorICAgICAg
ICAgICAgPHA+VGhpcyBsaW5lIG9mIHRleHQgc2hvdWxkIG5vdCBnZXQgb3V0IG9mIHRoZSByZWdp
b24uIFRoaXMgbGluZSBvZiB0ZXh0IHNob3VsZCBub3QgZ2V0IG91dCBvZiB0aGUgcmVnaW9uLiBU
aGlzIGxpbmUgb2YgdGV4dCBzaG91bGQgbm90IGdldCBvdXQgb2YgdGhlIHJlZ2lvbi4gVGhpcyBs
aW5lIG9mIHRleHQgc2hvdWxkIG5vdCBnZXQgb3V0IG9mIHRoZSByZWdpb24uPC9wPgorICAgICAg
ICAgICAgPHA+VGhpcyBsaW5lIG9mIHRleHQgc2hvdWxkIG5vdCBnZXQgb3V0IG9mIHRoZSByZWdp
b24uIFRoaXMgbGluZSBvZiB0ZXh0IHNob3VsZCBub3QgZ2V0IG91dCBvZiB0aGUgcmVnaW9uLiBU
aGlzIGxpbmUgb2YgdGV4dCBzaG91bGQgbm90IGdldCBvdXQgb2YgdGhlIHJlZ2lvbi4gVGhpcyBs
aW5lIG9mIHRleHQgc2hvdWxkIG5vdCBnZXQgb3V0IG9mIHRoZSByZWdpb24uPC9wPgorICAgICAg
ICAgICAgPHA+VGhpcyBsaW5lIG9mIHRleHQgc2hvdWxkIG5vdCBnZXQgb3V0IG9mIHRoZSByZWdp
b24uPC9wPgorICAgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKzwvZGl2PgorCis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxkaXYgaWQ9InJlZ2lvbjEiPjwvZGl2PgorICAgIDxkaXYgaWQ9InJl
Z2lvbjIiPjwvZGl2PgorICAgIDxkaXYgaWQ9InJlZ2lvbjMiPjwvZGl2PgorPC9kaXY+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2Via2l0LWZsb3ctaW5saW5lcy1pbnNp
ZGUtcmVnaW9ucy1ib3VuZHMtdmVydGljYWwuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9u
cy93ZWJraXQtZmxvdy1pbmxpbmVzLWluc2lkZS1yZWdpb25zLWJvdW5kcy12ZXJ0aWNhbC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc3NmQ5MzAKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2Via2l0LWZsb3ctaW5saW5lcy1pbnNp
ZGUtcmVnaW9ucy1ib3VuZHMtdmVydGljYWwuaHRtbApAQCAtMCwwICsxLDU2IEBACis8IWRvY3R5
cGUgaHRtbD4KKworIDxzdHlsZT4KKyAgICBodG1sIHsgLXdlYmtpdC13cml0aW5nLW1vZGU6IHZl
cnRpY2FsLWxyIH0KKyAKKyAgICAjY29udGVudCB7CisgICAgICAgIC13ZWJraXQtZmxvdzogImZs
b3cxIjsKKyAgICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTsKKyAgICAgICAgcGFkZGluZzogNXB4
OworICAgIH0KKyAgICAKKyAgICAjZmlyc3QtYm94IHsKKyAgICAgICAgYm9yZGVyOiAxcHggc29s
aWQgYmx1ZTsKKyAgICB9CisgICAgCisgICAgI3NlY29uZC1ib3ggeworICAgICAgICBtYXJnaW46
MTBweDsKKyAgICAgICAgYm9yZGVyOiAxcHggc29saWQgZ3JlZW47CisgICAgfQorICAgIAorICAg
ICNyZWdpb24xLCAjcmVnaW9uMiwgI3JlZ2lvbjMgeworICAgICAgICBib3JkZXI6IDFweCBzb2xp
ZCBibGFjazsKKyAgICAgICAgY29udGVudDogLXdlYmtpdC1mcm9tLWZsb3coImZsb3cxIik7Cisg
ICAgfQorCisgICAgI3JlZ2lvbjEgeworICAgICAgICB3aWR0aDogMjAwcHg7CisgICAgICAgIGhl
aWdodDogMTAwcHg7CisgICAgfQorICAgIAorICAgICNyZWdpb24yIHsKKyAgICAgICAgd2lkdGg6
IDMwMHB4OworICAgICAgICBoZWlnaHQ6IDE4MHB4OworICAgIH0KKyAgICAKKyAgICAjcmVnaW9u
MyB7CisgICAgICAgIHdpZHRoOiAxMjBweDsKKyAgICAgICAgaGVpZ2h0OiAxMjBweDsKKyAgICB9
Cis8L3N0eWxlPgorCis8ZGl2IGlkPSJjb250ZW50Ij4KKyAgICA8ZGl2IGlkPSJmaXJzdC1ib3gi
PgorICAgICAgICA8ZGl2IGlkPSJzZWNvbmQtYm94Ij4KKyAgICAgICAgICAgIDxwPlRoaXMgbGlu
ZSBvZiB0ZXh0IHNob3VsZCBub3QgZ2V0IG91dCBvZiB0aGUgcmVnaW9uLiBUaGlzIGxpbmUgb2Yg
dGV4dCBzaG91bGQgbm90IGdldCBvdXQgb2YgdGhlIHJlZ2lvbi4gVGhpcyBsaW5lIG9mIHRleHQg
c2hvdWxkIG5vdCBnZXQgb3V0IG9mIHRoZSByZWdpb24uIFRoaXMgbGluZSBvZiB0ZXh0IHNob3Vs
ZCBub3QgZ2V0IG91dCBvZiB0aGUgcmVnaW9uLjwvcD4KKyAgICAgICAgICAgIDxwPlRoaXMgbGlu
ZSBvZiB0ZXh0IHNob3VsZCBub3QgZ2V0IG91dCBvZiB0aGUgcmVnaW9uLiBUaGlzIGxpbmUgb2Yg
dGV4dCBzaG91bGQgbm90IGdldCBvdXQgb2YgdGhlIHJlZ2lvbi4gVGhpcyBsaW5lIG9mIHRleHQg
c2hvdWxkIG5vdCBnZXQgb3V0IG9mIHRoZSByZWdpb24uIFRoaXMgbGluZSBvZiB0ZXh0IHNob3Vs
ZCBub3QgZ2V0IG91dCBvZiB0aGUgcmVnaW9uLjwvcD4KKyAgICAgICAgICAgIDxwPlRoaXMgbGlu
ZSBvZiB0ZXh0IHNob3VsZCBub3QgZ2V0IG91dCBvZiB0aGUgcmVnaW9uLjwvcD4KKyAgICAgICAg
PC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKworPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8
ZGl2IGlkPSJyZWdpb24xIj48L2Rpdj4KKyAgICA8ZGl2IGlkPSJyZWdpb24yIj48L2Rpdj4KKyAg
ICA8ZGl2IGlkPSJyZWdpb24zIj48L2Rpdj4KKzwvZGl2PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9yZWdpb25zL3dlYmtpdC1mbG93LWlubGluZXMtaW5zaWRlLXJlZ2lvbnMtYm91bmRz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2Via2l0LWZsb3ctaW5saW5lcy1pbnNp
ZGUtcmVnaW9ucy1ib3VuZHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li5iMzk4ZDBjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3dl
YmtpdC1mbG93LWlubGluZXMtaW5zaWRlLXJlZ2lvbnMtYm91bmRzLmh0bWwKQEAgLTAsMCArMSw1
NCBAQAorPCFkb2N0eXBlIGh0bWw+CisKKyA8c3R5bGU+CisgICAgI2NvbnRlbnQgeworICAgICAg
ICAtd2Via2l0LWZsb3c6ICJmbG93MSI7CisgICAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7Cisg
ICAgICAgIHBhZGRpbmc6IDVweDsKKyAgICB9CisgICAgCisgICAgI2ZpcnN0LWJveCB7CisgICAg
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsdWU7CisgICAgfQorICAgIAorICAgICNzZWNvbmQtYm94
IHsKKyAgICAgICAgbWFyZ2luOjEwcHg7CisgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGdyZWVu
OworICAgIH0KKyAgICAKKyAgICAjcmVnaW9uMSwgI3JlZ2lvbjIsICNyZWdpb24zIHsKKyAgICAg
ICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7CisgICAgICAgIGNvbnRlbnQ6IC13ZWJraXQtZnJv
bS1mbG93KCJmbG93MSIpOworICAgIH0KKworICAgICNyZWdpb24xIHsKKyAgICAgICAgd2lkdGg6
IDIwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgIH0KKyAgICAKKyAgICAjcmVnaW9u
MiB7CisgICAgICAgIHdpZHRoOiAzMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxODBweDsKKyAgICB9
CisgICAgCisgICAgI3JlZ2lvbjMgeworICAgICAgICB3aWR0aDogMTIwcHg7CisgICAgICAgIGhl
aWdodDogMTIwcHg7CisgICAgfQorPC9zdHlsZT4KKworPGRpdiBpZD0iY29udGVudCI+CisgICAg
PGRpdiBpZD0iZmlyc3QtYm94Ij4KKyAgICAgICAgPGRpdiBpZD0ic2Vjb25kLWJveCI+CisgICAg
ICAgICAgICA8cD5UaGlzIGxpbmUgb2YgdGV4dCBzaG91bGQgbm90IGdldCBvdXQgb2YgdGhlIHJl
Z2lvbi4gVGhpcyBsaW5lIG9mIHRleHQgc2hvdWxkIG5vdCBnZXQgb3V0IG9mIHRoZSByZWdpb24u
IFRoaXMgbGluZSBvZiB0ZXh0IHNob3VsZCBub3QgZ2V0IG91dCBvZiB0aGUgcmVnaW9uLiBUaGlz
IGxpbmUgb2YgdGV4dCBzaG91bGQgbm90IGdldCBvdXQgb2YgdGhlIHJlZ2lvbi48L3A+CisgICAg
ICAgICAgICA8cD5UaGlzIGxpbmUgb2YgdGV4dCBzaG91bGQgbm90IGdldCBvdXQgb2YgdGhlIHJl
Z2lvbi4gVGhpcyBsaW5lIG9mIHRleHQgc2hvdWxkIG5vdCBnZXQgb3V0IG9mIHRoZSByZWdpb24u
IFRoaXMgbGluZSBvZiB0ZXh0IHNob3VsZCBub3QgZ2V0IG91dCBvZiB0aGUgcmVnaW9uLiBUaGlz
IGxpbmUgb2YgdGV4dCBzaG91bGQgbm90IGdldCBvdXQgb2YgdGhlIHJlZ2lvbi48L3A+CisgICAg
ICAgICAgICA8cD5UaGlzIGxpbmUgb2YgdGV4dCBzaG91bGQgbm90IGdldCBvdXQgb2YgdGhlIHJl
Z2lvbi48L3A+CisgICAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorPC9kaXY+CisKKzxkaXYgaWQ9
ImNvbnRhaW5lciI+CisgICAgPGRpdiBpZD0icmVnaW9uMSI+PC9kaXY+CisgICAgPGRpdiBpZD0i
cmVnaW9uMiI+PC9kaXY+CisgICAgPGRpdiBpZD0icmVnaW9uMyI+PC9kaXY+Cis8L2Rpdj4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwppbmRleCA4MDUyNDQ3Li5kYjViMTg4IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTAgQEAK
KzIwMTEtMDgtMjIgIEFsZXhhbmRydSBDaGljdWxpdGEgIDxhY2hpY3VAYWRvYmUuY29tPgorCisg
ICAgICAgIFtDU1NSZWdpb25zXSBSZW5kZXJGbG93VGhyZWFkIGxheW91dCBzaG91bGQgdXNlIHRo
ZSBhdHRhY2hlZCByZWdpb24gc2l6ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTY2MTQzCisKKyAgICAgICAgV2hlbiBSZW5kZXJGbG93VGhyZWFkIGlz
IGRvaW5nIHRoZSBsYXlvdXQgaXQgYWxzbyBzZXRzIHRoZSBjdXJyZW50IFJlbmRlckZsb3dUaHJl
YWQgb24KKyAgICAgICAgdGhlIFJlbmRlclZpZXcuIFJlbmRlckZsb3dUaHJlYWQgY2Fubm90IGJl
IG5lc3RlZCBpbnNpZGUgYSBzaW5nbGUgUmVuZGVyVmlldywgc28gdGhlcmUncyBubyAKKyAgICAg
ICAgbmVlZCB0byBwdXQgdGhhdCBvbiB0aGUgTGF5b3V0U3RhdGUuCisKKyAgICAgICAgVGhlIHJp
Z2h0IG9mZnNldCB1c2VkIHRvIGxheW91dCB0aGUgaW5saW5lcyBpbnNpZGUgYSBSZW5kZXJGbG93
VGhyZWFkCisgICAgICAgIGlzIG5vdyBhZGp1c3RlZCB0byBmaXQgaW5zaWRlIHRoZSBjdXJyZW50
IHJlZ2lvbi4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBUZXN0czogZmFzdC9yZWdpb25zL3dlYmtpdC1mbG93LWZsb2F0cy1pbnNpZGUtcmVnaW9ucy1i
b3VuZHMuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9yZWdpb25zL3dlYmtpdC1mbG93LWlubGlu
ZXMtaW5zaWRlLXJlZ2lvbnMtYm91bmRzLXZlcnRpY2FsLXJsLmh0bWwKKyAgICAgICAgICAgICAg
IGZhc3QvcmVnaW9ucy93ZWJraXQtZmxvdy1pbmxpbmVzLWluc2lkZS1yZWdpb25zLWJvdW5kcy12
ZXJ0aWNhbC5odG1sCisgICAgICAgICAgICAgICBmYXN0L3JlZ2lvbnMvd2Via2l0LWZsb3ctaW5s
aW5lcy1pbnNpZGUtcmVnaW9ucy1ib3VuZHMuaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL0xh
eW91dFN0YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dFN0YXRlOjpMYXlvdXRTdGF0
ZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckJsb2NrOjpsYXlvdXRCbG9jayk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJC
bG9jazo6YWRqdXN0Rm9yUmVnaW9uRml0dGluZ0lmTmVlZGVkKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckJsb2NrOjpsb2dpY2FsUmlnaHRPZmZzZXRGb3JMaW5lKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyQmxvY2suaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVh
ZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbG93VGhyZWFkOjpSZW5kZXJGbG93VGhy
ZWFkKToKKyAgICAgICAgKFdlYkNvcmU6OkN1cnJlbnRSZW5kZXJGbG93VGhyZWFkTWFpbnRhaW5l
cjo6Q3VycmVudFJlbmRlckZsb3dUaHJlYWRNYWludGFpbmVyKToKKyAgICAgICAgKFdlYkNvcmU6
OkN1cnJlbnRSZW5kZXJGbG93VGhyZWFkTWFpbnRhaW5lcjo6fkN1cnJlbnRSZW5kZXJGbG93VGhy
ZWFkTWFpbnRhaW5lcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbG93VGhyZWFkOjpsYXlv
dXQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxvd1RocmVhZDo6cmVuZGVyUmVnaW9uRm9y
TGluZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbG93VGhyZWFkOjpyZWdpb25Mb2dpY2Fs
V2lkdGhGb3JMaW5lKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oOgor
ICAgICAgICAoV2ViQ29yZTo6UmVnaW9uRml0dGluZ0Rpc2FibGVyOjpSZWdpb25GaXR0aW5nRGlz
YWJsZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVnaW9uRml0dGluZ0Rpc2FibGVyOjp+UmVnaW9u
Rml0dGluZ0Rpc2FibGVyKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyUmVnaW9uLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclJlZ2lvbjo6bGF5b3V0KToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyUmVnaW9uLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclZpZXcuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlldzo6UmVuZGVyVmlldyk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlclZpZXcuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6Omhh
c1JlbmRlckZsb3dUaHJlYWQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlldzo6Y3VycmVu
dFJlbmRlckZsb3dUaHJlYWQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlldzo6c2V0Q3Vy
cmVudFJlbmRlckZsb3dUaHJlYWQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlldzo6cHVz
aExheW91dFN0YXRlKToKKwogMjAxMS0wOC0yMSAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29u
QGlnYWxpYS5jb20+CiAKICAgICAgICAgRml4ICdtYWtlIGRpc3QnIGZvciBXZWJLaXRHVEsrLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRTdGF0ZS5jcHAKaW5kZXggNWMyYjU3ZC4uZWUz
NGMwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuY3BwCkBAIC04Miw3
ICs4Miw3IEBAIExheW91dFN0YXRlOjpMYXlvdXRTdGF0ZShMYXlvdXRTdGF0ZSogcHJldiwgUmVu
ZGVyQm94KiByZW5kZXJlciwgY29uc3QgTGF5b3V0U2l6CiAKICAgICAvLyBJZiB3ZSBlc3RhYmxp
c2ggYSBuZXcgcGFnZSBoZWlnaHQsIHRoZW4gY2FjaGUgdGhlIG9mZnNldCB0byB0aGUgdG9wIG9m
IHRoZSBmaXJzdCBwYWdlLgogICAgIC8vIFdlIGNhbiBjb21wYXJlIHRoaXMgbGF0ZXIgb24gdG8g
ZmlndXJlIG91dCB3aGF0IHBhcnQgb2YgdGhlIHBhZ2Ugd2UncmUgYWN0dWFsbHkgb24sCi0gICAg
aWYgKHBhZ2VMb2dpY2FsSGVpZ2h0IHx8IG1fY29sdW1uSW5mbykgeworICAgIGlmIChwYWdlTG9n
aWNhbEhlaWdodCB8fCBtX2NvbHVtbkluZm8gfHwgcmVuZGVyZXItPmlzUmVuZGVyRmxvd1RocmVh
ZCgpKSB7CiAgICAgICAgIG1fcGFnZUxvZ2ljYWxIZWlnaHQgPSBwYWdlTG9naWNhbEhlaWdodDsK
ICAgICAgICAgbV9wYWdlT2Zmc2V0ID0gTGF5b3V0U2l6ZShtX2xheW91dE9mZnNldC53aWR0aCgp
ICsgcmVuZGVyZXItPmJvcmRlckxlZnQoKSArIHJlbmRlcmVyLT5wYWRkaW5nTGVmdCgpLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fbGF5b3V0T2Zmc2V0LmhlaWdodCgpICsgcmVu
ZGVyZXItPmJvcmRlclRvcCgpICsgcmVuZGVyZXItPnBhZGRpbmdUb3AoKSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAppbmRleCBmY2VkMDQwLi5mNjM0NmQ4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKQEAgLTQxLDYgKzQxLDcgQEAK
ICNpbmNsdWRlICJQYWludEluZm8uaCIKICNpbmNsdWRlICJSZW5kZXJDb21iaW5lVGV4dC5oIgog
I2luY2x1ZGUgIlJlbmRlckRlcHJlY2F0ZWRGbGV4aWJsZUJveC5oIgorI2luY2x1ZGUgIlJlbmRl
ckZsb3dUaHJlYWQuaCIKICNpbmNsdWRlICJSZW5kZXJJbWFnZS5oIgogI2luY2x1ZGUgIlJlbmRl
cklubGluZS5oIgogI2luY2x1ZGUgIlJlbmRlckxheWVyLmgiCkBAIC0xMjIyLDcgKzEyMjMsMTEg
QEAgdm9pZCBSZW5kZXJCbG9jazo6bGF5b3V0QmxvY2soYm9vbCByZWxheW91dENoaWxkcmVuLCBM
YXlvdXRVbml0IHBhZ2VMb2dpY2FsSGVpZ2gKICAgICAgICAgICAgIGNvbEluZm8tPmNsZWFyRm9y
Y2VkQnJlYWtzKCk7CiAgICAgfQogCi0gICAgTGF5b3V0U3RhdGVNYWludGFpbmVyIHN0YXRlUHVz
aGVyKHZpZXcoKSwgdGhpcywgbG9jYXRpb25PZmZzZXQoKSwgaGFzQ29sdW1ucygpIHx8IGhhc1Ry
YW5zZm9ybSgpIHx8IGhhc1JlZmxlY3Rpb24oKSB8fCBzdHlsZSgpLT5pc0ZsaXBwZWRCbG9ja3NX
cml0aW5nTW9kZSgpLCBwYWdlTG9naWNhbEhlaWdodCwgcGFnZUxvZ2ljYWxIZWlnaHRDaGFuZ2Vk
LCBjb2xJbmZvKTsKKyAgICBSZW5kZXJWaWV3KiByZW5kZXJWaWV3ID0gdmlldygpOworICAgIExh
eW91dFN0YXRlTWFpbnRhaW5lciBzdGF0ZVB1c2hlcihyZW5kZXJWaWV3LCB0aGlzLCBsb2NhdGlv
bk9mZnNldCgpLCBoYXNDb2x1bW5zKCkgfHwgaGFzVHJhbnNmb3JtKCkgfHwgaGFzUmVmbGVjdGlv
bigpIHx8IHN0eWxlKCktPmlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2RlKCksIHBhZ2VMb2dpY2Fs
SGVpZ2h0LCBwYWdlTG9naWNhbEhlaWdodENoYW5nZWQsIGNvbEluZm8pOworCisgICAgYm9vbCBk
aXNhYmxlUmVnaW9uRml0dGluZyA9IHJlbmRlclZpZXctPmhhc1JlbmRlckZsb3dUaHJlYWQoKSAm
JiAoaGFzQ29sdW1ucygpIHx8IChpc1Bvc2l0aW9uZWQoKSAmJiAhaXNSZW5kZXJGbG93VGhyZWFk
KCkpIHx8IGlzRmxvYXRpbmcoKSk7CisgICAgUmVnaW9uRml0dGluZ0Rpc2FibGVyIHJlZ2lvbkZp
dHRpbmdEaXNhYmxlcihyZW5kZXJWaWV3LT5jdXJyZW50UmVuZGVyRmxvd1RocmVhZCgpLCBkaXNh
YmxlUmVnaW9uRml0dGluZyk7CiAKICAgICAvLyBXZSB1c2UgZm91ciB2YWx1ZXMsIG1heFRvcFBv
cywgbWF4VG9wTmVnLCBtYXhCb3R0b21Qb3MsIGFuZCBtYXhCb3R0b21OZWcsIHRvIHRyYWNrCiAg
ICAgLy8gb3VyIGN1cnJlbnQgbWF4aW1hbCBwb3NpdGl2ZSBhbmQgbmVnYXRpdmUgbWFyZ2lucy4g
IFRoZXNlIHZhbHVlcyBhcmUgdXNlZCB3aGVuIHdlCkBAIC0xMzA1LDggKzEzMTAsOCBAQCB2b2lk
IFJlbmRlckJsb2NrOjpsYXlvdXRCbG9jayhib29sIHJlbGF5b3V0Q2hpbGRyZW4sIExheW91dFVu
aXQgcGFnZUxvZ2ljYWxIZWlnaAogICAgIAogICAgIHN0YXRlUHVzaGVyLnBvcCgpOwogCi0gICAg
aWYgKHZpZXcoKS0+bGF5b3V0U3RhdGUoKS0+bV9wYWdlTG9naWNhbEhlaWdodCkKLSAgICAgICAg
c2V0UGFnZUxvZ2ljYWxPZmZzZXQodmlldygpLT5sYXlvdXRTdGF0ZSgpLT5wYWdlTG9naWNhbE9m
ZnNldChsb2dpY2FsVG9wKCkpKTsKKyAgICBpZiAocmVuZGVyVmlldy0+bGF5b3V0U3RhdGUoKS0+
bV9wYWdlTG9naWNhbEhlaWdodCkKKyAgICAgICAgc2V0UGFnZUxvZ2ljYWxPZmZzZXQocmVuZGVy
Vmlldy0+bGF5b3V0U3RhdGUoKS0+cGFnZUxvZ2ljYWxPZmZzZXQobG9naWNhbFRvcCgpKSk7CiAK
ICAgICB1cGRhdGVMYXllclRyYW5zZm9ybSgpOwogCkBAIC0zNTU2LDE2ICszNTYxLDM2IEBAIExh
eW91dFVuaXQgUmVuZGVyQmxvY2s6OmxvZ2ljYWxMZWZ0T2Zmc2V0Rm9yTGluZShMYXlvdXRVbml0
IGxvZ2ljYWxUb3AsIExheW91dFVuCiAgICAgcmV0dXJuIGxlZnQ7CiB9CiAKK3ZvaWQgUmVuZGVy
QmxvY2s6OmFkanVzdEZvclJlZ2lvbkZpdHRpbmdJZk5lZWRlZChMYXlvdXRVbml0IGxvZ2ljYWxU
b3AsIExheW91dFVuaXQmIHJpZ2h0T2Zmc2V0KSBjb25zdAoreworICAgIFJlbmRlclZpZXcqIHJl
bmRlclZpZXcgPSB2aWV3KCk7CisgICAgaWYgKCFyZW5kZXJWaWV3LT5oYXNSZW5kZXJGbG93VGhy
ZWFkKCkpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBSZW5kZXJGbG93VGhyZWFkKiBmbG93
VGhyZWFkID0gcmVuZGVyVmlldy0+Y3VycmVudFJlbmRlckZsb3dUaHJlYWQoKTsKKyAgICBpZiAo
IWZsb3dUaHJlYWQtPmlzUmVnaW9uRml0dGluZ0VuYWJsZWQoKSB8fCAhZmxvd1RocmVhZC0+aGFz
VmFsaWRSZWdpb25zKCkpCisgICAgICAgIHJldHVybjsKKworICAgIExheW91dFN0YXRlKiBsYXlv
dXRTdGF0ZSA9IHJlbmRlclZpZXctPmxheW91dFN0YXRlKCk7CisgICAgSW50U2l6ZSBkZWx0YSA9
IGxheW91dFN0YXRlLT5tX2xheW91dE9mZnNldCAtIGxheW91dFN0YXRlLT5tX3BhZ2VPZmZzZXQ7
CisgICAgaW50IG9mZnNldCA9IGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBkZWx0YS5oZWln
aHQoKSA6IGRlbHRhLndpZHRoKCk7CisgICAgTGF5b3V0VW5pdCByZWdpb25XaWR0aCA9IGZsb3dU
aHJlYWQtPnJlZ2lvbkxvZ2ljYWxXaWR0aEZvckxpbmUob2Zmc2V0ICsgbG9naWNhbFRvcCk7Cisg
ICAgcmlnaHRPZmZzZXQgLT0gZmxvd1RocmVhZC0+bG9naWNhbFdpZHRoKCkgLSByZWdpb25XaWR0
aDsKK30KKwogTGF5b3V0VW5pdCBSZW5kZXJCbG9jazo6bG9naWNhbFJpZ2h0T2Zmc2V0Rm9yTGlu
ZShMYXlvdXRVbml0IGxvZ2ljYWxUb3AsIExheW91dFVuaXQgZml4ZWRPZmZzZXQsIGJvb2wgYXBw
bHlUZXh0SW5kZW50LCBMYXlvdXRVbml0KiBoZWlnaHRSZW1haW5pbmcpIGNvbnN0CiB7CiAgICAg
TGF5b3V0VW5pdCByaWdodCA9IGZpeGVkT2Zmc2V0OworICAgIGFkanVzdEZvclJlZ2lvbkZpdHRp
bmdJZk5lZWRlZChsb2dpY2FsVG9wLCByaWdodCk7CiAKICAgICBpZiAobV9mbG9hdGluZ09iamVj
dHMgJiYgbV9mbG9hdGluZ09iamVjdHMtPmhhc1JpZ2h0T2JqZWN0cygpKSB7CiAgICAgICAgIGlm
IChoZWlnaHRSZW1haW5pbmcpCiAgICAgICAgICAgICAqaGVpZ2h0UmVtYWluaW5nID0gMTsKIAot
ICAgICAgICBGbG9hdEludGVydmFsU2VhcmNoQWRhcHRlcjxGbG9hdGluZ09iamVjdDo6RmxvYXRS
aWdodD4gYWRhcHRlcih0aGlzLCBsb2dpY2FsVG9wLCByaWdodCwgaGVpZ2h0UmVtYWluaW5nKTsK
KyAgICAgICAgTGF5b3V0VW5pdCByaWdodEZsb2F0T2Zmc2V0ID0gZml4ZWRPZmZzZXQ7CisgICAg
ICAgIEZsb2F0SW50ZXJ2YWxTZWFyY2hBZGFwdGVyPEZsb2F0aW5nT2JqZWN0OjpGbG9hdFJpZ2h0
PiBhZGFwdGVyKHRoaXMsIGxvZ2ljYWxUb3AsIHJpZ2h0RmxvYXRPZmZzZXQsIGhlaWdodFJlbWFp
bmluZyk7CiAgICAgICAgIG1fZmxvYXRpbmdPYmplY3RzLT5wbGFjZWRGbG9hdHNUcmVlKCkuYWxs
T3ZlcmxhcHNXaXRoQWRhcHRlcihhZGFwdGVyKTsKKyAgICAgICAgcmlnaHQgPSBtaW4ocmlnaHQs
IHJpZ2h0RmxvYXRPZmZzZXQpOwogICAgIH0KICAgICAKICAgICBpZiAoYXBwbHlUZXh0SW5kZW50
ICYmICFzdHlsZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJsb2NrLmgKaW5kZXggMDE3MjMxYy4uM2Q5ZmI3MiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKQEAgLTMxMSw2ICszMTEsOCBAQCBwcm90ZWN0ZWQ6
CiAgICAgdmlydHVhbCB2b2lkIHBhaW50KFBhaW50SW5mbyYsIGNvbnN0IExheW91dFBvaW50Jik7
CiAgICAgdmlydHVhbCB2b2lkIHBhaW50T2JqZWN0KFBhaW50SW5mbyYsIGNvbnN0IExheW91dFBv
aW50Jik7CiAKKyAgICB2b2lkIGFkanVzdEZvclJlZ2lvbkZpdHRpbmdJZk5lZWRlZChMYXlvdXRV
bml0IGxvZ2ljYWxUb3AsIExheW91dFVuaXQmIHJpZ2h0T2Zmc2V0KSBjb25zdDsKKwogICAgIExh
eW91dFVuaXQgbG9naWNhbFJpZ2h0T2Zmc2V0Rm9yTGluZShMYXlvdXRVbml0IHBvc2l0aW9uLCBM
YXlvdXRVbml0IGZpeGVkT2Zmc2V0LCBib29sIGFwcGx5VGV4dEluZGVudCA9IHRydWUsIExheW91
dFVuaXQqIGxvZ2ljYWxIZWlnaHRSZW1haW5pbmcgPSAwKSBjb25zdDsKICAgICBMYXlvdXRVbml0
IGxvZ2ljYWxMZWZ0T2Zmc2V0Rm9yTGluZShMYXlvdXRVbml0IHBvc2l0aW9uLCBMYXlvdXRVbml0
IGZpeGVkT2Zmc2V0LCBib29sIGFwcGx5VGV4dEluZGVudCA9IHRydWUsIExheW91dFVuaXQqIGxv
Z2ljYWxIZWlnaHRSZW1haW5pbmcgPSAwKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwCmluZGV4IDJhY2UzMWIuLjFjYjEzMDIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHAKQEAgLTQ0LDcg
KzQ0LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogUmVuZGVyRmxvd1RocmVhZDo6UmVuZGVyRmxv
d1RocmVhZChOb2RlKiBub2RlLCBjb25zdCBBdG9taWNTdHJpbmcmIGZsb3dUaHJlYWQpCiAgICAg
OiBSZW5kZXJCbG9jayhub2RlKQogICAgICwgbV9mbG93VGhyZWFkKGZsb3dUaHJlYWQpCisgICAg
LCBtX2hhc1ZhbGlkUmVnaW9ucyhmYWxzZSkKICAgICAsIG1fcmVnaW9uc0ludmFsaWRhdGVkKGZh
bHNlKQorICAgICwgbV9yZWdpb25GaXR0aW5nRGlzYWJsZUNvdW50KDApCiB7CiAgICAgc2V0SXNB
bm9ueW1vdXMoZmFsc2UpOwogfQpAQCAtMjcwLDggKzI3MiwzMCBAQCB2b2lkIFJlbmRlckZsb3dU
aHJlYWQ6OnB1c2hEZXBlbmRlbmNpZXMoUmVuZGVyRmxvd1RocmVhZExpc3QmIGxpc3QpCiAgICAg
fQogfQogCitjbGFzcyBDdXJyZW50UmVuZGVyRmxvd1RocmVhZE1haW50YWluZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEN1cnJlbnRSZW5kZXJGbG93VGhyZWFkTWFpbnRhaW5lcik7Citw
dWJsaWM6CisgICAgQ3VycmVudFJlbmRlckZsb3dUaHJlYWRNYWludGFpbmVyKFJlbmRlckZsb3dU
aHJlYWQqIHJlbmRlckZsb3dUaHJlYWQpCisgICAgICAgIDogbV9yZW5kZXJGbG93VGhyZWFkKHJl
bmRlckZsb3dUaHJlYWQpCisgICAgeworICAgICAgICBSZW5kZXJWaWV3KiB2aWV3ID0gbV9yZW5k
ZXJGbG93VGhyZWFkLT52aWV3KCk7CisgICAgICAgIEFTU0VSVCghdmlldy0+Y3VycmVudFJlbmRl
ckZsb3dUaHJlYWQoKSk7CisgICAgICAgIHZpZXctPnNldEN1cnJlbnRSZW5kZXJGbG93VGhyZWFk
KG1fcmVuZGVyRmxvd1RocmVhZCk7CisgICAgfQorICAgIH5DdXJyZW50UmVuZGVyRmxvd1RocmVh
ZE1haW50YWluZXIoKQorICAgIHsKKyAgICAgICAgUmVuZGVyVmlldyogdmlldyA9IG1fcmVuZGVy
Rmxvd1RocmVhZC0+dmlldygpOworICAgICAgICBBU1NFUlQodmlldy0+Y3VycmVudFJlbmRlckZs
b3dUaHJlYWQoKSA9PSBtX3JlbmRlckZsb3dUaHJlYWQpOworICAgICAgICB2aWV3LT5zZXRDdXJy
ZW50UmVuZGVyRmxvd1RocmVhZCgwKTsKKyAgICB9Citwcml2YXRlOgorICAgIFJlbmRlckZsb3dU
aHJlYWQqIG1fcmVuZGVyRmxvd1RocmVhZDsKK307CisKIHZvaWQgUmVuZGVyRmxvd1RocmVhZDo6
bGF5b3V0KCkKIHsKKyAgICBDdXJyZW50UmVuZGVyRmxvd1RocmVhZE1haW50YWluZXIgY3VycmVu
dEZsb3dUaHJlYWRTZXR0ZXIodGhpcyk7CisKICAgICBpZiAobV9yZWdpb25zSW52YWxpZGF0ZWQp
IHsKICAgICAgICAgbV9yZWdpb25zSW52YWxpZGF0ZWQgPSBmYWxzZTsKICAgICAgICAgaWYgKGhh
c1JlZ2lvbnMoKSkgewpAQCAtMjgzLDYgKzMwNyw4IEBAIHZvaWQgUmVuZGVyRmxvd1RocmVhZDo6
bGF5b3V0KCkKICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CiAKICAgICAgICAgICAgICAg
ICBBU1NFUlQoIXJlZ2lvbi0+bmVlZHNMYXlvdXQoKSk7CisgICAgICAgICAgICAgICAgCisgICAg
ICAgICAgICAgICAgbV9oYXNWYWxpZFJlZ2lvbnMgPSB0cnVlOwogCiAgICAgICAgICAgICAgICAg
SW50UmVjdCByZWdpb25SZWN0OwogICAgICAgICAgICAgICAgIGlmIChpc0hvcml6b250YWxXcml0
aW5nTW9kZSgpKSB7CkBAIC00MzYsNCArNDYyLDUxIEBAIHZvaWQgUmVuZGVyRmxvd1RocmVhZDo6
cmVwYWludFJlY3RhbmdsZUluUmVnaW9ucyhjb25zdCBMYXlvdXRSZWN0JiByZXBhaW50UmVjdCwK
ICAgICB9CiB9CiAKK1JlbmRlclJlZ2lvbiogUmVuZGVyRmxvd1RocmVhZDo6cmVuZGVyUmVnaW9u
Rm9yTGluZShMYXlvdXRVbml0IHBvc2l0aW9uLCBib29sIGV4dGVuZExhc3RSZWdpb24pIGNvbnN0
Cit7CisgICAgQVNTRVJUKCFtX3JlZ2lvbnNJbnZhbGlkYXRlZCk7CisgICAgCisgICAgLy8gQWxs
IHRoZSByZWdpb25zIHNob3VsZCBzdGFydCBhdCAwLgorICAgIEFTU0VSVChwb3NpdGlvbiA+PSAw
KTsKKyAgICAKKyAgICAvLyBJZiBubyByZWdpb24gbWF0Y2hlcyB0aGUgcG9zaXRpb24gYW5kIGV4
dGVuZExhc3RSZWdpb24gaXMgdHJ1ZSwgaXQgd2lsbCByZXR1cm4KKyAgICAvLyB0aGUgbGFzdCB2
YWxpZCByZWdpb24uIEl0IGlzIHNpbWlsYXIgdG8gYXV0byBleHRlbmRpbmcgdGhlIHNpemUgb2Yg
dGhlIGxhc3QgcmVnaW9uLiAKKyAgICBSZW5kZXJSZWdpb24qIGxhc3RWYWxpZFJlZ2lvbiA9IDA7
CisgICAgCisgICAgLy8gRklYTUU6IFRoZSByZWdpb25zIGFyZSBhbHdheXMgaW4gb3JkZXIsIG9w
dGltaXplIHRoaXMgc2VhcmNoLgorICAgIGJvb2wgdXNlSG9yaXpvbnRhbFdyaXRpbmdNb2RlID0g
aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKTsKKyAgICBmb3IgKFJlbmRlclJlZ2lvbkxpc3Q6OmNv
bnN0X2l0ZXJhdG9yIGl0ZXIgPSBtX3JlZ2lvbkxpc3QuYmVnaW4oKTsgaXRlciAhPSBtX3JlZ2lv
bkxpc3QuZW5kKCk7ICsraXRlcikgeworICAgICAgICBSZW5kZXJSZWdpb24qIHJlZ2lvbiA9ICpp
dGVyOworICAgICAgICBpZiAoIXJlZ2lvbi0+aXNWYWxpZCgpKQorICAgICAgICAgICAgY29udGlu
dWU7CisKKyAgICAgICAgTGF5b3V0UmVjdCByZWdpb25SZWN0ID0gcmVnaW9uLT5yZWdpb25SZWN0
KCk7CisKKyAgICAgICAgaWYgKHVzZUhvcml6b250YWxXcml0aW5nTW9kZSkgeworICAgICAgICAg
ICAgaWYgKHJlZ2lvblJlY3QueSgpIDw9IHBvc2l0aW9uICYmIHBvc2l0aW9uIDwgcmVnaW9uUmVj
dC5tYXhZKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIHJlZ2lvbjsKKyAgICAgICAgICAgIGNv
bnRpbnVlOworICAgICAgICB9CisKKyAgICAgICAgaWYgKHJlZ2lvblJlY3QueCgpIDw9IHBvc2l0
aW9uICYmIHBvc2l0aW9uIDwgcmVnaW9uUmVjdC5tYXhYKCkpCisgICAgICAgICAgICByZXR1cm4g
cmVnaW9uOworICAgICAgICAKKyAgICAgICAgaWYgKGV4dGVuZExhc3RSZWdpb24pCisgICAgICAg
ICAgICBsYXN0VmFsaWRSZWdpb24gPSByZWdpb247CisgICAgfQorCisgICAgcmV0dXJuIGxhc3RW
YWxpZFJlZ2lvbjsKK30KKworTGF5b3V0VW5pdCBSZW5kZXJGbG93VGhyZWFkOjpyZWdpb25Mb2dp
Y2FsV2lkdGhGb3JMaW5lKExheW91dFVuaXQgcG9zaXRpb24pIGNvbnN0Cit7CisgICAgY29uc3Qg
Ym9vbCBleHRlbmRMYXN0UmVnaW9uID0gdHJ1ZTsKKyAgICBSZW5kZXJSZWdpb24qIHJlZ2lvbiA9
IHJlbmRlclJlZ2lvbkZvckxpbmUocG9zaXRpb24sIGV4dGVuZExhc3RSZWdpb24pOworICAgIGlm
ICghcmVnaW9uKQorICAgICAgICByZXR1cm4gMDsKKworICAgIHJldHVybiBpc0hvcml6b250YWxX
cml0aW5nTW9kZSgpID8gcmVnaW9uLT5yZWdpb25SZWN0KCkud2lkdGgoKSA6IHJlZ2lvbi0+cmVn
aW9uUmVjdCgpLmhlaWdodCgpOworfQorCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oCmluZGV4IGYzNzM1MzUuLjBi
NjQyNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhy
ZWFkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuaApA
QCAtODUsNiArODUsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBoaXRUZXN0UmVnaW9uKGNvbnN0IExh
eW91dFJlY3QmIHJlZ2lvblJlY3QsIGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiwgSGl0VGVzdFJlc3Vs
dCYsIGNvbnN0IExheW91dFBvaW50JiBwb2ludEluQ29udGFpbmVyLCBjb25zdCBMYXlvdXRQb2lu
dCYgYWNjdW11bGF0ZWRPZmZzZXQpOwogCiAgICAgYm9vbCBoYXNSZWdpb25zKCkgY29uc3QgeyBy
ZXR1cm4gbV9yZWdpb25MaXN0LnNpemUoKTsgfQorICAgIGJvb2wgaGFzVmFsaWRSZWdpb25zKCkg
Y29uc3QgeyBBU1NFUlQoIW1fcmVnaW9uc0ludmFsaWRhdGVkKTsgcmV0dXJuIG1faGFzVmFsaWRS
ZWdpb25zOyB9CiAKICAgICB2b2lkIGludmFsaWRhdGVSZWdpb25zKCkgeyBtX3JlZ2lvbnNJbnZh
bGlkYXRlZCA9IHRydWU7IHNldE5lZWRzTGF5b3V0KHRydWUpOyB9CiAKQEAgLTk2LDkgKzk3LDE3
IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgcmVwYWludFJlY3RhbmdsZUluUmVnaW9ucyhjb25zdCBM
YXlvdXRSZWN0JiwgYm9vbCBpbW1lZGlhdGUpOwogCisgICAgTGF5b3V0VW5pdCByZWdpb25Mb2dp
Y2FsV2lkdGhGb3JMaW5lKExheW91dFVuaXQgcG9zaXRpb24pIGNvbnN0OworCisgICAgYm9vbCBp
c1JlZ2lvbkZpdHRpbmdFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gIW1fcmVnaW9uRml0dGluZ0Rp
c2FibGVDb3VudDsgfQorICAgIHZvaWQgZGlzYWJsZVJlZ2lvbkZpdHRpbmcoKSB7IG1fcmVnaW9u
Rml0dGluZ0Rpc2FibGVDb3VudCsrOyB9CisgICAgdm9pZCBlbmFibGVSZWdpb25GaXR0aW5nKCkg
eyBBU1NFUlQobV9yZWdpb25GaXR0aW5nRGlzYWJsZUNvdW50ID4gMCk7IG1fcmVnaW9uRml0dGlu
Z0Rpc2FibGVDb3VudC0tOyB9CisKIHByaXZhdGU6CiAgICAgdmlydHVhbCBjb25zdCBjaGFyKiBy
ZW5kZXJOYW1lKCkgY29uc3QgeyByZXR1cm4gIlJlbmRlckZsb3dUaHJlYWQiOyB9CiAKKyAgICBS
ZW5kZXJSZWdpb24qIHJlbmRlclJlZ2lvbkZvckxpbmUoTGF5b3V0VW5pdCBwb3NpdGlvbiwgYm9v
bCBleHRlbmRMYXN0UmVnaW9uID0gZmFsc2UpIGNvbnN0OworCiAgICAgYm9vbCBkZXBlbmRzT24o
UmVuZGVyRmxvd1RocmVhZCogb3RoZXJSZW5kZXJGbG93VGhyZWFkKSBjb25zdDsKICAgICB2b2lk
IGFkZERlcGVuZGVuY3lPbkZsb3dUaHJlYWQoUmVuZGVyRmxvd1RocmVhZCopOwogICAgIHZvaWQg
cmVtb3ZlRGVwZW5kZW5jeU9uRmxvd1RocmVhZChSZW5kZXJGbG93VGhyZWFkKik7CkBAIC0xMjIs
NyArMTMxLDkgQEAgcHJpdmF0ZToKICAgICAvLyBlYXN5IHRvIHNvcnQgdGhlIG9yZGVyIG9mIHRo
cmVhZHMgbGF5b3V0LgogICAgIFJlbmRlckZsb3dUaHJlYWRDb3VudGVkU2V0IG1fbGF5b3V0QmVm
b3JlVGhyZWFkc1NldDsKIAorICAgIGJvb2wgbV9oYXNWYWxpZFJlZ2lvbnM7CiAgICAgYm9vbCBt
X3JlZ2lvbnNJbnZhbGlkYXRlZDsKKyAgICB1bnNpZ25lZCBtX3JlZ2lvbkZpdHRpbmdEaXNhYmxl
Q291bnQ7CiB9OwogCiBpbmxpbmUgUmVuZGVyRmxvd1RocmVhZCogdG9SZW5kZXJGbG93VGhyZWFk
KFJlbmRlck9iamVjdCogb2JqZWN0KQpAQCAtMTQwLDYgKzE1MSwyOCBAQCBpbmxpbmUgY29uc3Qg
UmVuZGVyRmxvd1RocmVhZCogdG9SZW5kZXJGbG93VGhyZWFkKGNvbnN0IFJlbmRlck9iamVjdCog
b2JqZWN0KQogLy8gVGhpcyB3aWxsIGNhdGNoIGFueW9uZSBkb2luZyBhbiB1bm5lY2Vzc2FyeSBj
YXN0Lgogdm9pZCB0b1JlbmRlckZsb3dUaHJlYWQoY29uc3QgUmVuZGVyRmxvd1RocmVhZCopOwog
CitjbGFzcyBSZWdpb25GaXR0aW5nRGlzYWJsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFJlZ2lvbkZpdHRpbmdEaXNhYmxlcik7CitwdWJsaWM6CisgICAgUmVnaW9uRml0dGluZ0Rpc2Fi
bGVyKFJlbmRlckZsb3dUaHJlYWQqIGZsb3dUaHJlYWQsIGJvb2wgZGlzYWJsZSkKKyAgICB7Cisg
ICAgICAgIGlmIChmbG93VGhyZWFkICYmIGRpc2FibGUpIHsKKyAgICAgICAgICAgIG1fZmxvd1Ro
cmVhZCA9IGZsb3dUaHJlYWQ7CisgICAgICAgICAgICBtX2Zsb3dUaHJlYWQtPmRpc2FibGVSZWdp
b25GaXR0aW5nKCk7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgbV9mbG93VGhyZWFkID0g
MDsKKyAgICB9CisKKyAgICB+UmVnaW9uRml0dGluZ0Rpc2FibGVyKCkKKyAgICB7CisgICAgICAg
IGlmIChtX2Zsb3dUaHJlYWQpCisgICAgICAgICAgICBtX2Zsb3dUaHJlYWQtPmVuYWJsZVJlZ2lv
bkZpdHRpbmcoKTsKKyAgICB9Citwcml2YXRlOgorICAgIFJlbmRlckZsb3dUaHJlYWQqIG1fZmxv
d1RocmVhZDsKK307CisKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gUmVu
ZGVyRmxvd1RocmVhZF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyUmVnaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZWdpb24uY3Bw
CmluZGV4IDdjOTdjZjcuLjU2MzE5MWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJSZWdpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJSZWdpb24uY3BwCkBAIC04Miw2ICs4MiwxMyBAQCBib29sIFJlbmRlclJlZ2lvbjo6bm9kZUF0
UG9pbnQoY29uc3QgSGl0VGVzdFJlcXVlc3QmIHJlcXVlc3QsIEhpdFRlc3RSZXN1bHQmIHJlcwog
ICAgIHJldHVybiBmYWxzZTsKIH0KIAordm9pZCBSZW5kZXJSZWdpb246OmxheW91dCgpCit7Cisg
ICAgUmVuZGVyUmVwbGFjZWQ6OmxheW91dCgpOworICAgIGlmIChtX2Zsb3dUaHJlYWQgJiYgaXNW
YWxpZCgpKQorICAgICAgICBtX2Zsb3dUaHJlYWQtPmludmFsaWRhdGVSZWdpb25zKCk7Cit9CisK
IHZvaWQgUmVuZGVyUmVnaW9uOjphdHRhY2hSZWdpb24oKQogewogICAgIGlmICghbV9mbG93VGhy
ZWFkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlZ2lvbi5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlZ2lvbi5oCmluZGV4IGM0NjUwYjUu
LjU0YzE3OWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZWdp
b24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVnaW9uLmgKQEAgLTU4
LDYgKzU4LDggQEAgcHVibGljOgogICAgIGJvb2wgaXNWYWxpZCgpIGNvbnN0IHsgcmV0dXJuIG1f
aXNWYWxpZDsgfQogICAgIHZvaWQgc2V0SXNWYWxpZChib29sIHZhbGlkKSB7IG1faXNWYWxpZCA9
IHZhbGlkOyB9CiAKKyAgICB2aXJ0dWFsIHZvaWQgbGF5b3V0KCk7CisKIHByaXZhdGU6CiAgICAg
dmlydHVhbCBjb25zdCBjaGFyKiByZW5kZXJOYW1lKCkgY29uc3QgeyByZXR1cm4gIlJlbmRlclJl
Z2lvbiI7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZp
ZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCmluZGV4IGFj
YWNlNTYuLmMxZmZiNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAK
QEAgLTU1LDYgKzU1LDcgQEAgUmVuZGVyVmlldzo6UmVuZGVyVmlldyhOb2RlKiBub2RlLCBGcmFt
ZVZpZXcqIHZpZXcpCiAgICAgLCBtX2lzUmVuZGVyRmxvd1RocmVhZE9yZGVyRGlydHkoZmFsc2Up
CiAgICAgLCBtX2xheW91dFN0YXRlKDApCiAgICAgLCBtX2xheW91dFN0YXRlRGlzYWJsZUNvdW50
KDApCisgICAgLCBtX2N1cnJlbnRSZW5kZXJGbG93VGhyZWFkKDApCiB7CiAgICAgLy8gQ2xlYXIg
b3VyIGFub255bW91cyBiaXQsIHNldCBiZWNhdXNlIFJlbmRlck9iamVjdCBhc3N1bWVzCiAgICAg
Ly8gYW55IHJlbmRlcmVyIHdpdGggZG9jdW1lbnQgYXMgdGhlIG5vZGUgaXMgYW5vbnltb3VzLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgKaW5kZXggNzVjNmIyNy4uN2UwYmZlZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCkBAIC0xODEsNiArMTgxLDEwIEBA
IHB1YmxpYzoKICAgICB9CiAgICAgY29uc3QgUmVuZGVyRmxvd1RocmVhZExpc3QqIHJlbmRlckZs
b3dUaHJlYWRMaXN0KCkgY29uc3QgeyByZXR1cm4gbV9yZW5kZXJGbG93VGhyZWFkTGlzdC5nZXQo
KTsgfQogCisgICAgYm9vbCBoYXNSZW5kZXJGbG93VGhyZWFkKCkgY29uc3QgeyByZXR1cm4gbV9j
dXJyZW50UmVuZGVyRmxvd1RocmVhZDsgfQorICAgIFJlbmRlckZsb3dUaHJlYWQqIGN1cnJlbnRS
ZW5kZXJGbG93VGhyZWFkKCkgY29uc3QgeyByZXR1cm4gbV9jdXJyZW50UmVuZGVyRmxvd1RocmVh
ZDsgfQorICAgIHZvaWQgc2V0Q3VycmVudFJlbmRlckZsb3dUaHJlYWQoUmVuZGVyRmxvd1RocmVh
ZCogZmxvd1RocmVhZCkgeyBtX2N1cnJlbnRSZW5kZXJGbG93VGhyZWFkID0gZmxvd1RocmVhZDsg
fQorCiAgICAgdm9pZCBzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRl
clN0eWxlKiBvbGRTdHlsZSk7CiAgICAgCiBwcm90ZWN0ZWQ6CkBAIC0xOTYsNyArMjAwLDcgQEAg
cHJpdmF0ZToKICAgICBib29sIHB1c2hMYXlvdXRTdGF0ZShSZW5kZXJCb3gqIHJlbmRlcmVyLCBj
b25zdCBMYXlvdXRTaXplJiBvZmZzZXQsIExheW91dFVuaXQgcGFnZUhlaWdodCA9IDAsIGJvb2wg
cGFnZUhlaWdodENoYW5nZWQgPSBmYWxzZSwgQ29sdW1uSW5mbyogY29sSW5mbyA9IDApCiAgICAg
ewogICAgICAgICAvLyBXZSBwdXNoIExheW91dFN0YXRlIGV2ZW4gaWYgbGF5b3V0U3RhdGUgaXMg
ZGlzYWJsZWQgYmVjYXVzZSBpdCBzdG9yZXMgbGF5b3V0RGVsdGEgdG9vLgotICAgICAgICBpZiAo
IWRvaW5nRnVsbFJlcGFpbnQoKSB8fCByZW5kZXJlci0+aGFzQ29sdW1ucygpIHx8IG1fbGF5b3V0
U3RhdGUtPmlzUGFnaW5hdGVkKCkpIHsKKyAgICAgICAgaWYgKCFkb2luZ0Z1bGxSZXBhaW50KCkg
fHwgcmVuZGVyZXItPmhhc0NvbHVtbnMoKSB8fCBtX2xheW91dFN0YXRlLT5pc1BhZ2luYXRlZCgp
IHx8IGhhc1JlbmRlckZsb3dUaHJlYWQoKSkgewogICAgICAgICAgICAgbV9sYXlvdXRTdGF0ZSA9
IG5ldyAocmVuZGVyQXJlbmEoKSkgTGF5b3V0U3RhdGUobV9sYXlvdXRTdGF0ZSwgcmVuZGVyZXIs
IG9mZnNldCwgcGFnZUhlaWdodCwgcGFnZUhlaWdodENoYW5nZWQsIGNvbEluZm8pOwogICAgICAg
ICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIH0KQEAgLTI2NSw2ICsyNjksNyBAQCBwcml2YXRl
OgogICAgIE93blB0cjxSZW5kZXJMYXllckNvbXBvc2l0b3I+IG1fY29tcG9zaXRvcjsKICNlbmRp
ZgogICAgIE93blB0cjxSZW5kZXJGbG93VGhyZWFkTGlzdD4gbV9yZW5kZXJGbG93VGhyZWFkTGlz
dDsKKyAgICBSZW5kZXJGbG93VGhyZWFkKiBtX2N1cnJlbnRSZW5kZXJGbG93VGhyZWFkOwogfTsK
IAogaW5saW5lIFJlbmRlclZpZXcqIHRvUmVuZGVyVmlldyhSZW5kZXJPYmplY3QqIG9iamVjdCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>