<?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>57904</bug_id>
          
          <creation_ts>2011-04-05 16:48:42 -0700</creation_ts>
          <short_desc>onClick does not function with &lt;select&gt; elements in WebKit2</short_desc>
          <delta_ts>2011-04-18 16:18:36 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Jon Lee">jonlee</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>jonlee</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>379964</commentid>
    <comment_count>0</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2011-04-05 16:48:42 -0700</bug_when>
    <thetext>&lt;rdar://problem/9165095&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>381825</commentid>
    <comment_count>1</comment_count>
      <attachid>88727</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2011-04-07 16:27:34 -0700</bug_when>
    <thetext>Created attachment 88727
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>381916</commentid>
    <comment_count>2</comment_count>
      <attachid>88727</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-04-07 18:21:32 -0700</bug_when>
    <thetext>Comment on attachment 88727
Patch

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

&gt; Source/WebKit2/UIProcess/API/mac/WKView.mm:946
&gt; +- (void)Selector:(NSEvent *)theEvent \
&gt; +{ \
&gt; +NativeWebMouseEvent webEvent(theEvent, self); \
&gt; +_data-&gt;_page-&gt;handleMouseEvent(webEvent); \
&gt; +}

I think we indent the body of multi-line macros.

&gt; Source/WebKit2/UIProcess/WebPageProxy.cpp:782
&gt; +    // (bug #57904) we need to keep track of the mouse down event in the case where we

Please use full URLs when linking to bugs, that makes it easier to open them. Also use a capital letter in the beginning of the sentence.

&gt; Source/WebKit2/UIProcess/WebPageProxy.cpp:785
&gt; +    // when the mouse up message is received from WebProcess

Period at the end :)

&gt; Source/WebKit2/UIProcess/WebPageProxy.cpp:2146
&gt; +NativeWebMouseEvent* WebPageProxy::currentMouseDownEvent()

Maybe this should be called &quot;currentlyProcessedMouseDownEvent&quot; or something along those lines, to indicate that this is the event that&apos;s been sent to the web process.

&gt; Source/WebKit2/UIProcess/mac/WebPopupMenuProxyMac.mm:131
&gt; +        // 57904: This code is adopted from EventHandler::sendFakeEventsAfterWidgetTracking()

Bug URL.

&gt; Source/WebKit2/UIProcess/mac/WebPopupMenuProxyMac.mm:135
&gt; +            NSEvent *fakeEvent = nil;

No need to initialize fakeEvent to nil. You can just initialize it with the created event.

&gt; Source/WebKit2/UIProcess/mac/WebPopupMenuProxyMac.mm:148
&gt; +                                           location:[[m_client-&gt;currentMouseDownEvent()-&gt;nativeView() window] convertScreenToBase:[NSEvent mouseLocation]]

Do we really need to store the native view in the event? Can&apos;t we just get the window from the WKView?

&gt; Source/WebKit2/UIProcess/win/WebPopupMenuProxyWin.cpp:334
&gt; +        const MSG* initiatingWinEvent = m_client-&gt;currentMouseDownEvent()-&gt;nativeEvent();
&gt; +        MSG fakeEvent = *initiatingWinEvent;
&gt; +        fakeEvent.message = WM_LBUTTONUP;
&gt; +        ::DispatchMessage(&amp;fakeEvent);

This could use a comment. Also, is DispatchMessage the right event here or should we use ::PostMessage instead?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>382621</commentid>
    <comment_count>3</comment_count>
      <attachid>88890</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2011-04-08 15:57:38 -0700</bug_when>
    <thetext>Created attachment 88890
Patch

Made adjustments based on anderca&apos;s suggestions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>383233</commentid>
    <comment_count>4</comment_count>
      <attachid>89021</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2011-04-11 09:58:03 -0700</bug_when>
    <thetext>Created attachment 89021
Patch

Fixing windows build error</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>383398</commentid>
    <comment_count>5</comment_count>
      <attachid>89021</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-04-11 12:57:07 -0700</bug_when>
    <thetext>Comment on attachment 89021
Patch

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

The indentation in WebPopupMenuProxyMac.mm is messed up.

&gt; Source/WebKit2/UIProcess/mac/WebPopupMenuProxyMac.mm:127
&gt; +        if (m_client)

This could be an early return.

&gt; Source/WebKit2/UIProcess/mac/WebPopupMenuProxyMac.mm:132
&gt; +            NSEvent* initiatingNSEvent = m_client-&gt;currentlyProcessedMouseDownEvent()-&gt;nativeEvent();

I think you need to null check the event before getting the native event.

&gt; Source/WebKit2/UIProcess/win/WebPopupMenuProxyWin.cpp:328
&gt; +    if (m_client) {

Early return.

&gt; Source/WebKit2/UIProcess/win/WebPopupMenuProxyWin.cpp:339
&gt; +        const MSG* initiatingWinEvent = m_client-&gt;currentlyProcessedMouseDownEvent()-&gt;nativeEvent();

Null check.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>383415</commentid>
    <comment_count>6</comment_count>
      <attachid>89021</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-04-11 13:12:34 -0700</bug_when>
    <thetext>Comment on attachment 89021
Patch

Whoops, I meant to r- this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>383476</commentid>
    <comment_count>7</comment_count>
      <attachid>89078</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2011-04-11 13:54:02 -0700</bug_when>
    <thetext>Created attachment 89078
Patch

early returns added, format fixed in ....Mac.mm</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>383540</commentid>
    <comment_count>8</comment_count>
      <attachid>89078</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-04-11 14:36:37 -0700</bug_when>
    <thetext>Comment on attachment 89078
Patch

There are a lot of unneeded whitespace changes in WebPopupMenuProxyMac.mm

Also, I think the currently processed mouse down event needs to be cleared out if the web process crashes (you can do this in WebPageProxy::processDidCrash()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>383612</commentid>
    <comment_count>9</comment_count>
      <attachid>89107</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2011-04-11 15:48:05 -0700</bug_when>
    <thetext>Created attachment 89107
Patch

Clearing out cached events, including mouse down (relevant to this bug), and also mouse move and wheel.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>385248</commentid>
    <comment_count>10</comment_count>
      <attachid>89107</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-13 14:34:43 -0700</bug_when>
    <thetext>Comment on attachment 89107
Patch

Rejecting attachment 89107 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=cr-jail-8&apos;, &apos;apply-...&quot; exit_code: 2

Last 500 characters of output:
1 line).
patching file Source/WebKit2/UIProcess/WebPopupMenuProxy.h
patching file Source/WebKit2/UIProcess/mac/WebPopupMenuProxyMac.mm
patching file Source/WebKit2/UIProcess/win/WebPopupMenuProxyWin.cpp
patching file Source/WebKit2/UIProcess/win/WebView.cpp
patching file Source/WebKit2/WebKit2.xcodeproj/project.pbxproj
patching file Source/WebKit2/win/WebKit2.vcproj

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--reviewer&apos;, u&apos;Anders Carlsson&apos;, u&apos;--...&quot; exit_code: 1

Full output: http://queues.webkit.org/results/8404382</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>385284</commentid>
    <comment_count>11</comment_count>
      <attachid>89474</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2011-04-13 15:11:24 -0700</bug_when>
    <thetext>Created attachment 89474
Patch

Trying again-- same changes, on top of newer code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>385288</commentid>
    <comment_count>12</comment_count>
      <attachid>89474</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-13 15:12:20 -0700</bug_when>
    <thetext>Comment on attachment 89474
Patch

Rejecting attachment 89474 from review queue.

jonlee@apple.com does not have reviewer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/committers.py.

- If you do not have reviewer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have reviewer rights please correct the error in Tools/Scripts/webkitpy/common/config/committers.py by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your reviewer rights.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>385290</commentid>
    <comment_count>13</comment_count>
      <attachid>89474</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-13 15:13:32 -0700</bug_when>
    <thetext>Comment on attachment 89474
Patch

Rejecting attachment 89474 from commit-queue.

jonlee@apple.com does not have committer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/committers.py.

- If you do not have committer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have committer rights please correct the error in Tools/Scripts/webkitpy/common/config/committers.py by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your committer rights.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>385674</commentid>
    <comment_count>14</comment_count>
      <attachid>89474</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-14 05:37:01 -0700</bug_when>
    <thetext>Comment on attachment 89474
Patch

Rejecting attachment 89474 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=cr-jail-4&apos;, &apos;apply-...&quot; exit_code: 2

Last 500 characters of output:
eProxy.h
patching file Source/WebKit2/UIProcess/WebPopupMenuProxy.h
patching file Source/WebKit2/UIProcess/mac/WebPopupMenuProxyMac.mm
patching file Source/WebKit2/UIProcess/win/WebPopupMenuProxyWin.cpp
patching file Source/WebKit2/UIProcess/win/WebView.cpp
patching file Source/WebKit2/WebKit2.xcodeproj/project.pbxproj
patching file Source/WebKit2/win/WebKit2.vcproj

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--reviewer&apos;, u&apos;Anders Carlsson&apos;, u&apos;--...&quot; exit_code: 1

Full output: http://queues.webkit.org/results/8403570</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>386106</commentid>
    <comment_count>15</comment_count>
      <attachid>89670</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2011-04-14 15:25:38 -0700</bug_when>
    <thetext>Created attachment 89670
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>386189</commentid>
    <comment_count>16</comment_count>
      <attachid>89685</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2011-04-14 16:57:16 -0700</bug_when>
    <thetext>Created attachment 89685
Patch

Trying to fold changes into Qt.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>386211</commentid>
    <comment_count>17</comment_count>
      <attachid>89695</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2011-04-14 17:20:27 -0700</bug_when>
    <thetext>Created attachment 89695
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>386269</commentid>
    <comment_count>18</comment_count>
      <attachid>89695</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2011-04-14 18:32:24 -0700</bug_when>
    <thetext>Comment on attachment 89695
Patch

Signing off on the updates since the last version.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>386273</commentid>
    <comment_count>19</comment_count>
      <attachid>89695</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2011-04-14 18:32:51 -0700</bug_when>
    <thetext>Comment on attachment 89695
Patch

Signing off on the updates since the last version.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>386300</commentid>
    <comment_count>20</comment_count>
      <attachid>89721</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2011-04-14 19:11:31 -0700</bug_when>
    <thetext>Created attachment 89721
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>386756</commentid>
    <comment_count>21</comment_count>
      <attachid>89721</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-15 11:02:40 -0700</bug_when>
    <thetext>Comment on attachment 89721
Patch

Rejecting attachment 89721 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=cr-jail-4&apos;, &apos;land-a...&quot; exit_code: 2

Last 500 characters of output:
World.cpp
	M	Source/WebCore/html/HTMLCanvasElement.cpp
r83990 = 52d4a4ddb5bdfde702f42fbe11d1a2d0501d21b8 (refs/remotes/trunk)
	M	Source/WebCore/WebCore.exp.in
	M	Source/WebCore/dom/DocumentMarkerController.h
	M	Source/WebCore/dom/DocumentMarkerController.cpp
	M	Source/WebCore/dom/DocumentMarker.h
	M	Source/WebCore/ChangeLog
r83991 = 3e9aec703b851aa84338cad59d52e2be93b0c66e (refs/remotes/trunk)
First, rewinding head to replay your work on top of it...
Fast-forwarded master to refs/remotes/trunk.

Full output: http://queues.webkit.org/results/8457195</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>386922</commentid>
    <comment_count>22</comment_count>
      <attachid>89107</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-15 14:14:39 -0700</bug_when>
    <thetext>Comment on attachment 89107
Patch

Cleared Anders Carlsson&apos;s review+ from obsolete attachment 89107 so that this bug does not appear in http://webkit.org/pending-commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>388151</commentid>
    <comment_count>23</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2011-04-18 16:18:36 -0700</bug_when>
    <thetext>The patch was not landing for some reason, so Anders landed it for me, but the bug never got closed.  Setting resolution to resolved/fixed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>88727</attachid>
            <date>2011-04-07 16:27:34 -0700</date>
            <delta_ts>2011-04-08 15:57:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-2011-04-07-Jon-Lee-jonlee-apple.com.patch</filename>
            <type>text/plain</type>
            <size>31002</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">RnJvbSA3ZTgwNWU0MjE1MDFlNDZlZDdlMDFjNDEwMjM1MmM0MjQ0ZjM4Y2VmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb24gTGVlIDxqb25sZWVAYXBwbGUuY29tPgpEYXRlOiBUaHUs
IDcgQXByIDIwMTEgMTY6MTA6NDYgLTA3MDAKU3ViamVjdDogW1BBVENIXSAyMDExLTA0LTA3ICBK
b24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KCiAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCgogICAgICAgIG9uQ2xpY2sgZG9lcyBub3QgZnVuY3Rpb24gd2l0aCA8c2VsZWN0PiBl
bGVtZW50cyBpbiBXZWJLaXQyCiAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTU3OTA0CgogICAgICAgICogU2hhcmVkL05hdGl2ZVdlYk1vdXNlRXZlbnQuaDog
Q29waWVkIGZyb20gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBvcHVwTWVudVByb3h5Lmgu
CiAgICAgICAgKFdlYktpdDo6TmF0aXZlV2ViTW91c2VFdmVudDo6bmF0aXZlRXZlbnQpOgogICAg
ICAgIChXZWJLaXQ6Ok5hdGl2ZVdlYk1vdXNlRXZlbnQ6Om5hdGl2ZVZpZXcpOgogICAgICAgICog
U2hhcmVkL21hYy9OYXRpdmVXZWJNb3VzZUV2ZW50TWFjLm1tOiBDb3BpZWQgZnJvbSBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUG9wdXBNZW51UHJveHkuaC4KICAgICAgICAoV2ViS2l0OjpO
YXRpdmVXZWJNb3VzZUV2ZW50OjpOYXRpdmVXZWJNb3VzZUV2ZW50KToKICAgICAgICAqIFNoYXJl
ZC93aW4vTmF0aXZlV2ViTW91c2VFdmVudFdpbi5jcHA6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQb3B1cE1lbnVQcm94eS5oLgogICAgICAgIChXZWJLaXQ6Ok5hdGl2
ZVdlYk1vdXNlRXZlbnQ6Ok5hdGl2ZVdlYk1vdXNlRXZlbnQpOgogICAgICAgICogVUlQcm9jZXNz
L0FQSS9tYWMvV0tWaWV3Lm1tOgogICAgICAgICgtW1dLVmlldyBfbW91c2VIYW5kbGVyOl0pOiBQ
cmUtY29tcGlsZXIgbW91c2UgaGFuZGxlciBjYWxscyBuZWVkIHRvIHVzZSB0aGUgbmV3IE5hdGl2
ZVdlYk1vdXNlRXZlbnQgY2xhc3MKICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
OgogICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6aGFuZGxlTW91c2VFdmVudCk6IGtlZXAg
dHJhY2sgb2YgbW91c2UgZG93biBldmVudCBpbiBvcmRlciB0byBiZSBhYmxlIHRvIHNlbmQgYSBm
YWtlIG1vdXNlIHVwIGV2ZW50IG9uIHRoZSBzZWxlY3QgZWxlbWVudAogICAgICAgIChXZWJLaXQ6
OldlYlBhZ2VQcm94eTo6Y3VycmVudE1vdXNlRG93bkV2ZW50KTogZm9yIGFjY2VzcyBieSB0aGUg
cG9wdXAgbWVudSBwcm94eSB0byBkaXNwYXRjaCB0aGUgZmFrZSBtb3VzZSB1cCBldmVudAogICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkUmVjZWl2ZUV2ZW50KTogY2xlYXIgb3V0IHRo
ZSBjYWNoZWQgbW91c2UgZG93biBldmVudAogICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oOgogICAgICAgICogVUlQcm9jZXNzL1dlYlBvcHVwTWVudVByb3h5Lmg6CiAgICAgICAgKiBV
SVByb2Nlc3MvbWFjL1dlYlBvcHVwTWVudVByb3h5TWFjLm1tOgogICAgICAgIChXZWJLaXQ6Oldl
YlBvcHVwTWVudVByb3h5TWFjOjpzaG93UG9wdXBNZW51KTogYWZ0ZXIgbm90aWZ5aW5nIHRoZSBw
b3B1cCBtZW51IGNsaWVudCB0aGF0IHRoZSB2YWx1ZSBjaGFuZ2VkLCBmYWtlIG1vdXNlIHVwIGFu
ZCBtb3VzZSBtb3ZlIGV2ZW50cyBhcmUgcG9zdGVkCiAgICAgICAgKiBVSVByb2Nlc3Mvd2luL1dl
YlBvcHVwTWVudVByb3h5V2luLmNwcDoKICAgICAgICAoV2ViS2l0OjpXZWJQb3B1cE1lbnVQcm94
eVdpbjo6c2hvd1BvcHVwTWVudSk6IGFmdGVyIG5vdGlmeWluZyB0aGUgcG9wdXAgbWVudSBjbGll
bnQgdGhhdCB0aGUgdmFsdWUgY2hhbmdlZCwgZmFrZSBtb3VzZSB1cCBhbmQgbW91c2UgbW92ZSBl
dmVudHMgYXJlIHBvc3RlZAogICAgICAgICogVUlQcm9jZXNzL3dpbi9XZWJWaWV3LmNwcDoKICAg
ICAgICAoV2ViS2l0OjpXZWJWaWV3Ojpvbk1vdXNlRXZlbnQpOgogICAgICAgICogV2ViS2l0Mi54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgogICAgICAgICogd2luL1dlYktpdDIudmNwcm9qOgot
LS0KIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg
ICAzMSArKysrKysrKysrCiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvTmF0aXZlV2ViTW91c2VFdmVu
dC5oICAgICAgICB8ICAgNjQgKysrKysrKysrKysrKysrKysrKysKIC4uLi9XZWJLaXQyL1NoYXJl
ZC9tYWMvTmF0aXZlV2ViTW91c2VFdmVudE1hYy5tbSAgIHwgICA0MCArKysrKysrKysrKysKIC4u
Li9XZWJLaXQyL1NoYXJlZC93aW4vTmF0aXZlV2ViTW91c2VFdmVudFdpbi5jcHAgIHwgICA0MyAr
KysrKysrKysrKysrCiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0g
ICAgICAgICB8ICAgMzYgKysrKysrKy0tLS0KIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwICAgICAgICAgIHwgICAyMyArKysrKystCiBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmggICAgICAgICAgICB8ICAgIDcgKystCiBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUG9wdXBNZW51UHJveHkuaCAgICAgICB8ICAgIDIgKwogLi4uL1dlYktp
dDIvVUlQcm9jZXNzL21hYy9XZWJQb3B1cE1lbnVQcm94eU1hYy5tbSAgfCAgIDMxICsrKysrKysr
KysKIC4uLi9XZWJLaXQyL1VJUHJvY2Vzcy93aW4vV2ViUG9wdXBNZW51UHJveHlXaW4uY3BwIHwg
ICAgOSArKystCiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mvd2luL1dlYlZpZXcuY3BwICAgICAg
ICAgICB8ICAgIDMgKy0KIFNvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvaiAgIHwgICAgNiArKwogU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIudmNwcm9qICAg
ICAgICAgICAgICAgICAgfCAgIDYyICsrKysrKysrKysrKysrKysrKysKIDEzIGZpbGVzIGNoYW5n
ZWQsIDMzNiBpbnNlcnRpb25zKCspLCAyMSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0
NCBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvTmF0aXZlV2ViTW91c2VFdmVudC5oCiBjcmVhdGUgbW9k
ZSAxMDA2NDQgU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9OYXRpdmVXZWJNb3VzZUV2ZW50TWFj
Lm1tCiBjcmVhdGUgbW9kZSAxMDA2NDQgU291cmNlL1dlYktpdDIvU2hhcmVkL3dpbi9OYXRpdmVX
ZWJNb3VzZUV2ZW50V2luLmNwcAoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAwNDMzNTQ0Li5lMGJjZjE3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMTEtMDQtMDcgIEpvbiBMZWUgIDxqb25sZWVAYXBw
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IG9uQ2xpY2sgZG9lcyBub3QgZnVuY3Rpb24gd2l0aCA8c2VsZWN0PiBlbGVtZW50cyBpbiBXZWJL
aXQyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01Nzkw
NAorCisgICAgICAgICogU2hhcmVkL05hdGl2ZVdlYk1vdXNlRXZlbnQuaDogQ29waWVkIGZyb20g
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBvcHVwTWVudVByb3h5LmguCisgICAgICAgIChX
ZWJLaXQ6Ok5hdGl2ZVdlYk1vdXNlRXZlbnQ6Om5hdGl2ZUV2ZW50KToKKyAgICAgICAgKFdlYktp
dDo6TmF0aXZlV2ViTW91c2VFdmVudDo6bmF0aXZlVmlldyk6CisgICAgICAgICogU2hhcmVkL21h
Yy9OYXRpdmVXZWJNb3VzZUV2ZW50TWFjLm1tOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUG9wdXBNZW51UHJveHkuaC4KKyAgICAgICAgKFdlYktpdDo6TmF0aXZlV2Vi
TW91c2VFdmVudDo6TmF0aXZlV2ViTW91c2VFdmVudCk6CisgICAgICAgICogU2hhcmVkL3dpbi9O
YXRpdmVXZWJNb3VzZUV2ZW50V2luLmNwcDogQ29waWVkIGZyb20gU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBvcHVwTWVudVByb3h5LmguCisgICAgICAgIChXZWJLaXQ6Ok5hdGl2ZVdlYk1v
dXNlRXZlbnQ6Ok5hdGl2ZVdlYk1vdXNlRXZlbnQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
bWFjL1dLVmlldy5tbToKKyAgICAgICAgKC1bV0tWaWV3IF9tb3VzZUhhbmRsZXI6XSk6IFByZS1j
b21waWxlciBtb3VzZSBoYW5kbGVyIGNhbGxzIG5lZWQgdG8gdXNlIHRoZSBuZXcgTmF0aXZlV2Vi
TW91c2VFdmVudCBjbGFzcworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmhhbmRsZU1vdXNlRXZlbnQpOiBrZWVwIHRy
YWNrIG9mIG1vdXNlIGRvd24gZXZlbnQgaW4gb3JkZXIgdG8gYmUgYWJsZSB0byBzZW5kIGEgZmFr
ZSBtb3VzZSB1cCBldmVudCBvbiB0aGUgc2VsZWN0IGVsZW1lbnQKKyAgICAgICAgKFdlYktpdDo6
V2ViUGFnZVByb3h5OjpjdXJyZW50TW91c2VEb3duRXZlbnQpOiBmb3IgYWNjZXNzIGJ5IHRoZSBw
b3B1cCBtZW51IHByb3h5IHRvIGRpc3BhdGNoIHRoZSBmYWtlIG1vdXNlIHVwIGV2ZW50CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkUmVjZWl2ZUV2ZW50KTogY2xlYXIgb3V0IHRo
ZSBjYWNoZWQgbW91c2UgZG93biBldmVudAorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUG9wdXBNZW51UHJveHkuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvbWFjL1dlYlBvcHVwTWVudVByb3h5TWFjLm1tOgorICAgICAgICAoV2ViS2l0
OjpXZWJQb3B1cE1lbnVQcm94eU1hYzo6c2hvd1BvcHVwTWVudSk6IGFmdGVyIG5vdGlmeWluZyB0
aGUgcG9wdXAgbWVudSBjbGllbnQgdGhhdCB0aGUgdmFsdWUgY2hhbmdlZCwgZmFrZSBtb3VzZSB1
cCBhbmQgbW91c2UgbW92ZSBldmVudHMgYXJlIHBvc3RlZAorICAgICAgICAqIFVJUHJvY2Vzcy93
aW4vV2ViUG9wdXBNZW51UHJveHlXaW4uY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQb3B1cE1l
bnVQcm94eVdpbjo6c2hvd1BvcHVwTWVudSk6IGFmdGVyIG5vdGlmeWluZyB0aGUgcG9wdXAgbWVu
dSBjbGllbnQgdGhhdCB0aGUgdmFsdWUgY2hhbmdlZCwgZmFrZSBtb3VzZSB1cCBhbmQgbW91c2Ug
bW92ZSBldmVudHMgYXJlIHBvc3RlZAorICAgICAgICAqIFVJUHJvY2Vzcy93aW4vV2ViVmlldy5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXc6Om9uTW91c2VFdmVudCk6CisgICAgICAgICog
V2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHdpbi9XZWJLaXQy
LnZjcHJvajoKKwogMjAxMS0wNC0wNiAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQu
b3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL05hdGl2ZVdlYk1vdXNlRXZlbnQuaCBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9OYXRpdmVXZWJNb3VzZUV2ZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uMDViMDkzZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9OYXRpdmVXZWJNb3VzZUV2ZW50LmgKQEAgLTAsMCArMSw2NCBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
Zm5kZWYgTmF0aXZlV2ViTW91c2VFdmVudF9oCisjZGVmaW5lIE5hdGl2ZVdlYk1vdXNlRXZlbnRf
aAorCisjaW5jbHVkZSAiV2ViRXZlbnQuaCIKKworI2lmIFBMQVRGT1JNKE1BQykKKyNpbmNsdWRl
IDx3dGYvUmV0YWluUHRyLmg+CitPQkpDX0NMQVNTIE5TVmlldzsKKyNlbmRpZgorCituYW1lc3Bh
Y2UgV2ViS2l0IHsKKworY2xhc3MgTmF0aXZlV2ViTW91c2VFdmVudCA6IHB1YmxpYyBXZWJNb3Vz
ZUV2ZW50IHsKK3B1YmxpYzoKKyNpZiBQTEFURk9STShNQUMpCisgICAgTmF0aXZlV2ViTW91c2VF
dmVudChOU0V2ZW50ICosIE5TVmlldyAqKTsKKyNlbGlmIFBMQVRGT1JNKFdJTikKKyAgICBOYXRp
dmVXZWJNb3VzZUV2ZW50KEhXTkQsIFVJTlQgbWVzc2FnZSwgV1BBUkFNLCBMUEFSQU0sIGJvb2wp
OworI2VuZGlmCisgICAgCisjaWYgUExBVEZPUk0oTUFDKQorICAgIE5TRXZlbnQqIG5hdGl2ZUV2
ZW50KCkgY29uc3QgeyByZXR1cm4gbV9uYXRpdmVFdmVudC5nZXQoKTsgfQorICAgIE5TVmlldyog
bmF0aXZlVmlldygpIGNvbnN0IHsgcmV0dXJuIG1fbmF0aXZlVmlldy5nZXQoKTsgfQorI2VsaWYg
UExBVEZPUk0oV0lOKQorICAgIGNvbnN0IE1TRyogbmF0aXZlRXZlbnQoKSBjb25zdCB7IHJldHVy
biAmbV9uYXRpdmVFdmVudDsgfQorI2VuZGlmCisgICAgCitwcml2YXRlOgorI2lmIFBMQVRGT1JN
KE1BQykKKyAgICBSZXRhaW5QdHI8TlNFdmVudD4gbV9uYXRpdmVFdmVudDsKKyAgICBSZXRhaW5Q
dHI8TlNWaWV3PiBtX25hdGl2ZVZpZXc7CisjZWxpZiBQTEFURk9STShXSU4pCisgICAgTVNHIG1f
bmF0aXZlRXZlbnQ7CisjZW5kaWYKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5k
aWYgLy8gTmF0aXZlV2ViTW91c2VFdmVudF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvbWFjL05hdGl2ZVdlYk1vdXNlRXZlbnRNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvbWFjL05hdGl2ZVdlYk1vdXNlRXZlbnRNYWMubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uNGRjMGFjOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9tYWMvTmF0aXZlV2ViTW91c2VFdmVudE1hYy5tbQpAQCAtMCwwICsxLDQwIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisjaW1wb3J0ICJOYXRpdmVXZWJNb3VzZUV2ZW50
LmgiCisKKyNpbXBvcnQgIldlYkV2ZW50RmFjdG9yeS5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsK
KyAgICAKK05hdGl2ZVdlYk1vdXNlRXZlbnQ6Ok5hdGl2ZVdlYk1vdXNlRXZlbnQoTlNFdmVudCog
ZXZlbnQsIE5TVmlldyogdmlldykKKyAgICA6IFdlYk1vdXNlRXZlbnQoV2ViRXZlbnRGYWN0b3J5
OjpjcmVhdGVXZWJNb3VzZUV2ZW50KGV2ZW50LCB2aWV3KSkKKyAgICAsIG1fbmF0aXZlRXZlbnQo
ZXZlbnQpCisgICAgLCBtX25hdGl2ZVZpZXcodmlldykKK3sKK30KKworfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvd2luL05hdGl2ZVdlYk1v
dXNlRXZlbnRXaW4uY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3dpbi9OYXRpdmVXZWJNb3Vz
ZUV2ZW50V2luLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YjgzZGM2
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3dpbi9OYXRpdmVXZWJN
b3VzZUV2ZW50V2luLmNwcApAQCAtMCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIk5hdGl2ZVdlYk1vdXNlRXZlbnQuaCIKKworI2luY2x1ZGUg
IldlYkV2ZW50RmFjdG9yeS5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworTmF0aXZlV2ViTW91
c2VFdmVudDo6TmF0aXZlV2ViTW91c2VFdmVudChIV05EIGh3bmQsIFVJTlQgbWVzc2FnZSwgV1BB
UkFNIHdQYXJhbSwgTFBBUkFNIGxQYXJhbSwgYm9vbCBkaWRBY3RpdmF0ZVdlYlZpZXcpCisgICAg
OiBXZWJNb3VzZUV2ZW50KFdlYkV2ZW50RmFjdG9yeTo6Y3JlYXRlV2ViTW91c2VFdmVudChod25k
LCBtZXNzYWdlLCB3UGFyYW0sIGxQYXJhbSwgZGlkQWN0aXZhdGVXZWJWaWV3KSkKKyAgICAsIG1f
bmF0aXZlRXZlbnQoKQoreworICAgIG1fbmF0aXZlRXZlbnQuaHduZCA9IGh3bmQ7CisgICAgbV9u
YXRpdmVFdmVudC5tZXNzYWdlID0gbWVzc2FnZTsKKyAgICBtX25hdGl2ZUV2ZW50LndQYXJhbSA9
IHdQYXJhbTsKKyAgICBtX25hdGl2ZUV2ZW50LmxQYXJhbSA9IGxQYXJhbTsKK30KKworfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L21hYy9XS1ZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcu
bW0KaW5kZXggYWRjNDBlMS4uNTYzOTY2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvbWFjL1dLVmlldy5tbQpAQCAtMzQsNiArMzQsNyBAQAogI2ltcG9ydCAiTGF5ZXJUcmVlQ29u
dGV4dC5oIgogI2ltcG9ydCAiTG9nZ2luZy5oIgogI2ltcG9ydCAiTmF0aXZlV2ViS2V5Ym9hcmRF
dmVudC5oIgorI2ltcG9ydCAiTmF0aXZlV2ViTW91c2VFdmVudC5oIgogI2ltcG9ydCAiUERGVmll
d0NvbnRyb2xsZXIuaCIKICNpbXBvcnQgIlBhZ2VDbGllbnRJbXBsLmgiCiAjaW1wb3J0ICJQYXN0
ZWJvYXJkVHlwZXMuaCIKQEAgLTkzNyw2ICs5MzgsMjcgQEAgc3RhdGljIHZvaWQgc3BlYWtTdHJp
bmcoV0tTdHJpbmdSZWYgc3RyaW5nLCBXS0Vycm9yUmVmIGVycm9yLCB2b2lkKikKICAgICBfZGF0
YS0+X21vdXNlRG93bkV2ZW50ID0gW2V2ZW50IHJldGFpbl07CiB9CiAKKyNkZWZpbmUgTkFUSVZF
X01PVVNFX0VWRU5UX0hBTkRMRVIoU2VsZWN0b3IpIFwKKy0gKHZvaWQpU2VsZWN0b3I6KE5TRXZl
bnQgKil0aGVFdmVudCBcCit7IFwKK05hdGl2ZVdlYk1vdXNlRXZlbnQgd2ViRXZlbnQodGhlRXZl
bnQsIHNlbGYpOyBcCitfZGF0YS0+X3BhZ2UtPmhhbmRsZU1vdXNlRXZlbnQod2ViRXZlbnQpOyBc
Cit9CisKK05BVElWRV9NT1VTRV9FVkVOVF9IQU5ETEVSKG1vdXNlRW50ZXJlZCkKK05BVElWRV9N
T1VTRV9FVkVOVF9IQU5ETEVSKG1vdXNlRXhpdGVkKQorTkFUSVZFX01PVVNFX0VWRU5UX0hBTkRM
RVIobW91c2VNb3ZlZCkKK05BVElWRV9NT1VTRV9FVkVOVF9IQU5ETEVSKG90aGVyTW91c2VEb3du
KQorTkFUSVZFX01PVVNFX0VWRU5UX0hBTkRMRVIob3RoZXJNb3VzZURyYWdnZWQpCitOQVRJVkVf
TU9VU0VfRVZFTlRfSEFORExFUihvdGhlck1vdXNlTW92ZWQpCitOQVRJVkVfTU9VU0VfRVZFTlRf
SEFORExFUihvdGhlck1vdXNlVXApCitOQVRJVkVfTU9VU0VfRVZFTlRfSEFORExFUihyaWdodE1v
dXNlRG93bikKK05BVElWRV9NT1VTRV9FVkVOVF9IQU5ETEVSKHJpZ2h0TW91c2VEcmFnZ2VkKQor
TkFUSVZFX01PVVNFX0VWRU5UX0hBTkRMRVIocmlnaHRNb3VzZU1vdmVkKQorTkFUSVZFX01PVVNF
X0VWRU5UX0hBTkRMRVIocmlnaHRNb3VzZVVwKQorCisjdW5kZWYgTkFUSVZFX0VWRU5UX0hBTkRM
RVIKKwogI2RlZmluZSBFVkVOVF9IQU5ETEVSKFNlbGVjdG9yLCBUeXBlKSBcCiAgICAgLSAodm9p
ZClTZWxlY3RvcjooTlNFdmVudCAqKXRoZUV2ZW50IFwKICAgICB7IFwKQEAgLTk0NCwxNyArOTY2
LDYgQEAgc3RhdGljIHZvaWQgc3BlYWtTdHJpbmcoV0tTdHJpbmdSZWYgc3RyaW5nLCBXS0Vycm9y
UmVmIGVycm9yLCB2b2lkKikKICAgICAgICAgX2RhdGEtPl9wYWdlLT5oYW5kbGUjI1R5cGUjI0V2
ZW50KHdlYkV2ZW50KTsgXAogICAgIH0KIAotRVZFTlRfSEFORExFUihtb3VzZUVudGVyZWQsIE1v
dXNlKQotRVZFTlRfSEFORExFUihtb3VzZUV4aXRlZCwgTW91c2UpCi1FVkVOVF9IQU5ETEVSKG1v
dXNlTW92ZWQsIE1vdXNlKQotRVZFTlRfSEFORExFUihvdGhlck1vdXNlRG93biwgTW91c2UpCi1F
VkVOVF9IQU5ETEVSKG90aGVyTW91c2VEcmFnZ2VkLCBNb3VzZSkKLUVWRU5UX0hBTkRMRVIob3Ro
ZXJNb3VzZU1vdmVkLCBNb3VzZSkKLUVWRU5UX0hBTkRMRVIob3RoZXJNb3VzZVVwLCBNb3VzZSkK
LUVWRU5UX0hBTkRMRVIocmlnaHRNb3VzZURvd24sIE1vdXNlKQotRVZFTlRfSEFORExFUihyaWdo
dE1vdXNlRHJhZ2dlZCwgTW91c2UpCi1FVkVOVF9IQU5ETEVSKHJpZ2h0TW91c2VNb3ZlZCwgTW91
c2UpCi1FVkVOVF9IQU5ETEVSKHJpZ2h0TW91c2VVcCwgTW91c2UpCiBFVkVOVF9IQU5ETEVSKHNj
cm9sbFdoZWVsLCBXaGVlbCkKIAogI3VuZGVmIEVWRU5UX0hBTkRMRVIKQEAgLTk2NCw4ICs5NzUs
NyBAQCBFVkVOVF9IQU5ETEVSKHNjcm9sbFdoZWVsLCBXaGVlbCkKICAgICBOU0lucHV0TWFuYWdl
ciAqY3VycmVudElucHV0TWFuYWdlciA9IFtOU0lucHV0TWFuYWdlciBjdXJyZW50SW5wdXRNYW5h
Z2VyXTsKICAgICBpZiAoW2N1cnJlbnRJbnB1dE1hbmFnZXIgd2FudHNUb0hhbmRsZU1vdXNlRXZl
bnRzXSAmJiBbY3VycmVudElucHV0TWFuYWdlciBoYW5kbGVNb3VzZUV2ZW50OmV2ZW50XSkKICAg
ICAgICAgcmV0dXJuOwotICAgIFdlYk1vdXNlRXZlbnQgd2ViRXZlbnQgPSBXZWJFdmVudEZhY3Rv
cnk6OmNyZWF0ZVdlYk1vdXNlRXZlbnQoZXZlbnQsIHNlbGYpOwotICAgIF9kYXRhLT5fcGFnZS0+
aGFuZGxlTW91c2VFdmVudCh3ZWJFdmVudCk7CisgICAgX2RhdGEtPl9wYWdlLT5oYW5kbGVNb3Vz
ZUV2ZW50KE5hdGl2ZVdlYk1vdXNlRXZlbnQoZXZlbnQsIHNlbGYpKTsKIH0KIAogLSAodm9pZClt
b3VzZURvd246KE5TRXZlbnQgKilldmVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcAppbmRleCAwOGNmZjI4Li5lMTZiNzIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIkZpbmRJ
bmRpY2F0b3IuaCIKICNpbmNsdWRlICJNZXNzYWdlSUQuaCIKICNpbmNsdWRlICJOYXRpdmVXZWJL
ZXlib2FyZEV2ZW50LmgiCisjaW5jbHVkZSAiTmF0aXZlV2ViTW91c2VFdmVudC5oIgogI2luY2x1
ZGUgIlBhZ2VDbGllbnQuaCIKICNpbmNsdWRlICJQcmludEluZm8uaCIKICNpbmNsdWRlICJTZXNz
aW9uU3RhdGUuaCIKQEAgLTc2MSw3ICs3NjIsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZHJhZ0Vu
ZGVkKGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBjbGllbnRQb3NpdGlvbiwgY29uc3QgV2ViQwog
ICAgIHByb2Nlc3MoKS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6RHJhZ0VuZGVkKGNsaWVudFBv
c2l0aW9uLCBnbG9iYWxQb3NpdGlvbiwgb3BlcmF0aW9uKSwgbV9wYWdlSUQpOwogfQogCi12b2lk
IFdlYlBhZ2VQcm94eTo6aGFuZGxlTW91c2VFdmVudChjb25zdCBXZWJNb3VzZUV2ZW50JiBldmVu
dCkKK3ZvaWQgV2ViUGFnZVByb3h5OjpoYW5kbGVNb3VzZUV2ZW50KGNvbnN0IE5hdGl2ZVdlYk1v
dXNlRXZlbnQmIGV2ZW50KQogewogICAgIGlmICghaXNWYWxpZCgpKQogICAgICAgICByZXR1cm47
CkBAIC03NzEsMTMgKzc3MiwyMCBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6aGFuZGxlTW91c2VFdmVu
dChjb25zdCBXZWJNb3VzZUV2ZW50JiBldmVudCkKICAgICAgICAgcHJvY2VzcygpLT5yZXNwb25z
aXZlbmVzc1RpbWVyKCktPnN0YXJ0KCk7CiAgICAgZWxzZSB7CiAgICAgICAgIGlmIChtX3Byb2Nl
c3NpbmdNb3VzZU1vdmVFdmVudCkgewotICAgICAgICAgICAgbV9uZXh0TW91c2VNb3ZlRXZlbnQg
PSBhZG9wdFB0cihuZXcgV2ViTW91c2VFdmVudChldmVudCkpOworICAgICAgICAgICAgbV9uZXh0
TW91c2VNb3ZlRXZlbnQgPSBhZG9wdFB0cihuZXcgTmF0aXZlV2ViTW91c2VFdmVudChldmVudCkp
OwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKICAgICAgICAgbV9wcm9jZXNzaW5n
TW91c2VNb3ZlRXZlbnQgPSB0cnVlOwogICAgIH0KLQorICAgIAorICAgIC8vIChidWcgIzU3OTA0
KSB3ZSBuZWVkIHRvIGtlZXAgdHJhY2sgb2YgdGhlIG1vdXNlIGRvd24gZXZlbnQgaW4gdGhlIGNh
c2Ugd2hlcmUgd2UKKyAgICAvLyBkaXNwbGF5IGEgcG9wdXAgbWVudSBmb3Igc2VsZWN0IGVsZW1l
bnRzLiB3aGVuIHRoZSB1c2VyIGNoYW5nZXMgdGhlIHNlbGVjdGVkIGl0ZW0sCisgICAgLy8gd2Ug
ZmFrZSBhIG1vdXNlIHVwIGV2ZW50IGJ5IHVzaW5nIHRoaXMgc3RvcmVkIGRvd24gZXZlbnQuIHRo
aXMgZXZlbnQgZ2V0cyBjbGVhcmVkCisgICAgLy8gd2hlbiB0aGUgbW91c2UgdXAgbWVzc2FnZSBp
cyByZWNlaXZlZCBmcm9tIFdlYlByb2Nlc3MKKyAgICBpZiAoZXZlbnQudHlwZSgpID09IFdlYkV2
ZW50OjpNb3VzZURvd24pCisgICAgICAgIG1fY3VycmVudE1vdXNlRG93bkV2ZW50ID0gYWRvcHRQ
dHIobmV3IE5hdGl2ZVdlYk1vdXNlRXZlbnQoZXZlbnQpKTsKKyAgICAKICAgICBwcm9jZXNzKCkt
PnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6Ok1vdXNlRXZlbnQoZXZlbnQpLCBtX3BhZ2VJRCk7CiB9
CiAKQEAgLTIxMzUsNiArMjE0MywxMSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6c2V0VGV4dEZyb21J
dGVtRm9yUG9wdXBNZW51KFdlYlBvcHVwTWVudVByb3h5KiwgaW50MzJfdCBpbmRleAogICAgIHBy
b2Nlc3MoKS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6U2V0VGV4dEZvckFjdGl2ZVBvcHVwTWVu
dShpbmRleCksIG1fcGFnZUlEKTsKIH0KIAorTmF0aXZlV2ViTW91c2VFdmVudCogV2ViUGFnZVBy
b3h5OjpjdXJyZW50TW91c2VEb3duRXZlbnQoKQoreworICAgIHJldHVybiBtX2N1cnJlbnRNb3Vz
ZURvd25FdmVudC5nZXQoKTsKK30KKwogdm9pZCBXZWJQYWdlUHJveHk6OnNob3dQb3B1cE1lbnUo
Y29uc3QgSW50UmVjdCYgcmVjdCwgdWludDY0X3QgdGV4dERpcmVjdGlvbiwgY29uc3QgVmVjdG9y
PFdlYlBvcHVwSXRlbT4mIGl0ZW1zLCBpbnQzMl90IHNlbGVjdGVkSW5kZXgsIGNvbnN0IFBsYXRm
b3JtUG9wdXBNZW51RGF0YSYgZGF0YSkKIHsKICAgICBpZiAobV9hY3RpdmVQb3B1cE1lbnUpIHsK
QEAgLTI0MzksMTIgKzI0NTIsMTQgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRpZFJlY2VpdmVFdmVu
dCh1aW50MzJfdCBvcGFxdWVUeXBlLCBib29sIGhhbmRsZWQpCiAgICAgICAgIH0KICAgICAgICAg
YnJlYWs7CiAgICAgY2FzZSBXZWJFdmVudDo6TW91c2VEb3duOgotICAgIGNhc2UgV2ViRXZlbnQ6
Ok1vdXNlVXA6CiAjaWYgRU5BQkxFKEdFU1RVUkVfRVZFTlRTKQogICAgIGNhc2UgV2ViRXZlbnQ6
Okdlc3R1cmVTY3JvbGxCZWdpbjoKICAgICBjYXNlIFdlYkV2ZW50OjpHZXN0dXJlU2Nyb2xsRW5k
OgogI2VuZGlmCiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgV2ViRXZlbnQ6Ok1vdXNlVXA6Cisg
ICAgICAgIG1fY3VycmVudE1vdXNlRG93bkV2ZW50ID0gbnVsbHB0cjsKKyAgICAgICAgYnJlYWs7
CiAKICAgICBjYXNlIFdlYkV2ZW50OjpXaGVlbDogewogICAgICAgICBtX3Byb2Nlc3NpbmdXaGVl
bEV2ZW50ID0gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5k
ZXggMzk2ZmE2MS4uYThjOGUzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaApAQCAtNzgsNiArNzgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBuYW1lc3BhY2UgV2Vi
S2l0IHsKIAogY2xhc3MgTmF0aXZlV2ViS2V5Ym9hcmRFdmVudDsKK2NsYXNzIE5hdGl2ZVdlYk1v
dXNlRXZlbnQ7CiBjbGFzcyBQYWdlQ2xpZW50OwogY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm87CiBjbGFzcyBTdHJpbmdQYWlyVmVjdG9yOwpAQCAtMjc3LDcgKzI3OCw3IEBAIHB1YmxpYzoK
ICAgICB2b2lkIHNldEFjdHVhbFZpc2libGVDb250ZW50UmVjdChjb25zdCBXZWJDb3JlOjpJbnRS
ZWN0JiByZWN0KTsKICNlbmRpZgogCi0gICAgdm9pZCBoYW5kbGVNb3VzZUV2ZW50KGNvbnN0IFdl
Yk1vdXNlRXZlbnQmKTsKKyAgICB2b2lkIGhhbmRsZU1vdXNlRXZlbnQoY29uc3QgTmF0aXZlV2Vi
TW91c2VFdmVudCYpOwogICAgIHZvaWQgaGFuZGxlV2hlZWxFdmVudChjb25zdCBXZWJXaGVlbEV2
ZW50Jik7CiAgICAgdm9pZCBoYW5kbGVLZXlib2FyZEV2ZW50KGNvbnN0IE5hdGl2ZVdlYktleWJv
YXJkRXZlbnQmKTsKICNpZiBFTkFCTEUoR0VTVFVSRV9FVkVOVFMpCkBAIC00ODYsNiArNDg3LDcg
QEAgcHJpdmF0ZToKICAgICAvLyBXZWJQb3B1cE1lbnVQcm94eTo6Q2xpZW50CiAgICAgdmlydHVh
bCB2b2lkIHZhbHVlQ2hhbmdlZEZvclBvcHVwTWVudShXZWJQb3B1cE1lbnVQcm94eSosIGludDMy
X3QgbmV3U2VsZWN0ZWRJbmRleCk7CiAgICAgdmlydHVhbCB2b2lkIHNldFRleHRGcm9tSXRlbUZv
clBvcHVwTWVudShXZWJQb3B1cE1lbnVQcm94eSosIGludDMyX3QgaW5kZXgpOworICAgIHZpcnR1
YWwgTmF0aXZlV2ViTW91c2VFdmVudCogY3VycmVudE1vdXNlRG93bkV2ZW50KCk7CiAKICAgICAv
LyBJbXBsZW1lbnRlZCBpbiBnZW5lcmF0ZWQgV2ViUGFnZVByb3h5TWVzc2FnZVJlY2VpdmVyLmNw
cAogICAgIHZvaWQgZGlkUmVjZWl2ZVdlYlBhZ2VQcm94eU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVj
dGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKik7CkBA
IC03ODAsNyArNzgyLDggQEAgcHJpdmF0ZToKICAgICBPd25QdHI8V2ViV2hlZWxFdmVudD4gbV9u
ZXh0V2hlZWxFdmVudDsKIAogICAgIGJvb2wgbV9wcm9jZXNzaW5nTW91c2VNb3ZlRXZlbnQ7Ci0g
ICAgT3duUHRyPFdlYk1vdXNlRXZlbnQ+IG1fbmV4dE1vdXNlTW92ZUV2ZW50OworICAgIE93blB0
cjxOYXRpdmVXZWJNb3VzZUV2ZW50PiBtX25leHRNb3VzZU1vdmVFdmVudDsKKyAgICBPd25QdHI8
TmF0aXZlV2ViTW91c2VFdmVudD4gbV9jdXJyZW50TW91c2VEb3duRXZlbnQ7CiAKICAgICB1aW50
NjRfdCBtX3BhZ2VJRDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBvcHVwTWVudVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUG9wdXBNZW51
UHJveHkuaAppbmRleCA5NjkwMWZiLi44ZTQwOTI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUG9wdXBNZW51UHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUG9wdXBNZW51UHJveHkuaApAQCAtMzksNiArMzksNyBAQCBuYW1lc3BhY2UgV2Vi
S2l0IHsKIAogc3RydWN0IFBsYXRmb3JtUG9wdXBNZW51RGF0YTsKIHN0cnVjdCBXZWJQb3B1cEl0
ZW07CitjbGFzcyBOYXRpdmVXZWJNb3VzZUV2ZW50OwogCiBjbGFzcyBXZWJQb3B1cE1lbnVQcm94
eSA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYlBvcHVwTWVudVByb3h5PiB7CiBwdWJsaWM6CkBAIC01
MSw2ICs1Miw3IEBAIHB1YmxpYzoKICAgICBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgdm9pZCB2
YWx1ZUNoYW5nZWRGb3JQb3B1cE1lbnUoV2ViUG9wdXBNZW51UHJveHkqLCBpbnQzMl90IG5ld1Nl
bGVjdGVkSW5kZXgpID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lkIHNldFRleHRGcm9tSXRlbUZv
clBvcHVwTWVudShXZWJQb3B1cE1lbnVQcm94eSosIGludDMyX3QgaW5kZXgpID0gMDsKKyAgICAg
ICAgdmlydHVhbCBOYXRpdmVXZWJNb3VzZUV2ZW50KiBjdXJyZW50TW91c2VEb3duRXZlbnQoKSA9
IDA7CiAgICAgfTsKIAogICAgIHZpcnR1YWwgfldlYlBvcHVwTWVudVByb3h5KCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViUG9wdXBNZW51UHJveHlNYWMubW0g
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYlBvcHVwTWVudVByb3h5TWFjLm1tCmlu
ZGV4IDdjZTg3NjQuLjA4YjE3YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9tYWMvV2ViUG9wdXBNZW51UHJveHlNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL21hYy9XZWJQb3B1cE1lbnVQcm94eU1hYy5tbQpAQCAtMjYsNiArMjYsNyBAQAogI2ltcG9y
dCAiY29uZmlnLmgiCiAjaW1wb3J0ICJXZWJQb3B1cE1lbnVQcm94eU1hYy5oIgogCisjaW1wb3J0
ICJOYXRpdmVXZWJNb3VzZUV2ZW50LmgiCiAjaW1wb3J0ICJQYWdlQ2xpZW50SW1wbC5oIgogI2lt
cG9ydCAiUGxhdGZvcm1Qb3B1cE1lbnVEYXRhLmgiCiAjaW1wb3J0ICJXS1ZpZXcuaCIKQEAgLTEy
NCw3ICsxMjUsMzcgQEAgdm9pZCBXZWJQb3B1cE1lbnVQcm94eU1hYzo6c2hvd1BvcHVwTWVudShj
b25zdCBJbnRSZWN0JiByZWN0LCBUZXh0RGlyZWN0aW9uIHRleHQKICAgICBbZHVtbXlWaWV3Lmdl
dCgpIHJlbW92ZUZyb21TdXBlcnZpZXddOwogCiAgICAgaWYgKG1fY2xpZW50KQorICAgIHsKICAg
ICAgICAgbV9jbGllbnQtPnZhbHVlQ2hhbmdlZEZvclBvcHVwTWVudSh0aGlzLCBbbV9wb3B1cC5n
ZXQoKSBpbmRleE9mU2VsZWN0ZWRJdGVtXSk7CisKKyAgICAgICAgLy8gNTc5MDQ6IFRoaXMgY29k
ZSBpcyBhZG9wdGVkIGZyb20gRXZlbnRIYW5kbGVyOjpzZW5kRmFrZUV2ZW50c0FmdGVyV2lkZ2V0
VHJhY2tpbmcoKQorICAgICAgICBOU0V2ZW50KiBpbml0aWF0aW5nTlNFdmVudCA9IG1fY2xpZW50
LT5jdXJyZW50TW91c2VEb3duRXZlbnQoKS0+bmF0aXZlRXZlbnQoKTsKKyAgICAgICAgaWYgKFtp
bml0aWF0aW5nTlNFdmVudCB0eXBlXSA9PSBOU0xlZnRNb3VzZURvd24pCisgICAgICAgIHsKKyAg
ICAgICAgICAgIE5TRXZlbnQgKmZha2VFdmVudCA9IG5pbDsKKyAgICAgICAgICAgIGZha2VFdmVu
dCA9IFtOU0V2ZW50IG1vdXNlRXZlbnRXaXRoVHlwZTpOU0xlZnRNb3VzZVVwCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb246W2luaXRpYXRpbmdOU0V2
ZW50IGxvY2F0aW9uSW5XaW5kb3ddCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG1vZGlmaWVyRmxhZ3M6W2luaXRpYXRpbmdOU0V2ZW50IG1vZGlmaWVyRmxhZ3NdCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lc3RhbXA6W2luaXRpYXRp
bmdOU0V2ZW50IHRpbWVzdGFtcF0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHdpbmRvd051bWJlcjpbaW5pdGlhdGluZ05TRXZlbnQgd2luZG93TnVtYmVyXQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0Oltpbml0aWF0aW5n
TlNFdmVudCBjb250ZXh0XQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGV2ZW50TnVtYmVyOltpbml0aWF0aW5nTlNFdmVudCBldmVudE51bWJlcl0KKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpY2tDb3VudDpbaW5pdGlhdGluZ05TRXZl
bnQgY2xpY2tDb3VudF0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwcmVzc3VyZTpbaW5pdGlhdGluZ05TRXZlbnQgcHJlc3N1cmVdXTsKKyAgICAgICAgICAgIAor
ICAgICAgICAgICAgW05TQXBwIHBvc3RFdmVudDpmYWtlRXZlbnQgYXRTdGFydDpZRVNdOworICAg
ICAgICAgICAgZmFrZUV2ZW50ID0gW05TRXZlbnQgbW91c2VFdmVudFdpdGhUeXBlOk5TTW91c2VN
b3ZlZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2F0aW9u
OltbbV9jbGllbnQtPmN1cnJlbnRNb3VzZURvd25FdmVudCgpLT5uYXRpdmVWaWV3KCkgd2luZG93
XSBjb252ZXJ0U2NyZWVuVG9CYXNlOltOU0V2ZW50IG1vdXNlTG9jYXRpb25dXQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RpZmllckZsYWdzOltpbml0aWF0aW5nTlNF
dmVudCBtb2RpZmllckZsYWdzXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdGltZXN0YW1wOltpbml0aWF0aW5nTlNFdmVudCB0aW1lc3RhbXBdCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3dOdW1iZXI6W2luaXRpYXRpbmdOU0V2
ZW50IHdpbmRvd051bWJlcl0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29udGV4dDpbaW5pdGlhdGluZ05TRXZlbnQgY29udGV4dF0KKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudE51bWJlcjowCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWNrQ291bnQ6MAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHByZXNzdXJlOjBdOworICAgICAgICAgICAgW05TQXBw
IHBvc3RFdmVudDpmYWtlRXZlbnQgYXRTdGFydDpZRVNdOworICAgICAgICB9CisgICAgfQogfQog
CiB2b2lkIFdlYlBvcHVwTWVudVByb3h5TWFjOjpoaWRlUG9wdXBNZW51KCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy93aW4vV2ViUG9wdXBNZW51UHJveHlXaW4uY3BwIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3dpbi9XZWJQb3B1cE1lbnVQcm94eVdpbi5jcHAKaW5k
ZXggZWViZGU3NS4uODFkZWQ1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L3dpbi9XZWJQb3B1cE1lbnVQcm94eVdpbi5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL3dpbi9XZWJQb3B1cE1lbnVQcm94eVdpbi5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNs
dWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJQb3B1cE1lbnVQcm94eVdpbi5oIgogCisjaW5j
bHVkZSAiTmF0aXZlV2ViTW91c2VFdmVudC5oIgogI2luY2x1ZGUgIldlYlZpZXcuaCIKICNpbmNs
dWRlIDxXZWJDb3JlL1dlYkNvcmVJbnN0YW5jZUhhbmRsZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
U2Nyb2xsYmFyVGhlbWUuaD4KQEAgLTMyNCw4ICszMjUsMTQgQEAgdm9pZCBXZWJQb3B1cE1lbnVQ
cm94eVdpbjo6c2hvd1BvcHVwTWVudShjb25zdCBJbnRSZWN0JiByZWN0LCBUZXh0RGlyZWN0aW9u
LCBkb3UKICAgICBtX3Nob3dQb3B1cCA9IGZhbHNlOwogICAgIDo6U2hvd1dpbmRvdyhtX3BvcHVw
LCBTV19ISURFKTsKIAotICAgIGlmIChtX2NsaWVudCkKKyAgICBpZiAobV9jbGllbnQpIHsKICAg
ICAgICAgbV9jbGllbnQtPnZhbHVlQ2hhbmdlZEZvclBvcHVwTWVudSh0aGlzLCBtX25ld1NlbGVj
dGVkSW5kZXgpOworCisgICAgICAgIGNvbnN0IE1TRyogaW5pdGlhdGluZ1dpbkV2ZW50ID0gbV9j
bGllbnQtPmN1cnJlbnRNb3VzZURvd25FdmVudCgpLT5uYXRpdmVFdmVudCgpOworICAgICAgICBN
U0cgZmFrZUV2ZW50ID0gKmluaXRpYXRpbmdXaW5FdmVudDsKKyAgICAgICAgZmFrZUV2ZW50Lm1l
c3NhZ2UgPSBXTV9MQlVUVE9OVVA7CisgICAgICAgIDo6RGlzcGF0Y2hNZXNzYWdlKCZmYWtlRXZl
bnQpOworICAgIH0KIH0KIAogdm9pZCBXZWJQb3B1cE1lbnVQcm94eVdpbjo6aGlkZVBvcHVwTWVu
dSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mvd2luL1dlYlZpZXcuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3dpbi9XZWJWaWV3LmNwcAppbmRleCAxNDQ3ODY0
Li4zMTg5NzQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mvd2luL1dlYlZp
ZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy93aW4vV2ViVmlldy5jcHAKQEAg
LTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJGaW5kSW5kaWNhdG9yLmgiCiAjaW5jbHVkZSAiTG9n
Z2luZy5oIgogI2luY2x1ZGUgIk5hdGl2ZVdlYktleWJvYXJkRXZlbnQuaCIKKyNpbmNsdWRlICJO
YXRpdmVXZWJNb3VzZUV2ZW50LmgiCiAjaW5jbHVkZSAiUmVnaW9uLmgiCiAjaW5jbHVkZSAiUnVu
TG9vcC5oIgogI2luY2x1ZGUgIldLQVBJQ2FzdC5oIgpAQCAtMzY1LDcgKzM2Niw3IEBAIHZvaWQg
V2ViVmlldzo6d2luZG93QW5jZXN0cnlEaWRDaGFuZ2UoKQogCiBMUkVTVUxUIFdlYlZpZXc6Om9u
TW91c2VFdmVudChIV05EIGhXbmQsIFVJTlQgbWVzc2FnZSwgV1BBUkFNIHdQYXJhbSwgTFBBUkFN
IGxQYXJhbSwgYm9vbCYgaGFuZGxlZCkKIHsKLSAgICBXZWJNb3VzZUV2ZW50IG1vdXNlRXZlbnQg
PSBXZWJFdmVudEZhY3Rvcnk6OmNyZWF0ZVdlYk1vdXNlRXZlbnQoaFduZCwgbWVzc2FnZSwgd1Bh
cmFtLCBsUGFyYW0sIG1fd2FzQWN0aXZhdGVkQnlNb3VzZUV2ZW50KTsKKyAgICBOYXRpdmVXZWJN
b3VzZUV2ZW50IG1vdXNlRXZlbnQgPSBOYXRpdmVXZWJNb3VzZUV2ZW50KGhXbmQsIG1lc3NhZ2Us
IHdQYXJhbSwgbFBhcmFtLCBtX3dhc0FjdGl2YXRlZEJ5TW91c2VFdmVudCk7CiAgICAgc2V0V2Fz
QWN0aXZhdGVkQnlNb3VzZUV2ZW50KGZhbHNlKTsKICAgICAKICAgICBzd2l0Y2ggKG1lc3NhZ2Up
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agppbmRleCBhOTUzMzQ3Li5hYWRkMThiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJL
aXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdDIvV2ViS2l0
Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yMzYsNiArMjM2LDcgQEAKIAkJMUNBOEI5
NTQxMjdDODkxNTAwNTc2QzJCIC8qIFdlYkluc3BlY3Rvck1hYy5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDOEUyREFEMTI3OEM1QjIwMEJDN0JEMCAv
KiBXZWJJbnNwZWN0b3JNYWMubW0gKi87IH07CiAJCTI5Q0Q1NUFBMTI4RTI5NEYwMDEzM0M4NSAv
KiBBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMjlDRDU1QTgxMjhFMjk0RjAwMTMzQzg1IC8qIEFjY2Vzc2li
aWxpdHlXZWJQYWdlT2JqZWN0LmggKi87IH07CiAJCTI5Q0Q1NUFCMTI4RTI5NEYwMDEzM0M4NSAv
KiBBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5Q0Q1NUE5MTI4RTI5NEYwMDEzM0M4NSAvKiBBY2Nlc3Np
YmlsaXR5V2ViUGFnZU9iamVjdC5tbSAqLzsgfTsKKwkJMzFBMjY4M0MxMzREMUZDMzAwMTkzODRB
IC8qIE5hdGl2ZVdlYk1vdXNlRXZlbnRNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAzMUEyNjgzNjEzNEQxQzQ0MDAxOTM4NEEgLyogTmF0aXZlV2Vi
TW91c2VFdmVudE1hYy5tbSAqLzsgfTsKIAkJMzMwOTM0NDcxMzE1QjkyMjAwOTdBN0JDIC8qIFdl
YkNvb2tpZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzMwOTM0NDMxMzE1QjkyMjAwOTdBN0JDIC8qIFdlYkNv
b2tpZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQkzMzA5MzQ0ODEzMTVCOTIy
MDA5N0E3QkMgLyogV2ViQ29va2llTWFuYWdlck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMzA5MzQ0NDEzMTVCOTIyMDA5N0E3QkMgLyog
V2ViQ29va2llTWFuYWdlck1lc3NhZ2VzLmggKi87IH07CiAJCTMzMDkzNDQ5MTMxNUI5MjIwMDk3
QTdCQyAvKiBXZWJDb29raWVNYW5hZ2VyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzMwOTM0NDUxMzE1QjkyMjAw
OTdBN0JDIC8qIFdlYkNvb2tpZU1hbmFnZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07
CkBAIC0xMTEyLDYgKzExMTMsOCBAQAogCQkxQ0E4Qjk0NDEyN0M4ODJBMDA1NzZDMkIgLyogV2Vi
SW5zcGVjdG9yUHJveHlNZXNzYWdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXZWJJbnNwZWN0b3JQcm94eU1lc3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTI5Q0Q1NUE4MTI4RTI5NEYwMDEzM0M4NSAvKiBBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVj
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5V2ViUGFn
ZU9iamVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOUNENTVBOTEyOEUyOTRG
MDAxMzNDODUgLyogQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3QubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdC5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFBMjY4MzMxMzREMUE0NjAwMTkzODRBIC8q
IE5hdGl2ZVdlYk1vdXNlRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
TmF0aXZlV2ViTW91c2VFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUEy
NjgzNjEzNEQxQzQ0MDAxOTM4NEEgLyogTmF0aXZlV2ViTW91c2VFdmVudE1hYy5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IE5hdGl2ZVdlYk1vdXNlRXZlbnRNYWMu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMyREJDRjVFMDM3MEFERUUwMEM5MTc4
MyAvKiBXZWJLaXQyUHJlZml4LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdl
YktpdDJQcmVmaXguaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzMwOTM0NDMxMzE1
QjkyMjAwOTdBN0JDIC8qIFdlYkNvb2tpZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViQ29va2llTWFuYWdlck1lc3NhZ2VS
ZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMzMDkzNDQ0MTMxNUI5
MjIwMDk3QTdCQyAvKiBXZWJDb29raWVNYW5hZ2VyTWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gV2ViQ29va2llTWFuYWdlck1lc3NhZ2VzLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0yMDYwLDYgKzIwNjMsNyBAQAogCQkJCUJDQzgwNDlFMTIyRjBE
NkIwMDEwMzUyOSAvKiBNdXRhYmxlQXJyYXkuaCAqLywKIAkJCQlCQ0IwQUVFODEyMkY1M0UzMDBC
MTM0MUUgLyogTXV0YWJsZURpY3Rpb25hcnkuY3BwICovLAogCQkJCUJDQjBBRUU3MTIyRjUzRTMw
MEIxMzQxRSAvKiBNdXRhYmxlRGljdGlvbmFyeS5oICovLAorCQkJCTMxQTI2ODMzMTM0RDFBNDYw
MDE5Mzg0QSAvKiBOYXRpdmVXZWJNb3VzZUV2ZW50LmggKi8sCiAJCQkJQzAyQkZGMTUxMjUxNEZE
ODAwOUNDQkVBIC8qIE5hdGl2ZVdlYktleWJvYXJkRXZlbnQuaCAqLywKIAkJCQlCQ0NGNjczMjEy
QzdGMTVDMDA4RjlDMzUgLyogT3JpZ2luQW5kRGF0YWJhc2VzLmNwcCAqLywKIAkJCQlCQ0NGNjcy
QzEyQzdFREY3MDA4RjlDMzUgLyogT3JpZ2luQW5kRGF0YWJhc2VzLmggKi8sCkBAIC0yNzY0LDYg
KzI3NjgsNyBAQAogCQkJCTFBOTYzOUY2MTJGMzhFQ0QwMDc4QTA2MiAvKiBDb3JlQW5pbWF0aW9u
UmVuZGVyZXIubW0gKi8sCiAJCQkJMUE5MkRDMTIxMkY4QkFCOTAwMTdBRjY1IC8qIExheWVyVHJl
ZUNvbnRleHRNYWMubW0gKi8sCiAJCQkJQzAyQkZGMUQxMjUxNTAyRTAwOUNDQkVBIC8qIE5hdGl2
ZVdlYktleWJvYXJkRXZlbnRNYWMubW0gKi8sCisJCQkJMzFBMjY4MzYxMzREMUM0NDAwMTkzODRB
IC8qIE5hdGl2ZVdlYk1vdXNlRXZlbnRNYWMubW0gKi8sCiAJCQkJQzU3NEE1N0YxMkU2NjY4MTAw
MkRGRTk4IC8qIFBhc3RlYm9hcmRUeXBlcy5oICovLAogCQkJCUM1NzRBNTgwMTJFNjY2ODEwMDJE
RkU5OCAvKiBQYXN0ZWJvYXJkVHlwZXMubW0gKi8sCiAJCQkJQkNGNTA1RTUxMjQzMDQ3QjAwNTk1
NUFFIC8qIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggKi8sCkBAIC00MjkxLDYgKzQyOTYsNyBA
QAogCQkJCUY2QTkwODEzMTMzQzIwNTEwMDgyQzNGNCAvKiBXZWJDb29raWVNYW5hZ2VyTWFjLm1t
IGluIFNvdXJjZXMgKi8sCiAJCQkJRjZENjMyQkMxMzNEMTk4MjAwNzQzRDc3IC8qIFdlYkNvb2tp
ZU1hbmFnZXJQcm94eU1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUxODM0NTkyMTM0NTMyRTkw
MDkyQjY5NiAvKiBXZWJJY29uRGF0YWJhc2VDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
MzFBMjY4M0MxMzREMUZDMzAwMTkzODRBIC8qIE5hdGl2ZVdlYk1vdXNlRXZlbnRNYWMubW0gaW4g
U291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5n
ID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJv
aiBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJvagppbmRleCBiMzE5NThmLi5mZmQ0
ZWUzIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2oKKysrIGIv
U291cmNlL1dlYktpdDIvd2luL1dlYktpdDIudmNwcm9qCkBAIC00ODMsNiArNDgzLDEwIEBACiAJ
CQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFNoYXJlZFxO
YXRpdmVXZWJNb3VzZUV2ZW50LmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXFNoYXJlZFxPcmlnaW5BbmREYXRhYmFzZXMuY3BwIgogCQkJCT4KIAkJ
CTwvRmlsZT4KQEAgLTExOTQsNiArMTE5OCw2NCBAQAogCQkJCQk+CiAJCQkJPC9GaWxlPgogCQkJ
CTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cU2hhcmVkXHdpblxOYXRpdmVXZWJNb3VzZUV2
ZW50V2luLmNwcCIKKwkJCQkJPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9
IkRlYnVnfFdpbjMyIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29t
cGlsZXJUb29sIgorCQkJCQkJCU9iamVjdEZpbGU9IiQoSW50RGlyKVwkKElucHV0TmFtZSkxLm9i
aiIKKwkJCQkJCQlYTUxEb2N1bWVudGF0aW9uRmlsZU5hbWU9IiQoSW50RGlyKVwkKElucHV0TmFt
ZSkxLnhkYyIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxl
Q29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJCT4KKwkJCQkJ
CTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCQlPYmplY3RGaWxl
PSIkKEludERpcilcJChJbnB1dE5hbWUpMS5vYmoiCisJCQkJCQkJWE1MRG9jdW1lbnRhdGlvbkZp
bGVOYW1lPSIkKEludERpcilcJChJbnB1dE5hbWUpMS54ZGMiCisJCQkJCQkvPgorCQkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IkRl
YnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCQlPYmplY3RGaWxlPSIkKEludERpcilcJChJbnB1
dE5hbWUpMS5vYmoiCisJCQkJCQkJWE1MRG9jdW1lbnRhdGlvbkZpbGVOYW1lPSIkKEludERpcilc
JChJbnB1dE5hbWUpMS54ZGMiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgor
CQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRl
fFdpbjMyIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJU
b29sIgorCQkJCQkJCU9iamVjdEZpbGU9IiQoSW50RGlyKVwkKElucHV0TmFtZSkxLm9iaiIKKwkJ
CQkJCQlYTUxEb2N1bWVudGF0aW9uRmlsZU5hbWU9IiQoSW50RGlyKVwkKElucHV0TmFtZSkxLnhk
YyIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmln
dXJhdGlvbgorCQkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQkJPgorCQkJCQkJPFRv
b2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJCU9iamVjdEZpbGU9IiQo
SW50RGlyKVwkKElucHV0TmFtZSkxLm9iaiIKKwkJCQkJCQlYTUxEb2N1bWVudGF0aW9uRmlsZU5h
bWU9IiQoSW50RGlyKVwkKElucHV0TmFtZSkxLnhkYyIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNv
bmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iUHJvZHVj
dGlvbnxXaW4zMiIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBp
bGVyVG9vbCIKKwkJCQkJCQlPYmplY3RGaWxlPSIkKEludERpcilcJChJbnB1dE5hbWUpMS5vYmoi
CisJCQkJCQkJWE1MRG9jdW1lbnRhdGlvbkZpbGVOYW1lPSIkKEludERpcilcJChJbnB1dE5hbWUp
MS54ZGMiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTwvRmlsZT4K
KwkJCQk8RmlsZQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFNoYXJlZFx3aW5cUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8uY3BwIgogCQkJCQk+CiAJCQkJPC9GaWxlPgotLSAKMS43LjMuNAoK
</data>
<flag name="review"
          id="81285"
          type_id="1"
          status="-"
          setter="andersca"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>88890</attachid>
            <date>2011-04-08 15:57:38 -0700</date>
            <delta_ts>2011-04-11 09:58:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-onClick-does-not-function-with-select-elements-in-We.patch</filename>
            <type>text/plain</type>
            <size>41322</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">RnJvbSAxZTFlZTBmMDQ2MTVhYTUzYjI2NDYyODg3NTU4YWQ5MWU3NzllNDg0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb24gTGVlIDxqb25sZWVAYXBwbGUuY29tPgpEYXRlOiBGcmks
IDggQXByIDIwMTEgMTM6NDI6NTMgLTA3MDAKU3ViamVjdDogW1BBVENIXSBvbkNsaWNrIGRvZXMg
bm90IGZ1bmN0aW9uIHdpdGggPHNlbGVjdD4gZWxlbWVudHMgaW4gV2ViS2l0MgogaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU3OTA0CiA8cmRhcjovL3Byb2JsZW0vOTIx
Nzc1Nz4KClJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKKiBTaGFyZWQvTmF0aXZlV2ViTW91
c2VFdmVudC5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUG9wdXBN
ZW51UHJveHkuaC4KKFdlYktpdDo6TmF0aXZlV2ViTW91c2VFdmVudDo6bmF0aXZlRXZlbnQpOgoo
V2ViS2l0OjpOYXRpdmVXZWJNb3VzZUV2ZW50OjpuYXRpdmVWaWV3KToKKiBTaGFyZWQvbWFjL05h
dGl2ZVdlYk1vdXNlRXZlbnRNYWMubW06IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQb3B1cE1lbnVQcm94eS5oLgooV2ViS2l0OjpOYXRpdmVXZWJNb3VzZUV2ZW50OjpO
YXRpdmVXZWJNb3VzZUV2ZW50KToKKiBTaGFyZWQvd2luL05hdGl2ZVdlYk1vdXNlRXZlbnRXaW4u
Y3BwOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUG9wdXBNZW51UHJv
eHkuaC4KKFdlYktpdDo6TmF0aXZlV2ViTW91c2VFdmVudDo6TmF0aXZlV2ViTW91c2VFdmVudCk6
CiogVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tOgooLVtXS1ZpZXcgX21vdXNlSGFuZGxlcjpd
KTogUHJlLWNvbXBpbGVyIG1vdXNlIGhhbmRsZXIgY2FsbHMgbmVlZCB0byB1c2UgdGhlIG5ldyBO
YXRpdmVXZWJNb3VzZUV2ZW50IGNsYXNzCiogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CihX
ZWJLaXQ6OldlYlBhZ2VQcm94eTo6aGFuZGxlTW91c2VFdmVudCk6IGtlZXAgdHJhY2sgb2YgbW91
c2UgZG93biBldmVudCBpbiBvcmRlciB0byBiZSBhYmxlIHRvIHNlbmQgYSBmYWtlIG1vdXNlIHVw
IGV2ZW50IG9uIHRoZSBzZWxlY3QgZWxlbWVudAooV2ViS2l0OjpXZWJQYWdlUHJveHk6OmN1cnJl
bnRNb3VzZURvd25FdmVudCk6IGZvciBhY2Nlc3MgYnkgdGhlIHBvcHVwIG1lbnUgcHJveHkgdG8g
ZGlzcGF0Y2ggdGhlIGZha2UgbW91c2UgdXAgZXZlbnQKKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpk
aWRSZWNlaXZlRXZlbnQpOiBjbGVhciBvdXQgdGhlIGNhY2hlZCBtb3VzZSBkb3duIGV2ZW50Ciog
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgoqIFVJUHJvY2Vzcy9XZWJQb3B1cE1lbnVQcm94eS5o
OgoqIFVJUHJvY2Vzcy9tYWMvV2ViUG9wdXBNZW51UHJveHlNYWMubW06CihXZWJLaXQ6OldlYlBv
cHVwTWVudVByb3h5TWFjOjpzaG93UG9wdXBNZW51KTogYWZ0ZXIgbm90aWZ5aW5nIHRoZSBwb3B1
cCBtZW51IGNsaWVudCB0aGF0IHRoZSB2YWx1ZSBjaGFuZ2VkLCBmYWtlIG1vdXNlIHVwIGFuZCBt
b3VzZSBtb3ZlIGV2ZW50cyBhcmUgcG9zdGVkCiogVUlQcm9jZXNzL3dpbi9XZWJQb3B1cE1lbnVQ
cm94eVdpbi5jcHA6CihXZWJLaXQ6OldlYlBvcHVwTWVudVByb3h5V2luOjpzaG93UG9wdXBNZW51
KTogYWZ0ZXIgbm90aWZ5aW5nIHRoZSBwb3B1cCBtZW51IGNsaWVudCB0aGF0IHRoZSB2YWx1ZSBj
aGFuZ2VkLCBmYWtlIG1vdXNlIHVwIGFuZCBtb3VzZSBtb3ZlIGV2ZW50cyBhcmUgcG9zdGVkCiog
VUlQcm9jZXNzL3dpbi9XZWJWaWV3LmNwcDoKKFdlYktpdDo6V2ViVmlldzo6b25Nb3VzZUV2ZW50
KToKKiBXZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Ciogd2luL1dlYktpdDIudmNw
cm9qOgotLS0KIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHwgICAzMiArKysKIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9OYXRpdmVXZWJNb3VzZUV2ZW50
LmggICAgICAgIHwgICA2MiArKysrKysKIC4uLi9XZWJLaXQyL1NoYXJlZC9tYWMvTmF0aXZlV2Vi
TW91c2VFdmVudE1hYy5tbSAgIHwgICAzOSArKysrCiAuLi4vV2ViS2l0Mi9TaGFyZWQvd2luL05h
dGl2ZVdlYk1vdXNlRXZlbnRXaW4uY3BwICB8ICAgNDMgKysrKwogU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tICAgICAgICAgfCAgIDM2ICsrKy0tCiBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCAgICAgICAgICB8ICAgMjMgKystCiBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggICAgICAgICAgICB8ICAgIDcgKy0K
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQb3B1cE1lbnVQcm94eS5oICAgICAgIHwgICAg
MiArCiAuLi4vV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYlBvcHVwTWVudVByb3h5TWFjLm1tICB8
ICAyMTAgKysrKysrKysrKystLS0tLS0tLS0KIC4uLi9XZWJLaXQyL1VJUHJvY2Vzcy93aW4vV2Vi
UG9wdXBNZW51UHJveHlXaW4uY3BwIHwgICAxNyArKy0KIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy93aW4vV2ViVmlldy5jcHAgICAgICAgICAgIHwgICAgMyArLQogU291cmNlL1dlYktpdDIvV2Vi
S2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qICAgfCAgICA2ICsKIFNvdXJjZS9XZWJLaXQy
L3dpbi9XZWJLaXQyLnZjcHJvaiAgICAgICAgICAgICAgICAgIHwgICA2MiArKysrKysKIDEzIGZp
bGVzIGNoYW5nZWQsIDQzMSBpbnNlcnRpb25zKCspLCAxMTEgZGVsZXRpb25zKC0pCiBjcmVhdGUg
bW9kZSAxMDA2NDQgU291cmNlL1dlYktpdDIvU2hhcmVkL05hdGl2ZVdlYk1vdXNlRXZlbnQuaAog
Y3JlYXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvTmF0aXZlV2ViTW91
c2VFdmVudE1hYy5tbQogY3JlYXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC93
aW4vTmF0aXZlV2ViTW91c2VFdmVudFdpbi5jcHAKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOTI5MjU5Ni4uMzUz
YTJhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDExLTA0LTA4ICBKb24gTGVlICA8
am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBvbkNsaWNrIGRvZXMgbm90IGZ1bmN0aW9uIHdpdGggPHNlbGVjdD4gZWxlbWVu
dHMgaW4gV2ViS2l0MgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NTc5MDQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzkyMTc3NTc+CisKKyAgICAgICAg
KiBTaGFyZWQvTmF0aXZlV2ViTW91c2VFdmVudC5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUG9wdXBNZW51UHJveHkuaC4KKyAgICAgICAgKFdlYktpdDo6TmF0aXZl
V2ViTW91c2VFdmVudDo6bmF0aXZlRXZlbnQpOgorICAgICAgICAoV2ViS2l0OjpOYXRpdmVXZWJN
b3VzZUV2ZW50OjpuYXRpdmVWaWV3KToKKyAgICAgICAgKiBTaGFyZWQvbWFjL05hdGl2ZVdlYk1v
dXNlRXZlbnRNYWMubW06IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
b3B1cE1lbnVQcm94eS5oLgorICAgICAgICAoV2ViS2l0OjpOYXRpdmVXZWJNb3VzZUV2ZW50OjpO
YXRpdmVXZWJNb3VzZUV2ZW50KToKKyAgICAgICAgKiBTaGFyZWQvd2luL05hdGl2ZVdlYk1vdXNl
RXZlbnRXaW4uY3BwOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUG9w
dXBNZW51UHJveHkuaC4KKyAgICAgICAgKFdlYktpdDo6TmF0aXZlV2ViTW91c2VFdmVudDo6TmF0
aXZlV2ViTW91c2VFdmVudCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1t
OgorICAgICAgICAoLVtXS1ZpZXcgX21vdXNlSGFuZGxlcjpdKTogUHJlLWNvbXBpbGVyIG1vdXNl
IGhhbmRsZXIgY2FsbHMgbmVlZCB0byB1c2UgdGhlIG5ldyBOYXRpdmVXZWJNb3VzZUV2ZW50IGNs
YXNzCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2VQcm94eTo6aGFuZGxlTW91c2VFdmVudCk6IGtlZXAgdHJhY2sgb2YgbW91c2Ug
ZG93biBldmVudCBpbiBvcmRlciB0byBiZSBhYmxlIHRvIHNlbmQgYSBmYWtlIG1vdXNlIHVwIGV2
ZW50IG9uIHRoZSBzZWxlY3QgZWxlbWVudAorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6
OmN1cnJlbnRNb3VzZURvd25FdmVudCk6IGZvciBhY2Nlc3MgYnkgdGhlIHBvcHVwIG1lbnUgcHJv
eHkgdG8gZGlzcGF0Y2ggdGhlIGZha2UgbW91c2UgdXAgZXZlbnQKKyAgICAgICAgKFdlYktpdDo6
V2ViUGFnZVByb3h5OjpkaWRSZWNlaXZlRXZlbnQpOiBjbGVhciBvdXQgdGhlIGNhY2hlZCBtb3Vz
ZSBkb3duIGV2ZW50CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJQb3B1cE1lbnVQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9t
YWMvV2ViUG9wdXBNZW51UHJveHlNYWMubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBvcHVwTWVu
dVByb3h5TWFjOjpzaG93UG9wdXBNZW51KTogYWZ0ZXIgbm90aWZ5aW5nIHRoZSBwb3B1cCBtZW51
IGNsaWVudCB0aGF0IHRoZSB2YWx1ZSBjaGFuZ2VkLCBmYWtlIG1vdXNlIHVwIGFuZCBtb3VzZSBt
b3ZlIGV2ZW50cyBhcmUgcG9zdGVkCisgICAgICAgICogVUlQcm9jZXNzL3dpbi9XZWJQb3B1cE1l
bnVQcm94eVdpbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBvcHVwTWVudVByb3h5V2luOjpz
aG93UG9wdXBNZW51KTogYWZ0ZXIgbm90aWZ5aW5nIHRoZSBwb3B1cCBtZW51IGNsaWVudCB0aGF0
IHRoZSB2YWx1ZSBjaGFuZ2VkLCBmYWtlIG1vdXNlIHVwIGFuZCBtb3VzZSBtb3ZlIGV2ZW50cyBh
cmUgcG9zdGVkCisgICAgICAgICogVUlQcm9jZXNzL3dpbi9XZWJWaWV3LmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViVmlldzo6b25Nb3VzZUV2ZW50KToKKyAgICAgICAgKiBXZWJLaXQyLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogd2luL1dlYktpdDIudmNwcm9qOgorCiAy
MDExLTA0LTA3ICBBZGFtIFJvYmVuICA8YXJvYmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBQYXNz
IE5QUF9TZXRXaW5kb3cgYSBudWxsIHdpbmRvdyBoYW5kbGUgZHVyaW5nIHBsdWdpbiBkZXN0cnVj
dGlvbiBvbiBub24tTWFjIHBsYXRmb3JtcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL05hdGl2ZVdlYk1vdXNlRXZlbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9OYXRpdmVX
ZWJNb3VzZUV2ZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmQ3MGJk
MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9OYXRpdmVXZWJNb3Vz
ZUV2ZW50LmgKQEAgLTAsMCArMSw2MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgTmF0aXZlV2Vi
TW91c2VFdmVudF9oCisjZGVmaW5lIE5hdGl2ZVdlYk1vdXNlRXZlbnRfaAorCisjaW5jbHVkZSAi
V2ViRXZlbnQuaCIKKworI2lmIFBMQVRGT1JNKE1BQykKKyNpbmNsdWRlIDx3dGYvUmV0YWluUHRy
Lmg+CitPQkpDX0NMQVNTIE5TVmlldzsKKyNlbmRpZgorCituYW1lc3BhY2UgV2ViS2l0IHsKKwor
Y2xhc3MgTmF0aXZlV2ViTW91c2VFdmVudCA6IHB1YmxpYyBXZWJNb3VzZUV2ZW50IHsKK3B1Ymxp
YzoKKyNpZiBQTEFURk9STShNQUMpCisgICAgTmF0aXZlV2ViTW91c2VFdmVudChOU0V2ZW50ICos
IE5TVmlldyAqKTsKKyNlbGlmIFBMQVRGT1JNKFdJTikKKyAgICBOYXRpdmVXZWJNb3VzZUV2ZW50
KEhXTkQsIFVJTlQgbWVzc2FnZSwgV1BBUkFNLCBMUEFSQU0sIGJvb2wpOworI2VuZGlmCisgICAg
CisjaWYgUExBVEZPUk0oTUFDKQorICAgIE5TRXZlbnQqIG5hdGl2ZUV2ZW50KCkgY29uc3QgeyBy
ZXR1cm4gbV9uYXRpdmVFdmVudC5nZXQoKTsgfQorI2VsaWYgUExBVEZPUk0oV0lOKQorICAgIGNv
bnN0IE1TRyogbmF0aXZlRXZlbnQoKSBjb25zdCB7IHJldHVybiAmbV9uYXRpdmVFdmVudDsgfQor
I2VuZGlmCisgICAgCitwcml2YXRlOgorI2lmIFBMQVRGT1JNKE1BQykKKyAgICBSZXRhaW5QdHI8
TlNFdmVudD4gbV9uYXRpdmVFdmVudDsKKyNlbGlmIFBMQVRGT1JNKFdJTikKKyAgICBNU0cgbV9u
YXRpdmVFdmVudDsKKyNlbmRpZgorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRp
ZiAvLyBOYXRpdmVXZWJNb3VzZUV2ZW50X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9tYWMvTmF0aXZlV2ViTW91c2VFdmVudE1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9tYWMvTmF0aXZlV2ViTW91c2VFdmVudE1hYy5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi4wMGQ4NGZlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL21hYy9OYXRpdmVXZWJNb3VzZUV2ZW50TWFjLm1tCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBvcnQgIk5hdGl2ZVdlYk1vdXNlRXZlbnQu
aCIKKworI2ltcG9ydCAiV2ViRXZlbnRGYWN0b3J5LmgiCisKK25hbWVzcGFjZSBXZWJLaXQgewor
ICAgIAorTmF0aXZlV2ViTW91c2VFdmVudDo6TmF0aXZlV2ViTW91c2VFdmVudChOU0V2ZW50KiBl
dmVudCwgTlNWaWV3KiB2aWV3KQorICAgIDogV2ViTW91c2VFdmVudChXZWJFdmVudEZhY3Rvcnk6
OmNyZWF0ZVdlYk1vdXNlRXZlbnQoZXZlbnQsIHZpZXcpKQorICAgICwgbV9uYXRpdmVFdmVudChl
dmVudCkKK3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvd2luL05hdGl2ZVdlYk1vdXNlRXZlbnRXaW4uY3BwIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL3dpbi9OYXRpdmVXZWJNb3VzZUV2ZW50V2luLmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi41YjgzZGM2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL3dpbi9OYXRpdmVXZWJNb3VzZUV2ZW50V2luLmNwcApAQCAtMCwwICsx
LDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk5hdGl2
ZVdlYk1vdXNlRXZlbnQuaCIKKworI2luY2x1ZGUgIldlYkV2ZW50RmFjdG9yeS5oIgorCituYW1l
c3BhY2UgV2ViS2l0IHsKKworTmF0aXZlV2ViTW91c2VFdmVudDo6TmF0aXZlV2ViTW91c2VFdmVu
dChIV05EIGh3bmQsIFVJTlQgbWVzc2FnZSwgV1BBUkFNIHdQYXJhbSwgTFBBUkFNIGxQYXJhbSwg
Ym9vbCBkaWRBY3RpdmF0ZVdlYlZpZXcpCisgICAgOiBXZWJNb3VzZUV2ZW50KFdlYkV2ZW50RmFj
dG9yeTo6Y3JlYXRlV2ViTW91c2VFdmVudChod25kLCBtZXNzYWdlLCB3UGFyYW0sIGxQYXJhbSwg
ZGlkQWN0aXZhdGVXZWJWaWV3KSkKKyAgICAsIG1fbmF0aXZlRXZlbnQoKQoreworICAgIG1fbmF0
aXZlRXZlbnQuaHduZCA9IGh3bmQ7CisgICAgbV9uYXRpdmVFdmVudC5tZXNzYWdlID0gbWVzc2Fn
ZTsKKyAgICBtX25hdGl2ZUV2ZW50LndQYXJhbSA9IHdQYXJhbTsKKyAgICBtX25hdGl2ZUV2ZW50
LmxQYXJhbSA9IGxQYXJhbTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0gYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0KaW5kZXggN2MxNTQ0OS4uOGFlZGZlOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbQpAQCAtMzUsNiAr
MzUsNyBAQAogI2ltcG9ydCAiTGF5ZXJUcmVlQ29udGV4dC5oIgogI2ltcG9ydCAiTG9nZ2luZy5o
IgogI2ltcG9ydCAiTmF0aXZlV2ViS2V5Ym9hcmRFdmVudC5oIgorI2ltcG9ydCAiTmF0aXZlV2Vi
TW91c2VFdmVudC5oIgogI2ltcG9ydCAiUERGVmlld0NvbnRyb2xsZXIuaCIKICNpbXBvcnQgIlBh
Z2VDbGllbnRJbXBsLmgiCiAjaW1wb3J0ICJQYXN0ZWJvYXJkVHlwZXMuaCIKQEAgLTkzOCw2ICs5
MzksMjcgQEAgc3RhdGljIHZvaWQgc3BlYWtTdHJpbmcoV0tTdHJpbmdSZWYgc3RyaW5nLCBXS0Vy
cm9yUmVmIGVycm9yLCB2b2lkKikKICAgICBfZGF0YS0+X21vdXNlRG93bkV2ZW50ID0gW2V2ZW50
IHJldGFpbl07CiB9CiAKKyNkZWZpbmUgTkFUSVZFX01PVVNFX0VWRU5UX0hBTkRMRVIoU2VsZWN0
b3IpIFwKKyAgICAtICh2b2lkKVNlbGVjdG9yOihOU0V2ZW50ICopdGhlRXZlbnQgXAorICAgIHsg
XAorICAgICAgICBOYXRpdmVXZWJNb3VzZUV2ZW50IHdlYkV2ZW50KHRoZUV2ZW50LCBzZWxmKTsg
XAorICAgICAgICBfZGF0YS0+X3BhZ2UtPmhhbmRsZU1vdXNlRXZlbnQod2ViRXZlbnQpOyBcCisg
ICAgfQorCitOQVRJVkVfTU9VU0VfRVZFTlRfSEFORExFUihtb3VzZUVudGVyZWQpCitOQVRJVkVf
TU9VU0VfRVZFTlRfSEFORExFUihtb3VzZUV4aXRlZCkKK05BVElWRV9NT1VTRV9FVkVOVF9IQU5E
TEVSKG1vdXNlTW92ZWQpCitOQVRJVkVfTU9VU0VfRVZFTlRfSEFORExFUihvdGhlck1vdXNlRG93
bikKK05BVElWRV9NT1VTRV9FVkVOVF9IQU5ETEVSKG90aGVyTW91c2VEcmFnZ2VkKQorTkFUSVZF
X01PVVNFX0VWRU5UX0hBTkRMRVIob3RoZXJNb3VzZU1vdmVkKQorTkFUSVZFX01PVVNFX0VWRU5U
X0hBTkRMRVIob3RoZXJNb3VzZVVwKQorTkFUSVZFX01PVVNFX0VWRU5UX0hBTkRMRVIocmlnaHRN
b3VzZURvd24pCitOQVRJVkVfTU9VU0VfRVZFTlRfSEFORExFUihyaWdodE1vdXNlRHJhZ2dlZCkK
K05BVElWRV9NT1VTRV9FVkVOVF9IQU5ETEVSKHJpZ2h0TW91c2VNb3ZlZCkKK05BVElWRV9NT1VT
RV9FVkVOVF9IQU5ETEVSKHJpZ2h0TW91c2VVcCkKKworI3VuZGVmIE5BVElWRV9NT1VTRV9FVkVO
VF9IQU5ETEVSCisKICNkZWZpbmUgRVZFTlRfSEFORExFUihTZWxlY3RvciwgVHlwZSkgXAogICAg
IC0gKHZvaWQpU2VsZWN0b3I6KE5TRXZlbnQgKil0aGVFdmVudCBcCiAgICAgeyBcCkBAIC05NDUs
MTcgKzk2Nyw2IEBAIHN0YXRpYyB2b2lkIHNwZWFrU3RyaW5nKFdLU3RyaW5nUmVmIHN0cmluZywg
V0tFcnJvclJlZiBlcnJvciwgdm9pZCopCiAgICAgICAgIF9kYXRhLT5fcGFnZS0+aGFuZGxlIyNU
eXBlIyNFdmVudCh3ZWJFdmVudCk7IFwKICAgICB9CiAKLUVWRU5UX0hBTkRMRVIobW91c2VFbnRl
cmVkLCBNb3VzZSkKLUVWRU5UX0hBTkRMRVIobW91c2VFeGl0ZWQsIE1vdXNlKQotRVZFTlRfSEFO
RExFUihtb3VzZU1vdmVkLCBNb3VzZSkKLUVWRU5UX0hBTkRMRVIob3RoZXJNb3VzZURvd24sIE1v
dXNlKQotRVZFTlRfSEFORExFUihvdGhlck1vdXNlRHJhZ2dlZCwgTW91c2UpCi1FVkVOVF9IQU5E
TEVSKG90aGVyTW91c2VNb3ZlZCwgTW91c2UpCi1FVkVOVF9IQU5ETEVSKG90aGVyTW91c2VVcCwg
TW91c2UpCi1FVkVOVF9IQU5ETEVSKHJpZ2h0TW91c2VEb3duLCBNb3VzZSkKLUVWRU5UX0hBTkRM
RVIocmlnaHRNb3VzZURyYWdnZWQsIE1vdXNlKQotRVZFTlRfSEFORExFUihyaWdodE1vdXNlTW92
ZWQsIE1vdXNlKQotRVZFTlRfSEFORExFUihyaWdodE1vdXNlVXAsIE1vdXNlKQogRVZFTlRfSEFO
RExFUihzY3JvbGxXaGVlbCwgV2hlZWwpCiAKICN1bmRlZiBFVkVOVF9IQU5ETEVSCkBAIC05NjUs
OCArOTc2LDcgQEAgRVZFTlRfSEFORExFUihzY3JvbGxXaGVlbCwgV2hlZWwpCiAgICAgTlNJbnB1
dE1hbmFnZXIgKmN1cnJlbnRJbnB1dE1hbmFnZXIgPSBbTlNJbnB1dE1hbmFnZXIgY3VycmVudElu
cHV0TWFuYWdlcl07CiAgICAgaWYgKFtjdXJyZW50SW5wdXRNYW5hZ2VyIHdhbnRzVG9IYW5kbGVN
b3VzZUV2ZW50c10gJiYgW2N1cnJlbnRJbnB1dE1hbmFnZXIgaGFuZGxlTW91c2VFdmVudDpldmVu
dF0pCiAgICAgICAgIHJldHVybjsKLSAgICBXZWJNb3VzZUV2ZW50IHdlYkV2ZW50ID0gV2ViRXZl
bnRGYWN0b3J5OjpjcmVhdGVXZWJNb3VzZUV2ZW50KGV2ZW50LCBzZWxmKTsKLSAgICBfZGF0YS0+
X3BhZ2UtPmhhbmRsZU1vdXNlRXZlbnQod2ViRXZlbnQpOworICAgIF9kYXRhLT5fcGFnZS0+aGFu
ZGxlTW91c2VFdmVudChOYXRpdmVXZWJNb3VzZUV2ZW50KGV2ZW50LCBzZWxmKSk7CiB9CiAKIC0g
KHZvaWQpbW91c2VEb3duOihOU0V2ZW50ICopZXZlbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggODZjYjdlNC4uYmE0MDRiMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRl
ICJGaW5kSW5kaWNhdG9yLmgiCiAjaW5jbHVkZSAiTWVzc2FnZUlELmgiCiAjaW5jbHVkZSAiTmF0
aXZlV2ViS2V5Ym9hcmRFdmVudC5oIgorI2luY2x1ZGUgIk5hdGl2ZVdlYk1vdXNlRXZlbnQuaCIK
ICNpbmNsdWRlICJQYWdlQ2xpZW50LmgiCiAjaW5jbHVkZSAiUHJpbnRJbmZvLmgiCiAjaW5jbHVk
ZSAiU2Vzc2lvblN0YXRlLmgiCkBAIC03ODAsNyArNzgxLDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6
OmRyYWdFbmRlZChjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgY2xpZW50UG9zaXRpb24sIGNvbnN0
IFdlYkMKICAgICBwcm9jZXNzKCktPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkRyYWdFbmRlZChj
bGllbnRQb3NpdGlvbiwgZ2xvYmFsUG9zaXRpb24sIG9wZXJhdGlvbiksIG1fcGFnZUlEKTsKIH0K
IAotdm9pZCBXZWJQYWdlUHJveHk6OmhhbmRsZU1vdXNlRXZlbnQoY29uc3QgV2ViTW91c2VFdmVu
dCYgZXZlbnQpCit2b2lkIFdlYlBhZ2VQcm94eTo6aGFuZGxlTW91c2VFdmVudChjb25zdCBOYXRp
dmVXZWJNb3VzZUV2ZW50JiBldmVudCkKIHsKICAgICBpZiAoIWlzVmFsaWQoKSkKICAgICAgICAg
cmV0dXJuOwpAQCAtNzkwLDEzICs3OTEsMjAgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmhhbmRsZU1v
dXNlRXZlbnQoY29uc3QgV2ViTW91c2VFdmVudCYgZXZlbnQpCiAgICAgICAgIHByb2Nlc3MoKS0+
cmVzcG9uc2l2ZW5lc3NUaW1lcigpLT5zdGFydCgpOwogICAgIGVsc2UgewogICAgICAgICBpZiAo
bV9wcm9jZXNzaW5nTW91c2VNb3ZlRXZlbnQpIHsKLSAgICAgICAgICAgIG1fbmV4dE1vdXNlTW92
ZUV2ZW50ID0gYWRvcHRQdHIobmV3IFdlYk1vdXNlRXZlbnQoZXZlbnQpKTsKKyAgICAgICAgICAg
IG1fbmV4dE1vdXNlTW92ZUV2ZW50ID0gYWRvcHRQdHIobmV3IE5hdGl2ZVdlYk1vdXNlRXZlbnQo
ZXZlbnQpKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCiAgICAgICAgIG1fcHJv
Y2Vzc2luZ01vdXNlTW92ZUV2ZW50ID0gdHJ1ZTsKICAgICB9Ci0KKyAgICAKKyAgICAvLyA8aHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU3OTA0PiBXZSBuZWVkIHRvIGtl
ZXAgdHJhY2sgb2YgdGhlIG1vdXNlIGRvd24gZXZlbnQgaW4gdGhlIGNhc2Ugd2hlcmUgd2UKKyAg
ICAvLyBkaXNwbGF5IGEgcG9wdXAgbWVudSBmb3Igc2VsZWN0IGVsZW1lbnRzLiBXaGVuIHRoZSB1
c2VyIGNoYW5nZXMgdGhlIHNlbGVjdGVkIGl0ZW0sCisgICAgLy8gd2UgZmFrZSBhIG1vdXNlIHVw
IGV2ZW50IGJ5IHVzaW5nIHRoaXMgc3RvcmVkIGRvd24gZXZlbnQuIFRoaXMgZXZlbnQgZ2V0cyBj
bGVhcmVkCisgICAgLy8gd2hlbiB0aGUgbW91c2UgdXAgbWVzc2FnZSBpcyByZWNlaXZlZCBmcm9t
IFdlYlByb2Nlc3MuCisgICAgaWYgKGV2ZW50LnR5cGUoKSA9PSBXZWJFdmVudDo6TW91c2VEb3du
KQorICAgICAgICBtX2N1cnJlbnRseVByb2Nlc3NlZE1vdXNlRG93bkV2ZW50ID0gYWRvcHRQdHIo
bmV3IE5hdGl2ZVdlYk1vdXNlRXZlbnQoZXZlbnQpKTsKKyAgICAKICAgICBwcm9jZXNzKCktPnNl
bmQoTWVzc2FnZXM6OldlYlBhZ2U6Ok1vdXNlRXZlbnQoZXZlbnQpLCBtX3BhZ2VJRCk7CiB9CiAK
QEAgLTIxNjUsNiArMjE3MywxMSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6c2V0VGV4dEZyb21JdGVt
Rm9yUG9wdXBNZW51KFdlYlBvcHVwTWVudVByb3h5KiwgaW50MzJfdCBpbmRleAogICAgIHByb2Nl
c3MoKS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6U2V0VGV4dEZvckFjdGl2ZVBvcHVwTWVudShp
bmRleCksIG1fcGFnZUlEKTsKIH0KIAorTmF0aXZlV2ViTW91c2VFdmVudCogV2ViUGFnZVByb3h5
OjpjdXJyZW50bHlQcm9jZXNzZWRNb3VzZURvd25FdmVudCgpCit7CisgICAgcmV0dXJuIG1fY3Vy
cmVudGx5UHJvY2Vzc2VkTW91c2VEb3duRXZlbnQuZ2V0KCk7Cit9CisKIHZvaWQgV2ViUGFnZVBy
b3h5OjpzaG93UG9wdXBNZW51KGNvbnN0IEludFJlY3QmIHJlY3QsIHVpbnQ2NF90IHRleHREaXJl
Y3Rpb24sIGNvbnN0IFZlY3RvcjxXZWJQb3B1cEl0ZW0+JiBpdGVtcywgaW50MzJfdCBzZWxlY3Rl
ZEluZGV4LCBjb25zdCBQbGF0Zm9ybVBvcHVwTWVudURhdGEmIGRhdGEpCiB7CiAgICAgaWYgKG1f
YWN0aXZlUG9wdXBNZW51KSB7CkBAIC0yNDgzLDEyICsyNDk2LDE0IEBAIHZvaWQgV2ViUGFnZVBy
b3h5OjpkaWRSZWNlaXZlRXZlbnQodWludDMyX3Qgb3BhcXVlVHlwZSwgYm9vbCBoYW5kbGVkKQog
ICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgV2ViRXZlbnQ6Ok1vdXNlRG93bjoK
LSAgICBjYXNlIFdlYkV2ZW50OjpNb3VzZVVwOgogI2lmIEVOQUJMRShHRVNUVVJFX0VWRU5UUykK
ICAgICBjYXNlIFdlYkV2ZW50OjpHZXN0dXJlU2Nyb2xsQmVnaW46CiAgICAgY2FzZSBXZWJFdmVu
dDo6R2VzdHVyZVNjcm9sbEVuZDoKICNlbmRpZgogICAgICAgICBicmVhazsKKyAgICBjYXNlIFdl
YkV2ZW50OjpNb3VzZVVwOgorICAgICAgICBtX2N1cnJlbnRseVByb2Nlc3NlZE1vdXNlRG93bkV2
ZW50ID0gbnVsbHB0cjsKKyAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIFdlYkV2ZW50OjpXaGVl
bDogewogICAgICAgICBtX3Byb2Nlc3NpbmdXaGVlbEV2ZW50ID0gZmFsc2U7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggYzk1ODQ5Zi4uYmQxMjIwMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtNzgsNiArNzgsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgTmF0aXZlV2ViS2V5
Ym9hcmRFdmVudDsKK2NsYXNzIE5hdGl2ZVdlYk1vdXNlRXZlbnQ7CiBjbGFzcyBQYWdlQ2xpZW50
OwogY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87CiBjbGFzcyBTdHJpbmdQYWlyVmVjdG9y
OwpAQCAtMjgzLDcgKzI4NCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEFjdHVhbFZpc2libGVD
b250ZW50UmVjdChjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiByZWN0KTsKICNlbmRpZgogCi0gICAg
dm9pZCBoYW5kbGVNb3VzZUV2ZW50KGNvbnN0IFdlYk1vdXNlRXZlbnQmKTsKKyAgICB2b2lkIGhh
bmRsZU1vdXNlRXZlbnQoY29uc3QgTmF0aXZlV2ViTW91c2VFdmVudCYpOwogICAgIHZvaWQgaGFu
ZGxlV2hlZWxFdmVudChjb25zdCBXZWJXaGVlbEV2ZW50Jik7CiAgICAgdm9pZCBoYW5kbGVLZXli
b2FyZEV2ZW50KGNvbnN0IE5hdGl2ZVdlYktleWJvYXJkRXZlbnQmKTsKICNpZiBFTkFCTEUoR0VT
VFVSRV9FVkVOVFMpCkBAIC00OTIsNiArNDkzLDcgQEAgcHJpdmF0ZToKICAgICAvLyBXZWJQb3B1
cE1lbnVQcm94eTo6Q2xpZW50CiAgICAgdmlydHVhbCB2b2lkIHZhbHVlQ2hhbmdlZEZvclBvcHVw
TWVudShXZWJQb3B1cE1lbnVQcm94eSosIGludDMyX3QgbmV3U2VsZWN0ZWRJbmRleCk7CiAgICAg
dmlydHVhbCB2b2lkIHNldFRleHRGcm9tSXRlbUZvclBvcHVwTWVudShXZWJQb3B1cE1lbnVQcm94
eSosIGludDMyX3QgaW5kZXgpOworICAgIHZpcnR1YWwgTmF0aXZlV2ViTW91c2VFdmVudCogY3Vy
cmVudGx5UHJvY2Vzc2VkTW91c2VEb3duRXZlbnQoKTsKIAogICAgIC8vIEltcGxlbWVudGVkIGlu
IGdlbmVyYXRlZCBXZWJQYWdlUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwCiAgICAgdm9pZCBkaWRS
ZWNlaXZlV2ViUGFnZVByb3h5TWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6
TWVzc2FnZUlELCBDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqKTsKQEAgLTc5Miw3ICs3OTQsOCBA
QCBwcml2YXRlOgogICAgIE93blB0cjxXZWJXaGVlbEV2ZW50PiBtX25leHRXaGVlbEV2ZW50Owog
CiAgICAgYm9vbCBtX3Byb2Nlc3NpbmdNb3VzZU1vdmVFdmVudDsKLSAgICBPd25QdHI8V2ViTW91
c2VFdmVudD4gbV9uZXh0TW91c2VNb3ZlRXZlbnQ7CisgICAgT3duUHRyPE5hdGl2ZVdlYk1vdXNl
RXZlbnQ+IG1fbmV4dE1vdXNlTW92ZUV2ZW50OworICAgIE93blB0cjxOYXRpdmVXZWJNb3VzZUV2
ZW50PiBtX2N1cnJlbnRseVByb2Nlc3NlZE1vdXNlRG93bkV2ZW50OwogCiAgICAgdWludDY0X3Qg
bV9wYWdlSUQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQb3B1
cE1lbnVQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBvcHVwTWVudVByb3h5
LmgKaW5kZXggOTY5MDFmYi4uMGFmODg4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBvcHVwTWVudVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBvcHVwTWVudVByb3h5LmgKQEAgLTM5LDYgKzM5LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7
CiAKIHN0cnVjdCBQbGF0Zm9ybVBvcHVwTWVudURhdGE7CiBzdHJ1Y3QgV2ViUG9wdXBJdGVtOwor
Y2xhc3MgTmF0aXZlV2ViTW91c2VFdmVudDsKIAogY2xhc3MgV2ViUG9wdXBNZW51UHJveHkgOiBw
dWJsaWMgUmVmQ291bnRlZDxXZWJQb3B1cE1lbnVQcm94eT4gewogcHVibGljOgpAQCAtNTEsNiAr
NTIsNyBAQCBwdWJsaWM6CiAgICAgcHVibGljOgogICAgICAgICB2aXJ0dWFsIHZvaWQgdmFsdWVD
aGFuZ2VkRm9yUG9wdXBNZW51KFdlYlBvcHVwTWVudVByb3h5KiwgaW50MzJfdCBuZXdTZWxlY3Rl
ZEluZGV4KSA9IDA7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBzZXRUZXh0RnJvbUl0ZW1Gb3JQb3B1
cE1lbnUoV2ViUG9wdXBNZW51UHJveHkqLCBpbnQzMl90IGluZGV4KSA9IDA7CisgICAgICAgIHZp
cnR1YWwgTmF0aXZlV2ViTW91c2VFdmVudCogY3VycmVudGx5UHJvY2Vzc2VkTW91c2VEb3duRXZl
bnQoKSA9IDA7CiAgICAgfTsKIAogICAgIHZpcnR1YWwgfldlYlBvcHVwTWVudVByb3h5KCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViUG9wdXBNZW51UHJveHlN
YWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYlBvcHVwTWVudVByb3h5TWFj
Lm1tCmluZGV4IDdjZTg3NjQuLjdhNmE3ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9tYWMvV2ViUG9wdXBNZW51UHJveHlNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL21hYy9XZWJQb3B1cE1lbnVQcm94eU1hYy5tbQpAQCAtMjYsNiArMjYsNyBAQAog
I2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJXZWJQb3B1cE1lbnVQcm94eU1hYy5oIgogCisj
aW1wb3J0ICJOYXRpdmVXZWJNb3VzZUV2ZW50LmgiCiAjaW1wb3J0ICJQYWdlQ2xpZW50SW1wbC5o
IgogI2ltcG9ydCAiUGxhdGZvcm1Qb3B1cE1lbnVEYXRhLmgiCiAjaW1wb3J0ICJXS1ZpZXcuaCIK
QEAgLTM1LDEwMSArMzYsMTMwIEBACiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNw
YWNlIFdlYktpdCB7Ci0KLVdlYlBvcHVwTWVudVByb3h5TWFjOjpXZWJQb3B1cE1lbnVQcm94eU1h
YyhXS1ZpZXcgKndlYlZpZXcsIFdlYlBvcHVwTWVudVByb3h5OjpDbGllbnQqIGNsaWVudCkKKyAg
ICAKKyAgICBXZWJQb3B1cE1lbnVQcm94eU1hYzo6V2ViUG9wdXBNZW51UHJveHlNYWMoV0tWaWV3
ICp3ZWJWaWV3LCBXZWJQb3B1cE1lbnVQcm94eTo6Q2xpZW50KiBjbGllbnQpCiAgICAgOiBXZWJQ
b3B1cE1lbnVQcm94eShjbGllbnQpCiAgICAgLCBtX3dlYlZpZXcod2ViVmlldykKLXsKLX0KLQot
V2ViUG9wdXBNZW51UHJveHlNYWM6On5XZWJQb3B1cE1lbnVQcm94eU1hYygpCi17Ci0gICAgaWYg
KG1fcG9wdXApCi0gICAgICAgIFttX3BvcHVwLmdldCgpIHNldENvbnRyb2xWaWV3Om5pbF07Ci19
Ci0KLXZvaWQgV2ViUG9wdXBNZW51UHJveHlNYWM6OnBvcHVsYXRlKGNvbnN0IFZlY3RvcjxXZWJQ
b3B1cEl0ZW0+JiBpdGVtcywgTlNGb250ICpmb250LCBUZXh0RGlyZWN0aW9uIG1lbnVUZXh0RGly
ZWN0aW9uKQotewotICAgIGlmIChtX3BvcHVwKQotICAgICAgICBbbV9wb3B1cC5nZXQoKSByZW1v
dmVBbGxJdGVtc107Ci0gICAgZWxzZSB7Ci0gICAgICAgIG1fcG9wdXAuYWRvcHROUyhbW05TUG9w
VXBCdXR0b25DZWxsIGFsbG9jXSBpbml0VGV4dENlbGw6QCIiIHB1bGxzRG93bjpOT10pOwotICAg
ICAgICBbbV9wb3B1cC5nZXQoKSBzZXRVc2VzSXRlbUZyb21NZW51Ok5PXTsKLSAgICAgICAgW21f
cG9wdXAuZ2V0KCkgc2V0QXV0b2VuYWJsZXNJdGVtczpOT107CisgICAgewogICAgIH0KLQotICAg
IGludCBzaXplID0gaXRlbXMuc2l6ZSgpOwotCi0gICAgZm9yIChpbnQgaSA9IDA7IGkgPCBzaXpl
OyBpKyspIHsKLSAgICAgICAgaWYgKGl0ZW1zW2ldLm1fdHlwZSA9PSBXZWJQb3B1cEl0ZW06OlNl
cGVyYXRvcikKLSAgICAgICAgICAgIFtbbV9wb3B1cC5nZXQoKSBtZW51XSBhZGRJdGVtOltOU01l
bnVJdGVtIHNlcGFyYXRvckl0ZW1dXTsKKyAgICAKKyAgICBXZWJQb3B1cE1lbnVQcm94eU1hYzo6
fldlYlBvcHVwTWVudVByb3h5TWFjKCkKKyAgICB7CisgICAgICAgIGlmIChtX3BvcHVwKQorICAg
ICAgICAgICAgW21fcG9wdXAuZ2V0KCkgc2V0Q29udHJvbFZpZXc6bmlsXTsKKyAgICB9CisgICAg
CisgICAgdm9pZCBXZWJQb3B1cE1lbnVQcm94eU1hYzo6cG9wdWxhdGUoY29uc3QgVmVjdG9yPFdl
YlBvcHVwSXRlbT4mIGl0ZW1zLCBOU0ZvbnQgKmZvbnQsIFRleHREaXJlY3Rpb24gbWVudVRleHRE
aXJlY3Rpb24pCisgICAgeworICAgICAgICBpZiAobV9wb3B1cCkKKyAgICAgICAgICAgIFttX3Bv
cHVwLmdldCgpIHJlbW92ZUFsbEl0ZW1zXTsKICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBb
bV9wb3B1cC5nZXQoKSBhZGRJdGVtV2l0aFRpdGxlOkAiIl07Ci0gICAgICAgICAgICBOU01lbnVJ
dGVtICptZW51SXRlbSA9IFttX3BvcHVwLmdldCgpIGxhc3RJdGVtXTsKLQotICAgICAgICAgICAg
UmV0YWluUHRyPE5TTXV0YWJsZVBhcmFncmFwaFN0eWxlPiBwYXJhZ3JhcGhTdHlsZShBZG9wdE5T
LCBbW05TUGFyYWdyYXBoU3R5bGUgZGVmYXVsdFBhcmFncmFwaFN0eWxlXSBtdXRhYmxlQ29weV0p
OwotICAgICAgICAgICAgTlNXcml0aW5nRGlyZWN0aW9uIHdyaXRpbmdEaXJlY3Rpb24gPSBpdGVt
c1tpXS5tX3RleHREaXJlY3Rpb24gPT0gTFRSID8gTlNXcml0aW5nRGlyZWN0aW9uTGVmdFRvUmln
aHQgOiBOU1dyaXRpbmdEaXJlY3Rpb25SaWdodFRvTGVmdDsKLSAgICAgICAgICAgIFtwYXJhZ3Jh
cGhTdHlsZS5nZXQoKSBzZXRCYXNlV3JpdGluZ0RpcmVjdGlvbjp3cml0aW5nRGlyZWN0aW9uXTsK
LSAgICAgICAgICAgIFtwYXJhZ3JhcGhTdHlsZS5nZXQoKSBzZXRBbGlnbm1lbnQ6bWVudVRleHRE
aXJlY3Rpb24gPT0gTFRSID8gTlNMZWZ0VGV4dEFsaWdubWVudCA6IE5TUmlnaHRUZXh0QWxpZ25t
ZW50XTsKLSAgICAgICAgICAgIFJldGFpblB0cjxOU011dGFibGVEaWN0aW9uYXJ5PiBhdHRyaWJ1
dGVzKEFkb3B0TlMsIFtbTlNNdXRhYmxlRGljdGlvbmFyeSBhbGxvY10gaW5pdFdpdGhPYmplY3Rz
QW5kS2V5czoKLSAgICAgICAgICAgICAgICBwYXJhZ3JhcGhTdHlsZS5nZXQoKSwgTlNQYXJhZ3Jh
cGhTdHlsZUF0dHJpYnV0ZU5hbWUsCi0gICAgICAgICAgICAgICAgZm9udCwgTlNGb250QXR0cmli
dXRlTmFtZSwKLSAgICAgICAgICAgIG5pbF0pOwotICAgICAgICAgICAgaWYgKGl0ZW1zW2ldLm1f
aGFzVGV4dERpcmVjdGlvbk92ZXJyaWRlKSB7Ci0gICAgICAgICAgICAgICAgUmV0YWluUHRyPE5T
TnVtYmVyPiB3cml0aW5nRGlyZWN0aW9uVmFsdWUoQWRvcHROUywgW1tOU051bWJlciBhbGxvY10g
aW5pdFdpdGhJbnRlZ2VyOndyaXRpbmdEaXJlY3Rpb24gKyBOU1RleHRXcml0aW5nRGlyZWN0aW9u
T3ZlcnJpZGVdKTsKLSAgICAgICAgICAgICAgICBSZXRhaW5QdHI8TlNBcnJheT4gd3JpdGluZ0Rp
cmVjdGlvbkFycmF5KEFkb3B0TlMsIFtbTlNBcnJheSBhbGxvY10gaW5pdFdpdGhPYmplY3RzOndy
aXRpbmdEaXJlY3Rpb25WYWx1ZS5nZXQoKSwgbmlsXSk7Ci0gICAgICAgICAgICAgICAgW2F0dHJp
YnV0ZXMuZ2V0KCkgc2V0T2JqZWN0OndyaXRpbmdEaXJlY3Rpb25BcnJheS5nZXQoKSBmb3JLZXk6
TlNXcml0aW5nRGlyZWN0aW9uQXR0cmlidXRlTmFtZV07CisgICAgICAgICAgICBtX3BvcHVwLmFk
b3B0TlMoW1tOU1BvcFVwQnV0dG9uQ2VsbCBhbGxvY10gaW5pdFRleHRDZWxsOkAiIiBwdWxsc0Rv
d246Tk9dKTsKKyAgICAgICAgICAgIFttX3BvcHVwLmdldCgpIHNldFVzZXNJdGVtRnJvbU1lbnU6
Tk9dOworICAgICAgICAgICAgW21fcG9wdXAuZ2V0KCkgc2V0QXV0b2VuYWJsZXNJdGVtczpOT107
CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGludCBzaXplID0gaXRlbXMuc2l6ZSgpOwor
ICAgICAgICAKKyAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBzaXplOyBpKyspIHsKKyAgICAg
ICAgICAgIGlmIChpdGVtc1tpXS5tX3R5cGUgPT0gV2ViUG9wdXBJdGVtOjpTZXBlcmF0b3IpCisg
ICAgICAgICAgICAgICAgW1ttX3BvcHVwLmdldCgpIG1lbnVdIGFkZEl0ZW06W05TTWVudUl0ZW0g
c2VwYXJhdG9ySXRlbV1dOworICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgW21f
cG9wdXAuZ2V0KCkgYWRkSXRlbVdpdGhUaXRsZTpAIiJdOworICAgICAgICAgICAgICAgIE5TTWVu
dUl0ZW0gKm1lbnVJdGVtID0gW21fcG9wdXAuZ2V0KCkgbGFzdEl0ZW1dOworICAgICAgICAgICAg
ICAgIAorICAgICAgICAgICAgICAgIFJldGFpblB0cjxOU011dGFibGVQYXJhZ3JhcGhTdHlsZT4g
cGFyYWdyYXBoU3R5bGUoQWRvcHROUywgW1tOU1BhcmFncmFwaFN0eWxlIGRlZmF1bHRQYXJhZ3Jh
cGhTdHlsZV0gbXV0YWJsZUNvcHldKTsKKyAgICAgICAgICAgICAgICBOU1dyaXRpbmdEaXJlY3Rp
b24gd3JpdGluZ0RpcmVjdGlvbiA9IGl0ZW1zW2ldLm1fdGV4dERpcmVjdGlvbiA9PSBMVFIgPyBO
U1dyaXRpbmdEaXJlY3Rpb25MZWZ0VG9SaWdodCA6IE5TV3JpdGluZ0RpcmVjdGlvblJpZ2h0VG9M
ZWZ0OworICAgICAgICAgICAgICAgIFtwYXJhZ3JhcGhTdHlsZS5nZXQoKSBzZXRCYXNlV3JpdGlu
Z0RpcmVjdGlvbjp3cml0aW5nRGlyZWN0aW9uXTsKKyAgICAgICAgICAgICAgICBbcGFyYWdyYXBo
U3R5bGUuZ2V0KCkgc2V0QWxpZ25tZW50Om1lbnVUZXh0RGlyZWN0aW9uID09IExUUiA/IE5TTGVm
dFRleHRBbGlnbm1lbnQgOiBOU1JpZ2h0VGV4dEFsaWdubWVudF07CisgICAgICAgICAgICAgICAg
UmV0YWluUHRyPE5TTXV0YWJsZURpY3Rpb25hcnk+IGF0dHJpYnV0ZXMoQWRvcHROUywgW1tOU011
dGFibGVEaWN0aW9uYXJ5IGFsbG9jXSBpbml0V2l0aE9iamVjdHNBbmRLZXlzOgorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwYXJhZ3JhcGhTdHlsZS5nZXQoKSwgTlNQYXJhZ3JhcGhTdHlsZUF0dHJpYnV0ZU5hbWUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGZvbnQsIE5TRm9udEF0dHJpYnV0ZU5hbWUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5pbF0pOwor
ICAgICAgICAgICAgICAgIGlmIChpdGVtc1tpXS5tX2hhc1RleHREaXJlY3Rpb25PdmVycmlkZSkg
eworICAgICAgICAgICAgICAgICAgICBSZXRhaW5QdHI8TlNOdW1iZXI+IHdyaXRpbmdEaXJlY3Rp
b25WYWx1ZShBZG9wdE5TLCBbW05TTnVtYmVyIGFsbG9jXSBpbml0V2l0aEludGVnZXI6d3JpdGlu
Z0RpcmVjdGlvbiArIE5TVGV4dFdyaXRpbmdEaXJlY3Rpb25PdmVycmlkZV0pOworICAgICAgICAg
ICAgICAgICAgICBSZXRhaW5QdHI8TlNBcnJheT4gd3JpdGluZ0RpcmVjdGlvbkFycmF5KEFkb3B0
TlMsIFtbTlNBcnJheSBhbGxvY10gaW5pdFdpdGhPYmplY3RzOndyaXRpbmdEaXJlY3Rpb25WYWx1
ZS5nZXQoKSwgbmlsXSk7CisgICAgICAgICAgICAgICAgICAgIFthdHRyaWJ1dGVzLmdldCgpIHNl
dE9iamVjdDp3cml0aW5nRGlyZWN0aW9uQXJyYXkuZ2V0KCkgZm9yS2V5Ok5TV3JpdGluZ0RpcmVj
dGlvbkF0dHJpYnV0ZU5hbWVdOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBS
ZXRhaW5QdHI8TlNBdHRyaWJ1dGVkU3RyaW5nPiBzdHJpbmcoQWRvcHROUywgW1tOU0F0dHJpYnV0
ZWRTdHJpbmcgYWxsb2NdIGluaXRXaXRoU3RyaW5nOm5zU3RyaW5nRnJvbVdlYkNvcmVTdHJpbmco
aXRlbXNbaV0ubV90ZXh0KSBhdHRyaWJ1dGVzOmF0dHJpYnV0ZXMuZ2V0KCldKTsKKyAgICAgICAg
ICAgICAgICAKKyAgICAgICAgICAgICAgICBbbWVudUl0ZW0gc2V0QXR0cmlidXRlZFRpdGxlOnN0
cmluZy5nZXQoKV07CisgICAgICAgICAgICAgICAgW21lbnVJdGVtIHNldEVuYWJsZWQ6aXRlbXNb
aV0ubV9pc0VuYWJsZWRdOworICAgICAgICAgICAgICAgIFttZW51SXRlbSBzZXRUb29sVGlwOm5z
U3RyaW5nRnJvbVdlYkNvcmVTdHJpbmcoaXRlbXNbaV0ubV90b29sVGlwKV07CiAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICBSZXRhaW5QdHI8TlNBdHRyaWJ1dGVkU3RyaW5nPiBzdHJpbmcoQWRv
cHROUywgW1tOU0F0dHJpYnV0ZWRTdHJpbmcgYWxsb2NdIGluaXRXaXRoU3RyaW5nOm5zU3RyaW5n
RnJvbVdlYkNvcmVTdHJpbmcoaXRlbXNbaV0ubV90ZXh0KSBhdHRyaWJ1dGVzOmF0dHJpYnV0ZXMu
Z2V0KCldKTsKLQotICAgICAgICAgICAgW21lbnVJdGVtIHNldEF0dHJpYnV0ZWRUaXRsZTpzdHJp
bmcuZ2V0KCldOwotICAgICAgICAgICAgW21lbnVJdGVtIHNldEVuYWJsZWQ6aXRlbXNbaV0ubV9p
c0VuYWJsZWRdOwotICAgICAgICAgICAgW21lbnVJdGVtIHNldFRvb2xUaXA6bnNTdHJpbmdGcm9t
V2ViQ29yZVN0cmluZyhpdGVtc1tpXS5tX3Rvb2xUaXApXTsKICAgICAgICAgfQogICAgIH0KLX0K
LQotdm9pZCBXZWJQb3B1cE1lbnVQcm94eU1hYzo6c2hvd1BvcHVwTWVudShjb25zdCBJbnRSZWN0
JiByZWN0LCBUZXh0RGlyZWN0aW9uIHRleHREaXJlY3Rpb24sIGRvdWJsZSBzY2FsZUZhY3Rvciwg
Y29uc3QgVmVjdG9yPFdlYlBvcHVwSXRlbT4mIGl0ZW1zLCBjb25zdCBQbGF0Zm9ybVBvcHVwTWVu
dURhdGEmIGRhdGEsIGludDMyX3Qgc2VsZWN0ZWRJbmRleCkKLXsKLSAgICBOU0ZvbnQgKmZvbnQ7
Ci0gICAgaWYgKGRhdGEuZm9udEluZm8uZm9udEF0dHJpYnV0ZURpY3Rpb25hcnkpIHsKLSAgICAg
ICAgTlNGb250RGVzY3JpcHRvciAqZm9udERlc2NyaXB0b3IgPSBbTlNGb250RGVzY3JpcHRvciBm
b250RGVzY3JpcHRvcldpdGhGb250QXR0cmlidXRlczooTlNEaWN0aW9uYXJ5ICopZGF0YS5mb250
SW5mby5mb250QXR0cmlidXRlRGljdGlvbmFyeS5nZXQoKV07Ci0gICAgICAgIGZvbnQgPSBbTlNG
b250IGZvbnRXaXRoRGVzY3JpcHRvcjpmb250RGVzY3JpcHRvciBzaXplOigoc2NhbGVGYWN0b3Ig
IT0gMSkgPyBbZm9udERlc2NyaXB0b3IgcG9pbnRTaXplXSAqIHNjYWxlRmFjdG9yIDogMCldOwot
ICAgIH0gZWxzZQotICAgICAgICBmb250ID0gW05TRm9udCBtZW51Rm9udE9mU2l6ZTowXTsKLQot
ICAgIHBvcHVsYXRlKGl0ZW1zLCBmb250LCB0ZXh0RGlyZWN0aW9uKTsKLQotICAgIFttX3BvcHVw
LmdldCgpIGF0dGFjaFBvcFVwV2l0aEZyYW1lOnJlY3QgaW5WaWV3Om1fd2ViVmlld107Ci0gICAg
W21fcG9wdXAuZ2V0KCkgc2VsZWN0SXRlbUF0SW5kZXg6c2VsZWN0ZWRJbmRleF07Ci0gICAgW21f
cG9wdXAuZ2V0KCkgc2V0VXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbjp0ZXh0RGlyZWN0aW9u
ID09IExUUiA/IE5TVXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbkxlZnRUb1JpZ2h0IDogTlNV
c2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uUmlnaHRUb0xlZnRdOwotCi0gICAgTlNNZW51ICpt
ZW51ID0gW21fcG9wdXAuZ2V0KCkgbWVudV07Ci0KLSAgICAvLyBUaGVzZSB2YWx1ZXMgd2VyZSBi
b3Jyb3dlZCBmcm9tIEFwcEtpdCB0byBtYXRjaCB0aGVpciBwbGFjZW1lbnQgb2YgdGhlIG1lbnUu
Ci0gICAgY29uc3QgaW50IHBvcE92ZXJIb3Jpem9udGFsQWRqdXN0ID0gLTEwOwotICAgIE5TUmVj
dCB0aXRsZUZyYW1lID0gW21fcG9wdXAuZ2V0KCkgIHRpdGxlUmVjdEZvckJvdW5kczpyZWN0XTsK
LSAgICBpZiAodGl0bGVGcmFtZS5zaXplLndpZHRoIDw9IDAgfHwgdGl0bGVGcmFtZS5zaXplLmhl
aWdodCA8PSAwKQotICAgICAgICB0aXRsZUZyYW1lID0gcmVjdDsKLSAgICBmbG9hdCB2ZXJ0T2Zm
c2V0ID0gcm91bmRmKChOU01heFkocmVjdCkgLSBOU01heFkodGl0bGVGcmFtZSkpICsgTlNIZWln
aHQodGl0bGVGcmFtZSkpOwotICAgIE5TUG9pbnQgbG9jYXRpb24gPSBOU01ha2VQb2ludChOU01p
blgocmVjdCkgKyBwb3BPdmVySG9yaXpvbnRhbEFkanVzdCwgTlNNYXhZKHJlY3QpIC0gdmVydE9m
ZnNldCk7Ci0KLSAgICBSZXRhaW5QdHI8TlNWaWV3PiBkdW1teVZpZXcoQWRvcHROUywgW1tOU1Zp
ZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6cmVjdF0pOwotICAgIFttX3dlYlZpZXcgYWRkU3Vidmll
dzpkdW1teVZpZXcuZ2V0KCldOwotICAgIGxvY2F0aW9uID0gW2R1bW15Vmlldy5nZXQoKSBjb252
ZXJ0UG9pbnQ6bG9jYXRpb24gZnJvbVZpZXc6bV93ZWJWaWV3XTsKLQotICAgIFdLUG9wdXBNZW51
KG1lbnUsIGxvY2F0aW9uLCByb3VuZGYoTlNXaWR0aChyZWN0KSksIGR1bW15Vmlldy5nZXQoKSwg
c2VsZWN0ZWRJbmRleCwgZm9udCk7Ci0KLSAgICBbbV9wb3B1cC5nZXQoKSBkaXNtaXNzUG9wVXBd
OwotICAgIFtkdW1teVZpZXcuZ2V0KCkgcmVtb3ZlRnJvbVN1cGVydmlld107Ci0KLSAgICBpZiAo
bV9jbGllbnQpCi0gICAgICAgIG1fY2xpZW50LT52YWx1ZUNoYW5nZWRGb3JQb3B1cE1lbnUodGhp
cywgW21fcG9wdXAuZ2V0KCkgaW5kZXhPZlNlbGVjdGVkSXRlbV0pOwotfQotCi12b2lkIFdlYlBv
cHVwTWVudVByb3h5TWFjOjpoaWRlUG9wdXBNZW51KCkKLXsKLSAgICBbbV9wb3B1cC5nZXQoKSBk
aXNtaXNzUG9wVXBdOwotfQotCisgICAgCisgICAgdm9pZCBXZWJQb3B1cE1lbnVQcm94eU1hYzo6
c2hvd1BvcHVwTWVudShjb25zdCBJbnRSZWN0JiByZWN0LCBUZXh0RGlyZWN0aW9uIHRleHREaXJl
Y3Rpb24sIGRvdWJsZSBzY2FsZUZhY3RvciwgY29uc3QgVmVjdG9yPFdlYlBvcHVwSXRlbT4mIGl0
ZW1zLCBjb25zdCBQbGF0Zm9ybVBvcHVwTWVudURhdGEmIGRhdGEsIGludDMyX3Qgc2VsZWN0ZWRJ
bmRleCkKKyAgICB7CisgICAgICAgIE5TRm9udCAqZm9udDsKKyAgICAgICAgaWYgKGRhdGEuZm9u
dEluZm8uZm9udEF0dHJpYnV0ZURpY3Rpb25hcnkpIHsKKyAgICAgICAgICAgIE5TRm9udERlc2Ny
aXB0b3IgKmZvbnREZXNjcmlwdG9yID0gW05TRm9udERlc2NyaXB0b3IgZm9udERlc2NyaXB0b3JX
aXRoRm9udEF0dHJpYnV0ZXM6KE5TRGljdGlvbmFyeSAqKWRhdGEuZm9udEluZm8uZm9udEF0dHJp
YnV0ZURpY3Rpb25hcnkuZ2V0KCldOworICAgICAgICAgICAgZm9udCA9IFtOU0ZvbnQgZm9udFdp
dGhEZXNjcmlwdG9yOmZvbnREZXNjcmlwdG9yIHNpemU6KChzY2FsZUZhY3RvciAhPSAxKSA/IFtm
b250RGVzY3JpcHRvciBwb2ludFNpemVdICogc2NhbGVGYWN0b3IgOiAwKV07CisgICAgICAgIH0g
ZWxzZQorICAgICAgICAgICAgZm9udCA9IFtOU0ZvbnQgbWVudUZvbnRPZlNpemU6MF07CisgICAg
ICAgIAorICAgICAgICBwb3B1bGF0ZShpdGVtcywgZm9udCwgdGV4dERpcmVjdGlvbik7CisgICAg
ICAgIAorICAgICAgICBbbV9wb3B1cC5nZXQoKSBhdHRhY2hQb3BVcFdpdGhGcmFtZTpyZWN0IGlu
VmlldzptX3dlYlZpZXddOworICAgICAgICBbbV9wb3B1cC5nZXQoKSBzZWxlY3RJdGVtQXRJbmRl
eDpzZWxlY3RlZEluZGV4XTsKKyAgICAgICAgW21fcG9wdXAuZ2V0KCkgc2V0VXNlckludGVyZmFj
ZUxheW91dERpcmVjdGlvbjp0ZXh0RGlyZWN0aW9uID09IExUUiA/IE5TVXNlckludGVyZmFjZUxh
eW91dERpcmVjdGlvbkxlZnRUb1JpZ2h0IDogTlNVc2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9u
UmlnaHRUb0xlZnRdOworICAgICAgICAKKyAgICAgICAgTlNNZW51ICptZW51ID0gW21fcG9wdXAu
Z2V0KCkgbWVudV07CisgICAgICAgIAorICAgICAgICAvLyBUaGVzZSB2YWx1ZXMgd2VyZSBib3Jy
b3dlZCBmcm9tIEFwcEtpdCB0byBtYXRjaCB0aGVpciBwbGFjZW1lbnQgb2YgdGhlIG1lbnUuCisg
ICAgICAgIGNvbnN0IGludCBwb3BPdmVySG9yaXpvbnRhbEFkanVzdCA9IC0xMDsKKyAgICAgICAg
TlNSZWN0IHRpdGxlRnJhbWUgPSBbbV9wb3B1cC5nZXQoKSAgdGl0bGVSZWN0Rm9yQm91bmRzOnJl
Y3RdOworICAgICAgICBpZiAodGl0bGVGcmFtZS5zaXplLndpZHRoIDw9IDAgfHwgdGl0bGVGcmFt
ZS5zaXplLmhlaWdodCA8PSAwKQorICAgICAgICAgICAgdGl0bGVGcmFtZSA9IHJlY3Q7CisgICAg
ICAgIGZsb2F0IHZlcnRPZmZzZXQgPSByb3VuZGYoKE5TTWF4WShyZWN0KSAtIE5TTWF4WSh0aXRs
ZUZyYW1lKSkgKyBOU0hlaWdodCh0aXRsZUZyYW1lKSk7CisgICAgICAgIE5TUG9pbnQgbG9jYXRp
b24gPSBOU01ha2VQb2ludChOU01pblgocmVjdCkgKyBwb3BPdmVySG9yaXpvbnRhbEFkanVzdCwg
TlNNYXhZKHJlY3QpIC0gdmVydE9mZnNldCk7CisgICAgICAgIAorICAgICAgICBSZXRhaW5QdHI8
TlNWaWV3PiBkdW1teVZpZXcoQWRvcHROUywgW1tOU1ZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6
cmVjdF0pOworICAgICAgICBbbV93ZWJWaWV3IGFkZFN1YnZpZXc6ZHVtbXlWaWV3LmdldCgpXTsK
KyAgICAgICAgbG9jYXRpb24gPSBbZHVtbXlWaWV3LmdldCgpIGNvbnZlcnRQb2ludDpsb2NhdGlv
biBmcm9tVmlldzptX3dlYlZpZXddOworICAgICAgICAKKyAgICAgICAgV0tQb3B1cE1lbnUobWVu
dSwgbG9jYXRpb24sIHJvdW5kZihOU1dpZHRoKHJlY3QpKSwgZHVtbXlWaWV3LmdldCgpLCBzZWxl
Y3RlZEluZGV4LCBmb250KTsKKyAgICAgICAgCisgICAgICAgIFttX3BvcHVwLmdldCgpIGRpc21p
c3NQb3BVcF07CisgICAgICAgIFtkdW1teVZpZXcuZ2V0KCkgcmVtb3ZlRnJvbVN1cGVydmlld107
CisgICAgICAgIAorICAgICAgICBpZiAobV9jbGllbnQpCisgICAgICAgIHsKKyAgICAgICAgICAg
IG1fY2xpZW50LT52YWx1ZUNoYW5nZWRGb3JQb3B1cE1lbnUodGhpcywgW21fcG9wdXAuZ2V0KCkg
aW5kZXhPZlNlbGVjdGVkSXRlbV0pOworICAgICAgICAgICAgCisgICAgICAgICAgICAvLyA8aHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU3OTA0PiBUaGlzIGNvZGUgaXMg
YWRvcHRlZCBmcm9tIEV2ZW50SGFuZGxlcjo6c2VuZEZha2VFdmVudHNBZnRlcldpZGdldFRyYWNr
aW5nKCkuCisgICAgICAgICAgICBOU0V2ZW50KiBpbml0aWF0aW5nTlNFdmVudCA9IG1fY2xpZW50
LT5jdXJyZW50bHlQcm9jZXNzZWRNb3VzZURvd25FdmVudCgpLT5uYXRpdmVFdmVudCgpOworICAg
ICAgICAgICAgaWYgKFtpbml0aWF0aW5nTlNFdmVudCB0eXBlXSA9PSBOU0xlZnRNb3VzZURvd24p
CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgTlNFdmVudCAqZmFrZUV2ZW50ID0gW05T
RXZlbnQgbW91c2VFdmVudFdpdGhUeXBlOk5TTGVmdE1vdXNlVXAKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb246W2luaXRpYXRp
bmdOU0V2ZW50IGxvY2F0aW9uSW5XaW5kb3ddCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBtb2RpZmllckZsYWdzOltpbml0aWF0aW5nTlNFdmVudCBt
b2RpZmllckZsYWdzXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHRpbWVzdGFtcDpbaW5pdGlhdGluZ05TRXZlbnQgdGltZXN0YW1wXQorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvd051
bWJlcjpbaW5pdGlhdGluZ05TRXZlbnQgd2luZG93TnVtYmVyXQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dDpbaW5pdGlhdGlu
Z05TRXZlbnQgY29udGV4dF0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZXZlbnROdW1iZXI6W2luaXRpYXRpbmdOU0V2ZW50IGV2ZW50TnVtYmVy
XQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y2xpY2tDb3VudDpbaW5pdGlhdGluZ05TRXZlbnQgY2xpY2tDb3VudF0KKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlc3N1cmU6W2luaXRp
YXRpbmdOU0V2ZW50IHByZXNzdXJlXV07CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAg
ICAgW05TQXBwIHBvc3RFdmVudDpmYWtlRXZlbnQgYXRTdGFydDpZRVNdOworICAgICAgICAgICAg
ICAgIGZha2VFdmVudCA9IFtOU0V2ZW50IG1vdXNlRXZlbnRXaXRoVHlwZTpOU01vdXNlTW92ZWQK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb246
W1ttX3dlYlZpZXcgd2luZG93XSBjb252ZXJ0U2NyZWVuVG9CYXNlOltOU0V2ZW50IG1vdXNlTG9j
YXRpb25dXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZp
ZXJGbGFnczpbaW5pdGlhdGluZ05TRXZlbnQgbW9kaWZpZXJGbGFnc10KKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lc3RhbXA6W2luaXRpYXRpbmdOU0V2
ZW50IHRpbWVzdGFtcF0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB3aW5kb3dOdW1iZXI6W2luaXRpYXRpbmdOU0V2ZW50IHdpbmRvd051bWJlcl0KKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6W2luaXRpYXRp
bmdOU0V2ZW50IGNvbnRleHRdCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGV2ZW50TnVtYmVyOjAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNsaWNrQ291bnQ6MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBwcmVzc3VyZTowXTsKKyAgICAgICAgICAgICAgICBbTlNBcHAgcG9zdEV2
ZW50OmZha2VFdmVudCBhdFN0YXJ0OllFU107CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAg
ICB9CisgICAgCisgICAgdm9pZCBXZWJQb3B1cE1lbnVQcm94eU1hYzo6aGlkZVBvcHVwTWVudSgp
CisgICAgeworICAgICAgICBbbV9wb3B1cC5nZXQoKSBkaXNtaXNzUG9wVXBdOworICAgIH0KKyAg
ICAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL3dpbi9XZWJQb3B1cE1lbnVQcm94eVdpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3Mvd2luL1dlYlBvcHVwTWVudVByb3h5V2luLmNwcAppbmRleCBlZWJkZTc1Li45M2JhNmEy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mvd2luL1dlYlBvcHVwTWVudVBy
b3h5V2luLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mvd2luL1dlYlBvcHVwTWVu
dVByb3h5V2luLmNwcApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2lu
Y2x1ZGUgIldlYlBvcHVwTWVudVByb3h5V2luLmgiCiAKKyNpbmNsdWRlICJOYXRpdmVXZWJNb3Vz
ZUV2ZW50LmgiCiAjaW5jbHVkZSAiV2ViVmlldy5oIgogI2luY2x1ZGUgPFdlYkNvcmUvV2ViQ29y
ZUluc3RhbmNlSGFuZGxlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TY3JvbGxiYXJUaGVtZS5oPgpA
QCAtMzI0LDggKzMyNSwyMiBAQCB2b2lkIFdlYlBvcHVwTWVudVByb3h5V2luOjpzaG93UG9wdXBN
ZW51KGNvbnN0IEludFJlY3QmIHJlY3QsIFRleHREaXJlY3Rpb24sIGRvdQogICAgIG1fc2hvd1Bv
cHVwID0gZmFsc2U7CiAgICAgOjpTaG93V2luZG93KG1fcG9wdXAsIFNXX0hJREUpOwogCi0gICAg
aWYgKG1fY2xpZW50KQorICAgIGlmIChtX2NsaWVudCkgewogICAgICAgICBtX2NsaWVudC0+dmFs
dWVDaGFuZ2VkRm9yUG9wdXBNZW51KHRoaXMsIG1fbmV3U2VsZWN0ZWRJbmRleCk7CisKKyAgICAg
ICAgLy8gPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NzkwND4gSW4g
b3JkZXIgdG8gcHJvcGVybHkgY2FsbCB0aGUgb25DbGljaygpCisgICAgICAgIC8vIGhhbmRsZXIg
b24gYSA8c2VsZWN0PiBlbGVtZW50LCB3ZSBuZWVkIHRvIGZha2UgYSBtb3VzZSB1cCBldmVudCBp
biB0aGUgbWFpbiB3aW5kb3cuCisgICAgICAgIC8vIFRoZSBtYWluIHdpbmRvdyBhbHJlYWR5IHJl
Y2VpdmVkIHRoZSBtb3VzZSBkb3duLCB3aGljaCBzaG93ZWQgdGhpcyBwb3B1cCwgYnV0IHVwb24K
KyAgICAgICAgLy8gc2VsZWN0aW9uIG9mIGFuIGl0ZW0gdGhlIG1vdXNlIHVwIGdldHMgZWF0ZW4g
YnkgdGhlIHBvcHVwIG1lbnUuIFNvIHdlIHRha2UgdGhlIG1vdXNlIGRvd24KKyAgICAgICAgLy8g
ZXZlbnQsIGNoYW5nZSB0aGUgbWVzc2FnZSB0eXBlIHRvIGEgbW91c2UgdXAgZXZlbnQsIGFuZCBw
b3N0IHRoYXQgaW4gdGhlIG1lc3NhZ2UgcXVldWUuCisgICAgICAgIC8vIFRodXMsIHdlIGFyZSB2
aXJ0dWFsbHkgY2xpY2tpbmcgYXQgdGhlCisgICAgICAgIC8vIHNhbWUgbG9jYXRpb24gd2hlcmUg
dGhlIG1vdXNlIGRvd24gZXZlbnQgb2NjdXJyZWQuIFRoaXMgYWxsb3dzIHRoZSBoaXQgdGVzdCB0
byBzZWxlY3QKKyAgICAgICAgLy8gdGhlIGNvcnJlY3QgZWxlbWVudCwgYW5kIHRoZXJlYnkgY2Fs
bCB0aGUgb25DbGljaygpIEpTIGhhbmRsZXIuCisgICAgICAgIGNvbnN0IE1TRyogaW5pdGlhdGlu
Z1dpbkV2ZW50ID0gbV9jbGllbnQtPmN1cnJlbnRseVByb2Nlc3NlZE1vdXNlRG93bkV2ZW50KCkt
Pm5hdGl2ZUV2ZW50KCk7CisgICAgICAgIE1TRyBmYWtlRXZlbnQgPSAqaW5pdGlhdGluZ1dpbkV2
ZW50OworICAgICAgICBmYWtlRXZlbnQubWVzc2FnZSA9IFdNX0xCVVRUT05VUDsKKyAgICAgICAg
OjpQb3N0TWVzc2FnZSgmZmFrZUV2ZW50KTsKKyAgICB9CiB9CiAKIHZvaWQgV2ViUG9wdXBNZW51
UHJveHlXaW46OmhpZGVQb3B1cE1lbnUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL3dpbi9XZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy93aW4vV2Vi
Vmlldy5jcHAKaW5kZXggZTBkODkwMy4uZWE1NDY4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL3dpbi9XZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3Mvd2luL1dlYlZpZXcuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiRmluZEluZGlj
YXRvci5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJOYXRpdmVXZWJLZXlib2Fy
ZEV2ZW50LmgiCisjaW5jbHVkZSAiTmF0aXZlV2ViTW91c2VFdmVudC5oIgogI2luY2x1ZGUgIlJl
Z2lvbi5oIgogI2luY2x1ZGUgIlJ1bkxvb3AuaCIKICNpbmNsdWRlICJXS0FQSUNhc3QuaCIKQEAg
LTM4Niw3ICszODcsNyBAQCB2b2lkIFdlYlZpZXc6OndpbmRvd0FuY2VzdHJ5RGlkQ2hhbmdlKCkK
IAogTFJFU1VMVCBXZWJWaWV3Ojpvbk1vdXNlRXZlbnQoSFdORCBoV25kLCBVSU5UIG1lc3NhZ2Us
IFdQQVJBTSB3UGFyYW0sIExQQVJBTSBsUGFyYW0sIGJvb2wmIGhhbmRsZWQpCiB7Ci0gICAgV2Vi
TW91c2VFdmVudCBtb3VzZUV2ZW50ID0gV2ViRXZlbnRGYWN0b3J5OjpjcmVhdGVXZWJNb3VzZUV2
ZW50KGhXbmQsIG1lc3NhZ2UsIHdQYXJhbSwgbFBhcmFtLCBtX3dhc0FjdGl2YXRlZEJ5TW91c2VF
dmVudCk7CisgICAgTmF0aXZlV2ViTW91c2VFdmVudCBtb3VzZUV2ZW50ID0gTmF0aXZlV2ViTW91
c2VFdmVudChoV25kLCBtZXNzYWdlLCB3UGFyYW0sIGxQYXJhbSwgbV93YXNBY3RpdmF0ZWRCeU1v
dXNlRXZlbnQpOwogICAgIHNldFdhc0FjdGl2YXRlZEJ5TW91c2VFdmVudChmYWxzZSk7CiAgICAg
CiAgICAgc3dpdGNoIChtZXNzYWdlKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJL
aXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZTM0ZWQ2Yi4uNWVmOTk3MCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjM2
LDYgKzIzNiw3IEBACiAJCTFDQThCOTU0MTI3Qzg5MTUwMDU3NkMyQiAvKiBXZWJJbnNwZWN0b3JN
YWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzhF
MkRBRDEyNzhDNUIyMDBCQzdCRDAgLyogV2ViSW5zcGVjdG9yTWFjLm1tICovOyB9OwogCQkyOUNE
NTVBQTEyOEUyOTRGMDAxMzNDODUgLyogQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3QuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5Q0Q1NUE4MTI4RTI5
NEYwMDEzM0M4NSAvKiBBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdC5oICovOyB9OwogCQkyOUNE
NTVBQjEyOEUyOTRGMDAxMzNDODUgLyogQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3QubW0gaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUNENTVBOTEyOEUy
OTRGMDAxMzNDODUgLyogQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3QubW0gKi87IH07CisJCTMx
RUEyNUQyMTM0Rjc4QzAwMDVCMTQ1MiAvKiBOYXRpdmVXZWJNb3VzZUV2ZW50TWFjLm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFFQTI1RDAxMzRGNzhC
MjAwNUIxNDUyIC8qIE5hdGl2ZVdlYk1vdXNlRXZlbnRNYWMubW0gKi87IH07CiAJCTMzMDkzNDQ3
MTMxNUI5MjIwMDk3QTdCQyAvKiBXZWJDb29raWVNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMzMDkzNDQzMTMx
NUI5MjIwMDk3QTdCQyAvKiBXZWJDb29raWVNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsg
fTsKIAkJMzMwOTM0NDgxMzE1QjkyMjAwOTdBN0JDIC8qIFdlYkNvb2tpZU1hbmFnZXJNZXNzYWdl
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzMwOTM0
NDQxMzE1QjkyMjAwOTdBN0JDIC8qIFdlYkNvb2tpZU1hbmFnZXJNZXNzYWdlcy5oICovOyB9Owog
CQkzMzA5MzQ0OTEzMTVCOTIyMDA5N0E3QkMgLyogV2ViQ29va2llTWFuYWdlclByb3h5TWVzc2Fn
ZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDMzMDkzNDQ1MTMxNUI5MjIwMDk3QTdCQyAvKiBXZWJDb29raWVNYW5hZ2VyUHJveHlNZXNz
YWdlUmVjZWl2ZXIuY3BwICovOyB9OwpAQCAtMTExNiw2ICsxMTE3LDggQEAKIAkJMUNBOEI5NDQx
MjdDODgyQTAwNTc2QzJCIC8qIFdlYkluc3BlY3RvclByb3h5TWVzc2FnZXMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViSW5zcGVjdG9yUHJveHlNZXNzYWdlcy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOUNENTVBODEyOEUyOTRGMDAxMzNDODUgLyogQWNj
ZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMjlDRDU1QTkxMjhFMjk0RjAwMTMzQzg1IC8qIEFjY2Vzc2liaWxpdHlXZWJQYWdlT2Jq
ZWN0Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQWNjZXNzaWJp
bGl0eVdlYlBhZ2VPYmplY3QubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRUEy
NUQwMTM0Rjc4QjIwMDVCMTQ1MiAvKiBOYXRpdmVXZWJNb3VzZUV2ZW50TWFjLm1tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBwYXRoID0gTmF0aXZlV2ViTW91c2VFdmVudE1hYy5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMzFFQTI1RDMxMzRGNzhENjAwNUIxNDUyIC8qIE5hdGl2ZVdlYk1vdXNl
RXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTmF0aXZlV2ViTW91c2VF
dmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMkRCQ0Y1RTAzNzBBREVFMDBD
OTE3ODMgLyogV2ViS2l0MlByZWZpeC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXZWJLaXQyUHJlZml4Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMzMDkzNDQz
MTMxNUI5MjIwMDk3QTdCQyAvKiBXZWJDb29raWVNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkNvb2tpZU1hbmFnZXJNZXNz
YWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMzA5MzQ0NDEz
MTVCOTIyMDA5N0E3QkMgLyogV2ViQ29va2llTWFuYWdlck1lc3NhZ2VzLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNvb2tpZU1hbmFnZXJNZXNzYWdlcy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjA2OSw2ICsyMDcyLDcgQEAKIAkJCQlCQ0IwQUVFODEy
MkY1M0UzMDBCMTM0MUUgLyogTXV0YWJsZURpY3Rpb25hcnkuY3BwICovLAogCQkJCUJDQjBBRUU3
MTIyRjUzRTMwMEIxMzQxRSAvKiBNdXRhYmxlRGljdGlvbmFyeS5oICovLAogCQkJCUMwMkJGRjE1
MTI1MTRGRDgwMDlDQ0JFQSAvKiBOYXRpdmVXZWJLZXlib2FyZEV2ZW50LmggKi8sCisJCQkJMzFF
QTI1RDMxMzRGNzhENjAwNUIxNDUyIC8qIE5hdGl2ZVdlYk1vdXNlRXZlbnQuaCAqLywKIAkJCQlC
Q0NGNjczMjEyQzdGMTVDMDA4RjlDMzUgLyogT3JpZ2luQW5kRGF0YWJhc2VzLmNwcCAqLywKIAkJ
CQlCQ0NGNjcyQzEyQzdFREY3MDA4RjlDMzUgLyogT3JpZ2luQW5kRGF0YWJhc2VzLmggKi8sCiAJ
CQkJQkNDNDNBQjgxMjdCOTVEQzAwMzE3RjE2IC8qIFBsYXRmb3JtUG9wdXBNZW51RGF0YS5jcHAg
Ki8sCkBAIC0yNzc1LDYgKzI3NzksNyBAQAogCQkJCTFBOTYzOUY1MTJGMzhFQ0QwMDc4QTA2MiAv
KiBDb3JlQW5pbWF0aW9uUmVuZGVyZXIuaCAqLywKIAkJCQkxQTk2MzlGNjEyRjM4RUNEMDA3OEEw
NjIgLyogQ29yZUFuaW1hdGlvblJlbmRlcmVyLm1tICovLAogCQkJCTFBOTJEQzEyMTJGOEJBQjkw
MDE3QUY2NSAvKiBMYXllclRyZWVDb250ZXh0TWFjLm1tICovLAorCQkJCTMxRUEyNUQwMTM0Rjc4
QjIwMDVCMTQ1MiAvKiBOYXRpdmVXZWJNb3VzZUV2ZW50TWFjLm1tICovLAogCQkJCUMwMkJGRjFE
MTI1MTUwMkUwMDlDQ0JFQSAvKiBOYXRpdmVXZWJLZXlib2FyZEV2ZW50TWFjLm1tICovLAogCQkJ
CUM1NzRBNTdGMTJFNjY2ODEwMDJERkU5OCAvKiBQYXN0ZWJvYXJkVHlwZXMuaCAqLywKIAkJCQlD
NTc0QTU4MDEyRTY2NjgxMDAyREZFOTggLyogUGFzdGVib2FyZFR5cGVzLm1tICovLApAQCAtNDMw
Nyw2ICs0MzEyLDcgQEAKIAkJCQk1MTgzNDU5MjEzNDUzMkU5MDA5MkI2OTYgLyogV2ViSWNvbkRh
dGFiYXNlQ2xpZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUxQTMxNzM1MTM0Q0VBODAwMDdD
OUE0RiAvKiBBdHRyaWJ1dGVkU3RyaW5nLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJRTE3OUZEOUYx
MzREMzgyNTAwMTVCODgzIC8qIEFyZ3VtZW50Q29kZXJzTWFjLm1tIGluIFNvdXJjZXMgKi8sCisJ
CQkJMzFFQTI1RDIxMzRGNzhDMDAwNUIxNDUyIC8qIE5hdGl2ZVdlYk1vdXNlRXZlbnRNYWMubW0g
aW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNz
aW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZj
cHJvaiBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJvagppbmRleCA5ODJhZDk3Li4y
MmM0MzBjIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2oKKysr
IGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIudmNwcm9qCkBAIC00ODMsNiArNDgzLDEwIEBA
CiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFNoYXJl
ZFxOYXRpdmVXZWJNb3VzZUV2ZW50LmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXFNoYXJlZFxPcmlnaW5BbmREYXRhYmFzZXMuY3BwIgogCQkJCT4K
IAkJCTwvRmlsZT4KQEAgLTExOTQsNiArMTE5OCw2NCBAQAogCQkJCQk+CiAJCQkJPC9GaWxlPgog
CQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cU2hhcmVkXHdpblxOYXRpdmVXZWJNb3Vz
ZUV2ZW50V2luLmNwcCIKKwkJCQkJPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5h
bWU9IkRlYnVnfFdpbjMyIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NM
Q29tcGlsZXJUb29sIgorCQkJCQkJCU9iamVjdEZpbGU9IiQoSW50RGlyKVwkKElucHV0TmFtZSkx
Lm9iaiIKKwkJCQkJCQlYTUxEb2N1bWVudGF0aW9uRmlsZU5hbWU9IiQoSW50RGlyKVwkKElucHV0
TmFtZSkxLnhkYyIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxG
aWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJCT4KKwkJ
CQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCQlPYmplY3RG
aWxlPSIkKEludERpcilcJChJbnB1dE5hbWUpMS5vYmoiCisJCQkJCQkJWE1MRG9jdW1lbnRhdGlv
bkZpbGVOYW1lPSIkKEludERpcilcJChJbnB1dE5hbWUpMS54ZGMiCisJCQkJCQkvPgorCQkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9
IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCQlPYmplY3RGaWxlPSIkKEludERpcilcJChJ
bnB1dE5hbWUpMS5vYmoiCisJCQkJCQkJWE1MRG9jdW1lbnRhdGlvbkZpbGVOYW1lPSIkKEludERp
cilcJChJbnB1dE5hbWUpMS54ZGMiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
PgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZM
aXRlfFdpbjMyIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIgorCQkJCQkJCU9iamVjdEZpbGU9IiQoSW50RGlyKVwkKElucHV0TmFtZSkxLm9iaiIK
KwkJCQkJCQlYTUxEb2N1bWVudGF0aW9uRmlsZU5hbWU9IiQoSW50RGlyKVwkKElucHV0TmFtZSkx
LnhkYyIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29u
ZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQkJPgorCQkJCQkJ
PFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJCU9iamVjdEZpbGU9
IiQoSW50RGlyKVwkKElucHV0TmFtZSkxLm9iaiIKKwkJCQkJCQlYTUxEb2N1bWVudGF0aW9uRmls
ZU5hbWU9IiQoSW50RGlyKVwkKElucHV0TmFtZSkxLnhkYyIKKwkJCQkJCS8+CisJCQkJCTwvRmls
ZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iUHJv
ZHVjdGlvbnxXaW4zMiIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENv
bXBpbGVyVG9vbCIKKwkJCQkJCQlPYmplY3RGaWxlPSIkKEludERpcilcJChJbnB1dE5hbWUpMS5v
YmoiCisJCQkJCQkJWE1MRG9jdW1lbnRhdGlvbkZpbGVOYW1lPSIkKEludERpcilcJChJbnB1dE5h
bWUpMS54ZGMiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTwvRmls
ZT4KKwkJCQk8RmlsZQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFNoYXJlZFx3aW5cUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8uY3BwIgogCQkJCQk+CiAJCQkJPC9GaWxlPgotLSAKMS43LjMuNAoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89021</attachid>
            <date>2011-04-11 09:58:03 -0700</date>
            <delta_ts>2011-04-11 13:54:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-onClick-does-not-function-with-select-elements-in-We.patch</filename>
            <type>text/plain</type>
            <size>41381</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">RnJvbSAxZTFlZTBmMDQ2MTVhYTUzYjI2NDYyODg3NTU4YWQ5MWU3NzllNDg0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb24gTGVlIDxqb25sZWVAYXBwbGUuY29tPgpEYXRlOiBGcmks
IDggQXByIDIwMTEgMTM6NDI6NTMgLTA3MDAKU3ViamVjdDogW1BBVENIXSBvbkNsaWNrIGRvZXMg
bm90IGZ1bmN0aW9uIHdpdGggPHNlbGVjdD4gZWxlbWVudHMgaW4gV2ViS2l0MgogaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU3OTA0CiA8cmRhcjovL3Byb2JsZW0vOTIx
Nzc1Nz4KClJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKKiBTaGFyZWQvTmF0aXZlV2ViTW91
c2VFdmVudC5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUG9wdXBN
ZW51UHJveHkuaC4KKFdlYktpdDo6TmF0aXZlV2ViTW91c2VFdmVudDo6bmF0aXZlRXZlbnQpOgoo
V2ViS2l0OjpOYXRpdmVXZWJNb3VzZUV2ZW50OjpuYXRpdmVWaWV3KToKKiBTaGFyZWQvbWFjL05h
dGl2ZVdlYk1vdXNlRXZlbnRNYWMubW06IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQb3B1cE1lbnVQcm94eS5oLgooV2ViS2l0OjpOYXRpdmVXZWJNb3VzZUV2ZW50OjpO
YXRpdmVXZWJNb3VzZUV2ZW50KToKKiBTaGFyZWQvd2luL05hdGl2ZVdlYk1vdXNlRXZlbnRXaW4u
Y3BwOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUG9wdXBNZW51UHJv
eHkuaC4KKFdlYktpdDo6TmF0aXZlV2ViTW91c2VFdmVudDo6TmF0aXZlV2ViTW91c2VFdmVudCk6
CiogVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tOgooLVtXS1ZpZXcgX21vdXNlSGFuZGxlcjpd
KTogUHJlLWNvbXBpbGVyIG1vdXNlIGhhbmRsZXIgY2FsbHMgbmVlZCB0byB1c2UgdGhlIG5ldyBO
YXRpdmVXZWJNb3VzZUV2ZW50IGNsYXNzCiogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CihX
ZWJLaXQ6OldlYlBhZ2VQcm94eTo6aGFuZGxlTW91c2VFdmVudCk6IGtlZXAgdHJhY2sgb2YgbW91
c2UgZG93biBldmVudCBpbiBvcmRlciB0byBiZSBhYmxlIHRvIHNlbmQgYSBmYWtlIG1vdXNlIHVw
IGV2ZW50IG9uIHRoZSBzZWxlY3QgZWxlbWVudAooV2ViS2l0OjpXZWJQYWdlUHJveHk6OmN1cnJl
bnRNb3VzZURvd25FdmVudCk6IGZvciBhY2Nlc3MgYnkgdGhlIHBvcHVwIG1lbnUgcHJveHkgdG8g
ZGlzcGF0Y2ggdGhlIGZha2UgbW91c2UgdXAgZXZlbnQKKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpk
aWRSZWNlaXZlRXZlbnQpOiBjbGVhciBvdXQgdGhlIGNhY2hlZCBtb3VzZSBkb3duIGV2ZW50Ciog
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgoqIFVJUHJvY2Vzcy9XZWJQb3B1cE1lbnVQcm94eS5o
OgoqIFVJUHJvY2Vzcy9tYWMvV2ViUG9wdXBNZW51UHJveHlNYWMubW06CihXZWJLaXQ6OldlYlBv
cHVwTWVudVByb3h5TWFjOjpzaG93UG9wdXBNZW51KTogYWZ0ZXIgbm90aWZ5aW5nIHRoZSBwb3B1
cCBtZW51IGNsaWVudCB0aGF0IHRoZSB2YWx1ZSBjaGFuZ2VkLCBmYWtlIG1vdXNlIHVwIGFuZCBt
b3VzZSBtb3ZlIGV2ZW50cyBhcmUgcG9zdGVkCiogVUlQcm9jZXNzL3dpbi9XZWJQb3B1cE1lbnVQ
cm94eVdpbi5jcHA6CihXZWJLaXQ6OldlYlBvcHVwTWVudVByb3h5V2luOjpzaG93UG9wdXBNZW51
KTogYWZ0ZXIgbm90aWZ5aW5nIHRoZSBwb3B1cCBtZW51IGNsaWVudCB0aGF0IHRoZSB2YWx1ZSBj
aGFuZ2VkLCBmYWtlIG1vdXNlIHVwIGFuZCBtb3VzZSBtb3ZlIGV2ZW50cyBhcmUgcG9zdGVkCiog
VUlQcm9jZXNzL3dpbi9XZWJWaWV3LmNwcDoKKFdlYktpdDo6V2ViVmlldzo6b25Nb3VzZUV2ZW50
KToKKiBXZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Ciogd2luL1dlYktpdDIudmNw
cm9qOgotLS0KIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHwgICAzMiArKysKIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9OYXRpdmVXZWJNb3VzZUV2ZW50
LmggICAgICAgIHwgICA2MiArKysrKysKIC4uLi9XZWJLaXQyL1NoYXJlZC9tYWMvTmF0aXZlV2Vi
TW91c2VFdmVudE1hYy5tbSAgIHwgICAzOSArKysrCiAuLi4vV2ViS2l0Mi9TaGFyZWQvd2luL05h
dGl2ZVdlYk1vdXNlRXZlbnRXaW4uY3BwICB8ICAgNDMgKysrKwogU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tICAgICAgICAgfCAgIDM2ICsrKy0tCiBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCAgICAgICAgICB8ICAgMjMgKystCiBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggICAgICAgICAgICB8ICAgIDcgKy0K
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQb3B1cE1lbnVQcm94eS5oICAgICAgIHwgICAg
MiArCiAuLi4vV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYlBvcHVwTWVudVByb3h5TWFjLm1tICB8
ICAyMTAgKysrKysrKysrKystLS0tLS0tLS0KIC4uLi9XZWJLaXQyL1VJUHJvY2Vzcy93aW4vV2Vi
UG9wdXBNZW51UHJveHlXaW4uY3BwIHwgICAxNyArKy0KIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy93aW4vV2ViVmlldy5jcHAgICAgICAgICAgIHwgICAgMyArLQogU291cmNlL1dlYktpdDIvV2Vi
S2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qICAgfCAgICA2ICsKIFNvdXJjZS9XZWJLaXQy
L3dpbi9XZWJLaXQyLnZjcHJvaiAgICAgICAgICAgICAgICAgIHwgICA2MiArKysrKysKIDEzIGZp
bGVzIGNoYW5nZWQsIDQzMSBpbnNlcnRpb25zKCspLCAxMTEgZGVsZXRpb25zKC0pCiBjcmVhdGUg
bW9kZSAxMDA2NDQgU291cmNlL1dlYktpdDIvU2hhcmVkL05hdGl2ZVdlYk1vdXNlRXZlbnQuaAog
Y3JlYXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvTmF0aXZlV2ViTW91
c2VFdmVudE1hYy5tbQogY3JlYXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC93
aW4vTmF0aXZlV2ViTW91c2VFdmVudFdpbi5jcHAKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOTI5MjU5Ni4uMzUz
YTJhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDExLTA0LTA4ICBKb24gTGVlICA8
am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBvbkNsaWNrIGRvZXMgbm90IGZ1bmN0aW9uIHdpdGggPHNlbGVjdD4gZWxlbWVu
dHMgaW4gV2ViS2l0MgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NTc5MDQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzkyMTc3NTc+CisKKyAgICAgICAg
KiBTaGFyZWQvTmF0aXZlV2ViTW91c2VFdmVudC5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUG9wdXBNZW51UHJveHkuaC4KKyAgICAgICAgKFdlYktpdDo6TmF0aXZl
V2ViTW91c2VFdmVudDo6bmF0aXZlRXZlbnQpOgorICAgICAgICAoV2ViS2l0OjpOYXRpdmVXZWJN
b3VzZUV2ZW50OjpuYXRpdmVWaWV3KToKKyAgICAgICAgKiBTaGFyZWQvbWFjL05hdGl2ZVdlYk1v
dXNlRXZlbnRNYWMubW06IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
b3B1cE1lbnVQcm94eS5oLgorICAgICAgICAoV2ViS2l0OjpOYXRpdmVXZWJNb3VzZUV2ZW50OjpO
YXRpdmVXZWJNb3VzZUV2ZW50KToKKyAgICAgICAgKiBTaGFyZWQvd2luL05hdGl2ZVdlYk1vdXNl
RXZlbnRXaW4uY3BwOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUG9w
dXBNZW51UHJveHkuaC4KKyAgICAgICAgKFdlYktpdDo6TmF0aXZlV2ViTW91c2VFdmVudDo6TmF0
aXZlV2ViTW91c2VFdmVudCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1t
OgorICAgICAgICAoLVtXS1ZpZXcgX21vdXNlSGFuZGxlcjpdKTogUHJlLWNvbXBpbGVyIG1vdXNl
IGhhbmRsZXIgY2FsbHMgbmVlZCB0byB1c2UgdGhlIG5ldyBOYXRpdmVXZWJNb3VzZUV2ZW50IGNs
YXNzCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2VQcm94eTo6aGFuZGxlTW91c2VFdmVudCk6IGtlZXAgdHJhY2sgb2YgbW91c2Ug
ZG93biBldmVudCBpbiBvcmRlciB0byBiZSBhYmxlIHRvIHNlbmQgYSBmYWtlIG1vdXNlIHVwIGV2
ZW50IG9uIHRoZSBzZWxlY3QgZWxlbWVudAorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6
OmN1cnJlbnRNb3VzZURvd25FdmVudCk6IGZvciBhY2Nlc3MgYnkgdGhlIHBvcHVwIG1lbnUgcHJv
eHkgdG8gZGlzcGF0Y2ggdGhlIGZha2UgbW91c2UgdXAgZXZlbnQKKyAgICAgICAgKFdlYktpdDo6
V2ViUGFnZVByb3h5OjpkaWRSZWNlaXZlRXZlbnQpOiBjbGVhciBvdXQgdGhlIGNhY2hlZCBtb3Vz
ZSBkb3duIGV2ZW50CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJQb3B1cE1lbnVQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9t
YWMvV2ViUG9wdXBNZW51UHJveHlNYWMubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBvcHVwTWVu
dVByb3h5TWFjOjpzaG93UG9wdXBNZW51KTogYWZ0ZXIgbm90aWZ5aW5nIHRoZSBwb3B1cCBtZW51
IGNsaWVudCB0aGF0IHRoZSB2YWx1ZSBjaGFuZ2VkLCBmYWtlIG1vdXNlIHVwIGFuZCBtb3VzZSBt
b3ZlIGV2ZW50cyBhcmUgcG9zdGVkCisgICAgICAgICogVUlQcm9jZXNzL3dpbi9XZWJQb3B1cE1l
bnVQcm94eVdpbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBvcHVwTWVudVByb3h5V2luOjpz
aG93UG9wdXBNZW51KTogYWZ0ZXIgbm90aWZ5aW5nIHRoZSBwb3B1cCBtZW51IGNsaWVudCB0aGF0
IHRoZSB2YWx1ZSBjaGFuZ2VkLCBmYWtlIG1vdXNlIHVwIGFuZCBtb3VzZSBtb3ZlIGV2ZW50cyBh
cmUgcG9zdGVkCisgICAgICAgICogVUlQcm9jZXNzL3dpbi9XZWJWaWV3LmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViVmlldzo6b25Nb3VzZUV2ZW50KToKKyAgICAgICAgKiBXZWJLaXQyLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogd2luL1dlYktpdDIudmNwcm9qOgorCiAy
MDExLTA0LTA3ICBBZGFtIFJvYmVuICA8YXJvYmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBQYXNz
IE5QUF9TZXRXaW5kb3cgYSBudWxsIHdpbmRvdyBoYW5kbGUgZHVyaW5nIHBsdWdpbiBkZXN0cnVj
dGlvbiBvbiBub24tTWFjIHBsYXRmb3JtcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL05hdGl2ZVdlYk1vdXNlRXZlbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9OYXRpdmVX
ZWJNb3VzZUV2ZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmQ3MGJk
MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9OYXRpdmVXZWJNb3Vz
ZUV2ZW50LmgKQEAgLTAsMCArMSw2MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgTmF0aXZlV2Vi
TW91c2VFdmVudF9oCisjZGVmaW5lIE5hdGl2ZVdlYk1vdXNlRXZlbnRfaAorCisjaW5jbHVkZSAi
V2ViRXZlbnQuaCIKKworI2lmIFBMQVRGT1JNKE1BQykKKyNpbmNsdWRlIDx3dGYvUmV0YWluUHRy
Lmg+CitPQkpDX0NMQVNTIE5TVmlldzsKKyNlbmRpZgorCituYW1lc3BhY2UgV2ViS2l0IHsKKwor
Y2xhc3MgTmF0aXZlV2ViTW91c2VFdmVudCA6IHB1YmxpYyBXZWJNb3VzZUV2ZW50IHsKK3B1Ymxp
YzoKKyNpZiBQTEFURk9STShNQUMpCisgICAgTmF0aXZlV2ViTW91c2VFdmVudChOU0V2ZW50ICos
IE5TVmlldyAqKTsKKyNlbGlmIFBMQVRGT1JNKFdJTikKKyAgICBOYXRpdmVXZWJNb3VzZUV2ZW50
KEhXTkQsIFVJTlQgbWVzc2FnZSwgV1BBUkFNLCBMUEFSQU0sIGJvb2wpOworI2VuZGlmCisgICAg
CisjaWYgUExBVEZPUk0oTUFDKQorICAgIE5TRXZlbnQqIG5hdGl2ZUV2ZW50KCkgY29uc3QgeyBy
ZXR1cm4gbV9uYXRpdmVFdmVudC5nZXQoKTsgfQorI2VsaWYgUExBVEZPUk0oV0lOKQorICAgIGNv
bnN0IE1TRyogbmF0aXZlRXZlbnQoKSBjb25zdCB7IHJldHVybiAmbV9uYXRpdmVFdmVudDsgfQor
I2VuZGlmCisgICAgCitwcml2YXRlOgorI2lmIFBMQVRGT1JNKE1BQykKKyAgICBSZXRhaW5QdHI8
TlNFdmVudD4gbV9uYXRpdmVFdmVudDsKKyNlbGlmIFBMQVRGT1JNKFdJTikKKyAgICBNU0cgbV9u
YXRpdmVFdmVudDsKKyNlbmRpZgorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRp
ZiAvLyBOYXRpdmVXZWJNb3VzZUV2ZW50X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9tYWMvTmF0aXZlV2ViTW91c2VFdmVudE1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9tYWMvTmF0aXZlV2ViTW91c2VFdmVudE1hYy5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi4wMGQ4NGZlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL21hYy9OYXRpdmVXZWJNb3VzZUV2ZW50TWFjLm1tCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBvcnQgIk5hdGl2ZVdlYk1vdXNlRXZlbnQu
aCIKKworI2ltcG9ydCAiV2ViRXZlbnRGYWN0b3J5LmgiCisKK25hbWVzcGFjZSBXZWJLaXQgewor
ICAgIAorTmF0aXZlV2ViTW91c2VFdmVudDo6TmF0aXZlV2ViTW91c2VFdmVudChOU0V2ZW50KiBl
dmVudCwgTlNWaWV3KiB2aWV3KQorICAgIDogV2ViTW91c2VFdmVudChXZWJFdmVudEZhY3Rvcnk6
OmNyZWF0ZVdlYk1vdXNlRXZlbnQoZXZlbnQsIHZpZXcpKQorICAgICwgbV9uYXRpdmVFdmVudChl
dmVudCkKK3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvd2luL05hdGl2ZVdlYk1vdXNlRXZlbnRXaW4uY3BwIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL3dpbi9OYXRpdmVXZWJNb3VzZUV2ZW50V2luLmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi41YjgzZGM2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL3dpbi9OYXRpdmVXZWJNb3VzZUV2ZW50V2luLmNwcApAQCAtMCwwICsx
LDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk5hdGl2
ZVdlYk1vdXNlRXZlbnQuaCIKKworI2luY2x1ZGUgIldlYkV2ZW50RmFjdG9yeS5oIgorCituYW1l
c3BhY2UgV2ViS2l0IHsKKworTmF0aXZlV2ViTW91c2VFdmVudDo6TmF0aXZlV2ViTW91c2VFdmVu
dChIV05EIGh3bmQsIFVJTlQgbWVzc2FnZSwgV1BBUkFNIHdQYXJhbSwgTFBBUkFNIGxQYXJhbSwg
Ym9vbCBkaWRBY3RpdmF0ZVdlYlZpZXcpCisgICAgOiBXZWJNb3VzZUV2ZW50KFdlYkV2ZW50RmFj
dG9yeTo6Y3JlYXRlV2ViTW91c2VFdmVudChod25kLCBtZXNzYWdlLCB3UGFyYW0sIGxQYXJhbSwg
ZGlkQWN0aXZhdGVXZWJWaWV3KSkKKyAgICAsIG1fbmF0aXZlRXZlbnQoKQoreworICAgIG1fbmF0
aXZlRXZlbnQuaHduZCA9IGh3bmQ7CisgICAgbV9uYXRpdmVFdmVudC5tZXNzYWdlID0gbWVzc2Fn
ZTsKKyAgICBtX25hdGl2ZUV2ZW50LndQYXJhbSA9IHdQYXJhbTsKKyAgICBtX25hdGl2ZUV2ZW50
LmxQYXJhbSA9IGxQYXJhbTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0gYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0KaW5kZXggN2MxNTQ0OS4uOGFlZGZlOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbQpAQCAtMzUsNiAr
MzUsNyBAQAogI2ltcG9ydCAiTGF5ZXJUcmVlQ29udGV4dC5oIgogI2ltcG9ydCAiTG9nZ2luZy5o
IgogI2ltcG9ydCAiTmF0aXZlV2ViS2V5Ym9hcmRFdmVudC5oIgorI2ltcG9ydCAiTmF0aXZlV2Vi
TW91c2VFdmVudC5oIgogI2ltcG9ydCAiUERGVmlld0NvbnRyb2xsZXIuaCIKICNpbXBvcnQgIlBh
Z2VDbGllbnRJbXBsLmgiCiAjaW1wb3J0ICJQYXN0ZWJvYXJkVHlwZXMuaCIKQEAgLTkzOCw2ICs5
MzksMjcgQEAgc3RhdGljIHZvaWQgc3BlYWtTdHJpbmcoV0tTdHJpbmdSZWYgc3RyaW5nLCBXS0Vy
cm9yUmVmIGVycm9yLCB2b2lkKikKICAgICBfZGF0YS0+X21vdXNlRG93bkV2ZW50ID0gW2V2ZW50
IHJldGFpbl07CiB9CiAKKyNkZWZpbmUgTkFUSVZFX01PVVNFX0VWRU5UX0hBTkRMRVIoU2VsZWN0
b3IpIFwKKyAgICAtICh2b2lkKVNlbGVjdG9yOihOU0V2ZW50ICopdGhlRXZlbnQgXAorICAgIHsg
XAorICAgICAgICBOYXRpdmVXZWJNb3VzZUV2ZW50IHdlYkV2ZW50KHRoZUV2ZW50LCBzZWxmKTsg
XAorICAgICAgICBfZGF0YS0+X3BhZ2UtPmhhbmRsZU1vdXNlRXZlbnQod2ViRXZlbnQpOyBcCisg
ICAgfQorCitOQVRJVkVfTU9VU0VfRVZFTlRfSEFORExFUihtb3VzZUVudGVyZWQpCitOQVRJVkVf
TU9VU0VfRVZFTlRfSEFORExFUihtb3VzZUV4aXRlZCkKK05BVElWRV9NT1VTRV9FVkVOVF9IQU5E
TEVSKG1vdXNlTW92ZWQpCitOQVRJVkVfTU9VU0VfRVZFTlRfSEFORExFUihvdGhlck1vdXNlRG93
bikKK05BVElWRV9NT1VTRV9FVkVOVF9IQU5ETEVSKG90aGVyTW91c2VEcmFnZ2VkKQorTkFUSVZF
X01PVVNFX0VWRU5UX0hBTkRMRVIob3RoZXJNb3VzZU1vdmVkKQorTkFUSVZFX01PVVNFX0VWRU5U
X0hBTkRMRVIob3RoZXJNb3VzZVVwKQorTkFUSVZFX01PVVNFX0VWRU5UX0hBTkRMRVIocmlnaHRN
b3VzZURvd24pCitOQVRJVkVfTU9VU0VfRVZFTlRfSEFORExFUihyaWdodE1vdXNlRHJhZ2dlZCkK
K05BVElWRV9NT1VTRV9FVkVOVF9IQU5ETEVSKHJpZ2h0TW91c2VNb3ZlZCkKK05BVElWRV9NT1VT
RV9FVkVOVF9IQU5ETEVSKHJpZ2h0TW91c2VVcCkKKworI3VuZGVmIE5BVElWRV9NT1VTRV9FVkVO
VF9IQU5ETEVSCisKICNkZWZpbmUgRVZFTlRfSEFORExFUihTZWxlY3RvciwgVHlwZSkgXAogICAg
IC0gKHZvaWQpU2VsZWN0b3I6KE5TRXZlbnQgKil0aGVFdmVudCBcCiAgICAgeyBcCkBAIC05NDUs
MTcgKzk2Nyw2IEBAIHN0YXRpYyB2b2lkIHNwZWFrU3RyaW5nKFdLU3RyaW5nUmVmIHN0cmluZywg
V0tFcnJvclJlZiBlcnJvciwgdm9pZCopCiAgICAgICAgIF9kYXRhLT5fcGFnZS0+aGFuZGxlIyNU
eXBlIyNFdmVudCh3ZWJFdmVudCk7IFwKICAgICB9CiAKLUVWRU5UX0hBTkRMRVIobW91c2VFbnRl
cmVkLCBNb3VzZSkKLUVWRU5UX0hBTkRMRVIobW91c2VFeGl0ZWQsIE1vdXNlKQotRVZFTlRfSEFO
RExFUihtb3VzZU1vdmVkLCBNb3VzZSkKLUVWRU5UX0hBTkRMRVIob3RoZXJNb3VzZURvd24sIE1v
dXNlKQotRVZFTlRfSEFORExFUihvdGhlck1vdXNlRHJhZ2dlZCwgTW91c2UpCi1FVkVOVF9IQU5E
TEVSKG90aGVyTW91c2VNb3ZlZCwgTW91c2UpCi1FVkVOVF9IQU5ETEVSKG90aGVyTW91c2VVcCwg
TW91c2UpCi1FVkVOVF9IQU5ETEVSKHJpZ2h0TW91c2VEb3duLCBNb3VzZSkKLUVWRU5UX0hBTkRM
RVIocmlnaHRNb3VzZURyYWdnZWQsIE1vdXNlKQotRVZFTlRfSEFORExFUihyaWdodE1vdXNlTW92
ZWQsIE1vdXNlKQotRVZFTlRfSEFORExFUihyaWdodE1vdXNlVXAsIE1vdXNlKQogRVZFTlRfSEFO
RExFUihzY3JvbGxXaGVlbCwgV2hlZWwpCiAKICN1bmRlZiBFVkVOVF9IQU5ETEVSCkBAIC05NjUs
OCArOTc2LDcgQEAgRVZFTlRfSEFORExFUihzY3JvbGxXaGVlbCwgV2hlZWwpCiAgICAgTlNJbnB1
dE1hbmFnZXIgKmN1cnJlbnRJbnB1dE1hbmFnZXIgPSBbTlNJbnB1dE1hbmFnZXIgY3VycmVudElu
cHV0TWFuYWdlcl07CiAgICAgaWYgKFtjdXJyZW50SW5wdXRNYW5hZ2VyIHdhbnRzVG9IYW5kbGVN
b3VzZUV2ZW50c10gJiYgW2N1cnJlbnRJbnB1dE1hbmFnZXIgaGFuZGxlTW91c2VFdmVudDpldmVu
dF0pCiAgICAgICAgIHJldHVybjsKLSAgICBXZWJNb3VzZUV2ZW50IHdlYkV2ZW50ID0gV2ViRXZl
bnRGYWN0b3J5OjpjcmVhdGVXZWJNb3VzZUV2ZW50KGV2ZW50LCBzZWxmKTsKLSAgICBfZGF0YS0+
X3BhZ2UtPmhhbmRsZU1vdXNlRXZlbnQod2ViRXZlbnQpOworICAgIF9kYXRhLT5fcGFnZS0+aGFu
ZGxlTW91c2VFdmVudChOYXRpdmVXZWJNb3VzZUV2ZW50KGV2ZW50LCBzZWxmKSk7CiB9CiAKIC0g
KHZvaWQpbW91c2VEb3duOihOU0V2ZW50ICopZXZlbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggODZjYjdlNC4uYmE0MDRiMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRl
ICJGaW5kSW5kaWNhdG9yLmgiCiAjaW5jbHVkZSAiTWVzc2FnZUlELmgiCiAjaW5jbHVkZSAiTmF0
aXZlV2ViS2V5Ym9hcmRFdmVudC5oIgorI2luY2x1ZGUgIk5hdGl2ZVdlYk1vdXNlRXZlbnQuaCIK
ICNpbmNsdWRlICJQYWdlQ2xpZW50LmgiCiAjaW5jbHVkZSAiUHJpbnRJbmZvLmgiCiAjaW5jbHVk
ZSAiU2Vzc2lvblN0YXRlLmgiCkBAIC03ODAsNyArNzgxLDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6
OmRyYWdFbmRlZChjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgY2xpZW50UG9zaXRpb24sIGNvbnN0
IFdlYkMKICAgICBwcm9jZXNzKCktPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkRyYWdFbmRlZChj
bGllbnRQb3NpdGlvbiwgZ2xvYmFsUG9zaXRpb24sIG9wZXJhdGlvbiksIG1fcGFnZUlEKTsKIH0K
IAotdm9pZCBXZWJQYWdlUHJveHk6OmhhbmRsZU1vdXNlRXZlbnQoY29uc3QgV2ViTW91c2VFdmVu
dCYgZXZlbnQpCit2b2lkIFdlYlBhZ2VQcm94eTo6aGFuZGxlTW91c2VFdmVudChjb25zdCBOYXRp
dmVXZWJNb3VzZUV2ZW50JiBldmVudCkKIHsKICAgICBpZiAoIWlzVmFsaWQoKSkKICAgICAgICAg
cmV0dXJuOwpAQCAtNzkwLDEzICs3OTEsMjAgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmhhbmRsZU1v
dXNlRXZlbnQoY29uc3QgV2ViTW91c2VFdmVudCYgZXZlbnQpCiAgICAgICAgIHByb2Nlc3MoKS0+
cmVzcG9uc2l2ZW5lc3NUaW1lcigpLT5zdGFydCgpOwogICAgIGVsc2UgewogICAgICAgICBpZiAo
bV9wcm9jZXNzaW5nTW91c2VNb3ZlRXZlbnQpIHsKLSAgICAgICAgICAgIG1fbmV4dE1vdXNlTW92
ZUV2ZW50ID0gYWRvcHRQdHIobmV3IFdlYk1vdXNlRXZlbnQoZXZlbnQpKTsKKyAgICAgICAgICAg
IG1fbmV4dE1vdXNlTW92ZUV2ZW50ID0gYWRvcHRQdHIobmV3IE5hdGl2ZVdlYk1vdXNlRXZlbnQo
ZXZlbnQpKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCiAgICAgICAgIG1fcHJv
Y2Vzc2luZ01vdXNlTW92ZUV2ZW50ID0gdHJ1ZTsKICAgICB9Ci0KKyAgICAKKyAgICAvLyA8aHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU3OTA0PiBXZSBuZWVkIHRvIGtl
ZXAgdHJhY2sgb2YgdGhlIG1vdXNlIGRvd24gZXZlbnQgaW4gdGhlIGNhc2Ugd2hlcmUgd2UKKyAg
ICAvLyBkaXNwbGF5IGEgcG9wdXAgbWVudSBmb3Igc2VsZWN0IGVsZW1lbnRzLiBXaGVuIHRoZSB1
c2VyIGNoYW5nZXMgdGhlIHNlbGVjdGVkIGl0ZW0sCisgICAgLy8gd2UgZmFrZSBhIG1vdXNlIHVw
IGV2ZW50IGJ5IHVzaW5nIHRoaXMgc3RvcmVkIGRvd24gZXZlbnQuIFRoaXMgZXZlbnQgZ2V0cyBj
bGVhcmVkCisgICAgLy8gd2hlbiB0aGUgbW91c2UgdXAgbWVzc2FnZSBpcyByZWNlaXZlZCBmcm9t
IFdlYlByb2Nlc3MuCisgICAgaWYgKGV2ZW50LnR5cGUoKSA9PSBXZWJFdmVudDo6TW91c2VEb3du
KQorICAgICAgICBtX2N1cnJlbnRseVByb2Nlc3NlZE1vdXNlRG93bkV2ZW50ID0gYWRvcHRQdHIo
bmV3IE5hdGl2ZVdlYk1vdXNlRXZlbnQoZXZlbnQpKTsKKyAgICAKICAgICBwcm9jZXNzKCktPnNl
bmQoTWVzc2FnZXM6OldlYlBhZ2U6Ok1vdXNlRXZlbnQoZXZlbnQpLCBtX3BhZ2VJRCk7CiB9CiAK
QEAgLTIxNjUsNiArMjE3MywxMSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6c2V0VGV4dEZyb21JdGVt
Rm9yUG9wdXBNZW51KFdlYlBvcHVwTWVudVByb3h5KiwgaW50MzJfdCBpbmRleAogICAgIHByb2Nl
c3MoKS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6U2V0VGV4dEZvckFjdGl2ZVBvcHVwTWVudShp
bmRleCksIG1fcGFnZUlEKTsKIH0KIAorTmF0aXZlV2ViTW91c2VFdmVudCogV2ViUGFnZVByb3h5
OjpjdXJyZW50bHlQcm9jZXNzZWRNb3VzZURvd25FdmVudCgpCit7CisgICAgcmV0dXJuIG1fY3Vy
cmVudGx5UHJvY2Vzc2VkTW91c2VEb3duRXZlbnQuZ2V0KCk7Cit9CisKIHZvaWQgV2ViUGFnZVBy
b3h5OjpzaG93UG9wdXBNZW51KGNvbnN0IEludFJlY3QmIHJlY3QsIHVpbnQ2NF90IHRleHREaXJl
Y3Rpb24sIGNvbnN0IFZlY3RvcjxXZWJQb3B1cEl0ZW0+JiBpdGVtcywgaW50MzJfdCBzZWxlY3Rl
ZEluZGV4LCBjb25zdCBQbGF0Zm9ybVBvcHVwTWVudURhdGEmIGRhdGEpCiB7CiAgICAgaWYgKG1f
YWN0aXZlUG9wdXBNZW51KSB7CkBAIC0yNDgzLDEyICsyNDk2LDE0IEBAIHZvaWQgV2ViUGFnZVBy
b3h5OjpkaWRSZWNlaXZlRXZlbnQodWludDMyX3Qgb3BhcXVlVHlwZSwgYm9vbCBoYW5kbGVkKQog
ICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgV2ViRXZlbnQ6Ok1vdXNlRG93bjoK
LSAgICBjYXNlIFdlYkV2ZW50OjpNb3VzZVVwOgogI2lmIEVOQUJMRShHRVNUVVJFX0VWRU5UUykK
ICAgICBjYXNlIFdlYkV2ZW50OjpHZXN0dXJlU2Nyb2xsQmVnaW46CiAgICAgY2FzZSBXZWJFdmVu
dDo6R2VzdHVyZVNjcm9sbEVuZDoKICNlbmRpZgogICAgICAgICBicmVhazsKKyAgICBjYXNlIFdl
YkV2ZW50OjpNb3VzZVVwOgorICAgICAgICBtX2N1cnJlbnRseVByb2Nlc3NlZE1vdXNlRG93bkV2
ZW50ID0gbnVsbHB0cjsKKyAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIFdlYkV2ZW50OjpXaGVl
bDogewogICAgICAgICBtX3Byb2Nlc3NpbmdXaGVlbEV2ZW50ID0gZmFsc2U7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggYzk1ODQ5Zi4uYmQxMjIwMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtNzgsNiArNzgsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgTmF0aXZlV2ViS2V5
Ym9hcmRFdmVudDsKK2NsYXNzIE5hdGl2ZVdlYk1vdXNlRXZlbnQ7CiBjbGFzcyBQYWdlQ2xpZW50
OwogY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87CiBjbGFzcyBTdHJpbmdQYWlyVmVjdG9y
OwpAQCAtMjgzLDcgKzI4NCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEFjdHVhbFZpc2libGVD
b250ZW50UmVjdChjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiByZWN0KTsKICNlbmRpZgogCi0gICAg
dm9pZCBoYW5kbGVNb3VzZUV2ZW50KGNvbnN0IFdlYk1vdXNlRXZlbnQmKTsKKyAgICB2b2lkIGhh
bmRsZU1vdXNlRXZlbnQoY29uc3QgTmF0aXZlV2ViTW91c2VFdmVudCYpOwogICAgIHZvaWQgaGFu
ZGxlV2hlZWxFdmVudChjb25zdCBXZWJXaGVlbEV2ZW50Jik7CiAgICAgdm9pZCBoYW5kbGVLZXli
b2FyZEV2ZW50KGNvbnN0IE5hdGl2ZVdlYktleWJvYXJkRXZlbnQmKTsKICNpZiBFTkFCTEUoR0VT
VFVSRV9FVkVOVFMpCkBAIC00OTIsNiArNDkzLDcgQEAgcHJpdmF0ZToKICAgICAvLyBXZWJQb3B1
cE1lbnVQcm94eTo6Q2xpZW50CiAgICAgdmlydHVhbCB2b2lkIHZhbHVlQ2hhbmdlZEZvclBvcHVw
TWVudShXZWJQb3B1cE1lbnVQcm94eSosIGludDMyX3QgbmV3U2VsZWN0ZWRJbmRleCk7CiAgICAg
dmlydHVhbCB2b2lkIHNldFRleHRGcm9tSXRlbUZvclBvcHVwTWVudShXZWJQb3B1cE1lbnVQcm94
eSosIGludDMyX3QgaW5kZXgpOworICAgIHZpcnR1YWwgTmF0aXZlV2ViTW91c2VFdmVudCogY3Vy
cmVudGx5UHJvY2Vzc2VkTW91c2VEb3duRXZlbnQoKTsKIAogICAgIC8vIEltcGxlbWVudGVkIGlu
IGdlbmVyYXRlZCBXZWJQYWdlUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwCiAgICAgdm9pZCBkaWRS
ZWNlaXZlV2ViUGFnZVByb3h5TWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6
TWVzc2FnZUlELCBDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqKTsKQEAgLTc5Miw3ICs3OTQsOCBA
QCBwcml2YXRlOgogICAgIE93blB0cjxXZWJXaGVlbEV2ZW50PiBtX25leHRXaGVlbEV2ZW50Owog
CiAgICAgYm9vbCBtX3Byb2Nlc3NpbmdNb3VzZU1vdmVFdmVudDsKLSAgICBPd25QdHI8V2ViTW91
c2VFdmVudD4gbV9uZXh0TW91c2VNb3ZlRXZlbnQ7CisgICAgT3duUHRyPE5hdGl2ZVdlYk1vdXNl
RXZlbnQ+IG1fbmV4dE1vdXNlTW92ZUV2ZW50OworICAgIE93blB0cjxOYXRpdmVXZWJNb3VzZUV2
ZW50PiBtX2N1cnJlbnRseVByb2Nlc3NlZE1vdXNlRG93bkV2ZW50OwogCiAgICAgdWludDY0X3Qg
bV9wYWdlSUQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQb3B1
cE1lbnVQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBvcHVwTWVudVByb3h5
LmgKaW5kZXggOTY5MDFmYi4uMGFmODg4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBvcHVwTWVudVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBvcHVwTWVudVByb3h5LmgKQEAgLTM5LDYgKzM5LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7
CiAKIHN0cnVjdCBQbGF0Zm9ybVBvcHVwTWVudURhdGE7CiBzdHJ1Y3QgV2ViUG9wdXBJdGVtOwor
Y2xhc3MgTmF0aXZlV2ViTW91c2VFdmVudDsKIAogY2xhc3MgV2ViUG9wdXBNZW51UHJveHkgOiBw
dWJsaWMgUmVmQ291bnRlZDxXZWJQb3B1cE1lbnVQcm94eT4gewogcHVibGljOgpAQCAtNTEsNiAr
NTIsNyBAQCBwdWJsaWM6CiAgICAgcHVibGljOgogICAgICAgICB2aXJ0dWFsIHZvaWQgdmFsdWVD
aGFuZ2VkRm9yUG9wdXBNZW51KFdlYlBvcHVwTWVudVByb3h5KiwgaW50MzJfdCBuZXdTZWxlY3Rl
ZEluZGV4KSA9IDA7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBzZXRUZXh0RnJvbUl0ZW1Gb3JQb3B1
cE1lbnUoV2ViUG9wdXBNZW51UHJveHkqLCBpbnQzMl90IGluZGV4KSA9IDA7CisgICAgICAgIHZp
cnR1YWwgTmF0aXZlV2ViTW91c2VFdmVudCogY3VycmVudGx5UHJvY2Vzc2VkTW91c2VEb3duRXZl
bnQoKSA9IDA7CiAgICAgfTsKIAogICAgIHZpcnR1YWwgfldlYlBvcHVwTWVudVByb3h5KCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViUG9wdXBNZW51UHJveHlN
YWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYlBvcHVwTWVudVByb3h5TWFj
Lm1tCmluZGV4IDdjZTg3NjQuLjdhNmE3ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9tYWMvV2ViUG9wdXBNZW51UHJveHlNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL21hYy9XZWJQb3B1cE1lbnVQcm94eU1hYy5tbQpAQCAtMjYsNiArMjYsNyBAQAog
I2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJXZWJQb3B1cE1lbnVQcm94eU1hYy5oIgogCisj
aW1wb3J0ICJOYXRpdmVXZWJNb3VzZUV2ZW50LmgiCiAjaW1wb3J0ICJQYWdlQ2xpZW50SW1wbC5o
IgogI2ltcG9ydCAiUGxhdGZvcm1Qb3B1cE1lbnVEYXRhLmgiCiAjaW1wb3J0ICJXS1ZpZXcuaCIK
QEAgLTM1LDEwMSArMzYsMTMwIEBACiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNw
YWNlIFdlYktpdCB7Ci0KLVdlYlBvcHVwTWVudVByb3h5TWFjOjpXZWJQb3B1cE1lbnVQcm94eU1h
YyhXS1ZpZXcgKndlYlZpZXcsIFdlYlBvcHVwTWVudVByb3h5OjpDbGllbnQqIGNsaWVudCkKKyAg
ICAKKyAgICBXZWJQb3B1cE1lbnVQcm94eU1hYzo6V2ViUG9wdXBNZW51UHJveHlNYWMoV0tWaWV3
ICp3ZWJWaWV3LCBXZWJQb3B1cE1lbnVQcm94eTo6Q2xpZW50KiBjbGllbnQpCiAgICAgOiBXZWJQ
b3B1cE1lbnVQcm94eShjbGllbnQpCiAgICAgLCBtX3dlYlZpZXcod2ViVmlldykKLXsKLX0KLQot
V2ViUG9wdXBNZW51UHJveHlNYWM6On5XZWJQb3B1cE1lbnVQcm94eU1hYygpCi17Ci0gICAgaWYg
KG1fcG9wdXApCi0gICAgICAgIFttX3BvcHVwLmdldCgpIHNldENvbnRyb2xWaWV3Om5pbF07Ci19
Ci0KLXZvaWQgV2ViUG9wdXBNZW51UHJveHlNYWM6OnBvcHVsYXRlKGNvbnN0IFZlY3RvcjxXZWJQ
b3B1cEl0ZW0+JiBpdGVtcywgTlNGb250ICpmb250LCBUZXh0RGlyZWN0aW9uIG1lbnVUZXh0RGly
ZWN0aW9uKQotewotICAgIGlmIChtX3BvcHVwKQotICAgICAgICBbbV9wb3B1cC5nZXQoKSByZW1v
dmVBbGxJdGVtc107Ci0gICAgZWxzZSB7Ci0gICAgICAgIG1fcG9wdXAuYWRvcHROUyhbW05TUG9w
VXBCdXR0b25DZWxsIGFsbG9jXSBpbml0VGV4dENlbGw6QCIiIHB1bGxzRG93bjpOT10pOwotICAg
ICAgICBbbV9wb3B1cC5nZXQoKSBzZXRVc2VzSXRlbUZyb21NZW51Ok5PXTsKLSAgICAgICAgW21f
cG9wdXAuZ2V0KCkgc2V0QXV0b2VuYWJsZXNJdGVtczpOT107CisgICAgewogICAgIH0KLQotICAg
IGludCBzaXplID0gaXRlbXMuc2l6ZSgpOwotCi0gICAgZm9yIChpbnQgaSA9IDA7IGkgPCBzaXpl
OyBpKyspIHsKLSAgICAgICAgaWYgKGl0ZW1zW2ldLm1fdHlwZSA9PSBXZWJQb3B1cEl0ZW06OlNl
cGVyYXRvcikKLSAgICAgICAgICAgIFtbbV9wb3B1cC5nZXQoKSBtZW51XSBhZGRJdGVtOltOU01l
bnVJdGVtIHNlcGFyYXRvckl0ZW1dXTsKKyAgICAKKyAgICBXZWJQb3B1cE1lbnVQcm94eU1hYzo6
fldlYlBvcHVwTWVudVByb3h5TWFjKCkKKyAgICB7CisgICAgICAgIGlmIChtX3BvcHVwKQorICAg
ICAgICAgICAgW21fcG9wdXAuZ2V0KCkgc2V0Q29udHJvbFZpZXc6bmlsXTsKKyAgICB9CisgICAg
CisgICAgdm9pZCBXZWJQb3B1cE1lbnVQcm94eU1hYzo6cG9wdWxhdGUoY29uc3QgVmVjdG9yPFdl
YlBvcHVwSXRlbT4mIGl0ZW1zLCBOU0ZvbnQgKmZvbnQsIFRleHREaXJlY3Rpb24gbWVudVRleHRE
aXJlY3Rpb24pCisgICAgeworICAgICAgICBpZiAobV9wb3B1cCkKKyAgICAgICAgICAgIFttX3Bv
cHVwLmdldCgpIHJlbW92ZUFsbEl0ZW1zXTsKICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBb
bV9wb3B1cC5nZXQoKSBhZGRJdGVtV2l0aFRpdGxlOkAiIl07Ci0gICAgICAgICAgICBOU01lbnVJ
dGVtICptZW51SXRlbSA9IFttX3BvcHVwLmdldCgpIGxhc3RJdGVtXTsKLQotICAgICAgICAgICAg
UmV0YWluUHRyPE5TTXV0YWJsZVBhcmFncmFwaFN0eWxlPiBwYXJhZ3JhcGhTdHlsZShBZG9wdE5T
LCBbW05TUGFyYWdyYXBoU3R5bGUgZGVmYXVsdFBhcmFncmFwaFN0eWxlXSBtdXRhYmxlQ29weV0p
OwotICAgICAgICAgICAgTlNXcml0aW5nRGlyZWN0aW9uIHdyaXRpbmdEaXJlY3Rpb24gPSBpdGVt
c1tpXS5tX3RleHREaXJlY3Rpb24gPT0gTFRSID8gTlNXcml0aW5nRGlyZWN0aW9uTGVmdFRvUmln
aHQgOiBOU1dyaXRpbmdEaXJlY3Rpb25SaWdodFRvTGVmdDsKLSAgICAgICAgICAgIFtwYXJhZ3Jh
cGhTdHlsZS5nZXQoKSBzZXRCYXNlV3JpdGluZ0RpcmVjdGlvbjp3cml0aW5nRGlyZWN0aW9uXTsK
LSAgICAgICAgICAgIFtwYXJhZ3JhcGhTdHlsZS5nZXQoKSBzZXRBbGlnbm1lbnQ6bWVudVRleHRE
aXJlY3Rpb24gPT0gTFRSID8gTlNMZWZ0VGV4dEFsaWdubWVudCA6IE5TUmlnaHRUZXh0QWxpZ25t
ZW50XTsKLSAgICAgICAgICAgIFJldGFpblB0cjxOU011dGFibGVEaWN0aW9uYXJ5PiBhdHRyaWJ1
dGVzKEFkb3B0TlMsIFtbTlNNdXRhYmxlRGljdGlvbmFyeSBhbGxvY10gaW5pdFdpdGhPYmplY3Rz
QW5kS2V5czoKLSAgICAgICAgICAgICAgICBwYXJhZ3JhcGhTdHlsZS5nZXQoKSwgTlNQYXJhZ3Jh
cGhTdHlsZUF0dHJpYnV0ZU5hbWUsCi0gICAgICAgICAgICAgICAgZm9udCwgTlNGb250QXR0cmli
dXRlTmFtZSwKLSAgICAgICAgICAgIG5pbF0pOwotICAgICAgICAgICAgaWYgKGl0ZW1zW2ldLm1f
aGFzVGV4dERpcmVjdGlvbk92ZXJyaWRlKSB7Ci0gICAgICAgICAgICAgICAgUmV0YWluUHRyPE5T
TnVtYmVyPiB3cml0aW5nRGlyZWN0aW9uVmFsdWUoQWRvcHROUywgW1tOU051bWJlciBhbGxvY10g
aW5pdFdpdGhJbnRlZ2VyOndyaXRpbmdEaXJlY3Rpb24gKyBOU1RleHRXcml0aW5nRGlyZWN0aW9u
T3ZlcnJpZGVdKTsKLSAgICAgICAgICAgICAgICBSZXRhaW5QdHI8TlNBcnJheT4gd3JpdGluZ0Rp
cmVjdGlvbkFycmF5KEFkb3B0TlMsIFtbTlNBcnJheSBhbGxvY10gaW5pdFdpdGhPYmplY3RzOndy
aXRpbmdEaXJlY3Rpb25WYWx1ZS5nZXQoKSwgbmlsXSk7Ci0gICAgICAgICAgICAgICAgW2F0dHJp
YnV0ZXMuZ2V0KCkgc2V0T2JqZWN0OndyaXRpbmdEaXJlY3Rpb25BcnJheS5nZXQoKSBmb3JLZXk6
TlNXcml0aW5nRGlyZWN0aW9uQXR0cmlidXRlTmFtZV07CisgICAgICAgICAgICBtX3BvcHVwLmFk
b3B0TlMoW1tOU1BvcFVwQnV0dG9uQ2VsbCBhbGxvY10gaW5pdFRleHRDZWxsOkAiIiBwdWxsc0Rv
d246Tk9dKTsKKyAgICAgICAgICAgIFttX3BvcHVwLmdldCgpIHNldFVzZXNJdGVtRnJvbU1lbnU6
Tk9dOworICAgICAgICAgICAgW21fcG9wdXAuZ2V0KCkgc2V0QXV0b2VuYWJsZXNJdGVtczpOT107
CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGludCBzaXplID0gaXRlbXMuc2l6ZSgpOwor
ICAgICAgICAKKyAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBzaXplOyBpKyspIHsKKyAgICAg
ICAgICAgIGlmIChpdGVtc1tpXS5tX3R5cGUgPT0gV2ViUG9wdXBJdGVtOjpTZXBlcmF0b3IpCisg
ICAgICAgICAgICAgICAgW1ttX3BvcHVwLmdldCgpIG1lbnVdIGFkZEl0ZW06W05TTWVudUl0ZW0g
c2VwYXJhdG9ySXRlbV1dOworICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgW21f
cG9wdXAuZ2V0KCkgYWRkSXRlbVdpdGhUaXRsZTpAIiJdOworICAgICAgICAgICAgICAgIE5TTWVu
dUl0ZW0gKm1lbnVJdGVtID0gW21fcG9wdXAuZ2V0KCkgbGFzdEl0ZW1dOworICAgICAgICAgICAg
ICAgIAorICAgICAgICAgICAgICAgIFJldGFpblB0cjxOU011dGFibGVQYXJhZ3JhcGhTdHlsZT4g
cGFyYWdyYXBoU3R5bGUoQWRvcHROUywgW1tOU1BhcmFncmFwaFN0eWxlIGRlZmF1bHRQYXJhZ3Jh
cGhTdHlsZV0gbXV0YWJsZUNvcHldKTsKKyAgICAgICAgICAgICAgICBOU1dyaXRpbmdEaXJlY3Rp
b24gd3JpdGluZ0RpcmVjdGlvbiA9IGl0ZW1zW2ldLm1fdGV4dERpcmVjdGlvbiA9PSBMVFIgPyBO
U1dyaXRpbmdEaXJlY3Rpb25MZWZ0VG9SaWdodCA6IE5TV3JpdGluZ0RpcmVjdGlvblJpZ2h0VG9M
ZWZ0OworICAgICAgICAgICAgICAgIFtwYXJhZ3JhcGhTdHlsZS5nZXQoKSBzZXRCYXNlV3JpdGlu
Z0RpcmVjdGlvbjp3cml0aW5nRGlyZWN0aW9uXTsKKyAgICAgICAgICAgICAgICBbcGFyYWdyYXBo
U3R5bGUuZ2V0KCkgc2V0QWxpZ25tZW50Om1lbnVUZXh0RGlyZWN0aW9uID09IExUUiA/IE5TTGVm
dFRleHRBbGlnbm1lbnQgOiBOU1JpZ2h0VGV4dEFsaWdubWVudF07CisgICAgICAgICAgICAgICAg
UmV0YWluUHRyPE5TTXV0YWJsZURpY3Rpb25hcnk+IGF0dHJpYnV0ZXMoQWRvcHROUywgW1tOU011
dGFibGVEaWN0aW9uYXJ5IGFsbG9jXSBpbml0V2l0aE9iamVjdHNBbmRLZXlzOgorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwYXJhZ3JhcGhTdHlsZS5nZXQoKSwgTlNQYXJhZ3JhcGhTdHlsZUF0dHJpYnV0ZU5hbWUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGZvbnQsIE5TRm9udEF0dHJpYnV0ZU5hbWUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5pbF0pOwor
ICAgICAgICAgICAgICAgIGlmIChpdGVtc1tpXS5tX2hhc1RleHREaXJlY3Rpb25PdmVycmlkZSkg
eworICAgICAgICAgICAgICAgICAgICBSZXRhaW5QdHI8TlNOdW1iZXI+IHdyaXRpbmdEaXJlY3Rp
b25WYWx1ZShBZG9wdE5TLCBbW05TTnVtYmVyIGFsbG9jXSBpbml0V2l0aEludGVnZXI6d3JpdGlu
Z0RpcmVjdGlvbiArIE5TVGV4dFdyaXRpbmdEaXJlY3Rpb25PdmVycmlkZV0pOworICAgICAgICAg
ICAgICAgICAgICBSZXRhaW5QdHI8TlNBcnJheT4gd3JpdGluZ0RpcmVjdGlvbkFycmF5KEFkb3B0
TlMsIFtbTlNBcnJheSBhbGxvY10gaW5pdFdpdGhPYmplY3RzOndyaXRpbmdEaXJlY3Rpb25WYWx1
ZS5nZXQoKSwgbmlsXSk7CisgICAgICAgICAgICAgICAgICAgIFthdHRyaWJ1dGVzLmdldCgpIHNl
dE9iamVjdDp3cml0aW5nRGlyZWN0aW9uQXJyYXkuZ2V0KCkgZm9yS2V5Ok5TV3JpdGluZ0RpcmVj
dGlvbkF0dHJpYnV0ZU5hbWVdOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBS
ZXRhaW5QdHI8TlNBdHRyaWJ1dGVkU3RyaW5nPiBzdHJpbmcoQWRvcHROUywgW1tOU0F0dHJpYnV0
ZWRTdHJpbmcgYWxsb2NdIGluaXRXaXRoU3RyaW5nOm5zU3RyaW5nRnJvbVdlYkNvcmVTdHJpbmco
aXRlbXNbaV0ubV90ZXh0KSBhdHRyaWJ1dGVzOmF0dHJpYnV0ZXMuZ2V0KCldKTsKKyAgICAgICAg
ICAgICAgICAKKyAgICAgICAgICAgICAgICBbbWVudUl0ZW0gc2V0QXR0cmlidXRlZFRpdGxlOnN0
cmluZy5nZXQoKV07CisgICAgICAgICAgICAgICAgW21lbnVJdGVtIHNldEVuYWJsZWQ6aXRlbXNb
aV0ubV9pc0VuYWJsZWRdOworICAgICAgICAgICAgICAgIFttZW51SXRlbSBzZXRUb29sVGlwOm5z
U3RyaW5nRnJvbVdlYkNvcmVTdHJpbmcoaXRlbXNbaV0ubV90b29sVGlwKV07CiAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICBSZXRhaW5QdHI8TlNBdHRyaWJ1dGVkU3RyaW5nPiBzdHJpbmcoQWRv
cHROUywgW1tOU0F0dHJpYnV0ZWRTdHJpbmcgYWxsb2NdIGluaXRXaXRoU3RyaW5nOm5zU3RyaW5n
RnJvbVdlYkNvcmVTdHJpbmcoaXRlbXNbaV0ubV90ZXh0KSBhdHRyaWJ1dGVzOmF0dHJpYnV0ZXMu
Z2V0KCldKTsKLQotICAgICAgICAgICAgW21lbnVJdGVtIHNldEF0dHJpYnV0ZWRUaXRsZTpzdHJp
bmcuZ2V0KCldOwotICAgICAgICAgICAgW21lbnVJdGVtIHNldEVuYWJsZWQ6aXRlbXNbaV0ubV9p
c0VuYWJsZWRdOwotICAgICAgICAgICAgW21lbnVJdGVtIHNldFRvb2xUaXA6bnNTdHJpbmdGcm9t
V2ViQ29yZVN0cmluZyhpdGVtc1tpXS5tX3Rvb2xUaXApXTsKICAgICAgICAgfQogICAgIH0KLX0K
LQotdm9pZCBXZWJQb3B1cE1lbnVQcm94eU1hYzo6c2hvd1BvcHVwTWVudShjb25zdCBJbnRSZWN0
JiByZWN0LCBUZXh0RGlyZWN0aW9uIHRleHREaXJlY3Rpb24sIGRvdWJsZSBzY2FsZUZhY3Rvciwg
Y29uc3QgVmVjdG9yPFdlYlBvcHVwSXRlbT4mIGl0ZW1zLCBjb25zdCBQbGF0Zm9ybVBvcHVwTWVu
dURhdGEmIGRhdGEsIGludDMyX3Qgc2VsZWN0ZWRJbmRleCkKLXsKLSAgICBOU0ZvbnQgKmZvbnQ7
Ci0gICAgaWYgKGRhdGEuZm9udEluZm8uZm9udEF0dHJpYnV0ZURpY3Rpb25hcnkpIHsKLSAgICAg
ICAgTlNGb250RGVzY3JpcHRvciAqZm9udERlc2NyaXB0b3IgPSBbTlNGb250RGVzY3JpcHRvciBm
b250RGVzY3JpcHRvcldpdGhGb250QXR0cmlidXRlczooTlNEaWN0aW9uYXJ5ICopZGF0YS5mb250
SW5mby5mb250QXR0cmlidXRlRGljdGlvbmFyeS5nZXQoKV07Ci0gICAgICAgIGZvbnQgPSBbTlNG
b250IGZvbnRXaXRoRGVzY3JpcHRvcjpmb250RGVzY3JpcHRvciBzaXplOigoc2NhbGVGYWN0b3Ig
IT0gMSkgPyBbZm9udERlc2NyaXB0b3IgcG9pbnRTaXplXSAqIHNjYWxlRmFjdG9yIDogMCldOwot
ICAgIH0gZWxzZQotICAgICAgICBmb250ID0gW05TRm9udCBtZW51Rm9udE9mU2l6ZTowXTsKLQot
ICAgIHBvcHVsYXRlKGl0ZW1zLCBmb250LCB0ZXh0RGlyZWN0aW9uKTsKLQotICAgIFttX3BvcHVw
LmdldCgpIGF0dGFjaFBvcFVwV2l0aEZyYW1lOnJlY3QgaW5WaWV3Om1fd2ViVmlld107Ci0gICAg
W21fcG9wdXAuZ2V0KCkgc2VsZWN0SXRlbUF0SW5kZXg6c2VsZWN0ZWRJbmRleF07Ci0gICAgW21f
cG9wdXAuZ2V0KCkgc2V0VXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbjp0ZXh0RGlyZWN0aW9u
ID09IExUUiA/IE5TVXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbkxlZnRUb1JpZ2h0IDogTlNV
c2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uUmlnaHRUb0xlZnRdOwotCi0gICAgTlNNZW51ICpt
ZW51ID0gW21fcG9wdXAuZ2V0KCkgbWVudV07Ci0KLSAgICAvLyBUaGVzZSB2YWx1ZXMgd2VyZSBi
b3Jyb3dlZCBmcm9tIEFwcEtpdCB0byBtYXRjaCB0aGVpciBwbGFjZW1lbnQgb2YgdGhlIG1lbnUu
Ci0gICAgY29uc3QgaW50IHBvcE92ZXJIb3Jpem9udGFsQWRqdXN0ID0gLTEwOwotICAgIE5TUmVj
dCB0aXRsZUZyYW1lID0gW21fcG9wdXAuZ2V0KCkgIHRpdGxlUmVjdEZvckJvdW5kczpyZWN0XTsK
LSAgICBpZiAodGl0bGVGcmFtZS5zaXplLndpZHRoIDw9IDAgfHwgdGl0bGVGcmFtZS5zaXplLmhl
aWdodCA8PSAwKQotICAgICAgICB0aXRsZUZyYW1lID0gcmVjdDsKLSAgICBmbG9hdCB2ZXJ0T2Zm
c2V0ID0gcm91bmRmKChOU01heFkocmVjdCkgLSBOU01heFkodGl0bGVGcmFtZSkpICsgTlNIZWln
aHQodGl0bGVGcmFtZSkpOwotICAgIE5TUG9pbnQgbG9jYXRpb24gPSBOU01ha2VQb2ludChOU01p
blgocmVjdCkgKyBwb3BPdmVySG9yaXpvbnRhbEFkanVzdCwgTlNNYXhZKHJlY3QpIC0gdmVydE9m
ZnNldCk7Ci0KLSAgICBSZXRhaW5QdHI8TlNWaWV3PiBkdW1teVZpZXcoQWRvcHROUywgW1tOU1Zp
ZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6cmVjdF0pOwotICAgIFttX3dlYlZpZXcgYWRkU3Vidmll
dzpkdW1teVZpZXcuZ2V0KCldOwotICAgIGxvY2F0aW9uID0gW2R1bW15Vmlldy5nZXQoKSBjb252
ZXJ0UG9pbnQ6bG9jYXRpb24gZnJvbVZpZXc6bV93ZWJWaWV3XTsKLQotICAgIFdLUG9wdXBNZW51
KG1lbnUsIGxvY2F0aW9uLCByb3VuZGYoTlNXaWR0aChyZWN0KSksIGR1bW15Vmlldy5nZXQoKSwg
c2VsZWN0ZWRJbmRleCwgZm9udCk7Ci0KLSAgICBbbV9wb3B1cC5nZXQoKSBkaXNtaXNzUG9wVXBd
OwotICAgIFtkdW1teVZpZXcuZ2V0KCkgcmVtb3ZlRnJvbVN1cGVydmlld107Ci0KLSAgICBpZiAo
bV9jbGllbnQpCi0gICAgICAgIG1fY2xpZW50LT52YWx1ZUNoYW5nZWRGb3JQb3B1cE1lbnUodGhp
cywgW21fcG9wdXAuZ2V0KCkgaW5kZXhPZlNlbGVjdGVkSXRlbV0pOwotfQotCi12b2lkIFdlYlBv
cHVwTWVudVByb3h5TWFjOjpoaWRlUG9wdXBNZW51KCkKLXsKLSAgICBbbV9wb3B1cC5nZXQoKSBk
aXNtaXNzUG9wVXBdOwotfQotCisgICAgCisgICAgdm9pZCBXZWJQb3B1cE1lbnVQcm94eU1hYzo6
c2hvd1BvcHVwTWVudShjb25zdCBJbnRSZWN0JiByZWN0LCBUZXh0RGlyZWN0aW9uIHRleHREaXJl
Y3Rpb24sIGRvdWJsZSBzY2FsZUZhY3RvciwgY29uc3QgVmVjdG9yPFdlYlBvcHVwSXRlbT4mIGl0
ZW1zLCBjb25zdCBQbGF0Zm9ybVBvcHVwTWVudURhdGEmIGRhdGEsIGludDMyX3Qgc2VsZWN0ZWRJ
bmRleCkKKyAgICB7CisgICAgICAgIE5TRm9udCAqZm9udDsKKyAgICAgICAgaWYgKGRhdGEuZm9u
dEluZm8uZm9udEF0dHJpYnV0ZURpY3Rpb25hcnkpIHsKKyAgICAgICAgICAgIE5TRm9udERlc2Ny
aXB0b3IgKmZvbnREZXNjcmlwdG9yID0gW05TRm9udERlc2NyaXB0b3IgZm9udERlc2NyaXB0b3JX
aXRoRm9udEF0dHJpYnV0ZXM6KE5TRGljdGlvbmFyeSAqKWRhdGEuZm9udEluZm8uZm9udEF0dHJp
YnV0ZURpY3Rpb25hcnkuZ2V0KCldOworICAgICAgICAgICAgZm9udCA9IFtOU0ZvbnQgZm9udFdp
dGhEZXNjcmlwdG9yOmZvbnREZXNjcmlwdG9yIHNpemU6KChzY2FsZUZhY3RvciAhPSAxKSA/IFtm
b250RGVzY3JpcHRvciBwb2ludFNpemVdICogc2NhbGVGYWN0b3IgOiAwKV07CisgICAgICAgIH0g
ZWxzZQorICAgICAgICAgICAgZm9udCA9IFtOU0ZvbnQgbWVudUZvbnRPZlNpemU6MF07CisgICAg
ICAgIAorICAgICAgICBwb3B1bGF0ZShpdGVtcywgZm9udCwgdGV4dERpcmVjdGlvbik7CisgICAg
ICAgIAorICAgICAgICBbbV9wb3B1cC5nZXQoKSBhdHRhY2hQb3BVcFdpdGhGcmFtZTpyZWN0IGlu
VmlldzptX3dlYlZpZXddOworICAgICAgICBbbV9wb3B1cC5nZXQoKSBzZWxlY3RJdGVtQXRJbmRl
eDpzZWxlY3RlZEluZGV4XTsKKyAgICAgICAgW21fcG9wdXAuZ2V0KCkgc2V0VXNlckludGVyZmFj
ZUxheW91dERpcmVjdGlvbjp0ZXh0RGlyZWN0aW9uID09IExUUiA/IE5TVXNlckludGVyZmFjZUxh
eW91dERpcmVjdGlvbkxlZnRUb1JpZ2h0IDogTlNVc2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9u
UmlnaHRUb0xlZnRdOworICAgICAgICAKKyAgICAgICAgTlNNZW51ICptZW51ID0gW21fcG9wdXAu
Z2V0KCkgbWVudV07CisgICAgICAgIAorICAgICAgICAvLyBUaGVzZSB2YWx1ZXMgd2VyZSBib3Jy
b3dlZCBmcm9tIEFwcEtpdCB0byBtYXRjaCB0aGVpciBwbGFjZW1lbnQgb2YgdGhlIG1lbnUuCisg
ICAgICAgIGNvbnN0IGludCBwb3BPdmVySG9yaXpvbnRhbEFkanVzdCA9IC0xMDsKKyAgICAgICAg
TlNSZWN0IHRpdGxlRnJhbWUgPSBbbV9wb3B1cC5nZXQoKSAgdGl0bGVSZWN0Rm9yQm91bmRzOnJl
Y3RdOworICAgICAgICBpZiAodGl0bGVGcmFtZS5zaXplLndpZHRoIDw9IDAgfHwgdGl0bGVGcmFt
ZS5zaXplLmhlaWdodCA8PSAwKQorICAgICAgICAgICAgdGl0bGVGcmFtZSA9IHJlY3Q7CisgICAg
ICAgIGZsb2F0IHZlcnRPZmZzZXQgPSByb3VuZGYoKE5TTWF4WShyZWN0KSAtIE5TTWF4WSh0aXRs
ZUZyYW1lKSkgKyBOU0hlaWdodCh0aXRsZUZyYW1lKSk7CisgICAgICAgIE5TUG9pbnQgbG9jYXRp
b24gPSBOU01ha2VQb2ludChOU01pblgocmVjdCkgKyBwb3BPdmVySG9yaXpvbnRhbEFkanVzdCwg
TlNNYXhZKHJlY3QpIC0gdmVydE9mZnNldCk7CisgICAgICAgIAorICAgICAgICBSZXRhaW5QdHI8
TlNWaWV3PiBkdW1teVZpZXcoQWRvcHROUywgW1tOU1ZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6
cmVjdF0pOworICAgICAgICBbbV93ZWJWaWV3IGFkZFN1YnZpZXc6ZHVtbXlWaWV3LmdldCgpXTsK
KyAgICAgICAgbG9jYXRpb24gPSBbZHVtbXlWaWV3LmdldCgpIGNvbnZlcnRQb2ludDpsb2NhdGlv
biBmcm9tVmlldzptX3dlYlZpZXddOworICAgICAgICAKKyAgICAgICAgV0tQb3B1cE1lbnUobWVu
dSwgbG9jYXRpb24sIHJvdW5kZihOU1dpZHRoKHJlY3QpKSwgZHVtbXlWaWV3LmdldCgpLCBzZWxl
Y3RlZEluZGV4LCBmb250KTsKKyAgICAgICAgCisgICAgICAgIFttX3BvcHVwLmdldCgpIGRpc21p
c3NQb3BVcF07CisgICAgICAgIFtkdW1teVZpZXcuZ2V0KCkgcmVtb3ZlRnJvbVN1cGVydmlld107
CisgICAgICAgIAorICAgICAgICBpZiAobV9jbGllbnQpCisgICAgICAgIHsKKyAgICAgICAgICAg
IG1fY2xpZW50LT52YWx1ZUNoYW5nZWRGb3JQb3B1cE1lbnUodGhpcywgW21fcG9wdXAuZ2V0KCkg
aW5kZXhPZlNlbGVjdGVkSXRlbV0pOworICAgICAgICAgICAgCisgICAgICAgICAgICAvLyA8aHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU3OTA0PiBUaGlzIGNvZGUgaXMg
YWRvcHRlZCBmcm9tIEV2ZW50SGFuZGxlcjo6c2VuZEZha2VFdmVudHNBZnRlcldpZGdldFRyYWNr
aW5nKCkuCisgICAgICAgICAgICBOU0V2ZW50KiBpbml0aWF0aW5nTlNFdmVudCA9IG1fY2xpZW50
LT5jdXJyZW50bHlQcm9jZXNzZWRNb3VzZURvd25FdmVudCgpLT5uYXRpdmVFdmVudCgpOworICAg
ICAgICAgICAgaWYgKFtpbml0aWF0aW5nTlNFdmVudCB0eXBlXSA9PSBOU0xlZnRNb3VzZURvd24p
CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgTlNFdmVudCAqZmFrZUV2ZW50ID0gW05T
RXZlbnQgbW91c2VFdmVudFdpdGhUeXBlOk5TTGVmdE1vdXNlVXAKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb246W2luaXRpYXRp
bmdOU0V2ZW50IGxvY2F0aW9uSW5XaW5kb3ddCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBtb2RpZmllckZsYWdzOltpbml0aWF0aW5nTlNFdmVudCBt
b2RpZmllckZsYWdzXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHRpbWVzdGFtcDpbaW5pdGlhdGluZ05TRXZlbnQgdGltZXN0YW1wXQorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvd051
bWJlcjpbaW5pdGlhdGluZ05TRXZlbnQgd2luZG93TnVtYmVyXQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dDpbaW5pdGlhdGlu
Z05TRXZlbnQgY29udGV4dF0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZXZlbnROdW1iZXI6W2luaXRpYXRpbmdOU0V2ZW50IGV2ZW50TnVtYmVy
XQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y2xpY2tDb3VudDpbaW5pdGlhdGluZ05TRXZlbnQgY2xpY2tDb3VudF0KKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlc3N1cmU6W2luaXRp
YXRpbmdOU0V2ZW50IHByZXNzdXJlXV07CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAg
ICAgW05TQXBwIHBvc3RFdmVudDpmYWtlRXZlbnQgYXRTdGFydDpZRVNdOworICAgICAgICAgICAg
ICAgIGZha2VFdmVudCA9IFtOU0V2ZW50IG1vdXNlRXZlbnRXaXRoVHlwZTpOU01vdXNlTW92ZWQK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb246
W1ttX3dlYlZpZXcgd2luZG93XSBjb252ZXJ0U2NyZWVuVG9CYXNlOltOU0V2ZW50IG1vdXNlTG9j
YXRpb25dXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZp
ZXJGbGFnczpbaW5pdGlhdGluZ05TRXZlbnQgbW9kaWZpZXJGbGFnc10KKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lc3RhbXA6W2luaXRpYXRpbmdOU0V2
ZW50IHRpbWVzdGFtcF0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB3aW5kb3dOdW1iZXI6W2luaXRpYXRpbmdOU0V2ZW50IHdpbmRvd051bWJlcl0KKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6W2luaXRpYXRp
bmdOU0V2ZW50IGNvbnRleHRdCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGV2ZW50TnVtYmVyOjAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNsaWNrQ291bnQ6MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBwcmVzc3VyZTowXTsKKyAgICAgICAgICAgICAgICBbTlNBcHAgcG9zdEV2
ZW50OmZha2VFdmVudCBhdFN0YXJ0OllFU107CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAg
ICB9CisgICAgCisgICAgdm9pZCBXZWJQb3B1cE1lbnVQcm94eU1hYzo6aGlkZVBvcHVwTWVudSgp
CisgICAgeworICAgICAgICBbbV9wb3B1cC5nZXQoKSBkaXNtaXNzUG9wVXBdOworICAgIH0KKyAg
ICAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL3dpbi9XZWJQb3B1cE1lbnVQcm94eVdpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3Mvd2luL1dlYlBvcHVwTWVudVByb3h5V2luLmNwcAppbmRleCBlZWJkZTc1Li45M2JhNmEy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mvd2luL1dlYlBvcHVwTWVudVBy
b3h5V2luLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mvd2luL1dlYlBvcHVwTWVu
dVByb3h5V2luLmNwcApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2lu
Y2x1ZGUgIldlYlBvcHVwTWVudVByb3h5V2luLmgiCiAKKyNpbmNsdWRlICJOYXRpdmVXZWJNb3Vz
ZUV2ZW50LmgiCiAjaW5jbHVkZSAiV2ViVmlldy5oIgogI2luY2x1ZGUgPFdlYkNvcmUvV2ViQ29y
ZUluc3RhbmNlSGFuZGxlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TY3JvbGxiYXJUaGVtZS5oPgpA
QCAtMzI0LDggKzMyNSwyMiBAQCB2b2lkIFdlYlBvcHVwTWVudVByb3h5V2luOjpzaG93UG9wdXBN
ZW51KGNvbnN0IEludFJlY3QmIHJlY3QsIFRleHREaXJlY3Rpb24sIGRvdQogICAgIG1fc2hvd1Bv
cHVwID0gZmFsc2U7CiAgICAgOjpTaG93V2luZG93KG1fcG9wdXAsIFNXX0hJREUpOwogCi0gICAg
aWYgKG1fY2xpZW50KQorICAgIGlmIChtX2NsaWVudCkgewogICAgICAgICBtX2NsaWVudC0+dmFs
dWVDaGFuZ2VkRm9yUG9wdXBNZW51KHRoaXMsIG1fbmV3U2VsZWN0ZWRJbmRleCk7CisKKyAgICAg
ICAgLy8gPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NzkwND4gSW4g
b3JkZXIgdG8gcHJvcGVybHkgY2FsbCB0aGUgb25DbGljaygpCisgICAgICAgIC8vIGhhbmRsZXIg
b24gYSA8c2VsZWN0PiBlbGVtZW50LCB3ZSBuZWVkIHRvIGZha2UgYSBtb3VzZSB1cCBldmVudCBp
biB0aGUgbWFpbiB3aW5kb3cuCisgICAgICAgIC8vIFRoZSBtYWluIHdpbmRvdyBhbHJlYWR5IHJl
Y2VpdmVkIHRoZSBtb3VzZSBkb3duLCB3aGljaCBzaG93ZWQgdGhpcyBwb3B1cCwgYnV0IHVwb24K
KyAgICAgICAgLy8gc2VsZWN0aW9uIG9mIGFuIGl0ZW0gdGhlIG1vdXNlIHVwIGdldHMgZWF0ZW4g
YnkgdGhlIHBvcHVwIG1lbnUuIFNvIHdlIHRha2UgdGhlIG1vdXNlIGRvd24KKyAgICAgICAgLy8g
ZXZlbnQsIGNoYW5nZSB0aGUgbWVzc2FnZSB0eXBlIHRvIGEgbW91c2UgdXAgZXZlbnQsIGFuZCBw
b3N0IHRoYXQgaW4gdGhlIG1lc3NhZ2UgcXVldWUuCisgICAgICAgIC8vIFRodXMsIHdlIGFyZSB2
aXJ0dWFsbHkgY2xpY2tpbmcgYXQgdGhlCisgICAgICAgIC8vIHNhbWUgbG9jYXRpb24gd2hlcmUg
dGhlIG1vdXNlIGRvd24gZXZlbnQgb2NjdXJyZWQuIFRoaXMgYWxsb3dzIHRoZSBoaXQgdGVzdCB0
byBzZWxlY3QKKyAgICAgICAgLy8gdGhlIGNvcnJlY3QgZWxlbWVudCwgYW5kIHRoZXJlYnkgY2Fs
bCB0aGUgb25DbGljaygpIEpTIGhhbmRsZXIuCisgICAgICAgIGNvbnN0IE1TRyogaW5pdGlhdGlu
Z1dpbkV2ZW50ID0gbV9jbGllbnQtPmN1cnJlbnRseVByb2Nlc3NlZE1vdXNlRG93bkV2ZW50KCkt
Pm5hdGl2ZUV2ZW50KCk7CisgICAgICAgIE1TRyBmYWtlRXZlbnQgPSAqaW5pdGlhdGluZ1dpbkV2
ZW50OworICAgICAgICBmYWtlRXZlbnQubWVzc2FnZSA9IFdNX0xCVVRUT05VUDsKKyAgICAgICAg
OjpQb3N0TWVzc2FnZShmYWtlRXZlbnQuaHduZCwgZmFrZUV2ZW50Lm1lc3NhZ2UsIGZha2VFdmVu
dC53UGFyYW0sIGZha2VFdmVudC5sUGFyYW0pOworICAgIH0KIH0KIAogdm9pZCBXZWJQb3B1cE1l
bnVQcm94eVdpbjo6aGlkZVBvcHVwTWVudSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3Mvd2luL1dlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3dpbi9X
ZWJWaWV3LmNwcAppbmRleCBlMGQ4OTAzLi5lYTU0NjgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3Mvd2luL1dlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy93aW4vV2ViVmlldy5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJGaW5kSW5k
aWNhdG9yLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk5hdGl2ZVdlYktleWJv
YXJkRXZlbnQuaCIKKyNpbmNsdWRlICJOYXRpdmVXZWJNb3VzZUV2ZW50LmgiCiAjaW5jbHVkZSAi
UmVnaW9uLmgiCiAjaW5jbHVkZSAiUnVuTG9vcC5oIgogI2luY2x1ZGUgIldLQVBJQ2FzdC5oIgpA
QCAtMzg2LDcgKzM4Nyw3IEBAIHZvaWQgV2ViVmlldzo6d2luZG93QW5jZXN0cnlEaWRDaGFuZ2Uo
KQogCiBMUkVTVUxUIFdlYlZpZXc6Om9uTW91c2VFdmVudChIV05EIGhXbmQsIFVJTlQgbWVzc2Fn
ZSwgV1BBUkFNIHdQYXJhbSwgTFBBUkFNIGxQYXJhbSwgYm9vbCYgaGFuZGxlZCkKIHsKLSAgICBX
ZWJNb3VzZUV2ZW50IG1vdXNlRXZlbnQgPSBXZWJFdmVudEZhY3Rvcnk6OmNyZWF0ZVdlYk1vdXNl
RXZlbnQoaFduZCwgbWVzc2FnZSwgd1BhcmFtLCBsUGFyYW0sIG1fd2FzQWN0aXZhdGVkQnlNb3Vz
ZUV2ZW50KTsKKyAgICBOYXRpdmVXZWJNb3VzZUV2ZW50IG1vdXNlRXZlbnQgPSBOYXRpdmVXZWJN
b3VzZUV2ZW50KGhXbmQsIG1lc3NhZ2UsIHdQYXJhbSwgbFBhcmFtLCBtX3dhc0FjdGl2YXRlZEJ5
TW91c2VFdmVudCk7CiAgICAgc2V0V2FzQWN0aXZhdGVkQnlNb3VzZUV2ZW50KGZhbHNlKTsKICAg
ICAKICAgICBzd2l0Y2ggKG1lc3NhZ2UpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBlMzRlZDZiLi41ZWY5OTcwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0y
MzYsNiArMjM2LDcgQEAKIAkJMUNBOEI5NTQxMjdDODkxNTAwNTc2QzJCIC8qIFdlYkluc3BlY3Rv
ck1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFD
OEUyREFEMTI3OEM1QjIwMEJDN0JEMCAvKiBXZWJJbnNwZWN0b3JNYWMubW0gKi87IH07CiAJCTI5
Q0Q1NUFBMTI4RTI5NEYwMDEzM0M4NSAvKiBBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjlDRDU1QTgxMjhF
Mjk0RjAwMTMzQzg1IC8qIEFjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0LmggKi87IH07CiAJCTI5
Q0Q1NUFCMTI4RTI5NEYwMDEzM0M4NSAvKiBBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdC5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5Q0Q1NUE5MTI4
RTI5NEYwMDEzM0M4NSAvKiBBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdC5tbSAqLzsgfTsKKwkJ
MzFFQTI1RDIxMzRGNzhDMDAwNUIxNDUyIC8qIE5hdGl2ZVdlYk1vdXNlRXZlbnRNYWMubW0gaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUVBMjVEMDEzNEY3
OEIyMDA1QjE0NTIgLyogTmF0aXZlV2ViTW91c2VFdmVudE1hYy5tbSAqLzsgfTsKIAkJMzMwOTM0
NDcxMzE1QjkyMjAwOTdBN0JDIC8qIFdlYkNvb2tpZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzMwOTM0NDMx
MzE1QjkyMjAwOTdBN0JDIC8qIFdlYkNvb2tpZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICov
OyB9OwogCQkzMzA5MzQ0ODEzMTVCOTIyMDA5N0E3QkMgLyogV2ViQ29va2llTWFuYWdlck1lc3Nh
Z2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMzA5
MzQ0NDEzMTVCOTIyMDA5N0E3QkMgLyogV2ViQ29va2llTWFuYWdlck1lc3NhZ2VzLmggKi87IH07
CiAJCTMzMDkzNDQ5MTMxNUI5MjIwMDk3QTdCQyAvKiBXZWJDb29raWVNYW5hZ2VyUHJveHlNZXNz
YWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMzMwOTM0NDUxMzE1QjkyMjAwOTdBN0JDIC8qIFdlYkNvb2tpZU1hbmFnZXJQcm94eU1l
c3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CkBAIC0xMTE2LDYgKzExMTcsOCBAQAogCQkxQ0E4Qjk0
NDEyN0M4ODJBMDA1NzZDMkIgLyogV2ViSW5zcGVjdG9yUHJveHlNZXNzYWdlcy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJJbnNwZWN0b3JQcm94eU1lc3NhZ2VzLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5Q0Q1NUE4MTI4RTI5NEYwMDEzM0M4NSAvKiBB
Y2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkyOUNENTVBOTEyOEUyOTRGMDAxMzNDODUgLyogQWNjZXNzaWJpbGl0eVdlYlBhZ2VP
YmplY3QubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBBY2Nlc3Np
YmlsaXR5V2ViUGFnZU9iamVjdC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFF
QTI1RDAxMzRGNzhCMjAwNUIxNDUyIC8qIE5hdGl2ZVdlYk1vdXNlRXZlbnRNYWMubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBOYXRpdmVXZWJNb3VzZUV2ZW50TWFjLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkzMUVBMjVEMzEzNEY3OEQ2MDA1QjE0NTIgLyogTmF0aXZlV2ViTW91
c2VFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOYXRpdmVXZWJNb3Vz
ZUV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMyREJDRjVFMDM3MEFERUUw
MEM5MTc4MyAvKiBXZWJLaXQyUHJlZml4LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFdlYktpdDJQcmVmaXguaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzMwOTM0
NDMxMzE1QjkyMjAwOTdBN0JDIC8qIFdlYkNvb2tpZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViQ29va2llTWFuYWdlck1l
c3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMzMDkzNDQ0
MTMxNUI5MjIwMDk3QTdCQyAvKiBXZWJDb29raWVNYW5hZ2VyTWVzc2FnZXMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ29va2llTWFuYWdlck1lc3NhZ2VzLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMDY5LDYgKzIwNzIsNyBAQAogCQkJCUJDQjBBRUU4
MTIyRjUzRTMwMEIxMzQxRSAvKiBNdXRhYmxlRGljdGlvbmFyeS5jcHAgKi8sCiAJCQkJQkNCMEFF
RTcxMjJGNTNFMzAwQjEzNDFFIC8qIE11dGFibGVEaWN0aW9uYXJ5LmggKi8sCiAJCQkJQzAyQkZG
MTUxMjUxNEZEODAwOUNDQkVBIC8qIE5hdGl2ZVdlYktleWJvYXJkRXZlbnQuaCAqLywKKwkJCQkz
MUVBMjVEMzEzNEY3OEQ2MDA1QjE0NTIgLyogTmF0aXZlV2ViTW91c2VFdmVudC5oICovLAogCQkJ
CUJDQ0Y2NzMyMTJDN0YxNUMwMDhGOUMzNSAvKiBPcmlnaW5BbmREYXRhYmFzZXMuY3BwICovLAog
CQkJCUJDQ0Y2NzJDMTJDN0VERjcwMDhGOUMzNSAvKiBPcmlnaW5BbmREYXRhYmFzZXMuaCAqLywK
IAkJCQlCQ0M0M0FCODEyN0I5NURDMDAzMTdGMTYgLyogUGxhdGZvcm1Qb3B1cE1lbnVEYXRhLmNw
cCAqLywKQEAgLTI3NzUsNiArMjc3OSw3IEBACiAJCQkJMUE5NjM5RjUxMkYzOEVDRDAwNzhBMDYy
IC8qIENvcmVBbmltYXRpb25SZW5kZXJlci5oICovLAogCQkJCTFBOTYzOUY2MTJGMzhFQ0QwMDc4
QTA2MiAvKiBDb3JlQW5pbWF0aW9uUmVuZGVyZXIubW0gKi8sCiAJCQkJMUE5MkRDMTIxMkY4QkFC
OTAwMTdBRjY1IC8qIExheWVyVHJlZUNvbnRleHRNYWMubW0gKi8sCisJCQkJMzFFQTI1RDAxMzRG
NzhCMjAwNUIxNDUyIC8qIE5hdGl2ZVdlYk1vdXNlRXZlbnRNYWMubW0gKi8sCiAJCQkJQzAyQkZG
MUQxMjUxNTAyRTAwOUNDQkVBIC8qIE5hdGl2ZVdlYktleWJvYXJkRXZlbnRNYWMubW0gKi8sCiAJ
CQkJQzU3NEE1N0YxMkU2NjY4MTAwMkRGRTk4IC8qIFBhc3RlYm9hcmRUeXBlcy5oICovLAogCQkJ
CUM1NzRBNTgwMTJFNjY2ODEwMDJERkU5OCAvKiBQYXN0ZWJvYXJkVHlwZXMubW0gKi8sCkBAIC00
MzA3LDYgKzQzMTIsNyBAQAogCQkJCTUxODM0NTkyMTM0NTMyRTkwMDkyQjY5NiAvKiBXZWJJY29u
RGF0YWJhc2VDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTFBMzE3MzUxMzRDRUE4MDAw
N0M5QTRGIC8qIEF0dHJpYnV0ZWRTdHJpbmcubW0gaW4gU291cmNlcyAqLywKIAkJCQlFMTc5RkQ5
RjEzNEQzODI1MDAxNUI4ODMgLyogQXJndW1lbnRDb2RlcnNNYWMubW0gaW4gU291cmNlcyAqLywK
KwkJCQkzMUVBMjVEMjEzNEY3OEMwMDA1QjE0NTIgLyogTmF0aXZlV2ViTW91c2VFdmVudE1hYy5t
bSBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nl
c3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIu
dmNwcm9qIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIudmNwcm9qCmluZGV4IDk4MmFkOTcu
LjIyYzQzMGMgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJvagor
KysgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2oKQEAgLTQ4Myw2ICs0ODMsMTAg
QEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cU2hh
cmVkXE5hdGl2ZVdlYk1vdXNlRXZlbnQuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQog
CQkJCVJlbGF0aXZlUGF0aD0iLi5cU2hhcmVkXE9yaWdpbkFuZERhdGFiYXNlcy5jcHAiCiAJCQkJ
PgogCQkJPC9GaWxlPgpAQCAtMTE5NCw2ICsxMTk4LDY0IEBACiAJCQkJCT4KIAkJCQk8L0ZpbGU+
CiAJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxTaGFyZWRcd2luXE5hdGl2ZVdlYk1v
dXNlRXZlbnRXaW4uY3BwIgorCQkJCQk+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJ
TmFtZT0iRGVidWd8V2luMzIiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZD
Q0xDb21waWxlclRvb2wiCisJCQkJCQkJT2JqZWN0RmlsZT0iJChJbnREaXIpXCQoSW5wdXROYW1l
KTEub2JqIgorCQkJCQkJCVhNTERvY3VtZW50YXRpb25GaWxlTmFtZT0iJChJbnREaXIpXCQoSW5w
dXROYW1lKTEueGRjIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJ
PEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQkJPgor
CQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJCU9iamVj
dEZpbGU9IiQoSW50RGlyKVwkKElucHV0TmFtZSkxLm9iaiIKKwkJCQkJCQlYTUxEb2N1bWVudGF0
aW9uRmlsZU5hbWU9IiQoSW50RGlyKVwkKElucHV0TmFtZSkxLnhkYyIKKwkJCQkJCS8+CisJCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFt
ZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJ
CQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJCU9iamVjdEZpbGU9IiQoSW50RGlyKVwk
KElucHV0TmFtZSkxLm9iaiIKKwkJCQkJCQlYTUxEb2N1bWVudGF0aW9uRmlsZU5hbWU9IiQoSW50
RGlyKVwkKElucHV0TmFtZSkxLnhkYyIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRp
b24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19D
RkxpdGV8V2luMzIiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiCisJCQkJCQkJT2JqZWN0RmlsZT0iJChJbnREaXIpXCQoSW5wdXROYW1lKTEub2Jq
IgorCQkJCQkJCVhNTERvY3VtZW50YXRpb25GaWxlTmFtZT0iJChJbnREaXIpXCQoSW5wdXROYW1l
KTEueGRjIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVD
b25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJCQk+CisJCQkJ
CQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkJT2JqZWN0Rmls
ZT0iJChJbnREaXIpXCQoSW5wdXROYW1lKTEub2JqIgorCQkJCQkJCVhNTERvY3VtZW50YXRpb25G
aWxlTmFtZT0iJChJbnREaXIpXCQoSW5wdXROYW1lKTEueGRjIgorCQkJCQkJLz4KKwkJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJQ
cm9kdWN0aW9ufFdpbjMyIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NM
Q29tcGlsZXJUb29sIgorCQkJCQkJCU9iamVjdEZpbGU9IiQoSW50RGlyKVwkKElucHV0TmFtZSkx
Lm9iaiIKKwkJCQkJCQlYTUxEb2N1bWVudGF0aW9uRmlsZU5hbWU9IiQoSW50RGlyKVwkKElucHV0
TmFtZSkxLnhkYyIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPC9G
aWxlPgorCQkJCTxGaWxlCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5cU2hhcmVkXHdpblxQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mby5jcHAiCiAJCQkJCT4KIAkJCQk8L0ZpbGU+Ci0tIAoxLjcuMy40Cgo=
</data>
<flag name="review"
          id="81646"
          type_id="1"
          status="-"
          setter="andersca"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89078</attachid>
            <date>2011-04-11 13:54:02 -0700</date>
            <delta_ts>2011-04-11 15:48:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-onClick-does-not-function-with-select-elements-in-We.patch</filename>
            <type>text/plain</type>
            <size>35963</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">RnJvbSBmYmI4NzdmNjcwZDJlMzQ3YjI0NWVmZmIxZTU3ZTNiYjljNjA1NzdjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb24gTGVlIDxqb25sZWVAYXBwbGUuY29tPgpEYXRlOiBNb24s
IDExIEFwciAyMDExIDEzOjI0OjE4IC0wNzAwClN1YmplY3Q6IFtQQVRDSF0gb25DbGljayBkb2Vz
IG5vdCBmdW5jdGlvbiB3aXRoIDxzZWxlY3Q+IGVsZW1lbnRzIGluIFdlYktpdDIKIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NzkwNAogPHJkYXI6Ly9wcm9ibGVtLzky
MTc3NTc+CgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiogU2hhcmVkL05hdGl2ZVdlYk1v
dXNlRXZlbnQuaDogQ29waWVkIGZyb20gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBvcHVw
TWVudVByb3h5LmguCihXZWJLaXQ6Ok5hdGl2ZVdlYk1vdXNlRXZlbnQ6Om5hdGl2ZUV2ZW50KToK
KFdlYktpdDo6TmF0aXZlV2ViTW91c2VFdmVudDo6bmF0aXZlVmlldyk6CiogU2hhcmVkL21hYy9O
YXRpdmVXZWJNb3VzZUV2ZW50TWFjLm1tOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUG9wdXBNZW51UHJveHkuaC4KKFdlYktpdDo6TmF0aXZlV2ViTW91c2VFdmVudDo6
TmF0aXZlV2ViTW91c2VFdmVudCk6CiogU2hhcmVkL3dpbi9OYXRpdmVXZWJNb3VzZUV2ZW50V2lu
LmNwcDogQ29waWVkIGZyb20gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBvcHVwTWVudVBy
b3h5LmguCihXZWJLaXQ6Ok5hdGl2ZVdlYk1vdXNlRXZlbnQ6Ok5hdGl2ZVdlYk1vdXNlRXZlbnQp
OgoqIFVJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbToKKC1bV0tWaWV3IF9tb3VzZUhhbmRsZXI6
XSk6IFByZS1jb21waWxlciBtb3VzZSBoYW5kbGVyIGNhbGxzIG5lZWQgdG8gdXNlIHRoZSBuZXcg
TmF0aXZlV2ViTW91c2VFdmVudCBjbGFzcwoqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgoo
V2ViS2l0OjpXZWJQYWdlUHJveHk6OmhhbmRsZU1vdXNlRXZlbnQpOiBrZWVwIHRyYWNrIG9mIG1v
dXNlIGRvd24gZXZlbnQgaW4gb3JkZXIgdG8gYmUgYWJsZSB0byBzZW5kIGEgZmFrZSBtb3VzZSB1
cCBldmVudCBvbiB0aGUgc2VsZWN0IGVsZW1lbnQKKFdlYktpdDo6V2ViUGFnZVByb3h5OjpjdXJy
ZW50TW91c2VEb3duRXZlbnQpOiBmb3IgYWNjZXNzIGJ5IHRoZSBwb3B1cCBtZW51IHByb3h5IHRv
IGRpc3BhdGNoIHRoZSBmYWtlIG1vdXNlIHVwIGV2ZW50CihXZWJLaXQ6OldlYlBhZ2VQcm94eTo6
ZGlkUmVjZWl2ZUV2ZW50KTogY2xlYXIgb3V0IHRoZSBjYWNoZWQgbW91c2UgZG93biBldmVudAoq
IFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKiBVSVByb2Nlc3MvV2ViUG9wdXBNZW51UHJveHku
aDoKKiBVSVByb2Nlc3MvbWFjL1dlYlBvcHVwTWVudVByb3h5TWFjLm1tOgooV2ViS2l0OjpXZWJQ
b3B1cE1lbnVQcm94eU1hYzo6c2hvd1BvcHVwTWVudSk6IGFmdGVyIG5vdGlmeWluZyB0aGUgcG9w
dXAgbWVudSBjbGllbnQgdGhhdCB0aGUgdmFsdWUgY2hhbmdlZCwgZmFrZSBtb3VzZSB1cCBhbmQg
bW91c2UgbW92ZSBldmVudHMgYXJlIHBvc3RlZAoqIFVJUHJvY2Vzcy93aW4vV2ViUG9wdXBNZW51
UHJveHlXaW4uY3BwOgooV2ViS2l0OjpXZWJQb3B1cE1lbnVQcm94eVdpbjo6c2hvd1BvcHVwTWVu
dSk6IGFmdGVyIG5vdGlmeWluZyB0aGUgcG9wdXAgbWVudSBjbGllbnQgdGhhdCB0aGUgdmFsdWUg
Y2hhbmdlZCwgZmFrZSBtb3VzZSB1cCBhbmQgbW91c2UgbW92ZSBldmVudHMgYXJlIHBvc3RlZAoq
IFVJUHJvY2Vzcy93aW4vV2ViVmlldy5jcHA6CihXZWJLaXQ6OldlYlZpZXc6Om9uTW91c2VFdmVu
dCk6CiogV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgoqIHdpbi9XZWJLaXQyLnZj
cHJvajoKLS0tCiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAg
ICAgICB8ICAgMzIgKysrKysrKysrCiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvTmF0aXZlV2ViTW91
c2VFdmVudC5oICAgICAgICB8ICAgNjIgKysrKysrKysrKysrKysrKysKIC4uLi9XZWJLaXQyL1No
YXJlZC9tYWMvTmF0aXZlV2ViTW91c2VFdmVudE1hYy5tbSAgIHwgICAzOSArKysrKysrKysrKwog
Li4uL1dlYktpdDIvU2hhcmVkL3dpbi9OYXRpdmVXZWJNb3VzZUV2ZW50V2luLmNwcCAgfCAgIDQz
ICsrKysrKysrKysrKwogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1t
ICAgICAgICAgfCAgIDM2ICsrKysrKy0tLS0KIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwICAgICAgICAgIHwgICAyMSArKysrKy0KIFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaCAgICAgICAgICAgIHwgICAgNyArKy0KIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQb3B1cE1lbnVQcm94eS5oICAgICAgIHwgICAgMiArCiAuLi4vV2ViS2l0
Mi9VSVByb2Nlc3MvbWFjL1dlYlBvcHVwTWVudVByb3h5TWFjLm1tICB8ICAgNzEgKysrKysrKysr
KysrKystLS0tLQogLi4uL1dlYktpdDIvVUlQcm9jZXNzL3dpbi9XZWJQb3B1cE1lbnVQcm94eVdp
bi5jcHAgfCAgIDIzICsrKysrKy0KIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy93aW4vV2ViVmll
dy5jcHAgICAgICAgICAgIHwgICAgMyArLQogU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qICAgfCAgICA2ICsrCiBTb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0
Mi52Y3Byb2ogICAgICAgICAgICAgICAgICB8ICAgNjIgKysrKysrKysrKysrKysrKysKIDEzIGZp
bGVzIGNoYW5nZWQsIDM2NyBpbnNlcnRpb25zKCspLCA0MCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBt
b2RlIDEwMDY0NCBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvTmF0aXZlV2ViTW91c2VFdmVudC5oCiBj
cmVhdGUgbW9kZSAxMDA2NDQgU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9OYXRpdmVXZWJNb3Vz
ZUV2ZW50TWFjLm1tCiBjcmVhdGUgbW9kZSAxMDA2NDQgU291cmNlL1dlYktpdDIvU2hhcmVkL3dp
bi9OYXRpdmVXZWJNb3VzZUV2ZW50V2luLmNwcAoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBiMWIyOWZmLi5lZmUy
MzZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMTEtMDQtMTEgIEpvbiBMZWUgIDxq
b25sZWVAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIG9uQ2xpY2sgZG9lcyBub3QgZnVuY3Rpb24gd2l0aCA8c2VsZWN0PiBlbGVtZW50
cyBpbiBXZWJLaXQyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD01NzkwNAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vOTIxNzc1Nz4KKworICAgICAgICAq
IFNoYXJlZC9OYXRpdmVXZWJNb3VzZUV2ZW50Lmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQb3B1cE1lbnVQcm94eS5oLgorICAgICAgICAoV2ViS2l0OjpOYXRpdmVX
ZWJNb3VzZUV2ZW50OjpuYXRpdmVFdmVudCk6CisgICAgICAgIChXZWJLaXQ6Ok5hdGl2ZVdlYk1v
dXNlRXZlbnQ6Om5hdGl2ZVZpZXcpOgorICAgICAgICAqIFNoYXJlZC9tYWMvTmF0aXZlV2ViTW91
c2VFdmVudE1hYy5tbTogQ29waWVkIGZyb20gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBv
cHVwTWVudVByb3h5LmguCisgICAgICAgIChXZWJLaXQ6Ok5hdGl2ZVdlYk1vdXNlRXZlbnQ6Ok5h
dGl2ZVdlYk1vdXNlRXZlbnQpOgorICAgICAgICAqIFNoYXJlZC93aW4vTmF0aXZlV2ViTW91c2VF
dmVudFdpbi5jcHA6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQb3B1
cE1lbnVQcm94eS5oLgorICAgICAgICAoV2ViS2l0OjpOYXRpdmVXZWJNb3VzZUV2ZW50OjpOYXRp
dmVXZWJNb3VzZUV2ZW50KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW06
CisgICAgICAgICgtW1dLVmlldyBfbW91c2VIYW5kbGVyOl0pOiBQcmUtY29tcGlsZXIgbW91c2Ug
aGFuZGxlciBjYWxscyBuZWVkIHRvIHVzZSB0aGUgbmV3IE5hdGl2ZVdlYk1vdXNlRXZlbnQgY2xh
c3MKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZVByb3h5OjpoYW5kbGVNb3VzZUV2ZW50KToga2VlcCB0cmFjayBvZiBtb3VzZSBk
b3duIGV2ZW50IGluIG9yZGVyIHRvIGJlIGFibGUgdG8gc2VuZCBhIGZha2UgbW91c2UgdXAgZXZl
bnQgb24gdGhlIHNlbGVjdCBlbGVtZW50CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6
Y3VycmVudE1vdXNlRG93bkV2ZW50KTogZm9yIGFjY2VzcyBieSB0aGUgcG9wdXAgbWVudSBwcm94
eSB0byBkaXNwYXRjaCB0aGUgZmFrZSBtb3VzZSB1cCBldmVudAorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlUHJveHk6OmRpZFJlY2VpdmVFdmVudCk6IGNsZWFyIG91dCB0aGUgY2FjaGVkIG1vdXNl
IGRvd24gZXZlbnQKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlBvcHVwTWVudVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL21h
Yy9XZWJQb3B1cE1lbnVQcm94eU1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUG9wdXBNZW51
UHJveHlNYWM6OnNob3dQb3B1cE1lbnUpOiBhZnRlciBub3RpZnlpbmcgdGhlIHBvcHVwIG1lbnUg
Y2xpZW50IHRoYXQgdGhlIHZhbHVlIGNoYW5nZWQsIGZha2UgbW91c2UgdXAgYW5kIG1vdXNlIG1v
dmUgZXZlbnRzIGFyZSBwb3N0ZWQKKyAgICAgICAgKiBVSVByb2Nlc3Mvd2luL1dlYlBvcHVwTWVu
dVByb3h5V2luLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUG9wdXBNZW51UHJveHlXaW46OnNo
b3dQb3B1cE1lbnUpOiBhZnRlciBub3RpZnlpbmcgdGhlIHBvcHVwIG1lbnUgY2xpZW50IHRoYXQg
dGhlIHZhbHVlIGNoYW5nZWQsIGZha2UgbW91c2UgdXAgYW5kIG1vdXNlIG1vdmUgZXZlbnRzIGFy
ZSBwb3N0ZWQKKyAgICAgICAgKiBVSVByb2Nlc3Mvd2luL1dlYlZpZXcuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJWaWV3Ojpvbk1vdXNlRXZlbnQpOgorICAgICAgICAqIFdlYktpdDIueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiB3aW4vV2ViS2l0Mi52Y3Byb2o6CisKIDIw
MTEtMDQtMTAgIE1hY2llaiBTdGFjaG93aWFrICA8bWpzQGFwcGxlLmNvbT4KIAogICAgICAgICBO
b3QgcmV2aWV3ZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvTmF0aXZlV2Vi
TW91c2VFdmVudC5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL05hdGl2ZVdlYk1vdXNlRXZlbnQu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NTIzMDM2Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL05hdGl2ZVdlYk1vdXNlRXZlbnQuaApAQCAt
MCwwICsxLDYyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBOYXRpdmVXZWJNb3VzZUV2ZW50X2gK
KyNkZWZpbmUgTmF0aXZlV2ViTW91c2VFdmVudF9oCisKKyNpbmNsdWRlICJXZWJFdmVudC5oIgor
CisjaWYgUExBVEZPUk0oTUFDKQorI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KK09CSkNfQ0xB
U1MgTlNWaWV3OworI2VuZGlmCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBOYXRpdmVX
ZWJNb3VzZUV2ZW50IDogcHVibGljIFdlYk1vdXNlRXZlbnQgeworcHVibGljOgorI2lmIFBMQVRG
T1JNKE1BQykKKyAgICBOYXRpdmVXZWJNb3VzZUV2ZW50KE5TRXZlbnQgKiwgTlNWaWV3ICopOwor
I2VsaWYgUExBVEZPUk0oV0lOKQorICAgIE5hdGl2ZVdlYk1vdXNlRXZlbnQoSFdORCwgVUlOVCBt
ZXNzYWdlLCBXUEFSQU0sIExQQVJBTSwgYm9vbCk7CisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1B
QykKKyAgICBOU0V2ZW50KiBuYXRpdmVFdmVudCgpIGNvbnN0IHsgcmV0dXJuIG1fbmF0aXZlRXZl
bnQuZ2V0KCk7IH0KKyNlbGlmIFBMQVRGT1JNKFdJTikKKyAgICBjb25zdCBNU0cqIG5hdGl2ZUV2
ZW50KCkgY29uc3QgeyByZXR1cm4gJm1fbmF0aXZlRXZlbnQ7IH0KKyNlbmRpZgorCitwcml2YXRl
OgorI2lmIFBMQVRGT1JNKE1BQykKKyAgICBSZXRhaW5QdHI8TlNFdmVudD4gbV9uYXRpdmVFdmVu
dDsKKyNlbGlmIFBMQVRGT1JNKFdJTikKKyAgICBNU0cgbV9uYXRpdmVFdmVudDsKKyNlbmRpZgor
fTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBOYXRpdmVXZWJNb3VzZUV2
ZW50X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvTmF0aXZlV2ViTW91
c2VFdmVudE1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvTmF0aXZlV2ViTW91c2VF
dmVudE1hYy5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNzA2NGEzCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9OYXRpdmVXZWJNb3Vz
ZUV2ZW50TWFjLm1tCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25m
aWcuaCIKKyNpbXBvcnQgIk5hdGl2ZVdlYk1vdXNlRXZlbnQuaCIKKworI2ltcG9ydCAiV2ViRXZl
bnRGYWN0b3J5LmgiCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitOYXRpdmVXZWJNb3VzZUV2ZW50
OjpOYXRpdmVXZWJNb3VzZUV2ZW50KE5TRXZlbnQqIGV2ZW50LCBOU1ZpZXcqIHZpZXcpCisgICAg
OiBXZWJNb3VzZUV2ZW50KFdlYkV2ZW50RmFjdG9yeTo6Y3JlYXRlV2ViTW91c2VFdmVudChldmVu
dCwgdmlldykpCisgICAgLCBtX25hdGl2ZUV2ZW50KGV2ZW50KQoreworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC93aW4vTmF0aXZl
V2ViTW91c2VFdmVudFdpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvd2luL05hdGl2ZVdl
Yk1vdXNlRXZlbnRXaW4uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVi
ODNkYzYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvd2luL05hdGl2
ZVdlYk1vdXNlRXZlbnRXaW4uY3BwCkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTmF0aXZlV2ViTW91c2VFdmVudC5oIgorCisjaW5j
bHVkZSAiV2ViRXZlbnRGYWN0b3J5LmgiCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitOYXRpdmVX
ZWJNb3VzZUV2ZW50OjpOYXRpdmVXZWJNb3VzZUV2ZW50KEhXTkQgaHduZCwgVUlOVCBtZXNzYWdl
LCBXUEFSQU0gd1BhcmFtLCBMUEFSQU0gbFBhcmFtLCBib29sIGRpZEFjdGl2YXRlV2ViVmlldykK
KyAgICA6IFdlYk1vdXNlRXZlbnQoV2ViRXZlbnRGYWN0b3J5OjpjcmVhdGVXZWJNb3VzZUV2ZW50
KGh3bmQsIG1lc3NhZ2UsIHdQYXJhbSwgbFBhcmFtLCBkaWRBY3RpdmF0ZVdlYlZpZXcpKQorICAg
ICwgbV9uYXRpdmVFdmVudCgpCit7CisgICAgbV9uYXRpdmVFdmVudC5od25kID0gaHduZDsKKyAg
ICBtX25hdGl2ZUV2ZW50Lm1lc3NhZ2UgPSBtZXNzYWdlOworICAgIG1fbmF0aXZlRXZlbnQud1Bh
cmFtID0gd1BhcmFtOworICAgIG1fbmF0aXZlRXZlbnQubFBhcmFtID0gbFBhcmFtOworfQorCit9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvbWFjL1dLVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dL
Vmlldy5tbQppbmRleCBiMTVhYjY0Li5jODYwZDgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9tYWMvV0tWaWV3Lm1tCkBAIC0zNSw2ICszNSw3IEBACiAjaW1wb3J0ICJMYXllclRy
ZWVDb250ZXh0LmgiCiAjaW1wb3J0ICJMb2dnaW5nLmgiCiAjaW1wb3J0ICJOYXRpdmVXZWJLZXli
b2FyZEV2ZW50LmgiCisjaW1wb3J0ICJOYXRpdmVXZWJNb3VzZUV2ZW50LmgiCiAjaW1wb3J0ICJQ
REZWaWV3Q29udHJvbGxlci5oIgogI2ltcG9ydCAiUGFnZUNsaWVudEltcGwuaCIKICNpbXBvcnQg
IlBhc3RlYm9hcmRUeXBlcy5oIgpAQCAtOTM0LDYgKzkzNSwyNyBAQCBzdGF0aWMgdm9pZCBzcGVh
a1N0cmluZyhXS1N0cmluZ1JlZiBzdHJpbmcsIFdLRXJyb3JSZWYgZXJyb3IsIHZvaWQqKQogICAg
IF9kYXRhLT5fbW91c2VEb3duRXZlbnQgPSBbZXZlbnQgcmV0YWluXTsKIH0KIAorI2RlZmluZSBO
QVRJVkVfTU9VU0VfRVZFTlRfSEFORExFUihTZWxlY3RvcikgXAorICAgIC0gKHZvaWQpU2VsZWN0
b3I6KE5TRXZlbnQgKil0aGVFdmVudCBcCisgICAgeyBcCisgICAgICAgIE5hdGl2ZVdlYk1vdXNl
RXZlbnQgd2ViRXZlbnQodGhlRXZlbnQsIHNlbGYpOyBcCisgICAgICAgIF9kYXRhLT5fcGFnZS0+
aGFuZGxlTW91c2VFdmVudCh3ZWJFdmVudCk7IFwKKyAgICB9CisKK05BVElWRV9NT1VTRV9FVkVO
VF9IQU5ETEVSKG1vdXNlRW50ZXJlZCkKK05BVElWRV9NT1VTRV9FVkVOVF9IQU5ETEVSKG1vdXNl
RXhpdGVkKQorTkFUSVZFX01PVVNFX0VWRU5UX0hBTkRMRVIobW91c2VNb3ZlZCkKK05BVElWRV9N
T1VTRV9FVkVOVF9IQU5ETEVSKG90aGVyTW91c2VEb3duKQorTkFUSVZFX01PVVNFX0VWRU5UX0hB
TkRMRVIob3RoZXJNb3VzZURyYWdnZWQpCitOQVRJVkVfTU9VU0VfRVZFTlRfSEFORExFUihvdGhl
ck1vdXNlTW92ZWQpCitOQVRJVkVfTU9VU0VfRVZFTlRfSEFORExFUihvdGhlck1vdXNlVXApCitO
QVRJVkVfTU9VU0VfRVZFTlRfSEFORExFUihyaWdodE1vdXNlRG93bikKK05BVElWRV9NT1VTRV9F
VkVOVF9IQU5ETEVSKHJpZ2h0TW91c2VEcmFnZ2VkKQorTkFUSVZFX01PVVNFX0VWRU5UX0hBTkRM
RVIocmlnaHRNb3VzZU1vdmVkKQorTkFUSVZFX01PVVNFX0VWRU5UX0hBTkRMRVIocmlnaHRNb3Vz
ZVVwKQorCisjdW5kZWYgTkFUSVZFX01PVVNFX0VWRU5UX0hBTkRMRVIKKwogI2RlZmluZSBFVkVO
VF9IQU5ETEVSKFNlbGVjdG9yLCBUeXBlKSBcCiAgICAgLSAodm9pZClTZWxlY3RvcjooTlNFdmVu
dCAqKXRoZUV2ZW50IFwKICAgICB7IFwKQEAgLTk0MSwxNyArOTYzLDYgQEAgc3RhdGljIHZvaWQg
c3BlYWtTdHJpbmcoV0tTdHJpbmdSZWYgc3RyaW5nLCBXS0Vycm9yUmVmIGVycm9yLCB2b2lkKikK
ICAgICAgICAgX2RhdGEtPl9wYWdlLT5oYW5kbGUjI1R5cGUjI0V2ZW50KHdlYkV2ZW50KTsgXAog
ICAgIH0KIAotRVZFTlRfSEFORExFUihtb3VzZUVudGVyZWQsIE1vdXNlKQotRVZFTlRfSEFORExF
Uihtb3VzZUV4aXRlZCwgTW91c2UpCi1FVkVOVF9IQU5ETEVSKG1vdXNlTW92ZWQsIE1vdXNlKQot
RVZFTlRfSEFORExFUihvdGhlck1vdXNlRG93biwgTW91c2UpCi1FVkVOVF9IQU5ETEVSKG90aGVy
TW91c2VEcmFnZ2VkLCBNb3VzZSkKLUVWRU5UX0hBTkRMRVIob3RoZXJNb3VzZU1vdmVkLCBNb3Vz
ZSkKLUVWRU5UX0hBTkRMRVIob3RoZXJNb3VzZVVwLCBNb3VzZSkKLUVWRU5UX0hBTkRMRVIocmln
aHRNb3VzZURvd24sIE1vdXNlKQotRVZFTlRfSEFORExFUihyaWdodE1vdXNlRHJhZ2dlZCwgTW91
c2UpCi1FVkVOVF9IQU5ETEVSKHJpZ2h0TW91c2VNb3ZlZCwgTW91c2UpCi1FVkVOVF9IQU5ETEVS
KHJpZ2h0TW91c2VVcCwgTW91c2UpCiBFVkVOVF9IQU5ETEVSKHNjcm9sbFdoZWVsLCBXaGVlbCkK
IAogI3VuZGVmIEVWRU5UX0hBTkRMRVIKQEAgLTk2MSw4ICs5NzIsNyBAQCBFVkVOVF9IQU5ETEVS
KHNjcm9sbFdoZWVsLCBXaGVlbCkKICAgICBOU0lucHV0TWFuYWdlciAqY3VycmVudElucHV0TWFu
YWdlciA9IFtOU0lucHV0TWFuYWdlciBjdXJyZW50SW5wdXRNYW5hZ2VyXTsKICAgICBpZiAoW2N1
cnJlbnRJbnB1dE1hbmFnZXIgd2FudHNUb0hhbmRsZU1vdXNlRXZlbnRzXSAmJiBbY3VycmVudElu
cHV0TWFuYWdlciBoYW5kbGVNb3VzZUV2ZW50OmV2ZW50XSkKICAgICAgICAgcmV0dXJuOwotICAg
IFdlYk1vdXNlRXZlbnQgd2ViRXZlbnQgPSBXZWJFdmVudEZhY3Rvcnk6OmNyZWF0ZVdlYk1vdXNl
RXZlbnQoZXZlbnQsIHNlbGYpOwotICAgIF9kYXRhLT5fcGFnZS0+aGFuZGxlTW91c2VFdmVudCh3
ZWJFdmVudCk7CisgICAgX2RhdGEtPl9wYWdlLT5oYW5kbGVNb3VzZUV2ZW50KE5hdGl2ZVdlYk1v
dXNlRXZlbnQoZXZlbnQsIHNlbGYpKTsKIH0KIAogLSAodm9pZCltb3VzZURvd246KE5TRXZlbnQg
KilldmVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCAw
NTEwNGQwLi44YjIyMmIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIkZpbmRJbmRpY2F0b3IuaCIKICNpbmNs
dWRlICJNZXNzYWdlSUQuaCIKICNpbmNsdWRlICJOYXRpdmVXZWJLZXlib2FyZEV2ZW50LmgiCisj
aW5jbHVkZSAiTmF0aXZlV2ViTW91c2VFdmVudC5oIgogI2luY2x1ZGUgIlBhZ2VDbGllbnQuaCIK
ICNpbmNsdWRlICJQcmludEluZm8uaCIKICNpbmNsdWRlICJTZXNzaW9uU3RhdGUuaCIKQEAgLTgw
Myw3ICs4MDQsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZHJhZ0VuZGVkKGNvbnN0IFdlYkNvcmU6
OkludFBvaW50JiBjbGllbnRQb3NpdGlvbiwgY29uc3QgV2ViQwogICAgIHByb2Nlc3MoKS0+c2Vu
ZChNZXNzYWdlczo6V2ViUGFnZTo6RHJhZ0VuZGVkKGNsaWVudFBvc2l0aW9uLCBnbG9iYWxQb3Np
dGlvbiwgb3BlcmF0aW9uKSwgbV9wYWdlSUQpOwogfQogCi12b2lkIFdlYlBhZ2VQcm94eTo6aGFu
ZGxlTW91c2VFdmVudChjb25zdCBXZWJNb3VzZUV2ZW50JiBldmVudCkKK3ZvaWQgV2ViUGFnZVBy
b3h5OjpoYW5kbGVNb3VzZUV2ZW50KGNvbnN0IE5hdGl2ZVdlYk1vdXNlRXZlbnQmIGV2ZW50KQog
ewogICAgIGlmICghaXNWYWxpZCgpKQogICAgICAgICByZXR1cm47CkBAIC04MTMsMTMgKzgxNCwy
MCBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6aGFuZGxlTW91c2VFdmVudChjb25zdCBXZWJNb3VzZUV2
ZW50JiBldmVudCkKICAgICAgICAgcHJvY2VzcygpLT5yZXNwb25zaXZlbmVzc1RpbWVyKCktPnN0
YXJ0KCk7CiAgICAgZWxzZSB7CiAgICAgICAgIGlmIChtX3Byb2Nlc3NpbmdNb3VzZU1vdmVFdmVu
dCkgewotICAgICAgICAgICAgbV9uZXh0TW91c2VNb3ZlRXZlbnQgPSBhZG9wdFB0cihuZXcgV2Vi
TW91c2VFdmVudChldmVudCkpOworICAgICAgICAgICAgbV9uZXh0TW91c2VNb3ZlRXZlbnQgPSBh
ZG9wdFB0cihuZXcgTmF0aXZlV2ViTW91c2VFdmVudChldmVudCkpOwogICAgICAgICAgICAgcmV0
dXJuOwogICAgICAgICB9CiAKICAgICAgICAgbV9wcm9jZXNzaW5nTW91c2VNb3ZlRXZlbnQgPSB0
cnVlOwogICAgIH0KIAorICAgIC8vIDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NTc5MDQ+IFdlIG5lZWQgdG8ga2VlcCB0cmFjayBvZiB0aGUgbW91c2UgZG93biBldmVu
dCBpbiB0aGUgY2FzZSB3aGVyZSB3ZQorICAgIC8vIGRpc3BsYXkgYSBwb3B1cCBtZW51IGZvciBz
ZWxlY3QgZWxlbWVudHMuIFdoZW4gdGhlIHVzZXIgY2hhbmdlcyB0aGUgc2VsZWN0ZWQgaXRlbSwK
KyAgICAvLyB3ZSBmYWtlIGEgbW91c2UgdXAgZXZlbnQgYnkgdXNpbmcgdGhpcyBzdG9yZWQgZG93
biBldmVudC4gVGhpcyBldmVudCBnZXRzIGNsZWFyZWQKKyAgICAvLyB3aGVuIHRoZSBtb3VzZSB1
cCBtZXNzYWdlIGlzIHJlY2VpdmVkIGZyb20gV2ViUHJvY2Vzcy4KKyAgICBpZiAoZXZlbnQudHlw
ZSgpID09IFdlYkV2ZW50OjpNb3VzZURvd24pCisgICAgICAgIG1fY3VycmVudGx5UHJvY2Vzc2Vk
TW91c2VEb3duRXZlbnQgPSBhZG9wdFB0cihuZXcgTmF0aXZlV2ViTW91c2VFdmVudChldmVudCkp
OworCiAgICAgcHJvY2VzcygpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpNb3VzZUV2ZW50KGV2
ZW50KSwgbV9wYWdlSUQpOwogfQogCkBAIC0yMTg4LDYgKzIxOTYsMTEgQEAgdm9pZCBXZWJQYWdl
UHJveHk6OnNldFRleHRGcm9tSXRlbUZvclBvcHVwTWVudShXZWJQb3B1cE1lbnVQcm94eSosIGlu
dDMyX3QgaW5kZXgKICAgICBwcm9jZXNzKCktPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OlNldFRl
eHRGb3JBY3RpdmVQb3B1cE1lbnUoaW5kZXgpLCBtX3BhZ2VJRCk7CiB9CiAKK05hdGl2ZVdlYk1v
dXNlRXZlbnQqIFdlYlBhZ2VQcm94eTo6Y3VycmVudGx5UHJvY2Vzc2VkTW91c2VEb3duRXZlbnQo
KQoreworICAgIHJldHVybiBtX2N1cnJlbnRseVByb2Nlc3NlZE1vdXNlRG93bkV2ZW50LmdldCgp
OworfQorCiB2b2lkIFdlYlBhZ2VQcm94eTo6c2hvd1BvcHVwTWVudShjb25zdCBJbnRSZWN0JiBy
ZWN0LCB1aW50NjRfdCB0ZXh0RGlyZWN0aW9uLCBjb25zdCBWZWN0b3I8V2ViUG9wdXBJdGVtPiYg
aXRlbXMsIGludDMyX3Qgc2VsZWN0ZWRJbmRleCwgY29uc3QgUGxhdGZvcm1Qb3B1cE1lbnVEYXRh
JiBkYXRhKQogewogICAgIGlmIChtX2FjdGl2ZVBvcHVwTWVudSkgewpAQCAtMjUxOSwxMiArMjUz
MiwxNCBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkUmVjZWl2ZUV2ZW50KHVpbnQzMl90IG9wYXF1
ZVR5cGUsIGJvb2wgaGFuZGxlZCkKICAgICAgICAgfQogICAgICAgICBicmVhazsKICAgICBjYXNl
IFdlYkV2ZW50OjpNb3VzZURvd246Ci0gICAgY2FzZSBXZWJFdmVudDo6TW91c2VVcDoKICNpZiBF
TkFCTEUoR0VTVFVSRV9FVkVOVFMpCiAgICAgY2FzZSBXZWJFdmVudDo6R2VzdHVyZVNjcm9sbEJl
Z2luOgogICAgIGNhc2UgV2ViRXZlbnQ6Okdlc3R1cmVTY3JvbGxFbmQ6CiAjZW5kaWYKICAgICAg
ICAgYnJlYWs7CisgICAgY2FzZSBXZWJFdmVudDo6TW91c2VVcDoKKyAgICAgICAgbV9jdXJyZW50
bHlQcm9jZXNzZWRNb3VzZURvd25FdmVudCA9IG51bGxwdHI7CisgICAgICAgIGJyZWFrOwogCiAg
ICAgY2FzZSBXZWJFdmVudDo6V2hlZWw6IHsKICAgICAgICAgbV9wcm9jZXNzaW5nV2hlZWxFdmVu
dCA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDFl
MWQ4ZWUuLjhiNmQzMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgK
QEAgLTc4LDYgKzc4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogbmFtZXNwYWNlIFdlYktpdCB7
CiAKIGNsYXNzIE5hdGl2ZVdlYktleWJvYXJkRXZlbnQ7CitjbGFzcyBOYXRpdmVXZWJNb3VzZUV2
ZW50OwogY2xhc3MgUGFnZUNsaWVudDsKIGNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwog
Y2xhc3MgU3RyaW5nUGFpclZlY3RvcjsKQEAgLTI4Myw3ICsyODQsNyBAQCBwdWJsaWM6CiAgICAg
dm9pZCBzZXRBY3R1YWxWaXNpYmxlQ29udGVudFJlY3QoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYg
cmVjdCk7CiAjZW5kaWYKIAotICAgIHZvaWQgaGFuZGxlTW91c2VFdmVudChjb25zdCBXZWJNb3Vz
ZUV2ZW50Jik7CisgICAgdm9pZCBoYW5kbGVNb3VzZUV2ZW50KGNvbnN0IE5hdGl2ZVdlYk1vdXNl
RXZlbnQmKTsKICAgICB2b2lkIGhhbmRsZVdoZWVsRXZlbnQoY29uc3QgV2ViV2hlZWxFdmVudCYp
OwogICAgIHZvaWQgaGFuZGxlS2V5Ym9hcmRFdmVudChjb25zdCBOYXRpdmVXZWJLZXlib2FyZEV2
ZW50Jik7CiAjaWYgRU5BQkxFKEdFU1RVUkVfRVZFTlRTKQpAQCAtNDk2LDYgKzQ5Nyw3IEBAIHBy
aXZhdGU6CiAgICAgLy8gV2ViUG9wdXBNZW51UHJveHk6OkNsaWVudAogICAgIHZpcnR1YWwgdm9p
ZCB2YWx1ZUNoYW5nZWRGb3JQb3B1cE1lbnUoV2ViUG9wdXBNZW51UHJveHkqLCBpbnQzMl90IG5l
d1NlbGVjdGVkSW5kZXgpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRUZXh0RnJvbUl0ZW1Gb3JQb3B1
cE1lbnUoV2ViUG9wdXBNZW51UHJveHkqLCBpbnQzMl90IGluZGV4KTsKKyAgICB2aXJ0dWFsIE5h
dGl2ZVdlYk1vdXNlRXZlbnQqIGN1cnJlbnRseVByb2Nlc3NlZE1vdXNlRG93bkV2ZW50KCk7CiAK
ICAgICAvLyBJbXBsZW1lbnRlZCBpbiBnZW5lcmF0ZWQgV2ViUGFnZVByb3h5TWVzc2FnZVJlY2Vp
dmVyLmNwcAogICAgIHZvaWQgZGlkUmVjZWl2ZVdlYlBhZ2VQcm94eU1lc3NhZ2UoQ29yZUlQQzo6
Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6QXJndW1lbnREZWNvZGVy
Kik7CkBAIC04MDIsNyArODA0LDggQEAgcHJpdmF0ZToKICAgICBPd25QdHI8V2ViV2hlZWxFdmVu
dD4gbV9uZXh0V2hlZWxFdmVudDsKIAogICAgIGJvb2wgbV9wcm9jZXNzaW5nTW91c2VNb3ZlRXZl
bnQ7Ci0gICAgT3duUHRyPFdlYk1vdXNlRXZlbnQ+IG1fbmV4dE1vdXNlTW92ZUV2ZW50OworICAg
IE93blB0cjxOYXRpdmVXZWJNb3VzZUV2ZW50PiBtX25leHRNb3VzZU1vdmVFdmVudDsKKyAgICBP
d25QdHI8TmF0aXZlV2ViTW91c2VFdmVudD4gbV9jdXJyZW50bHlQcm9jZXNzZWRNb3VzZURvd25F
dmVudDsKIAogICAgIHVpbnQ2NF90IG1fcGFnZUlEOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUG9wdXBNZW51UHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQb3B1cE1lbnVQcm94eS5oCmluZGV4IDk2OTAxZmIuLjBhZjg4ODAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQb3B1cE1lbnVQcm94eS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQb3B1cE1lbnVQcm94eS5oCkBAIC0zOSw2ICszOSw3
IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBzdHJ1Y3QgUGxhdGZvcm1Qb3B1cE1lbnVEYXRhOwog
c3RydWN0IFdlYlBvcHVwSXRlbTsKK2NsYXNzIE5hdGl2ZVdlYk1vdXNlRXZlbnQ7CiAKIGNsYXNz
IFdlYlBvcHVwTWVudVByb3h5IDogcHVibGljIFJlZkNvdW50ZWQ8V2ViUG9wdXBNZW51UHJveHk+
IHsKIHB1YmxpYzoKQEAgLTUxLDYgKzUyLDcgQEAgcHVibGljOgogICAgIHB1YmxpYzoKICAgICAg
ICAgdmlydHVhbCB2b2lkIHZhbHVlQ2hhbmdlZEZvclBvcHVwTWVudShXZWJQb3B1cE1lbnVQcm94
eSosIGludDMyX3QgbmV3U2VsZWN0ZWRJbmRleCkgPSAwOwogICAgICAgICB2aXJ0dWFsIHZvaWQg
c2V0VGV4dEZyb21JdGVtRm9yUG9wdXBNZW51KFdlYlBvcHVwTWVudVByb3h5KiwgaW50MzJfdCBp
bmRleCkgPSAwOworICAgICAgICB2aXJ0dWFsIE5hdGl2ZVdlYk1vdXNlRXZlbnQqIGN1cnJlbnRs
eVByb2Nlc3NlZE1vdXNlRG93bkV2ZW50KCkgPSAwOwogICAgIH07CiAKICAgICB2aXJ0dWFsIH5X
ZWJQb3B1cE1lbnVQcm94eSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
bWFjL1dlYlBvcHVwTWVudVByb3h5TWFjLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21h
Yy9XZWJQb3B1cE1lbnVQcm94eU1hYy5tbQppbmRleCA3Y2U4NzY0Li4zZWI4YmNlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYlBvcHVwTWVudVByb3h5TWFjLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViUG9wdXBNZW51UHJveHlNYWMu
bW0KQEAgLTI2LDYgKzI2LDcgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiV2ViUG9w
dXBNZW51UHJveHlNYWMuaCIKIAorI2ltcG9ydCAiTmF0aXZlV2ViTW91c2VFdmVudC5oIgogI2lt
cG9ydCAiUGFnZUNsaWVudEltcGwuaCIKICNpbXBvcnQgIlBsYXRmb3JtUG9wdXBNZW51RGF0YS5o
IgogI2ltcG9ydCAiV0tWaWV3LmgiCkBAIC0zNSw3ICszNiw3IEBACiB1c2luZyBuYW1lc3BhY2Ug
V2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7Ci0KKyAgICAKIFdlYlBvcHVwTWVudVByb3h5
TWFjOjpXZWJQb3B1cE1lbnVQcm94eU1hYyhXS1ZpZXcgKndlYlZpZXcsIFdlYlBvcHVwTWVudVBy
b3h5OjpDbGllbnQqIGNsaWVudCkKICAgICA6IFdlYlBvcHVwTWVudVByb3h5KGNsaWVudCkKICAg
ICAsIG1fd2ViVmlldyh3ZWJWaWV3KQpAQCAtNTcsMzEgKzU4LDMxIEBAIHZvaWQgV2ViUG9wdXBN
ZW51UHJveHlNYWM6OnBvcHVsYXRlKGNvbnN0IFZlY3RvcjxXZWJQb3B1cEl0ZW0+JiBpdGVtcywg
TlNGb250ICpmCiAgICAgICAgIFttX3BvcHVwLmdldCgpIHNldFVzZXNJdGVtRnJvbU1lbnU6Tk9d
OwogICAgICAgICBbbV9wb3B1cC5nZXQoKSBzZXRBdXRvZW5hYmxlc0l0ZW1zOk5PXTsKICAgICB9
Ci0KKyAgICAKICAgICBpbnQgc2l6ZSA9IGl0ZW1zLnNpemUoKTsKLQorICAgIAogICAgIGZvciAo
aW50IGkgPSAwOyBpIDwgc2l6ZTsgaSsrKSB7CiAgICAgICAgIGlmIChpdGVtc1tpXS5tX3R5cGUg
PT0gV2ViUG9wdXBJdGVtOjpTZXBlcmF0b3IpCiAgICAgICAgICAgICBbW21fcG9wdXAuZ2V0KCkg
bWVudV0gYWRkSXRlbTpbTlNNZW51SXRlbSBzZXBhcmF0b3JJdGVtXV07CiAgICAgICAgIGVsc2Ug
ewogICAgICAgICAgICAgW21fcG9wdXAuZ2V0KCkgYWRkSXRlbVdpdGhUaXRsZTpAIiJdOwogICAg
ICAgICAgICAgTlNNZW51SXRlbSAqbWVudUl0ZW0gPSBbbV9wb3B1cC5nZXQoKSBsYXN0SXRlbV07
Ci0KKyAgICAgICAgICAgIAogICAgICAgICAgICAgUmV0YWluUHRyPE5TTXV0YWJsZVBhcmFncmFw
aFN0eWxlPiBwYXJhZ3JhcGhTdHlsZShBZG9wdE5TLCBbW05TUGFyYWdyYXBoU3R5bGUgZGVmYXVs
dFBhcmFncmFwaFN0eWxlXSBtdXRhYmxlQ29weV0pOwogICAgICAgICAgICAgTlNXcml0aW5nRGly
ZWN0aW9uIHdyaXRpbmdEaXJlY3Rpb24gPSBpdGVtc1tpXS5tX3RleHREaXJlY3Rpb24gPT0gTFRS
ID8gTlNXcml0aW5nRGlyZWN0aW9uTGVmdFRvUmlnaHQgOiBOU1dyaXRpbmdEaXJlY3Rpb25SaWdo
dFRvTGVmdDsKICAgICAgICAgICAgIFtwYXJhZ3JhcGhTdHlsZS5nZXQoKSBzZXRCYXNlV3JpdGlu
Z0RpcmVjdGlvbjp3cml0aW5nRGlyZWN0aW9uXTsKICAgICAgICAgICAgIFtwYXJhZ3JhcGhTdHls
ZS5nZXQoKSBzZXRBbGlnbm1lbnQ6bWVudVRleHREaXJlY3Rpb24gPT0gTFRSID8gTlNMZWZ0VGV4
dEFsaWdubWVudCA6IE5TUmlnaHRUZXh0QWxpZ25tZW50XTsKICAgICAgICAgICAgIFJldGFpblB0
cjxOU011dGFibGVEaWN0aW9uYXJ5PiBhdHRyaWJ1dGVzKEFkb3B0TlMsIFtbTlNNdXRhYmxlRGlj
dGlvbmFyeSBhbGxvY10gaW5pdFdpdGhPYmplY3RzQW5kS2V5czoKLSAgICAgICAgICAgICAgICBw
YXJhZ3JhcGhTdHlsZS5nZXQoKSwgTlNQYXJhZ3JhcGhTdHlsZUF0dHJpYnV0ZU5hbWUsCi0gICAg
ICAgICAgICAgICAgZm9udCwgTlNGb250QXR0cmlidXRlTmFtZSwKLSAgICAgICAgICAgIG5pbF0p
OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHBhcmFncmFwaFN0eWxlLmdldCgpLCBOU1BhcmFncmFwaFN0eWxlQXR0cmlidXRl
TmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBmb250LCBOU0ZvbnRBdHRyaWJ1dGVOYW1lLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5pbF0pOwog
ICAgICAgICAgICAgaWYgKGl0ZW1zW2ldLm1faGFzVGV4dERpcmVjdGlvbk92ZXJyaWRlKSB7CiAg
ICAgICAgICAgICAgICAgUmV0YWluUHRyPE5TTnVtYmVyPiB3cml0aW5nRGlyZWN0aW9uVmFsdWUo
QWRvcHROUywgW1tOU051bWJlciBhbGxvY10gaW5pdFdpdGhJbnRlZ2VyOndyaXRpbmdEaXJlY3Rp
b24gKyBOU1RleHRXcml0aW5nRGlyZWN0aW9uT3ZlcnJpZGVdKTsKICAgICAgICAgICAgICAgICBS
ZXRhaW5QdHI8TlNBcnJheT4gd3JpdGluZ0RpcmVjdGlvbkFycmF5KEFkb3B0TlMsIFtbTlNBcnJh
eSBhbGxvY10gaW5pdFdpdGhPYmplY3RzOndyaXRpbmdEaXJlY3Rpb25WYWx1ZS5nZXQoKSwgbmls
XSk7CiAgICAgICAgICAgICAgICAgW2F0dHJpYnV0ZXMuZ2V0KCkgc2V0T2JqZWN0OndyaXRpbmdE
aXJlY3Rpb25BcnJheS5nZXQoKSBmb3JLZXk6TlNXcml0aW5nRGlyZWN0aW9uQXR0cmlidXRlTmFt
ZV07CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBSZXRhaW5QdHI8TlNBdHRyaWJ1dGVkU3Ry
aW5nPiBzdHJpbmcoQWRvcHROUywgW1tOU0F0dHJpYnV0ZWRTdHJpbmcgYWxsb2NdIGluaXRXaXRo
U3RyaW5nOm5zU3RyaW5nRnJvbVdlYkNvcmVTdHJpbmcoaXRlbXNbaV0ubV90ZXh0KSBhdHRyaWJ1
dGVzOmF0dHJpYnV0ZXMuZ2V0KCldKTsKLQorICAgICAgICAgICAgCiAgICAgICAgICAgICBbbWVu
dUl0ZW0gc2V0QXR0cmlidXRlZFRpdGxlOnN0cmluZy5nZXQoKV07CiAgICAgICAgICAgICBbbWVu
dUl0ZW0gc2V0RW5hYmxlZDppdGVtc1tpXS5tX2lzRW5hYmxlZF07CiAgICAgICAgICAgICBbbWVu
dUl0ZW0gc2V0VG9vbFRpcDpuc1N0cmluZ0Zyb21XZWJDb3JlU3RyaW5nKGl0ZW1zW2ldLm1fdG9v
bFRpcCldOwpAQCAtOTcsMTUgKzk4LDE1IEBAIHZvaWQgV2ViUG9wdXBNZW51UHJveHlNYWM6OnNo
b3dQb3B1cE1lbnUoY29uc3QgSW50UmVjdCYgcmVjdCwgVGV4dERpcmVjdGlvbiB0ZXh0CiAgICAg
ICAgIGZvbnQgPSBbTlNGb250IGZvbnRXaXRoRGVzY3JpcHRvcjpmb250RGVzY3JpcHRvciBzaXpl
Oigoc2NhbGVGYWN0b3IgIT0gMSkgPyBbZm9udERlc2NyaXB0b3IgcG9pbnRTaXplXSAqIHNjYWxl
RmFjdG9yIDogMCldOwogICAgIH0gZWxzZQogICAgICAgICBmb250ID0gW05TRm9udCBtZW51Rm9u
dE9mU2l6ZTowXTsKLQorICAgIAogICAgIHBvcHVsYXRlKGl0ZW1zLCBmb250LCB0ZXh0RGlyZWN0
aW9uKTsKLQorICAgIAogICAgIFttX3BvcHVwLmdldCgpIGF0dGFjaFBvcFVwV2l0aEZyYW1lOnJl
Y3QgaW5WaWV3Om1fd2ViVmlld107CiAgICAgW21fcG9wdXAuZ2V0KCkgc2VsZWN0SXRlbUF0SW5k
ZXg6c2VsZWN0ZWRJbmRleF07CiAgICAgW21fcG9wdXAuZ2V0KCkgc2V0VXNlckludGVyZmFjZUxh
eW91dERpcmVjdGlvbjp0ZXh0RGlyZWN0aW9uID09IExUUiA/IE5TVXNlckludGVyZmFjZUxheW91
dERpcmVjdGlvbkxlZnRUb1JpZ2h0IDogTlNVc2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uUmln
aHRUb0xlZnRdOwotCisgICAgCiAgICAgTlNNZW51ICptZW51ID0gW21fcG9wdXAuZ2V0KCkgbWVu
dV07Ci0KKyAgICAKICAgICAvLyBUaGVzZSB2YWx1ZXMgd2VyZSBib3Jyb3dlZCBmcm9tIEFwcEtp
dCB0byBtYXRjaCB0aGVpciBwbGFjZW1lbnQgb2YgdGhlIG1lbnUuCiAgICAgY29uc3QgaW50IHBv
cE92ZXJIb3Jpem9udGFsQWRqdXN0ID0gLTEwOwogICAgIE5TUmVjdCB0aXRsZUZyYW1lID0gW21f
cG9wdXAuZ2V0KCkgIHRpdGxlUmVjdEZvckJvdW5kczpyZWN0XTsKQEAgLTExMywyMyArMTE0LDU1
IEBAIHZvaWQgV2ViUG9wdXBNZW51UHJveHlNYWM6OnNob3dQb3B1cE1lbnUoY29uc3QgSW50UmVj
dCYgcmVjdCwgVGV4dERpcmVjdGlvbiB0ZXh0CiAgICAgICAgIHRpdGxlRnJhbWUgPSByZWN0Owog
ICAgIGZsb2F0IHZlcnRPZmZzZXQgPSByb3VuZGYoKE5TTWF4WShyZWN0KSAtIE5TTWF4WSh0aXRs
ZUZyYW1lKSkgKyBOU0hlaWdodCh0aXRsZUZyYW1lKSk7CiAgICAgTlNQb2ludCBsb2NhdGlvbiA9
IE5TTWFrZVBvaW50KE5TTWluWChyZWN0KSArIHBvcE92ZXJIb3Jpem9udGFsQWRqdXN0LCBOU01h
eFkocmVjdCkgLSB2ZXJ0T2Zmc2V0KTsKLQorICAgIAogICAgIFJldGFpblB0cjxOU1ZpZXc+IGR1
bW15VmlldyhBZG9wdE5TLCBbW05TVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpyZWN0XSk7CiAg
ICAgW21fd2ViVmlldyBhZGRTdWJ2aWV3OmR1bW15Vmlldy5nZXQoKV07CiAgICAgbG9jYXRpb24g
PSBbZHVtbXlWaWV3LmdldCgpIGNvbnZlcnRQb2ludDpsb2NhdGlvbiBmcm9tVmlldzptX3dlYlZp
ZXddOwotCisgICAgCiAgICAgV0tQb3B1cE1lbnUobWVudSwgbG9jYXRpb24sIHJvdW5kZihOU1dp
ZHRoKHJlY3QpKSwgZHVtbXlWaWV3LmdldCgpLCBzZWxlY3RlZEluZGV4LCBmb250KTsKLQorICAg
IAogICAgIFttX3BvcHVwLmdldCgpIGRpc21pc3NQb3BVcF07CiAgICAgW2R1bW15Vmlldy5nZXQo
KSByZW1vdmVGcm9tU3VwZXJ2aWV3XTsKLQotICAgIGlmIChtX2NsaWVudCkKLSAgICAgICAgbV9j
bGllbnQtPnZhbHVlQ2hhbmdlZEZvclBvcHVwTWVudSh0aGlzLCBbbV9wb3B1cC5nZXQoKSBpbmRl
eE9mU2VsZWN0ZWRJdGVtXSk7CisgICAgCisgICAgaWYgKCFtX2NsaWVudCkKKyAgICAgICAgcmV0
dXJuOworICAgIAorICAgIG1fY2xpZW50LT52YWx1ZUNoYW5nZWRGb3JQb3B1cE1lbnUodGhpcywg
W21fcG9wdXAuZ2V0KCkgaW5kZXhPZlNlbGVjdGVkSXRlbV0pOworICAgIAorICAgIC8vIDxodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTc5MDQ+IFRoaXMgY29kZSBpcyBh
ZG9wdGVkIGZyb20gRXZlbnRIYW5kbGVyOjpzZW5kRmFrZUV2ZW50c0FmdGVyV2lkZ2V0VHJhY2tp
bmcoKS4KKyAgICBpZiAoIW1fY2xpZW50LT5jdXJyZW50bHlQcm9jZXNzZWRNb3VzZURvd25FdmVu
dCgpKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgTlNFdmVudCogaW5pdGlhdGluZ05TRXZl
bnQgPSBtX2NsaWVudC0+Y3VycmVudGx5UHJvY2Vzc2VkTW91c2VEb3duRXZlbnQoKS0+bmF0aXZl
RXZlbnQoKTsKKyAgICBpZiAoW2luaXRpYXRpbmdOU0V2ZW50IHR5cGVdICE9IE5TTGVmdE1vdXNl
RG93bikKKyAgICAgICAgcmV0dXJuOworICAgIAorICAgIE5TRXZlbnQgKmZha2VFdmVudCA9IFtO
U0V2ZW50IG1vdXNlRXZlbnRXaXRoVHlwZTpOU0xlZnRNb3VzZVVwCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2F0aW9uOltpbml0aWF0aW5nTlNFdmVudCBs
b2NhdGlvbkluV2luZG93XQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bW9kaWZpZXJGbGFnczpbaW5pdGlhdGluZ05TRXZlbnQgbW9kaWZpZXJGbGFnc10KKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lc3RhbXA6W2luaXRpYXRpbmdO
U0V2ZW50IHRpbWVzdGFtcF0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB3aW5kb3dOdW1iZXI6W2luaXRpYXRpbmdOU0V2ZW50IHdpbmRvd051bWJlcl0KKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6W2luaXRpYXRpbmdO
U0V2ZW50IGNvbnRleHRdCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGV2ZW50TnVtYmVyOltpbml0aWF0aW5nTlNFdmVudCBldmVudE51bWJlcl0KKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWNrQ291bnQ6W2luaXRpYXRpbmdOU0V2
ZW50IGNsaWNrQ291bnRdCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHByZXNzdXJlOltpbml0aWF0aW5nTlNFdmVudCBwcmVzc3VyZV1dOworICAgIAorICAgIFtO
U0FwcCBwb3N0RXZlbnQ6ZmFrZUV2ZW50IGF0U3RhcnQ6WUVTXTsKKyAgICBmYWtlRXZlbnQgPSBb
TlNFdmVudCBtb3VzZUV2ZW50V2l0aFR5cGU6TlNNb3VzZU1vdmVkCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGxvY2F0aW9uOltbbV93ZWJWaWV3IHdpbmRvd10gY29udmVydFNj
cmVlblRvQmFzZTpbTlNFdmVudCBtb3VzZUxvY2F0aW9uXV0KKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIG1vZGlmaWVyRmxhZ3M6W2luaXRpYXRpbmdOU0V2ZW50IG1vZGlmaWVyRmxhZ3Nd
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZXN0YW1wOltpbml0aWF0aW5n
TlNFdmVudCB0aW1lc3RhbXBdCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93
TnVtYmVyOltpbml0aWF0aW5nTlNFdmVudCB3aW5kb3dOdW1iZXJdCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb250ZXh0Oltpbml0aWF0aW5nTlNFdmVudCBjb250ZXh0XQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudE51bWJlcjowCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjbGlja0NvdW50OjAKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcHJlc3N1cmU6MF07CisgICAgW05TQXBwIHBvc3RFdmVudDpmYWtlRXZl
bnQgYXRTdGFydDpZRVNdOwogfQogCiB2b2lkIFdlYlBvcHVwTWVudVByb3h5TWFjOjpoaWRlUG9w
dXBNZW51KCkKIHsKICAgICBbbV9wb3B1cC5nZXQoKSBkaXNtaXNzUG9wVXBdOwogfQotCisgICAg
CiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy93aW4vV2ViUG9wdXBNZW51UHJveHlXaW4uY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL3dpbi9XZWJQb3B1cE1lbnVQcm94eVdpbi5jcHAKaW5kZXggZWViZGU3NS4uYThkODA2MyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3dpbi9XZWJQb3B1cE1lbnVQcm94
eVdpbi5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3dpbi9XZWJQb3B1cE1lbnVQ
cm94eVdpbi5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJXZWJQb3B1cE1lbnVQcm94eVdpbi5oIgogCisjaW5jbHVkZSAiTmF0aXZlV2ViTW91c2VF
dmVudC5oIgogI2luY2x1ZGUgIldlYlZpZXcuaCIKICNpbmNsdWRlIDxXZWJDb3JlL1dlYkNvcmVJ
bnN0YW5jZUhhbmRsZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2Nyb2xsYmFyVGhlbWUuaD4KQEAg
LTMyNCw4ICszMjUsMjYgQEAgdm9pZCBXZWJQb3B1cE1lbnVQcm94eVdpbjo6c2hvd1BvcHVwTWVu
dShjb25zdCBJbnRSZWN0JiByZWN0LCBUZXh0RGlyZWN0aW9uLCBkb3UKICAgICBtX3Nob3dQb3B1
cCA9IGZhbHNlOwogICAgIDo6U2hvd1dpbmRvdyhtX3BvcHVwLCBTV19ISURFKTsKIAotICAgIGlm
IChtX2NsaWVudCkKLSAgICAgICAgbV9jbGllbnQtPnZhbHVlQ2hhbmdlZEZvclBvcHVwTWVudSh0
aGlzLCBtX25ld1NlbGVjdGVkSW5kZXgpOworICAgIGlmICghbV9jbGllbnQpCisgICAgICAgIHJl
dHVybjsKKworICAgIG1fY2xpZW50LT52YWx1ZUNoYW5nZWRGb3JQb3B1cE1lbnUodGhpcywgbV9u
ZXdTZWxlY3RlZEluZGV4KTsKKworICAgIC8vIDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NTc5MDQ+IEluIG9yZGVyIHRvIHByb3Blcmx5IGNhbGwgdGhlIG9uQ2xpY2so
KQorICAgIC8vIGhhbmRsZXIgb24gYSA8c2VsZWN0PiBlbGVtZW50LCB3ZSBuZWVkIHRvIGZha2Ug
YSBtb3VzZSB1cCBldmVudCBpbiB0aGUgbWFpbiB3aW5kb3cuCisgICAgLy8gVGhlIG1haW4gd2lu
ZG93IGFscmVhZHkgcmVjZWl2ZWQgdGhlIG1vdXNlIGRvd24sIHdoaWNoIHNob3dlZCB0aGlzIHBv
cHVwLCBidXQgdXBvbgorICAgIC8vIHNlbGVjdGlvbiBvZiBhbiBpdGVtIHRoZSBtb3VzZSB1cCBn
ZXRzIGVhdGVuIGJ5IHRoZSBwb3B1cCBtZW51LiBTbyB3ZSB0YWtlIHRoZSBtb3VzZSBkb3duCisg
ICAgLy8gZXZlbnQsIGNoYW5nZSB0aGUgbWVzc2FnZSB0eXBlIHRvIGEgbW91c2UgdXAgZXZlbnQs
IGFuZCBwb3N0IHRoYXQgaW4gdGhlIG1lc3NhZ2UgcXVldWUuCisgICAgLy8gVGh1cywgd2UgYXJl
IHZpcnR1YWxseSBjbGlja2luZyBhdCB0aGUKKyAgICAvLyBzYW1lIGxvY2F0aW9uIHdoZXJlIHRo
ZSBtb3VzZSBkb3duIGV2ZW50IG9jY3VycmVkLiBUaGlzIGFsbG93cyB0aGUgaGl0IHRlc3QgdG8g
c2VsZWN0CisgICAgLy8gdGhlIGNvcnJlY3QgZWxlbWVudCwgYW5kIHRoZXJlYnkgY2FsbCB0aGUg
b25DbGljaygpIEpTIGhhbmRsZXIuCisgICAgaWYgKCFtX2NsaWVudC0+Y3VycmVudGx5UHJvY2Vz
c2VkTW91c2VEb3duRXZlbnQoKSkKKyAgICAgICAgcmV0dXJuOworICAgICAgICAKKyAgICBjb25z
dCBNU0cqIGluaXRpYXRpbmdXaW5FdmVudCA9IG1fY2xpZW50LT5jdXJyZW50bHlQcm9jZXNzZWRN
b3VzZURvd25FdmVudCgpLT5uYXRpdmVFdmVudCgpOworICAgIE1TRyBmYWtlRXZlbnQgPSAqaW5p
dGlhdGluZ1dpbkV2ZW50OworICAgIGZha2VFdmVudC5tZXNzYWdlID0gV01fTEJVVFRPTlVQOwor
ICAgIDo6UG9zdE1lc3NhZ2UoZmFrZUV2ZW50Lmh3bmQsIGZha2VFdmVudC5tZXNzYWdlLCBmYWtl
RXZlbnQud1BhcmFtLCBmYWtlRXZlbnQubFBhcmFtKTsKIH0KIAogdm9pZCBXZWJQb3B1cE1lbnVQ
cm94eVdpbjo6aGlkZVBvcHVwTWVudSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3Mvd2luL1dlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3dpbi9XZWJW
aWV3LmNwcAppbmRleCA2NjU5MGZmLi4yM2JiYTQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3Mvd2luL1dlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy93aW4vV2ViVmlldy5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJGaW5kSW5kaWNh
dG9yLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk5hdGl2ZVdlYktleWJvYXJk
RXZlbnQuaCIKKyNpbmNsdWRlICJOYXRpdmVXZWJNb3VzZUV2ZW50LmgiCiAjaW5jbHVkZSAiUmVn
aW9uLmgiCiAjaW5jbHVkZSAiUnVuTG9vcC5oIgogI2luY2x1ZGUgIldLQVBJQ2FzdC5oIgpAQCAt
Mzg2LDcgKzM4Nyw3IEBAIHZvaWQgV2ViVmlldzo6d2luZG93QW5jZXN0cnlEaWRDaGFuZ2UoKQog
CiBMUkVTVUxUIFdlYlZpZXc6Om9uTW91c2VFdmVudChIV05EIGhXbmQsIFVJTlQgbWVzc2FnZSwg
V1BBUkFNIHdQYXJhbSwgTFBBUkFNIGxQYXJhbSwgYm9vbCYgaGFuZGxlZCkKIHsKLSAgICBXZWJN
b3VzZUV2ZW50IG1vdXNlRXZlbnQgPSBXZWJFdmVudEZhY3Rvcnk6OmNyZWF0ZVdlYk1vdXNlRXZl
bnQoaFduZCwgbWVzc2FnZSwgd1BhcmFtLCBsUGFyYW0sIG1fd2FzQWN0aXZhdGVkQnlNb3VzZUV2
ZW50KTsKKyAgICBOYXRpdmVXZWJNb3VzZUV2ZW50IG1vdXNlRXZlbnQgPSBOYXRpdmVXZWJNb3Vz
ZUV2ZW50KGhXbmQsIG1lc3NhZ2UsIHdQYXJhbSwgbFBhcmFtLCBtX3dhc0FjdGl2YXRlZEJ5TW91
c2VFdmVudCk7CiAgICAgc2V0V2FzQWN0aXZhdGVkQnlNb3VzZUV2ZW50KGZhbHNlKTsKICAgICAK
ICAgICBzd2l0Y2ggKG1lc3NhZ2UpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYktp
dDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBlMzRlZDZiLi41ZWY5OTcwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
U291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yMzYs
NiArMjM2LDcgQEAKIAkJMUNBOEI5NTQxMjdDODkxNTAwNTc2QzJCIC8qIFdlYkluc3BlY3Rvck1h
Yy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDOEUy
REFEMTI3OEM1QjIwMEJDN0JEMCAvKiBXZWJJbnNwZWN0b3JNYWMubW0gKi87IH07CiAJCTI5Q0Q1
NUFBMTI4RTI5NEYwMDEzM0M4NSAvKiBBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjlDRDU1QTgxMjhFMjk0
RjAwMTMzQzg1IC8qIEFjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0LmggKi87IH07CiAJCTI5Q0Q1
NUFCMTI4RTI5NEYwMDEzM0M4NSAvKiBBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdC5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5Q0Q1NUE5MTI4RTI5
NEYwMDEzM0M4NSAvKiBBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdC5tbSAqLzsgfTsKKwkJMzFF
QTI1RDIxMzRGNzhDMDAwNUIxNDUyIC8qIE5hdGl2ZVdlYk1vdXNlRXZlbnRNYWMubW0gaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUVBMjVEMDEzNEY3OEIy
MDA1QjE0NTIgLyogTmF0aXZlV2ViTW91c2VFdmVudE1hYy5tbSAqLzsgfTsKIAkJMzMwOTM0NDcx
MzE1QjkyMjAwOTdBN0JDIC8qIFdlYkNvb2tpZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzMwOTM0NDMxMzE1
QjkyMjAwOTdBN0JDIC8qIFdlYkNvb2tpZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9
OwogCQkzMzA5MzQ0ODEzMTVCOTIyMDA5N0E3QkMgLyogV2ViQ29va2llTWFuYWdlck1lc3NhZ2Vz
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMzA5MzQ0
NDEzMTVCOTIyMDA5N0E3QkMgLyogV2ViQ29va2llTWFuYWdlck1lc3NhZ2VzLmggKi87IH07CiAJ
CTMzMDkzNDQ5MTMxNUI5MjIwMDk3QTdCQyAvKiBXZWJDb29raWVNYW5hZ2VyUHJveHlNZXNzYWdl
UmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMzMwOTM0NDUxMzE1QjkyMjAwOTdBN0JDIC8qIFdlYkNvb2tpZU1hbmFnZXJQcm94eU1lc3Nh
Z2VSZWNlaXZlci5jcHAgKi87IH07CkBAIC0xMTE2LDYgKzExMTcsOCBAQAogCQkxQ0E4Qjk0NDEy
N0M4ODJBMDA1NzZDMkIgLyogV2ViSW5zcGVjdG9yUHJveHlNZXNzYWdlcy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJJbnNwZWN0b3JQcm94eU1lc3NhZ2VzLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5Q0Q1NUE4MTI4RTI5NEYwMDEzM0M4NSAvKiBBY2Nl
c3NpYmlsaXR5V2ViUGFnZU9iamVjdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkyOUNENTVBOTEyOEUyOTRGMDAxMzNDODUgLyogQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmpl
Y3QubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBBY2Nlc3NpYmls
aXR5V2ViUGFnZU9iamVjdC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFFQTI1
RDAxMzRGNzhCMjAwNUIxNDUyIC8qIE5hdGl2ZVdlYk1vdXNlRXZlbnRNYWMubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBOYXRpdmVXZWJNb3VzZUV2ZW50TWFjLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkzMUVBMjVEMzEzNEY3OEQ2MDA1QjE0NTIgLyogTmF0aXZlV2ViTW91c2VF
dmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOYXRpdmVXZWJNb3VzZUV2
ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMyREJDRjVFMDM3MEFERUUwMEM5
MTc4MyAvKiBXZWJLaXQyUHJlZml4LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFdlYktpdDJQcmVmaXguaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzMwOTM0NDMx
MzE1QjkyMjAwOTdBN0JDIC8qIFdlYkNvb2tpZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViQ29va2llTWFuYWdlck1lc3Nh
Z2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMzMDkzNDQ0MTMx
NUI5MjIwMDk3QTdCQyAvKiBXZWJDb29raWVNYW5hZ2VyTWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ29va2llTWFuYWdlck1lc3NhZ2VzLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMDY5LDYgKzIwNzIsNyBAQAogCQkJCUJDQjBBRUU4MTIy
RjUzRTMwMEIxMzQxRSAvKiBNdXRhYmxlRGljdGlvbmFyeS5jcHAgKi8sCiAJCQkJQkNCMEFFRTcx
MjJGNTNFMzAwQjEzNDFFIC8qIE11dGFibGVEaWN0aW9uYXJ5LmggKi8sCiAJCQkJQzAyQkZGMTUx
MjUxNEZEODAwOUNDQkVBIC8qIE5hdGl2ZVdlYktleWJvYXJkRXZlbnQuaCAqLywKKwkJCQkzMUVB
MjVEMzEzNEY3OEQ2MDA1QjE0NTIgLyogTmF0aXZlV2ViTW91c2VFdmVudC5oICovLAogCQkJCUJD
Q0Y2NzMyMTJDN0YxNUMwMDhGOUMzNSAvKiBPcmlnaW5BbmREYXRhYmFzZXMuY3BwICovLAogCQkJ
CUJDQ0Y2NzJDMTJDN0VERjcwMDhGOUMzNSAvKiBPcmlnaW5BbmREYXRhYmFzZXMuaCAqLywKIAkJ
CQlCQ0M0M0FCODEyN0I5NURDMDAzMTdGMTYgLyogUGxhdGZvcm1Qb3B1cE1lbnVEYXRhLmNwcCAq
LywKQEAgLTI3NzUsNiArMjc3OSw3IEBACiAJCQkJMUE5NjM5RjUxMkYzOEVDRDAwNzhBMDYyIC8q
IENvcmVBbmltYXRpb25SZW5kZXJlci5oICovLAogCQkJCTFBOTYzOUY2MTJGMzhFQ0QwMDc4QTA2
MiAvKiBDb3JlQW5pbWF0aW9uUmVuZGVyZXIubW0gKi8sCiAJCQkJMUE5MkRDMTIxMkY4QkFCOTAw
MTdBRjY1IC8qIExheWVyVHJlZUNvbnRleHRNYWMubW0gKi8sCisJCQkJMzFFQTI1RDAxMzRGNzhC
MjAwNUIxNDUyIC8qIE5hdGl2ZVdlYk1vdXNlRXZlbnRNYWMubW0gKi8sCiAJCQkJQzAyQkZGMUQx
MjUxNTAyRTAwOUNDQkVBIC8qIE5hdGl2ZVdlYktleWJvYXJkRXZlbnRNYWMubW0gKi8sCiAJCQkJ
QzU3NEE1N0YxMkU2NjY4MTAwMkRGRTk4IC8qIFBhc3RlYm9hcmRUeXBlcy5oICovLAogCQkJCUM1
NzRBNTgwMTJFNjY2ODEwMDJERkU5OCAvKiBQYXN0ZWJvYXJkVHlwZXMubW0gKi8sCkBAIC00MzA3
LDYgKzQzMTIsNyBAQAogCQkJCTUxODM0NTkyMTM0NTMyRTkwMDkyQjY5NiAvKiBXZWJJY29uRGF0
YWJhc2VDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTFBMzE3MzUxMzRDRUE4MDAwN0M5
QTRGIC8qIEF0dHJpYnV0ZWRTdHJpbmcubW0gaW4gU291cmNlcyAqLywKIAkJCQlFMTc5RkQ5RjEz
NEQzODI1MDAxNUI4ODMgLyogQXJndW1lbnRDb2RlcnNNYWMubW0gaW4gU291cmNlcyAqLywKKwkJ
CQkzMUVBMjVEMjEzNEY3OEMwMDA1QjE0NTIgLyogTmF0aXZlV2ViTW91c2VFdmVudE1hYy5tbSBp
biBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Np
bmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIudmNw
cm9qIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIudmNwcm9qCmluZGV4IDk4MmFkOTcuLjIy
YzQzMGMgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJvagorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2oKQEAgLTQ4Myw2ICs0ODMsMTAgQEAK
IAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cU2hhcmVk
XE5hdGl2ZVdlYk1vdXNlRXZlbnQuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cU2hhcmVkXE9yaWdpbkFuZERhdGFiYXNlcy5jcHAiCiAJCQkJPgog
CQkJPC9GaWxlPgpAQCAtMTE5NCw2ICsxMTk4LDY0IEBACiAJCQkJCT4KIAkJCQk8L0ZpbGU+CiAJ
CQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxTaGFyZWRcd2luXE5hdGl2ZVdlYk1vdXNl
RXZlbnRXaW4uY3BwIgorCQkJCQk+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFt
ZT0iRGVidWd8V2luMzIiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xD
b21waWxlclRvb2wiCisJCQkJCQkJT2JqZWN0RmlsZT0iJChJbnREaXIpXCQoSW5wdXROYW1lKTEu
b2JqIgorCQkJCQkJCVhNTERvY3VtZW50YXRpb25GaWxlTmFtZT0iJChJbnREaXIpXCQoSW5wdXRO
YW1lKTEueGRjIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZp
bGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQkJPgorCQkJ
CQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJCU9iamVjdEZp
bGU9IiQoSW50RGlyKVwkKElucHV0TmFtZSkxLm9iaiIKKwkJCQkJCQlYTUxEb2N1bWVudGF0aW9u
RmlsZU5hbWU9IiQoSW50RGlyKVwkKElucHV0TmFtZSkxLnhkYyIKKwkJCQkJCS8+CisJCQkJCTwv
RmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0i
RGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlO
YW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJCU9iamVjdEZpbGU9IiQoSW50RGlyKVwkKElu
cHV0TmFtZSkxLm9iaiIKKwkJCQkJCQlYTUxEb2N1bWVudGF0aW9uRmlsZU5hbWU9IiQoSW50RGly
KVwkKElucHV0TmFtZSkxLnhkYyIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxp
dGV8V2luMzIiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxl
clRvb2wiCisJCQkJCQkJT2JqZWN0RmlsZT0iJChJbnREaXIpXCQoSW5wdXROYW1lKTEub2JqIgor
CQkJCQkJCVhNTERvY3VtZW50YXRpb25GaWxlTmFtZT0iJChJbnREaXIpXCQoSW5wdXROYW1lKTEu
eGRjIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25m
aWd1cmF0aW9uCisJCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJCQk+CisJCQkJCQk8
VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkJT2JqZWN0RmlsZT0i
JChJbnREaXIpXCQoSW5wdXROYW1lKTEub2JqIgorCQkJCQkJCVhNTERvY3VtZW50YXRpb25GaWxl
TmFtZT0iJChJbnREaXIpXCQoSW5wdXROYW1lKTEueGRjIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJQcm9k
dWN0aW9ufFdpbjMyIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29t
cGlsZXJUb29sIgorCQkJCQkJCU9iamVjdEZpbGU9IiQoSW50RGlyKVwkKElucHV0TmFtZSkxLm9i
aiIKKwkJCQkJCQlYTUxEb2N1bWVudGF0aW9uRmlsZU5hbWU9IiQoSW50RGlyKVwkKElucHV0TmFt
ZSkxLnhkYyIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPC9GaWxl
PgorCQkJCTxGaWxlCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5cU2hhcmVkXHdpblxQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mby5jcHAiCiAJCQkJCT4KIAkJCQk8L0ZpbGU+Ci0tIAoxLjcuMy40Cgo=
</data>
<flag name="review"
          id="81708"
          type_id="1"
          status="-"
          setter="andersca"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89107</attachid>
            <date>2011-04-11 15:48:05 -0700</date>
            <delta_ts>2011-04-15 14:14:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-onClick-does-not-function-with-select-elements-in-We.patch</filename>
            <type>text/plain</type>
            <size>32278</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">RnJvbSA0MDIwMjFhZWY3ZmNiMDlmNjA5MDc4ZjI3ZDYzZGJlZjY5YjI2MzExIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb24gTGVlIDxqb25sZWVAYXBwbGUuY29tPgpEYXRlOiBNb24s
IDExIEFwciAyMDExIDE1OjM5OjA1IC0wNzAwClN1YmplY3Q6IFtQQVRDSF0gb25DbGljayBkb2Vz
IG5vdCBmdW5jdGlvbiB3aXRoIDxzZWxlY3Q+IGVsZW1lbnRzIGluIFdlYktpdDIKIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NzkwNAogPHJkYXI6Ly9wcm9ibGVtLzky
MTc3NTc+CgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiogU2hhcmVkL05hdGl2ZVdlYk1v
dXNlRXZlbnQuaDogQ29waWVkIGZyb20gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBvcHVw
TWVudVByb3h5LmguCihXZWJLaXQ6Ok5hdGl2ZVdlYk1vdXNlRXZlbnQ6Om5hdGl2ZUV2ZW50KToK
KiBTaGFyZWQvbWFjL05hdGl2ZVdlYk1vdXNlRXZlbnRNYWMubW06IEFkZGVkLgooV2ViS2l0OjpO
YXRpdmVXZWJNb3VzZUV2ZW50OjpOYXRpdmVXZWJNb3VzZUV2ZW50KToKKiBTaGFyZWQvd2luL05h
dGl2ZVdlYk1vdXNlRXZlbnRXaW4uY3BwOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUG9wdXBNZW51UHJveHkuaC4KKFdlYktpdDo6TmF0aXZlV2ViTW91c2VFdmVudDo6
TmF0aXZlV2ViTW91c2VFdmVudCk6CiogVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tOgooLVtX
S1ZpZXcgX21vdXNlSGFuZGxlcjpdKTogUHJlLWNvbXBpbGVyIG1vdXNlIGhhbmRsZXIgY2FsbHMg
bmVlZCB0byB1c2UgdGhlIG5ldyBOYXRpdmVXZWJNb3VzZUV2ZW50IGNsYXNzCiogVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHA6CihXZWJLaXQ6OldlYlBhZ2VQcm94eTo6aGFuZGxlTW91c2VFdmVu
dCk6IGtlZXAgdHJhY2sgb2YgbW91c2UgZG93biBldmVudCBpbiBvcmRlciB0byBiZSBhYmxlIHRv
IHNlbmQgYSBmYWtlIG1vdXNlIHVwIGV2ZW50IG9uIHRoZSBzZWxlY3QgZWxlbWVudAooV2ViS2l0
OjpXZWJQYWdlUHJveHk6OmN1cnJlbnRNb3VzZURvd25FdmVudCk6IGZvciBhY2Nlc3MgYnkgdGhl
IHBvcHVwIG1lbnUgcHJveHkgdG8gZGlzcGF0Y2ggdGhlIGZha2UgbW91c2UgdXAgZXZlbnQKKFdl
YktpdDo6V2ViUGFnZVByb3h5OjpkaWRSZWNlaXZlRXZlbnQpOiBjbGVhciBvdXQgdGhlIGNhY2hl
ZCBtb3VzZSBkb3duIGV2ZW50CihXZWJLaXQ6OldlYlBhZ2VQcm94eTo6cHJvY2Vzc0RpZENyYXNo
KTogY2xlYXIgb3V0IHRoZSBjYWNoZWQgZXZlbnRzIHNpbmNlIHdlIGFzc3VtZSB0aGF0IGRpZFJl
Y2VpdmVFdmVudCBkaWQgbm90IGNhbGxlZCBwcmlvciB0byB0aGUgY3Jhc2gKKiBVSVByb2Nlc3Mv
V2ViUGFnZVByb3h5Lmg6CiogVUlQcm9jZXNzL1dlYlBvcHVwTWVudVByb3h5Lmg6CiogVUlQcm9j
ZXNzL21hYy9XZWJQb3B1cE1lbnVQcm94eU1hYy5tbToKKFdlYktpdDo6V2ViUG9wdXBNZW51UHJv
eHlNYWM6OnNob3dQb3B1cE1lbnUpOiBhZnRlciBub3RpZnlpbmcgdGhlIHBvcHVwIG1lbnUgY2xp
ZW50IHRoYXQgdGhlIHZhbHVlIGNoYW5nZWQsIGZha2UgbW91c2UgdXAgYW5kIG1vdXNlIG1vdmUg
ZXZlbnRzIGFyZSBwb3N0ZWQKKiBVSVByb2Nlc3Mvd2luL1dlYlBvcHVwTWVudVByb3h5V2luLmNw
cDoKKFdlYktpdDo6V2ViUG9wdXBNZW51UHJveHlXaW46OnNob3dQb3B1cE1lbnUpOiBhZnRlciBu
b3RpZnlpbmcgdGhlIHBvcHVwIG1lbnUgY2xpZW50IHRoYXQgdGhlIHZhbHVlIGNoYW5nZWQsIGZh
a2UgbW91c2UgdXAgYW5kIG1vdXNlIG1vdmUgZXZlbnRzIGFyZSBwb3N0ZWQKKiBVSVByb2Nlc3Mv
d2luL1dlYlZpZXcuY3BwOgooV2ViS2l0OjpXZWJWaWV3Ojpvbk1vdXNlRXZlbnQpOgoqIFdlYktp
dDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKiB3aW4vV2ViS2l0Mi52Y3Byb2o6Ci0tLQog
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDMy
ICsrKysrKysrKysKIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9OYXRpdmVXZWJNb3VzZUV2ZW50Lmgg
ICAgICAgIHwgICA2MiArKysrKysrKysrKysrKysrKysrKwogLi4uL1dlYktpdDIvU2hhcmVkL21h
Yy9OYXRpdmVXZWJNb3VzZUV2ZW50TWFjLm1tICAgfCAgIDM5ICsrKysrKysrKysrKwogLi4uL1dl
YktpdDIvU2hhcmVkL3dpbi9OYXRpdmVXZWJNb3VzZUV2ZW50V2luLmNwcCAgfCAgIDQzICsrKysr
KysrKysrKysrCiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0gICAg
ICAgICB8ICAgMzYgKysrKysrKy0tLS0KIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwICAgICAgICAgIHwgICAyNCArKysrKysrLQogU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oICAgICAgICAgICAgfCAgICA3ICsrLQogU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlBvcHVwTWVudVByb3h5LmggICAgICAgfCAgICAyICsKIC4uLi9XZWJLaXQy
L1VJUHJvY2Vzcy9tYWMvV2ViUG9wdXBNZW51UHJveHlNYWMubW0gIHwgICAzOSArKysrKysrKysr
Ky0KIC4uLi9XZWJLaXQyL1VJUHJvY2Vzcy93aW4vV2ViUG9wdXBNZW51UHJveHlXaW4uY3BwIHwg
ICAyMyArKysrKysrLQogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3dpbi9XZWJWaWV3LmNwcCAg
ICAgICAgICAgfCAgICAzICstCiBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2ogICB8ICAgIDYgKysKIFNvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJv
aiAgICAgICAgICAgICAgICAgIHwgICA2MiArKysrKysrKysrKysrKysrKysrKwogMTMgZmlsZXMg
Y2hhbmdlZCwgMzU0IGluc2VydGlvbnMoKyksIDI0IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUg
MTAwNjQ0IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9OYXRpdmVXZWJNb3VzZUV2ZW50LmgKIGNyZWF0
ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL05hdGl2ZVdlYk1vdXNlRXZl
bnRNYWMubW0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvd2luL05h
dGl2ZVdlYk1vdXNlRXZlbnRXaW4uY3BwCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGJjZmZiZjEuLmI0ZTJhNTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNSBAQAorMjAxMS0wNC0xMSAgSm9uIExlZSAgPGpvbmxl
ZUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgb25DbGljayBkb2VzIG5vdCBmdW5jdGlvbiB3aXRoIDxzZWxlY3Q+IGVsZW1lbnRzIGlu
IFdlYktpdDIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTU3OTA0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS85MjE3NzU3PgorCisgICAgICAgICogU2hh
cmVkL05hdGl2ZVdlYk1vdXNlRXZlbnQuaDogQ29waWVkIGZyb20gU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBvcHVwTWVudVByb3h5LmguCisgICAgICAgIChXZWJLaXQ6Ok5hdGl2ZVdlYk1v
dXNlRXZlbnQ6Om5hdGl2ZUV2ZW50KToKKyAgICAgICAgKiBTaGFyZWQvbWFjL05hdGl2ZVdlYk1v
dXNlRXZlbnRNYWMubW06IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpOYXRpdmVXZWJNb3VzZUV2
ZW50OjpOYXRpdmVXZWJNb3VzZUV2ZW50KToKKyAgICAgICAgKiBTaGFyZWQvd2luL05hdGl2ZVdl
Yk1vdXNlRXZlbnRXaW4uY3BwOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUG9wdXBNZW51UHJveHkuaC4KKyAgICAgICAgKFdlYktpdDo6TmF0aXZlV2ViTW91c2VFdmVu
dDo6TmF0aXZlV2ViTW91c2VFdmVudCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9tYWMvV0tW
aWV3Lm1tOgorICAgICAgICAoLVtXS1ZpZXcgX21vdXNlSGFuZGxlcjpdKTogUHJlLWNvbXBpbGVy
IG1vdXNlIGhhbmRsZXIgY2FsbHMgbmVlZCB0byB1c2UgdGhlIG5ldyBOYXRpdmVXZWJNb3VzZUV2
ZW50IGNsYXNzCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6aGFuZGxlTW91c2VFdmVudCk6IGtlZXAgdHJhY2sgb2Yg
bW91c2UgZG93biBldmVudCBpbiBvcmRlciB0byBiZSBhYmxlIHRvIHNlbmQgYSBmYWtlIG1vdXNl
IHVwIGV2ZW50IG9uIHRoZSBzZWxlY3QgZWxlbWVudAorICAgICAgICAoV2ViS2l0OjpXZWJQYWdl
UHJveHk6OmN1cnJlbnRNb3VzZURvd25FdmVudCk6IGZvciBhY2Nlc3MgYnkgdGhlIHBvcHVwIG1l
bnUgcHJveHkgdG8gZGlzcGF0Y2ggdGhlIGZha2UgbW91c2UgdXAgZXZlbnQKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZVByb3h5OjpkaWRSZWNlaXZlRXZlbnQpOiBjbGVhciBvdXQgdGhlIGNhY2hl
ZCBtb3VzZSBkb3duIGV2ZW50CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6cHJvY2Vz
c0RpZENyYXNoKTogY2xlYXIgb3V0IHRoZSBjYWNoZWQgZXZlbnRzIHNpbmNlIHdlIGFzc3VtZSB0
aGF0IGRpZFJlY2VpdmVFdmVudCBkaWQgbm90IGNhbGxlZCBwcmlvciB0byB0aGUgY3Jhc2gKKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dl
YlBvcHVwTWVudVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9XZWJQb3B1cE1lbnVQ
cm94eU1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUG9wdXBNZW51UHJveHlNYWM6OnNob3dQ
b3B1cE1lbnUpOiBhZnRlciBub3RpZnlpbmcgdGhlIHBvcHVwIG1lbnUgY2xpZW50IHRoYXQgdGhl
IHZhbHVlIGNoYW5nZWQsIGZha2UgbW91c2UgdXAgYW5kIG1vdXNlIG1vdmUgZXZlbnRzIGFyZSBw
b3N0ZWQKKyAgICAgICAgKiBVSVByb2Nlc3Mvd2luL1dlYlBvcHVwTWVudVByb3h5V2luLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViUG9wdXBNZW51UHJveHlXaW46OnNob3dQb3B1cE1lbnUpOiBh
ZnRlciBub3RpZnlpbmcgdGhlIHBvcHVwIG1lbnUgY2xpZW50IHRoYXQgdGhlIHZhbHVlIGNoYW5n
ZWQsIGZha2UgbW91c2UgdXAgYW5kIG1vdXNlIG1vdmUgZXZlbnRzIGFyZSBwb3N0ZWQKKyAgICAg
ICAgKiBVSVByb2Nlc3Mvd2luL1dlYlZpZXcuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3
Ojpvbk1vdXNlRXZlbnQpOgorICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvajoKKyAgICAgICAgKiB3aW4vV2ViS2l0Mi52Y3Byb2o6CisKIDIwMTEtMDQtMTEgIEFsZXhl
eSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTWFj
aWVqIFN0YWNob3dpYWsuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvTmF0aXZl
V2ViTW91c2VFdmVudC5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL05hdGl2ZVdlYk1vdXNlRXZl
bnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NTIzMDM2Ci0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL05hdGl2ZVdlYk1vdXNlRXZlbnQuaApA
QCAtMCwwICsxLDYyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBOYXRpdmVXZWJNb3VzZUV2ZW50
X2gKKyNkZWZpbmUgTmF0aXZlV2ViTW91c2VFdmVudF9oCisKKyNpbmNsdWRlICJXZWJFdmVudC5o
IgorCisjaWYgUExBVEZPUk0oTUFDKQorI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KK09CSkNf
Q0xBU1MgTlNWaWV3OworI2VuZGlmCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBOYXRp
dmVXZWJNb3VzZUV2ZW50IDogcHVibGljIFdlYk1vdXNlRXZlbnQgeworcHVibGljOgorI2lmIFBM
QVRGT1JNKE1BQykKKyAgICBOYXRpdmVXZWJNb3VzZUV2ZW50KE5TRXZlbnQgKiwgTlNWaWV3ICop
OworI2VsaWYgUExBVEZPUk0oV0lOKQorICAgIE5hdGl2ZVdlYk1vdXNlRXZlbnQoSFdORCwgVUlO
VCBtZXNzYWdlLCBXUEFSQU0sIExQQVJBTSwgYm9vbCk7CisjZW5kaWYKKworI2lmIFBMQVRGT1JN
KE1BQykKKyAgICBOU0V2ZW50KiBuYXRpdmVFdmVudCgpIGNvbnN0IHsgcmV0dXJuIG1fbmF0aXZl
RXZlbnQuZ2V0KCk7IH0KKyNlbGlmIFBMQVRGT1JNKFdJTikKKyAgICBjb25zdCBNU0cqIG5hdGl2
ZUV2ZW50KCkgY29uc3QgeyByZXR1cm4gJm1fbmF0aXZlRXZlbnQ7IH0KKyNlbmRpZgorCitwcml2
YXRlOgorI2lmIFBMQVRGT1JNKE1BQykKKyAgICBSZXRhaW5QdHI8TlNFdmVudD4gbV9uYXRpdmVF
dmVudDsKKyNlbGlmIFBMQVRGT1JNKFdJTikKKyAgICBNU0cgbV9uYXRpdmVFdmVudDsKKyNlbmRp
ZgorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBOYXRpdmVXZWJNb3Vz
ZUV2ZW50X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvTmF0aXZlV2Vi
TW91c2VFdmVudE1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvTmF0aXZlV2ViTW91
c2VFdmVudE1hYy5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNzA2NGEz
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9OYXRpdmVXZWJN
b3VzZUV2ZW50TWFjLm1tCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJj
b25maWcuaCIKKyNpbXBvcnQgIk5hdGl2ZVdlYk1vdXNlRXZlbnQuaCIKKworI2ltcG9ydCAiV2Vi
RXZlbnRGYWN0b3J5LmgiCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitOYXRpdmVXZWJNb3VzZUV2
ZW50OjpOYXRpdmVXZWJNb3VzZUV2ZW50KE5TRXZlbnQqIGV2ZW50LCBOU1ZpZXcqIHZpZXcpCisg
ICAgOiBXZWJNb3VzZUV2ZW50KFdlYkV2ZW50RmFjdG9yeTo6Y3JlYXRlV2ViTW91c2VFdmVudChl
dmVudCwgdmlldykpCisgICAgLCBtX25hdGl2ZUV2ZW50KGV2ZW50KQoreworfQorCit9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC93aW4vTmF0
aXZlV2ViTW91c2VFdmVudFdpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvd2luL05hdGl2
ZVdlYk1vdXNlRXZlbnRXaW4uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LjViODNkYzYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvd2luL05h
dGl2ZVdlYk1vdXNlRXZlbnRXaW4uY3BwCkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTmF0aXZlV2ViTW91c2VFdmVudC5oIgorCisj
aW5jbHVkZSAiV2ViRXZlbnRGYWN0b3J5LmgiCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitOYXRp
dmVXZWJNb3VzZUV2ZW50OjpOYXRpdmVXZWJNb3VzZUV2ZW50KEhXTkQgaHduZCwgVUlOVCBtZXNz
YWdlLCBXUEFSQU0gd1BhcmFtLCBMUEFSQU0gbFBhcmFtLCBib29sIGRpZEFjdGl2YXRlV2ViVmll
dykKKyAgICA6IFdlYk1vdXNlRXZlbnQoV2ViRXZlbnRGYWN0b3J5OjpjcmVhdGVXZWJNb3VzZUV2
ZW50KGh3bmQsIG1lc3NhZ2UsIHdQYXJhbSwgbFBhcmFtLCBkaWRBY3RpdmF0ZVdlYlZpZXcpKQor
ICAgICwgbV9uYXRpdmVFdmVudCgpCit7CisgICAgbV9uYXRpdmVFdmVudC5od25kID0gaHduZDsK
KyAgICBtX25hdGl2ZUV2ZW50Lm1lc3NhZ2UgPSBtZXNzYWdlOworICAgIG1fbmF0aXZlRXZlbnQu
d1BhcmFtID0gd1BhcmFtOworICAgIG1fbmF0aXZlRXZlbnQubFBhcmFtID0gbFBhcmFtOworfQor
Cit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvbWFjL1dLVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFj
L1dLVmlldy5tbQppbmRleCBkMmY0YmZhLi40MWEwZWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tCkBAIC0zNSw2ICszNSw3IEBACiAjaW1wb3J0ICJMYXll
clRyZWVDb250ZXh0LmgiCiAjaW1wb3J0ICJMb2dnaW5nLmgiCiAjaW1wb3J0ICJOYXRpdmVXZWJL
ZXlib2FyZEV2ZW50LmgiCisjaW1wb3J0ICJOYXRpdmVXZWJNb3VzZUV2ZW50LmgiCiAjaW1wb3J0
ICJQREZWaWV3Q29udHJvbGxlci5oIgogI2ltcG9ydCAiUGFnZUNsaWVudEltcGwuaCIKICNpbXBv
cnQgIlBhc3RlYm9hcmRUeXBlcy5oIgpAQCAtOTM0LDYgKzkzNSwyNyBAQCBzdGF0aWMgdm9pZCBz
cGVha1N0cmluZyhXS1N0cmluZ1JlZiBzdHJpbmcsIFdLRXJyb3JSZWYgZXJyb3IsIHZvaWQqKQog
ICAgIF9kYXRhLT5fbW91c2VEb3duRXZlbnQgPSBbZXZlbnQgcmV0YWluXTsKIH0KIAorI2RlZmlu
ZSBOQVRJVkVfTU9VU0VfRVZFTlRfSEFORExFUihTZWxlY3RvcikgXAorICAgIC0gKHZvaWQpU2Vs
ZWN0b3I6KE5TRXZlbnQgKil0aGVFdmVudCBcCisgICAgeyBcCisgICAgICAgIE5hdGl2ZVdlYk1v
dXNlRXZlbnQgd2ViRXZlbnQodGhlRXZlbnQsIHNlbGYpOyBcCisgICAgICAgIF9kYXRhLT5fcGFn
ZS0+aGFuZGxlTW91c2VFdmVudCh3ZWJFdmVudCk7IFwKKyAgICB9CisKK05BVElWRV9NT1VTRV9F
VkVOVF9IQU5ETEVSKG1vdXNlRW50ZXJlZCkKK05BVElWRV9NT1VTRV9FVkVOVF9IQU5ETEVSKG1v
dXNlRXhpdGVkKQorTkFUSVZFX01PVVNFX0VWRU5UX0hBTkRMRVIobW91c2VNb3ZlZCkKK05BVElW
RV9NT1VTRV9FVkVOVF9IQU5ETEVSKG90aGVyTW91c2VEb3duKQorTkFUSVZFX01PVVNFX0VWRU5U
X0hBTkRMRVIob3RoZXJNb3VzZURyYWdnZWQpCitOQVRJVkVfTU9VU0VfRVZFTlRfSEFORExFUihv
dGhlck1vdXNlTW92ZWQpCitOQVRJVkVfTU9VU0VfRVZFTlRfSEFORExFUihvdGhlck1vdXNlVXAp
CitOQVRJVkVfTU9VU0VfRVZFTlRfSEFORExFUihyaWdodE1vdXNlRG93bikKK05BVElWRV9NT1VT
RV9FVkVOVF9IQU5ETEVSKHJpZ2h0TW91c2VEcmFnZ2VkKQorTkFUSVZFX01PVVNFX0VWRU5UX0hB
TkRMRVIocmlnaHRNb3VzZU1vdmVkKQorTkFUSVZFX01PVVNFX0VWRU5UX0hBTkRMRVIocmlnaHRN
b3VzZVVwKQorCisjdW5kZWYgTkFUSVZFX01PVVNFX0VWRU5UX0hBTkRMRVIKKwogI2RlZmluZSBF
VkVOVF9IQU5ETEVSKFNlbGVjdG9yLCBUeXBlKSBcCiAgICAgLSAodm9pZClTZWxlY3RvcjooTlNF
dmVudCAqKXRoZUV2ZW50IFwKICAgICB7IFwKQEAgLTk0MSwxNyArOTYzLDYgQEAgc3RhdGljIHZv
aWQgc3BlYWtTdHJpbmcoV0tTdHJpbmdSZWYgc3RyaW5nLCBXS0Vycm9yUmVmIGVycm9yLCB2b2lk
KikKICAgICAgICAgX2RhdGEtPl9wYWdlLT5oYW5kbGUjI1R5cGUjI0V2ZW50KHdlYkV2ZW50KTsg
XAogICAgIH0KIAotRVZFTlRfSEFORExFUihtb3VzZUVudGVyZWQsIE1vdXNlKQotRVZFTlRfSEFO
RExFUihtb3VzZUV4aXRlZCwgTW91c2UpCi1FVkVOVF9IQU5ETEVSKG1vdXNlTW92ZWQsIE1vdXNl
KQotRVZFTlRfSEFORExFUihvdGhlck1vdXNlRG93biwgTW91c2UpCi1FVkVOVF9IQU5ETEVSKG90
aGVyTW91c2VEcmFnZ2VkLCBNb3VzZSkKLUVWRU5UX0hBTkRMRVIob3RoZXJNb3VzZU1vdmVkLCBN
b3VzZSkKLUVWRU5UX0hBTkRMRVIob3RoZXJNb3VzZVVwLCBNb3VzZSkKLUVWRU5UX0hBTkRMRVIo
cmlnaHRNb3VzZURvd24sIE1vdXNlKQotRVZFTlRfSEFORExFUihyaWdodE1vdXNlRHJhZ2dlZCwg
TW91c2UpCi1FVkVOVF9IQU5ETEVSKHJpZ2h0TW91c2VNb3ZlZCwgTW91c2UpCi1FVkVOVF9IQU5E
TEVSKHJpZ2h0TW91c2VVcCwgTW91c2UpCiBFVkVOVF9IQU5ETEVSKHNjcm9sbFdoZWVsLCBXaGVl
bCkKIAogI3VuZGVmIEVWRU5UX0hBTkRMRVIKQEAgLTk2MSw4ICs5NzIsNyBAQCBFVkVOVF9IQU5E
TEVSKHNjcm9sbFdoZWVsLCBXaGVlbCkKICAgICBOU0lucHV0TWFuYWdlciAqY3VycmVudElucHV0
TWFuYWdlciA9IFtOU0lucHV0TWFuYWdlciBjdXJyZW50SW5wdXRNYW5hZ2VyXTsKICAgICBpZiAo
W2N1cnJlbnRJbnB1dE1hbmFnZXIgd2FudHNUb0hhbmRsZU1vdXNlRXZlbnRzXSAmJiBbY3VycmVu
dElucHV0TWFuYWdlciBoYW5kbGVNb3VzZUV2ZW50OmV2ZW50XSkKICAgICAgICAgcmV0dXJuOwot
ICAgIFdlYk1vdXNlRXZlbnQgd2ViRXZlbnQgPSBXZWJFdmVudEZhY3Rvcnk6OmNyZWF0ZVdlYk1v
dXNlRXZlbnQoZXZlbnQsIHNlbGYpOwotICAgIF9kYXRhLT5fcGFnZS0+aGFuZGxlTW91c2VFdmVu
dCh3ZWJFdmVudCk7CisgICAgX2RhdGEtPl9wYWdlLT5oYW5kbGVNb3VzZUV2ZW50KE5hdGl2ZVdl
Yk1vdXNlRXZlbnQoZXZlbnQsIHNlbGYpKTsKIH0KIAogLSAodm9pZCltb3VzZURvd246KE5TRXZl
bnQgKilldmVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRl
eCA2YjIxMGQzLi5kNDZmNTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIkZpbmRJbmRpY2F0b3IuaCIKICNp
bmNsdWRlICJNZXNzYWdlSUQuaCIKICNpbmNsdWRlICJOYXRpdmVXZWJLZXlib2FyZEV2ZW50Lmgi
CisjaW5jbHVkZSAiTmF0aXZlV2ViTW91c2VFdmVudC5oIgogI2luY2x1ZGUgIlBhZ2VDbGllbnQu
aCIKICNpbmNsdWRlICJQcmludEluZm8uaCIKICNpbmNsdWRlICJTZXNzaW9uU3RhdGUuaCIKQEAg
LTgxMSw3ICs4MTIsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZHJhZ0VuZGVkKGNvbnN0IFdlYkNv
cmU6OkludFBvaW50JiBjbGllbnRQb3NpdGlvbiwgY29uc3QgV2ViQwogICAgIHByb2Nlc3MoKS0+
c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6RHJhZ0VuZGVkKGNsaWVudFBvc2l0aW9uLCBnbG9iYWxQ
b3NpdGlvbiwgb3BlcmF0aW9uKSwgbV9wYWdlSUQpOwogfQogCi12b2lkIFdlYlBhZ2VQcm94eTo6
aGFuZGxlTW91c2VFdmVudChjb25zdCBXZWJNb3VzZUV2ZW50JiBldmVudCkKK3ZvaWQgV2ViUGFn
ZVByb3h5OjpoYW5kbGVNb3VzZUV2ZW50KGNvbnN0IE5hdGl2ZVdlYk1vdXNlRXZlbnQmIGV2ZW50
KQogewogICAgIGlmICghaXNWYWxpZCgpKQogICAgICAgICByZXR1cm47CkBAIC04MjEsMTMgKzgy
MiwyMCBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6aGFuZGxlTW91c2VFdmVudChjb25zdCBXZWJNb3Vz
ZUV2ZW50JiBldmVudCkKICAgICAgICAgcHJvY2VzcygpLT5yZXNwb25zaXZlbmVzc1RpbWVyKCkt
PnN0YXJ0KCk7CiAgICAgZWxzZSB7CiAgICAgICAgIGlmIChtX3Byb2Nlc3NpbmdNb3VzZU1vdmVF
dmVudCkgewotICAgICAgICAgICAgbV9uZXh0TW91c2VNb3ZlRXZlbnQgPSBhZG9wdFB0cihuZXcg
V2ViTW91c2VFdmVudChldmVudCkpOworICAgICAgICAgICAgbV9uZXh0TW91c2VNb3ZlRXZlbnQg
PSBhZG9wdFB0cihuZXcgTmF0aXZlV2ViTW91c2VFdmVudChldmVudCkpOwogICAgICAgICAgICAg
cmV0dXJuOwogICAgICAgICB9CiAKICAgICAgICAgbV9wcm9jZXNzaW5nTW91c2VNb3ZlRXZlbnQg
PSB0cnVlOwogICAgIH0KIAorICAgIC8vIDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NTc5MDQ+IFdlIG5lZWQgdG8ga2VlcCB0cmFjayBvZiB0aGUgbW91c2UgZG93biBl
dmVudCBpbiB0aGUgY2FzZSB3aGVyZSB3ZQorICAgIC8vIGRpc3BsYXkgYSBwb3B1cCBtZW51IGZv
ciBzZWxlY3QgZWxlbWVudHMuIFdoZW4gdGhlIHVzZXIgY2hhbmdlcyB0aGUgc2VsZWN0ZWQgaXRl
bSwKKyAgICAvLyB3ZSBmYWtlIGEgbW91c2UgdXAgZXZlbnQgYnkgdXNpbmcgdGhpcyBzdG9yZWQg
ZG93biBldmVudC4gVGhpcyBldmVudCBnZXRzIGNsZWFyZWQKKyAgICAvLyB3aGVuIHRoZSBtb3Vz
ZSB1cCBtZXNzYWdlIGlzIHJlY2VpdmVkIGZyb20gV2ViUHJvY2Vzcy4KKyAgICBpZiAoZXZlbnQu
dHlwZSgpID09IFdlYkV2ZW50OjpNb3VzZURvd24pCisgICAgICAgIG1fY3VycmVudGx5UHJvY2Vz
c2VkTW91c2VEb3duRXZlbnQgPSBhZG9wdFB0cihuZXcgTmF0aXZlV2ViTW91c2VFdmVudChldmVu
dCkpOworCiAgICAgcHJvY2VzcygpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpNb3VzZUV2ZW50
KGV2ZW50KSwgbV9wYWdlSUQpOwogfQogCkBAIC0yMjA3LDYgKzIyMTUsMTEgQEAgdm9pZCBXZWJQ
YWdlUHJveHk6OnNldFRleHRGcm9tSXRlbUZvclBvcHVwTWVudShXZWJQb3B1cE1lbnVQcm94eSos
IGludDMyX3QgaW5kZXgKICAgICBwcm9jZXNzKCktPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OlNl
dFRleHRGb3JBY3RpdmVQb3B1cE1lbnUoaW5kZXgpLCBtX3BhZ2VJRCk7CiB9CiAKK05hdGl2ZVdl
Yk1vdXNlRXZlbnQqIFdlYlBhZ2VQcm94eTo6Y3VycmVudGx5UHJvY2Vzc2VkTW91c2VEb3duRXZl
bnQoKQoreworICAgIHJldHVybiBtX2N1cnJlbnRseVByb2Nlc3NlZE1vdXNlRG93bkV2ZW50Lmdl
dCgpOworfQorCiB2b2lkIFdlYlBhZ2VQcm94eTo6c2hvd1BvcHVwTWVudShjb25zdCBJbnRSZWN0
JiByZWN0LCB1aW50NjRfdCB0ZXh0RGlyZWN0aW9uLCBjb25zdCBWZWN0b3I8V2ViUG9wdXBJdGVt
PiYgaXRlbXMsIGludDMyX3Qgc2VsZWN0ZWRJbmRleCwgY29uc3QgUGxhdGZvcm1Qb3B1cE1lbnVE
YXRhJiBkYXRhKQogewogICAgIGlmIChtX2FjdGl2ZVBvcHVwTWVudSkgewpAQCAtMjU0MCwxMiAr
MjU1MywxNCBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkUmVjZWl2ZUV2ZW50KHVpbnQzMl90IG9w
YXF1ZVR5cGUsIGJvb2wgaGFuZGxlZCkKICAgICAgICAgfQogICAgICAgICBicmVhazsKICAgICBj
YXNlIFdlYkV2ZW50OjpNb3VzZURvd246Ci0gICAgY2FzZSBXZWJFdmVudDo6TW91c2VVcDoKICNp
ZiBFTkFCTEUoR0VTVFVSRV9FVkVOVFMpCiAgICAgY2FzZSBXZWJFdmVudDo6R2VzdHVyZVNjcm9s
bEJlZ2luOgogICAgIGNhc2UgV2ViRXZlbnQ6Okdlc3R1cmVTY3JvbGxFbmQ6CiAjZW5kaWYKICAg
ICAgICAgYnJlYWs7CisgICAgY2FzZSBXZWJFdmVudDo6TW91c2VVcDoKKyAgICAgICAgbV9jdXJy
ZW50bHlQcm9jZXNzZWRNb3VzZURvd25FdmVudCA9IG51bGxwdHI7CisgICAgICAgIGJyZWFrOwog
CiAgICAgY2FzZSBXZWJFdmVudDo6V2hlZWw6IHsKICAgICAgICAgbV9wcm9jZXNzaW5nV2hlZWxF
dmVudCA9IGZhbHNlOwpAQCAtMjc0OSw2ICsyNzY0LDkgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnBy
b2Nlc3NEaWRDcmFzaCgpCiAKICAgICAvLyBDYW4ndCBleHBlY3QgRGlkUmVjZWl2ZUV2ZW50IG5v
dGlmaWNhdGlvbnMgZnJvbSBhIGNyYXNoZWQgd2ViIHByb2Nlc3MuCiAgICAgbV9rZXlFdmVudFF1
ZXVlLmNsZWFyKCk7CisgICAgbV9uZXh0V2hlZWxFdmVudCA9IG51bGxwdHI7CisgICAgbV9uZXh0
TW91c2VNb3ZlRXZlbnQgPSBudWxscHRyOworICAgIG1fY3VycmVudGx5UHJvY2Vzc2VkTW91c2VE
b3duRXZlbnQgPSBudWxscHRyOwogfQogCiBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzIFdlYlBh
Z2VQcm94eTo6Y3JlYXRpb25QYXJhbWV0ZXJzKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaAppbmRleCA3OGU1NjQ1Li5jMWY5YjViIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC03OCw2ICs3OCw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBOYXRpdmVXZWJLZXlib2FyZEV2ZW50
OworY2xhc3MgTmF0aXZlV2ViTW91c2VFdmVudDsKIGNsYXNzIFBhZ2VDbGllbnQ7CiBjbGFzcyBQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKIGNsYXNzIFN0cmluZ1BhaXJWZWN0b3I7CkBAIC0yODUs
NyArMjg2LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0QWN0dWFsVmlzaWJsZUNvbnRlbnRSZWN0
KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHJlY3QpOwogI2VuZGlmCiAKLSAgICB2b2lkIGhhbmRs
ZU1vdXNlRXZlbnQoY29uc3QgV2ViTW91c2VFdmVudCYpOworICAgIHZvaWQgaGFuZGxlTW91c2VF
dmVudChjb25zdCBOYXRpdmVXZWJNb3VzZUV2ZW50Jik7CiAgICAgdm9pZCBoYW5kbGVXaGVlbEV2
ZW50KGNvbnN0IFdlYldoZWVsRXZlbnQmKTsKICAgICB2b2lkIGhhbmRsZUtleWJvYXJkRXZlbnQo
Y29uc3QgTmF0aXZlV2ViS2V5Ym9hcmRFdmVudCYpOwogI2lmIEVOQUJMRShHRVNUVVJFX0VWRU5U
UykKQEAgLTQ5OCw2ICs0OTksNyBAQCBwcml2YXRlOgogICAgIC8vIFdlYlBvcHVwTWVudVByb3h5
OjpDbGllbnQKICAgICB2aXJ0dWFsIHZvaWQgdmFsdWVDaGFuZ2VkRm9yUG9wdXBNZW51KFdlYlBv
cHVwTWVudVByb3h5KiwgaW50MzJfdCBuZXdTZWxlY3RlZEluZGV4KTsKICAgICB2aXJ0dWFsIHZv
aWQgc2V0VGV4dEZyb21JdGVtRm9yUG9wdXBNZW51KFdlYlBvcHVwTWVudVByb3h5KiwgaW50MzJf
dCBpbmRleCk7CisgICAgdmlydHVhbCBOYXRpdmVXZWJNb3VzZUV2ZW50KiBjdXJyZW50bHlQcm9j
ZXNzZWRNb3VzZURvd25FdmVudCgpOwogCiAgICAgLy8gSW1wbGVtZW50ZWQgaW4gZ2VuZXJhdGVk
IFdlYlBhZ2VQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAKICAgICB2b2lkIGRpZFJlY2VpdmVXZWJQ
YWdlUHJveHlNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQs
IENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciopOwpAQCAtNzk1LDcgKzc5Nyw4IEBAIHByaXZhdGU6
CiAgICAgT3duUHRyPFdlYldoZWVsRXZlbnQ+IG1fbmV4dFdoZWVsRXZlbnQ7CiAKICAgICBib29s
IG1fcHJvY2Vzc2luZ01vdXNlTW92ZUV2ZW50OwotICAgIE93blB0cjxXZWJNb3VzZUV2ZW50PiBt
X25leHRNb3VzZU1vdmVFdmVudDsKKyAgICBPd25QdHI8TmF0aXZlV2ViTW91c2VFdmVudD4gbV9u
ZXh0TW91c2VNb3ZlRXZlbnQ7CisgICAgT3duUHRyPE5hdGl2ZVdlYk1vdXNlRXZlbnQ+IG1fY3Vy
cmVudGx5UHJvY2Vzc2VkTW91c2VEb3duRXZlbnQ7CiAKICAgICB1aW50NjRfdCBtX3BhZ2VJRDsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBvcHVwTWVudVByb3h5
LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUG9wdXBNZW51UHJveHkuaAppbmRleCA5
NjkwMWZiLi4wYWY4ODgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UG9wdXBNZW51UHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUG9wdXBN
ZW51UHJveHkuaApAQCAtMzksNiArMzksNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogc3RydWN0
IFBsYXRmb3JtUG9wdXBNZW51RGF0YTsKIHN0cnVjdCBXZWJQb3B1cEl0ZW07CitjbGFzcyBOYXRp
dmVXZWJNb3VzZUV2ZW50OwogCiBjbGFzcyBXZWJQb3B1cE1lbnVQcm94eSA6IHB1YmxpYyBSZWZD
b3VudGVkPFdlYlBvcHVwTWVudVByb3h5PiB7CiBwdWJsaWM6CkBAIC01MSw2ICs1Miw3IEBAIHB1
YmxpYzoKICAgICBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgdm9pZCB2YWx1ZUNoYW5nZWRGb3JQ
b3B1cE1lbnUoV2ViUG9wdXBNZW51UHJveHkqLCBpbnQzMl90IG5ld1NlbGVjdGVkSW5kZXgpID0g
MDsKICAgICAgICAgdmlydHVhbCB2b2lkIHNldFRleHRGcm9tSXRlbUZvclBvcHVwTWVudShXZWJQ
b3B1cE1lbnVQcm94eSosIGludDMyX3QgaW5kZXgpID0gMDsKKyAgICAgICAgdmlydHVhbCBOYXRp
dmVXZWJNb3VzZUV2ZW50KiBjdXJyZW50bHlQcm9jZXNzZWRNb3VzZURvd25FdmVudCgpID0gMDsK
ICAgICB9OwogCiAgICAgdmlydHVhbCB+V2ViUG9wdXBNZW51UHJveHkoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJQb3B1cE1lbnVQcm94eU1hYy5tbSBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViUG9wdXBNZW51UHJveHlNYWMubW0KaW5kZXgg
N2NlODc2NC4uNDZkNDU0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21h
Yy9XZWJQb3B1cE1lbnVQcm94eU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
bWFjL1dlYlBvcHVwTWVudVByb3h5TWFjLm1tCkBAIC0yNiw2ICsyNiw3IEBACiAjaW1wb3J0ICJj
b25maWcuaCIKICNpbXBvcnQgIldlYlBvcHVwTWVudVByb3h5TWFjLmgiCiAKKyNpbXBvcnQgIk5h
dGl2ZVdlYk1vdXNlRXZlbnQuaCIKICNpbXBvcnQgIlBhZ2VDbGllbnRJbXBsLmgiCiAjaW1wb3J0
ICJQbGF0Zm9ybVBvcHVwTWVudURhdGEuaCIKICNpbXBvcnQgIldLVmlldy5oIgpAQCAtMTIyLDkg
KzEyMyw0MSBAQCB2b2lkIFdlYlBvcHVwTWVudVByb3h5TWFjOjpzaG93UG9wdXBNZW51KGNvbnN0
IEludFJlY3QmIHJlY3QsIFRleHREaXJlY3Rpb24gdGV4dAogCiAgICAgW21fcG9wdXAuZ2V0KCkg
ZGlzbWlzc1BvcFVwXTsKICAgICBbZHVtbXlWaWV3LmdldCgpIHJlbW92ZUZyb21TdXBlcnZpZXdd
OwotCi0gICAgaWYgKG1fY2xpZW50KQotICAgICAgICBtX2NsaWVudC0+dmFsdWVDaGFuZ2VkRm9y
UG9wdXBNZW51KHRoaXMsIFttX3BvcHVwLmdldCgpIGluZGV4T2ZTZWxlY3RlZEl0ZW1dKTsKKyAg
ICAKKyAgICBpZiAoIW1fY2xpZW50KQorICAgICAgICByZXR1cm47CisgICAgCisgICAgbV9jbGll
bnQtPnZhbHVlQ2hhbmdlZEZvclBvcHVwTWVudSh0aGlzLCBbbV9wb3B1cC5nZXQoKSBpbmRleE9m
U2VsZWN0ZWRJdGVtXSk7CisgICAgCisgICAgLy8gPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD01NzkwND4gVGhpcyBjb2RlIGlzIGFkb3B0ZWQgZnJvbSBFdmVudEhhbmRs
ZXI6OnNlbmRGYWtlRXZlbnRzQWZ0ZXJXaWRnZXRUcmFja2luZygpLgorICAgIGlmICghbV9jbGll
bnQtPmN1cnJlbnRseVByb2Nlc3NlZE1vdXNlRG93bkV2ZW50KCkpCisgICAgICAgIHJldHVybjsK
KyAgICAKKyAgICBOU0V2ZW50KiBpbml0aWF0aW5nTlNFdmVudCA9IG1fY2xpZW50LT5jdXJyZW50
bHlQcm9jZXNzZWRNb3VzZURvd25FdmVudCgpLT5uYXRpdmVFdmVudCgpOworICAgIGlmIChbaW5p
dGlhdGluZ05TRXZlbnQgdHlwZV0gIT0gTlNMZWZ0TW91c2VEb3duKQorICAgICAgICByZXR1cm47
CisgICAgCisgICAgTlNFdmVudCAqZmFrZUV2ZW50ID0gW05TRXZlbnQgbW91c2VFdmVudFdpdGhU
eXBlOk5TTGVmdE1vdXNlVXAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbG9jYXRpb246W2luaXRpYXRpbmdOU0V2ZW50IGxvY2F0aW9uSW5XaW5kb3ddCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RpZmllckZsYWdzOltpbml0aWF0
aW5nTlNFdmVudCBtb2RpZmllckZsYWdzXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHRpbWVzdGFtcDpbaW5pdGlhdGluZ05TRXZlbnQgdGltZXN0YW1wXQorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvd051bWJlcjpbaW5pdGlh
dGluZ05TRXZlbnQgd2luZG93TnVtYmVyXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29udGV4dDpbaW5pdGlhdGluZ05TRXZlbnQgY29udGV4dF0KKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnROdW1iZXI6W2luaXRpYXRp
bmdOU0V2ZW50IGV2ZW50TnVtYmVyXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY2xpY2tDb3VudDpbaW5pdGlhdGluZ05TRXZlbnQgY2xpY2tDb3VudF0KKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlc3N1cmU6W2luaXRpYXRp
bmdOU0V2ZW50IHByZXNzdXJlXV07CisgICAgCisgICAgW05TQXBwIHBvc3RFdmVudDpmYWtlRXZl
bnQgYXRTdGFydDpZRVNdOworICAgIGZha2VFdmVudCA9IFtOU0V2ZW50IG1vdXNlRXZlbnRXaXRo
VHlwZTpOU01vdXNlTW92ZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9j
YXRpb246W1ttX3dlYlZpZXcgd2luZG93XSBjb252ZXJ0U2NyZWVuVG9CYXNlOltOU0V2ZW50IG1v
dXNlTG9jYXRpb25dXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZpZXJGbGFn
czpbaW5pdGlhdGluZ05TRXZlbnQgbW9kaWZpZXJGbGFnc10KKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB0aW1lc3RhbXA6W2luaXRpYXRpbmdOU0V2ZW50IHRpbWVzdGFtcF0KKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3dOdW1iZXI6W2luaXRpYXRpbmdOU0V2
ZW50IHdpbmRvd051bWJlcl0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnRleHQ6W2luaXRpYXRpbmdOU0V2ZW50IGNvbnRleHRdCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGV2ZW50TnVtYmVyOjAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNsaWNrQ291bnQ6MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVzc3Vy
ZTowXTsKKyAgICBbTlNBcHAgcG9zdEV2ZW50OmZha2VFdmVudCBhdFN0YXJ0OllFU107CiB9CiAK
IHZvaWQgV2ViUG9wdXBNZW51UHJveHlNYWM6OmhpZGVQb3B1cE1lbnUoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3dpbi9XZWJQb3B1cE1lbnVQcm94eVdpbi5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mvd2luL1dlYlBvcHVwTWVudVByb3h5V2luLmNwcAppbmRl
eCBlZWJkZTc1Li5hOGQ4MDYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
d2luL1dlYlBvcHVwTWVudVByb3h5V2luLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3Mvd2luL1dlYlBvcHVwTWVudVByb3h5V2luLmNwcApAQCAtMjksNiArMjksNyBAQAogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYlBvcHVwTWVudVByb3h5V2luLmgiCiAKKyNpbmNs
dWRlICJOYXRpdmVXZWJNb3VzZUV2ZW50LmgiCiAjaW5jbHVkZSAiV2ViVmlldy5oIgogI2luY2x1
ZGUgPFdlYkNvcmUvV2ViQ29yZUluc3RhbmNlSGFuZGxlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9T
Y3JvbGxiYXJUaGVtZS5oPgpAQCAtMzI0LDggKzMyNSwyNiBAQCB2b2lkIFdlYlBvcHVwTWVudVBy
b3h5V2luOjpzaG93UG9wdXBNZW51KGNvbnN0IEludFJlY3QmIHJlY3QsIFRleHREaXJlY3Rpb24s
IGRvdQogICAgIG1fc2hvd1BvcHVwID0gZmFsc2U7CiAgICAgOjpTaG93V2luZG93KG1fcG9wdXAs
IFNXX0hJREUpOwogCi0gICAgaWYgKG1fY2xpZW50KQotICAgICAgICBtX2NsaWVudC0+dmFsdWVD
aGFuZ2VkRm9yUG9wdXBNZW51KHRoaXMsIG1fbmV3U2VsZWN0ZWRJbmRleCk7CisgICAgaWYgKCFt
X2NsaWVudCkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9jbGllbnQtPnZhbHVlQ2hhbmdlZEZv
clBvcHVwTWVudSh0aGlzLCBtX25ld1NlbGVjdGVkSW5kZXgpOworCisgICAgLy8gPGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NzkwND4gSW4gb3JkZXIgdG8gcHJvcGVy
bHkgY2FsbCB0aGUgb25DbGljaygpCisgICAgLy8gaGFuZGxlciBvbiBhIDxzZWxlY3Q+IGVsZW1l
bnQsIHdlIG5lZWQgdG8gZmFrZSBhIG1vdXNlIHVwIGV2ZW50IGluIHRoZSBtYWluIHdpbmRvdy4K
KyAgICAvLyBUaGUgbWFpbiB3aW5kb3cgYWxyZWFkeSByZWNlaXZlZCB0aGUgbW91c2UgZG93biwg
d2hpY2ggc2hvd2VkIHRoaXMgcG9wdXAsIGJ1dCB1cG9uCisgICAgLy8gc2VsZWN0aW9uIG9mIGFu
IGl0ZW0gdGhlIG1vdXNlIHVwIGdldHMgZWF0ZW4gYnkgdGhlIHBvcHVwIG1lbnUuIFNvIHdlIHRh
a2UgdGhlIG1vdXNlIGRvd24KKyAgICAvLyBldmVudCwgY2hhbmdlIHRoZSBtZXNzYWdlIHR5cGUg
dG8gYSBtb3VzZSB1cCBldmVudCwgYW5kIHBvc3QgdGhhdCBpbiB0aGUgbWVzc2FnZSBxdWV1ZS4K
KyAgICAvLyBUaHVzLCB3ZSBhcmUgdmlydHVhbGx5IGNsaWNraW5nIGF0IHRoZQorICAgIC8vIHNh
bWUgbG9jYXRpb24gd2hlcmUgdGhlIG1vdXNlIGRvd24gZXZlbnQgb2NjdXJyZWQuIFRoaXMgYWxs
b3dzIHRoZSBoaXQgdGVzdCB0byBzZWxlY3QKKyAgICAvLyB0aGUgY29ycmVjdCBlbGVtZW50LCBh
bmQgdGhlcmVieSBjYWxsIHRoZSBvbkNsaWNrKCkgSlMgaGFuZGxlci4KKyAgICBpZiAoIW1fY2xp
ZW50LT5jdXJyZW50bHlQcm9jZXNzZWRNb3VzZURvd25FdmVudCgpKQorICAgICAgICByZXR1cm47
CisgICAgICAgIAorICAgIGNvbnN0IE1TRyogaW5pdGlhdGluZ1dpbkV2ZW50ID0gbV9jbGllbnQt
PmN1cnJlbnRseVByb2Nlc3NlZE1vdXNlRG93bkV2ZW50KCktPm5hdGl2ZUV2ZW50KCk7CisgICAg
TVNHIGZha2VFdmVudCA9ICppbml0aWF0aW5nV2luRXZlbnQ7CisgICAgZmFrZUV2ZW50Lm1lc3Nh
Z2UgPSBXTV9MQlVUVE9OVVA7CisgICAgOjpQb3N0TWVzc2FnZShmYWtlRXZlbnQuaHduZCwgZmFr
ZUV2ZW50Lm1lc3NhZ2UsIGZha2VFdmVudC53UGFyYW0sIGZha2VFdmVudC5sUGFyYW0pOwogfQog
CiB2b2lkIFdlYlBvcHVwTWVudVByb3h5V2luOjpoaWRlUG9wdXBNZW51KCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy93aW4vV2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3Mvd2luL1dlYlZpZXcuY3BwCmluZGV4IDU0Y2U5ZTUuLjk3ZGVmODIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy93aW4vV2ViVmlldy5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL3dpbi9XZWJWaWV3LmNwcApAQCAtMzEsNiArMzEsNyBAQAog
I2luY2x1ZGUgIkZpbmRJbmRpY2F0b3IuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVk
ZSAiTmF0aXZlV2ViS2V5Ym9hcmRFdmVudC5oIgorI2luY2x1ZGUgIk5hdGl2ZVdlYk1vdXNlRXZl
bnQuaCIKICNpbmNsdWRlICJSZWdpb24uaCIKICNpbmNsdWRlICJSdW5Mb29wLmgiCiAjaW5jbHVk
ZSAiV0tBUElDYXN0LmgiCkBAIC0zODcsNyArMzg4LDcgQEAgdm9pZCBXZWJWaWV3Ojp3aW5kb3dB
bmNlc3RyeURpZENoYW5nZSgpCiAKIExSRVNVTFQgV2ViVmlldzo6b25Nb3VzZUV2ZW50KEhXTkQg
aFduZCwgVUlOVCBtZXNzYWdlLCBXUEFSQU0gd1BhcmFtLCBMUEFSQU0gbFBhcmFtLCBib29sJiBo
YW5kbGVkKQogewotICAgIFdlYk1vdXNlRXZlbnQgbW91c2VFdmVudCA9IFdlYkV2ZW50RmFjdG9y
eTo6Y3JlYXRlV2ViTW91c2VFdmVudChoV25kLCBtZXNzYWdlLCB3UGFyYW0sIGxQYXJhbSwgbV93
YXNBY3RpdmF0ZWRCeU1vdXNlRXZlbnQpOworICAgIE5hdGl2ZVdlYk1vdXNlRXZlbnQgbW91c2VF
dmVudCA9IE5hdGl2ZVdlYk1vdXNlRXZlbnQoaFduZCwgbWVzc2FnZSwgd1BhcmFtLCBsUGFyYW0s
IG1fd2FzQWN0aXZhdGVkQnlNb3VzZUV2ZW50KTsKICAgICBzZXRXYXNBY3RpdmF0ZWRCeU1vdXNl
RXZlbnQoZmFsc2UpOwogICAgIAogICAgIHN3aXRjaCAobWVzc2FnZSkgewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNl
L1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGUzNGVkNmIu
LjVlZjk5NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKQEAgLTIzNiw2ICsyMzYsNyBAQAogCQkxQ0E4Qjk1NDEyN0M4OTE1MDA1NzZD
MkIgLyogV2ViSW5zcGVjdG9yTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMUM4RTJEQUQxMjc4QzVCMjAwQkM3QkQwIC8qIFdlYkluc3BlY3Rvck1h
Yy5tbSAqLzsgfTsKIAkJMjlDRDU1QUExMjhFMjk0RjAwMTMzQzg1IC8qIEFjY2Vzc2liaWxpdHlX
ZWJQYWdlT2JqZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAyOUNENTVBODEyOEUyOTRGMDAxMzNDODUgLyogQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmpl
Y3QuaCAqLzsgfTsKIAkJMjlDRDU1QUIxMjhFMjk0RjAwMTMzQzg1IC8qIEFjY2Vzc2liaWxpdHlX
ZWJQYWdlT2JqZWN0Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMjlDRDU1QTkxMjhFMjk0RjAwMTMzQzg1IC8qIEFjY2Vzc2liaWxpdHlXZWJQYWdlT2Jq
ZWN0Lm1tICovOyB9OworCQkzMUVBMjVEMjEzNEY3OEMwMDA1QjE0NTIgLyogTmF0aXZlV2ViTW91
c2VFdmVudE1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDMxRUEyNUQwMTM0Rjc4QjIwMDVCMTQ1MiAvKiBOYXRpdmVXZWJNb3VzZUV2ZW50TWFjLm1t
ICovOyB9OwogCQkzMzA5MzQ0NzEzMTVCOTIyMDA5N0E3QkMgLyogV2ViQ29va2llTWFuYWdlck1l
c3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAzMzA5MzQ0MzEzMTVCOTIyMDA5N0E3QkMgLyogV2ViQ29va2llTWFuYWdlck1lc3Nh
Z2VSZWNlaXZlci5jcHAgKi87IH07CiAJCTMzMDkzNDQ4MTMxNUI5MjIwMDk3QTdCQyAvKiBXZWJD
b29raWVNYW5hZ2VyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDMzMDkzNDQ0MTMxNUI5MjIwMDk3QTdCQyAvKiBXZWJDb29raWVNYW5hZ2Vy
TWVzc2FnZXMuaCAqLzsgfTsKIAkJMzMwOTM0NDkxMzE1QjkyMjAwOTdBN0JDIC8qIFdlYkNvb2tp
ZU1hbmFnZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMzA5MzQ0NTEzMTVCOTIyMDA5N0E3QkMgLyogV2ViQ29v
a2llTWFuYWdlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKQEAgLTExMTYsNiArMTEx
Nyw4IEBACiAJCTFDQThCOTQ0MTI3Qzg4MkEwMDU3NkMyQiAvKiBXZWJJbnNwZWN0b3JQcm94eU1l
c3NhZ2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkluc3BlY3RvclBy
b3h5TWVzc2FnZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjlDRDU1QTgxMjhF
Mjk0RjAwMTMzQzg1IC8qIEFjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5Q0Q1NUE5MTI4RTI5NEYwMDEzM0M4NSAvKiBBY2Nl
c3NpYmlsaXR5V2ViUGFnZU9iamVjdC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0Lm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkzMUVBMjVEMDEzNEY3OEIyMDA1QjE0NTIgLyogTmF0aXZlV2ViTW91c2VF
dmVudE1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IE5hdGl2ZVdlYk1vdXNlRXZlbnRNYWMu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRUEyNUQzMTM0Rjc4RDYwMDVCMTQ1
MiAvKiBOYXRpdmVXZWJNb3VzZUV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IE5hdGl2ZVdlYk1vdXNlRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MzJEQkNGNUUwMzcwQURFRTAwQzkxNzgzIC8qIFdlYktpdDJQcmVmaXguaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViS2l0MlByZWZpeC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkzMzA5MzQ0MzEzMTVCOTIyMDA5N0E3QkMgLyogV2ViQ29va2llTWFuYWdlck1l
c3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBX
ZWJDb29raWVNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMzMwOTM0NDQxMzE1QjkyMjAwOTdBN0JDIC8qIFdlYkNvb2tpZU1hbmFnZXJNZXNz
YWdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDb29raWVNYW5hZ2Vy
TWVzc2FnZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIwNjksNiArMjA3Miw3
IEBACiAJCQkJQkNCMEFFRTgxMjJGNTNFMzAwQjEzNDFFIC8qIE11dGFibGVEaWN0aW9uYXJ5LmNw
cCAqLywKIAkJCQlCQ0IwQUVFNzEyMkY1M0UzMDBCMTM0MUUgLyogTXV0YWJsZURpY3Rpb25hcnku
aCAqLywKIAkJCQlDMDJCRkYxNTEyNTE0RkQ4MDA5Q0NCRUEgLyogTmF0aXZlV2ViS2V5Ym9hcmRF
dmVudC5oICovLAorCQkJCTMxRUEyNUQzMTM0Rjc4RDYwMDVCMTQ1MiAvKiBOYXRpdmVXZWJNb3Vz
ZUV2ZW50LmggKi8sCiAJCQkJQkNDRjY3MzIxMkM3RjE1QzAwOEY5QzM1IC8qIE9yaWdpbkFuZERh
dGFiYXNlcy5jcHAgKi8sCiAJCQkJQkNDRjY3MkMxMkM3RURGNzAwOEY5QzM1IC8qIE9yaWdpbkFu
ZERhdGFiYXNlcy5oICovLAogCQkJCUJDQzQzQUI4MTI3Qjk1REMwMDMxN0YxNiAvKiBQbGF0Zm9y
bVBvcHVwTWVudURhdGEuY3BwICovLApAQCAtMjc3NSw2ICsyNzc5LDcgQEAKIAkJCQkxQTk2MzlG
NTEyRjM4RUNEMDA3OEEwNjIgLyogQ29yZUFuaW1hdGlvblJlbmRlcmVyLmggKi8sCiAJCQkJMUE5
NjM5RjYxMkYzOEVDRDAwNzhBMDYyIC8qIENvcmVBbmltYXRpb25SZW5kZXJlci5tbSAqLywKIAkJ
CQkxQTkyREMxMjEyRjhCQUI5MDAxN0FGNjUgLyogTGF5ZXJUcmVlQ29udGV4dE1hYy5tbSAqLywK
KwkJCQkzMUVBMjVEMDEzNEY3OEIyMDA1QjE0NTIgLyogTmF0aXZlV2ViTW91c2VFdmVudE1hYy5t
bSAqLywKIAkJCQlDMDJCRkYxRDEyNTE1MDJFMDA5Q0NCRUEgLyogTmF0aXZlV2ViS2V5Ym9hcmRF
dmVudE1hYy5tbSAqLywKIAkJCQlDNTc0QTU3RjEyRTY2NjgxMDAyREZFOTggLyogUGFzdGVib2Fy
ZFR5cGVzLmggKi8sCiAJCQkJQzU3NEE1ODAxMkU2NjY4MTAwMkRGRTk4IC8qIFBhc3RlYm9hcmRU
eXBlcy5tbSAqLywKQEAgLTQzMDcsNiArNDMxMiw3IEBACiAJCQkJNTE4MzQ1OTIxMzQ1MzJFOTAw
OTJCNjk2IC8qIFdlYkljb25EYXRhYmFzZUNsaWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlF
MUEzMTczNTEzNENFQTgwMDA3QzlBNEYgLyogQXR0cmlidXRlZFN0cmluZy5tbSBpbiBTb3VyY2Vz
ICovLAogCQkJCUUxNzlGRDlGMTM0RDM4MjUwMDE1Qjg4MyAvKiBBcmd1bWVudENvZGVyc01hYy5t
bSBpbiBTb3VyY2VzICovLAorCQkJCTMxRUEyNUQyMTM0Rjc4QzAwMDVCMTQ1MiAvKiBOYXRpdmVX
ZWJNb3VzZUV2ZW50TWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRl
cGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2ogYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3By
b2oKaW5kZXggMDRlZWFiZi4uZTg2ODMxOCAxMDA3NTUKLS0tIGEvU291cmNlL1dlYktpdDIvd2lu
L1dlYktpdDIudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJvagpA
QCAtNDgzLDYgKzQ4MywxMCBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVs
YXRpdmVQYXRoPSIuLlxTaGFyZWRcTmF0aXZlV2ViTW91c2VFdmVudC5oIgorCQkJCT4KKwkJCTwv
RmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxTaGFyZWRcT3JpZ2luQW5kRGF0
YWJhc2VzLmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CkBAIC0xMTk0LDYgKzExOTgsNjQgQEAKIAkJ
CQkJPgogCQkJCTwvRmlsZT4KIAkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFNoYXJl
ZFx3aW5cTmF0aXZlV2ViTW91c2VFdmVudFdpbi5jcHAiCisJCQkJCT4KKwkJCQkJPEZpbGVDb25m
aWd1cmF0aW9uCisJCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJCT4KKwkJCQkJCTxUb29s
CisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCQlPYmplY3RGaWxlPSIkKElu
dERpcilcJChJbnB1dE5hbWUpMS5vYmoiCisJCQkJCQkJWE1MRG9jdW1lbnRhdGlvbkZpbGVOYW1l
PSIkKEludERpcilcJChJbnB1dE5hbWUpMS54ZGMiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IlJlbGVhc2V8
V2luMzIiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiCisJCQkJCQkJT2JqZWN0RmlsZT0iJChJbnREaXIpXCQoSW5wdXROYW1lKTEub2JqIgorCQkJ
CQkJCVhNTERvY3VtZW50YXRpb25GaWxlTmFtZT0iJChJbnREaXIpXCQoSW5wdXROYW1lKTEueGRj
IgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1
cmF0aW9uCisJCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCQk+CisJ
CQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkJT2JqZWN0
RmlsZT0iJChJbnREaXIpXCQoSW5wdXROYW1lKTEub2JqIgorCQkJCQkJCVhNTERvY3VtZW50YXRp
b25GaWxlTmFtZT0iJChJbnREaXIpXCQoSW5wdXROYW1lKTEueGRjIgorCQkJCQkJLz4KKwkJCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1l
PSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCQlPYmplY3RGaWxlPSIkKEludERpcilc
JChJbnB1dE5hbWUpMS5vYmoiCisJCQkJCQkJWE1MRG9jdW1lbnRhdGlvbkZpbGVOYW1lPSIkKElu
dERpcilcJChJbnB1dE5hbWUpMS54ZGMiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4z
MiIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIK
KwkJCQkJCQlPYmplY3RGaWxlPSIkKEludERpcilcJChJbnB1dE5hbWUpMS5vYmoiCisJCQkJCQkJ
WE1MRG9jdW1lbnRhdGlvbkZpbGVOYW1lPSIkKEludERpcilcJChJbnB1dE5hbWUpMS54ZGMiCisJ
CQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24KKwkJCQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCisJCQkJCQk+CisJCQkJCQk8VG9vbAor
CQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkJT2JqZWN0RmlsZT0iJChJbnRE
aXIpXCQoSW5wdXROYW1lKTEub2JqIgorCQkJCQkJCVhNTERvY3VtZW50YXRpb25GaWxlTmFtZT0i
JChJbnREaXIpXCQoSW5wdXROYW1lKTEueGRjIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxT
aGFyZWRcd2luXFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNwcCIKIAkJCQkJPgogCQkJCTwvRmls
ZT4KLS0gCjEuNy4zLjQKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89474</attachid>
            <date>2011-04-13 15:11:24 -0700</date>
            <delta_ts>2011-04-14 15:25:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-onClick-does-not-function-with-select-elements-in-We.patch</filename>
            <type>text/plain</type>
            <size>32272</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">RnJvbSA4NTA3MWQ0OTUwZjE5NzgyMjFiMDBhMmY1ODA3ZmViOGRlNzZiMWVmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb24gTGVlIDxqb25sZWVAYXBwbGUuY29tPgpEYXRlOiBXZWQs
IDEzIEFwciAyMDExIDE0OjQ5OjQ2IC0wNzAwClN1YmplY3Q6IFtQQVRDSF0gb25DbGljayBkb2Vz
IG5vdCBmdW5jdGlvbiB3aXRoIDxzZWxlY3Q+IGVsZW1lbnRzIGluIFdlYktpdDIKIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NzkwNAogPHJkYXI6Ly9wcm9ibGVtLzky
MTc3NTc+CgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiogU2hhcmVkL05hdGl2ZVdlYk1v
dXNlRXZlbnQuaDogQ29waWVkIGZyb20gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBvcHVw
TWVudVByb3h5LmguCihXZWJLaXQ6Ok5hdGl2ZVdlYk1vdXNlRXZlbnQ6Om5hdGl2ZUV2ZW50KToK
KiBTaGFyZWQvbWFjL05hdGl2ZVdlYk1vdXNlRXZlbnRNYWMubW06IEFkZGVkLgooV2ViS2l0OjpO
YXRpdmVXZWJNb3VzZUV2ZW50OjpOYXRpdmVXZWJNb3VzZUV2ZW50KToKKiBTaGFyZWQvd2luL05h
dGl2ZVdlYk1vdXNlRXZlbnRXaW4uY3BwOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUG9wdXBNZW51UHJveHkuaC4KKFdlYktpdDo6TmF0aXZlV2ViTW91c2VFdmVudDo6
TmF0aXZlV2ViTW91c2VFdmVudCk6CiogVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tOgooLVtX
S1ZpZXcgX21vdXNlSGFuZGxlcjpdKTogUHJlLWNvbXBpbGVyIG1vdXNlIGhhbmRsZXIgY2FsbHMg
bmVlZCB0byB1c2UgdGhlIG5ldyBOYXRpdmVXZWJNb3VzZUV2ZW50IGNsYXNzCiogVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHA6CihXZWJLaXQ6OldlYlBhZ2VQcm94eTo6aGFuZGxlTW91c2VFdmVu
dCk6IGtlZXAgdHJhY2sgb2YgbW91c2UgZG93biBldmVudCBpbiBvcmRlciB0byBiZSBhYmxlIHRv
IHNlbmQgYSBmYWtlIG1vdXNlIHVwIGV2ZW50IG9uIHRoZSBzZWxlY3QgZWxlbWVudAooV2ViS2l0
OjpXZWJQYWdlUHJveHk6OmN1cnJlbnRNb3VzZURvd25FdmVudCk6IGZvciBhY2Nlc3MgYnkgdGhl
IHBvcHVwIG1lbnUgcHJveHkgdG8gZGlzcGF0Y2ggdGhlIGZha2UgbW91c2UgdXAgZXZlbnQKKFdl
YktpdDo6V2ViUGFnZVByb3h5OjpkaWRSZWNlaXZlRXZlbnQpOiBjbGVhciBvdXQgdGhlIGNhY2hl
ZCBtb3VzZSBkb3duIGV2ZW50CihXZWJLaXQ6OldlYlBhZ2VQcm94eTo6cHJvY2Vzc0RpZENyYXNo
KTogY2xlYXIgb3V0IHRoZSBjYWNoZWQgZXZlbnRzIHNpbmNlIHdlIGFzc3VtZSB0aGF0IGRpZFJl
Y2VpdmVFdmVudCBkaWQgbm90IGNhbGxlZCBwcmlvciB0byB0aGUgY3Jhc2gKKiBVSVByb2Nlc3Mv
V2ViUGFnZVByb3h5Lmg6CiogVUlQcm9jZXNzL1dlYlBvcHVwTWVudVByb3h5Lmg6CiogVUlQcm9j
ZXNzL21hYy9XZWJQb3B1cE1lbnVQcm94eU1hYy5tbToKKFdlYktpdDo6V2ViUG9wdXBNZW51UHJv
eHlNYWM6OnNob3dQb3B1cE1lbnUpOiBhZnRlciBub3RpZnlpbmcgdGhlIHBvcHVwIG1lbnUgY2xp
ZW50IHRoYXQgdGhlIHZhbHVlIGNoYW5nZWQsIGZha2UgbW91c2UgdXAgYW5kIG1vdXNlIG1vdmUg
ZXZlbnRzIGFyZSBwb3N0ZWQKKiBVSVByb2Nlc3Mvd2luL1dlYlBvcHVwTWVudVByb3h5V2luLmNw
cDoKKFdlYktpdDo6V2ViUG9wdXBNZW51UHJveHlXaW46OnNob3dQb3B1cE1lbnUpOiBhZnRlciBu
b3RpZnlpbmcgdGhlIHBvcHVwIG1lbnUgY2xpZW50IHRoYXQgdGhlIHZhbHVlIGNoYW5nZWQsIGZh
a2UgbW91c2UgdXAgYW5kIG1vdXNlIG1vdmUgZXZlbnRzIGFyZSBwb3N0ZWQKKiBVSVByb2Nlc3Mv
d2luL1dlYlZpZXcuY3BwOgooV2ViS2l0OjpXZWJWaWV3Ojpvbk1vdXNlRXZlbnQpOgoqIFdlYktp
dDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKiB3aW4vV2ViS2l0Mi52Y3Byb2o6Ci0tLQog
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDMy
ICsrKysrKysrKysKIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9OYXRpdmVXZWJNb3VzZUV2ZW50Lmgg
ICAgICAgIHwgICA2MiArKysrKysrKysrKysrKysrKysrKwogLi4uL1dlYktpdDIvU2hhcmVkL21h
Yy9OYXRpdmVXZWJNb3VzZUV2ZW50TWFjLm1tICAgfCAgIDM5ICsrKysrKysrKysrKwogLi4uL1dl
YktpdDIvU2hhcmVkL3dpbi9OYXRpdmVXZWJNb3VzZUV2ZW50V2luLmNwcCAgfCAgIDQzICsrKysr
KysrKysrKysrCiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0gICAg
ICAgICB8ICAgMzYgKysrKysrKy0tLS0KIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwICAgICAgICAgIHwgICAyNCArKysrKysrLQogU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oICAgICAgICAgICAgfCAgICA3ICsrLQogU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlBvcHVwTWVudVByb3h5LmggICAgICAgfCAgICAyICsKIC4uLi9XZWJLaXQy
L1VJUHJvY2Vzcy9tYWMvV2ViUG9wdXBNZW51UHJveHlNYWMubW0gIHwgICAzOSArKysrKysrKysr
Ky0KIC4uLi9XZWJLaXQyL1VJUHJvY2Vzcy93aW4vV2ViUG9wdXBNZW51UHJveHlXaW4uY3BwIHwg
ICAyMyArKysrKysrLQogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3dpbi9XZWJWaWV3LmNwcCAg
ICAgICAgICAgfCAgICAzICstCiBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2ogICB8ICAgIDYgKysKIFNvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJv
aiAgICAgICAgICAgICAgICAgIHwgICA2MiArKysrKysrKysrKysrKysrKysrKwogMTMgZmlsZXMg
Y2hhbmdlZCwgMzU0IGluc2VydGlvbnMoKyksIDI0IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUg
MTAwNjQ0IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9OYXRpdmVXZWJNb3VzZUV2ZW50LmgKIGNyZWF0
ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL05hdGl2ZVdlYk1vdXNlRXZl
bnRNYWMubW0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvd2luL05h
dGl2ZVdlYk1vdXNlRXZlbnRXaW4uY3BwCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGYwN2ZjOWQuLjcxYjFjODgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNSBAQAorMjAxMS0wNC0xMyAgSm9uIExlZSAgPGpvbmxl
ZUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgb25DbGljayBkb2VzIG5vdCBmdW5jdGlvbiB3aXRoIDxzZWxlY3Q+IGVsZW1lbnRzIGlu
IFdlYktpdDIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTU3OTA0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS85MjE3NzU3PgorCisgICAgICAgICogU2hh
cmVkL05hdGl2ZVdlYk1vdXNlRXZlbnQuaDogQ29waWVkIGZyb20gU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBvcHVwTWVudVByb3h5LmguCisgICAgICAgIChXZWJLaXQ6Ok5hdGl2ZVdlYk1v
dXNlRXZlbnQ6Om5hdGl2ZUV2ZW50KToKKyAgICAgICAgKiBTaGFyZWQvbWFjL05hdGl2ZVdlYk1v
dXNlRXZlbnRNYWMubW06IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpOYXRpdmVXZWJNb3VzZUV2
ZW50OjpOYXRpdmVXZWJNb3VzZUV2ZW50KToKKyAgICAgICAgKiBTaGFyZWQvd2luL05hdGl2ZVdl
Yk1vdXNlRXZlbnRXaW4uY3BwOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUG9wdXBNZW51UHJveHkuaC4KKyAgICAgICAgKFdlYktpdDo6TmF0aXZlV2ViTW91c2VFdmVu
dDo6TmF0aXZlV2ViTW91c2VFdmVudCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9tYWMvV0tW
aWV3Lm1tOgorICAgICAgICAoLVtXS1ZpZXcgX21vdXNlSGFuZGxlcjpdKTogUHJlLWNvbXBpbGVy
IG1vdXNlIGhhbmRsZXIgY2FsbHMgbmVlZCB0byB1c2UgdGhlIG5ldyBOYXRpdmVXZWJNb3VzZUV2
ZW50IGNsYXNzCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6aGFuZGxlTW91c2VFdmVudCk6IGtlZXAgdHJhY2sgb2Yg
bW91c2UgZG93biBldmVudCBpbiBvcmRlciB0byBiZSBhYmxlIHRvIHNlbmQgYSBmYWtlIG1vdXNl
IHVwIGV2ZW50IG9uIHRoZSBzZWxlY3QgZWxlbWVudAorICAgICAgICAoV2ViS2l0OjpXZWJQYWdl
UHJveHk6OmN1cnJlbnRNb3VzZURvd25FdmVudCk6IGZvciBhY2Nlc3MgYnkgdGhlIHBvcHVwIG1l
bnUgcHJveHkgdG8gZGlzcGF0Y2ggdGhlIGZha2UgbW91c2UgdXAgZXZlbnQKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZVByb3h5OjpkaWRSZWNlaXZlRXZlbnQpOiBjbGVhciBvdXQgdGhlIGNhY2hl
ZCBtb3VzZSBkb3duIGV2ZW50CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6cHJvY2Vz
c0RpZENyYXNoKTogY2xlYXIgb3V0IHRoZSBjYWNoZWQgZXZlbnRzIHNpbmNlIHdlIGFzc3VtZSB0
aGF0IGRpZFJlY2VpdmVFdmVudCBkaWQgbm90IGNhbGxlZCBwcmlvciB0byB0aGUgY3Jhc2gKKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dl
YlBvcHVwTWVudVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9XZWJQb3B1cE1lbnVQ
cm94eU1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUG9wdXBNZW51UHJveHlNYWM6OnNob3dQ
b3B1cE1lbnUpOiBhZnRlciBub3RpZnlpbmcgdGhlIHBvcHVwIG1lbnUgY2xpZW50IHRoYXQgdGhl
IHZhbHVlIGNoYW5nZWQsIGZha2UgbW91c2UgdXAgYW5kIG1vdXNlIG1vdmUgZXZlbnRzIGFyZSBw
b3N0ZWQKKyAgICAgICAgKiBVSVByb2Nlc3Mvd2luL1dlYlBvcHVwTWVudVByb3h5V2luLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViUG9wdXBNZW51UHJveHlXaW46OnNob3dQb3B1cE1lbnUpOiBh
ZnRlciBub3RpZnlpbmcgdGhlIHBvcHVwIG1lbnUgY2xpZW50IHRoYXQgdGhlIHZhbHVlIGNoYW5n
ZWQsIGZha2UgbW91c2UgdXAgYW5kIG1vdXNlIG1vdmUgZXZlbnRzIGFyZSBwb3N0ZWQKKyAgICAg
ICAgKiBVSVByb2Nlc3Mvd2luL1dlYlZpZXcuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3
Ojpvbk1vdXNlRXZlbnQpOgorICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvajoKKyAgICAgICAgKiB3aW4vV2ViS2l0Mi52Y3Byb2o6CisKIDIwMTEtMDQtMTIgIEFsZXhl
eSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgT2xp
dmVyIEh1bnQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvTmF0aXZlV2ViTW91
c2VFdmVudC5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL05hdGl2ZVdlYk1vdXNlRXZlbnQuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NTIzMDM2Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL05hdGl2ZVdlYk1vdXNlRXZlbnQuaApAQCAtMCww
ICsxLDYyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBOYXRpdmVXZWJNb3VzZUV2ZW50X2gKKyNk
ZWZpbmUgTmF0aXZlV2ViTW91c2VFdmVudF9oCisKKyNpbmNsdWRlICJXZWJFdmVudC5oIgorCisj
aWYgUExBVEZPUk0oTUFDKQorI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KK09CSkNfQ0xBU1Mg
TlNWaWV3OworI2VuZGlmCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBOYXRpdmVXZWJN
b3VzZUV2ZW50IDogcHVibGljIFdlYk1vdXNlRXZlbnQgeworcHVibGljOgorI2lmIFBMQVRGT1JN
KE1BQykKKyAgICBOYXRpdmVXZWJNb3VzZUV2ZW50KE5TRXZlbnQgKiwgTlNWaWV3ICopOworI2Vs
aWYgUExBVEZPUk0oV0lOKQorICAgIE5hdGl2ZVdlYk1vdXNlRXZlbnQoSFdORCwgVUlOVCBtZXNz
YWdlLCBXUEFSQU0sIExQQVJBTSwgYm9vbCk7CisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykK
KyAgICBOU0V2ZW50KiBuYXRpdmVFdmVudCgpIGNvbnN0IHsgcmV0dXJuIG1fbmF0aXZlRXZlbnQu
Z2V0KCk7IH0KKyNlbGlmIFBMQVRGT1JNKFdJTikKKyAgICBjb25zdCBNU0cqIG5hdGl2ZUV2ZW50
KCkgY29uc3QgeyByZXR1cm4gJm1fbmF0aXZlRXZlbnQ7IH0KKyNlbmRpZgorCitwcml2YXRlOgor
I2lmIFBMQVRGT1JNKE1BQykKKyAgICBSZXRhaW5QdHI8TlNFdmVudD4gbV9uYXRpdmVFdmVudDsK
KyNlbGlmIFBMQVRGT1JNKFdJTikKKyAgICBNU0cgbV9uYXRpdmVFdmVudDsKKyNlbmRpZgorfTsK
KworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBOYXRpdmVXZWJNb3VzZUV2ZW50
X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvTmF0aXZlV2ViTW91c2VF
dmVudE1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvTmF0aXZlV2ViTW91c2VFdmVu
dE1hYy5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNzA2NGEzCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9OYXRpdmVXZWJNb3VzZUV2
ZW50TWFjLm1tCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcu
aCIKKyNpbXBvcnQgIk5hdGl2ZVdlYk1vdXNlRXZlbnQuaCIKKworI2ltcG9ydCAiV2ViRXZlbnRG
YWN0b3J5LmgiCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitOYXRpdmVXZWJNb3VzZUV2ZW50OjpO
YXRpdmVXZWJNb3VzZUV2ZW50KE5TRXZlbnQqIGV2ZW50LCBOU1ZpZXcqIHZpZXcpCisgICAgOiBX
ZWJNb3VzZUV2ZW50KFdlYkV2ZW50RmFjdG9yeTo6Y3JlYXRlV2ViTW91c2VFdmVudChldmVudCwg
dmlldykpCisgICAgLCBtX25hdGl2ZUV2ZW50KGV2ZW50KQoreworfQorCit9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC93aW4vTmF0aXZlV2Vi
TW91c2VFdmVudFdpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvd2luL05hdGl2ZVdlYk1v
dXNlRXZlbnRXaW4uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjViODNk
YzYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvd2luL05hdGl2ZVdl
Yk1vdXNlRXZlbnRXaW4uY3BwCkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTmF0aXZlV2ViTW91c2VFdmVudC5oIgorCisjaW5jbHVk
ZSAiV2ViRXZlbnRGYWN0b3J5LmgiCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitOYXRpdmVXZWJN
b3VzZUV2ZW50OjpOYXRpdmVXZWJNb3VzZUV2ZW50KEhXTkQgaHduZCwgVUlOVCBtZXNzYWdlLCBX
UEFSQU0gd1BhcmFtLCBMUEFSQU0gbFBhcmFtLCBib29sIGRpZEFjdGl2YXRlV2ViVmlldykKKyAg
ICA6IFdlYk1vdXNlRXZlbnQoV2ViRXZlbnRGYWN0b3J5OjpjcmVhdGVXZWJNb3VzZUV2ZW50KGh3
bmQsIG1lc3NhZ2UsIHdQYXJhbSwgbFBhcmFtLCBkaWRBY3RpdmF0ZVdlYlZpZXcpKQorICAgICwg
bV9uYXRpdmVFdmVudCgpCit7CisgICAgbV9uYXRpdmVFdmVudC5od25kID0gaHduZDsKKyAgICBt
X25hdGl2ZUV2ZW50Lm1lc3NhZ2UgPSBtZXNzYWdlOworICAgIG1fbmF0aXZlRXZlbnQud1BhcmFt
ID0gd1BhcmFtOworICAgIG1fbmF0aXZlRXZlbnQubFBhcmFtID0gbFBhcmFtOworfQorCit9IC8v
IG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvbWFjL1dLVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dLVmll
dy5tbQppbmRleCAzYTZiMzQ2Li45OTA5YzBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9tYWMvV0tWaWV3Lm1tCkBAIC0zNSw2ICszNSw3IEBACiAjaW1wb3J0ICJMYXllclRyZWVD
b250ZXh0LmgiCiAjaW1wb3J0ICJMb2dnaW5nLmgiCiAjaW1wb3J0ICJOYXRpdmVXZWJLZXlib2Fy
ZEV2ZW50LmgiCisjaW1wb3J0ICJOYXRpdmVXZWJNb3VzZUV2ZW50LmgiCiAjaW1wb3J0ICJQREZW
aWV3Q29udHJvbGxlci5oIgogI2ltcG9ydCAiUGFnZUNsaWVudEltcGwuaCIKICNpbXBvcnQgIlBh
c3RlYm9hcmRUeXBlcy5oIgpAQCAtOTI2LDYgKzkyNywyNyBAQCBzdGF0aWMgdm9pZCBzcGVha1N0
cmluZyhXS1N0cmluZ1JlZiBzdHJpbmcsIFdLRXJyb3JSZWYgZXJyb3IsIHZvaWQqKQogICAgIF9k
YXRhLT5fbW91c2VEb3duRXZlbnQgPSBbZXZlbnQgcmV0YWluXTsKIH0KIAorI2RlZmluZSBOQVRJ
VkVfTU9VU0VfRVZFTlRfSEFORExFUihTZWxlY3RvcikgXAorICAgIC0gKHZvaWQpU2VsZWN0b3I6
KE5TRXZlbnQgKil0aGVFdmVudCBcCisgICAgeyBcCisgICAgICAgIE5hdGl2ZVdlYk1vdXNlRXZl
bnQgd2ViRXZlbnQodGhlRXZlbnQsIHNlbGYpOyBcCisgICAgICAgIF9kYXRhLT5fcGFnZS0+aGFu
ZGxlTW91c2VFdmVudCh3ZWJFdmVudCk7IFwKKyAgICB9CisKK05BVElWRV9NT1VTRV9FVkVOVF9I
QU5ETEVSKG1vdXNlRW50ZXJlZCkKK05BVElWRV9NT1VTRV9FVkVOVF9IQU5ETEVSKG1vdXNlRXhp
dGVkKQorTkFUSVZFX01PVVNFX0VWRU5UX0hBTkRMRVIobW91c2VNb3ZlZCkKK05BVElWRV9NT1VT
RV9FVkVOVF9IQU5ETEVSKG90aGVyTW91c2VEb3duKQorTkFUSVZFX01PVVNFX0VWRU5UX0hBTkRM
RVIob3RoZXJNb3VzZURyYWdnZWQpCitOQVRJVkVfTU9VU0VfRVZFTlRfSEFORExFUihvdGhlck1v
dXNlTW92ZWQpCitOQVRJVkVfTU9VU0VfRVZFTlRfSEFORExFUihvdGhlck1vdXNlVXApCitOQVRJ
VkVfTU9VU0VfRVZFTlRfSEFORExFUihyaWdodE1vdXNlRG93bikKK05BVElWRV9NT1VTRV9FVkVO
VF9IQU5ETEVSKHJpZ2h0TW91c2VEcmFnZ2VkKQorTkFUSVZFX01PVVNFX0VWRU5UX0hBTkRMRVIo
cmlnaHRNb3VzZU1vdmVkKQorTkFUSVZFX01PVVNFX0VWRU5UX0hBTkRMRVIocmlnaHRNb3VzZVVw
KQorCisjdW5kZWYgTkFUSVZFX01PVVNFX0VWRU5UX0hBTkRMRVIKKwogI2RlZmluZSBFVkVOVF9I
QU5ETEVSKFNlbGVjdG9yLCBUeXBlKSBcCiAgICAgLSAodm9pZClTZWxlY3RvcjooTlNFdmVudCAq
KXRoZUV2ZW50IFwKICAgICB7IFwKQEAgLTkzMywxNyArOTU1LDYgQEAgc3RhdGljIHZvaWQgc3Bl
YWtTdHJpbmcoV0tTdHJpbmdSZWYgc3RyaW5nLCBXS0Vycm9yUmVmIGVycm9yLCB2b2lkKikKICAg
ICAgICAgX2RhdGEtPl9wYWdlLT5oYW5kbGUjI1R5cGUjI0V2ZW50KHdlYkV2ZW50KTsgXAogICAg
IH0KIAotRVZFTlRfSEFORExFUihtb3VzZUVudGVyZWQsIE1vdXNlKQotRVZFTlRfSEFORExFUiht
b3VzZUV4aXRlZCwgTW91c2UpCi1FVkVOVF9IQU5ETEVSKG1vdXNlTW92ZWQsIE1vdXNlKQotRVZF
TlRfSEFORExFUihvdGhlck1vdXNlRG93biwgTW91c2UpCi1FVkVOVF9IQU5ETEVSKG90aGVyTW91
c2VEcmFnZ2VkLCBNb3VzZSkKLUVWRU5UX0hBTkRMRVIob3RoZXJNb3VzZU1vdmVkLCBNb3VzZSkK
LUVWRU5UX0hBTkRMRVIob3RoZXJNb3VzZVVwLCBNb3VzZSkKLUVWRU5UX0hBTkRMRVIocmlnaHRN
b3VzZURvd24sIE1vdXNlKQotRVZFTlRfSEFORExFUihyaWdodE1vdXNlRHJhZ2dlZCwgTW91c2Up
Ci1FVkVOVF9IQU5ETEVSKHJpZ2h0TW91c2VNb3ZlZCwgTW91c2UpCi1FVkVOVF9IQU5ETEVSKHJp
Z2h0TW91c2VVcCwgTW91c2UpCiBFVkVOVF9IQU5ETEVSKHNjcm9sbFdoZWVsLCBXaGVlbCkKIAog
I3VuZGVmIEVWRU5UX0hBTkRMRVIKQEAgLTk1Myw4ICs5NjQsNyBAQCBFVkVOVF9IQU5ETEVSKHNj
cm9sbFdoZWVsLCBXaGVlbCkKICAgICBOU0lucHV0TWFuYWdlciAqY3VycmVudElucHV0TWFuYWdl
ciA9IFtOU0lucHV0TWFuYWdlciBjdXJyZW50SW5wdXRNYW5hZ2VyXTsKICAgICBpZiAoW2N1cnJl
bnRJbnB1dE1hbmFnZXIgd2FudHNUb0hhbmRsZU1vdXNlRXZlbnRzXSAmJiBbY3VycmVudElucHV0
TWFuYWdlciBoYW5kbGVNb3VzZUV2ZW50OmV2ZW50XSkKICAgICAgICAgcmV0dXJuOwotICAgIFdl
Yk1vdXNlRXZlbnQgd2ViRXZlbnQgPSBXZWJFdmVudEZhY3Rvcnk6OmNyZWF0ZVdlYk1vdXNlRXZl
bnQoZXZlbnQsIHNlbGYpOwotICAgIF9kYXRhLT5fcGFnZS0+aGFuZGxlTW91c2VFdmVudCh3ZWJF
dmVudCk7CisgICAgX2RhdGEtPl9wYWdlLT5oYW5kbGVNb3VzZUV2ZW50KE5hdGl2ZVdlYk1vdXNl
RXZlbnQoZXZlbnQsIHNlbGYpKTsKIH0KIAogLSAodm9pZCltb3VzZURvd246KE5TRXZlbnQgKill
dmVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCBmOGNj
ZTE5Li4xOTQ1NWFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNw
cApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIkZpbmRJbmRpY2F0b3IuaCIKICNpbmNsdWRl
ICJNZXNzYWdlSUQuaCIKICNpbmNsdWRlICJOYXRpdmVXZWJLZXlib2FyZEV2ZW50LmgiCisjaW5j
bHVkZSAiTmF0aXZlV2ViTW91c2VFdmVudC5oIgogI2luY2x1ZGUgIlBhZ2VDbGllbnQuaCIKICNp
bmNsdWRlICJQcmludEluZm8uaCIKICNpbmNsdWRlICJTZXNzaW9uU3RhdGUuaCIKQEAgLTgxMSw3
ICs4MTIsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZHJhZ0VuZGVkKGNvbnN0IFdlYkNvcmU6Oklu
dFBvaW50JiBjbGllbnRQb3NpdGlvbiwgY29uc3QgV2ViQwogICAgIHByb2Nlc3MoKS0+c2VuZChN
ZXNzYWdlczo6V2ViUGFnZTo6RHJhZ0VuZGVkKGNsaWVudFBvc2l0aW9uLCBnbG9iYWxQb3NpdGlv
biwgb3BlcmF0aW9uKSwgbV9wYWdlSUQpOwogfQogCi12b2lkIFdlYlBhZ2VQcm94eTo6aGFuZGxl
TW91c2VFdmVudChjb25zdCBXZWJNb3VzZUV2ZW50JiBldmVudCkKK3ZvaWQgV2ViUGFnZVByb3h5
OjpoYW5kbGVNb3VzZUV2ZW50KGNvbnN0IE5hdGl2ZVdlYk1vdXNlRXZlbnQmIGV2ZW50KQogewog
ICAgIGlmICghaXNWYWxpZCgpKQogICAgICAgICByZXR1cm47CkBAIC04MjEsMTMgKzgyMiwyMCBA
QCB2b2lkIFdlYlBhZ2VQcm94eTo6aGFuZGxlTW91c2VFdmVudChjb25zdCBXZWJNb3VzZUV2ZW50
JiBldmVudCkKICAgICAgICAgcHJvY2VzcygpLT5yZXNwb25zaXZlbmVzc1RpbWVyKCktPnN0YXJ0
KCk7CiAgICAgZWxzZSB7CiAgICAgICAgIGlmIChtX3Byb2Nlc3NpbmdNb3VzZU1vdmVFdmVudCkg
ewotICAgICAgICAgICAgbV9uZXh0TW91c2VNb3ZlRXZlbnQgPSBhZG9wdFB0cihuZXcgV2ViTW91
c2VFdmVudChldmVudCkpOworICAgICAgICAgICAgbV9uZXh0TW91c2VNb3ZlRXZlbnQgPSBhZG9w
dFB0cihuZXcgTmF0aXZlV2ViTW91c2VFdmVudChldmVudCkpOwogICAgICAgICAgICAgcmV0dXJu
OwogICAgICAgICB9CiAKICAgICAgICAgbV9wcm9jZXNzaW5nTW91c2VNb3ZlRXZlbnQgPSB0cnVl
OwogICAgIH0KIAorICAgIC8vIDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NTc5MDQ+IFdlIG5lZWQgdG8ga2VlcCB0cmFjayBvZiB0aGUgbW91c2UgZG93biBldmVudCBp
biB0aGUgY2FzZSB3aGVyZSB3ZQorICAgIC8vIGRpc3BsYXkgYSBwb3B1cCBtZW51IGZvciBzZWxl
Y3QgZWxlbWVudHMuIFdoZW4gdGhlIHVzZXIgY2hhbmdlcyB0aGUgc2VsZWN0ZWQgaXRlbSwKKyAg
ICAvLyB3ZSBmYWtlIGEgbW91c2UgdXAgZXZlbnQgYnkgdXNpbmcgdGhpcyBzdG9yZWQgZG93biBl
dmVudC4gVGhpcyBldmVudCBnZXRzIGNsZWFyZWQKKyAgICAvLyB3aGVuIHRoZSBtb3VzZSB1cCBt
ZXNzYWdlIGlzIHJlY2VpdmVkIGZyb20gV2ViUHJvY2Vzcy4KKyAgICBpZiAoZXZlbnQudHlwZSgp
ID09IFdlYkV2ZW50OjpNb3VzZURvd24pCisgICAgICAgIG1fY3VycmVudGx5UHJvY2Vzc2VkTW91
c2VEb3duRXZlbnQgPSBhZG9wdFB0cihuZXcgTmF0aXZlV2ViTW91c2VFdmVudChldmVudCkpOwor
CiAgICAgcHJvY2VzcygpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpNb3VzZUV2ZW50KGV2ZW50
KSwgbV9wYWdlSUQpOwogfQogCkBAIC0yMjA3LDYgKzIyMTUsMTEgQEAgdm9pZCBXZWJQYWdlUHJv
eHk6OnNldFRleHRGcm9tSXRlbUZvclBvcHVwTWVudShXZWJQb3B1cE1lbnVQcm94eSosIGludDMy
X3QgaW5kZXgKICAgICBwcm9jZXNzKCktPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OlNldFRleHRG
b3JBY3RpdmVQb3B1cE1lbnUoaW5kZXgpLCBtX3BhZ2VJRCk7CiB9CiAKK05hdGl2ZVdlYk1vdXNl
RXZlbnQqIFdlYlBhZ2VQcm94eTo6Y3VycmVudGx5UHJvY2Vzc2VkTW91c2VEb3duRXZlbnQoKQor
eworICAgIHJldHVybiBtX2N1cnJlbnRseVByb2Nlc3NlZE1vdXNlRG93bkV2ZW50LmdldCgpOwor
fQorCiB2b2lkIFdlYlBhZ2VQcm94eTo6c2hvd1BvcHVwTWVudShjb25zdCBJbnRSZWN0JiByZWN0
LCB1aW50NjRfdCB0ZXh0RGlyZWN0aW9uLCBjb25zdCBWZWN0b3I8V2ViUG9wdXBJdGVtPiYgaXRl
bXMsIGludDMyX3Qgc2VsZWN0ZWRJbmRleCwgY29uc3QgUGxhdGZvcm1Qb3B1cE1lbnVEYXRhJiBk
YXRhKQogewogICAgIGlmIChtX2FjdGl2ZVBvcHVwTWVudSkgewpAQCAtMjU0MSwxMiArMjU1NCwx
NCBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkUmVjZWl2ZUV2ZW50KHVpbnQzMl90IG9wYXF1ZVR5
cGUsIGJvb2wgaGFuZGxlZCkKICAgICAgICAgfQogICAgICAgICBicmVhazsKICAgICBjYXNlIFdl
YkV2ZW50OjpNb3VzZURvd246Ci0gICAgY2FzZSBXZWJFdmVudDo6TW91c2VVcDoKICNpZiBFTkFC
TEUoR0VTVFVSRV9FVkVOVFMpCiAgICAgY2FzZSBXZWJFdmVudDo6R2VzdHVyZVNjcm9sbEJlZ2lu
OgogICAgIGNhc2UgV2ViRXZlbnQ6Okdlc3R1cmVTY3JvbGxFbmQ6CiAjZW5kaWYKICAgICAgICAg
YnJlYWs7CisgICAgY2FzZSBXZWJFdmVudDo6TW91c2VVcDoKKyAgICAgICAgbV9jdXJyZW50bHlQ
cm9jZXNzZWRNb3VzZURvd25FdmVudCA9IG51bGxwdHI7CisgICAgICAgIGJyZWFrOwogCiAgICAg
Y2FzZSBXZWJFdmVudDo6V2hlZWw6IHsKICAgICAgICAgbV9wcm9jZXNzaW5nV2hlZWxFdmVudCA9
IGZhbHNlOwpAQCAtMjc1NSw2ICsyNzcwLDkgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnByb2Nlc3NE
aWRDcmFzaCgpCiAKICAgICAvLyBDYW4ndCBleHBlY3QgRGlkUmVjZWl2ZUV2ZW50IG5vdGlmaWNh
dGlvbnMgZnJvbSBhIGNyYXNoZWQgd2ViIHByb2Nlc3MuCiAgICAgbV9rZXlFdmVudFF1ZXVlLmNs
ZWFyKCk7CisgICAgbV9uZXh0V2hlZWxFdmVudCA9IG51bGxwdHI7CisgICAgbV9uZXh0TW91c2VN
b3ZlRXZlbnQgPSBudWxscHRyOworICAgIG1fY3VycmVudGx5UHJvY2Vzc2VkTW91c2VEb3duRXZl
bnQgPSBudWxscHRyOwogfQogCiBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzIFdlYlBhZ2VQcm94
eTo6Y3JlYXRpb25QYXJhbWV0ZXJzKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuaAppbmRleCAxYzcyNjJlLi41MjVlZDc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC03OCw2ICs3OCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBOYXRpdmVXZWJLZXlib2FyZEV2ZW50OworY2xh
c3MgTmF0aXZlV2ViTW91c2VFdmVudDsKIGNsYXNzIFBhZ2VDbGllbnQ7CiBjbGFzcyBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbzsKIGNsYXNzIFN0cmluZ1BhaXJWZWN0b3I7CkBAIC0yODcsNyArMjg4
LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0QWN0dWFsVmlzaWJsZUNvbnRlbnRSZWN0KGNvbnN0
IFdlYkNvcmU6OkludFJlY3QmIHJlY3QpOwogI2VuZGlmCiAKLSAgICB2b2lkIGhhbmRsZU1vdXNl
RXZlbnQoY29uc3QgV2ViTW91c2VFdmVudCYpOworICAgIHZvaWQgaGFuZGxlTW91c2VFdmVudChj
b25zdCBOYXRpdmVXZWJNb3VzZUV2ZW50Jik7CiAgICAgdm9pZCBoYW5kbGVXaGVlbEV2ZW50KGNv
bnN0IFdlYldoZWVsRXZlbnQmKTsKICAgICB2b2lkIGhhbmRsZUtleWJvYXJkRXZlbnQoY29uc3Qg
TmF0aXZlV2ViS2V5Ym9hcmRFdmVudCYpOwogI2lmIEVOQUJMRShHRVNUVVJFX0VWRU5UUykKQEAg
LTQ5OCw2ICs0OTksNyBAQCBwcml2YXRlOgogICAgIC8vIFdlYlBvcHVwTWVudVByb3h5OjpDbGll
bnQKICAgICB2aXJ0dWFsIHZvaWQgdmFsdWVDaGFuZ2VkRm9yUG9wdXBNZW51KFdlYlBvcHVwTWVu
dVByb3h5KiwgaW50MzJfdCBuZXdTZWxlY3RlZEluZGV4KTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0
VGV4dEZyb21JdGVtRm9yUG9wdXBNZW51KFdlYlBvcHVwTWVudVByb3h5KiwgaW50MzJfdCBpbmRl
eCk7CisgICAgdmlydHVhbCBOYXRpdmVXZWJNb3VzZUV2ZW50KiBjdXJyZW50bHlQcm9jZXNzZWRN
b3VzZURvd25FdmVudCgpOwogCiAgICAgLy8gSW1wbGVtZW50ZWQgaW4gZ2VuZXJhdGVkIFdlYlBh
Z2VQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAKICAgICB2b2lkIGRpZFJlY2VpdmVXZWJQYWdlUHJv
eHlNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJ
UEM6OkFyZ3VtZW50RGVjb2RlciopOwpAQCAtNzk2LDcgKzc5OCw4IEBAIHByaXZhdGU6CiAgICAg
T3duUHRyPFdlYldoZWVsRXZlbnQ+IG1fbmV4dFdoZWVsRXZlbnQ7CiAKICAgICBib29sIG1fcHJv
Y2Vzc2luZ01vdXNlTW92ZUV2ZW50OwotICAgIE93blB0cjxXZWJNb3VzZUV2ZW50PiBtX25leHRN
b3VzZU1vdmVFdmVudDsKKyAgICBPd25QdHI8TmF0aXZlV2ViTW91c2VFdmVudD4gbV9uZXh0TW91
c2VNb3ZlRXZlbnQ7CisgICAgT3duUHRyPE5hdGl2ZVdlYk1vdXNlRXZlbnQ+IG1fY3VycmVudGx5
UHJvY2Vzc2VkTW91c2VEb3duRXZlbnQ7CiAKICAgICB1aW50NjRfdCBtX3BhZ2VJRDsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBvcHVwTWVudVByb3h5LmggYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUG9wdXBNZW51UHJveHkuaAppbmRleCA5NjkwMWZi
Li4wYWY4ODgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUG9wdXBN
ZW51UHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUG9wdXBNZW51UHJv
eHkuaApAQCAtMzksNiArMzksNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogc3RydWN0IFBsYXRm
b3JtUG9wdXBNZW51RGF0YTsKIHN0cnVjdCBXZWJQb3B1cEl0ZW07CitjbGFzcyBOYXRpdmVXZWJN
b3VzZUV2ZW50OwogCiBjbGFzcyBXZWJQb3B1cE1lbnVQcm94eSA6IHB1YmxpYyBSZWZDb3VudGVk
PFdlYlBvcHVwTWVudVByb3h5PiB7CiBwdWJsaWM6CkBAIC01MSw2ICs1Miw3IEBAIHB1YmxpYzoK
ICAgICBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgdm9pZCB2YWx1ZUNoYW5nZWRGb3JQb3B1cE1l
bnUoV2ViUG9wdXBNZW51UHJveHkqLCBpbnQzMl90IG5ld1NlbGVjdGVkSW5kZXgpID0gMDsKICAg
ICAgICAgdmlydHVhbCB2b2lkIHNldFRleHRGcm9tSXRlbUZvclBvcHVwTWVudShXZWJQb3B1cE1l
bnVQcm94eSosIGludDMyX3QgaW5kZXgpID0gMDsKKyAgICAgICAgdmlydHVhbCBOYXRpdmVXZWJN
b3VzZUV2ZW50KiBjdXJyZW50bHlQcm9jZXNzZWRNb3VzZURvd25FdmVudCgpID0gMDsKICAgICB9
OwogCiAgICAgdmlydHVhbCB+V2ViUG9wdXBNZW51UHJveHkoKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJQb3B1cE1lbnVQcm94eU1hYy5tbSBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViUG9wdXBNZW51UHJveHlNYWMubW0KaW5kZXggN2NlODc2
NC4uNDZkNDU0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJQ
b3B1cE1lbnVQcm94eU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dl
YlBvcHVwTWVudVByb3h5TWFjLm1tCkBAIC0yNiw2ICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcu
aCIKICNpbXBvcnQgIldlYlBvcHVwTWVudVByb3h5TWFjLmgiCiAKKyNpbXBvcnQgIk5hdGl2ZVdl
Yk1vdXNlRXZlbnQuaCIKICNpbXBvcnQgIlBhZ2VDbGllbnRJbXBsLmgiCiAjaW1wb3J0ICJQbGF0
Zm9ybVBvcHVwTWVudURhdGEuaCIKICNpbXBvcnQgIldLVmlldy5oIgpAQCAtMTIyLDkgKzEyMyw0
MSBAQCB2b2lkIFdlYlBvcHVwTWVudVByb3h5TWFjOjpzaG93UG9wdXBNZW51KGNvbnN0IEludFJl
Y3QmIHJlY3QsIFRleHREaXJlY3Rpb24gdGV4dAogCiAgICAgW21fcG9wdXAuZ2V0KCkgZGlzbWlz
c1BvcFVwXTsKICAgICBbZHVtbXlWaWV3LmdldCgpIHJlbW92ZUZyb21TdXBlcnZpZXddOwotCi0g
ICAgaWYgKG1fY2xpZW50KQotICAgICAgICBtX2NsaWVudC0+dmFsdWVDaGFuZ2VkRm9yUG9wdXBN
ZW51KHRoaXMsIFttX3BvcHVwLmdldCgpIGluZGV4T2ZTZWxlY3RlZEl0ZW1dKTsKKyAgICAKKyAg
ICBpZiAoIW1fY2xpZW50KQorICAgICAgICByZXR1cm47CisgICAgCisgICAgbV9jbGllbnQtPnZh
bHVlQ2hhbmdlZEZvclBvcHVwTWVudSh0aGlzLCBbbV9wb3B1cC5nZXQoKSBpbmRleE9mU2VsZWN0
ZWRJdGVtXSk7CisgICAgCisgICAgLy8gPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD01NzkwND4gVGhpcyBjb2RlIGlzIGFkb3B0ZWQgZnJvbSBFdmVudEhhbmRsZXI6OnNl
bmRGYWtlRXZlbnRzQWZ0ZXJXaWRnZXRUcmFja2luZygpLgorICAgIGlmICghbV9jbGllbnQtPmN1
cnJlbnRseVByb2Nlc3NlZE1vdXNlRG93bkV2ZW50KCkpCisgICAgICAgIHJldHVybjsKKyAgICAK
KyAgICBOU0V2ZW50KiBpbml0aWF0aW5nTlNFdmVudCA9IG1fY2xpZW50LT5jdXJyZW50bHlQcm9j
ZXNzZWRNb3VzZURvd25FdmVudCgpLT5uYXRpdmVFdmVudCgpOworICAgIGlmIChbaW5pdGlhdGlu
Z05TRXZlbnQgdHlwZV0gIT0gTlNMZWZ0TW91c2VEb3duKQorICAgICAgICByZXR1cm47CisgICAg
CisgICAgTlNFdmVudCAqZmFrZUV2ZW50ID0gW05TRXZlbnQgbW91c2VFdmVudFdpdGhUeXBlOk5T
TGVmdE1vdXNlVXAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bG9jYXRpb246W2luaXRpYXRpbmdOU0V2ZW50IGxvY2F0aW9uSW5XaW5kb3ddCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RpZmllckZsYWdzOltpbml0aWF0aW5nTlNF
dmVudCBtb2RpZmllckZsYWdzXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHRpbWVzdGFtcDpbaW5pdGlhdGluZ05TRXZlbnQgdGltZXN0YW1wXQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvd051bWJlcjpbaW5pdGlhdGluZ05T
RXZlbnQgd2luZG93TnVtYmVyXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29udGV4dDpbaW5pdGlhdGluZ05TRXZlbnQgY29udGV4dF0KKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnROdW1iZXI6W2luaXRpYXRpbmdOU0V2
ZW50IGV2ZW50TnVtYmVyXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY2xpY2tDb3VudDpbaW5pdGlhdGluZ05TRXZlbnQgY2xpY2tDb3VudF0KKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlc3N1cmU6W2luaXRpYXRpbmdOU0V2
ZW50IHByZXNzdXJlXV07CisgICAgCisgICAgW05TQXBwIHBvc3RFdmVudDpmYWtlRXZlbnQgYXRT
dGFydDpZRVNdOworICAgIGZha2VFdmVudCA9IFtOU0V2ZW50IG1vdXNlRXZlbnRXaXRoVHlwZTpO
U01vdXNlTW92ZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb246
W1ttX3dlYlZpZXcgd2luZG93XSBjb252ZXJ0U2NyZWVuVG9CYXNlOltOU0V2ZW50IG1vdXNlTG9j
YXRpb25dXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZpZXJGbGFnczpbaW5p
dGlhdGluZ05TRXZlbnQgbW9kaWZpZXJGbGFnc10KKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB0aW1lc3RhbXA6W2luaXRpYXRpbmdOU0V2ZW50IHRpbWVzdGFtcF0KKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3dOdW1iZXI6W2luaXRpYXRpbmdOU0V2ZW50IHdp
bmRvd051bWJlcl0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6
W2luaXRpYXRpbmdOU0V2ZW50IGNvbnRleHRdCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGV2ZW50TnVtYmVyOjAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWNr
Q291bnQ6MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVzc3VyZTowXTsK
KyAgICBbTlNBcHAgcG9zdEV2ZW50OmZha2VFdmVudCBhdFN0YXJ0OllFU107CiB9CiAKIHZvaWQg
V2ViUG9wdXBNZW51UHJveHlNYWM6OmhpZGVQb3B1cE1lbnUoKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL3dpbi9XZWJQb3B1cE1lbnVQcm94eVdpbi5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3Mvd2luL1dlYlBvcHVwTWVudVByb3h5V2luLmNwcAppbmRleCBlZWJk
ZTc1Li5hOGQ4MDYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mvd2luL1dl
YlBvcHVwTWVudVByb3h5V2luLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mvd2lu
L1dlYlBvcHVwTWVudVByb3h5V2luLmNwcApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgImNv
bmZpZy5oIgogI2luY2x1ZGUgIldlYlBvcHVwTWVudVByb3h5V2luLmgiCiAKKyNpbmNsdWRlICJO
YXRpdmVXZWJNb3VzZUV2ZW50LmgiCiAjaW5jbHVkZSAiV2ViVmlldy5oIgogI2luY2x1ZGUgPFdl
YkNvcmUvV2ViQ29yZUluc3RhbmNlSGFuZGxlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TY3JvbGxi
YXJUaGVtZS5oPgpAQCAtMzI0LDggKzMyNSwyNiBAQCB2b2lkIFdlYlBvcHVwTWVudVByb3h5V2lu
OjpzaG93UG9wdXBNZW51KGNvbnN0IEludFJlY3QmIHJlY3QsIFRleHREaXJlY3Rpb24sIGRvdQog
ICAgIG1fc2hvd1BvcHVwID0gZmFsc2U7CiAgICAgOjpTaG93V2luZG93KG1fcG9wdXAsIFNXX0hJ
REUpOwogCi0gICAgaWYgKG1fY2xpZW50KQotICAgICAgICBtX2NsaWVudC0+dmFsdWVDaGFuZ2Vk
Rm9yUG9wdXBNZW51KHRoaXMsIG1fbmV3U2VsZWN0ZWRJbmRleCk7CisgICAgaWYgKCFtX2NsaWVu
dCkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9jbGllbnQtPnZhbHVlQ2hhbmdlZEZvclBvcHVw
TWVudSh0aGlzLCBtX25ld1NlbGVjdGVkSW5kZXgpOworCisgICAgLy8gPGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NzkwND4gSW4gb3JkZXIgdG8gcHJvcGVybHkgY2Fs
bCB0aGUgb25DbGljaygpCisgICAgLy8gaGFuZGxlciBvbiBhIDxzZWxlY3Q+IGVsZW1lbnQsIHdl
IG5lZWQgdG8gZmFrZSBhIG1vdXNlIHVwIGV2ZW50IGluIHRoZSBtYWluIHdpbmRvdy4KKyAgICAv
LyBUaGUgbWFpbiB3aW5kb3cgYWxyZWFkeSByZWNlaXZlZCB0aGUgbW91c2UgZG93biwgd2hpY2gg
c2hvd2VkIHRoaXMgcG9wdXAsIGJ1dCB1cG9uCisgICAgLy8gc2VsZWN0aW9uIG9mIGFuIGl0ZW0g
dGhlIG1vdXNlIHVwIGdldHMgZWF0ZW4gYnkgdGhlIHBvcHVwIG1lbnUuIFNvIHdlIHRha2UgdGhl
IG1vdXNlIGRvd24KKyAgICAvLyBldmVudCwgY2hhbmdlIHRoZSBtZXNzYWdlIHR5cGUgdG8gYSBt
b3VzZSB1cCBldmVudCwgYW5kIHBvc3QgdGhhdCBpbiB0aGUgbWVzc2FnZSBxdWV1ZS4KKyAgICAv
LyBUaHVzLCB3ZSBhcmUgdmlydHVhbGx5IGNsaWNraW5nIGF0IHRoZQorICAgIC8vIHNhbWUgbG9j
YXRpb24gd2hlcmUgdGhlIG1vdXNlIGRvd24gZXZlbnQgb2NjdXJyZWQuIFRoaXMgYWxsb3dzIHRo
ZSBoaXQgdGVzdCB0byBzZWxlY3QKKyAgICAvLyB0aGUgY29ycmVjdCBlbGVtZW50LCBhbmQgdGhl
cmVieSBjYWxsIHRoZSBvbkNsaWNrKCkgSlMgaGFuZGxlci4KKyAgICBpZiAoIW1fY2xpZW50LT5j
dXJyZW50bHlQcm9jZXNzZWRNb3VzZURvd25FdmVudCgpKQorICAgICAgICByZXR1cm47CisgICAg
ICAgIAorICAgIGNvbnN0IE1TRyogaW5pdGlhdGluZ1dpbkV2ZW50ID0gbV9jbGllbnQtPmN1cnJl
bnRseVByb2Nlc3NlZE1vdXNlRG93bkV2ZW50KCktPm5hdGl2ZUV2ZW50KCk7CisgICAgTVNHIGZh
a2VFdmVudCA9ICppbml0aWF0aW5nV2luRXZlbnQ7CisgICAgZmFrZUV2ZW50Lm1lc3NhZ2UgPSBX
TV9MQlVUVE9OVVA7CisgICAgOjpQb3N0TWVzc2FnZShmYWtlRXZlbnQuaHduZCwgZmFrZUV2ZW50
Lm1lc3NhZ2UsIGZha2VFdmVudC53UGFyYW0sIGZha2VFdmVudC5sUGFyYW0pOwogfQogCiB2b2lk
IFdlYlBvcHVwTWVudVByb3h5V2luOjpoaWRlUG9wdXBNZW51KCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy93aW4vV2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3Mvd2luL1dlYlZpZXcuY3BwCmluZGV4IDU0Y2U5ZTUuLjk3ZGVmODIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy93aW4vV2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL3dpbi9XZWJWaWV3LmNwcApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1
ZGUgIkZpbmRJbmRpY2F0b3IuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTmF0
aXZlV2ViS2V5Ym9hcmRFdmVudC5oIgorI2luY2x1ZGUgIk5hdGl2ZVdlYk1vdXNlRXZlbnQuaCIK
ICNpbmNsdWRlICJSZWdpb24uaCIKICNpbmNsdWRlICJSdW5Mb29wLmgiCiAjaW5jbHVkZSAiV0tB
UElDYXN0LmgiCkBAIC0zODcsNyArMzg4LDcgQEAgdm9pZCBXZWJWaWV3Ojp3aW5kb3dBbmNlc3Ry
eURpZENoYW5nZSgpCiAKIExSRVNVTFQgV2ViVmlldzo6b25Nb3VzZUV2ZW50KEhXTkQgaFduZCwg
VUlOVCBtZXNzYWdlLCBXUEFSQU0gd1BhcmFtLCBMUEFSQU0gbFBhcmFtLCBib29sJiBoYW5kbGVk
KQogewotICAgIFdlYk1vdXNlRXZlbnQgbW91c2VFdmVudCA9IFdlYkV2ZW50RmFjdG9yeTo6Y3Jl
YXRlV2ViTW91c2VFdmVudChoV25kLCBtZXNzYWdlLCB3UGFyYW0sIGxQYXJhbSwgbV93YXNBY3Rp
dmF0ZWRCeU1vdXNlRXZlbnQpOworICAgIE5hdGl2ZVdlYk1vdXNlRXZlbnQgbW91c2VFdmVudCA9
IE5hdGl2ZVdlYk1vdXNlRXZlbnQoaFduZCwgbWVzc2FnZSwgd1BhcmFtLCBsUGFyYW0sIG1fd2Fz
QWN0aXZhdGVkQnlNb3VzZUV2ZW50KTsKICAgICBzZXRXYXNBY3RpdmF0ZWRCeU1vdXNlRXZlbnQo
ZmFsc2UpOwogICAgIAogICAgIHN3aXRjaCAobWVzc2FnZSkgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktp
dDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGUzNGVkNmIuLjVlZjk5
NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKQEAgLTIzNiw2ICsyMzYsNyBAQAogCQkxQ0E4Qjk1NDEyN0M4OTE1MDA1NzZDMkIgLyog
V2ViSW5zcGVjdG9yTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUM4RTJEQUQxMjc4QzVCMjAwQkM3QkQwIC8qIFdlYkluc3BlY3Rvck1hYy5tbSAq
LzsgfTsKIAkJMjlDRDU1QUExMjhFMjk0RjAwMTMzQzg1IC8qIEFjY2Vzc2liaWxpdHlXZWJQYWdl
T2JqZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAy
OUNENTVBODEyOEUyOTRGMDAxMzNDODUgLyogQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3QuaCAq
LzsgfTsKIAkJMjlDRDU1QUIxMjhFMjk0RjAwMTMzQzg1IC8qIEFjY2Vzc2liaWxpdHlXZWJQYWdl
T2JqZWN0Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MjlDRDU1QTkxMjhFMjk0RjAwMTMzQzg1IC8qIEFjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0Lm1t
ICovOyB9OworCQkzMUVBMjVEMjEzNEY3OEMwMDA1QjE0NTIgLyogTmF0aXZlV2ViTW91c2VFdmVu
dE1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMx
RUEyNUQwMTM0Rjc4QjIwMDVCMTQ1MiAvKiBOYXRpdmVXZWJNb3VzZUV2ZW50TWFjLm1tICovOyB9
OwogCQkzMzA5MzQ0NzEzMTVCOTIyMDA5N0E3QkMgLyogV2ViQ29va2llTWFuYWdlck1lc3NhZ2VS
ZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAzMzA5MzQ0MzEzMTVCOTIyMDA5N0E3QkMgLyogV2ViQ29va2llTWFuYWdlck1lc3NhZ2VSZWNl
aXZlci5jcHAgKi87IH07CiAJCTMzMDkzNDQ4MTMxNUI5MjIwMDk3QTdCQyAvKiBXZWJDb29raWVN
YW5hZ2VyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDMzMDkzNDQ0MTMxNUI5MjIwMDk3QTdCQyAvKiBXZWJDb29raWVNYW5hZ2VyTWVzc2Fn
ZXMuaCAqLzsgfTsKIAkJMzMwOTM0NDkxMzE1QjkyMjAwOTdBN0JDIC8qIFdlYkNvb2tpZU1hbmFn
ZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAzMzA5MzQ0NTEzMTVCOTIyMDA5N0E3QkMgLyogV2ViQ29va2llTWFu
YWdlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKQEAgLTExMTYsNiArMTExNyw4IEBA
CiAJCTFDQThCOTQ0MTI3Qzg4MkEwMDU3NkMyQiAvKiBXZWJJbnNwZWN0b3JQcm94eU1lc3NhZ2Vz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkluc3BlY3RvclByb3h5TWVz
c2FnZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjlDRDU1QTgxMjhFMjk0RjAw
MTMzQzg1IC8qIEFjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTI5Q0Q1NUE5MTI4RTI5NEYwMDEzM0M4NSAvKiBBY2Nlc3NpYmls
aXR5V2ViUGFnZU9iamVjdC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IEFjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkzMUVBMjVEMDEzNEY3OEIyMDA1QjE0NTIgLyogTmF0aXZlV2ViTW91c2VFdmVudE1h
Yy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IE5hdGl2ZVdlYk1vdXNlRXZlbnRNYWMubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRUEyNUQzMTM0Rjc4RDYwMDVCMTQ1MiAvKiBO
YXRpdmVXZWJNb3VzZUV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5h
dGl2ZVdlYk1vdXNlRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzJEQkNG
NUUwMzcwQURFRTAwQzkxNzgzIC8qIFdlYktpdDJQcmVmaXguaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gV2ViS2l0MlByZWZpeC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkzMzA5MzQ0MzEzMTVCOTIyMDA5N0E3QkMgLyogV2ViQ29va2llTWFuYWdlck1lc3NhZ2VS
ZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJDb29r
aWVNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMzMwOTM0NDQxMzE1QjkyMjAwOTdBN0JDIC8qIFdlYkNvb2tpZU1hbmFnZXJNZXNzYWdlcy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDb29raWVNYW5hZ2VyTWVzc2Fn
ZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIwNjksNiArMjA3Miw3IEBACiAJ
CQkJQkNCMEFFRTgxMjJGNTNFMzAwQjEzNDFFIC8qIE11dGFibGVEaWN0aW9uYXJ5LmNwcCAqLywK
IAkJCQlCQ0IwQUVFNzEyMkY1M0UzMDBCMTM0MUUgLyogTXV0YWJsZURpY3Rpb25hcnkuaCAqLywK
IAkJCQlDMDJCRkYxNTEyNTE0RkQ4MDA5Q0NCRUEgLyogTmF0aXZlV2ViS2V5Ym9hcmRFdmVudC5o
ICovLAorCQkJCTMxRUEyNUQzMTM0Rjc4RDYwMDVCMTQ1MiAvKiBOYXRpdmVXZWJNb3VzZUV2ZW50
LmggKi8sCiAJCQkJQkNDRjY3MzIxMkM3RjE1QzAwOEY5QzM1IC8qIE9yaWdpbkFuZERhdGFiYXNl
cy5jcHAgKi8sCiAJCQkJQkNDRjY3MkMxMkM3RURGNzAwOEY5QzM1IC8qIE9yaWdpbkFuZERhdGFi
YXNlcy5oICovLAogCQkJCUJDQzQzQUI4MTI3Qjk1REMwMDMxN0YxNiAvKiBQbGF0Zm9ybVBvcHVw
TWVudURhdGEuY3BwICovLApAQCAtMjc3NSw2ICsyNzc5LDcgQEAKIAkJCQkxQTk2MzlGNTEyRjM4
RUNEMDA3OEEwNjIgLyogQ29yZUFuaW1hdGlvblJlbmRlcmVyLmggKi8sCiAJCQkJMUE5NjM5RjYx
MkYzOEVDRDAwNzhBMDYyIC8qIENvcmVBbmltYXRpb25SZW5kZXJlci5tbSAqLywKIAkJCQkxQTky
REMxMjEyRjhCQUI5MDAxN0FGNjUgLyogTGF5ZXJUcmVlQ29udGV4dE1hYy5tbSAqLywKKwkJCQkz
MUVBMjVEMDEzNEY3OEIyMDA1QjE0NTIgLyogTmF0aXZlV2ViTW91c2VFdmVudE1hYy5tbSAqLywK
IAkJCQlDMDJCRkYxRDEyNTE1MDJFMDA5Q0NCRUEgLyogTmF0aXZlV2ViS2V5Ym9hcmRFdmVudE1h
Yy5tbSAqLywKIAkJCQlDNTc0QTU3RjEyRTY2NjgxMDAyREZFOTggLyogUGFzdGVib2FyZFR5cGVz
LmggKi8sCiAJCQkJQzU3NEE1ODAxMkU2NjY4MTAwMkRGRTk4IC8qIFBhc3RlYm9hcmRUeXBlcy5t
bSAqLywKQEAgLTQzMDcsNiArNDMxMiw3IEBACiAJCQkJNTE4MzQ1OTIxMzQ1MzJFOTAwOTJCNjk2
IC8qIFdlYkljb25EYXRhYmFzZUNsaWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMUEzMTcz
NTEzNENFQTgwMDA3QzlBNEYgLyogQXR0cmlidXRlZFN0cmluZy5tbSBpbiBTb3VyY2VzICovLAog
CQkJCUUxNzlGRDlGMTM0RDM4MjUwMDE1Qjg4MyAvKiBBcmd1bWVudENvZGVyc01hYy5tbSBpbiBT
b3VyY2VzICovLAorCQkJCTMxRUEyNUQyMTM0Rjc4QzAwMDVCMTQ1MiAvKiBOYXRpdmVXZWJNb3Vz
ZUV2ZW50TWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1l
bnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi93
aW4vV2ViS2l0Mi52Y3Byb2ogYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2oKaW5k
ZXggMDRlZWFiZi4uZTg2ODMxOCAxMDA3NTUKLS0tIGEvU291cmNlL1dlYktpdDIvd2luL1dlYktp
dDIudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJvagpAQCAtNDgz
LDYgKzQ4MywxMCBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQ
YXRoPSIuLlxTaGFyZWRcTmF0aXZlV2ViTW91c2VFdmVudC5oIgorCQkJCT4KKwkJCTwvRmlsZT4K
KwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxTaGFyZWRcT3JpZ2luQW5kRGF0YWJhc2Vz
LmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CkBAIC0xMTk0LDYgKzExOTgsNjQgQEAKIAkJCQkJPgog
CQkJCTwvRmlsZT4KIAkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFNoYXJlZFx3aW5c
TmF0aXZlV2ViTW91c2VFdmVudFdpbi5jcHAiCisJCQkJCT4KKwkJCQkJPEZpbGVDb25maWd1cmF0
aW9uCisJCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCQlPYmplY3RGaWxlPSIkKEludERpcilc
JChJbnB1dE5hbWUpMS5vYmoiCisJCQkJCQkJWE1MRG9jdW1lbnRhdGlvbkZpbGVOYW1lPSIkKElu
dERpcilcJChJbnB1dE5hbWUpMS54ZGMiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIi
CisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJ
CQkJCQkJT2JqZWN0RmlsZT0iJChJbnREaXIpXCQoSW5wdXROYW1lKTEub2JqIgorCQkJCQkJCVhN
TERvY3VtZW50YXRpb25GaWxlTmFtZT0iJChJbnREaXIpXCQoSW5wdXROYW1lKTEueGRjIgorCQkJ
CQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9u
CisJCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCQk+CisJCQkJCQk8
VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkJT2JqZWN0RmlsZT0i
JChJbnREaXIpXCQoSW5wdXROYW1lKTEub2JqIgorCQkJCQkJCVhNTERvY3VtZW50YXRpb25GaWxl
TmFtZT0iJChJbnREaXIpXCQoSW5wdXROYW1lKTEueGRjIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJSZWxl
YXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCQlPYmplY3RGaWxlPSIkKEludERpcilcJChJbnB1
dE5hbWUpMS5vYmoiCisJCQkJCQkJWE1MRG9jdW1lbnRhdGlvbkZpbGVOYW1lPSIkKEludERpcilc
JChJbnB1dE5hbWUpMS54ZGMiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgor
CQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIKKwkJ
CQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJ
CQlPYmplY3RGaWxlPSIkKEludERpcilcJChJbnB1dE5hbWUpMS5vYmoiCisJCQkJCQkJWE1MRG9j
dW1lbnRhdGlvbkZpbGVOYW1lPSIkKEludERpcilcJChJbnB1dE5hbWUpMS54ZGMiCisJCQkJCQkv
PgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJ
CQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkJT2JqZWN0RmlsZT0iJChJbnREaXIpXCQo
SW5wdXROYW1lKTEub2JqIgorCQkJCQkJCVhNTERvY3VtZW50YXRpb25GaWxlTmFtZT0iJChJbnRE
aXIpXCQoSW5wdXROYW1lKTEueGRjIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxTaGFyZWRc
d2luXFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNwcCIKIAkJCQkJPgogCQkJCTwvRmlsZT4KLS0g
CjEuNy40LjEKCg==
</data>
<flag name="review"
          id="82152"
          type_id="1"
          status="+"
          setter="andersca"
    />
    <flag name="commit-queue"
          id="82153"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89670</attachid>
            <date>2011-04-14 15:25:38 -0700</date>
            <delta_ts>2011-04-14 16:57:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-onClick-does-not-function-with-select-elements-in-We.patch</filename>
            <type>text/plain</type>
            <size>32717</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">RnJvbSA5ZGRlYTExZGM2YmNhNDQ1Njk3NmY4MWEzMDFmY2Y3NmIyZTU1OTYyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb24gTGVlIDxqb25sZWVAYXBwbGUuY29tPgpEYXRlOiBNb24s
IDExIEFwciAyMDExIDE1OjM5OjA1IC0wNzAwClN1YmplY3Q6IFtQQVRDSF0gb25DbGljayBkb2Vz
IG5vdCBmdW5jdGlvbiB3aXRoIDxzZWxlY3Q+IGVsZW1lbnRzIGluIFdlYktpdDIKIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NzkwNAogPHJkYXI6Ly9wcm9ibGVtLzky
MTc3NTc+CgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiogU2hhcmVkL05hdGl2ZVdlYk1v
dXNlRXZlbnQuaDogQ29waWVkIGZyb20gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBvcHVw
TWVudVByb3h5LmguCihXZWJLaXQ6Ok5hdGl2ZVdlYk1vdXNlRXZlbnQ6Om5hdGl2ZUV2ZW50KToK
KiBTaGFyZWQvbWFjL05hdGl2ZVdlYk1vdXNlRXZlbnRNYWMubW06IEFkZGVkLgooV2ViS2l0OjpO
YXRpdmVXZWJNb3VzZUV2ZW50OjpOYXRpdmVXZWJNb3VzZUV2ZW50KToKKiBTaGFyZWQvd2luL05h
dGl2ZVdlYk1vdXNlRXZlbnRXaW4uY3BwOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUG9wdXBNZW51UHJveHkuaC4KKFdlYktpdDo6TmF0aXZlV2ViTW91c2VFdmVudDo6
TmF0aXZlV2ViTW91c2VFdmVudCk6CiogVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tOgooLVtX
S1ZpZXcgX21vdXNlSGFuZGxlcjpdKTogUHJlLWNvbXBpbGVyIG1vdXNlIGhhbmRsZXIgY2FsbHMg
bmVlZCB0byB1c2UgdGhlIG5ldyBOYXRpdmVXZWJNb3VzZUV2ZW50IGNsYXNzCiogVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHA6CihXZWJLaXQ6OldlYlBhZ2VQcm94eTo6aGFuZGxlTW91c2VFdmVu
dCk6IGtlZXAgdHJhY2sgb2YgbW91c2UgZG93biBldmVudCBpbiBvcmRlciB0byBiZSBhYmxlIHRv
IHNlbmQgYSBmYWtlIG1vdXNlIHVwIGV2ZW50IG9uIHRoZSBzZWxlY3QgZWxlbWVudAooV2ViS2l0
OjpXZWJQYWdlUHJveHk6OmN1cnJlbnRNb3VzZURvd25FdmVudCk6IGZvciBhY2Nlc3MgYnkgdGhl
IHBvcHVwIG1lbnUgcHJveHkgdG8gZGlzcGF0Y2ggdGhlIGZha2UgbW91c2UgdXAgZXZlbnQKKFdl
YktpdDo6V2ViUGFnZVByb3h5OjpkaWRSZWNlaXZlRXZlbnQpOiBjbGVhciBvdXQgdGhlIGNhY2hl
ZCBtb3VzZSBkb3duIGV2ZW50CihXZWJLaXQ6OldlYlBhZ2VQcm94eTo6cHJvY2Vzc0RpZENyYXNo
KTogY2xlYXIgb3V0IHRoZSBjYWNoZWQgZXZlbnRzIHNpbmNlIHdlIGFzc3VtZSB0aGF0IGRpZFJl
Y2VpdmVFdmVudCBkaWQgbm90IGNhbGxlZCBwcmlvciB0byB0aGUgY3Jhc2gKKiBVSVByb2Nlc3Mv
V2ViUGFnZVByb3h5Lmg6CiogVUlQcm9jZXNzL1dlYlBvcHVwTWVudVByb3h5Lmg6CiogVUlQcm9j
ZXNzL21hYy9XZWJQb3B1cE1lbnVQcm94eU1hYy5tbToKKFdlYktpdDo6V2ViUG9wdXBNZW51UHJv
eHlNYWM6OnNob3dQb3B1cE1lbnUpOiBhZnRlciBub3RpZnlpbmcgdGhlIHBvcHVwIG1lbnUgY2xp
ZW50IHRoYXQgdGhlIHZhbHVlIGNoYW5nZWQsIGZha2UgbW91c2UgdXAgYW5kIG1vdXNlIG1vdmUg
ZXZlbnRzIGFyZSBwb3N0ZWQKKiBVSVByb2Nlc3Mvd2luL1dlYlBvcHVwTWVudVByb3h5V2luLmNw
cDoKKFdlYktpdDo6V2ViUG9wdXBNZW51UHJveHlXaW46OnNob3dQb3B1cE1lbnUpOiBhZnRlciBu
b3RpZnlpbmcgdGhlIHBvcHVwIG1lbnUgY2xpZW50IHRoYXQgdGhlIHZhbHVlIGNoYW5nZWQsIGZh
a2UgbW91c2UgdXAgYW5kIG1vdXNlIG1vdmUgZXZlbnRzIGFyZSBwb3N0ZWQKKiBVSVByb2Nlc3Mv
d2luL1dlYlZpZXcuY3BwOgooV2ViS2l0OjpXZWJWaWV3Ojpvbk1vdXNlRXZlbnQpOgoqIFdlYktp
dDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKiB3aW4vV2ViS2l0Mi52Y3Byb2o6Ci0tLQog
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDMy
ICsrKysrKysrKysKIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9OYXRpdmVXZWJNb3VzZUV2ZW50Lmgg
ICAgICAgIHwgICA2MiArKysrKysrKysrKysrKysrKysrKwogLi4uL1dlYktpdDIvU2hhcmVkL21h
Yy9OYXRpdmVXZWJNb3VzZUV2ZW50TWFjLm1tICAgfCAgIDM5ICsrKysrKysrKysrKwogLi4uL1dl
YktpdDIvU2hhcmVkL3dpbi9OYXRpdmVXZWJNb3VzZUV2ZW50V2luLmNwcCAgfCAgIDQzICsrKysr
KysrKysrKysrCiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0gICAg
ICAgICB8ICAgMzcgKysrKysrKy0tLS0tCiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcCAgICAgICAgICB8ICAgMjQgKysrKysrKy0KIFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaCAgICAgICAgICAgIHwgICAgNyArKy0KIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQb3B1cE1lbnVQcm94eS5oICAgICAgIHwgICAgMiArCiAuLi4vV2ViS2l0
Mi9VSVByb2Nlc3MvbWFjL1dlYlBvcHVwTWVudVByb3h5TWFjLm1tICB8ICAgMzkgKysrKysrKysr
KystCiAuLi4vV2ViS2l0Mi9VSVByb2Nlc3Mvd2luL1dlYlBvcHVwTWVudVByb3h5V2luLmNwcCB8
ICAgMjMgKysrKysrKy0KIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy93aW4vV2ViVmlldy5jcHAg
ICAgICAgICAgIHwgICAgMyArLQogU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qICAgfCAgICA2ICsrCiBTb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3By
b2ogICAgICAgICAgICAgICAgICB8ICAgNjIgKysrKysrKysrKysrKysrKysrKysKIDEzIGZpbGVz
IGNoYW5nZWQsIDM1NCBpbnNlcnRpb25zKCspLCAyNSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2Rl
IDEwMDY0NCBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvTmF0aXZlV2ViTW91c2VFdmVudC5oCiBjcmVh
dGUgbW9kZSAxMDA2NDQgU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9OYXRpdmVXZWJNb3VzZUV2
ZW50TWFjLm1tCiBjcmVhdGUgbW9kZSAxMDA2NDQgU291cmNlL1dlYktpdDIvU2hhcmVkL3dpbi9O
YXRpdmVXZWJNb3VzZUV2ZW50V2luLmNwcAoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBmM2ZjNDhiLi5iZTBlMTM3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMTEtMDQtMTEgIEpvbiBMZWUgIDxqb25s
ZWVAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIG9uQ2xpY2sgZG9lcyBub3QgZnVuY3Rpb24gd2l0aCA8c2VsZWN0PiBlbGVtZW50cyBp
biBXZWJLaXQyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD01NzkwNAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vOTIxNzc1Nz4KKworICAgICAgICAqIFNo
YXJlZC9OYXRpdmVXZWJNb3VzZUV2ZW50Lmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQb3B1cE1lbnVQcm94eS5oLgorICAgICAgICAoV2ViS2l0OjpOYXRpdmVXZWJN
b3VzZUV2ZW50OjpuYXRpdmVFdmVudCk6CisgICAgICAgICogU2hhcmVkL21hYy9OYXRpdmVXZWJN
b3VzZUV2ZW50TWFjLm1tOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6TmF0aXZlV2ViTW91c2VF
dmVudDo6TmF0aXZlV2ViTW91c2VFdmVudCk6CisgICAgICAgICogU2hhcmVkL3dpbi9OYXRpdmVX
ZWJNb3VzZUV2ZW50V2luLmNwcDogQ29waWVkIGZyb20gU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBvcHVwTWVudVByb3h5LmguCisgICAgICAgIChXZWJLaXQ6Ok5hdGl2ZVdlYk1vdXNlRXZl
bnQ6Ok5hdGl2ZVdlYk1vdXNlRXZlbnQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvbWFjL1dL
Vmlldy5tbToKKyAgICAgICAgKC1bV0tWaWV3IF9tb3VzZUhhbmRsZXI6XSk6IFByZS1jb21waWxl
ciBtb3VzZSBoYW5kbGVyIGNhbGxzIG5lZWQgdG8gdXNlIHRoZSBuZXcgTmF0aXZlV2ViTW91c2VF
dmVudCBjbGFzcworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmhhbmRsZU1vdXNlRXZlbnQpOiBrZWVwIHRyYWNrIG9m
IG1vdXNlIGRvd24gZXZlbnQgaW4gb3JkZXIgdG8gYmUgYWJsZSB0byBzZW5kIGEgZmFrZSBtb3Vz
ZSB1cCBldmVudCBvbiB0aGUgc2VsZWN0IGVsZW1lbnQKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZVByb3h5OjpjdXJyZW50TW91c2VEb3duRXZlbnQpOiBmb3IgYWNjZXNzIGJ5IHRoZSBwb3B1cCBt
ZW51IHByb3h5IHRvIGRpc3BhdGNoIHRoZSBmYWtlIG1vdXNlIHVwIGV2ZW50CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkUmVjZWl2ZUV2ZW50KTogY2xlYXIgb3V0IHRoZSBjYWNo
ZWQgbW91c2UgZG93biBldmVudAorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnByb2Nl
c3NEaWRDcmFzaCk6IGNsZWFyIG91dCB0aGUgY2FjaGVkIGV2ZW50cyBzaW5jZSB3ZSBhc3N1bWUg
dGhhdCBkaWRSZWNlaXZlRXZlbnQgZGlkIG5vdCBjYWxsZWQgcHJpb3IgdG8gdGhlIGNyYXNoCisg
ICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJQb3B1cE1lbnVQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvV2ViUG9wdXBNZW51
UHJveHlNYWMubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBvcHVwTWVudVByb3h5TWFjOjpzaG93
UG9wdXBNZW51KTogYWZ0ZXIgbm90aWZ5aW5nIHRoZSBwb3B1cCBtZW51IGNsaWVudCB0aGF0IHRo
ZSB2YWx1ZSBjaGFuZ2VkLCBmYWtlIG1vdXNlIHVwIGFuZCBtb3VzZSBtb3ZlIGV2ZW50cyBhcmUg
cG9zdGVkCisgICAgICAgICogVUlQcm9jZXNzL3dpbi9XZWJQb3B1cE1lbnVQcm94eVdpbi5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYlBvcHVwTWVudVByb3h5V2luOjpzaG93UG9wdXBNZW51KTog
YWZ0ZXIgbm90aWZ5aW5nIHRoZSBwb3B1cCBtZW51IGNsaWVudCB0aGF0IHRoZSB2YWx1ZSBjaGFu
Z2VkLCBmYWtlIG1vdXNlIHVwIGFuZCBtb3VzZSBtb3ZlIGV2ZW50cyBhcmUgcG9zdGVkCisgICAg
ICAgICogVUlQcm9jZXNzL3dpbi9XZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmll
dzo6b25Nb3VzZUV2ZW50KToKKyAgICAgICAgKiBXZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6CisgICAgICAgICogd2luL1dlYktpdDIudmNwcm9qOgorCiAyMDExLTA0LTE0ICBTYW0g
V2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW5kZXJzIENh
cmxzc29uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL05hdGl2ZVdlYk1vdXNl
RXZlbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9OYXRpdmVXZWJNb3VzZUV2ZW50LmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTUyMzAzNgotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9OYXRpdmVXZWJNb3VzZUV2ZW50LmgKQEAgLTAsMCAr
MSw2MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgTmF0aXZlV2ViTW91c2VFdmVudF9oCisjZGVm
aW5lIE5hdGl2ZVdlYk1vdXNlRXZlbnRfaAorCisjaW5jbHVkZSAiV2ViRXZlbnQuaCIKKworI2lm
IFBMQVRGT1JNKE1BQykKKyNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CitPQkpDX0NMQVNTIE5T
VmlldzsKKyNlbmRpZgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgTmF0aXZlV2ViTW91
c2VFdmVudCA6IHB1YmxpYyBXZWJNb3VzZUV2ZW50IHsKK3B1YmxpYzoKKyNpZiBQTEFURk9STShN
QUMpCisgICAgTmF0aXZlV2ViTW91c2VFdmVudChOU0V2ZW50ICosIE5TVmlldyAqKTsKKyNlbGlm
IFBMQVRGT1JNKFdJTikKKyAgICBOYXRpdmVXZWJNb3VzZUV2ZW50KEhXTkQsIFVJTlQgbWVzc2Fn
ZSwgV1BBUkFNLCBMUEFSQU0sIGJvb2wpOworI2VuZGlmCisKKyNpZiBQTEFURk9STShNQUMpCisg
ICAgTlNFdmVudCogbmF0aXZlRXZlbnQoKSBjb25zdCB7IHJldHVybiBtX25hdGl2ZUV2ZW50Lmdl
dCgpOyB9CisjZWxpZiBQTEFURk9STShXSU4pCisgICAgY29uc3QgTVNHKiBuYXRpdmVFdmVudCgp
IGNvbnN0IHsgcmV0dXJuICZtX25hdGl2ZUV2ZW50OyB9CisjZW5kaWYKKworcHJpdmF0ZToKKyNp
ZiBQTEFURk9STShNQUMpCisgICAgUmV0YWluUHRyPE5TRXZlbnQ+IG1fbmF0aXZlRXZlbnQ7Cisj
ZWxpZiBQTEFURk9STShXSU4pCisgICAgTVNHIG1fbmF0aXZlRXZlbnQ7CisjZW5kaWYKK307CisK
K30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gTmF0aXZlV2ViTW91c2VFdmVudF9o
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL05hdGl2ZVdlYk1vdXNlRXZl
bnRNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL05hdGl2ZVdlYk1vdXNlRXZlbnRN
YWMubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjcwNjRhMwotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvTmF0aXZlV2ViTW91c2VFdmVu
dE1hYy5tbQpAQCAtMCwwICsxLDM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgi
CisjaW1wb3J0ICJOYXRpdmVXZWJNb3VzZUV2ZW50LmgiCisKKyNpbXBvcnQgIldlYkV2ZW50RmFj
dG9yeS5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworTmF0aXZlV2ViTW91c2VFdmVudDo6TmF0
aXZlV2ViTW91c2VFdmVudChOU0V2ZW50KiBldmVudCwgTlNWaWV3KiB2aWV3KQorICAgIDogV2Vi
TW91c2VFdmVudChXZWJFdmVudEZhY3Rvcnk6OmNyZWF0ZVdlYk1vdXNlRXZlbnQoZXZlbnQsIHZp
ZXcpKQorICAgICwgbV9uYXRpdmVFdmVudChldmVudCkKK3sKK30KKworfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvd2luL05hdGl2ZVdlYk1v
dXNlRXZlbnRXaW4uY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3dpbi9OYXRpdmVXZWJNb3Vz
ZUV2ZW50V2luLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YjgzZGM2
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3dpbi9OYXRpdmVXZWJN
b3VzZUV2ZW50V2luLmNwcApAQCAtMCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIk5hdGl2ZVdlYk1vdXNlRXZlbnQuaCIKKworI2luY2x1ZGUg
IldlYkV2ZW50RmFjdG9yeS5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworTmF0aXZlV2ViTW91
c2VFdmVudDo6TmF0aXZlV2ViTW91c2VFdmVudChIV05EIGh3bmQsIFVJTlQgbWVzc2FnZSwgV1BB
UkFNIHdQYXJhbSwgTFBBUkFNIGxQYXJhbSwgYm9vbCBkaWRBY3RpdmF0ZVdlYlZpZXcpCisgICAg
OiBXZWJNb3VzZUV2ZW50KFdlYkV2ZW50RmFjdG9yeTo6Y3JlYXRlV2ViTW91c2VFdmVudChod25k
LCBtZXNzYWdlLCB3UGFyYW0sIGxQYXJhbSwgZGlkQWN0aXZhdGVXZWJWaWV3KSkKKyAgICAsIG1f
bmF0aXZlRXZlbnQoKQoreworICAgIG1fbmF0aXZlRXZlbnQuaHduZCA9IGh3bmQ7CisgICAgbV9u
YXRpdmVFdmVudC5tZXNzYWdlID0gbWVzc2FnZTsKKyAgICBtX25hdGl2ZUV2ZW50LndQYXJhbSA9
IHdQYXJhbTsKKyAgICBtX25hdGl2ZUV2ZW50LmxQYXJhbSA9IGxQYXJhbTsKK30KKworfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L21hYy9XS1ZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcu
bW0KaW5kZXggYTU4NGU5Ni4uZjFiMGI4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvbWFjL1dLVmlldy5tbQpAQCAtMzUsNiArMzUsNyBAQAogI2ltcG9ydCAiTGF5ZXJUcmVlQ29u
dGV4dC5oIgogI2ltcG9ydCAiTG9nZ2luZy5oIgogI2ltcG9ydCAiTmF0aXZlV2ViS2V5Ym9hcmRF
dmVudC5oIgorI2ltcG9ydCAiTmF0aXZlV2ViTW91c2VFdmVudC5oIgogI2ltcG9ydCAiUERGVmll
d0NvbnRyb2xsZXIuaCIKICNpbXBvcnQgIlBhZ2VDbGllbnRJbXBsLmgiCiAjaW1wb3J0ICJQYXN0
ZWJvYXJkVHlwZXMuaCIKQEAgLTkyNiw2ICs5MjcsMjYgQEAgc3RhdGljIHZvaWQgc3BlYWtTdHJp
bmcoV0tTdHJpbmdSZWYgc3RyaW5nLCBXS0Vycm9yUmVmIGVycm9yLCB2b2lkKikKICAgICBfZGF0
YS0+X21vdXNlRG93bkV2ZW50ID0gW2V2ZW50IHJldGFpbl07CiB9CiAKKyNkZWZpbmUgTkFUSVZF
X01PVVNFX0VWRU5UX0hBTkRMRVIoU2VsZWN0b3IpIFwKKyAgICAtICh2b2lkKVNlbGVjdG9yOihO
U0V2ZW50ICopdGhlRXZlbnQgXAorICAgIHsgXAorICAgICAgICBOYXRpdmVXZWJNb3VzZUV2ZW50
IHdlYkV2ZW50KHRoZUV2ZW50LCBzZWxmKTsgXAorICAgICAgICBfZGF0YS0+X3BhZ2UtPmhhbmRs
ZU1vdXNlRXZlbnQod2ViRXZlbnQpOyBcCisgICAgfQorCitOQVRJVkVfTU9VU0VfRVZFTlRfSEFO
RExFUihtb3VzZUVudGVyZWQpCitOQVRJVkVfTU9VU0VfRVZFTlRfSEFORExFUihtb3VzZUV4aXRl
ZCkKK05BVElWRV9NT1VTRV9FVkVOVF9IQU5ETEVSKG90aGVyTW91c2VEb3duKQorTkFUSVZFX01P
VVNFX0VWRU5UX0hBTkRMRVIob3RoZXJNb3VzZURyYWdnZWQpCitOQVRJVkVfTU9VU0VfRVZFTlRf
SEFORExFUihvdGhlck1vdXNlTW92ZWQpCitOQVRJVkVfTU9VU0VfRVZFTlRfSEFORExFUihvdGhl
ck1vdXNlVXApCitOQVRJVkVfTU9VU0VfRVZFTlRfSEFORExFUihyaWdodE1vdXNlRG93bikKK05B
VElWRV9NT1VTRV9FVkVOVF9IQU5ETEVSKHJpZ2h0TW91c2VEcmFnZ2VkKQorTkFUSVZFX01PVVNF
X0VWRU5UX0hBTkRMRVIocmlnaHRNb3VzZU1vdmVkKQorTkFUSVZFX01PVVNFX0VWRU5UX0hBTkRM
RVIocmlnaHRNb3VzZVVwKQorCisjdW5kZWYgTkFUSVZFX01PVVNFX0VWRU5UX0hBTkRMRVIKKwog
I2RlZmluZSBFVkVOVF9IQU5ETEVSKFNlbGVjdG9yLCBUeXBlKSBcCiAgICAgLSAodm9pZClTZWxl
Y3RvcjooTlNFdmVudCAqKXRoZUV2ZW50IFwKICAgICB7IFwKQEAgLTkzMywxNiArOTU0LDYgQEAg
c3RhdGljIHZvaWQgc3BlYWtTdHJpbmcoV0tTdHJpbmdSZWYgc3RyaW5nLCBXS0Vycm9yUmVmIGVy
cm9yLCB2b2lkKikKICAgICAgICAgX2RhdGEtPl9wYWdlLT5oYW5kbGUjI1R5cGUjI0V2ZW50KHdl
YkV2ZW50KTsgXAogICAgIH0KIAotRVZFTlRfSEFORExFUihtb3VzZUVudGVyZWQsIE1vdXNlKQot
RVZFTlRfSEFORExFUihtb3VzZUV4aXRlZCwgTW91c2UpCi1FVkVOVF9IQU5ETEVSKG90aGVyTW91
c2VEb3duLCBNb3VzZSkKLUVWRU5UX0hBTkRMRVIob3RoZXJNb3VzZURyYWdnZWQsIE1vdXNlKQot
RVZFTlRfSEFORExFUihvdGhlck1vdXNlTW92ZWQsIE1vdXNlKQotRVZFTlRfSEFORExFUihvdGhl
ck1vdXNlVXAsIE1vdXNlKQotRVZFTlRfSEFORExFUihyaWdodE1vdXNlRG93biwgTW91c2UpCi1F
VkVOVF9IQU5ETEVSKHJpZ2h0TW91c2VEcmFnZ2VkLCBNb3VzZSkKLUVWRU5UX0hBTkRMRVIocmln
aHRNb3VzZU1vdmVkLCBNb3VzZSkKLUVWRU5UX0hBTkRMRVIocmlnaHRNb3VzZVVwLCBNb3VzZSkK
IEVWRU5UX0hBTkRMRVIoc2Nyb2xsV2hlZWwsIFdoZWVsKQogCiAjdW5kZWYgRVZFTlRfSEFORExF
UgpAQCAtOTUzLDggKzk2NCw3IEBAIEVWRU5UX0hBTkRMRVIoc2Nyb2xsV2hlZWwsIFdoZWVsKQog
ICAgIGlmIChzZWxmID09IFtbc2VsZiB3aW5kb3ddIGZpcnN0UmVzcG9uZGVyXSAmJiAhTlNQb2lu
dEluUmVjdChbc2VsZiBjb252ZXJ0UG9pbnQ6W2V2ZW50IGxvY2F0aW9uSW5XaW5kb3ddIGZyb21W
aWV3Om5pbF0sIFtzZWxmIHZpc2libGVSZWN0XSkpCiAgICAgICAgIHJldHVybjsKIAotICAgIFdl
Yk1vdXNlRXZlbnQgd2ViRXZlbnQgPSBXZWJFdmVudEZhY3Rvcnk6OmNyZWF0ZVdlYk1vdXNlRXZl
bnQoZXZlbnQsIHNlbGYpOwotICAgIF9kYXRhLT5fcGFnZS0+aGFuZGxlTW91c2VFdmVudCh3ZWJF
dmVudCk7CisgICAgX2RhdGEtPl9wYWdlLT5oYW5kbGVNb3VzZUV2ZW50KE5hdGl2ZVdlYk1vdXNl
RXZlbnQoZXZlbnQsIHNlbGYpKTsKIH0KIAogLSAodm9pZClfbW91c2VIYW5kbGVyOihOU0V2ZW50
ICopZXZlbnQKQEAgLTk2Miw4ICs5NzIsNyBAQCBFVkVOVF9IQU5ETEVSKHNjcm9sbFdoZWVsLCBX
aGVlbCkKICAgICBOU0lucHV0TWFuYWdlciAqY3VycmVudElucHV0TWFuYWdlciA9IFtOU0lucHV0
TWFuYWdlciBjdXJyZW50SW5wdXRNYW5hZ2VyXTsKICAgICBpZiAoW2N1cnJlbnRJbnB1dE1hbmFn
ZXIgd2FudHNUb0hhbmRsZU1vdXNlRXZlbnRzXSAmJiBbY3VycmVudElucHV0TWFuYWdlciBoYW5k
bGVNb3VzZUV2ZW50OmV2ZW50XSkKICAgICAgICAgcmV0dXJuOwotICAgIFdlYk1vdXNlRXZlbnQg
d2ViRXZlbnQgPSBXZWJFdmVudEZhY3Rvcnk6OmNyZWF0ZVdlYk1vdXNlRXZlbnQoZXZlbnQsIHNl
bGYpOwotICAgIF9kYXRhLT5fcGFnZS0+aGFuZGxlTW91c2VFdmVudCh3ZWJFdmVudCk7CisgICAg
X2RhdGEtPl9wYWdlLT5oYW5kbGVNb3VzZUV2ZW50KE5hdGl2ZVdlYk1vdXNlRXZlbnQoZXZlbnQs
IHNlbGYpKTsKIH0KIAogLSAodm9pZCltb3VzZURvd246KE5TRXZlbnQgKilldmVudApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCBiMTIzYzdjLi4yMjc5MjBm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMzMsNiAr
MzMsNyBAQAogI2luY2x1ZGUgIkZpbmRJbmRpY2F0b3IuaCIKICNpbmNsdWRlICJNZXNzYWdlSUQu
aCIKICNpbmNsdWRlICJOYXRpdmVXZWJLZXlib2FyZEV2ZW50LmgiCisjaW5jbHVkZSAiTmF0aXZl
V2ViTW91c2VFdmVudC5oIgogI2luY2x1ZGUgIlBhZ2VDbGllbnQuaCIKICNpbmNsdWRlICJQcmlu
dEluZm8uaCIKICNpbmNsdWRlICJTZXNzaW9uU3RhdGUuaCIKQEAgLTgxMSw3ICs4MTIsNyBAQCB2
b2lkIFdlYlBhZ2VQcm94eTo6ZHJhZ0VuZGVkKGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBjbGll
bnRQb3NpdGlvbiwgY29uc3QgV2ViQwogICAgIHByb2Nlc3MoKS0+c2VuZChNZXNzYWdlczo6V2Vi
UGFnZTo6RHJhZ0VuZGVkKGNsaWVudFBvc2l0aW9uLCBnbG9iYWxQb3NpdGlvbiwgb3BlcmF0aW9u
KSwgbV9wYWdlSUQpOwogfQogCi12b2lkIFdlYlBhZ2VQcm94eTo6aGFuZGxlTW91c2VFdmVudChj
b25zdCBXZWJNb3VzZUV2ZW50JiBldmVudCkKK3ZvaWQgV2ViUGFnZVByb3h5OjpoYW5kbGVNb3Vz
ZUV2ZW50KGNvbnN0IE5hdGl2ZVdlYk1vdXNlRXZlbnQmIGV2ZW50KQogewogICAgIGlmICghaXNW
YWxpZCgpKQogICAgICAgICByZXR1cm47CkBAIC04MjEsMTMgKzgyMiwyMCBAQCB2b2lkIFdlYlBh
Z2VQcm94eTo6aGFuZGxlTW91c2VFdmVudChjb25zdCBXZWJNb3VzZUV2ZW50JiBldmVudCkKICAg
ICAgICAgcHJvY2VzcygpLT5yZXNwb25zaXZlbmVzc1RpbWVyKCktPnN0YXJ0KCk7CiAgICAgZWxz
ZSB7CiAgICAgICAgIGlmIChtX3Byb2Nlc3NpbmdNb3VzZU1vdmVFdmVudCkgewotICAgICAgICAg
ICAgbV9uZXh0TW91c2VNb3ZlRXZlbnQgPSBhZG9wdFB0cihuZXcgV2ViTW91c2VFdmVudChldmVu
dCkpOworICAgICAgICAgICAgbV9uZXh0TW91c2VNb3ZlRXZlbnQgPSBhZG9wdFB0cihuZXcgTmF0
aXZlV2ViTW91c2VFdmVudChldmVudCkpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9
CiAKICAgICAgICAgbV9wcm9jZXNzaW5nTW91c2VNb3ZlRXZlbnQgPSB0cnVlOwogICAgIH0KIAor
ICAgIC8vIDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTc5MDQ+IFdl
IG5lZWQgdG8ga2VlcCB0cmFjayBvZiB0aGUgbW91c2UgZG93biBldmVudCBpbiB0aGUgY2FzZSB3
aGVyZSB3ZQorICAgIC8vIGRpc3BsYXkgYSBwb3B1cCBtZW51IGZvciBzZWxlY3QgZWxlbWVudHMu
IFdoZW4gdGhlIHVzZXIgY2hhbmdlcyB0aGUgc2VsZWN0ZWQgaXRlbSwKKyAgICAvLyB3ZSBmYWtl
IGEgbW91c2UgdXAgZXZlbnQgYnkgdXNpbmcgdGhpcyBzdG9yZWQgZG93biBldmVudC4gVGhpcyBl
dmVudCBnZXRzIGNsZWFyZWQKKyAgICAvLyB3aGVuIHRoZSBtb3VzZSB1cCBtZXNzYWdlIGlzIHJl
Y2VpdmVkIGZyb20gV2ViUHJvY2Vzcy4KKyAgICBpZiAoZXZlbnQudHlwZSgpID09IFdlYkV2ZW50
OjpNb3VzZURvd24pCisgICAgICAgIG1fY3VycmVudGx5UHJvY2Vzc2VkTW91c2VEb3duRXZlbnQg
PSBhZG9wdFB0cihuZXcgTmF0aXZlV2ViTW91c2VFdmVudChldmVudCkpOworCiAgICAgcHJvY2Vz
cygpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpNb3VzZUV2ZW50KGV2ZW50KSwgbV9wYWdlSUQp
OwogfQogCkBAIC0yMjA4LDYgKzIyMTYsMTEgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnNldFRleHRG
cm9tSXRlbUZvclBvcHVwTWVudShXZWJQb3B1cE1lbnVQcm94eSosIGludDMyX3QgaW5kZXgKICAg
ICBwcm9jZXNzKCktPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OlNldFRleHRGb3JBY3RpdmVQb3B1
cE1lbnUoaW5kZXgpLCBtX3BhZ2VJRCk7CiB9CiAKK05hdGl2ZVdlYk1vdXNlRXZlbnQqIFdlYlBh
Z2VQcm94eTo6Y3VycmVudGx5UHJvY2Vzc2VkTW91c2VEb3duRXZlbnQoKQoreworICAgIHJldHVy
biBtX2N1cnJlbnRseVByb2Nlc3NlZE1vdXNlRG93bkV2ZW50LmdldCgpOworfQorCiB2b2lkIFdl
YlBhZ2VQcm94eTo6c2hvd1BvcHVwTWVudShjb25zdCBJbnRSZWN0JiByZWN0LCB1aW50NjRfdCB0
ZXh0RGlyZWN0aW9uLCBjb25zdCBWZWN0b3I8V2ViUG9wdXBJdGVtPiYgaXRlbXMsIGludDMyX3Qg
c2VsZWN0ZWRJbmRleCwgY29uc3QgUGxhdGZvcm1Qb3B1cE1lbnVEYXRhJiBkYXRhKQogewogICAg
IGlmIChtX2FjdGl2ZVBvcHVwTWVudSkgewpAQCAtMjU0MiwxMiArMjU1NSwxNCBAQCB2b2lkIFdl
YlBhZ2VQcm94eTo6ZGlkUmVjZWl2ZUV2ZW50KHVpbnQzMl90IG9wYXF1ZVR5cGUsIGJvb2wgaGFu
ZGxlZCkKICAgICAgICAgfQogICAgICAgICBicmVhazsKICAgICBjYXNlIFdlYkV2ZW50OjpNb3Vz
ZURvd246Ci0gICAgY2FzZSBXZWJFdmVudDo6TW91c2VVcDoKICNpZiBFTkFCTEUoR0VTVFVSRV9F
VkVOVFMpCiAgICAgY2FzZSBXZWJFdmVudDo6R2VzdHVyZVNjcm9sbEJlZ2luOgogICAgIGNhc2Ug
V2ViRXZlbnQ6Okdlc3R1cmVTY3JvbGxFbmQ6CiAjZW5kaWYKICAgICAgICAgYnJlYWs7CisgICAg
Y2FzZSBXZWJFdmVudDo6TW91c2VVcDoKKyAgICAgICAgbV9jdXJyZW50bHlQcm9jZXNzZWRNb3Vz
ZURvd25FdmVudCA9IG51bGxwdHI7CisgICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBXZWJFdmVu
dDo6V2hlZWw6IHsKICAgICAgICAgbV9wcm9jZXNzaW5nV2hlZWxFdmVudCA9IGZhbHNlOwpAQCAt
Mjc1Niw2ICsyNzcxLDkgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnByb2Nlc3NEaWRDcmFzaCgpCiAK
ICAgICAvLyBDYW4ndCBleHBlY3QgRGlkUmVjZWl2ZUV2ZW50IG5vdGlmaWNhdGlvbnMgZnJvbSBh
IGNyYXNoZWQgd2ViIHByb2Nlc3MuCiAgICAgbV9rZXlFdmVudFF1ZXVlLmNsZWFyKCk7CisgICAg
bV9uZXh0V2hlZWxFdmVudCA9IG51bGxwdHI7CisgICAgbV9uZXh0TW91c2VNb3ZlRXZlbnQgPSBu
dWxscHRyOworICAgIG1fY3VycmVudGx5UHJvY2Vzc2VkTW91c2VEb3duRXZlbnQgPSBudWxscHRy
OwogCiAjaWYgUExBVEZPUk0oTUFDKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BB
UkQpCiAgICAgZGlzbWlzc0NvcnJlY3Rpb25QYW5lbChSZWFzb25Gb3JEaXNtaXNzaW5nQ29ycmVj
dGlvblBhbmVsSWdub3JlZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgK
aW5kZXggMWM3MjYyZS4uNTI1ZWQ3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaApAQCAtNzgsNiArNzgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBuYW1lc3BhY2Ug
V2ViS2l0IHsKIAogY2xhc3MgTmF0aXZlV2ViS2V5Ym9hcmRFdmVudDsKK2NsYXNzIE5hdGl2ZVdl
Yk1vdXNlRXZlbnQ7CiBjbGFzcyBQYWdlQ2xpZW50OwogY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm87CiBjbGFzcyBTdHJpbmdQYWlyVmVjdG9yOwpAQCAtMjg3LDcgKzI4OCw3IEBAIHB1Ymxp
YzoKICAgICB2b2lkIHNldEFjdHVhbFZpc2libGVDb250ZW50UmVjdChjb25zdCBXZWJDb3JlOjpJ
bnRSZWN0JiByZWN0KTsKICNlbmRpZgogCi0gICAgdm9pZCBoYW5kbGVNb3VzZUV2ZW50KGNvbnN0
IFdlYk1vdXNlRXZlbnQmKTsKKyAgICB2b2lkIGhhbmRsZU1vdXNlRXZlbnQoY29uc3QgTmF0aXZl
V2ViTW91c2VFdmVudCYpOwogICAgIHZvaWQgaGFuZGxlV2hlZWxFdmVudChjb25zdCBXZWJXaGVl
bEV2ZW50Jik7CiAgICAgdm9pZCBoYW5kbGVLZXlib2FyZEV2ZW50KGNvbnN0IE5hdGl2ZVdlYktl
eWJvYXJkRXZlbnQmKTsKICNpZiBFTkFCTEUoR0VTVFVSRV9FVkVOVFMpCkBAIC00OTgsNiArNDk5
LDcgQEAgcHJpdmF0ZToKICAgICAvLyBXZWJQb3B1cE1lbnVQcm94eTo6Q2xpZW50CiAgICAgdmly
dHVhbCB2b2lkIHZhbHVlQ2hhbmdlZEZvclBvcHVwTWVudShXZWJQb3B1cE1lbnVQcm94eSosIGlu
dDMyX3QgbmV3U2VsZWN0ZWRJbmRleCk7CiAgICAgdmlydHVhbCB2b2lkIHNldFRleHRGcm9tSXRl
bUZvclBvcHVwTWVudShXZWJQb3B1cE1lbnVQcm94eSosIGludDMyX3QgaW5kZXgpOworICAgIHZp
cnR1YWwgTmF0aXZlV2ViTW91c2VFdmVudCogY3VycmVudGx5UHJvY2Vzc2VkTW91c2VEb3duRXZl
bnQoKTsKIAogICAgIC8vIEltcGxlbWVudGVkIGluIGdlbmVyYXRlZCBXZWJQYWdlUHJveHlNZXNz
YWdlUmVjZWl2ZXIuY3BwCiAgICAgdm9pZCBkaWRSZWNlaXZlV2ViUGFnZVByb3h5TWVzc2FnZShD
b3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZUlELCBDb3JlSVBDOjpBcmd1bWVu
dERlY29kZXIqKTsKQEAgLTc5Niw3ICs3OTgsOCBAQCBwcml2YXRlOgogICAgIE93blB0cjxXZWJX
aGVlbEV2ZW50PiBtX25leHRXaGVlbEV2ZW50OwogCiAgICAgYm9vbCBtX3Byb2Nlc3NpbmdNb3Vz
ZU1vdmVFdmVudDsKLSAgICBPd25QdHI8V2ViTW91c2VFdmVudD4gbV9uZXh0TW91c2VNb3ZlRXZl
bnQ7CisgICAgT3duUHRyPE5hdGl2ZVdlYk1vdXNlRXZlbnQ+IG1fbmV4dE1vdXNlTW92ZUV2ZW50
OworICAgIE93blB0cjxOYXRpdmVXZWJNb3VzZUV2ZW50PiBtX2N1cnJlbnRseVByb2Nlc3NlZE1v
dXNlRG93bkV2ZW50OwogCiAgICAgdWludDY0X3QgbV9wYWdlSUQ7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQb3B1cE1lbnVQcm94eS5oIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBvcHVwTWVudVByb3h5LmgKaW5kZXggOTY5MDFmYi4uMGFmODg4MCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBvcHVwTWVudVByb3h5LmgK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBvcHVwTWVudVByb3h5LmgKQEAgLTM5
LDYgKzM5LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIHN0cnVjdCBQbGF0Zm9ybVBvcHVwTWVu
dURhdGE7CiBzdHJ1Y3QgV2ViUG9wdXBJdGVtOworY2xhc3MgTmF0aXZlV2ViTW91c2VFdmVudDsK
IAogY2xhc3MgV2ViUG9wdXBNZW51UHJveHkgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJQb3B1cE1l
bnVQcm94eT4gewogcHVibGljOgpAQCAtNTEsNiArNTIsNyBAQCBwdWJsaWM6CiAgICAgcHVibGlj
OgogICAgICAgICB2aXJ0dWFsIHZvaWQgdmFsdWVDaGFuZ2VkRm9yUG9wdXBNZW51KFdlYlBvcHVw
TWVudVByb3h5KiwgaW50MzJfdCBuZXdTZWxlY3RlZEluZGV4KSA9IDA7CiAgICAgICAgIHZpcnR1
YWwgdm9pZCBzZXRUZXh0RnJvbUl0ZW1Gb3JQb3B1cE1lbnUoV2ViUG9wdXBNZW51UHJveHkqLCBp
bnQzMl90IGluZGV4KSA9IDA7CisgICAgICAgIHZpcnR1YWwgTmF0aXZlV2ViTW91c2VFdmVudCog
Y3VycmVudGx5UHJvY2Vzc2VkTW91c2VEb3duRXZlbnQoKSA9IDA7CiAgICAgfTsKIAogICAgIHZp
cnR1YWwgfldlYlBvcHVwTWVudVByb3h5KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9tYWMvV2ViUG9wdXBNZW51UHJveHlNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvbWFjL1dlYlBvcHVwTWVudVByb3h5TWFjLm1tCmluZGV4IDdjZTg3NjQuLjQ2ZDQ1NDcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViUG9wdXBNZW51UHJv
eHlNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJQb3B1cE1lbnVQ
cm94eU1hYy5tbQpAQCAtMjYsNiArMjYsNyBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0
ICJXZWJQb3B1cE1lbnVQcm94eU1hYy5oIgogCisjaW1wb3J0ICJOYXRpdmVXZWJNb3VzZUV2ZW50
LmgiCiAjaW1wb3J0ICJQYWdlQ2xpZW50SW1wbC5oIgogI2ltcG9ydCAiUGxhdGZvcm1Qb3B1cE1l
bnVEYXRhLmgiCiAjaW1wb3J0ICJXS1ZpZXcuaCIKQEAgLTEyMiw5ICsxMjMsNDEgQEAgdm9pZCBX
ZWJQb3B1cE1lbnVQcm94eU1hYzo6c2hvd1BvcHVwTWVudShjb25zdCBJbnRSZWN0JiByZWN0LCBU
ZXh0RGlyZWN0aW9uIHRleHQKIAogICAgIFttX3BvcHVwLmdldCgpIGRpc21pc3NQb3BVcF07CiAg
ICAgW2R1bW15Vmlldy5nZXQoKSByZW1vdmVGcm9tU3VwZXJ2aWV3XTsKLQotICAgIGlmIChtX2Ns
aWVudCkKLSAgICAgICAgbV9jbGllbnQtPnZhbHVlQ2hhbmdlZEZvclBvcHVwTWVudSh0aGlzLCBb
bV9wb3B1cC5nZXQoKSBpbmRleE9mU2VsZWN0ZWRJdGVtXSk7CisgICAgCisgICAgaWYgKCFtX2Ns
aWVudCkKKyAgICAgICAgcmV0dXJuOworICAgIAorICAgIG1fY2xpZW50LT52YWx1ZUNoYW5nZWRG
b3JQb3B1cE1lbnUodGhpcywgW21fcG9wdXAuZ2V0KCkgaW5kZXhPZlNlbGVjdGVkSXRlbV0pOwor
ICAgIAorICAgIC8vIDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTc5
MDQ+IFRoaXMgY29kZSBpcyBhZG9wdGVkIGZyb20gRXZlbnRIYW5kbGVyOjpzZW5kRmFrZUV2ZW50
c0FmdGVyV2lkZ2V0VHJhY2tpbmcoKS4KKyAgICBpZiAoIW1fY2xpZW50LT5jdXJyZW50bHlQcm9j
ZXNzZWRNb3VzZURvd25FdmVudCgpKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgTlNFdmVu
dCogaW5pdGlhdGluZ05TRXZlbnQgPSBtX2NsaWVudC0+Y3VycmVudGx5UHJvY2Vzc2VkTW91c2VE
b3duRXZlbnQoKS0+bmF0aXZlRXZlbnQoKTsKKyAgICBpZiAoW2luaXRpYXRpbmdOU0V2ZW50IHR5
cGVdICE9IE5TTGVmdE1vdXNlRG93bikKKyAgICAgICAgcmV0dXJuOworICAgIAorICAgIE5TRXZl
bnQgKmZha2VFdmVudCA9IFtOU0V2ZW50IG1vdXNlRXZlbnRXaXRoVHlwZTpOU0xlZnRNb3VzZVVw
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2F0aW9uOltp
bml0aWF0aW5nTlNFdmVudCBsb2NhdGlvbkluV2luZG93XQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbW9kaWZpZXJGbGFnczpbaW5pdGlhdGluZ05TRXZlbnQgbW9kaWZp
ZXJGbGFnc10KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1l
c3RhbXA6W2luaXRpYXRpbmdOU0V2ZW50IHRpbWVzdGFtcF0KKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB3aW5kb3dOdW1iZXI6W2luaXRpYXRpbmdOU0V2ZW50IHdpbmRv
d051bWJlcl0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnRleHQ6W2luaXRpYXRpbmdOU0V2ZW50IGNvbnRleHRdCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGV2ZW50TnVtYmVyOltpbml0aWF0aW5nTlNFdmVudCBldmVudE51
bWJlcl0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWNrQ291
bnQ6W2luaXRpYXRpbmdOU0V2ZW50IGNsaWNrQ291bnRdCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHByZXNzdXJlOltpbml0aWF0aW5nTlNFdmVudCBwcmVzc3Vy
ZV1dOworICAgIAorICAgIFtOU0FwcCBwb3N0RXZlbnQ6ZmFrZUV2ZW50IGF0U3RhcnQ6WUVTXTsK
KyAgICBmYWtlRXZlbnQgPSBbTlNFdmVudCBtb3VzZUV2ZW50V2l0aFR5cGU6TlNNb3VzZU1vdmVk
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2F0aW9uOltbbV93ZWJWaWV3
IHdpbmRvd10gY29udmVydFNjcmVlblRvQmFzZTpbTlNFdmVudCBtb3VzZUxvY2F0aW9uXV0KKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGlmaWVyRmxhZ3M6W2luaXRpYXRpbmdOU0V2
ZW50IG1vZGlmaWVyRmxhZ3NdCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGlt
ZXN0YW1wOltpbml0aWF0aW5nTlNFdmVudCB0aW1lc3RhbXBdCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgd2luZG93TnVtYmVyOltpbml0aWF0aW5nTlNFdmVudCB3aW5kb3dOdW1iZXJd
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0Oltpbml0aWF0aW5n
TlNFdmVudCBjb250ZXh0XQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudE51
bWJlcjowCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGlja0NvdW50OjAKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlc3N1cmU6MF07CisgICAgW05TQXBw
IHBvc3RFdmVudDpmYWtlRXZlbnQgYXRTdGFydDpZRVNdOwogfQogCiB2b2lkIFdlYlBvcHVwTWVu
dVByb3h5TWFjOjpoaWRlUG9wdXBNZW51KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy93aW4vV2ViUG9wdXBNZW51UHJveHlXaW4uY3BwIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL3dpbi9XZWJQb3B1cE1lbnVQcm94eVdpbi5jcHAKaW5kZXggZWViZGU3NS4uYThkODA2
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3dpbi9XZWJQb3B1cE1lbnVQ
cm94eVdpbi5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3dpbi9XZWJQb3B1cE1l
bnVQcm94eVdpbi5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNp
bmNsdWRlICJXZWJQb3B1cE1lbnVQcm94eVdpbi5oIgogCisjaW5jbHVkZSAiTmF0aXZlV2ViTW91
c2VFdmVudC5oIgogI2luY2x1ZGUgIldlYlZpZXcuaCIKICNpbmNsdWRlIDxXZWJDb3JlL1dlYkNv
cmVJbnN0YW5jZUhhbmRsZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2Nyb2xsYmFyVGhlbWUuaD4K
QEAgLTMyNCw4ICszMjUsMjYgQEAgdm9pZCBXZWJQb3B1cE1lbnVQcm94eVdpbjo6c2hvd1BvcHVw
TWVudShjb25zdCBJbnRSZWN0JiByZWN0LCBUZXh0RGlyZWN0aW9uLCBkb3UKICAgICBtX3Nob3dQ
b3B1cCA9IGZhbHNlOwogICAgIDo6U2hvd1dpbmRvdyhtX3BvcHVwLCBTV19ISURFKTsKIAotICAg
IGlmIChtX2NsaWVudCkKLSAgICAgICAgbV9jbGllbnQtPnZhbHVlQ2hhbmdlZEZvclBvcHVwTWVu
dSh0aGlzLCBtX25ld1NlbGVjdGVkSW5kZXgpOworICAgIGlmICghbV9jbGllbnQpCisgICAgICAg
IHJldHVybjsKKworICAgIG1fY2xpZW50LT52YWx1ZUNoYW5nZWRGb3JQb3B1cE1lbnUodGhpcywg
bV9uZXdTZWxlY3RlZEluZGV4KTsKKworICAgIC8vIDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NTc5MDQ+IEluIG9yZGVyIHRvIHByb3Blcmx5IGNhbGwgdGhlIG9uQ2xp
Y2soKQorICAgIC8vIGhhbmRsZXIgb24gYSA8c2VsZWN0PiBlbGVtZW50LCB3ZSBuZWVkIHRvIGZh
a2UgYSBtb3VzZSB1cCBldmVudCBpbiB0aGUgbWFpbiB3aW5kb3cuCisgICAgLy8gVGhlIG1haW4g
d2luZG93IGFscmVhZHkgcmVjZWl2ZWQgdGhlIG1vdXNlIGRvd24sIHdoaWNoIHNob3dlZCB0aGlz
IHBvcHVwLCBidXQgdXBvbgorICAgIC8vIHNlbGVjdGlvbiBvZiBhbiBpdGVtIHRoZSBtb3VzZSB1
cCBnZXRzIGVhdGVuIGJ5IHRoZSBwb3B1cCBtZW51LiBTbyB3ZSB0YWtlIHRoZSBtb3VzZSBkb3du
CisgICAgLy8gZXZlbnQsIGNoYW5nZSB0aGUgbWVzc2FnZSB0eXBlIHRvIGEgbW91c2UgdXAgZXZl
bnQsIGFuZCBwb3N0IHRoYXQgaW4gdGhlIG1lc3NhZ2UgcXVldWUuCisgICAgLy8gVGh1cywgd2Ug
YXJlIHZpcnR1YWxseSBjbGlja2luZyBhdCB0aGUKKyAgICAvLyBzYW1lIGxvY2F0aW9uIHdoZXJl
IHRoZSBtb3VzZSBkb3duIGV2ZW50IG9jY3VycmVkLiBUaGlzIGFsbG93cyB0aGUgaGl0IHRlc3Qg
dG8gc2VsZWN0CisgICAgLy8gdGhlIGNvcnJlY3QgZWxlbWVudCwgYW5kIHRoZXJlYnkgY2FsbCB0
aGUgb25DbGljaygpIEpTIGhhbmRsZXIuCisgICAgaWYgKCFtX2NsaWVudC0+Y3VycmVudGx5UHJv
Y2Vzc2VkTW91c2VEb3duRXZlbnQoKSkKKyAgICAgICAgcmV0dXJuOworICAgICAgICAKKyAgICBj
b25zdCBNU0cqIGluaXRpYXRpbmdXaW5FdmVudCA9IG1fY2xpZW50LT5jdXJyZW50bHlQcm9jZXNz
ZWRNb3VzZURvd25FdmVudCgpLT5uYXRpdmVFdmVudCgpOworICAgIE1TRyBmYWtlRXZlbnQgPSAq
aW5pdGlhdGluZ1dpbkV2ZW50OworICAgIGZha2VFdmVudC5tZXNzYWdlID0gV01fTEJVVFRPTlVQ
OworICAgIDo6UG9zdE1lc3NhZ2UoZmFrZUV2ZW50Lmh3bmQsIGZha2VFdmVudC5tZXNzYWdlLCBm
YWtlRXZlbnQud1BhcmFtLCBmYWtlRXZlbnQubFBhcmFtKTsKIH0KIAogdm9pZCBXZWJQb3B1cE1l
bnVQcm94eVdpbjo6aGlkZVBvcHVwTWVudSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3Mvd2luL1dlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3dpbi9X
ZWJWaWV3LmNwcAppbmRleCA1NGNlOWU1Li45N2RlZjgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3Mvd2luL1dlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy93aW4vV2ViVmlldy5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJGaW5kSW5k
aWNhdG9yLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk5hdGl2ZVdlYktleWJv
YXJkRXZlbnQuaCIKKyNpbmNsdWRlICJOYXRpdmVXZWJNb3VzZUV2ZW50LmgiCiAjaW5jbHVkZSAi
UmVnaW9uLmgiCiAjaW5jbHVkZSAiUnVuTG9vcC5oIgogI2luY2x1ZGUgIldLQVBJQ2FzdC5oIgpA
QCAtMzg3LDcgKzM4OCw3IEBAIHZvaWQgV2ViVmlldzo6d2luZG93QW5jZXN0cnlEaWRDaGFuZ2Uo
KQogCiBMUkVTVUxUIFdlYlZpZXc6Om9uTW91c2VFdmVudChIV05EIGhXbmQsIFVJTlQgbWVzc2Fn
ZSwgV1BBUkFNIHdQYXJhbSwgTFBBUkFNIGxQYXJhbSwgYm9vbCYgaGFuZGxlZCkKIHsKLSAgICBX
ZWJNb3VzZUV2ZW50IG1vdXNlRXZlbnQgPSBXZWJFdmVudEZhY3Rvcnk6OmNyZWF0ZVdlYk1vdXNl
RXZlbnQoaFduZCwgbWVzc2FnZSwgd1BhcmFtLCBsUGFyYW0sIG1fd2FzQWN0aXZhdGVkQnlNb3Vz
ZUV2ZW50KTsKKyAgICBOYXRpdmVXZWJNb3VzZUV2ZW50IG1vdXNlRXZlbnQgPSBOYXRpdmVXZWJN
b3VzZUV2ZW50KGhXbmQsIG1lc3NhZ2UsIHdQYXJhbSwgbFBhcmFtLCBtX3dhc0FjdGl2YXRlZEJ5
TW91c2VFdmVudCk7CiAgICAgc2V0V2FzQWN0aXZhdGVkQnlNb3VzZUV2ZW50KGZhbHNlKTsKICAg
ICAKICAgICBzd2l0Y2ggKG1lc3NhZ2UpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBlMzRlZDZiLi41ZWY5OTcwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0y
MzYsNiArMjM2LDcgQEAKIAkJMUNBOEI5NTQxMjdDODkxNTAwNTc2QzJCIC8qIFdlYkluc3BlY3Rv
ck1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFD
OEUyREFEMTI3OEM1QjIwMEJDN0JEMCAvKiBXZWJJbnNwZWN0b3JNYWMubW0gKi87IH07CiAJCTI5
Q0Q1NUFBMTI4RTI5NEYwMDEzM0M4NSAvKiBBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjlDRDU1QTgxMjhF
Mjk0RjAwMTMzQzg1IC8qIEFjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0LmggKi87IH07CiAJCTI5
Q0Q1NUFCMTI4RTI5NEYwMDEzM0M4NSAvKiBBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdC5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5Q0Q1NUE5MTI4
RTI5NEYwMDEzM0M4NSAvKiBBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdC5tbSAqLzsgfTsKKwkJ
MzFFQTI1RDIxMzRGNzhDMDAwNUIxNDUyIC8qIE5hdGl2ZVdlYk1vdXNlRXZlbnRNYWMubW0gaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUVBMjVEMDEzNEY3
OEIyMDA1QjE0NTIgLyogTmF0aXZlV2ViTW91c2VFdmVudE1hYy5tbSAqLzsgfTsKIAkJMzMwOTM0
NDcxMzE1QjkyMjAwOTdBN0JDIC8qIFdlYkNvb2tpZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzMwOTM0NDMx
MzE1QjkyMjAwOTdBN0JDIC8qIFdlYkNvb2tpZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICov
OyB9OwogCQkzMzA5MzQ0ODEzMTVCOTIyMDA5N0E3QkMgLyogV2ViQ29va2llTWFuYWdlck1lc3Nh
Z2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMzA5
MzQ0NDEzMTVCOTIyMDA5N0E3QkMgLyogV2ViQ29va2llTWFuYWdlck1lc3NhZ2VzLmggKi87IH07
CiAJCTMzMDkzNDQ5MTMxNUI5MjIwMDk3QTdCQyAvKiBXZWJDb29raWVNYW5hZ2VyUHJveHlNZXNz
YWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMzMwOTM0NDUxMzE1QjkyMjAwOTdBN0JDIC8qIFdlYkNvb2tpZU1hbmFnZXJQcm94eU1l
c3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CkBAIC0xMTE2LDYgKzExMTcsOCBAQAogCQkxQ0E4Qjk0
NDEyN0M4ODJBMDA1NzZDMkIgLyogV2ViSW5zcGVjdG9yUHJveHlNZXNzYWdlcy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJJbnNwZWN0b3JQcm94eU1lc3NhZ2VzLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5Q0Q1NUE4MTI4RTI5NEYwMDEzM0M4NSAvKiBB
Y2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkyOUNENTVBOTEyOEUyOTRGMDAxMzNDODUgLyogQWNjZXNzaWJpbGl0eVdlYlBhZ2VP
YmplY3QubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBBY2Nlc3Np
YmlsaXR5V2ViUGFnZU9iamVjdC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFF
QTI1RDAxMzRGNzhCMjAwNUIxNDUyIC8qIE5hdGl2ZVdlYk1vdXNlRXZlbnRNYWMubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBOYXRpdmVXZWJNb3VzZUV2ZW50TWFjLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkzMUVBMjVEMzEzNEY3OEQ2MDA1QjE0NTIgLyogTmF0aXZlV2ViTW91
c2VFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOYXRpdmVXZWJNb3Vz
ZUV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMyREJDRjVFMDM3MEFERUUw
MEM5MTc4MyAvKiBXZWJLaXQyUHJlZml4LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFdlYktpdDJQcmVmaXguaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzMwOTM0
NDMxMzE1QjkyMjAwOTdBN0JDIC8qIFdlYkNvb2tpZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViQ29va2llTWFuYWdlck1l
c3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMzMDkzNDQ0
MTMxNUI5MjIwMDk3QTdCQyAvKiBXZWJDb29raWVNYW5hZ2VyTWVzc2FnZXMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ29va2llTWFuYWdlck1lc3NhZ2VzLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMDY5LDYgKzIwNzIsNyBAQAogCQkJCUJDQjBBRUU4
MTIyRjUzRTMwMEIxMzQxRSAvKiBNdXRhYmxlRGljdGlvbmFyeS5jcHAgKi8sCiAJCQkJQkNCMEFF
RTcxMjJGNTNFMzAwQjEzNDFFIC8qIE11dGFibGVEaWN0aW9uYXJ5LmggKi8sCiAJCQkJQzAyQkZG
MTUxMjUxNEZEODAwOUNDQkVBIC8qIE5hdGl2ZVdlYktleWJvYXJkRXZlbnQuaCAqLywKKwkJCQkz
MUVBMjVEMzEzNEY3OEQ2MDA1QjE0NTIgLyogTmF0aXZlV2ViTW91c2VFdmVudC5oICovLAogCQkJ
CUJDQ0Y2NzMyMTJDN0YxNUMwMDhGOUMzNSAvKiBPcmlnaW5BbmREYXRhYmFzZXMuY3BwICovLAog
CQkJCUJDQ0Y2NzJDMTJDN0VERjcwMDhGOUMzNSAvKiBPcmlnaW5BbmREYXRhYmFzZXMuaCAqLywK
IAkJCQlCQ0M0M0FCODEyN0I5NURDMDAzMTdGMTYgLyogUGxhdGZvcm1Qb3B1cE1lbnVEYXRhLmNw
cCAqLywKQEAgLTI3NzUsNiArMjc3OSw3IEBACiAJCQkJMUE5NjM5RjUxMkYzOEVDRDAwNzhBMDYy
IC8qIENvcmVBbmltYXRpb25SZW5kZXJlci5oICovLAogCQkJCTFBOTYzOUY2MTJGMzhFQ0QwMDc4
QTA2MiAvKiBDb3JlQW5pbWF0aW9uUmVuZGVyZXIubW0gKi8sCiAJCQkJMUE5MkRDMTIxMkY4QkFC
OTAwMTdBRjY1IC8qIExheWVyVHJlZUNvbnRleHRNYWMubW0gKi8sCisJCQkJMzFFQTI1RDAxMzRG
NzhCMjAwNUIxNDUyIC8qIE5hdGl2ZVdlYk1vdXNlRXZlbnRNYWMubW0gKi8sCiAJCQkJQzAyQkZG
MUQxMjUxNTAyRTAwOUNDQkVBIC8qIE5hdGl2ZVdlYktleWJvYXJkRXZlbnRNYWMubW0gKi8sCiAJ
CQkJQzU3NEE1N0YxMkU2NjY4MTAwMkRGRTk4IC8qIFBhc3RlYm9hcmRUeXBlcy5oICovLAogCQkJ
CUM1NzRBNTgwMTJFNjY2ODEwMDJERkU5OCAvKiBQYXN0ZWJvYXJkVHlwZXMubW0gKi8sCkBAIC00
MzA3LDYgKzQzMTIsNyBAQAogCQkJCTUxODM0NTkyMTM0NTMyRTkwMDkyQjY5NiAvKiBXZWJJY29u
RGF0YWJhc2VDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTFBMzE3MzUxMzRDRUE4MDAw
N0M5QTRGIC8qIEF0dHJpYnV0ZWRTdHJpbmcubW0gaW4gU291cmNlcyAqLywKIAkJCQlFMTc5RkQ5
RjEzNEQzODI1MDAxNUI4ODMgLyogQXJndW1lbnRDb2RlcnNNYWMubW0gaW4gU291cmNlcyAqLywK
KwkJCQkzMUVBMjVEMjEzNEY3OEMwMDA1QjE0NTIgLyogTmF0aXZlV2ViTW91c2VFdmVudE1hYy5t
bSBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nl
c3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIu
dmNwcm9qIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIudmNwcm9qCmluZGV4IDA0ZWVhYmYu
LmU4NjgzMTggMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJvagor
KysgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2oKQEAgLTQ4Myw2ICs0ODMsMTAg
QEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cU2hh
cmVkXE5hdGl2ZVdlYk1vdXNlRXZlbnQuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQog
CQkJCVJlbGF0aXZlUGF0aD0iLi5cU2hhcmVkXE9yaWdpbkFuZERhdGFiYXNlcy5jcHAiCiAJCQkJ
PgogCQkJPC9GaWxlPgpAQCAtMTE5NCw2ICsxMTk4LDY0IEBACiAJCQkJCT4KIAkJCQk8L0ZpbGU+
CiAJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxTaGFyZWRcd2luXE5hdGl2ZVdlYk1v
dXNlRXZlbnRXaW4uY3BwIgorCQkJCQk+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJ
TmFtZT0iRGVidWd8V2luMzIiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZD
Q0xDb21waWxlclRvb2wiCisJCQkJCQkJT2JqZWN0RmlsZT0iJChJbnREaXIpXCQoSW5wdXROYW1l
KTEub2JqIgorCQkJCQkJCVhNTERvY3VtZW50YXRpb25GaWxlTmFtZT0iJChJbnREaXIpXCQoSW5w
dXROYW1lKTEueGRjIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJ
PEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQkJPgor
CQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJCU9iamVj
dEZpbGU9IiQoSW50RGlyKVwkKElucHV0TmFtZSkxLm9iaiIKKwkJCQkJCQlYTUxEb2N1bWVudGF0
aW9uRmlsZU5hbWU9IiQoSW50RGlyKVwkKElucHV0TmFtZSkxLnhkYyIKKwkJCQkJCS8+CisJCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFt
ZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJ
CQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJCU9iamVjdEZpbGU9IiQoSW50RGlyKVwk
KElucHV0TmFtZSkxLm9iaiIKKwkJCQkJCQlYTUxEb2N1bWVudGF0aW9uRmlsZU5hbWU9IiQoSW50
RGlyKVwkKElucHV0TmFtZSkxLnhkYyIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRp
b24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19D
RkxpdGV8V2luMzIiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiCisJCQkJCQkJT2JqZWN0RmlsZT0iJChJbnREaXIpXCQoSW5wdXROYW1lKTEub2Jq
IgorCQkJCQkJCVhNTERvY3VtZW50YXRpb25GaWxlTmFtZT0iJChJbnREaXIpXCQoSW5wdXROYW1l
KTEueGRjIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVD
b25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJCQk+CisJCQkJ
CQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkJT2JqZWN0Rmls
ZT0iJChJbnREaXIpXCQoSW5wdXROYW1lKTEub2JqIgorCQkJCQkJCVhNTERvY3VtZW50YXRpb25G
aWxlTmFtZT0iJChJbnREaXIpXCQoSW5wdXROYW1lKTEueGRjIgorCQkJCQkJLz4KKwkJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJQ
cm9kdWN0aW9ufFdpbjMyIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NM
Q29tcGlsZXJUb29sIgorCQkJCQkJCU9iamVjdEZpbGU9IiQoSW50RGlyKVwkKElucHV0TmFtZSkx
Lm9iaiIKKwkJCQkJCQlYTUxEb2N1bWVudGF0aW9uRmlsZU5hbWU9IiQoSW50RGlyKVwkKElucHV0
TmFtZSkxLnhkYyIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPC9G
aWxlPgorCQkJCTxGaWxlCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5cU2hhcmVkXHdpblxQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mby5jcHAiCiAJCQkJCT4KIAkJCQk8L0ZpbGU+Ci0tIAoxLjcuNC40Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89685</attachid>
            <date>2011-04-14 16:57:16 -0700</date>
            <delta_ts>2011-04-14 17:20:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-onClick-does-not-function-with-select-elements-in-We.patch</filename>
            <type>text/plain</type>
            <size>38839</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">RnJvbSBjNmE5MDM3MGUwNTNlNWFlN2Q0MzNlYzE0Yjk4MGM3NGE3NjZkYWQ0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb24gTGVlIDxqb25sZWVAYXBwbGUuY29tPgpEYXRlOiBNb24s
IDExIEFwciAyMDExIDE1OjM5OjA1IC0wNzAwClN1YmplY3Q6IFtQQVRDSF0gb25DbGljayBkb2Vz
IG5vdCBmdW5jdGlvbiB3aXRoIDxzZWxlY3Q+IGVsZW1lbnRzIGluIFdlYktpdDIKIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NzkwNAogPHJkYXI6Ly9wcm9ibGVtLzky
MTc3NTc+CgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiogU2hhcmVkL05hdGl2ZVdlYk1v
dXNlRXZlbnQuaDogQ29waWVkIGZyb20gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBvcHVw
TWVudVByb3h5LmguCihXZWJLaXQ6Ok5hdGl2ZVdlYk1vdXNlRXZlbnQ6Om5hdGl2ZUV2ZW50KToK
KiBTaGFyZWQvbWFjL05hdGl2ZVdlYk1vdXNlRXZlbnRNYWMubW06IEFkZGVkLgooV2ViS2l0OjpO
YXRpdmVXZWJNb3VzZUV2ZW50OjpOYXRpdmVXZWJNb3VzZUV2ZW50KToKKiBTaGFyZWQvcXQvTmF0
aXZlV2ViTW91c2VFdmVudFF0LmNwcDogQ29waWVkIGZyb20gU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlBvcHVwTWVudVByb3h5LmguCihXZWJLaXQ6Ok5hdGl2ZVdlYk1vdXNlRXZlbnQ6Ok5h
dGl2ZVdlYk1vdXNlRXZlbnQpOgoqIFNoYXJlZC93aW4vTmF0aXZlV2ViTW91c2VFdmVudFdpbi5j
cHA6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQb3B1cE1lbnVQcm94
eS5oLgooV2ViS2l0OjpOYXRpdmVXZWJNb3VzZUV2ZW50OjpOYXRpdmVXZWJNb3VzZUV2ZW50KToK
KiBVSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW06CigtW1dLVmlldyBtb3VzZU1vdmVkOl0pOgoo
LVtXS1ZpZXcgX21vdXNlSGFuZGxlcjpdKTogUHJlLWNvbXBpbGVyIG1vdXNlIGhhbmRsZXIgY2Fs
bHMgbmVlZCB0byB1c2UgdGhlIG5ldyBOYXRpdmVXZWJNb3VzZUV2ZW50IGNsYXNzCiogVUlQcm9j
ZXNzL0FQSS9xdC9xd2twYWdlLmNwcDoKKFFXS1BhZ2VQcml2YXRlOjptb3VzZU1vdmVFdmVudCk6
CihRV0tQYWdlUHJpdmF0ZTo6bW91c2VQcmVzc0V2ZW50KToKKFFXS1BhZ2VQcml2YXRlOjptb3Vz
ZVJlbGVhc2VFdmVudCk6CihRV0tQYWdlUHJpdmF0ZTo6bW91c2VEb3VibGVDbGlja0V2ZW50KToK
KiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKFdlYktpdDo6V2ViUGFnZVByb3h5OjpoYW5k
bGVNb3VzZUV2ZW50KToga2VlcCB0cmFjayBvZiBtb3VzZSBkb3duIGV2ZW50IGluIG9yZGVyIHRv
IGJlIGFibGUgdG8gc2VuZCBhIGZha2UgbW91c2UgdXAgZXZlbnQgb24gdGhlIHNlbGVjdCBlbGVt
ZW50CihXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y3VycmVudE1vdXNlRG93bkV2ZW50KTogZm9yIGFj
Y2VzcyBieSB0aGUgcG9wdXAgbWVudSBwcm94eSB0byBkaXNwYXRjaCB0aGUgZmFrZSBtb3VzZSB1
cCBldmVudAooV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZFJlY2VpdmVFdmVudCk6IGNsZWFyIG91
dCB0aGUgY2FjaGVkIG1vdXNlIGRvd24gZXZlbnQKKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpwcm9j
ZXNzRGlkQ3Jhc2gpOiBjbGVhciBvdXQgdGhlIGNhY2hlZCBldmVudHMgc2luY2Ugd2UgYXNzdW1l
IHRoYXQgZGlkUmVjZWl2ZUV2ZW50IGRpZCBub3QgY2FsbGVkIHByaW9yIHRvIHRoZSBjcmFzaAoq
IFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKiBVSVByb2Nlc3MvV2ViUG9wdXBNZW51UHJveHku
aDoKKiBVSVByb2Nlc3MvbWFjL1dlYlBvcHVwTWVudVByb3h5TWFjLm1tOgooV2ViS2l0OjpXZWJQ
b3B1cE1lbnVQcm94eU1hYzo6c2hvd1BvcHVwTWVudSk6IGFmdGVyIG5vdGlmeWluZyB0aGUgcG9w
dXAgbWVudSBjbGllbnQgdGhhdCB0aGUgdmFsdWUgY2hhbmdlZCwgZmFrZSBtb3VzZSB1cCBhbmQg
bW91c2UgbW92ZSBldmVudHMgYXJlIHBvc3RlZAoqIFVJUHJvY2Vzcy93aW4vV2ViUG9wdXBNZW51
UHJveHlXaW4uY3BwOgooV2ViS2l0OjpXZWJQb3B1cE1lbnVQcm94eVdpbjo6c2hvd1BvcHVwTWVu
dSk6IGFmdGVyIG5vdGlmeWluZyB0aGUgcG9wdXAgbWVudSBjbGllbnQgdGhhdCB0aGUgdmFsdWUg
Y2hhbmdlZCwgZmFrZSBtb3VzZSB1cCBhbmQgbW91c2UgbW92ZSBldmVudHMgYXJlIHBvc3RlZAoq
IFVJUHJvY2Vzcy93aW4vV2ViVmlldy5jcHA6CihXZWJLaXQ6OldlYlZpZXc6Om9uTW91c2VFdmVu
dCk6CiogV2ViS2l0Mi5wcm86CiogV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgoq
IHdpbi9XZWJLaXQyLnZjcHJvajoKLS0tCiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgICAgICAg
ICAgICAgICAgICAgICAgICAgICB8ICAgNDMgKysrKysrKysrKysrCiBTb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvTmF0aXZlV2ViTW91c2VFdmVudC5oICAgICAgICB8ICAgNzAgKysrKysrKysrKysrKysr
KysrKysKIC4uLi9XZWJLaXQyL1NoYXJlZC9tYWMvTmF0aXZlV2ViTW91c2VFdmVudE1hYy5tbSAg
IHwgICAzOSArKysrKysrKysrKwogU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L05hdGl2ZVdlYk1v
dXNlRXZlbnRRdC5jcHAgfCAgIDM5ICsrKysrKysrKysrCiAuLi4vV2ViS2l0Mi9TaGFyZWQvd2lu
L05hdGl2ZVdlYk1vdXNlRXZlbnRXaW4uY3BwICB8ICAgNDMgKysrKysrKysrKysrCiBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0gICAgICAgICB8ICAgMzcgKysrKysr
Ky0tLS0KIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdrcGFnZS5jcHAgICAgICAg
IHwgICAxNiArKy0tLQogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAg
ICAgICAgICAgfCAgIDI0ICsrKysrKy0KIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaCAgICAgICAgICAgIHwgICAgNyArKy0KIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQb3B1cE1lbnVQcm94eS5oICAgICAgIHwgICAgMiArCiAuLi4vV2ViS2l0Mi9VSVByb2Nlc3Mv
bWFjL1dlYlBvcHVwTWVudVByb3h5TWFjLm1tICB8ICAgMzkgKysrKysrKysrKy0KIC4uLi9XZWJL
aXQyL1VJUHJvY2Vzcy93aW4vV2ViUG9wdXBNZW51UHJveHlXaW4uY3BwIHwgICAyMyArKysrKyst
CiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mvd2luL1dlYlZpZXcuY3BwICAgICAgICAgICB8ICAg
IDMgKy0KIFNvdXJjZS9XZWJLaXQyL1dlYktpdDIucHJvICAgICAgICAgICAgICAgICAgICAgICAg
IHwgICAgMiArCiBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogICB8ICAgIDYgKysKIFNvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJvaiAgICAgICAg
ICAgICAgICAgIHwgICA2MiArKysrKysrKysrKysrKysrKwogMTYgZmlsZXMgY2hhbmdlZCwgNDIw
IGluc2VydGlvbnMoKyksIDM1IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IFNvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9OYXRpdmVXZWJNb3VzZUV2ZW50LmgKIGNyZWF0ZSBtb2RlIDEwMDY0
NCBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL05hdGl2ZVdlYk1vdXNlRXZlbnRNYWMubW0KIGNy
ZWF0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvTmF0aXZlV2ViTW91c2VF
dmVudFF0LmNwcAogY3JlYXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC93aW4v
TmF0aXZlV2ViTW91c2VFdmVudFdpbi5jcHAKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZjNmYzQ4Yi4uMmY4M2Vk
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDExLTA0LTE0ICBKb24gTGVlICA8am9u
bGVlQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBvbkNsaWNrIGRvZXMgbm90IGZ1bmN0aW9uIHdpdGggPHNlbGVjdD4gZWxlbWVudHMg
aW4gV2ViS2l0MgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NTc5MDQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzkyMTc3NTc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvTmF0aXZlV2ViTW91
c2VFdmVudC5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUG9wdXBN
ZW51UHJveHkuaC4KKyAgICAgICAgKFdlYktpdDo6TmF0aXZlV2ViTW91c2VFdmVudDo6bmF0aXZl
RXZlbnQpOgorICAgICAgICAqIFNoYXJlZC9tYWMvTmF0aXZlV2ViTW91c2VFdmVudE1hYy5tbTog
QWRkZWQuCisgICAgICAgIChXZWJLaXQ6Ok5hdGl2ZVdlYk1vdXNlRXZlbnQ6Ok5hdGl2ZVdlYk1v
dXNlRXZlbnQpOgorICAgICAgICAqIFNoYXJlZC9xdC9OYXRpdmVXZWJNb3VzZUV2ZW50UXQuY3Bw
OiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUG9wdXBNZW51UHJveHku
aC4KKyAgICAgICAgKFdlYktpdDo6TmF0aXZlV2ViTW91c2VFdmVudDo6TmF0aXZlV2ViTW91c2VF
dmVudCk6CisgICAgICAgICogU2hhcmVkL3dpbi9OYXRpdmVXZWJNb3VzZUV2ZW50V2luLmNwcDog
Q29waWVkIGZyb20gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBvcHVwTWVudVByb3h5Lmgu
CisgICAgICAgIChXZWJLaXQ6Ok5hdGl2ZVdlYk1vdXNlRXZlbnQ6Ok5hdGl2ZVdlYk1vdXNlRXZl
bnQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbToKKyAgICAgICAgKC1b
V0tWaWV3IG1vdXNlTW92ZWQ6XSk6CisgICAgICAgICgtW1dLVmlldyBfbW91c2VIYW5kbGVyOl0p
OiBQcmUtY29tcGlsZXIgbW91c2UgaGFuZGxlciBjYWxscyBuZWVkIHRvIHVzZSB0aGUgbmV3IE5h
dGl2ZVdlYk1vdXNlRXZlbnQgY2xhc3MKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3F3a3Bh
Z2UuY3BwOgorICAgICAgICAoUVdLUGFnZVByaXZhdGU6Om1vdXNlTW92ZUV2ZW50KToKKyAgICAg
ICAgKFFXS1BhZ2VQcml2YXRlOjptb3VzZVByZXNzRXZlbnQpOgorICAgICAgICAoUVdLUGFnZVBy
aXZhdGU6Om1vdXNlUmVsZWFzZUV2ZW50KToKKyAgICAgICAgKFFXS1BhZ2VQcml2YXRlOjptb3Vz
ZURvdWJsZUNsaWNrRXZlbnQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmhhbmRsZU1vdXNlRXZlbnQpOiBrZWVw
IHRyYWNrIG9mIG1vdXNlIGRvd24gZXZlbnQgaW4gb3JkZXIgdG8gYmUgYWJsZSB0byBzZW5kIGEg
ZmFrZSBtb3VzZSB1cCBldmVudCBvbiB0aGUgc2VsZWN0IGVsZW1lbnQKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZVByb3h5OjpjdXJyZW50TW91c2VEb3duRXZlbnQpOiBmb3IgYWNjZXNzIGJ5IHRo
ZSBwb3B1cCBtZW51IHByb3h5IHRvIGRpc3BhdGNoIHRoZSBmYWtlIG1vdXNlIHVwIGV2ZW50Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkUmVjZWl2ZUV2ZW50KTogY2xlYXIgb3V0
IHRoZSBjYWNoZWQgbW91c2UgZG93biBldmVudAorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJv
eHk6OnByb2Nlc3NEaWRDcmFzaCk6IGNsZWFyIG91dCB0aGUgY2FjaGVkIGV2ZW50cyBzaW5jZSB3
ZSBhc3N1bWUgdGhhdCBkaWRSZWNlaXZlRXZlbnQgZGlkIG5vdCBjYWxsZWQgcHJpb3IgdG8gdGhl
IGNyYXNoCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9XZWJQb3B1cE1lbnVQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvV2Vi
UG9wdXBNZW51UHJveHlNYWMubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBvcHVwTWVudVByb3h5
TWFjOjpzaG93UG9wdXBNZW51KTogYWZ0ZXIgbm90aWZ5aW5nIHRoZSBwb3B1cCBtZW51IGNsaWVu
dCB0aGF0IHRoZSB2YWx1ZSBjaGFuZ2VkLCBmYWtlIG1vdXNlIHVwIGFuZCBtb3VzZSBtb3ZlIGV2
ZW50cyBhcmUgcG9zdGVkCisgICAgICAgICogVUlQcm9jZXNzL3dpbi9XZWJQb3B1cE1lbnVQcm94
eVdpbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBvcHVwTWVudVByb3h5V2luOjpzaG93UG9w
dXBNZW51KTogYWZ0ZXIgbm90aWZ5aW5nIHRoZSBwb3B1cCBtZW51IGNsaWVudCB0aGF0IHRoZSB2
YWx1ZSBjaGFuZ2VkLCBmYWtlIG1vdXNlIHVwIGFuZCBtb3VzZSBtb3ZlIGV2ZW50cyBhcmUgcG9z
dGVkCisgICAgICAgICogVUlQcm9jZXNzL3dpbi9XZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViVmlldzo6b25Nb3VzZUV2ZW50KToKKyAgICAgICAgKiBXZWJLaXQyLnBybzoKKyAgICAg
ICAgKiBXZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogd2luL1dl
YktpdDIudmNwcm9qOgorCiAyMDExLTA0LTE0ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW5kZXJzIENhcmxzc29uLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL05hdGl2ZVdlYk1vdXNlRXZlbnQuaCBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9OYXRpdmVXZWJNb3VzZUV2ZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uNjBjMmNlNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9OYXRpdmVXZWJNb3VzZUV2ZW50LmgKQEAgLTAsMCArMSw3MCBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
Zm5kZWYgTmF0aXZlV2ViTW91c2VFdmVudF9oCisjZGVmaW5lIE5hdGl2ZVdlYk1vdXNlRXZlbnRf
aAorCisjaW5jbHVkZSAiV2ViRXZlbnQuaCIKKworI2lmIFBMQVRGT1JNKE1BQykKKyNpbmNsdWRl
IDx3dGYvUmV0YWluUHRyLmg+CitPQkpDX0NMQVNTIE5TVmlldzsKKyNlbGlmIFBMQVRGT1JNKFFU
KQorI2luY2x1ZGUgPFFHcmFwaGljc1NjZW5lRXZlbnQuaD4KKyNlbmRpZgorCituYW1lc3BhY2Ug
V2ViS2l0IHsKKworY2xhc3MgTmF0aXZlV2ViTW91c2VFdmVudCA6IHB1YmxpYyBXZWJNb3VzZUV2
ZW50IHsKK3B1YmxpYzoKKyNpZiBQTEFURk9STShNQUMpCisgICAgTmF0aXZlV2ViTW91c2VFdmVu
dChOU0V2ZW50ICosIE5TVmlldyAqKTsKKyNlbGlmIFBMQVRGT1JNKFdJTikKKyAgICBOYXRpdmVX
ZWJNb3VzZUV2ZW50KEhXTkQsIFVJTlQgbWVzc2FnZSwgV1BBUkFNLCBMUEFSQU0sIGJvb2wpOwor
I2VsaWYgUExBVEZPUk0oUVQpCisgICAgZXhwbGljaXQgTmF0aXZlV2ViTW91c2VFdmVudChRR3Jh
cGhpY3NTY2VuZU1vdXNlRXZlbnQqLCBpbnQpOworI2VuZGlmCisKKyNpZiBQTEFURk9STShNQUMp
CisgICAgTlNFdmVudCogbmF0aXZlRXZlbnQoKSBjb25zdCB7IHJldHVybiBtX25hdGl2ZUV2ZW50
LmdldCgpOyB9CisjZWxpZiBQTEFURk9STShXSU4pCisgICAgY29uc3QgTVNHKiBuYXRpdmVFdmVu
dCgpIGNvbnN0IHsgcmV0dXJuICZtX25hdGl2ZUV2ZW50OyB9CisjZWxpZiBQTEFURk9STShRVCkK
KyAgICBjb25zdCBRR3JhcGhpY3NTY2VuZU1vdXNlRXZlbnQqIG5hdGl2ZUV2ZW50KCkgY29uc3Qg
eyByZXR1cm4gJm1fbmF0aXZlRXZlbnQ7IH0KKyNlbmRpZgorCitwcml2YXRlOgorI2lmIFBMQVRG
T1JNKE1BQykKKyAgICBSZXRhaW5QdHI8TlNFdmVudD4gbV9uYXRpdmVFdmVudDsKKyNlbGlmIFBM
QVRGT1JNKFdJTikKKyAgICBNU0cgbV9uYXRpdmVFdmVudDsKKyNlbGlmIFBMQVRGT1JNKFFUKQor
ICAgIFFHcmFwaGljc1NjZW5lTW91c2VFdmVudCBtX25hdGl2ZUV2ZW50OworI2VuZGlmCit9Owor
Cit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIE5hdGl2ZVdlYk1vdXNlRXZlbnRf
aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9OYXRpdmVXZWJNb3VzZUV2
ZW50TWFjLm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9OYXRpdmVXZWJNb3VzZUV2ZW50
TWFjLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3MDY0YTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL05hdGl2ZVdlYk1vdXNlRXZl
bnRNYWMubW0KQEAgLTAsMCArMSwzOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5o
IgorI2ltcG9ydCAiTmF0aXZlV2ViTW91c2VFdmVudC5oIgorCisjaW1wb3J0ICJXZWJFdmVudEZh
Y3RvcnkuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK05hdGl2ZVdlYk1vdXNlRXZlbnQ6Ok5h
dGl2ZVdlYk1vdXNlRXZlbnQoTlNFdmVudCogZXZlbnQsIE5TVmlldyogdmlldykKKyAgICA6IFdl
Yk1vdXNlRXZlbnQoV2ViRXZlbnRGYWN0b3J5OjpjcmVhdGVXZWJNb3VzZUV2ZW50KGV2ZW50LCB2
aWV3KSkKKyAgICAsIG1fbmF0aXZlRXZlbnQoZXZlbnQpCit7Cit9CisKK30gLy8gbmFtZXNwYWNl
IFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L05hdGl2ZVdlYk1v
dXNlRXZlbnRRdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvTmF0aXZlV2ViTW91c2VF
dmVudFF0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZjEzZmM4Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L05hdGl2ZVdlYk1vdXNl
RXZlbnRRdC5jcHAKQEAgLTAsMCArMSwzOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKyNpbmNsdWRlICJOYXRpdmVXZWJNb3VzZUV2ZW50LmgiCisKKyNpbmNsdWRlICJXZWJF
dmVudEZhY3RvcnlRdC5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworTmF0aXZlV2ViTW91c2VF
dmVudDo6TmF0aXZlV2ViTW91c2VFdmVudChRR3JhcGhpY3NTY2VuZU1vdXNlRXZlbnQqIGV2ZW50
LCBpbnQgZXZlbnRDbGlja0NvdW50KQorICAgIDogV2ViTW91c2VFdmVudChXZWJFdmVudEZhY3Rv
cnk6OmNyZWF0ZVdlYk1vdXNlRXZlbnQoZXZlbnQsIGV2ZW50Q2xpY2tDb3VudCkpCisgICAgLCBt
X25hdGl2ZUV2ZW50KCpldmVudCkKK3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvd2luL05hdGl2ZVdlYk1vdXNlRXZlbnRXaW4u
Y3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3dpbi9OYXRpdmVXZWJNb3VzZUV2ZW50V2luLmNw
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YjgzZGM2Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3dpbi9OYXRpdmVXZWJNb3VzZUV2ZW50V2lu
LmNwcApAQCAtMCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIk5hdGl2ZVdlYk1vdXNlRXZlbnQuaCIKKworI2luY2x1ZGUgIldlYkV2ZW50RmFj
dG9yeS5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworTmF0aXZlV2ViTW91c2VFdmVudDo6TmF0
aXZlV2ViTW91c2VFdmVudChIV05EIGh3bmQsIFVJTlQgbWVzc2FnZSwgV1BBUkFNIHdQYXJhbSwg
TFBBUkFNIGxQYXJhbSwgYm9vbCBkaWRBY3RpdmF0ZVdlYlZpZXcpCisgICAgOiBXZWJNb3VzZUV2
ZW50KFdlYkV2ZW50RmFjdG9yeTo6Y3JlYXRlV2ViTW91c2VFdmVudChod25kLCBtZXNzYWdlLCB3
UGFyYW0sIGxQYXJhbSwgZGlkQWN0aXZhdGVXZWJWaWV3KSkKKyAgICAsIG1fbmF0aXZlRXZlbnQo
KQoreworICAgIG1fbmF0aXZlRXZlbnQuaHduZCA9IGh3bmQ7CisgICAgbV9uYXRpdmVFdmVudC5t
ZXNzYWdlID0gbWVzc2FnZTsKKyAgICBtX25hdGl2ZUV2ZW50LndQYXJhbSA9IHdQYXJhbTsKKyAg
ICBtX25hdGl2ZUV2ZW50LmxQYXJhbSA9IGxQYXJhbTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcu
bW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0KaW5kZXggYTU4
NGU5Ni4uZjFiMGI4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9t
YWMvV0tWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dLVmll
dy5tbQpAQCAtMzUsNiArMzUsNyBAQAogI2ltcG9ydCAiTGF5ZXJUcmVlQ29udGV4dC5oIgogI2lt
cG9ydCAiTG9nZ2luZy5oIgogI2ltcG9ydCAiTmF0aXZlV2ViS2V5Ym9hcmRFdmVudC5oIgorI2lt
cG9ydCAiTmF0aXZlV2ViTW91c2VFdmVudC5oIgogI2ltcG9ydCAiUERGVmlld0NvbnRyb2xsZXIu
aCIKICNpbXBvcnQgIlBhZ2VDbGllbnRJbXBsLmgiCiAjaW1wb3J0ICJQYXN0ZWJvYXJkVHlwZXMu
aCIKQEAgLTkyNiw2ICs5MjcsMjYgQEAgc3RhdGljIHZvaWQgc3BlYWtTdHJpbmcoV0tTdHJpbmdS
ZWYgc3RyaW5nLCBXS0Vycm9yUmVmIGVycm9yLCB2b2lkKikKICAgICBfZGF0YS0+X21vdXNlRG93
bkV2ZW50ID0gW2V2ZW50IHJldGFpbl07CiB9CiAKKyNkZWZpbmUgTkFUSVZFX01PVVNFX0VWRU5U
X0hBTkRMRVIoU2VsZWN0b3IpIFwKKyAgICAtICh2b2lkKVNlbGVjdG9yOihOU0V2ZW50ICopdGhl
RXZlbnQgXAorICAgIHsgXAorICAgICAgICBOYXRpdmVXZWJNb3VzZUV2ZW50IHdlYkV2ZW50KHRo
ZUV2ZW50LCBzZWxmKTsgXAorICAgICAgICBfZGF0YS0+X3BhZ2UtPmhhbmRsZU1vdXNlRXZlbnQo
d2ViRXZlbnQpOyBcCisgICAgfQorCitOQVRJVkVfTU9VU0VfRVZFTlRfSEFORExFUihtb3VzZUVu
dGVyZWQpCitOQVRJVkVfTU9VU0VfRVZFTlRfSEFORExFUihtb3VzZUV4aXRlZCkKK05BVElWRV9N
T1VTRV9FVkVOVF9IQU5ETEVSKG90aGVyTW91c2VEb3duKQorTkFUSVZFX01PVVNFX0VWRU5UX0hB
TkRMRVIob3RoZXJNb3VzZURyYWdnZWQpCitOQVRJVkVfTU9VU0VfRVZFTlRfSEFORExFUihvdGhl
ck1vdXNlTW92ZWQpCitOQVRJVkVfTU9VU0VfRVZFTlRfSEFORExFUihvdGhlck1vdXNlVXApCitO
QVRJVkVfTU9VU0VfRVZFTlRfSEFORExFUihyaWdodE1vdXNlRG93bikKK05BVElWRV9NT1VTRV9F
VkVOVF9IQU5ETEVSKHJpZ2h0TW91c2VEcmFnZ2VkKQorTkFUSVZFX01PVVNFX0VWRU5UX0hBTkRM
RVIocmlnaHRNb3VzZU1vdmVkKQorTkFUSVZFX01PVVNFX0VWRU5UX0hBTkRMRVIocmlnaHRNb3Vz
ZVVwKQorCisjdW5kZWYgTkFUSVZFX01PVVNFX0VWRU5UX0hBTkRMRVIKKwogI2RlZmluZSBFVkVO
VF9IQU5ETEVSKFNlbGVjdG9yLCBUeXBlKSBcCiAgICAgLSAodm9pZClTZWxlY3RvcjooTlNFdmVu
dCAqKXRoZUV2ZW50IFwKICAgICB7IFwKQEAgLTkzMywxNiArOTU0LDYgQEAgc3RhdGljIHZvaWQg
c3BlYWtTdHJpbmcoV0tTdHJpbmdSZWYgc3RyaW5nLCBXS0Vycm9yUmVmIGVycm9yLCB2b2lkKikK
ICAgICAgICAgX2RhdGEtPl9wYWdlLT5oYW5kbGUjI1R5cGUjI0V2ZW50KHdlYkV2ZW50KTsgXAog
ICAgIH0KIAotRVZFTlRfSEFORExFUihtb3VzZUVudGVyZWQsIE1vdXNlKQotRVZFTlRfSEFORExF
Uihtb3VzZUV4aXRlZCwgTW91c2UpCi1FVkVOVF9IQU5ETEVSKG90aGVyTW91c2VEb3duLCBNb3Vz
ZSkKLUVWRU5UX0hBTkRMRVIob3RoZXJNb3VzZURyYWdnZWQsIE1vdXNlKQotRVZFTlRfSEFORExF
UihvdGhlck1vdXNlTW92ZWQsIE1vdXNlKQotRVZFTlRfSEFORExFUihvdGhlck1vdXNlVXAsIE1v
dXNlKQotRVZFTlRfSEFORExFUihyaWdodE1vdXNlRG93biwgTW91c2UpCi1FVkVOVF9IQU5ETEVS
KHJpZ2h0TW91c2VEcmFnZ2VkLCBNb3VzZSkKLUVWRU5UX0hBTkRMRVIocmlnaHRNb3VzZU1vdmVk
LCBNb3VzZSkKLUVWRU5UX0hBTkRMRVIocmlnaHRNb3VzZVVwLCBNb3VzZSkKIEVWRU5UX0hBTkRM
RVIoc2Nyb2xsV2hlZWwsIFdoZWVsKQogCiAjdW5kZWYgRVZFTlRfSEFORExFUgpAQCAtOTUzLDgg
Kzk2NCw3IEBAIEVWRU5UX0hBTkRMRVIoc2Nyb2xsV2hlZWwsIFdoZWVsKQogICAgIGlmIChzZWxm
ID09IFtbc2VsZiB3aW5kb3ddIGZpcnN0UmVzcG9uZGVyXSAmJiAhTlNQb2ludEluUmVjdChbc2Vs
ZiBjb252ZXJ0UG9pbnQ6W2V2ZW50IGxvY2F0aW9uSW5XaW5kb3ddIGZyb21WaWV3Om5pbF0sIFtz
ZWxmIHZpc2libGVSZWN0XSkpCiAgICAgICAgIHJldHVybjsKIAotICAgIFdlYk1vdXNlRXZlbnQg
d2ViRXZlbnQgPSBXZWJFdmVudEZhY3Rvcnk6OmNyZWF0ZVdlYk1vdXNlRXZlbnQoZXZlbnQsIHNl
bGYpOwotICAgIF9kYXRhLT5fcGFnZS0+aGFuZGxlTW91c2VFdmVudCh3ZWJFdmVudCk7CisgICAg
X2RhdGEtPl9wYWdlLT5oYW5kbGVNb3VzZUV2ZW50KE5hdGl2ZVdlYk1vdXNlRXZlbnQoZXZlbnQs
IHNlbGYpKTsKIH0KIAogLSAodm9pZClfbW91c2VIYW5kbGVyOihOU0V2ZW50ICopZXZlbnQKQEAg
LTk2Miw4ICs5NzIsNyBAQCBFVkVOVF9IQU5ETEVSKHNjcm9sbFdoZWVsLCBXaGVlbCkKICAgICBO
U0lucHV0TWFuYWdlciAqY3VycmVudElucHV0TWFuYWdlciA9IFtOU0lucHV0TWFuYWdlciBjdXJy
ZW50SW5wdXRNYW5hZ2VyXTsKICAgICBpZiAoW2N1cnJlbnRJbnB1dE1hbmFnZXIgd2FudHNUb0hh
bmRsZU1vdXNlRXZlbnRzXSAmJiBbY3VycmVudElucHV0TWFuYWdlciBoYW5kbGVNb3VzZUV2ZW50
OmV2ZW50XSkKICAgICAgICAgcmV0dXJuOwotICAgIFdlYk1vdXNlRXZlbnQgd2ViRXZlbnQgPSBX
ZWJFdmVudEZhY3Rvcnk6OmNyZWF0ZVdlYk1vdXNlRXZlbnQoZXZlbnQsIHNlbGYpOwotICAgIF9k
YXRhLT5fcGFnZS0+aGFuZGxlTW91c2VFdmVudCh3ZWJFdmVudCk7CisgICAgX2RhdGEtPl9wYWdl
LT5oYW5kbGVNb3VzZUV2ZW50KE5hdGl2ZVdlYk1vdXNlRXZlbnQoZXZlbnQsIHNlbGYpKTsKIH0K
IAogLSAodm9pZCltb3VzZURvd246KE5TRXZlbnQgKilldmVudApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2twYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvcXQvcXdrcGFnZS5jcHAKaW5kZXggMzgxMzc0Zi4uNGFkYTIzMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2twYWdlLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3a3BhZ2UuY3BwCkBAIC0zNCw2ICszNCw3
IEBACiAjaW5jbHVkZSAiRmluZEluZGljYXRvci5oIgogI2luY2x1ZGUgIkxvY2FsaXplZFN0cmlu
Z3MuaCIKICNpbmNsdWRlICJOYXRpdmVXZWJLZXlib2FyZEV2ZW50LmgiCisjaW5jbHVkZSAiTmF0
aXZlV2ViTW91c2VFdmVudC5oIgogI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCiAjaW5jbHVk
ZSAiVGlsZWREcmF3aW5nQXJlYVByb3h5LmgiCiAjaW5jbHVkZSAiV2ViQ29udGV4dC5oIgpAQCAt
MzA2LDMyICszMDcsMjcgQEAgdm9pZCBRV0tQYWdlUHJpdmF0ZTo6bW91c2VNb3ZlRXZlbnQoUUdy
YXBoaWNzU2NlbmVNb3VzZUV2ZW50KiBldikKICAgICAgICAgcmV0dXJuOwogICAgIGxhc3RQb3Mg
PSBldi0+cG9zKCk7CiAKLSAgICBXZWJNb3VzZUV2ZW50IG1vdXNlRXZlbnQgPSBXZWJFdmVudEZh
Y3Rvcnk6OmNyZWF0ZVdlYk1vdXNlRXZlbnQoZXYsIDApOwotICAgIHBhZ2UtPmhhbmRsZU1vdXNl
RXZlbnQobW91c2VFdmVudCk7CisJcGFnZS0+aGFuZGxlTW91c2VFdmVudChOYXRpdmVXZWJNb3Vz
ZUV2ZW50KGV2LCAwKSk7CiB9CiAKIHZvaWQgUVdLUGFnZVByaXZhdGU6Om1vdXNlUHJlc3NFdmVu
dChRR3JhcGhpY3NTY2VuZU1vdXNlRXZlbnQqIGV2KQogewogICAgIGlmICh0cmlwbGVDbGlja1Rp
bWVyLmlzQWN0aXZlKCkgJiYgKGV2LT5wb3MoKSAtIHRyaXBsZUNsaWNrKS5tYW5oYXR0YW5MZW5n
dGgoKSA8IFFBcHBsaWNhdGlvbjo6c3RhcnREcmFnRGlzdGFuY2UoKSkgewotICAgICAgICBXZWJN
b3VzZUV2ZW50IG1vdXNlRXZlbnQgPSBXZWJFdmVudEZhY3Rvcnk6OmNyZWF0ZVdlYk1vdXNlRXZl
bnQoZXYsIDMpOwotICAgICAgICBwYWdlLT5oYW5kbGVNb3VzZUV2ZW50KG1vdXNlRXZlbnQpOwor
CQlwYWdlLT5oYW5kbGVNb3VzZUV2ZW50KE5hdGl2ZVdlYk1vdXNlRXZlbnQoZXYsIDMpKTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIFdlYk1vdXNlRXZlbnQgbW91c2VFdmVudCA9IFdl
YkV2ZW50RmFjdG9yeTo6Y3JlYXRlV2ViTW91c2VFdmVudChldiwgMSk7Ci0gICAgcGFnZS0+aGFu
ZGxlTW91c2VFdmVudChtb3VzZUV2ZW50KTsKKwlwYWdlLT5oYW5kbGVNb3VzZUV2ZW50KE5hdGl2
ZVdlYk1vdXNlRXZlbnQoZXYsIDEpKTsKIH0KIAogdm9pZCBRV0tQYWdlUHJpdmF0ZTo6bW91c2VS
ZWxlYXNlRXZlbnQoUUdyYXBoaWNzU2NlbmVNb3VzZUV2ZW50KiBldikKIHsKLSAgICBXZWJNb3Vz
ZUV2ZW50IG1vdXNlRXZlbnQgPSBXZWJFdmVudEZhY3Rvcnk6OmNyZWF0ZVdlYk1vdXNlRXZlbnQo
ZXYsIDApOwotICAgIHBhZ2UtPmhhbmRsZU1vdXNlRXZlbnQobW91c2VFdmVudCk7CisJcGFnZS0+
aGFuZGxlTW91c2VFdmVudChOYXRpdmVXZWJNb3VzZUV2ZW50KGV2LCAwKSk7CiB9CiAKIHZvaWQg
UVdLUGFnZVByaXZhdGU6Om1vdXNlRG91YmxlQ2xpY2tFdmVudChRR3JhcGhpY3NTY2VuZU1vdXNl
RXZlbnQqIGV2KQogewotICAgIFdlYk1vdXNlRXZlbnQgbW91c2VFdmVudCA9IFdlYkV2ZW50RmFj
dG9yeTo6Y3JlYXRlV2ViTW91c2VFdmVudChldiwgMik7Ci0gICAgcGFnZS0+aGFuZGxlTW91c2VF
dmVudChtb3VzZUV2ZW50KTsKKwlwYWdlLT5oYW5kbGVNb3VzZUV2ZW50KE5hdGl2ZVdlYk1vdXNl
RXZlbnQoZXYsIDIpKTsKIAogICAgIHRyaXBsZUNsaWNrVGltZXIuc3RhcnQoUUFwcGxpY2F0aW9u
Ojpkb3VibGVDbGlja0ludGVydmFsKCksIHEpOwogICAgIHRyaXBsZUNsaWNrID0gZXYtPnBvcygp
LnRvUG9pbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5k
ZXggYjEyM2M3Yy4uMjI3OTIwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJGaW5kSW5kaWNhdG9yLmgiCiAj
aW5jbHVkZSAiTWVzc2FnZUlELmgiCiAjaW5jbHVkZSAiTmF0aXZlV2ViS2V5Ym9hcmRFdmVudC5o
IgorI2luY2x1ZGUgIk5hdGl2ZVdlYk1vdXNlRXZlbnQuaCIKICNpbmNsdWRlICJQYWdlQ2xpZW50
LmgiCiAjaW5jbHVkZSAiUHJpbnRJbmZvLmgiCiAjaW5jbHVkZSAiU2Vzc2lvblN0YXRlLmgiCkBA
IC04MTEsNyArODEyLDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRyYWdFbmRlZChjb25zdCBXZWJD
b3JlOjpJbnRQb2ludCYgY2xpZW50UG9zaXRpb24sIGNvbnN0IFdlYkMKICAgICBwcm9jZXNzKCkt
PnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkRyYWdFbmRlZChjbGllbnRQb3NpdGlvbiwgZ2xvYmFs
UG9zaXRpb24sIG9wZXJhdGlvbiksIG1fcGFnZUlEKTsKIH0KIAotdm9pZCBXZWJQYWdlUHJveHk6
OmhhbmRsZU1vdXNlRXZlbnQoY29uc3QgV2ViTW91c2VFdmVudCYgZXZlbnQpCit2b2lkIFdlYlBh
Z2VQcm94eTo6aGFuZGxlTW91c2VFdmVudChjb25zdCBOYXRpdmVXZWJNb3VzZUV2ZW50JiBldmVu
dCkKIHsKICAgICBpZiAoIWlzVmFsaWQoKSkKICAgICAgICAgcmV0dXJuOwpAQCAtODIxLDEzICs4
MjIsMjAgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmhhbmRsZU1vdXNlRXZlbnQoY29uc3QgV2ViTW91
c2VFdmVudCYgZXZlbnQpCiAgICAgICAgIHByb2Nlc3MoKS0+cmVzcG9uc2l2ZW5lc3NUaW1lcigp
LT5zdGFydCgpOwogICAgIGVsc2UgewogICAgICAgICBpZiAobV9wcm9jZXNzaW5nTW91c2VNb3Zl
RXZlbnQpIHsKLSAgICAgICAgICAgIG1fbmV4dE1vdXNlTW92ZUV2ZW50ID0gYWRvcHRQdHIobmV3
IFdlYk1vdXNlRXZlbnQoZXZlbnQpKTsKKyAgICAgICAgICAgIG1fbmV4dE1vdXNlTW92ZUV2ZW50
ID0gYWRvcHRQdHIobmV3IE5hdGl2ZVdlYk1vdXNlRXZlbnQoZXZlbnQpKTsKICAgICAgICAgICAg
IHJldHVybjsKICAgICAgICAgfQogCiAgICAgICAgIG1fcHJvY2Vzc2luZ01vdXNlTW92ZUV2ZW50
ID0gdHJ1ZTsKICAgICB9CiAKKyAgICAvLyA8aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTU3OTA0PiBXZSBuZWVkIHRvIGtlZXAgdHJhY2sgb2YgdGhlIG1vdXNlIGRvd24g
ZXZlbnQgaW4gdGhlIGNhc2Ugd2hlcmUgd2UKKyAgICAvLyBkaXNwbGF5IGEgcG9wdXAgbWVudSBm
b3Igc2VsZWN0IGVsZW1lbnRzLiBXaGVuIHRoZSB1c2VyIGNoYW5nZXMgdGhlIHNlbGVjdGVkIGl0
ZW0sCisgICAgLy8gd2UgZmFrZSBhIG1vdXNlIHVwIGV2ZW50IGJ5IHVzaW5nIHRoaXMgc3RvcmVk
IGRvd24gZXZlbnQuIFRoaXMgZXZlbnQgZ2V0cyBjbGVhcmVkCisgICAgLy8gd2hlbiB0aGUgbW91
c2UgdXAgbWVzc2FnZSBpcyByZWNlaXZlZCBmcm9tIFdlYlByb2Nlc3MuCisgICAgaWYgKGV2ZW50
LnR5cGUoKSA9PSBXZWJFdmVudDo6TW91c2VEb3duKQorICAgICAgICBtX2N1cnJlbnRseVByb2Nl
c3NlZE1vdXNlRG93bkV2ZW50ID0gYWRvcHRQdHIobmV3IE5hdGl2ZVdlYk1vdXNlRXZlbnQoZXZl
bnQpKTsKKwogICAgIHByb2Nlc3MoKS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6TW91c2VFdmVu
dChldmVudCksIG1fcGFnZUlEKTsKIH0KIApAQCAtMjIwOCw2ICsyMjE2LDExIEBAIHZvaWQgV2Vi
UGFnZVByb3h5OjpzZXRUZXh0RnJvbUl0ZW1Gb3JQb3B1cE1lbnUoV2ViUG9wdXBNZW51UHJveHkq
LCBpbnQzMl90IGluZGV4CiAgICAgcHJvY2VzcygpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpT
ZXRUZXh0Rm9yQWN0aXZlUG9wdXBNZW51KGluZGV4KSwgbV9wYWdlSUQpOwogfQogCitOYXRpdmVX
ZWJNb3VzZUV2ZW50KiBXZWJQYWdlUHJveHk6OmN1cnJlbnRseVByb2Nlc3NlZE1vdXNlRG93bkV2
ZW50KCkKK3sKKyAgICByZXR1cm4gbV9jdXJyZW50bHlQcm9jZXNzZWRNb3VzZURvd25FdmVudC5n
ZXQoKTsKK30KKwogdm9pZCBXZWJQYWdlUHJveHk6OnNob3dQb3B1cE1lbnUoY29uc3QgSW50UmVj
dCYgcmVjdCwgdWludDY0X3QgdGV4dERpcmVjdGlvbiwgY29uc3QgVmVjdG9yPFdlYlBvcHVwSXRl
bT4mIGl0ZW1zLCBpbnQzMl90IHNlbGVjdGVkSW5kZXgsIGNvbnN0IFBsYXRmb3JtUG9wdXBNZW51
RGF0YSYgZGF0YSkKIHsKICAgICBpZiAobV9hY3RpdmVQb3B1cE1lbnUpIHsKQEAgLTI1NDIsMTIg
KzI1NTUsMTQgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRpZFJlY2VpdmVFdmVudCh1aW50MzJfdCBv
cGFxdWVUeXBlLCBib29sIGhhbmRsZWQpCiAgICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAgICAg
Y2FzZSBXZWJFdmVudDo6TW91c2VEb3duOgotICAgIGNhc2UgV2ViRXZlbnQ6Ok1vdXNlVXA6CiAj
aWYgRU5BQkxFKEdFU1RVUkVfRVZFTlRTKQogICAgIGNhc2UgV2ViRXZlbnQ6Okdlc3R1cmVTY3Jv
bGxCZWdpbjoKICAgICBjYXNlIFdlYkV2ZW50OjpHZXN0dXJlU2Nyb2xsRW5kOgogI2VuZGlmCiAg
ICAgICAgIGJyZWFrOworICAgIGNhc2UgV2ViRXZlbnQ6Ok1vdXNlVXA6CisgICAgICAgIG1fY3Vy
cmVudGx5UHJvY2Vzc2VkTW91c2VEb3duRXZlbnQgPSBudWxscHRyOworICAgICAgICBicmVhazsK
IAogICAgIGNhc2UgV2ViRXZlbnQ6OldoZWVsOiB7CiAgICAgICAgIG1fcHJvY2Vzc2luZ1doZWVs
RXZlbnQgPSBmYWxzZTsKQEAgLTI3NTYsNiArMjc3MSw5IEBAIHZvaWQgV2ViUGFnZVByb3h5Ojpw
cm9jZXNzRGlkQ3Jhc2goKQogCiAgICAgLy8gQ2FuJ3QgZXhwZWN0IERpZFJlY2VpdmVFdmVudCBu
b3RpZmljYXRpb25zIGZyb20gYSBjcmFzaGVkIHdlYiBwcm9jZXNzLgogICAgIG1fa2V5RXZlbnRR
dWV1ZS5jbGVhcigpOworICAgIG1fbmV4dFdoZWVsRXZlbnQgPSBudWxscHRyOworICAgIG1fbmV4
dE1vdXNlTW92ZUV2ZW50ID0gbnVsbHB0cjsKKyAgICBtX2N1cnJlbnRseVByb2Nlc3NlZE1vdXNl
RG93bkV2ZW50ID0gbnVsbHB0cjsKIAogI2lmIFBMQVRGT1JNKE1BQykgJiYgIWRlZmluZWQoQlVJ
TERJTkdfT05fU05PV19MRU9QQVJEKQogICAgIGRpc21pc3NDb3JyZWN0aW9uUGFuZWwoUmVhc29u
Rm9yRGlzbWlzc2luZ0NvcnJlY3Rpb25QYW5lbElnbm9yZWQpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDFjNzI2MmUuLjUyNWVkNzcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTc4LDYgKzc4LDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIE5hdGl2ZVdlYktleWJvYXJkRXZl
bnQ7CitjbGFzcyBOYXRpdmVXZWJNb3VzZUV2ZW50OwogY2xhc3MgUGFnZUNsaWVudDsKIGNsYXNz
IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwogY2xhc3MgU3RyaW5nUGFpclZlY3RvcjsKQEAgLTI4
Nyw3ICsyODgsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRBY3R1YWxWaXNpYmxlQ29udGVudFJl
Y3QoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgcmVjdCk7CiAjZW5kaWYKIAotICAgIHZvaWQgaGFu
ZGxlTW91c2VFdmVudChjb25zdCBXZWJNb3VzZUV2ZW50Jik7CisgICAgdm9pZCBoYW5kbGVNb3Vz
ZUV2ZW50KGNvbnN0IE5hdGl2ZVdlYk1vdXNlRXZlbnQmKTsKICAgICB2b2lkIGhhbmRsZVdoZWVs
RXZlbnQoY29uc3QgV2ViV2hlZWxFdmVudCYpOwogICAgIHZvaWQgaGFuZGxlS2V5Ym9hcmRFdmVu
dChjb25zdCBOYXRpdmVXZWJLZXlib2FyZEV2ZW50Jik7CiAjaWYgRU5BQkxFKEdFU1RVUkVfRVZF
TlRTKQpAQCAtNDk4LDYgKzQ5OSw3IEBAIHByaXZhdGU6CiAgICAgLy8gV2ViUG9wdXBNZW51UHJv
eHk6OkNsaWVudAogICAgIHZpcnR1YWwgdm9pZCB2YWx1ZUNoYW5nZWRGb3JQb3B1cE1lbnUoV2Vi
UG9wdXBNZW51UHJveHkqLCBpbnQzMl90IG5ld1NlbGVjdGVkSW5kZXgpOwogICAgIHZpcnR1YWwg
dm9pZCBzZXRUZXh0RnJvbUl0ZW1Gb3JQb3B1cE1lbnUoV2ViUG9wdXBNZW51UHJveHkqLCBpbnQz
Ml90IGluZGV4KTsKKyAgICB2aXJ0dWFsIE5hdGl2ZVdlYk1vdXNlRXZlbnQqIGN1cnJlbnRseVBy
b2Nlc3NlZE1vdXNlRG93bkV2ZW50KCk7CiAKICAgICAvLyBJbXBsZW1lbnRlZCBpbiBnZW5lcmF0
ZWQgV2ViUGFnZVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcAogICAgIHZvaWQgZGlkUmVjZWl2ZVdl
YlBhZ2VQcm94eU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJ
RCwgQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKik7CkBAIC03OTYsNyArNzk4LDggQEAgcHJpdmF0
ZToKICAgICBPd25QdHI8V2ViV2hlZWxFdmVudD4gbV9uZXh0V2hlZWxFdmVudDsKIAogICAgIGJv
b2wgbV9wcm9jZXNzaW5nTW91c2VNb3ZlRXZlbnQ7Ci0gICAgT3duUHRyPFdlYk1vdXNlRXZlbnQ+
IG1fbmV4dE1vdXNlTW92ZUV2ZW50OworICAgIE93blB0cjxOYXRpdmVXZWJNb3VzZUV2ZW50PiBt
X25leHRNb3VzZU1vdmVFdmVudDsKKyAgICBPd25QdHI8TmF0aXZlV2ViTW91c2VFdmVudD4gbV9j
dXJyZW50bHlQcm9jZXNzZWRNb3VzZURvd25FdmVudDsKIAogICAgIHVpbnQ2NF90IG1fcGFnZUlE
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUG9wdXBNZW51UHJv
eHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQb3B1cE1lbnVQcm94eS5oCmluZGV4
IDk2OTAxZmIuLjBhZjg4ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQb3B1cE1lbnVQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQb3B1
cE1lbnVQcm94eS5oCkBAIC0zOSw2ICszOSw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBzdHJ1
Y3QgUGxhdGZvcm1Qb3B1cE1lbnVEYXRhOwogc3RydWN0IFdlYlBvcHVwSXRlbTsKK2NsYXNzIE5h
dGl2ZVdlYk1vdXNlRXZlbnQ7CiAKIGNsYXNzIFdlYlBvcHVwTWVudVByb3h5IDogcHVibGljIFJl
ZkNvdW50ZWQ8V2ViUG9wdXBNZW51UHJveHk+IHsKIHB1YmxpYzoKQEAgLTUxLDYgKzUyLDcgQEAg
cHVibGljOgogICAgIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB2b2lkIHZhbHVlQ2hhbmdlZEZv
clBvcHVwTWVudShXZWJQb3B1cE1lbnVQcm94eSosIGludDMyX3QgbmV3U2VsZWN0ZWRJbmRleCkg
PSAwOwogICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0VGV4dEZyb21JdGVtRm9yUG9wdXBNZW51KFdl
YlBvcHVwTWVudVByb3h5KiwgaW50MzJfdCBpbmRleCkgPSAwOworICAgICAgICB2aXJ0dWFsIE5h
dGl2ZVdlYk1vdXNlRXZlbnQqIGN1cnJlbnRseVByb2Nlc3NlZE1vdXNlRG93bkV2ZW50KCkgPSAw
OwogICAgIH07CiAKICAgICB2aXJ0dWFsIH5XZWJQb3B1cE1lbnVQcm94eSgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYlBvcHVwTWVudVByb3h5TWFjLm1tIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJQb3B1cE1lbnVQcm94eU1hYy5tbQppbmRl
eCA3Y2U4NzY0Li40NmQ0NTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
bWFjL1dlYlBvcHVwTWVudVByb3h5TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9tYWMvV2ViUG9wdXBNZW51UHJveHlNYWMubW0KQEAgLTI2LDYgKzI2LDcgQEAKICNpbXBvcnQg
ImNvbmZpZy5oIgogI2ltcG9ydCAiV2ViUG9wdXBNZW51UHJveHlNYWMuaCIKIAorI2ltcG9ydCAi
TmF0aXZlV2ViTW91c2VFdmVudC5oIgogI2ltcG9ydCAiUGFnZUNsaWVudEltcGwuaCIKICNpbXBv
cnQgIlBsYXRmb3JtUG9wdXBNZW51RGF0YS5oIgogI2ltcG9ydCAiV0tWaWV3LmgiCkBAIC0xMjIs
OSArMTIzLDQxIEBAIHZvaWQgV2ViUG9wdXBNZW51UHJveHlNYWM6OnNob3dQb3B1cE1lbnUoY29u
c3QgSW50UmVjdCYgcmVjdCwgVGV4dERpcmVjdGlvbiB0ZXh0CiAKICAgICBbbV9wb3B1cC5nZXQo
KSBkaXNtaXNzUG9wVXBdOwogICAgIFtkdW1teVZpZXcuZ2V0KCkgcmVtb3ZlRnJvbVN1cGVydmll
d107Ci0KLSAgICBpZiAobV9jbGllbnQpCi0gICAgICAgIG1fY2xpZW50LT52YWx1ZUNoYW5nZWRG
b3JQb3B1cE1lbnUodGhpcywgW21fcG9wdXAuZ2V0KCkgaW5kZXhPZlNlbGVjdGVkSXRlbV0pOwor
ICAgIAorICAgIGlmICghbV9jbGllbnQpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBtX2Ns
aWVudC0+dmFsdWVDaGFuZ2VkRm9yUG9wdXBNZW51KHRoaXMsIFttX3BvcHVwLmdldCgpIGluZGV4
T2ZTZWxlY3RlZEl0ZW1dKTsKKyAgICAKKyAgICAvLyA8aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTU3OTA0PiBUaGlzIGNvZGUgaXMgYWRvcHRlZCBmcm9tIEV2ZW50SGFu
ZGxlcjo6c2VuZEZha2VFdmVudHNBZnRlcldpZGdldFRyYWNraW5nKCkuCisgICAgaWYgKCFtX2Ns
aWVudC0+Y3VycmVudGx5UHJvY2Vzc2VkTW91c2VEb3duRXZlbnQoKSkKKyAgICAgICAgcmV0dXJu
OworICAgIAorICAgIE5TRXZlbnQqIGluaXRpYXRpbmdOU0V2ZW50ID0gbV9jbGllbnQtPmN1cnJl
bnRseVByb2Nlc3NlZE1vdXNlRG93bkV2ZW50KCktPm5hdGl2ZUV2ZW50KCk7CisgICAgaWYgKFtp
bml0aWF0aW5nTlNFdmVudCB0eXBlXSAhPSBOU0xlZnRNb3VzZURvd24pCisgICAgICAgIHJldHVy
bjsKKyAgICAKKyAgICBOU0V2ZW50ICpmYWtlRXZlbnQgPSBbTlNFdmVudCBtb3VzZUV2ZW50V2l0
aFR5cGU6TlNMZWZ0TW91c2VVcAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBsb2NhdGlvbjpbaW5pdGlhdGluZ05TRXZlbnQgbG9jYXRpb25JbldpbmRvd10KKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGlmaWVyRmxhZ3M6W2luaXRp
YXRpbmdOU0V2ZW50IG1vZGlmaWVyRmxhZ3NdCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdGltZXN0YW1wOltpbml0aWF0aW5nTlNFdmVudCB0aW1lc3RhbXBdCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93TnVtYmVyOltpbml0
aWF0aW5nTlNFdmVudCB3aW5kb3dOdW1iZXJdCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb250ZXh0Oltpbml0aWF0aW5nTlNFdmVudCBjb250ZXh0XQorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudE51bWJlcjpbaW5pdGlh
dGluZ05TRXZlbnQgZXZlbnROdW1iZXJdCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjbGlja0NvdW50Oltpbml0aWF0aW5nTlNFdmVudCBjbGlja0NvdW50XQorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVzc3VyZTpbaW5pdGlh
dGluZ05TRXZlbnQgcHJlc3N1cmVdXTsKKyAgICAKKyAgICBbTlNBcHAgcG9zdEV2ZW50OmZha2VF
dmVudCBhdFN0YXJ0OllFU107CisgICAgZmFrZUV2ZW50ID0gW05TRXZlbnQgbW91c2VFdmVudFdp
dGhUeXBlOk5TTW91c2VNb3ZlZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBs
b2NhdGlvbjpbW21fd2ViVmlldyB3aW5kb3ddIGNvbnZlcnRTY3JlZW5Ub0Jhc2U6W05TRXZlbnQg
bW91c2VMb2NhdGlvbl1dCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RpZmllckZs
YWdzOltpbml0aWF0aW5nTlNFdmVudCBtb2RpZmllckZsYWdzXQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHRpbWVzdGFtcDpbaW5pdGlhdGluZ05TRXZlbnQgdGltZXN0YW1wXQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvd051bWJlcjpbaW5pdGlhdGluZ05T
RXZlbnQgd2luZG93TnVtYmVyXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29udGV4dDpbaW5pdGlhdGluZ05TRXZlbnQgY29udGV4dF0KKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZXZlbnROdW1iZXI6MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY2xpY2tDb3VudDowCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXNz
dXJlOjBdOworICAgIFtOU0FwcCBwb3N0RXZlbnQ6ZmFrZUV2ZW50IGF0U3RhcnQ6WUVTXTsKIH0K
IAogdm9pZCBXZWJQb3B1cE1lbnVQcm94eU1hYzo6aGlkZVBvcHVwTWVudSgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mvd2luL1dlYlBvcHVwTWVudVByb3h5V2luLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy93aW4vV2ViUG9wdXBNZW51UHJveHlXaW4uY3BwCmlu
ZGV4IGVlYmRlNzUuLmE4ZDgwNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy93aW4vV2ViUG9wdXBNZW51UHJveHlXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy93aW4vV2ViUG9wdXBNZW51UHJveHlXaW4uY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5j
bHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViUG9wdXBNZW51UHJveHlXaW4uaCIKIAorI2lu
Y2x1ZGUgIk5hdGl2ZVdlYk1vdXNlRXZlbnQuaCIKICNpbmNsdWRlICJXZWJWaWV3LmgiCiAjaW5j
bHVkZSA8V2ViQ29yZS9XZWJDb3JlSW5zdGFuY2VIYW5kbGUuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L1Njcm9sbGJhclRoZW1lLmg+CkBAIC0zMjQsOCArMzI1LDI2IEBAIHZvaWQgV2ViUG9wdXBNZW51
UHJveHlXaW46OnNob3dQb3B1cE1lbnUoY29uc3QgSW50UmVjdCYgcmVjdCwgVGV4dERpcmVjdGlv
biwgZG91CiAgICAgbV9zaG93UG9wdXAgPSBmYWxzZTsKICAgICA6OlNob3dXaW5kb3cobV9wb3B1
cCwgU1dfSElERSk7CiAKLSAgICBpZiAobV9jbGllbnQpCi0gICAgICAgIG1fY2xpZW50LT52YWx1
ZUNoYW5nZWRGb3JQb3B1cE1lbnUodGhpcywgbV9uZXdTZWxlY3RlZEluZGV4KTsKKyAgICBpZiAo
IW1fY2xpZW50KQorICAgICAgICByZXR1cm47CisKKyAgICBtX2NsaWVudC0+dmFsdWVDaGFuZ2Vk
Rm9yUG9wdXBNZW51KHRoaXMsIG1fbmV3U2VsZWN0ZWRJbmRleCk7CisKKyAgICAvLyA8aHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU3OTA0PiBJbiBvcmRlciB0byBwcm9w
ZXJseSBjYWxsIHRoZSBvbkNsaWNrKCkKKyAgICAvLyBoYW5kbGVyIG9uIGEgPHNlbGVjdD4gZWxl
bWVudCwgd2UgbmVlZCB0byBmYWtlIGEgbW91c2UgdXAgZXZlbnQgaW4gdGhlIG1haW4gd2luZG93
LgorICAgIC8vIFRoZSBtYWluIHdpbmRvdyBhbHJlYWR5IHJlY2VpdmVkIHRoZSBtb3VzZSBkb3du
LCB3aGljaCBzaG93ZWQgdGhpcyBwb3B1cCwgYnV0IHVwb24KKyAgICAvLyBzZWxlY3Rpb24gb2Yg
YW4gaXRlbSB0aGUgbW91c2UgdXAgZ2V0cyBlYXRlbiBieSB0aGUgcG9wdXAgbWVudS4gU28gd2Ug
dGFrZSB0aGUgbW91c2UgZG93bgorICAgIC8vIGV2ZW50LCBjaGFuZ2UgdGhlIG1lc3NhZ2UgdHlw
ZSB0byBhIG1vdXNlIHVwIGV2ZW50LCBhbmQgcG9zdCB0aGF0IGluIHRoZSBtZXNzYWdlIHF1ZXVl
LgorICAgIC8vIFRodXMsIHdlIGFyZSB2aXJ0dWFsbHkgY2xpY2tpbmcgYXQgdGhlCisgICAgLy8g
c2FtZSBsb2NhdGlvbiB3aGVyZSB0aGUgbW91c2UgZG93biBldmVudCBvY2N1cnJlZC4gVGhpcyBh
bGxvd3MgdGhlIGhpdCB0ZXN0IHRvIHNlbGVjdAorICAgIC8vIHRoZSBjb3JyZWN0IGVsZW1lbnQs
IGFuZCB0aGVyZWJ5IGNhbGwgdGhlIG9uQ2xpY2soKSBKUyBoYW5kbGVyLgorICAgIGlmICghbV9j
bGllbnQtPmN1cnJlbnRseVByb2Nlc3NlZE1vdXNlRG93bkV2ZW50KCkpCisgICAgICAgIHJldHVy
bjsKKyAgICAgICAgCisgICAgY29uc3QgTVNHKiBpbml0aWF0aW5nV2luRXZlbnQgPSBtX2NsaWVu
dC0+Y3VycmVudGx5UHJvY2Vzc2VkTW91c2VEb3duRXZlbnQoKS0+bmF0aXZlRXZlbnQoKTsKKyAg
ICBNU0cgZmFrZUV2ZW50ID0gKmluaXRpYXRpbmdXaW5FdmVudDsKKyAgICBmYWtlRXZlbnQubWVz
c2FnZSA9IFdNX0xCVVRUT05VUDsKKyAgICA6OlBvc3RNZXNzYWdlKGZha2VFdmVudC5od25kLCBm
YWtlRXZlbnQubWVzc2FnZSwgZmFrZUV2ZW50LndQYXJhbSwgZmFrZUV2ZW50LmxQYXJhbSk7CiB9
CiAKIHZvaWQgV2ViUG9wdXBNZW51UHJveHlXaW46OmhpZGVQb3B1cE1lbnUoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3dpbi9XZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy93aW4vV2ViVmlldy5jcHAKaW5kZXggNTRjZTllNS4uOTdkZWY4MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3dpbi9XZWJWaWV3LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mvd2luL1dlYlZpZXcuY3BwCkBAIC0zMSw2ICszMSw3IEBA
CiAjaW5jbHVkZSAiRmluZEluZGljYXRvci5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNs
dWRlICJOYXRpdmVXZWJLZXlib2FyZEV2ZW50LmgiCisjaW5jbHVkZSAiTmF0aXZlV2ViTW91c2VF
dmVudC5oIgogI2luY2x1ZGUgIlJlZ2lvbi5oIgogI2luY2x1ZGUgIlJ1bkxvb3AuaCIKICNpbmNs
dWRlICJXS0FQSUNhc3QuaCIKQEAgLTM4Nyw3ICszODgsNyBAQCB2b2lkIFdlYlZpZXc6OndpbmRv
d0FuY2VzdHJ5RGlkQ2hhbmdlKCkKIAogTFJFU1VMVCBXZWJWaWV3Ojpvbk1vdXNlRXZlbnQoSFdO
RCBoV25kLCBVSU5UIG1lc3NhZ2UsIFdQQVJBTSB3UGFyYW0sIExQQVJBTSBsUGFyYW0sIGJvb2wm
IGhhbmRsZWQpCiB7Ci0gICAgV2ViTW91c2VFdmVudCBtb3VzZUV2ZW50ID0gV2ViRXZlbnRGYWN0
b3J5OjpjcmVhdGVXZWJNb3VzZUV2ZW50KGhXbmQsIG1lc3NhZ2UsIHdQYXJhbSwgbFBhcmFtLCBt
X3dhc0FjdGl2YXRlZEJ5TW91c2VFdmVudCk7CisgICAgTmF0aXZlV2ViTW91c2VFdmVudCBtb3Vz
ZUV2ZW50ID0gTmF0aXZlV2ViTW91c2VFdmVudChoV25kLCBtZXNzYWdlLCB3UGFyYW0sIGxQYXJh
bSwgbV93YXNBY3RpdmF0ZWRCeU1vdXNlRXZlbnQpOwogICAgIHNldFdhc0FjdGl2YXRlZEJ5TW91
c2VFdmVudChmYWxzZSk7CiAgICAgCiAgICAgc3dpdGNoIChtZXNzYWdlKSB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnBybyBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIucHJv
CmluZGV4IDhiNzEyZmYuLjQ3YTFlYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYktp
dDIucHJvCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIucHJvCkBAIC0xMjMsNiArMTIzLDcg
QEAgSEVBREVSUyArPSBcCiAgICAgU2hhcmVkL011dGFibGVBcnJheS5oIFwKICAgICBTaGFyZWQv
TXV0YWJsZURpY3Rpb25hcnkuaCBcCiAgICAgU2hhcmVkL05hdGl2ZVdlYktleWJvYXJkRXZlbnQu
aCBcCisgICAgU2hhcmVkL05hdGl2ZVdlYk1vdXNlRXZlbnQuaCBcCiAgICAgU2hhcmVkL09yaWdp
bkFuZERhdGFiYXNlcy5oIFwKICAgICBTaGFyZWQvUGxhdGZvcm1Qb3B1cE1lbnVEYXRhLmggXAog
ICAgIFNoYXJlZC9QcmludEluZm8uaCBcCkBAIC0zNjMsNiArMzY0LDcgQEAgU09VUkNFUyArPSBc
CiAgICAgU2hhcmVkL1dlYldoZWVsRXZlbnQuY3BwIFwKICAgICBTaGFyZWQvcXQvU2hhcmVhYmxl
Qml0bWFwUXQuY3BwIFwKICAgICBTaGFyZWQvcXQvTmF0aXZlV2ViS2V5Ym9hcmRFdmVudFF0LmNw
cCBcCisgICAgU2hhcmVkL3F0L05hdGl2ZVdlYk1vdXNlRXZlbnRRdC5jcHAgXAogICAgIFNoYXJl
ZC9xdC9VcGRhdGVDaHVuay5jcHAgXAogICAgIFNoYXJlZC9xdC9XZWJDb3JlQXJndW1lbnRDb2Rl
cnNRdC5jcHAgXAogICAgIFNoYXJlZC9xdC9XZWJFdmVudEZhY3RvcnlRdC5jcHAgXApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGUz
NGVkNmIuLjVlZjk5NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKQEAgLTIzNiw2ICsyMzYsNyBAQAogCQkxQ0E4Qjk1NDEyN0M4OTE1
MDA1NzZDMkIgLyogV2ViSW5zcGVjdG9yTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMUM4RTJEQUQxMjc4QzVCMjAwQkM3QkQwIC8qIFdlYkluc3Bl
Y3Rvck1hYy5tbSAqLzsgfTsKIAkJMjlDRDU1QUExMjhFMjk0RjAwMTMzQzg1IC8qIEFjY2Vzc2li
aWxpdHlXZWJQYWdlT2JqZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAyOUNENTVBODEyOEUyOTRGMDAxMzNDODUgLyogQWNjZXNzaWJpbGl0eVdlYlBh
Z2VPYmplY3QuaCAqLzsgfTsKIAkJMjlDRDU1QUIxMjhFMjk0RjAwMTMzQzg1IC8qIEFjY2Vzc2li
aWxpdHlXZWJQYWdlT2JqZWN0Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMjlDRDU1QTkxMjhFMjk0RjAwMTMzQzg1IC8qIEFjY2Vzc2liaWxpdHlXZWJQ
YWdlT2JqZWN0Lm1tICovOyB9OworCQkzMUVBMjVEMjEzNEY3OEMwMDA1QjE0NTIgLyogTmF0aXZl
V2ViTW91c2VFdmVudE1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDMxRUEyNUQwMTM0Rjc4QjIwMDVCMTQ1MiAvKiBOYXRpdmVXZWJNb3VzZUV2ZW50
TWFjLm1tICovOyB9OwogCQkzMzA5MzQ0NzEzMTVCOTIyMDA5N0E3QkMgLyogV2ViQ29va2llTWFu
YWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAzMzA5MzQ0MzEzMTVCOTIyMDA5N0E3QkMgLyogV2ViQ29va2llTWFuYWdl
ck1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CiAJCTMzMDkzNDQ4MTMxNUI5MjIwMDk3QTdCQyAv
KiBXZWJDb29raWVNYW5hZ2VyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDMzMDkzNDQ0MTMxNUI5MjIwMDk3QTdCQyAvKiBXZWJDb29raWVN
YW5hZ2VyTWVzc2FnZXMuaCAqLzsgfTsKIAkJMzMwOTM0NDkxMzE1QjkyMjAwOTdBN0JDIC8qIFdl
YkNvb2tpZU1hbmFnZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMzA5MzQ0NTEzMTVCOTIyMDA5N0E3QkMgLyog
V2ViQ29va2llTWFuYWdlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKQEAgLTExMTYs
NiArMTExNyw4IEBACiAJCTFDQThCOTQ0MTI3Qzg4MkEwMDU3NkMyQiAvKiBXZWJJbnNwZWN0b3JQ
cm94eU1lc3NhZ2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkluc3Bl
Y3RvclByb3h5TWVzc2FnZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjlDRDU1
QTgxMjhFMjk0RjAwMTMzQzg1IC8qIEFjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5Q0Q1NUE5MTI4RTI5NEYwMDEzM0M4NSAv
KiBBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0Lm1tOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkzMUVBMjVEMDEzNEY3OEIyMDA1QjE0NTIgLyogTmF0aXZlV2Vi
TW91c2VFdmVudE1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IE5hdGl2ZVdlYk1vdXNlRXZl
bnRNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRUEyNUQzMTM0Rjc4RDYw
MDVCMTQ1MiAvKiBOYXRpdmVXZWJNb3VzZUV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IE5hdGl2ZVdlYk1vdXNlRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMzJEQkNGNUUwMzcwQURFRTAwQzkxNzgzIC8qIFdlYktpdDJQcmVmaXguaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViS2l0MlByZWZpeC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkzMzA5MzQ0MzEzMTVCOTIyMDA5N0E3QkMgLyogV2ViQ29va2llTWFu
YWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBXZWJDb29raWVNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMzMwOTM0NDQxMzE1QjkyMjAwOTdBN0JDIC8qIFdlYkNvb2tpZU1hbmFn
ZXJNZXNzYWdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDb29raWVN
YW5hZ2VyTWVzc2FnZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIwNjksNiAr
MjA3Miw3IEBACiAJCQkJQkNCMEFFRTgxMjJGNTNFMzAwQjEzNDFFIC8qIE11dGFibGVEaWN0aW9u
YXJ5LmNwcCAqLywKIAkJCQlCQ0IwQUVFNzEyMkY1M0UzMDBCMTM0MUUgLyogTXV0YWJsZURpY3Rp
b25hcnkuaCAqLywKIAkJCQlDMDJCRkYxNTEyNTE0RkQ4MDA5Q0NCRUEgLyogTmF0aXZlV2ViS2V5
Ym9hcmRFdmVudC5oICovLAorCQkJCTMxRUEyNUQzMTM0Rjc4RDYwMDVCMTQ1MiAvKiBOYXRpdmVX
ZWJNb3VzZUV2ZW50LmggKi8sCiAJCQkJQkNDRjY3MzIxMkM3RjE1QzAwOEY5QzM1IC8qIE9yaWdp
bkFuZERhdGFiYXNlcy5jcHAgKi8sCiAJCQkJQkNDRjY3MkMxMkM3RURGNzAwOEY5QzM1IC8qIE9y
aWdpbkFuZERhdGFiYXNlcy5oICovLAogCQkJCUJDQzQzQUI4MTI3Qjk1REMwMDMxN0YxNiAvKiBQ
bGF0Zm9ybVBvcHVwTWVudURhdGEuY3BwICovLApAQCAtMjc3NSw2ICsyNzc5LDcgQEAKIAkJCQkx
QTk2MzlGNTEyRjM4RUNEMDA3OEEwNjIgLyogQ29yZUFuaW1hdGlvblJlbmRlcmVyLmggKi8sCiAJ
CQkJMUE5NjM5RjYxMkYzOEVDRDAwNzhBMDYyIC8qIENvcmVBbmltYXRpb25SZW5kZXJlci5tbSAq
LywKIAkJCQkxQTkyREMxMjEyRjhCQUI5MDAxN0FGNjUgLyogTGF5ZXJUcmVlQ29udGV4dE1hYy5t
bSAqLywKKwkJCQkzMUVBMjVEMDEzNEY3OEIyMDA1QjE0NTIgLyogTmF0aXZlV2ViTW91c2VFdmVu
dE1hYy5tbSAqLywKIAkJCQlDMDJCRkYxRDEyNTE1MDJFMDA5Q0NCRUEgLyogTmF0aXZlV2ViS2V5
Ym9hcmRFdmVudE1hYy5tbSAqLywKIAkJCQlDNTc0QTU3RjEyRTY2NjgxMDAyREZFOTggLyogUGFz
dGVib2FyZFR5cGVzLmggKi8sCiAJCQkJQzU3NEE1ODAxMkU2NjY4MTAwMkRGRTk4IC8qIFBhc3Rl
Ym9hcmRUeXBlcy5tbSAqLywKQEAgLTQzMDcsNiArNDMxMiw3IEBACiAJCQkJNTE4MzQ1OTIxMzQ1
MzJFOTAwOTJCNjk2IC8qIFdlYkljb25EYXRhYmFzZUNsaWVudC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlFMUEzMTczNTEzNENFQTgwMDA3QzlBNEYgLyogQXR0cmlidXRlZFN0cmluZy5tbSBpbiBT
b3VyY2VzICovLAogCQkJCUUxNzlGRDlGMTM0RDM4MjUwMDE1Qjg4MyAvKiBBcmd1bWVudENvZGVy
c01hYy5tbSBpbiBTb3VyY2VzICovLAorCQkJCTMxRUEyNUQyMTM0Rjc4QzAwMDVCMTQ1MiAvKiBO
YXRpdmVXZWJNb3VzZUV2ZW50TWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25s
eUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2ogYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0
Mi52Y3Byb2oKaW5kZXggMDRlZWFiZi4uZTg2ODMxOCAxMDA3NTUKLS0tIGEvU291cmNlL1dlYktp
dDIvd2luL1dlYktpdDIudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZj
cHJvagpAQCAtNDgzLDYgKzQ4MywxMCBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxTaGFyZWRcTmF0aXZlV2ViTW91c2VFdmVudC5oIgorCQkJCT4K
KwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxTaGFyZWRcT3JpZ2lu
QW5kRGF0YWJhc2VzLmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CkBAIC0xMTk0LDYgKzExOTgsNjQg
QEAKIAkJCQkJPgogCQkJCTwvRmlsZT4KIAkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XFNoYXJlZFx3aW5cTmF0aXZlV2ViTW91c2VFdmVudFdpbi5jcHAiCisJCQkJCT4KKwkJCQkJPEZp
bGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJCT4KKwkJCQkJ
CTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCQlPYmplY3RGaWxl
PSIkKEludERpcilcJChJbnB1dE5hbWUpMS5vYmoiCisJCQkJCQkJWE1MRG9jdW1lbnRhdGlvbkZp
bGVOYW1lPSIkKEludERpcilcJChJbnB1dE5hbWUpMS54ZGMiCisJCQkJCQkvPgorCQkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IlJl
bGVhc2V8V2luMzIiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiCisJCQkJCQkJT2JqZWN0RmlsZT0iJChJbnREaXIpXCQoSW5wdXROYW1lKTEub2Jq
IgorCQkJCQkJCVhNTERvY3VtZW50YXRpb25GaWxlTmFtZT0iJChJbnREaXIpXCQoSW5wdXROYW1l
KTEueGRjIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVD
b25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJ
CQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkJ
T2JqZWN0RmlsZT0iJChJbnREaXIpXCQoSW5wdXROYW1lKTEub2JqIgorCQkJCQkJCVhNTERvY3Vt
ZW50YXRpb25GaWxlTmFtZT0iJChJbnREaXIpXCQoSW5wdXROYW1lKTEueGRjIgorCQkJCQkJLz4K
KwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJ
CQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJCT4KKwkJCQkJCTxUb29s
CisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCQlPYmplY3RGaWxlPSIkKElu
dERpcilcJChJbnB1dE5hbWUpMS5vYmoiCisJCQkJCQkJWE1MRG9jdW1lbnRhdGlvbkZpbGVOYW1l
PSIkKEludERpcilcJChJbnB1dE5hbWUpMS54ZGMiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IkRlYnVnX0Fs
bHxXaW4zMiIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVy
VG9vbCIKKwkJCQkJCQlPYmplY3RGaWxlPSIkKEludERpcilcJChJbnB1dE5hbWUpMS5vYmoiCisJ
CQkJCQkJWE1MRG9jdW1lbnRhdGlvbkZpbGVOYW1lPSIkKEludERpcilcJChJbnB1dE5hbWUpMS54
ZGMiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24KKwkJCQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCisJCQkJCQk+CisJCQkJCQk8
VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkJT2JqZWN0RmlsZT0i
JChJbnREaXIpXCQoSW5wdXROYW1lKTEub2JqIgorCQkJCQkJCVhNTERvY3VtZW50YXRpb25GaWxl
TmFtZT0iJChJbnREaXIpXCQoSW5wdXROYW1lKTEueGRjIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKIAkJCQkJUmVsYXRpdmVQYXRo
PSIuLlxTaGFyZWRcd2luXFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNwcCIKIAkJCQkJPgogCQkJ
CTwvRmlsZT4KLS0gCjEuNy40LjQKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89695</attachid>
            <date>2011-04-14 17:20:27 -0700</date>
            <delta_ts>2011-04-14 19:11:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-onClick-does-not-function-with-select-elements-in-We.patch</filename>
            <type>text/plain</type>
            <size>39482</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">RnJvbSAyMDQyOTE0NjViYjc1MzEwNmRhNjQ3ZWYxZWEwZTQzNjc4Mjc0MDcyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb24gTGVlIDxqb25sZWVAYXBwbGUuY29tPgpEYXRlOiBNb24s
IDExIEFwciAyMDExIDE1OjM5OjA1IC0wNzAwClN1YmplY3Q6IFtQQVRDSF0gb25DbGljayBkb2Vz
IG5vdCBmdW5jdGlvbiB3aXRoIDxzZWxlY3Q+IGVsZW1lbnRzIGluIFdlYktpdDIKIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NzkwNAogPHJkYXI6Ly9wcm9ibGVtLzky
MTc3NTc+CgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiogU2hhcmVkL05hdGl2ZVdlYk1v
dXNlRXZlbnQuaDogQ29waWVkIGZyb20gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBvcHVw
TWVudVByb3h5LmguCihXZWJLaXQ6Ok5hdGl2ZVdlYk1vdXNlRXZlbnQ6Om5hdGl2ZUV2ZW50KToK
KiBTaGFyZWQvbWFjL05hdGl2ZVdlYk1vdXNlRXZlbnRNYWMubW06IEFkZGVkLgooV2ViS2l0OjpO
YXRpdmVXZWJNb3VzZUV2ZW50OjpOYXRpdmVXZWJNb3VzZUV2ZW50KToKKiBTaGFyZWQvcXQvTmF0
aXZlV2ViTW91c2VFdmVudFF0LmNwcDogQ29waWVkIGZyb20gU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlBvcHVwTWVudVByb3h5LmguCihXZWJLaXQ6Ok5hdGl2ZVdlYk1vdXNlRXZlbnQ6Ok5h
dGl2ZVdlYk1vdXNlRXZlbnQpOgoqIFNoYXJlZC93aW4vTmF0aXZlV2ViTW91c2VFdmVudFdpbi5j
cHA6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQb3B1cE1lbnVQcm94
eS5oLgooV2ViS2l0OjpOYXRpdmVXZWJNb3VzZUV2ZW50OjpOYXRpdmVXZWJNb3VzZUV2ZW50KToK
KiBVSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW06CigtW1dLVmlldyBtb3VzZU1vdmVkOl0pOgoo
LVtXS1ZpZXcgX21vdXNlSGFuZGxlcjpdKTogUHJlLWNvbXBpbGVyIG1vdXNlIGhhbmRsZXIgY2Fs
bHMgbmVlZCB0byB1c2UgdGhlIG5ldyBOYXRpdmVXZWJNb3VzZUV2ZW50IGNsYXNzCiogVUlQcm9j
ZXNzL0FQSS9xdC9xd2twYWdlLmNwcDoKKFFXS1BhZ2VQcml2YXRlOjptb3VzZU1vdmVFdmVudCk6
CihRV0tQYWdlUHJpdmF0ZTo6bW91c2VQcmVzc0V2ZW50KToKKFFXS1BhZ2VQcml2YXRlOjptb3Vz
ZVJlbGVhc2VFdmVudCk6CihRV0tQYWdlUHJpdmF0ZTo6bW91c2VEb3VibGVDbGlja0V2ZW50KToK
KiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKFdlYktpdDo6V2ViUGFnZVByb3h5OjpoYW5k
bGVNb3VzZUV2ZW50KToga2VlcCB0cmFjayBvZiBtb3VzZSBkb3duIGV2ZW50IGluIG9yZGVyIHRv
IGJlIGFibGUgdG8gc2VuZCBhIGZha2UgbW91c2UgdXAgZXZlbnQgb24gdGhlIHNlbGVjdCBlbGVt
ZW50CihXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y3VycmVudE1vdXNlRG93bkV2ZW50KTogZm9yIGFj
Y2VzcyBieSB0aGUgcG9wdXAgbWVudSBwcm94eSB0byBkaXNwYXRjaCB0aGUgZmFrZSBtb3VzZSB1
cCBldmVudAooV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZFJlY2VpdmVFdmVudCk6IGNsZWFyIG91
dCB0aGUgY2FjaGVkIG1vdXNlIGRvd24gZXZlbnQKKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpwcm9j
ZXNzRGlkQ3Jhc2gpOiBjbGVhciBvdXQgdGhlIGNhY2hlZCBldmVudHMgc2luY2Ugd2UgYXNzdW1l
IHRoYXQgZGlkUmVjZWl2ZUV2ZW50IGRpZCBub3QgY2FsbGVkIHByaW9yIHRvIHRoZSBjcmFzaAoq
IFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKiBVSVByb2Nlc3MvV2ViUG9wdXBNZW51UHJveHku
aDoKKiBVSVByb2Nlc3MvbWFjL1dlYlBvcHVwTWVudVByb3h5TWFjLm1tOgooV2ViS2l0OjpXZWJQ
b3B1cE1lbnVQcm94eU1hYzo6c2hvd1BvcHVwTWVudSk6IGFmdGVyIG5vdGlmeWluZyB0aGUgcG9w
dXAgbWVudSBjbGllbnQgdGhhdCB0aGUgdmFsdWUgY2hhbmdlZCwgZmFrZSBtb3VzZSB1cCBhbmQg
bW91c2UgbW92ZSBldmVudHMgYXJlIHBvc3RlZAoqIFVJUHJvY2Vzcy93aW4vV2ViUG9wdXBNZW51
UHJveHlXaW4uY3BwOgooV2ViS2l0OjpXZWJQb3B1cE1lbnVQcm94eVdpbjo6c2hvd1BvcHVwTWVu
dSk6IGFmdGVyIG5vdGlmeWluZyB0aGUgcG9wdXAgbWVudSBjbGllbnQgdGhhdCB0aGUgdmFsdWUg
Y2hhbmdlZCwgZmFrZSBtb3VzZSB1cCBhbmQgbW91c2UgbW92ZSBldmVudHMgYXJlIHBvc3RlZAoq
IFVJUHJvY2Vzcy93aW4vV2ViVmlldy5jcHA6CihXZWJLaXQ6OldlYlZpZXc6Om9uTW91c2VFdmVu
dCk6CiogV2ViS2l0Mi5wcm86CiogV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgoq
IHdpbi9XZWJLaXQyLnZjcHJvajoKLS0tCiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgICAgICAg
ICAgICAgICAgICAgICAgICAgICB8ICAgNDMgKysrKysrKysrKysrCiBTb3VyY2UvV2ViS2l0Mi9H
TlVtYWtlZmlsZS5hbSAgICAgICAgICAgICAgICAgICAgICB8ICAgIDEgKwogU291cmNlL1dlYktp
dDIvU2hhcmVkL05hdGl2ZVdlYk1vdXNlRXZlbnQuaCAgICAgICAgfCAgIDcwICsrKysrKysrKysr
KysrKysrKysrCiAuLi4vV2ViS2l0Mi9TaGFyZWQvbWFjL05hdGl2ZVdlYk1vdXNlRXZlbnRNYWMu
bW0gICB8ICAgMzkgKysrKysrKysrKysKIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9OYXRpdmVX
ZWJNb3VzZUV2ZW50UXQuY3BwIHwgICAzOSArKysrKysrKysrKwogLi4uL1dlYktpdDIvU2hhcmVk
L3dpbi9OYXRpdmVXZWJNb3VzZUV2ZW50V2luLmNwcCAgfCAgIDQzICsrKysrKysrKysrKwogU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tICAgICAgICAgfCAgIDM3ICsr
KysrKystLS0tCiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3a3BhZ2UuY3BwICAg
ICAgICB8ICAgMTYgKystLS0KIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
Y3BwICAgICAgICAgIHwgICAyNCArKysrKystCiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmggICAgICAgICAgICB8ICAgIDcgKystCiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUG9wdXBNZW51UHJveHkuaCAgICAgICB8ICAgIDIgKwogLi4uL1dlYktpdDIvVUlQcm9j
ZXNzL21hYy9XZWJQb3B1cE1lbnVQcm94eU1hYy5tbSAgfCAgIDM5ICsrKysrKysrKystCiAuLi4v
V2ViS2l0Mi9VSVByb2Nlc3Mvd2luL1dlYlBvcHVwTWVudVByb3h5V2luLmNwcCB8ICAgMjMgKysr
KysrLQogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3dpbi9XZWJWaWV3LmNwcCAgICAgICAgICAg
fCAgICAzICstCiBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnBybyAgICAgICAgICAgICAgICAgICAg
ICAgICB8ICAgIDIgKwogU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qICAgfCAgICA2ICsrCiBTb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2ogICAg
ICAgICAgICAgICAgICB8ICAgNjIgKysrKysrKysrKysrKysrKysKIDE3IGZpbGVzIGNoYW5nZWQs
IDQyMSBpbnNlcnRpb25zKCspLCAzNSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBT
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvTmF0aXZlV2ViTW91c2VFdmVudC5oCiBjcmVhdGUgbW9kZSAx
MDA2NDQgU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9OYXRpdmVXZWJNb3VzZUV2ZW50TWFjLm1t
CiBjcmVhdGUgbW9kZSAxMDA2NDQgU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L05hdGl2ZVdlYk1v
dXNlRXZlbnRRdC5jcHAKIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
d2luL05hdGl2ZVdlYk1vdXNlRXZlbnRXaW4uY3BwCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGYzZmM0OGIuLjJm
ODNlZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NiBAQAorMjAxMS0wNC0xNCAgSm9uIExlZSAg
PGpvbmxlZUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgb25DbGljayBkb2VzIG5vdCBmdW5jdGlvbiB3aXRoIDxzZWxlY3Q+IGVsZW1l
bnRzIGluIFdlYktpdDIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTU3OTA0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS85MjE3NzU3PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2hhcmVkL05hdGl2ZVdl
Yk1vdXNlRXZlbnQuaDogQ29waWVkIGZyb20gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBv
cHVwTWVudVByb3h5LmguCisgICAgICAgIChXZWJLaXQ6Ok5hdGl2ZVdlYk1vdXNlRXZlbnQ6Om5h
dGl2ZUV2ZW50KToKKyAgICAgICAgKiBTaGFyZWQvbWFjL05hdGl2ZVdlYk1vdXNlRXZlbnRNYWMu
bW06IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpOYXRpdmVXZWJNb3VzZUV2ZW50OjpOYXRpdmVX
ZWJNb3VzZUV2ZW50KToKKyAgICAgICAgKiBTaGFyZWQvcXQvTmF0aXZlV2ViTW91c2VFdmVudFF0
LmNwcDogQ29waWVkIGZyb20gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBvcHVwTWVudVBy
b3h5LmguCisgICAgICAgIChXZWJLaXQ6Ok5hdGl2ZVdlYk1vdXNlRXZlbnQ6Ok5hdGl2ZVdlYk1v
dXNlRXZlbnQpOgorICAgICAgICAqIFNoYXJlZC93aW4vTmF0aXZlV2ViTW91c2VFdmVudFdpbi5j
cHA6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQb3B1cE1lbnVQcm94
eS5oLgorICAgICAgICAoV2ViS2l0OjpOYXRpdmVXZWJNb3VzZUV2ZW50OjpOYXRpdmVXZWJNb3Vz
ZUV2ZW50KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW06CisgICAgICAg
ICgtW1dLVmlldyBtb3VzZU1vdmVkOl0pOgorICAgICAgICAoLVtXS1ZpZXcgX21vdXNlSGFuZGxl
cjpdKTogUHJlLWNvbXBpbGVyIG1vdXNlIGhhbmRsZXIgY2FsbHMgbmVlZCB0byB1c2UgdGhlIG5l
dyBOYXRpdmVXZWJNb3VzZUV2ZW50IGNsYXNzCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9x
d2twYWdlLmNwcDoKKyAgICAgICAgKFFXS1BhZ2VQcml2YXRlOjptb3VzZU1vdmVFdmVudCk6Cisg
ICAgICAgIChRV0tQYWdlUHJpdmF0ZTo6bW91c2VQcmVzc0V2ZW50KToKKyAgICAgICAgKFFXS1Bh
Z2VQcml2YXRlOjptb3VzZVJlbGVhc2VFdmVudCk6CisgICAgICAgIChRV0tQYWdlUHJpdmF0ZTo6
bW91c2VEb3VibGVDbGlja0V2ZW50KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpoYW5kbGVNb3VzZUV2ZW50KTog
a2VlcCB0cmFjayBvZiBtb3VzZSBkb3duIGV2ZW50IGluIG9yZGVyIHRvIGJlIGFibGUgdG8gc2Vu
ZCBhIGZha2UgbW91c2UgdXAgZXZlbnQgb24gdGhlIHNlbGVjdCBlbGVtZW50CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y3VycmVudE1vdXNlRG93bkV2ZW50KTogZm9yIGFjY2VzcyBi
eSB0aGUgcG9wdXAgbWVudSBwcm94eSB0byBkaXNwYXRjaCB0aGUgZmFrZSBtb3VzZSB1cCBldmVu
dAorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZFJlY2VpdmVFdmVudCk6IGNsZWFy
IG91dCB0aGUgY2FjaGVkIG1vdXNlIGRvd24gZXZlbnQKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZVByb3h5Ojpwcm9jZXNzRGlkQ3Jhc2gpOiBjbGVhciBvdXQgdGhlIGNhY2hlZCBldmVudHMgc2lu
Y2Ugd2UgYXNzdW1lIHRoYXQgZGlkUmVjZWl2ZUV2ZW50IGRpZCBub3QgY2FsbGVkIHByaW9yIHRv
IHRoZSBjcmFzaAorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViUG9wdXBNZW51UHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFj
L1dlYlBvcHVwTWVudVByb3h5TWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQb3B1cE1lbnVQ
cm94eU1hYzo6c2hvd1BvcHVwTWVudSk6IGFmdGVyIG5vdGlmeWluZyB0aGUgcG9wdXAgbWVudSBj
bGllbnQgdGhhdCB0aGUgdmFsdWUgY2hhbmdlZCwgZmFrZSBtb3VzZSB1cCBhbmQgbW91c2UgbW92
ZSBldmVudHMgYXJlIHBvc3RlZAorICAgICAgICAqIFVJUHJvY2Vzcy93aW4vV2ViUG9wdXBNZW51
UHJveHlXaW4uY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQb3B1cE1lbnVQcm94eVdpbjo6c2hv
d1BvcHVwTWVudSk6IGFmdGVyIG5vdGlmeWluZyB0aGUgcG9wdXAgbWVudSBjbGllbnQgdGhhdCB0
aGUgdmFsdWUgY2hhbmdlZCwgZmFrZSBtb3VzZSB1cCBhbmQgbW91c2UgbW92ZSBldmVudHMgYXJl
IHBvc3RlZAorICAgICAgICAqIFVJUHJvY2Vzcy93aW4vV2ViVmlldy5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYlZpZXc6Om9uTW91c2VFdmVudCk6CisgICAgICAgICogV2ViS2l0Mi5wcm86Cisg
ICAgICAgICogV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHdp
bi9XZWJLaXQyLnZjcHJvajoKKwogMjAxMS0wNC0xNCAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQu
b3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFuZGVycyBDYXJsc3Nvbi4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmFtIGIvU291cmNlL1dlYktpdDIvR05VbWFrZWZp
bGUuYW0KaW5kZXggMDJlMjhkMC4uYzlhNzdhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
R05VbWFrZWZpbGUuYW0KKysrIGIvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUuYW0KQEAgLTIw
NSw2ICsyMDUsNyBAQCBsaWJXZWJLaXQyX2xhX1NPVVJDRVMgPSBcCiAJU291cmNlL1dlYktpdDIv
U2hhcmVkL011dGFibGVEaWN0aW9uYXJ5LmNwcCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL011
dGFibGVEaWN0aW9uYXJ5LmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9OYXRpdmVXZWJLZXli
b2FyZEV2ZW50LmggXAorCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9OYXRpdmVXZWJNb3VzZUV2ZW50
LmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9PcmlnaW5BbmREYXRhYmFzZXMuY3BwIFwKIAlT
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvT3JpZ2luQW5kRGF0YWJhc2VzLmggXAogCVNvdXJjZS9XZWJL
aXQyL1NoYXJlZC9QbGF0Zm9ybVBvcHVwTWVudURhdGEuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9OYXRpdmVXZWJNb3VzZUV2ZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvTmF0aXZlV2ViTW91c2VFdmVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLjhhZGE2NGQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
TmF0aXZlV2ViTW91c2VFdmVudC5oCkBAIC0wLDAgKzEsNzAgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZu
ZGVmIE5hdGl2ZVdlYk1vdXNlRXZlbnRfaAorI2RlZmluZSBOYXRpdmVXZWJNb3VzZUV2ZW50X2gK
KworI2luY2x1ZGUgIldlYkV2ZW50LmgiCisKKyNpZiBQTEFURk9STShNQUMpCisjaW5jbHVkZSA8
d3RmL1JldGFpblB0ci5oPgorT0JKQ19DTEFTUyBOU1ZpZXc7CisjZWxpZiBQTEFURk9STShRVCkK
KyNpbmNsdWRlIDxxZ3JhcGhpY3NzY2VuZWV2ZW50Lmg+CisjZW5kaWYKKworbmFtZXNwYWNlIFdl
YktpdCB7CisKK2NsYXNzIE5hdGl2ZVdlYk1vdXNlRXZlbnQgOiBwdWJsaWMgV2ViTW91c2VFdmVu
dCB7CitwdWJsaWM6CisjaWYgUExBVEZPUk0oTUFDKQorICAgIE5hdGl2ZVdlYk1vdXNlRXZlbnQo
TlNFdmVudCAqLCBOU1ZpZXcgKik7CisjZWxpZiBQTEFURk9STShXSU4pCisgICAgTmF0aXZlV2Vi
TW91c2VFdmVudChIV05ELCBVSU5UIG1lc3NhZ2UsIFdQQVJBTSwgTFBBUkFNLCBib29sKTsKKyNl
bGlmIFBMQVRGT1JNKFFUKQorICAgIGV4cGxpY2l0IE5hdGl2ZVdlYk1vdXNlRXZlbnQoUUdyYXBo
aWNzU2NlbmVNb3VzZUV2ZW50KiwgaW50KTsKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFDKQor
ICAgIE5TRXZlbnQqIG5hdGl2ZUV2ZW50KCkgY29uc3QgeyByZXR1cm4gbV9uYXRpdmVFdmVudC5n
ZXQoKTsgfQorI2VsaWYgUExBVEZPUk0oV0lOKQorICAgIGNvbnN0IE1TRyogbmF0aXZlRXZlbnQo
KSBjb25zdCB7IHJldHVybiAmbV9uYXRpdmVFdmVudDsgfQorI2VsaWYgUExBVEZPUk0oUVQpCisg
ICAgY29uc3QgUUdyYXBoaWNzU2NlbmVNb3VzZUV2ZW50KiBuYXRpdmVFdmVudCgpIGNvbnN0IHsg
cmV0dXJuICZtX25hdGl2ZUV2ZW50OyB9CisjZW5kaWYKKworcHJpdmF0ZToKKyNpZiBQTEFURk9S
TShNQUMpCisgICAgUmV0YWluUHRyPE5TRXZlbnQ+IG1fbmF0aXZlRXZlbnQ7CisjZWxpZiBQTEFU
Rk9STShXSU4pCisgICAgTVNHIG1fbmF0aXZlRXZlbnQ7CisjZWxpZiBQTEFURk9STShRVCkKKyAg
ICBRR3JhcGhpY3NTY2VuZU1vdXNlRXZlbnQgbV9uYXRpdmVFdmVudDsKKyNlbmRpZgorfTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBOYXRpdmVXZWJNb3VzZUV2ZW50X2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvTmF0aXZlV2ViTW91c2VFdmVu
dE1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvTmF0aXZlV2ViTW91c2VFdmVudE1h
Yy5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNzA2NGEzCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9OYXRpdmVXZWJNb3VzZUV2ZW50
TWFjLm1tCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIK
KyNpbXBvcnQgIk5hdGl2ZVdlYk1vdXNlRXZlbnQuaCIKKworI2ltcG9ydCAiV2ViRXZlbnRGYWN0
b3J5LmgiCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitOYXRpdmVXZWJNb3VzZUV2ZW50OjpOYXRp
dmVXZWJNb3VzZUV2ZW50KE5TRXZlbnQqIGV2ZW50LCBOU1ZpZXcqIHZpZXcpCisgICAgOiBXZWJN
b3VzZUV2ZW50KFdlYkV2ZW50RmFjdG9yeTo6Y3JlYXRlV2ViTW91c2VFdmVudChldmVudCwgdmll
dykpCisgICAgLCBtX25hdGl2ZUV2ZW50KGV2ZW50KQoreworfQorCit9IC8vIG5hbWVzcGFjZSBX
ZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9OYXRpdmVXZWJNb3Vz
ZUV2ZW50UXQuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L05hdGl2ZVdlYk1vdXNlRXZl
bnRRdC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGYxM2ZjOAotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9OYXRpdmVXZWJNb3VzZUV2
ZW50UXQuY3BwCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaW5jbHVkZSAiTmF0aXZlV2ViTW91c2VFdmVudC5oIgorCisjaW5jbHVkZSAiV2ViRXZl
bnRGYWN0b3J5UXQuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK05hdGl2ZVdlYk1vdXNlRXZl
bnQ6Ok5hdGl2ZVdlYk1vdXNlRXZlbnQoUUdyYXBoaWNzU2NlbmVNb3VzZUV2ZW50KiBldmVudCwg
aW50IGV2ZW50Q2xpY2tDb3VudCkKKyAgICA6IFdlYk1vdXNlRXZlbnQoV2ViRXZlbnRGYWN0b3J5
OjpjcmVhdGVXZWJNb3VzZUV2ZW50KGV2ZW50LCBldmVudENsaWNrQ291bnQpKQorICAgICwgbV9u
YXRpdmVFdmVudCgqZXZlbnQpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3dpbi9OYXRpdmVXZWJNb3VzZUV2ZW50V2luLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC93aW4vTmF0aXZlV2ViTW91c2VFdmVudFdpbi5jcHAK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWI4M2RjNgotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC93aW4vTmF0aXZlV2ViTW91c2VFdmVudFdpbi5j
cHAKQEAgLTAsMCArMSw0MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNp
bmNsdWRlICJOYXRpdmVXZWJNb3VzZUV2ZW50LmgiCisKKyNpbmNsdWRlICJXZWJFdmVudEZhY3Rv
cnkuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK05hdGl2ZVdlYk1vdXNlRXZlbnQ6Ok5hdGl2
ZVdlYk1vdXNlRXZlbnQoSFdORCBod25kLCBVSU5UIG1lc3NhZ2UsIFdQQVJBTSB3UGFyYW0sIExQ
QVJBTSBsUGFyYW0sIGJvb2wgZGlkQWN0aXZhdGVXZWJWaWV3KQorICAgIDogV2ViTW91c2VFdmVu
dChXZWJFdmVudEZhY3Rvcnk6OmNyZWF0ZVdlYk1vdXNlRXZlbnQoaHduZCwgbWVzc2FnZSwgd1Bh
cmFtLCBsUGFyYW0sIGRpZEFjdGl2YXRlV2ViVmlldykpCisgICAgLCBtX25hdGl2ZUV2ZW50KCkK
K3sKKyAgICBtX25hdGl2ZUV2ZW50Lmh3bmQgPSBod25kOworICAgIG1fbmF0aXZlRXZlbnQubWVz
c2FnZSA9IG1lc3NhZ2U7CisgICAgbV9uYXRpdmVFdmVudC53UGFyYW0gPSB3UGFyYW07CisgICAg
bV9uYXRpdmVFdmVudC5sUGFyYW0gPSBsUGFyYW07Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktp
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1t
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tCmluZGV4IGE1ODRl
OTYuLmYxYjBiOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFj
L1dLVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcu
bW0KQEAgLTM1LDYgKzM1LDcgQEAKICNpbXBvcnQgIkxheWVyVHJlZUNvbnRleHQuaCIKICNpbXBv
cnQgIkxvZ2dpbmcuaCIKICNpbXBvcnQgIk5hdGl2ZVdlYktleWJvYXJkRXZlbnQuaCIKKyNpbXBv
cnQgIk5hdGl2ZVdlYk1vdXNlRXZlbnQuaCIKICNpbXBvcnQgIlBERlZpZXdDb250cm9sbGVyLmgi
CiAjaW1wb3J0ICJQYWdlQ2xpZW50SW1wbC5oIgogI2ltcG9ydCAiUGFzdGVib2FyZFR5cGVzLmgi
CkBAIC05MjYsNiArOTI3LDI2IEBAIHN0YXRpYyB2b2lkIHNwZWFrU3RyaW5nKFdLU3RyaW5nUmVm
IHN0cmluZywgV0tFcnJvclJlZiBlcnJvciwgdm9pZCopCiAgICAgX2RhdGEtPl9tb3VzZURvd25F
dmVudCA9IFtldmVudCByZXRhaW5dOwogfQogCisjZGVmaW5lIE5BVElWRV9NT1VTRV9FVkVOVF9I
QU5ETEVSKFNlbGVjdG9yKSBcCisgICAgLSAodm9pZClTZWxlY3RvcjooTlNFdmVudCAqKXRoZUV2
ZW50IFwKKyAgICB7IFwKKyAgICAgICAgTmF0aXZlV2ViTW91c2VFdmVudCB3ZWJFdmVudCh0aGVF
dmVudCwgc2VsZik7IFwKKyAgICAgICAgX2RhdGEtPl9wYWdlLT5oYW5kbGVNb3VzZUV2ZW50KHdl
YkV2ZW50KTsgXAorICAgIH0KKworTkFUSVZFX01PVVNFX0VWRU5UX0hBTkRMRVIobW91c2VFbnRl
cmVkKQorTkFUSVZFX01PVVNFX0VWRU5UX0hBTkRMRVIobW91c2VFeGl0ZWQpCitOQVRJVkVfTU9V
U0VfRVZFTlRfSEFORExFUihvdGhlck1vdXNlRG93bikKK05BVElWRV9NT1VTRV9FVkVOVF9IQU5E
TEVSKG90aGVyTW91c2VEcmFnZ2VkKQorTkFUSVZFX01PVVNFX0VWRU5UX0hBTkRMRVIob3RoZXJN
b3VzZU1vdmVkKQorTkFUSVZFX01PVVNFX0VWRU5UX0hBTkRMRVIob3RoZXJNb3VzZVVwKQorTkFU
SVZFX01PVVNFX0VWRU5UX0hBTkRMRVIocmlnaHRNb3VzZURvd24pCitOQVRJVkVfTU9VU0VfRVZF
TlRfSEFORExFUihyaWdodE1vdXNlRHJhZ2dlZCkKK05BVElWRV9NT1VTRV9FVkVOVF9IQU5ETEVS
KHJpZ2h0TW91c2VNb3ZlZCkKK05BVElWRV9NT1VTRV9FVkVOVF9IQU5ETEVSKHJpZ2h0TW91c2VV
cCkKKworI3VuZGVmIE5BVElWRV9NT1VTRV9FVkVOVF9IQU5ETEVSCisKICNkZWZpbmUgRVZFTlRf
SEFORExFUihTZWxlY3RvciwgVHlwZSkgXAogICAgIC0gKHZvaWQpU2VsZWN0b3I6KE5TRXZlbnQg
Kil0aGVFdmVudCBcCiAgICAgeyBcCkBAIC05MzMsMTYgKzk1NCw2IEBAIHN0YXRpYyB2b2lkIHNw
ZWFrU3RyaW5nKFdLU3RyaW5nUmVmIHN0cmluZywgV0tFcnJvclJlZiBlcnJvciwgdm9pZCopCiAg
ICAgICAgIF9kYXRhLT5fcGFnZS0+aGFuZGxlIyNUeXBlIyNFdmVudCh3ZWJFdmVudCk7IFwKICAg
ICB9CiAKLUVWRU5UX0hBTkRMRVIobW91c2VFbnRlcmVkLCBNb3VzZSkKLUVWRU5UX0hBTkRMRVIo
bW91c2VFeGl0ZWQsIE1vdXNlKQotRVZFTlRfSEFORExFUihvdGhlck1vdXNlRG93biwgTW91c2Up
Ci1FVkVOVF9IQU5ETEVSKG90aGVyTW91c2VEcmFnZ2VkLCBNb3VzZSkKLUVWRU5UX0hBTkRMRVIo
b3RoZXJNb3VzZU1vdmVkLCBNb3VzZSkKLUVWRU5UX0hBTkRMRVIob3RoZXJNb3VzZVVwLCBNb3Vz
ZSkKLUVWRU5UX0hBTkRMRVIocmlnaHRNb3VzZURvd24sIE1vdXNlKQotRVZFTlRfSEFORExFUihy
aWdodE1vdXNlRHJhZ2dlZCwgTW91c2UpCi1FVkVOVF9IQU5ETEVSKHJpZ2h0TW91c2VNb3ZlZCwg
TW91c2UpCi1FVkVOVF9IQU5ETEVSKHJpZ2h0TW91c2VVcCwgTW91c2UpCiBFVkVOVF9IQU5ETEVS
KHNjcm9sbFdoZWVsLCBXaGVlbCkKIAogI3VuZGVmIEVWRU5UX0hBTkRMRVIKQEAgLTk1Myw4ICs5
NjQsNyBAQCBFVkVOVF9IQU5ETEVSKHNjcm9sbFdoZWVsLCBXaGVlbCkKICAgICBpZiAoc2VsZiA9
PSBbW3NlbGYgd2luZG93XSBmaXJzdFJlc3BvbmRlcl0gJiYgIU5TUG9pbnRJblJlY3QoW3NlbGYg
Y29udmVydFBvaW50OltldmVudCBsb2NhdGlvbkluV2luZG93XSBmcm9tVmlldzpuaWxdLCBbc2Vs
ZiB2aXNpYmxlUmVjdF0pKQogICAgICAgICByZXR1cm47CiAKLSAgICBXZWJNb3VzZUV2ZW50IHdl
YkV2ZW50ID0gV2ViRXZlbnRGYWN0b3J5OjpjcmVhdGVXZWJNb3VzZUV2ZW50KGV2ZW50LCBzZWxm
KTsKLSAgICBfZGF0YS0+X3BhZ2UtPmhhbmRsZU1vdXNlRXZlbnQod2ViRXZlbnQpOworICAgIF9k
YXRhLT5fcGFnZS0+aGFuZGxlTW91c2VFdmVudChOYXRpdmVXZWJNb3VzZUV2ZW50KGV2ZW50LCBz
ZWxmKSk7CiB9CiAKIC0gKHZvaWQpX21vdXNlSGFuZGxlcjooTlNFdmVudCAqKWV2ZW50CkBAIC05
NjIsOCArOTcyLDcgQEAgRVZFTlRfSEFORExFUihzY3JvbGxXaGVlbCwgV2hlZWwpCiAgICAgTlNJ
bnB1dE1hbmFnZXIgKmN1cnJlbnRJbnB1dE1hbmFnZXIgPSBbTlNJbnB1dE1hbmFnZXIgY3VycmVu
dElucHV0TWFuYWdlcl07CiAgICAgaWYgKFtjdXJyZW50SW5wdXRNYW5hZ2VyIHdhbnRzVG9IYW5k
bGVNb3VzZUV2ZW50c10gJiYgW2N1cnJlbnRJbnB1dE1hbmFnZXIgaGFuZGxlTW91c2VFdmVudDpl
dmVudF0pCiAgICAgICAgIHJldHVybjsKLSAgICBXZWJNb3VzZUV2ZW50IHdlYkV2ZW50ID0gV2Vi
RXZlbnRGYWN0b3J5OjpjcmVhdGVXZWJNb3VzZUV2ZW50KGV2ZW50LCBzZWxmKTsKLSAgICBfZGF0
YS0+X3BhZ2UtPmhhbmRsZU1vdXNlRXZlbnQod2ViRXZlbnQpOworICAgIF9kYXRhLT5fcGFnZS0+
aGFuZGxlTW91c2VFdmVudChOYXRpdmVXZWJNb3VzZUV2ZW50KGV2ZW50LCBzZWxmKSk7CiB9CiAK
IC0gKHZvaWQpbW91c2VEb3duOihOU0V2ZW50ICopZXZlbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdrcGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL3F0L3F3a3BhZ2UuY3BwCmluZGV4IDM4MTM3NGYuLjczOTRjODQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdrcGFnZS5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2twYWdlLmNwcApAQCAtMzQsNiArMzQsNyBA
QAogI2luY2x1ZGUgIkZpbmRJbmRpY2F0b3IuaCIKICNpbmNsdWRlICJMb2NhbGl6ZWRTdHJpbmdz
LmgiCiAjaW5jbHVkZSAiTmF0aXZlV2ViS2V5Ym9hcmRFdmVudC5oIgorI2luY2x1ZGUgIk5hdGl2
ZVdlYk1vdXNlRXZlbnQuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUg
IlRpbGVkRHJhd2luZ0FyZWFQcm94eS5oIgogI2luY2x1ZGUgIldlYkNvbnRleHQuaCIKQEAgLTMw
NiwzMiArMzA3LDI3IEBAIHZvaWQgUVdLUGFnZVByaXZhdGU6Om1vdXNlTW92ZUV2ZW50KFFHcmFw
aGljc1NjZW5lTW91c2VFdmVudCogZXYpCiAgICAgICAgIHJldHVybjsKICAgICBsYXN0UG9zID0g
ZXYtPnBvcygpOwogCi0gICAgV2ViTW91c2VFdmVudCBtb3VzZUV2ZW50ID0gV2ViRXZlbnRGYWN0
b3J5OjpjcmVhdGVXZWJNb3VzZUV2ZW50KGV2LCAwKTsKLSAgICBwYWdlLT5oYW5kbGVNb3VzZUV2
ZW50KG1vdXNlRXZlbnQpOworICAgIHBhZ2UtPmhhbmRsZU1vdXNlRXZlbnQoTmF0aXZlV2ViTW91
c2VFdmVudChldiwgMCkpOwogfQogCiB2b2lkIFFXS1BhZ2VQcml2YXRlOjptb3VzZVByZXNzRXZl
bnQoUUdyYXBoaWNzU2NlbmVNb3VzZUV2ZW50KiBldikKIHsKICAgICBpZiAodHJpcGxlQ2xpY2tU
aW1lci5pc0FjdGl2ZSgpICYmIChldi0+cG9zKCkgLSB0cmlwbGVDbGljaykubWFuaGF0dGFuTGVu
Z3RoKCkgPCBRQXBwbGljYXRpb246OnN0YXJ0RHJhZ0Rpc3RhbmNlKCkpIHsKLSAgICAgICAgV2Vi
TW91c2VFdmVudCBtb3VzZUV2ZW50ID0gV2ViRXZlbnRGYWN0b3J5OjpjcmVhdGVXZWJNb3VzZUV2
ZW50KGV2LCAzKTsKLSAgICAgICAgcGFnZS0+aGFuZGxlTW91c2VFdmVudChtb3VzZUV2ZW50KTsK
KyAgICAgICAgcGFnZS0+aGFuZGxlTW91c2VFdmVudChOYXRpdmVXZWJNb3VzZUV2ZW50KGV2LCAz
KSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBXZWJNb3VzZUV2ZW50IG1vdXNlRXZl
bnQgPSBXZWJFdmVudEZhY3Rvcnk6OmNyZWF0ZVdlYk1vdXNlRXZlbnQoZXYsIDEpOwotICAgIHBh
Z2UtPmhhbmRsZU1vdXNlRXZlbnQobW91c2VFdmVudCk7CisgICAgcGFnZS0+aGFuZGxlTW91c2VF
dmVudChOYXRpdmVXZWJNb3VzZUV2ZW50KGV2LCAxKSk7CiB9CiAKIHZvaWQgUVdLUGFnZVByaXZh
dGU6Om1vdXNlUmVsZWFzZUV2ZW50KFFHcmFwaGljc1NjZW5lTW91c2VFdmVudCogZXYpCiB7Ci0g
ICAgV2ViTW91c2VFdmVudCBtb3VzZUV2ZW50ID0gV2ViRXZlbnRGYWN0b3J5OjpjcmVhdGVXZWJN
b3VzZUV2ZW50KGV2LCAwKTsKLSAgICBwYWdlLT5oYW5kbGVNb3VzZUV2ZW50KG1vdXNlRXZlbnQp
OworICAgIHBhZ2UtPmhhbmRsZU1vdXNlRXZlbnQoTmF0aXZlV2ViTW91c2VFdmVudChldiwgMCkp
OwogfQogCiB2b2lkIFFXS1BhZ2VQcml2YXRlOjptb3VzZURvdWJsZUNsaWNrRXZlbnQoUUdyYXBo
aWNzU2NlbmVNb3VzZUV2ZW50KiBldikKIHsKLSAgICBXZWJNb3VzZUV2ZW50IG1vdXNlRXZlbnQg
PSBXZWJFdmVudEZhY3Rvcnk6OmNyZWF0ZVdlYk1vdXNlRXZlbnQoZXYsIDIpOwotICAgIHBhZ2Ut
PmhhbmRsZU1vdXNlRXZlbnQobW91c2VFdmVudCk7CisgICAgcGFnZS0+aGFuZGxlTW91c2VFdmVu
dChOYXRpdmVXZWJNb3VzZUV2ZW50KGV2LCAyKSk7CiAKICAgICB0cmlwbGVDbGlja1RpbWVyLnN0
YXJ0KFFBcHBsaWNhdGlvbjo6ZG91YmxlQ2xpY2tJbnRlcnZhbCgpLCBxKTsKICAgICB0cmlwbGVD
bGljayA9IGV2LT5wb3MoKS50b1BvaW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwCmluZGV4IGIxMjNjN2MuLjIyNzkyMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiRmlu
ZEluZGljYXRvci5oIgogI2luY2x1ZGUgIk1lc3NhZ2VJRC5oIgogI2luY2x1ZGUgIk5hdGl2ZVdl
YktleWJvYXJkRXZlbnQuaCIKKyNpbmNsdWRlICJOYXRpdmVXZWJNb3VzZUV2ZW50LmgiCiAjaW5j
bHVkZSAiUGFnZUNsaWVudC5oIgogI2luY2x1ZGUgIlByaW50SW5mby5oIgogI2luY2x1ZGUgIlNl
c3Npb25TdGF0ZS5oIgpAQCAtODExLDcgKzgxMiw3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkcmFn
RW5kZWQoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGNsaWVudFBvc2l0aW9uLCBjb25zdCBXZWJD
CiAgICAgcHJvY2VzcygpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpEcmFnRW5kZWQoY2xpZW50
UG9zaXRpb24sIGdsb2JhbFBvc2l0aW9uLCBvcGVyYXRpb24pLCBtX3BhZ2VJRCk7CiB9CiAKLXZv
aWQgV2ViUGFnZVByb3h5OjpoYW5kbGVNb3VzZUV2ZW50KGNvbnN0IFdlYk1vdXNlRXZlbnQmIGV2
ZW50KQordm9pZCBXZWJQYWdlUHJveHk6OmhhbmRsZU1vdXNlRXZlbnQoY29uc3QgTmF0aXZlV2Vi
TW91c2VFdmVudCYgZXZlbnQpCiB7CiAgICAgaWYgKCFpc1ZhbGlkKCkpCiAgICAgICAgIHJldHVy
bjsKQEAgLTgyMSwxMyArODIyLDIwIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpoYW5kbGVNb3VzZUV2
ZW50KGNvbnN0IFdlYk1vdXNlRXZlbnQmIGV2ZW50KQogICAgICAgICBwcm9jZXNzKCktPnJlc3Bv
bnNpdmVuZXNzVGltZXIoKS0+c3RhcnQoKTsKICAgICBlbHNlIHsKICAgICAgICAgaWYgKG1fcHJv
Y2Vzc2luZ01vdXNlTW92ZUV2ZW50KSB7Ci0gICAgICAgICAgICBtX25leHRNb3VzZU1vdmVFdmVu
dCA9IGFkb3B0UHRyKG5ldyBXZWJNb3VzZUV2ZW50KGV2ZW50KSk7CisgICAgICAgICAgICBtX25l
eHRNb3VzZU1vdmVFdmVudCA9IGFkb3B0UHRyKG5ldyBOYXRpdmVXZWJNb3VzZUV2ZW50KGV2ZW50
KSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAogICAgICAgICBtX3Byb2Nlc3Np
bmdNb3VzZU1vdmVFdmVudCA9IHRydWU7CiAgICAgfQogCisgICAgLy8gPGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NzkwND4gV2UgbmVlZCB0byBrZWVwIHRyYWNrIG9m
IHRoZSBtb3VzZSBkb3duIGV2ZW50IGluIHRoZSBjYXNlIHdoZXJlIHdlCisgICAgLy8gZGlzcGxh
eSBhIHBvcHVwIG1lbnUgZm9yIHNlbGVjdCBlbGVtZW50cy4gV2hlbiB0aGUgdXNlciBjaGFuZ2Vz
IHRoZSBzZWxlY3RlZCBpdGVtLAorICAgIC8vIHdlIGZha2UgYSBtb3VzZSB1cCBldmVudCBieSB1
c2luZyB0aGlzIHN0b3JlZCBkb3duIGV2ZW50LiBUaGlzIGV2ZW50IGdldHMgY2xlYXJlZAorICAg
IC8vIHdoZW4gdGhlIG1vdXNlIHVwIG1lc3NhZ2UgaXMgcmVjZWl2ZWQgZnJvbSBXZWJQcm9jZXNz
LgorICAgIGlmIChldmVudC50eXBlKCkgPT0gV2ViRXZlbnQ6Ok1vdXNlRG93bikKKyAgICAgICAg
bV9jdXJyZW50bHlQcm9jZXNzZWRNb3VzZURvd25FdmVudCA9IGFkb3B0UHRyKG5ldyBOYXRpdmVX
ZWJNb3VzZUV2ZW50KGV2ZW50KSk7CisKICAgICBwcm9jZXNzKCktPnNlbmQoTWVzc2FnZXM6Oldl
YlBhZ2U6Ok1vdXNlRXZlbnQoZXZlbnQpLCBtX3BhZ2VJRCk7CiB9CiAKQEAgLTIyMDgsNiArMjIx
NiwxMSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6c2V0VGV4dEZyb21JdGVtRm9yUG9wdXBNZW51KFdl
YlBvcHVwTWVudVByb3h5KiwgaW50MzJfdCBpbmRleAogICAgIHByb2Nlc3MoKS0+c2VuZChNZXNz
YWdlczo6V2ViUGFnZTo6U2V0VGV4dEZvckFjdGl2ZVBvcHVwTWVudShpbmRleCksIG1fcGFnZUlE
KTsKIH0KIAorTmF0aXZlV2ViTW91c2VFdmVudCogV2ViUGFnZVByb3h5OjpjdXJyZW50bHlQcm9j
ZXNzZWRNb3VzZURvd25FdmVudCgpCit7CisgICAgcmV0dXJuIG1fY3VycmVudGx5UHJvY2Vzc2Vk
TW91c2VEb3duRXZlbnQuZ2V0KCk7Cit9CisKIHZvaWQgV2ViUGFnZVByb3h5OjpzaG93UG9wdXBN
ZW51KGNvbnN0IEludFJlY3QmIHJlY3QsIHVpbnQ2NF90IHRleHREaXJlY3Rpb24sIGNvbnN0IFZl
Y3RvcjxXZWJQb3B1cEl0ZW0+JiBpdGVtcywgaW50MzJfdCBzZWxlY3RlZEluZGV4LCBjb25zdCBQ
bGF0Zm9ybVBvcHVwTWVudURhdGEmIGRhdGEpCiB7CiAgICAgaWYgKG1fYWN0aXZlUG9wdXBNZW51
KSB7CkBAIC0yNTQyLDEyICsyNTU1LDE0IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkaWRSZWNlaXZl
RXZlbnQodWludDMyX3Qgb3BhcXVlVHlwZSwgYm9vbCBoYW5kbGVkKQogICAgICAgICB9CiAgICAg
ICAgIGJyZWFrOwogICAgIGNhc2UgV2ViRXZlbnQ6Ok1vdXNlRG93bjoKLSAgICBjYXNlIFdlYkV2
ZW50OjpNb3VzZVVwOgogI2lmIEVOQUJMRShHRVNUVVJFX0VWRU5UUykKICAgICBjYXNlIFdlYkV2
ZW50OjpHZXN0dXJlU2Nyb2xsQmVnaW46CiAgICAgY2FzZSBXZWJFdmVudDo6R2VzdHVyZVNjcm9s
bEVuZDoKICNlbmRpZgogICAgICAgICBicmVhazsKKyAgICBjYXNlIFdlYkV2ZW50OjpNb3VzZVVw
OgorICAgICAgICBtX2N1cnJlbnRseVByb2Nlc3NlZE1vdXNlRG93bkV2ZW50ID0gbnVsbHB0cjsK
KyAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIFdlYkV2ZW50OjpXaGVlbDogewogICAgICAgICBt
X3Byb2Nlc3NpbmdXaGVlbEV2ZW50ID0gZmFsc2U7CkBAIC0yNzU2LDYgKzI3NzEsOSBAQCB2b2lk
IFdlYlBhZ2VQcm94eTo6cHJvY2Vzc0RpZENyYXNoKCkKIAogICAgIC8vIENhbid0IGV4cGVjdCBE
aWRSZWNlaXZlRXZlbnQgbm90aWZpY2F0aW9ucyBmcm9tIGEgY3Jhc2hlZCB3ZWIgcHJvY2Vzcy4K
ICAgICBtX2tleUV2ZW50UXVldWUuY2xlYXIoKTsKKyAgICBtX25leHRXaGVlbEV2ZW50ID0gbnVs
bHB0cjsKKyAgICBtX25leHRNb3VzZU1vdmVFdmVudCA9IG51bGxwdHI7CisgICAgbV9jdXJyZW50
bHlQcm9jZXNzZWRNb3VzZURvd25FdmVudCA9IG51bGxwdHI7CiAKICNpZiBQTEFURk9STShNQUMp
ICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKICAgICBkaXNtaXNzQ29ycmVj
dGlvblBhbmVsKFJlYXNvbkZvckRpc21pc3NpbmdDb3JyZWN0aW9uUGFuZWxJZ25vcmVkKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCAxYzcyNjJlLi41MjVlZDc3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC03OCw2ICs3OCw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBOYXRp
dmVXZWJLZXlib2FyZEV2ZW50OworY2xhc3MgTmF0aXZlV2ViTW91c2VFdmVudDsKIGNsYXNzIFBh
Z2VDbGllbnQ7CiBjbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsKIGNsYXNzIFN0cmluZ1Bh
aXJWZWN0b3I7CkBAIC0yODcsNyArMjg4LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0QWN0dWFs
VmlzaWJsZUNvbnRlbnRSZWN0KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHJlY3QpOwogI2VuZGlm
CiAKLSAgICB2b2lkIGhhbmRsZU1vdXNlRXZlbnQoY29uc3QgV2ViTW91c2VFdmVudCYpOworICAg
IHZvaWQgaGFuZGxlTW91c2VFdmVudChjb25zdCBOYXRpdmVXZWJNb3VzZUV2ZW50Jik7CiAgICAg
dm9pZCBoYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFdlYldoZWVsRXZlbnQmKTsKICAgICB2b2lkIGhh
bmRsZUtleWJvYXJkRXZlbnQoY29uc3QgTmF0aXZlV2ViS2V5Ym9hcmRFdmVudCYpOwogI2lmIEVO
QUJMRShHRVNUVVJFX0VWRU5UUykKQEAgLTQ5OCw2ICs0OTksNyBAQCBwcml2YXRlOgogICAgIC8v
IFdlYlBvcHVwTWVudVByb3h5OjpDbGllbnQKICAgICB2aXJ0dWFsIHZvaWQgdmFsdWVDaGFuZ2Vk
Rm9yUG9wdXBNZW51KFdlYlBvcHVwTWVudVByb3h5KiwgaW50MzJfdCBuZXdTZWxlY3RlZEluZGV4
KTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0VGV4dEZyb21JdGVtRm9yUG9wdXBNZW51KFdlYlBvcHVw
TWVudVByb3h5KiwgaW50MzJfdCBpbmRleCk7CisgICAgdmlydHVhbCBOYXRpdmVXZWJNb3VzZUV2
ZW50KiBjdXJyZW50bHlQcm9jZXNzZWRNb3VzZURvd25FdmVudCgpOwogCiAgICAgLy8gSW1wbGVt
ZW50ZWQgaW4gZ2VuZXJhdGVkIFdlYlBhZ2VQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAKICAgICB2
b2lkIGRpZFJlY2VpdmVXZWJQYWdlUHJveHlNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBD
b3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciopOwpAQCAtNzk2LDcg
Kzc5OCw4IEBAIHByaXZhdGU6CiAgICAgT3duUHRyPFdlYldoZWVsRXZlbnQ+IG1fbmV4dFdoZWVs
RXZlbnQ7CiAKICAgICBib29sIG1fcHJvY2Vzc2luZ01vdXNlTW92ZUV2ZW50OwotICAgIE93blB0
cjxXZWJNb3VzZUV2ZW50PiBtX25leHRNb3VzZU1vdmVFdmVudDsKKyAgICBPd25QdHI8TmF0aXZl
V2ViTW91c2VFdmVudD4gbV9uZXh0TW91c2VNb3ZlRXZlbnQ7CisgICAgT3duUHRyPE5hdGl2ZVdl
Yk1vdXNlRXZlbnQ+IG1fY3VycmVudGx5UHJvY2Vzc2VkTW91c2VEb3duRXZlbnQ7CiAKICAgICB1
aW50NjRfdCBtX3BhZ2VJRDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBvcHVwTWVudVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUG9wdXBN
ZW51UHJveHkuaAppbmRleCA5NjkwMWZiLi4wYWY4ODgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUG9wdXBNZW51UHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUG9wdXBNZW51UHJveHkuaApAQCAtMzksNiArMzksNyBAQCBuYW1lc3BhY2Ug
V2ViS2l0IHsKIAogc3RydWN0IFBsYXRmb3JtUG9wdXBNZW51RGF0YTsKIHN0cnVjdCBXZWJQb3B1
cEl0ZW07CitjbGFzcyBOYXRpdmVXZWJNb3VzZUV2ZW50OwogCiBjbGFzcyBXZWJQb3B1cE1lbnVQ
cm94eSA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYlBvcHVwTWVudVByb3h5PiB7CiBwdWJsaWM6CkBA
IC01MSw2ICs1Miw3IEBAIHB1YmxpYzoKICAgICBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgdm9p
ZCB2YWx1ZUNoYW5nZWRGb3JQb3B1cE1lbnUoV2ViUG9wdXBNZW51UHJveHkqLCBpbnQzMl90IG5l
d1NlbGVjdGVkSW5kZXgpID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lkIHNldFRleHRGcm9tSXRl
bUZvclBvcHVwTWVudShXZWJQb3B1cE1lbnVQcm94eSosIGludDMyX3QgaW5kZXgpID0gMDsKKyAg
ICAgICAgdmlydHVhbCBOYXRpdmVXZWJNb3VzZUV2ZW50KiBjdXJyZW50bHlQcm9jZXNzZWRNb3Vz
ZURvd25FdmVudCgpID0gMDsKICAgICB9OwogCiAgICAgdmlydHVhbCB+V2ViUG9wdXBNZW51UHJv
eHkoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJQb3B1cE1l
bnVQcm94eU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViUG9wdXBNZW51
UHJveHlNYWMubW0KaW5kZXggN2NlODc2NC4uNDZkNDU0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL21hYy9XZWJQb3B1cE1lbnVQcm94eU1hYy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYlBvcHVwTWVudVByb3h5TWFjLm1tCkBAIC0yNiw2ICsy
Niw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIldlYlBvcHVwTWVudVByb3h5TWFj
LmgiCiAKKyNpbXBvcnQgIk5hdGl2ZVdlYk1vdXNlRXZlbnQuaCIKICNpbXBvcnQgIlBhZ2VDbGll
bnRJbXBsLmgiCiAjaW1wb3J0ICJQbGF0Zm9ybVBvcHVwTWVudURhdGEuaCIKICNpbXBvcnQgIldL
Vmlldy5oIgpAQCAtMTIyLDkgKzEyMyw0MSBAQCB2b2lkIFdlYlBvcHVwTWVudVByb3h5TWFjOjpz
aG93UG9wdXBNZW51KGNvbnN0IEludFJlY3QmIHJlY3QsIFRleHREaXJlY3Rpb24gdGV4dAogCiAg
ICAgW21fcG9wdXAuZ2V0KCkgZGlzbWlzc1BvcFVwXTsKICAgICBbZHVtbXlWaWV3LmdldCgpIHJl
bW92ZUZyb21TdXBlcnZpZXddOwotCi0gICAgaWYgKG1fY2xpZW50KQotICAgICAgICBtX2NsaWVu
dC0+dmFsdWVDaGFuZ2VkRm9yUG9wdXBNZW51KHRoaXMsIFttX3BvcHVwLmdldCgpIGluZGV4T2ZT
ZWxlY3RlZEl0ZW1dKTsKKyAgICAKKyAgICBpZiAoIW1fY2xpZW50KQorICAgICAgICByZXR1cm47
CisgICAgCisgICAgbV9jbGllbnQtPnZhbHVlQ2hhbmdlZEZvclBvcHVwTWVudSh0aGlzLCBbbV9w
b3B1cC5nZXQoKSBpbmRleE9mU2VsZWN0ZWRJdGVtXSk7CisgICAgCisgICAgLy8gPGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NzkwND4gVGhpcyBjb2RlIGlzIGFkb3B0
ZWQgZnJvbSBFdmVudEhhbmRsZXI6OnNlbmRGYWtlRXZlbnRzQWZ0ZXJXaWRnZXRUcmFja2luZygp
LgorICAgIGlmICghbV9jbGllbnQtPmN1cnJlbnRseVByb2Nlc3NlZE1vdXNlRG93bkV2ZW50KCkp
CisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBOU0V2ZW50KiBpbml0aWF0aW5nTlNFdmVudCA9
IG1fY2xpZW50LT5jdXJyZW50bHlQcm9jZXNzZWRNb3VzZURvd25FdmVudCgpLT5uYXRpdmVFdmVu
dCgpOworICAgIGlmIChbaW5pdGlhdGluZ05TRXZlbnQgdHlwZV0gIT0gTlNMZWZ0TW91c2VEb3du
KQorICAgICAgICByZXR1cm47CisgICAgCisgICAgTlNFdmVudCAqZmFrZUV2ZW50ID0gW05TRXZl
bnQgbW91c2VFdmVudFdpdGhUeXBlOk5TTGVmdE1vdXNlVXAKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb246W2luaXRpYXRpbmdOU0V2ZW50IGxvY2F0
aW9uSW5XaW5kb3ddCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2Rp
ZmllckZsYWdzOltpbml0aWF0aW5nTlNFdmVudCBtb2RpZmllckZsYWdzXQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVzdGFtcDpbaW5pdGlhdGluZ05TRXZl
bnQgdGltZXN0YW1wXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdp
bmRvd051bWJlcjpbaW5pdGlhdGluZ05TRXZlbnQgd2luZG93TnVtYmVyXQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dDpbaW5pdGlhdGluZ05TRXZl
bnQgY29udGV4dF0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZl
bnROdW1iZXI6W2luaXRpYXRpbmdOU0V2ZW50IGV2ZW50TnVtYmVyXQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpY2tDb3VudDpbaW5pdGlhdGluZ05TRXZlbnQg
Y2xpY2tDb3VudF0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cHJlc3N1cmU6W2luaXRpYXRpbmdOU0V2ZW50IHByZXNzdXJlXV07CisgICAgCisgICAgW05TQXBw
IHBvc3RFdmVudDpmYWtlRXZlbnQgYXRTdGFydDpZRVNdOworICAgIGZha2VFdmVudCA9IFtOU0V2
ZW50IG1vdXNlRXZlbnRXaXRoVHlwZTpOU01vdXNlTW92ZWQKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbG9jYXRpb246W1ttX3dlYlZpZXcgd2luZG93XSBjb252ZXJ0U2NyZWVu
VG9CYXNlOltOU0V2ZW50IG1vdXNlTG9jYXRpb25dXQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbW9kaWZpZXJGbGFnczpbaW5pdGlhdGluZ05TRXZlbnQgbW9kaWZpZXJGbGFnc10KKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lc3RhbXA6W2luaXRpYXRpbmdOU0V2
ZW50IHRpbWVzdGFtcF0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3dOdW1i
ZXI6W2luaXRpYXRpbmdOU0V2ZW50IHdpbmRvd051bWJlcl0KKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnRleHQ6W2luaXRpYXRpbmdOU0V2ZW50IGNvbnRleHRdCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50TnVtYmVyOjAKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNsaWNrQ291bnQ6MAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwcmVzc3VyZTowXTsKKyAgICBbTlNBcHAgcG9zdEV2ZW50OmZha2VFdmVudCBh
dFN0YXJ0OllFU107CiB9CiAKIHZvaWQgV2ViUG9wdXBNZW51UHJveHlNYWM6OmhpZGVQb3B1cE1l
bnUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3dpbi9XZWJQb3B1cE1l
bnVQcm94eVdpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mvd2luL1dlYlBvcHVwTWVu
dVByb3h5V2luLmNwcAppbmRleCBlZWJkZTc1Li5hOGQ4MDYzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3Mvd2luL1dlYlBvcHVwTWVudVByb3h5V2luLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3Mvd2luL1dlYlBvcHVwTWVudVByb3h5V2luLmNwcApAQCAtMjks
NiArMjksNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYlBvcHVwTWVudVBy
b3h5V2luLmgiCiAKKyNpbmNsdWRlICJOYXRpdmVXZWJNb3VzZUV2ZW50LmgiCiAjaW5jbHVkZSAi
V2ViVmlldy5oIgogI2luY2x1ZGUgPFdlYkNvcmUvV2ViQ29yZUluc3RhbmNlSGFuZGxlLmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9TY3JvbGxiYXJUaGVtZS5oPgpAQCAtMzI0LDggKzMyNSwyNiBAQCB2
b2lkIFdlYlBvcHVwTWVudVByb3h5V2luOjpzaG93UG9wdXBNZW51KGNvbnN0IEludFJlY3QmIHJl
Y3QsIFRleHREaXJlY3Rpb24sIGRvdQogICAgIG1fc2hvd1BvcHVwID0gZmFsc2U7CiAgICAgOjpT
aG93V2luZG93KG1fcG9wdXAsIFNXX0hJREUpOwogCi0gICAgaWYgKG1fY2xpZW50KQotICAgICAg
ICBtX2NsaWVudC0+dmFsdWVDaGFuZ2VkRm9yUG9wdXBNZW51KHRoaXMsIG1fbmV3U2VsZWN0ZWRJ
bmRleCk7CisgICAgaWYgKCFtX2NsaWVudCkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9jbGll
bnQtPnZhbHVlQ2hhbmdlZEZvclBvcHVwTWVudSh0aGlzLCBtX25ld1NlbGVjdGVkSW5kZXgpOwor
CisgICAgLy8gPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NzkwND4g
SW4gb3JkZXIgdG8gcHJvcGVybHkgY2FsbCB0aGUgb25DbGljaygpCisgICAgLy8gaGFuZGxlciBv
biBhIDxzZWxlY3Q+IGVsZW1lbnQsIHdlIG5lZWQgdG8gZmFrZSBhIG1vdXNlIHVwIGV2ZW50IGlu
IHRoZSBtYWluIHdpbmRvdy4KKyAgICAvLyBUaGUgbWFpbiB3aW5kb3cgYWxyZWFkeSByZWNlaXZl
ZCB0aGUgbW91c2UgZG93biwgd2hpY2ggc2hvd2VkIHRoaXMgcG9wdXAsIGJ1dCB1cG9uCisgICAg
Ly8gc2VsZWN0aW9uIG9mIGFuIGl0ZW0gdGhlIG1vdXNlIHVwIGdldHMgZWF0ZW4gYnkgdGhlIHBv
cHVwIG1lbnUuIFNvIHdlIHRha2UgdGhlIG1vdXNlIGRvd24KKyAgICAvLyBldmVudCwgY2hhbmdl
IHRoZSBtZXNzYWdlIHR5cGUgdG8gYSBtb3VzZSB1cCBldmVudCwgYW5kIHBvc3QgdGhhdCBpbiB0
aGUgbWVzc2FnZSBxdWV1ZS4KKyAgICAvLyBUaHVzLCB3ZSBhcmUgdmlydHVhbGx5IGNsaWNraW5n
IGF0IHRoZQorICAgIC8vIHNhbWUgbG9jYXRpb24gd2hlcmUgdGhlIG1vdXNlIGRvd24gZXZlbnQg
b2NjdXJyZWQuIFRoaXMgYWxsb3dzIHRoZSBoaXQgdGVzdCB0byBzZWxlY3QKKyAgICAvLyB0aGUg
Y29ycmVjdCBlbGVtZW50LCBhbmQgdGhlcmVieSBjYWxsIHRoZSBvbkNsaWNrKCkgSlMgaGFuZGxl
ci4KKyAgICBpZiAoIW1fY2xpZW50LT5jdXJyZW50bHlQcm9jZXNzZWRNb3VzZURvd25FdmVudCgp
KQorICAgICAgICByZXR1cm47CisgICAgICAgIAorICAgIGNvbnN0IE1TRyogaW5pdGlhdGluZ1dp
bkV2ZW50ID0gbV9jbGllbnQtPmN1cnJlbnRseVByb2Nlc3NlZE1vdXNlRG93bkV2ZW50KCktPm5h
dGl2ZUV2ZW50KCk7CisgICAgTVNHIGZha2VFdmVudCA9ICppbml0aWF0aW5nV2luRXZlbnQ7Cisg
ICAgZmFrZUV2ZW50Lm1lc3NhZ2UgPSBXTV9MQlVUVE9OVVA7CisgICAgOjpQb3N0TWVzc2FnZShm
YWtlRXZlbnQuaHduZCwgZmFrZUV2ZW50Lm1lc3NhZ2UsIGZha2VFdmVudC53UGFyYW0sIGZha2VF
dmVudC5sUGFyYW0pOwogfQogCiB2b2lkIFdlYlBvcHVwTWVudVByb3h5V2luOjpoaWRlUG9wdXBN
ZW51KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy93aW4vV2ViVmlldy5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mvd2luL1dlYlZpZXcuY3BwCmluZGV4IDU0Y2U5
ZTUuLjk3ZGVmODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy93aW4vV2Vi
Vmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3dpbi9XZWJWaWV3LmNwcApA
QCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIkZpbmRJbmRpY2F0b3IuaCIKICNpbmNsdWRlICJM
b2dnaW5nLmgiCiAjaW5jbHVkZSAiTmF0aXZlV2ViS2V5Ym9hcmRFdmVudC5oIgorI2luY2x1ZGUg
Ik5hdGl2ZVdlYk1vdXNlRXZlbnQuaCIKICNpbmNsdWRlICJSZWdpb24uaCIKICNpbmNsdWRlICJS
dW5Mb29wLmgiCiAjaW5jbHVkZSAiV0tBUElDYXN0LmgiCkBAIC0zODcsNyArMzg4LDcgQEAgdm9p
ZCBXZWJWaWV3Ojp3aW5kb3dBbmNlc3RyeURpZENoYW5nZSgpCiAKIExSRVNVTFQgV2ViVmlldzo6
b25Nb3VzZUV2ZW50KEhXTkQgaFduZCwgVUlOVCBtZXNzYWdlLCBXUEFSQU0gd1BhcmFtLCBMUEFS
QU0gbFBhcmFtLCBib29sJiBoYW5kbGVkKQogewotICAgIFdlYk1vdXNlRXZlbnQgbW91c2VFdmVu
dCA9IFdlYkV2ZW50RmFjdG9yeTo6Y3JlYXRlV2ViTW91c2VFdmVudChoV25kLCBtZXNzYWdlLCB3
UGFyYW0sIGxQYXJhbSwgbV93YXNBY3RpdmF0ZWRCeU1vdXNlRXZlbnQpOworICAgIE5hdGl2ZVdl
Yk1vdXNlRXZlbnQgbW91c2VFdmVudCA9IE5hdGl2ZVdlYk1vdXNlRXZlbnQoaFduZCwgbWVzc2Fn
ZSwgd1BhcmFtLCBsUGFyYW0sIG1fd2FzQWN0aXZhdGVkQnlNb3VzZUV2ZW50KTsKICAgICBzZXRX
YXNBY3RpdmF0ZWRCeU1vdXNlRXZlbnQoZmFsc2UpOwogICAgIAogICAgIHN3aXRjaCAobWVzc2Fn
ZSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi5wcm8gYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJLaXQyLnBybwppbmRleCA4YjcxMmZmLi40N2ExZWJjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJLaXQyLnBybworKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnBybwpA
QCAtMTIzLDYgKzEyMyw3IEBAIEhFQURFUlMgKz0gXAogICAgIFNoYXJlZC9NdXRhYmxlQXJyYXku
aCBcCiAgICAgU2hhcmVkL011dGFibGVEaWN0aW9uYXJ5LmggXAogICAgIFNoYXJlZC9OYXRpdmVX
ZWJLZXlib2FyZEV2ZW50LmggXAorICAgIFNoYXJlZC9OYXRpdmVXZWJNb3VzZUV2ZW50LmggXAog
ICAgIFNoYXJlZC9PcmlnaW5BbmREYXRhYmFzZXMuaCBcCiAgICAgU2hhcmVkL1BsYXRmb3JtUG9w
dXBNZW51RGF0YS5oIFwKICAgICBTaGFyZWQvUHJpbnRJbmZvLmggXApAQCAtMzYzLDYgKzM2NCw3
IEBAIFNPVVJDRVMgKz0gXAogICAgIFNoYXJlZC9XZWJXaGVlbEV2ZW50LmNwcCBcCiAgICAgU2hh
cmVkL3F0L1NoYXJlYWJsZUJpdG1hcFF0LmNwcCBcCiAgICAgU2hhcmVkL3F0L05hdGl2ZVdlYktl
eWJvYXJkRXZlbnRRdC5jcHAgXAorICAgIFNoYXJlZC9xdC9OYXRpdmVXZWJNb3VzZUV2ZW50UXQu
Y3BwIFwKICAgICBTaGFyZWQvcXQvVXBkYXRlQ2h1bmsuY3BwIFwKICAgICBTaGFyZWQvcXQvV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzUXQuY3BwIFwKICAgICBTaGFyZWQvcXQvV2ViRXZlbnRGYWN0b3J5
UXQuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagppbmRleCBlMzRlZDZiLi41ZWY5OTcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdDIv
V2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yMzYsNiArMjM2LDcgQEAKIAkJ
MUNBOEI5NTQxMjdDODkxNTAwNTc2QzJCIC8qIFdlYkluc3BlY3Rvck1hYy5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDOEUyREFEMTI3OEM1QjIwMEJD
N0JEMCAvKiBXZWJJbnNwZWN0b3JNYWMubW0gKi87IH07CiAJCTI5Q0Q1NUFBMTI4RTI5NEYwMDEz
M0M4NSAvKiBBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjlDRDU1QTgxMjhFMjk0RjAwMTMzQzg1IC8qIEFj
Y2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0LmggKi87IH07CiAJCTI5Q0Q1NUFCMTI4RTI5NEYwMDEz
M0M4NSAvKiBBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdC5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5Q0Q1NUE5MTI4RTI5NEYwMDEzM0M4NSAvKiBB
Y2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdC5tbSAqLzsgfTsKKwkJMzFFQTI1RDIxMzRGNzhDMDAw
NUIxNDUyIC8qIE5hdGl2ZVdlYk1vdXNlRXZlbnRNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUVBMjVEMDEzNEY3OEIyMDA1QjE0NTIgLyogTmF0
aXZlV2ViTW91c2VFdmVudE1hYy5tbSAqLzsgfTsKIAkJMzMwOTM0NDcxMzE1QjkyMjAwOTdBN0JD
IC8qIFdlYkNvb2tpZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzMwOTM0NDMxMzE1QjkyMjAwOTdBN0JDIC8q
IFdlYkNvb2tpZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQkzMzA5MzQ0ODEz
MTVCOTIyMDA5N0E3QkMgLyogV2ViQ29va2llTWFuYWdlck1lc3NhZ2VzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMzA5MzQ0NDEzMTVCOTIyMDA5N0E3
QkMgLyogV2ViQ29va2llTWFuYWdlck1lc3NhZ2VzLmggKi87IH07CiAJCTMzMDkzNDQ5MTMxNUI5
MjIwMDk3QTdCQyAvKiBXZWJDb29raWVNYW5hZ2VyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzMwOTM0NDUxMzE1
QjkyMjAwOTdBN0JDIC8qIFdlYkNvb2tpZU1hbmFnZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAg
Ki87IH07CkBAIC0xMTE2LDYgKzExMTcsOCBAQAogCQkxQ0E4Qjk0NDEyN0M4ODJBMDA1NzZDMkIg
LyogV2ViSW5zcGVjdG9yUHJveHlNZXNzYWdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBXZWJJbnNwZWN0b3JQcm94eU1lc3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTI5Q0Q1NUE4MTI4RTI5NEYwMDEzM0M4NSAvKiBBY2Nlc3NpYmlsaXR5V2ViUGFn
ZU9iamVjdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5
V2ViUGFnZU9iamVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOUNENTVBOTEy
OEUyOTRGMDAxMzNDODUgLyogQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3QubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVj
dC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFFQTI1RDAxMzRGNzhCMjAwNUIx
NDUyIC8qIE5hdGl2ZVdlYk1vdXNlRXZlbnRNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBO
YXRpdmVXZWJNb3VzZUV2ZW50TWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkz
MUVBMjVEMzEzNEY3OEQ2MDA1QjE0NTIgLyogTmF0aXZlV2ViTW91c2VFdmVudC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOYXRpdmVXZWJNb3VzZUV2ZW50Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMyREJDRjVFMDM3MEFERUUwMEM5MTc4MyAvKiBXZWJLaXQy
UHJlZml4LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYktpdDJQcmVmaXgu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzMwOTM0NDMxMzE1QjkyMjAwOTdBN0JD
IC8qIFdlYkNvb2tpZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gV2ViQ29va2llTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMzMDkzNDQ0MTMxNUI5MjIwMDk3QTdCQyAv
KiBXZWJDb29raWVNYW5hZ2VyTWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gV2ViQ29va2llTWFuYWdlck1lc3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC0yMDY5LDYgKzIwNzIsNyBAQAogCQkJCUJDQjBBRUU4MTIyRjUzRTMwMEIxMzQxRSAv
KiBNdXRhYmxlRGljdGlvbmFyeS5jcHAgKi8sCiAJCQkJQkNCMEFFRTcxMjJGNTNFMzAwQjEzNDFF
IC8qIE11dGFibGVEaWN0aW9uYXJ5LmggKi8sCiAJCQkJQzAyQkZGMTUxMjUxNEZEODAwOUNDQkVB
IC8qIE5hdGl2ZVdlYktleWJvYXJkRXZlbnQuaCAqLywKKwkJCQkzMUVBMjVEMzEzNEY3OEQ2MDA1
QjE0NTIgLyogTmF0aXZlV2ViTW91c2VFdmVudC5oICovLAogCQkJCUJDQ0Y2NzMyMTJDN0YxNUMw
MDhGOUMzNSAvKiBPcmlnaW5BbmREYXRhYmFzZXMuY3BwICovLAogCQkJCUJDQ0Y2NzJDMTJDN0VE
RjcwMDhGOUMzNSAvKiBPcmlnaW5BbmREYXRhYmFzZXMuaCAqLywKIAkJCQlCQ0M0M0FCODEyN0I5
NURDMDAzMTdGMTYgLyogUGxhdGZvcm1Qb3B1cE1lbnVEYXRhLmNwcCAqLywKQEAgLTI3NzUsNiAr
Mjc3OSw3IEBACiAJCQkJMUE5NjM5RjUxMkYzOEVDRDAwNzhBMDYyIC8qIENvcmVBbmltYXRpb25S
ZW5kZXJlci5oICovLAogCQkJCTFBOTYzOUY2MTJGMzhFQ0QwMDc4QTA2MiAvKiBDb3JlQW5pbWF0
aW9uUmVuZGVyZXIubW0gKi8sCiAJCQkJMUE5MkRDMTIxMkY4QkFCOTAwMTdBRjY1IC8qIExheWVy
VHJlZUNvbnRleHRNYWMubW0gKi8sCisJCQkJMzFFQTI1RDAxMzRGNzhCMjAwNUIxNDUyIC8qIE5h
dGl2ZVdlYk1vdXNlRXZlbnRNYWMubW0gKi8sCiAJCQkJQzAyQkZGMUQxMjUxNTAyRTAwOUNDQkVB
IC8qIE5hdGl2ZVdlYktleWJvYXJkRXZlbnRNYWMubW0gKi8sCiAJCQkJQzU3NEE1N0YxMkU2NjY4
MTAwMkRGRTk4IC8qIFBhc3RlYm9hcmRUeXBlcy5oICovLAogCQkJCUM1NzRBNTgwMTJFNjY2ODEw
MDJERkU5OCAvKiBQYXN0ZWJvYXJkVHlwZXMubW0gKi8sCkBAIC00MzA3LDYgKzQzMTIsNyBAQAog
CQkJCTUxODM0NTkyMTM0NTMyRTkwMDkyQjY5NiAvKiBXZWJJY29uRGF0YWJhc2VDbGllbnQuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJRTFBMzE3MzUxMzRDRUE4MDAwN0M5QTRGIC8qIEF0dHJpYnV0
ZWRTdHJpbmcubW0gaW4gU291cmNlcyAqLywKIAkJCQlFMTc5RkQ5RjEzNEQzODI1MDAxNUI4ODMg
LyogQXJndW1lbnRDb2RlcnNNYWMubW0gaW4gU291cmNlcyAqLywKKwkJCQkzMUVBMjVEMjEzNEY3
OEMwMDA1QjE0NTIgLyogTmF0aXZlV2ViTW91c2VFdmVudE1hYy5tbSBpbiBTb3VyY2VzICovLAog
CQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIudmNwcm9qIGIvU291cmNlL1dl
YktpdDIvd2luL1dlYktpdDIudmNwcm9qCmluZGV4IDA0ZWVhYmYuLmU4NjgzMTggMTAwNzU1Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViS2l0
Mi93aW4vV2ViS2l0Mi52Y3Byb2oKQEAgLTQ4Myw2ICs0ODMsMTAgQEAKIAkJCQk+CiAJCQk8L0Zp
bGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cU2hhcmVkXE5hdGl2ZVdlYk1vdXNl
RXZlbnQuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0i
Li5cU2hhcmVkXE9yaWdpbkFuZERhdGFiYXNlcy5jcHAiCiAJCQkJPgogCQkJPC9GaWxlPgpAQCAt
MTE5NCw2ICsxMTk4LDY0IEBACiAJCQkJCT4KIAkJCQk8L0ZpbGU+CiAJCQkJPEZpbGUKKwkJCQkJ
UmVsYXRpdmVQYXRoPSIuLlxTaGFyZWRcd2luXE5hdGl2ZVdlYk1vdXNlRXZlbnRXaW4uY3BwIgor
CQkJCQk+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iRGVidWd8V2luMzIi
CisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJ
CQkJCQkJT2JqZWN0RmlsZT0iJChJbnREaXIpXCQoSW5wdXROYW1lKTEub2JqIgorCQkJCQkJCVhN
TERvY3VtZW50YXRpb25GaWxlTmFtZT0iJChJbnREaXIpXCQoSW5wdXROYW1lKTEueGRjIgorCQkJ
CQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9u
CisJCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJ
CQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJCU9iamVjdEZpbGU9IiQoSW50RGlyKVwk
KElucHV0TmFtZSkxLm9iaiIKKwkJCQkJCQlYTUxEb2N1bWVudGF0aW9uRmlsZU5hbWU9IiQoSW50
RGlyKVwkKElucHV0TmFtZSkxLnhkYyIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRp
b24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZM
aXRlfFdpbjMyIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIgorCQkJCQkJCU9iamVjdEZpbGU9IiQoSW50RGlyKVwkKElucHV0TmFtZSkxLm9iaiIK
KwkJCQkJCQlYTUxEb2N1bWVudGF0aW9uRmlsZU5hbWU9IiQoSW50RGlyKVwkKElucHV0TmFtZSkx
LnhkYyIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29u
ZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJ
CQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkJ
T2JqZWN0RmlsZT0iJChJbnREaXIpXCQoSW5wdXROYW1lKTEub2JqIgorCQkJCQkJCVhNTERvY3Vt
ZW50YXRpb25GaWxlTmFtZT0iJChJbnREaXIpXCQoSW5wdXROYW1lKTEueGRjIgorCQkJCQkJLz4K
KwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJ
CQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5h
bWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkJT2JqZWN0RmlsZT0iJChJbnREaXIpXCQoSW5w
dXROYW1lKTEub2JqIgorCQkJCQkJCVhNTERvY3VtZW50YXRpb25GaWxlTmFtZT0iJChJbnREaXIp
XCQoSW5wdXROYW1lKTEueGRjIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4K
KwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgor
CQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJ
CQkJCU9iamVjdEZpbGU9IiQoSW50RGlyKVwkKElucHV0TmFtZSkxLm9iaiIKKwkJCQkJCQlYTUxE
b2N1bWVudGF0aW9uRmlsZU5hbWU9IiQoSW50RGlyKVwkKElucHV0TmFtZSkxLnhkYyIKKwkJCQkJ
CS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCiAJ
CQkJCVJlbGF0aXZlUGF0aD0iLi5cU2hhcmVkXHdpblxQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5j
cHAiCiAJCQkJCT4KIAkJCQk8L0ZpbGU+Ci0tIAoxLjcuNC40Cgo=
</data>
<flag name="review"
          id="82420"
          type_id="1"
          status="+"
          setter="mjs"
    />
    <flag name="commit-queue"
          id="82421"
          type_id="3"
          status="+"
          setter="mjs"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89721</attachid>
            <date>2011-04-14 19:11:31 -0700</date>
            <delta_ts>2011-04-15 11:02:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-onClick-does-not-function-with-select-elements-in-We.patch</filename>
            <type>text/plain</type>
            <size>39481</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">RnJvbSAzZWUwOGUxNTM0ZjY3ZjA2N2ZjZDI3NDVjODRkMTJmZWYyMDIzOWJjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb24gTGVlIDxqb25sZWVAYXBwbGUuY29tPgpEYXRlOiBNb24s
IDExIEFwciAyMDExIDE1OjM5OjA1IC0wNzAwClN1YmplY3Q6IFtQQVRDSF0gb25DbGljayBkb2Vz
IG5vdCBmdW5jdGlvbiB3aXRoIDxzZWxlY3Q+IGVsZW1lbnRzIGluIFdlYktpdDIKIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NzkwNAogPHJkYXI6Ly9wcm9ibGVtLzky
MTc3NTc+CgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiogU2hhcmVkL05hdGl2ZVdlYk1v
dXNlRXZlbnQuaDogQ29waWVkIGZyb20gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBvcHVw
TWVudVByb3h5LmguCihXZWJLaXQ6Ok5hdGl2ZVdlYk1vdXNlRXZlbnQ6Om5hdGl2ZUV2ZW50KToK
KiBTaGFyZWQvbWFjL05hdGl2ZVdlYk1vdXNlRXZlbnRNYWMubW06IEFkZGVkLgooV2ViS2l0OjpO
YXRpdmVXZWJNb3VzZUV2ZW50OjpOYXRpdmVXZWJNb3VzZUV2ZW50KToKKiBTaGFyZWQvcXQvTmF0
aXZlV2ViTW91c2VFdmVudFF0LmNwcDogQ29waWVkIGZyb20gU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlBvcHVwTWVudVByb3h5LmguCihXZWJLaXQ6Ok5hdGl2ZVdlYk1vdXNlRXZlbnQ6Ok5h
dGl2ZVdlYk1vdXNlRXZlbnQpOgoqIFNoYXJlZC93aW4vTmF0aXZlV2ViTW91c2VFdmVudFdpbi5j
cHA6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQb3B1cE1lbnVQcm94
eS5oLgooV2ViS2l0OjpOYXRpdmVXZWJNb3VzZUV2ZW50OjpOYXRpdmVXZWJNb3VzZUV2ZW50KToK
KiBVSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW06CigtW1dLVmlldyBtb3VzZU1vdmVkOl0pOgoo
LVtXS1ZpZXcgX21vdXNlSGFuZGxlcjpdKTogUHJlLWNvbXBpbGVyIG1vdXNlIGhhbmRsZXIgY2Fs
bHMgbmVlZCB0byB1c2UgdGhlIG5ldyBOYXRpdmVXZWJNb3VzZUV2ZW50IGNsYXNzCiogVUlQcm9j
ZXNzL0FQSS9xdC9xd2twYWdlLmNwcDoKKFFXS1BhZ2VQcml2YXRlOjptb3VzZU1vdmVFdmVudCk6
CihRV0tQYWdlUHJpdmF0ZTo6bW91c2VQcmVzc0V2ZW50KToKKFFXS1BhZ2VQcml2YXRlOjptb3Vz
ZVJlbGVhc2VFdmVudCk6CihRV0tQYWdlUHJpdmF0ZTo6bW91c2VEb3VibGVDbGlja0V2ZW50KToK
KiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKFdlYktpdDo6V2ViUGFnZVByb3h5OjpoYW5k
bGVNb3VzZUV2ZW50KToga2VlcCB0cmFjayBvZiBtb3VzZSBkb3duIGV2ZW50IGluIG9yZGVyIHRv
IGJlIGFibGUgdG8gc2VuZCBhIGZha2UgbW91c2UgdXAgZXZlbnQgb24gdGhlIHNlbGVjdCBlbGVt
ZW50CihXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y3VycmVudE1vdXNlRG93bkV2ZW50KTogZm9yIGFj
Y2VzcyBieSB0aGUgcG9wdXAgbWVudSBwcm94eSB0byBkaXNwYXRjaCB0aGUgZmFrZSBtb3VzZSB1
cCBldmVudAooV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZFJlY2VpdmVFdmVudCk6IGNsZWFyIG91
dCB0aGUgY2FjaGVkIG1vdXNlIGRvd24gZXZlbnQKKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpwcm9j
ZXNzRGlkQ3Jhc2gpOiBjbGVhciBvdXQgdGhlIGNhY2hlZCBldmVudHMgc2luY2Ugd2UgYXNzdW1l
IHRoYXQgZGlkUmVjZWl2ZUV2ZW50IGRpZCBub3QgY2FsbGVkIHByaW9yIHRvIHRoZSBjcmFzaAoq
IFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKiBVSVByb2Nlc3MvV2ViUG9wdXBNZW51UHJveHku
aDoKKiBVSVByb2Nlc3MvbWFjL1dlYlBvcHVwTWVudVByb3h5TWFjLm1tOgooV2ViS2l0OjpXZWJQ
b3B1cE1lbnVQcm94eU1hYzo6c2hvd1BvcHVwTWVudSk6IGFmdGVyIG5vdGlmeWluZyB0aGUgcG9w
dXAgbWVudSBjbGllbnQgdGhhdCB0aGUgdmFsdWUgY2hhbmdlZCwgZmFrZSBtb3VzZSB1cCBhbmQg
bW91c2UgbW92ZSBldmVudHMgYXJlIHBvc3RlZAoqIFVJUHJvY2Vzcy93aW4vV2ViUG9wdXBNZW51
UHJveHlXaW4uY3BwOgooV2ViS2l0OjpXZWJQb3B1cE1lbnVQcm94eVdpbjo6c2hvd1BvcHVwTWVu
dSk6IGFmdGVyIG5vdGlmeWluZyB0aGUgcG9wdXAgbWVudSBjbGllbnQgdGhhdCB0aGUgdmFsdWUg
Y2hhbmdlZCwgZmFrZSBtb3VzZSB1cCBhbmQgbW91c2UgbW92ZSBldmVudHMgYXJlIHBvc3RlZAoq
IFVJUHJvY2Vzcy93aW4vV2ViVmlldy5jcHA6CihXZWJLaXQ6OldlYlZpZXc6Om9uTW91c2VFdmVu
dCk6CiogV2ViS2l0Mi5wcm86CiogV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgoq
IHdpbi9XZWJLaXQyLnZjcHJvajoKLS0tCiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgICAgICAg
ICAgICAgICAgICAgICAgICAgICB8ICAgNDMgKysrKysrKysrKysrCiBTb3VyY2UvV2ViS2l0Mi9H
TlVtYWtlZmlsZS5hbSAgICAgICAgICAgICAgICAgICAgICB8ICAgIDEgKwogU291cmNlL1dlYktp
dDIvU2hhcmVkL05hdGl2ZVdlYk1vdXNlRXZlbnQuaCAgICAgICAgfCAgIDcwICsrKysrKysrKysr
KysrKysrKysrCiAuLi4vV2ViS2l0Mi9TaGFyZWQvbWFjL05hdGl2ZVdlYk1vdXNlRXZlbnRNYWMu
bW0gICB8ICAgMzkgKysrKysrKysrKysKIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9OYXRpdmVX
ZWJNb3VzZUV2ZW50UXQuY3BwIHwgICAzOSArKysrKysrKysrKwogLi4uL1dlYktpdDIvU2hhcmVk
L3dpbi9OYXRpdmVXZWJNb3VzZUV2ZW50V2luLmNwcCAgfCAgIDQzICsrKysrKysrKysrKwogU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tICAgICAgICAgfCAgIDM3ICsr
KysrKystLS0tCiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3a3BhZ2UuY3BwICAg
ICAgICB8ICAgMTYgKystLS0KIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
Y3BwICAgICAgICAgIHwgICAyNCArKysrKystCiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmggICAgICAgICAgICB8ICAgIDcgKystCiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUG9wdXBNZW51UHJveHkuaCAgICAgICB8ICAgIDIgKwogLi4uL1dlYktpdDIvVUlQcm9j
ZXNzL21hYy9XZWJQb3B1cE1lbnVQcm94eU1hYy5tbSAgfCAgIDM5ICsrKysrKysrKystCiAuLi4v
V2ViS2l0Mi9VSVByb2Nlc3Mvd2luL1dlYlBvcHVwTWVudVByb3h5V2luLmNwcCB8ICAgMjMgKysr
KysrLQogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3dpbi9XZWJWaWV3LmNwcCAgICAgICAgICAg
fCAgICAzICstCiBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnBybyAgICAgICAgICAgICAgICAgICAg
ICAgICB8ICAgIDIgKwogU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qICAgfCAgICA2ICsrCiBTb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2ogICAg
ICAgICAgICAgICAgICB8ICAgNjIgKysrKysrKysrKysrKysrKysKIDE3IGZpbGVzIGNoYW5nZWQs
IDQyMSBpbnNlcnRpb25zKCspLCAzNSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBT
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvTmF0aXZlV2ViTW91c2VFdmVudC5oCiBjcmVhdGUgbW9kZSAx
MDA2NDQgU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9OYXRpdmVXZWJNb3VzZUV2ZW50TWFjLm1t
CiBjcmVhdGUgbW9kZSAxMDA2NDQgU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L05hdGl2ZVdlYk1v
dXNlRXZlbnRRdC5jcHAKIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
d2luL05hdGl2ZVdlYk1vdXNlRXZlbnRXaW4uY3BwCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGYzZmM0OGIuLjJm
ODNlZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NiBAQAorMjAxMS0wNC0xNCAgSm9uIExlZSAg
PGpvbmxlZUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgb25DbGljayBkb2VzIG5vdCBmdW5jdGlvbiB3aXRoIDxzZWxlY3Q+IGVsZW1l
bnRzIGluIFdlYktpdDIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTU3OTA0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS85MjE3NzU3PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2hhcmVkL05hdGl2ZVdl
Yk1vdXNlRXZlbnQuaDogQ29waWVkIGZyb20gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBv
cHVwTWVudVByb3h5LmguCisgICAgICAgIChXZWJLaXQ6Ok5hdGl2ZVdlYk1vdXNlRXZlbnQ6Om5h
dGl2ZUV2ZW50KToKKyAgICAgICAgKiBTaGFyZWQvbWFjL05hdGl2ZVdlYk1vdXNlRXZlbnRNYWMu
bW06IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpOYXRpdmVXZWJNb3VzZUV2ZW50OjpOYXRpdmVX
ZWJNb3VzZUV2ZW50KToKKyAgICAgICAgKiBTaGFyZWQvcXQvTmF0aXZlV2ViTW91c2VFdmVudFF0
LmNwcDogQ29waWVkIGZyb20gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBvcHVwTWVudVBy
b3h5LmguCisgICAgICAgIChXZWJLaXQ6Ok5hdGl2ZVdlYk1vdXNlRXZlbnQ6Ok5hdGl2ZVdlYk1v
dXNlRXZlbnQpOgorICAgICAgICAqIFNoYXJlZC93aW4vTmF0aXZlV2ViTW91c2VFdmVudFdpbi5j
cHA6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQb3B1cE1lbnVQcm94
eS5oLgorICAgICAgICAoV2ViS2l0OjpOYXRpdmVXZWJNb3VzZUV2ZW50OjpOYXRpdmVXZWJNb3Vz
ZUV2ZW50KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW06CisgICAgICAg
ICgtW1dLVmlldyBtb3VzZU1vdmVkOl0pOgorICAgICAgICAoLVtXS1ZpZXcgX21vdXNlSGFuZGxl
cjpdKTogUHJlLWNvbXBpbGVyIG1vdXNlIGhhbmRsZXIgY2FsbHMgbmVlZCB0byB1c2UgdGhlIG5l
dyBOYXRpdmVXZWJNb3VzZUV2ZW50IGNsYXNzCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9x
d2twYWdlLmNwcDoKKyAgICAgICAgKFFXS1BhZ2VQcml2YXRlOjptb3VzZU1vdmVFdmVudCk6Cisg
ICAgICAgIChRV0tQYWdlUHJpdmF0ZTo6bW91c2VQcmVzc0V2ZW50KToKKyAgICAgICAgKFFXS1Bh
Z2VQcml2YXRlOjptb3VzZVJlbGVhc2VFdmVudCk6CisgICAgICAgIChRV0tQYWdlUHJpdmF0ZTo6
bW91c2VEb3VibGVDbGlja0V2ZW50KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpoYW5kbGVNb3VzZUV2ZW50KTog
a2VlcCB0cmFjayBvZiBtb3VzZSBkb3duIGV2ZW50IGluIG9yZGVyIHRvIGJlIGFibGUgdG8gc2Vu
ZCBhIGZha2UgbW91c2UgdXAgZXZlbnQgb24gdGhlIHNlbGVjdCBlbGVtZW50CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y3VycmVudE1vdXNlRG93bkV2ZW50KTogZm9yIGFjY2VzcyBi
eSB0aGUgcG9wdXAgbWVudSBwcm94eSB0byBkaXNwYXRjaCB0aGUgZmFrZSBtb3VzZSB1cCBldmVu
dAorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZFJlY2VpdmVFdmVudCk6IGNsZWFy
IG91dCB0aGUgY2FjaGVkIG1vdXNlIGRvd24gZXZlbnQKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZVByb3h5Ojpwcm9jZXNzRGlkQ3Jhc2gpOiBjbGVhciBvdXQgdGhlIGNhY2hlZCBldmVudHMgc2lu
Y2Ugd2UgYXNzdW1lIHRoYXQgZGlkUmVjZWl2ZUV2ZW50IGRpZCBub3QgY2FsbGVkIHByaW9yIHRv
IHRoZSBjcmFzaAorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViUG9wdXBNZW51UHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFj
L1dlYlBvcHVwTWVudVByb3h5TWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQb3B1cE1lbnVQ
cm94eU1hYzo6c2hvd1BvcHVwTWVudSk6IGFmdGVyIG5vdGlmeWluZyB0aGUgcG9wdXAgbWVudSBj
bGllbnQgdGhhdCB0aGUgdmFsdWUgY2hhbmdlZCwgZmFrZSBtb3VzZSB1cCBhbmQgbW91c2UgbW92
ZSBldmVudHMgYXJlIHBvc3RlZAorICAgICAgICAqIFVJUHJvY2Vzcy93aW4vV2ViUG9wdXBNZW51
UHJveHlXaW4uY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQb3B1cE1lbnVQcm94eVdpbjo6c2hv
d1BvcHVwTWVudSk6IGFmdGVyIG5vdGlmeWluZyB0aGUgcG9wdXAgbWVudSBjbGllbnQgdGhhdCB0
aGUgdmFsdWUgY2hhbmdlZCwgZmFrZSBtb3VzZSB1cCBhbmQgbW91c2UgbW92ZSBldmVudHMgYXJl
IHBvc3RlZAorICAgICAgICAqIFVJUHJvY2Vzcy93aW4vV2ViVmlldy5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYlZpZXc6Om9uTW91c2VFdmVudCk6CisgICAgICAgICogV2ViS2l0Mi5wcm86Cisg
ICAgICAgICogV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHdp
bi9XZWJLaXQyLnZjcHJvajoKKwogMjAxMS0wNC0xNCAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQu
b3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFuZGVycyBDYXJsc3Nvbi4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmFtIGIvU291cmNlL1dlYktpdDIvR05VbWFrZWZp
bGUuYW0KaW5kZXggMDJlMjhkMC4uYzlhNzdhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
R05VbWFrZWZpbGUuYW0KKysrIGIvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUuYW0KQEAgLTIw
NSw2ICsyMDUsNyBAQCBsaWJXZWJLaXQyX2xhX1NPVVJDRVMgPSBcCiAJU291cmNlL1dlYktpdDIv
U2hhcmVkL011dGFibGVEaWN0aW9uYXJ5LmNwcCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL011
dGFibGVEaWN0aW9uYXJ5LmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9OYXRpdmVXZWJLZXli
b2FyZEV2ZW50LmggXAorCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9OYXRpdmVXZWJNb3VzZUV2ZW50
LmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9PcmlnaW5BbmREYXRhYmFzZXMuY3BwIFwKIAlT
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvT3JpZ2luQW5kRGF0YWJhc2VzLmggXAogCVNvdXJjZS9XZWJL
aXQyL1NoYXJlZC9QbGF0Zm9ybVBvcHVwTWVudURhdGEuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9OYXRpdmVXZWJNb3VzZUV2ZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvTmF0aXZlV2ViTW91c2VFdmVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLjEzYmExNjEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
TmF0aXZlV2ViTW91c2VFdmVudC5oCkBAIC0wLDAgKzEsNzAgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZu
ZGVmIE5hdGl2ZVdlYk1vdXNlRXZlbnRfaAorI2RlZmluZSBOYXRpdmVXZWJNb3VzZUV2ZW50X2gK
KworI2luY2x1ZGUgIldlYkV2ZW50LmgiCisKKyNpZiBQTEFURk9STShNQUMpCisjaW5jbHVkZSA8
d3RmL1JldGFpblB0ci5oPgorT0JKQ19DTEFTUyBOU1ZpZXc7CisjZWxpZiBQTEFURk9STShRVCkK
KyNpbmNsdWRlIDxxZ3JhcGhpY3NzY2VuZWV2ZW50Lmg+CisjZW5kaWYKKworbmFtZXNwYWNlIFdl
YktpdCB7CisKK2NsYXNzIE5hdGl2ZVdlYk1vdXNlRXZlbnQgOiBwdWJsaWMgV2ViTW91c2VFdmVu
dCB7CitwdWJsaWM6CisjaWYgUExBVEZPUk0oTUFDKQorICAgIE5hdGl2ZVdlYk1vdXNlRXZlbnQo
TlNFdmVudCAqLCBOU1ZpZXcgKik7CisjZWxpZiBQTEFURk9STShXSU4pCisgICAgTmF0aXZlV2Vi
TW91c2VFdmVudChIV05ELCBVSU5UIG1lc3NhZ2UsIFdQQVJBTSwgTFBBUkFNLCBib29sKTsKKyNl
bGlmIFBMQVRGT1JNKFFUKQorICAgIGV4cGxpY2l0IE5hdGl2ZVdlYk1vdXNlRXZlbnQoUUdyYXBo
aWNzU2NlbmVNb3VzZUV2ZW50KiwgaW50KTsKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFDKQor
ICAgIE5TRXZlbnQqIG5hdGl2ZUV2ZW50KCkgY29uc3QgeyByZXR1cm4gbV9uYXRpdmVFdmVudC5n
ZXQoKTsgfQorI2VsaWYgUExBVEZPUk0oV0lOKQorICAgIGNvbnN0IE1TRyogbmF0aXZlRXZlbnQo
KSBjb25zdCB7IHJldHVybiAmbV9uYXRpdmVFdmVudDsgfQorI2VsaWYgUExBVEZPUk0oUVQpCisg
ICAgY29uc3QgUUdyYXBoaWNzU2NlbmVNb3VzZUV2ZW50KiBuYXRpdmVFdmVudCgpIGNvbnN0IHsg
cmV0dXJuIG1fbmF0aXZlRXZlbnQ7IH0KKyNlbmRpZgorCitwcml2YXRlOgorI2lmIFBMQVRGT1JN
KE1BQykKKyAgICBSZXRhaW5QdHI8TlNFdmVudD4gbV9uYXRpdmVFdmVudDsKKyNlbGlmIFBMQVRG
T1JNKFdJTikKKyAgICBNU0cgbV9uYXRpdmVFdmVudDsKKyNlbGlmIFBMQVRGT1JNKFFUKQorICAg
IFFHcmFwaGljc1NjZW5lTW91c2VFdmVudCogbV9uYXRpdmVFdmVudDsKKyNlbmRpZgorfTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBOYXRpdmVXZWJNb3VzZUV2ZW50X2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvTmF0aXZlV2ViTW91c2VFdmVu
dE1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvTmF0aXZlV2ViTW91c2VFdmVudE1h
Yy5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNzA2NGEzCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9OYXRpdmVXZWJNb3VzZUV2ZW50
TWFjLm1tCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIK
KyNpbXBvcnQgIk5hdGl2ZVdlYk1vdXNlRXZlbnQuaCIKKworI2ltcG9ydCAiV2ViRXZlbnRGYWN0
b3J5LmgiCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitOYXRpdmVXZWJNb3VzZUV2ZW50OjpOYXRp
dmVXZWJNb3VzZUV2ZW50KE5TRXZlbnQqIGV2ZW50LCBOU1ZpZXcqIHZpZXcpCisgICAgOiBXZWJN
b3VzZUV2ZW50KFdlYkV2ZW50RmFjdG9yeTo6Y3JlYXRlV2ViTW91c2VFdmVudChldmVudCwgdmll
dykpCisgICAgLCBtX25hdGl2ZUV2ZW50KGV2ZW50KQoreworfQorCit9IC8vIG5hbWVzcGFjZSBX
ZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9OYXRpdmVXZWJNb3Vz
ZUV2ZW50UXQuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L05hdGl2ZVdlYk1vdXNlRXZl
bnRRdC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTZmNmUzNAotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9OYXRpdmVXZWJNb3VzZUV2
ZW50UXQuY3BwCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaW5jbHVkZSAiTmF0aXZlV2ViTW91c2VFdmVudC5oIgorCisjaW5jbHVkZSAiV2ViRXZl
bnRGYWN0b3J5UXQuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK05hdGl2ZVdlYk1vdXNlRXZl
bnQ6Ok5hdGl2ZVdlYk1vdXNlRXZlbnQoUUdyYXBoaWNzU2NlbmVNb3VzZUV2ZW50KiBldmVudCwg
aW50IGV2ZW50Q2xpY2tDb3VudCkKKyAgICA6IFdlYk1vdXNlRXZlbnQoV2ViRXZlbnRGYWN0b3J5
OjpjcmVhdGVXZWJNb3VzZUV2ZW50KGV2ZW50LCBldmVudENsaWNrQ291bnQpKQorICAgICwgbV9u
YXRpdmVFdmVudChldmVudCkKK3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvd2luL05hdGl2ZVdlYk1vdXNlRXZlbnRXaW4uY3Bw
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3dpbi9OYXRpdmVXZWJNb3VzZUV2ZW50V2luLmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YjgzZGM2Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3dpbi9OYXRpdmVXZWJNb3VzZUV2ZW50V2luLmNw
cApAQCAtMCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIk5hdGl2ZVdlYk1vdXNlRXZlbnQuaCIKKworI2luY2x1ZGUgIldlYkV2ZW50RmFjdG9y
eS5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworTmF0aXZlV2ViTW91c2VFdmVudDo6TmF0aXZl
V2ViTW91c2VFdmVudChIV05EIGh3bmQsIFVJTlQgbWVzc2FnZSwgV1BBUkFNIHdQYXJhbSwgTFBB
UkFNIGxQYXJhbSwgYm9vbCBkaWRBY3RpdmF0ZVdlYlZpZXcpCisgICAgOiBXZWJNb3VzZUV2ZW50
KFdlYkV2ZW50RmFjdG9yeTo6Y3JlYXRlV2ViTW91c2VFdmVudChod25kLCBtZXNzYWdlLCB3UGFy
YW0sIGxQYXJhbSwgZGlkQWN0aXZhdGVXZWJWaWV3KSkKKyAgICAsIG1fbmF0aXZlRXZlbnQoKQor
eworICAgIG1fbmF0aXZlRXZlbnQuaHduZCA9IGh3bmQ7CisgICAgbV9uYXRpdmVFdmVudC5tZXNz
YWdlID0gbWVzc2FnZTsKKyAgICBtX25hdGl2ZUV2ZW50LndQYXJhbSA9IHdQYXJhbTsKKyAgICBt
X25hdGl2ZUV2ZW50LmxQYXJhbSA9IGxQYXJhbTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0g
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0KaW5kZXggYTU4NGU5
Ni4uZjFiMGI4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMv
V0tWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5t
bQpAQCAtMzUsNiArMzUsNyBAQAogI2ltcG9ydCAiTGF5ZXJUcmVlQ29udGV4dC5oIgogI2ltcG9y
dCAiTG9nZ2luZy5oIgogI2ltcG9ydCAiTmF0aXZlV2ViS2V5Ym9hcmRFdmVudC5oIgorI2ltcG9y
dCAiTmF0aXZlV2ViTW91c2VFdmVudC5oIgogI2ltcG9ydCAiUERGVmlld0NvbnRyb2xsZXIuaCIK
ICNpbXBvcnQgIlBhZ2VDbGllbnRJbXBsLmgiCiAjaW1wb3J0ICJQYXN0ZWJvYXJkVHlwZXMuaCIK
QEAgLTkyNiw2ICs5MjcsMjYgQEAgc3RhdGljIHZvaWQgc3BlYWtTdHJpbmcoV0tTdHJpbmdSZWYg
c3RyaW5nLCBXS0Vycm9yUmVmIGVycm9yLCB2b2lkKikKICAgICBfZGF0YS0+X21vdXNlRG93bkV2
ZW50ID0gW2V2ZW50IHJldGFpbl07CiB9CiAKKyNkZWZpbmUgTkFUSVZFX01PVVNFX0VWRU5UX0hB
TkRMRVIoU2VsZWN0b3IpIFwKKyAgICAtICh2b2lkKVNlbGVjdG9yOihOU0V2ZW50ICopdGhlRXZl
bnQgXAorICAgIHsgXAorICAgICAgICBOYXRpdmVXZWJNb3VzZUV2ZW50IHdlYkV2ZW50KHRoZUV2
ZW50LCBzZWxmKTsgXAorICAgICAgICBfZGF0YS0+X3BhZ2UtPmhhbmRsZU1vdXNlRXZlbnQod2Vi
RXZlbnQpOyBcCisgICAgfQorCitOQVRJVkVfTU9VU0VfRVZFTlRfSEFORExFUihtb3VzZUVudGVy
ZWQpCitOQVRJVkVfTU9VU0VfRVZFTlRfSEFORExFUihtb3VzZUV4aXRlZCkKK05BVElWRV9NT1VT
RV9FVkVOVF9IQU5ETEVSKG90aGVyTW91c2VEb3duKQorTkFUSVZFX01PVVNFX0VWRU5UX0hBTkRM
RVIob3RoZXJNb3VzZURyYWdnZWQpCitOQVRJVkVfTU9VU0VfRVZFTlRfSEFORExFUihvdGhlck1v
dXNlTW92ZWQpCitOQVRJVkVfTU9VU0VfRVZFTlRfSEFORExFUihvdGhlck1vdXNlVXApCitOQVRJ
VkVfTU9VU0VfRVZFTlRfSEFORExFUihyaWdodE1vdXNlRG93bikKK05BVElWRV9NT1VTRV9FVkVO
VF9IQU5ETEVSKHJpZ2h0TW91c2VEcmFnZ2VkKQorTkFUSVZFX01PVVNFX0VWRU5UX0hBTkRMRVIo
cmlnaHRNb3VzZU1vdmVkKQorTkFUSVZFX01PVVNFX0VWRU5UX0hBTkRMRVIocmlnaHRNb3VzZVVw
KQorCisjdW5kZWYgTkFUSVZFX01PVVNFX0VWRU5UX0hBTkRMRVIKKwogI2RlZmluZSBFVkVOVF9I
QU5ETEVSKFNlbGVjdG9yLCBUeXBlKSBcCiAgICAgLSAodm9pZClTZWxlY3RvcjooTlNFdmVudCAq
KXRoZUV2ZW50IFwKICAgICB7IFwKQEAgLTkzMywxNiArOTU0LDYgQEAgc3RhdGljIHZvaWQgc3Bl
YWtTdHJpbmcoV0tTdHJpbmdSZWYgc3RyaW5nLCBXS0Vycm9yUmVmIGVycm9yLCB2b2lkKikKICAg
ICAgICAgX2RhdGEtPl9wYWdlLT5oYW5kbGUjI1R5cGUjI0V2ZW50KHdlYkV2ZW50KTsgXAogICAg
IH0KIAotRVZFTlRfSEFORExFUihtb3VzZUVudGVyZWQsIE1vdXNlKQotRVZFTlRfSEFORExFUiht
b3VzZUV4aXRlZCwgTW91c2UpCi1FVkVOVF9IQU5ETEVSKG90aGVyTW91c2VEb3duLCBNb3VzZSkK
LUVWRU5UX0hBTkRMRVIob3RoZXJNb3VzZURyYWdnZWQsIE1vdXNlKQotRVZFTlRfSEFORExFUihv
dGhlck1vdXNlTW92ZWQsIE1vdXNlKQotRVZFTlRfSEFORExFUihvdGhlck1vdXNlVXAsIE1vdXNl
KQotRVZFTlRfSEFORExFUihyaWdodE1vdXNlRG93biwgTW91c2UpCi1FVkVOVF9IQU5ETEVSKHJp
Z2h0TW91c2VEcmFnZ2VkLCBNb3VzZSkKLUVWRU5UX0hBTkRMRVIocmlnaHRNb3VzZU1vdmVkLCBN
b3VzZSkKLUVWRU5UX0hBTkRMRVIocmlnaHRNb3VzZVVwLCBNb3VzZSkKIEVWRU5UX0hBTkRMRVIo
c2Nyb2xsV2hlZWwsIFdoZWVsKQogCiAjdW5kZWYgRVZFTlRfSEFORExFUgpAQCAtOTUzLDggKzk2
NCw3IEBAIEVWRU5UX0hBTkRMRVIoc2Nyb2xsV2hlZWwsIFdoZWVsKQogICAgIGlmIChzZWxmID09
IFtbc2VsZiB3aW5kb3ddIGZpcnN0UmVzcG9uZGVyXSAmJiAhTlNQb2ludEluUmVjdChbc2VsZiBj
b252ZXJ0UG9pbnQ6W2V2ZW50IGxvY2F0aW9uSW5XaW5kb3ddIGZyb21WaWV3Om5pbF0sIFtzZWxm
IHZpc2libGVSZWN0XSkpCiAgICAgICAgIHJldHVybjsKIAotICAgIFdlYk1vdXNlRXZlbnQgd2Vi
RXZlbnQgPSBXZWJFdmVudEZhY3Rvcnk6OmNyZWF0ZVdlYk1vdXNlRXZlbnQoZXZlbnQsIHNlbGYp
OwotICAgIF9kYXRhLT5fcGFnZS0+aGFuZGxlTW91c2VFdmVudCh3ZWJFdmVudCk7CisgICAgX2Rh
dGEtPl9wYWdlLT5oYW5kbGVNb3VzZUV2ZW50KE5hdGl2ZVdlYk1vdXNlRXZlbnQoZXZlbnQsIHNl
bGYpKTsKIH0KIAogLSAodm9pZClfbW91c2VIYW5kbGVyOihOU0V2ZW50ICopZXZlbnQKQEAgLTk2
Miw4ICs5NzIsNyBAQCBFVkVOVF9IQU5ETEVSKHNjcm9sbFdoZWVsLCBXaGVlbCkKICAgICBOU0lu
cHV0TWFuYWdlciAqY3VycmVudElucHV0TWFuYWdlciA9IFtOU0lucHV0TWFuYWdlciBjdXJyZW50
SW5wdXRNYW5hZ2VyXTsKICAgICBpZiAoW2N1cnJlbnRJbnB1dE1hbmFnZXIgd2FudHNUb0hhbmRs
ZU1vdXNlRXZlbnRzXSAmJiBbY3VycmVudElucHV0TWFuYWdlciBoYW5kbGVNb3VzZUV2ZW50OmV2
ZW50XSkKICAgICAgICAgcmV0dXJuOwotICAgIFdlYk1vdXNlRXZlbnQgd2ViRXZlbnQgPSBXZWJF
dmVudEZhY3Rvcnk6OmNyZWF0ZVdlYk1vdXNlRXZlbnQoZXZlbnQsIHNlbGYpOwotICAgIF9kYXRh
LT5fcGFnZS0+aGFuZGxlTW91c2VFdmVudCh3ZWJFdmVudCk7CisgICAgX2RhdGEtPl9wYWdlLT5o
YW5kbGVNb3VzZUV2ZW50KE5hdGl2ZVdlYk1vdXNlRXZlbnQoZXZlbnQsIHNlbGYpKTsKIH0KIAog
LSAodm9pZCltb3VzZURvd246KE5TRXZlbnQgKilldmVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2twYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvcXQvcXdrcGFnZS5jcHAKaW5kZXggMzgxMzc0Zi4uNzM5NGM4NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2twYWdlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3a3BhZ2UuY3BwCkBAIC0zNCw2ICszNCw3IEBA
CiAjaW5jbHVkZSAiRmluZEluZGljYXRvci5oIgogI2luY2x1ZGUgIkxvY2FsaXplZFN0cmluZ3Mu
aCIKICNpbmNsdWRlICJOYXRpdmVXZWJLZXlib2FyZEV2ZW50LmgiCisjaW5jbHVkZSAiTmF0aXZl
V2ViTW91c2VFdmVudC5oIgogI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCiAjaW5jbHVkZSAi
VGlsZWREcmF3aW5nQXJlYVByb3h5LmgiCiAjaW5jbHVkZSAiV2ViQ29udGV4dC5oIgpAQCAtMzA2
LDMyICszMDcsMjcgQEAgdm9pZCBRV0tQYWdlUHJpdmF0ZTo6bW91c2VNb3ZlRXZlbnQoUUdyYXBo
aWNzU2NlbmVNb3VzZUV2ZW50KiBldikKICAgICAgICAgcmV0dXJuOwogICAgIGxhc3RQb3MgPSBl
di0+cG9zKCk7CiAKLSAgICBXZWJNb3VzZUV2ZW50IG1vdXNlRXZlbnQgPSBXZWJFdmVudEZhY3Rv
cnk6OmNyZWF0ZVdlYk1vdXNlRXZlbnQoZXYsIDApOwotICAgIHBhZ2UtPmhhbmRsZU1vdXNlRXZl
bnQobW91c2VFdmVudCk7CisgICAgcGFnZS0+aGFuZGxlTW91c2VFdmVudChOYXRpdmVXZWJNb3Vz
ZUV2ZW50KGV2LCAwKSk7CiB9CiAKIHZvaWQgUVdLUGFnZVByaXZhdGU6Om1vdXNlUHJlc3NFdmVu
dChRR3JhcGhpY3NTY2VuZU1vdXNlRXZlbnQqIGV2KQogewogICAgIGlmICh0cmlwbGVDbGlja1Rp
bWVyLmlzQWN0aXZlKCkgJiYgKGV2LT5wb3MoKSAtIHRyaXBsZUNsaWNrKS5tYW5oYXR0YW5MZW5n
dGgoKSA8IFFBcHBsaWNhdGlvbjo6c3RhcnREcmFnRGlzdGFuY2UoKSkgewotICAgICAgICBXZWJN
b3VzZUV2ZW50IG1vdXNlRXZlbnQgPSBXZWJFdmVudEZhY3Rvcnk6OmNyZWF0ZVdlYk1vdXNlRXZl
bnQoZXYsIDMpOwotICAgICAgICBwYWdlLT5oYW5kbGVNb3VzZUV2ZW50KG1vdXNlRXZlbnQpOwor
ICAgICAgICBwYWdlLT5oYW5kbGVNb3VzZUV2ZW50KE5hdGl2ZVdlYk1vdXNlRXZlbnQoZXYsIDMp
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIFdlYk1vdXNlRXZlbnQgbW91c2VFdmVu
dCA9IFdlYkV2ZW50RmFjdG9yeTo6Y3JlYXRlV2ViTW91c2VFdmVudChldiwgMSk7Ci0gICAgcGFn
ZS0+aGFuZGxlTW91c2VFdmVudChtb3VzZUV2ZW50KTsKKyAgICBwYWdlLT5oYW5kbGVNb3VzZUV2
ZW50KE5hdGl2ZVdlYk1vdXNlRXZlbnQoZXYsIDEpKTsKIH0KIAogdm9pZCBRV0tQYWdlUHJpdmF0
ZTo6bW91c2VSZWxlYXNlRXZlbnQoUUdyYXBoaWNzU2NlbmVNb3VzZUV2ZW50KiBldikKIHsKLSAg
ICBXZWJNb3VzZUV2ZW50IG1vdXNlRXZlbnQgPSBXZWJFdmVudEZhY3Rvcnk6OmNyZWF0ZVdlYk1v
dXNlRXZlbnQoZXYsIDApOwotICAgIHBhZ2UtPmhhbmRsZU1vdXNlRXZlbnQobW91c2VFdmVudCk7
CisgICAgcGFnZS0+aGFuZGxlTW91c2VFdmVudChOYXRpdmVXZWJNb3VzZUV2ZW50KGV2LCAwKSk7
CiB9CiAKIHZvaWQgUVdLUGFnZVByaXZhdGU6Om1vdXNlRG91YmxlQ2xpY2tFdmVudChRR3JhcGhp
Y3NTY2VuZU1vdXNlRXZlbnQqIGV2KQogewotICAgIFdlYk1vdXNlRXZlbnQgbW91c2VFdmVudCA9
IFdlYkV2ZW50RmFjdG9yeTo6Y3JlYXRlV2ViTW91c2VFdmVudChldiwgMik7Ci0gICAgcGFnZS0+
aGFuZGxlTW91c2VFdmVudChtb3VzZUV2ZW50KTsKKyAgICBwYWdlLT5oYW5kbGVNb3VzZUV2ZW50
KE5hdGl2ZVdlYk1vdXNlRXZlbnQoZXYsIDIpKTsKIAogICAgIHRyaXBsZUNsaWNrVGltZXIuc3Rh
cnQoUUFwcGxpY2F0aW9uOjpkb3VibGVDbGlja0ludGVydmFsKCksIHEpOwogICAgIHRyaXBsZUNs
aWNrID0gZXYtPnBvcygpLnRvUG9pbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5jcHAKaW5kZXggYjEyM2M3Yy4uMjI3OTIwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJGaW5k
SW5kaWNhdG9yLmgiCiAjaW5jbHVkZSAiTWVzc2FnZUlELmgiCiAjaW5jbHVkZSAiTmF0aXZlV2Vi
S2V5Ym9hcmRFdmVudC5oIgorI2luY2x1ZGUgIk5hdGl2ZVdlYk1vdXNlRXZlbnQuaCIKICNpbmNs
dWRlICJQYWdlQ2xpZW50LmgiCiAjaW5jbHVkZSAiUHJpbnRJbmZvLmgiCiAjaW5jbHVkZSAiU2Vz
c2lvblN0YXRlLmgiCkBAIC04MTEsNyArODEyLDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRyYWdF
bmRlZChjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgY2xpZW50UG9zaXRpb24sIGNvbnN0IFdlYkMK
ICAgICBwcm9jZXNzKCktPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkRyYWdFbmRlZChjbGllbnRQ
b3NpdGlvbiwgZ2xvYmFsUG9zaXRpb24sIG9wZXJhdGlvbiksIG1fcGFnZUlEKTsKIH0KIAotdm9p
ZCBXZWJQYWdlUHJveHk6OmhhbmRsZU1vdXNlRXZlbnQoY29uc3QgV2ViTW91c2VFdmVudCYgZXZl
bnQpCit2b2lkIFdlYlBhZ2VQcm94eTo6aGFuZGxlTW91c2VFdmVudChjb25zdCBOYXRpdmVXZWJN
b3VzZUV2ZW50JiBldmVudCkKIHsKICAgICBpZiAoIWlzVmFsaWQoKSkKICAgICAgICAgcmV0dXJu
OwpAQCAtODIxLDEzICs4MjIsMjAgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmhhbmRsZU1vdXNlRXZl
bnQoY29uc3QgV2ViTW91c2VFdmVudCYgZXZlbnQpCiAgICAgICAgIHByb2Nlc3MoKS0+cmVzcG9u
c2l2ZW5lc3NUaW1lcigpLT5zdGFydCgpOwogICAgIGVsc2UgewogICAgICAgICBpZiAobV9wcm9j
ZXNzaW5nTW91c2VNb3ZlRXZlbnQpIHsKLSAgICAgICAgICAgIG1fbmV4dE1vdXNlTW92ZUV2ZW50
ID0gYWRvcHRQdHIobmV3IFdlYk1vdXNlRXZlbnQoZXZlbnQpKTsKKyAgICAgICAgICAgIG1fbmV4
dE1vdXNlTW92ZUV2ZW50ID0gYWRvcHRQdHIobmV3IE5hdGl2ZVdlYk1vdXNlRXZlbnQoZXZlbnQp
KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCiAgICAgICAgIG1fcHJvY2Vzc2lu
Z01vdXNlTW92ZUV2ZW50ID0gdHJ1ZTsKICAgICB9CiAKKyAgICAvLyA8aHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU3OTA0PiBXZSBuZWVkIHRvIGtlZXAgdHJhY2sgb2Yg
dGhlIG1vdXNlIGRvd24gZXZlbnQgaW4gdGhlIGNhc2Ugd2hlcmUgd2UKKyAgICAvLyBkaXNwbGF5
IGEgcG9wdXAgbWVudSBmb3Igc2VsZWN0IGVsZW1lbnRzLiBXaGVuIHRoZSB1c2VyIGNoYW5nZXMg
dGhlIHNlbGVjdGVkIGl0ZW0sCisgICAgLy8gd2UgZmFrZSBhIG1vdXNlIHVwIGV2ZW50IGJ5IHVz
aW5nIHRoaXMgc3RvcmVkIGRvd24gZXZlbnQuIFRoaXMgZXZlbnQgZ2V0cyBjbGVhcmVkCisgICAg
Ly8gd2hlbiB0aGUgbW91c2UgdXAgbWVzc2FnZSBpcyByZWNlaXZlZCBmcm9tIFdlYlByb2Nlc3Mu
CisgICAgaWYgKGV2ZW50LnR5cGUoKSA9PSBXZWJFdmVudDo6TW91c2VEb3duKQorICAgICAgICBt
X2N1cnJlbnRseVByb2Nlc3NlZE1vdXNlRG93bkV2ZW50ID0gYWRvcHRQdHIobmV3IE5hdGl2ZVdl
Yk1vdXNlRXZlbnQoZXZlbnQpKTsKKwogICAgIHByb2Nlc3MoKS0+c2VuZChNZXNzYWdlczo6V2Vi
UGFnZTo6TW91c2VFdmVudChldmVudCksIG1fcGFnZUlEKTsKIH0KIApAQCAtMjIwOCw2ICsyMjE2
LDExIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpzZXRUZXh0RnJvbUl0ZW1Gb3JQb3B1cE1lbnUoV2Vi
UG9wdXBNZW51UHJveHkqLCBpbnQzMl90IGluZGV4CiAgICAgcHJvY2VzcygpLT5zZW5kKE1lc3Nh
Z2VzOjpXZWJQYWdlOjpTZXRUZXh0Rm9yQWN0aXZlUG9wdXBNZW51KGluZGV4KSwgbV9wYWdlSUQp
OwogfQogCitOYXRpdmVXZWJNb3VzZUV2ZW50KiBXZWJQYWdlUHJveHk6OmN1cnJlbnRseVByb2Nl
c3NlZE1vdXNlRG93bkV2ZW50KCkKK3sKKyAgICByZXR1cm4gbV9jdXJyZW50bHlQcm9jZXNzZWRN
b3VzZURvd25FdmVudC5nZXQoKTsKK30KKwogdm9pZCBXZWJQYWdlUHJveHk6OnNob3dQb3B1cE1l
bnUoY29uc3QgSW50UmVjdCYgcmVjdCwgdWludDY0X3QgdGV4dERpcmVjdGlvbiwgY29uc3QgVmVj
dG9yPFdlYlBvcHVwSXRlbT4mIGl0ZW1zLCBpbnQzMl90IHNlbGVjdGVkSW5kZXgsIGNvbnN0IFBs
YXRmb3JtUG9wdXBNZW51RGF0YSYgZGF0YSkKIHsKICAgICBpZiAobV9hY3RpdmVQb3B1cE1lbnUp
IHsKQEAgLTI1NDIsMTIgKzI1NTUsMTQgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRpZFJlY2VpdmVF
dmVudCh1aW50MzJfdCBvcGFxdWVUeXBlLCBib29sIGhhbmRsZWQpCiAgICAgICAgIH0KICAgICAg
ICAgYnJlYWs7CiAgICAgY2FzZSBXZWJFdmVudDo6TW91c2VEb3duOgotICAgIGNhc2UgV2ViRXZl
bnQ6Ok1vdXNlVXA6CiAjaWYgRU5BQkxFKEdFU1RVUkVfRVZFTlRTKQogICAgIGNhc2UgV2ViRXZl
bnQ6Okdlc3R1cmVTY3JvbGxCZWdpbjoKICAgICBjYXNlIFdlYkV2ZW50OjpHZXN0dXJlU2Nyb2xs
RW5kOgogI2VuZGlmCiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgV2ViRXZlbnQ6Ok1vdXNlVXA6
CisgICAgICAgIG1fY3VycmVudGx5UHJvY2Vzc2VkTW91c2VEb3duRXZlbnQgPSBudWxscHRyOwor
ICAgICAgICBicmVhazsKIAogICAgIGNhc2UgV2ViRXZlbnQ6OldoZWVsOiB7CiAgICAgICAgIG1f
cHJvY2Vzc2luZ1doZWVsRXZlbnQgPSBmYWxzZTsKQEAgLTI3NTYsNiArMjc3MSw5IEBAIHZvaWQg
V2ViUGFnZVByb3h5Ojpwcm9jZXNzRGlkQ3Jhc2goKQogCiAgICAgLy8gQ2FuJ3QgZXhwZWN0IERp
ZFJlY2VpdmVFdmVudCBub3RpZmljYXRpb25zIGZyb20gYSBjcmFzaGVkIHdlYiBwcm9jZXNzLgog
ICAgIG1fa2V5RXZlbnRRdWV1ZS5jbGVhcigpOworICAgIG1fbmV4dFdoZWVsRXZlbnQgPSBudWxs
cHRyOworICAgIG1fbmV4dE1vdXNlTW92ZUV2ZW50ID0gbnVsbHB0cjsKKyAgICBtX2N1cnJlbnRs
eVByb2Nlc3NlZE1vdXNlRG93bkV2ZW50ID0gbnVsbHB0cjsKIAogI2lmIFBMQVRGT1JNKE1BQykg
JiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQogICAgIGRpc21pc3NDb3JyZWN0
aW9uUGFuZWwoUmVhc29uRm9yRGlzbWlzc2luZ0NvcnJlY3Rpb25QYW5lbElnbm9yZWQpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDFjNzI2MmUuLjUyNWVkNzcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTc4LDYgKzc4LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIE5hdGl2
ZVdlYktleWJvYXJkRXZlbnQ7CitjbGFzcyBOYXRpdmVXZWJNb3VzZUV2ZW50OwogY2xhc3MgUGFn
ZUNsaWVudDsKIGNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwogY2xhc3MgU3RyaW5nUGFp
clZlY3RvcjsKQEAgLTI4Nyw3ICsyODgsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRBY3R1YWxW
aXNpYmxlQ29udGVudFJlY3QoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgcmVjdCk7CiAjZW5kaWYK
IAotICAgIHZvaWQgaGFuZGxlTW91c2VFdmVudChjb25zdCBXZWJNb3VzZUV2ZW50Jik7CisgICAg
dm9pZCBoYW5kbGVNb3VzZUV2ZW50KGNvbnN0IE5hdGl2ZVdlYk1vdXNlRXZlbnQmKTsKICAgICB2
b2lkIGhhbmRsZVdoZWVsRXZlbnQoY29uc3QgV2ViV2hlZWxFdmVudCYpOwogICAgIHZvaWQgaGFu
ZGxlS2V5Ym9hcmRFdmVudChjb25zdCBOYXRpdmVXZWJLZXlib2FyZEV2ZW50Jik7CiAjaWYgRU5B
QkxFKEdFU1RVUkVfRVZFTlRTKQpAQCAtNDk4LDYgKzQ5OSw3IEBAIHByaXZhdGU6CiAgICAgLy8g
V2ViUG9wdXBNZW51UHJveHk6OkNsaWVudAogICAgIHZpcnR1YWwgdm9pZCB2YWx1ZUNoYW5nZWRG
b3JQb3B1cE1lbnUoV2ViUG9wdXBNZW51UHJveHkqLCBpbnQzMl90IG5ld1NlbGVjdGVkSW5kZXgp
OwogICAgIHZpcnR1YWwgdm9pZCBzZXRUZXh0RnJvbUl0ZW1Gb3JQb3B1cE1lbnUoV2ViUG9wdXBN
ZW51UHJveHkqLCBpbnQzMl90IGluZGV4KTsKKyAgICB2aXJ0dWFsIE5hdGl2ZVdlYk1vdXNlRXZl
bnQqIGN1cnJlbnRseVByb2Nlc3NlZE1vdXNlRG93bkV2ZW50KCk7CiAKICAgICAvLyBJbXBsZW1l
bnRlZCBpbiBnZW5lcmF0ZWQgV2ViUGFnZVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcAogICAgIHZv
aWQgZGlkUmVjZWl2ZVdlYlBhZ2VQcm94eU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENv
cmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKik7CkBAIC03OTYsNyAr
Nzk4LDggQEAgcHJpdmF0ZToKICAgICBPd25QdHI8V2ViV2hlZWxFdmVudD4gbV9uZXh0V2hlZWxF
dmVudDsKIAogICAgIGJvb2wgbV9wcm9jZXNzaW5nTW91c2VNb3ZlRXZlbnQ7Ci0gICAgT3duUHRy
PFdlYk1vdXNlRXZlbnQ+IG1fbmV4dE1vdXNlTW92ZUV2ZW50OworICAgIE93blB0cjxOYXRpdmVX
ZWJNb3VzZUV2ZW50PiBtX25leHRNb3VzZU1vdmVFdmVudDsKKyAgICBPd25QdHI8TmF0aXZlV2Vi
TW91c2VFdmVudD4gbV9jdXJyZW50bHlQcm9jZXNzZWRNb3VzZURvd25FdmVudDsKIAogICAgIHVp
bnQ2NF90IG1fcGFnZUlEOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUG9wdXBNZW51UHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQb3B1cE1l
bnVQcm94eS5oCmluZGV4IDk2OTAxZmIuLjBhZjg4ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQb3B1cE1lbnVQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQb3B1cE1lbnVQcm94eS5oCkBAIC0zOSw2ICszOSw3IEBAIG5hbWVzcGFjZSBX
ZWJLaXQgewogCiBzdHJ1Y3QgUGxhdGZvcm1Qb3B1cE1lbnVEYXRhOwogc3RydWN0IFdlYlBvcHVw
SXRlbTsKK2NsYXNzIE5hdGl2ZVdlYk1vdXNlRXZlbnQ7CiAKIGNsYXNzIFdlYlBvcHVwTWVudVBy
b3h5IDogcHVibGljIFJlZkNvdW50ZWQ8V2ViUG9wdXBNZW51UHJveHk+IHsKIHB1YmxpYzoKQEAg
LTUxLDYgKzUyLDcgQEAgcHVibGljOgogICAgIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB2b2lk
IHZhbHVlQ2hhbmdlZEZvclBvcHVwTWVudShXZWJQb3B1cE1lbnVQcm94eSosIGludDMyX3QgbmV3
U2VsZWN0ZWRJbmRleCkgPSAwOwogICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0VGV4dEZyb21JdGVt
Rm9yUG9wdXBNZW51KFdlYlBvcHVwTWVudVByb3h5KiwgaW50MzJfdCBpbmRleCkgPSAwOworICAg
ICAgICB2aXJ0dWFsIE5hdGl2ZVdlYk1vdXNlRXZlbnQqIGN1cnJlbnRseVByb2Nlc3NlZE1vdXNl
RG93bkV2ZW50KCkgPSAwOwogICAgIH07CiAKICAgICB2aXJ0dWFsIH5XZWJQb3B1cE1lbnVQcm94
eSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYlBvcHVwTWVu
dVByb3h5TWFjLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJQb3B1cE1lbnVQ
cm94eU1hYy5tbQppbmRleCA3Y2U4NzY0Li40NmQ0NTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvbWFjL1dlYlBvcHVwTWVudVByb3h5TWFjLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViUG9wdXBNZW51UHJveHlNYWMubW0KQEAgLTI2LDYgKzI2
LDcgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiV2ViUG9wdXBNZW51UHJveHlNYWMu
aCIKIAorI2ltcG9ydCAiTmF0aXZlV2ViTW91c2VFdmVudC5oIgogI2ltcG9ydCAiUGFnZUNsaWVu
dEltcGwuaCIKICNpbXBvcnQgIlBsYXRmb3JtUG9wdXBNZW51RGF0YS5oIgogI2ltcG9ydCAiV0tW
aWV3LmgiCkBAIC0xMjIsOSArMTIzLDQxIEBAIHZvaWQgV2ViUG9wdXBNZW51UHJveHlNYWM6OnNo
b3dQb3B1cE1lbnUoY29uc3QgSW50UmVjdCYgcmVjdCwgVGV4dERpcmVjdGlvbiB0ZXh0CiAKICAg
ICBbbV9wb3B1cC5nZXQoKSBkaXNtaXNzUG9wVXBdOwogICAgIFtkdW1teVZpZXcuZ2V0KCkgcmVt
b3ZlRnJvbVN1cGVydmlld107Ci0KLSAgICBpZiAobV9jbGllbnQpCi0gICAgICAgIG1fY2xpZW50
LT52YWx1ZUNoYW5nZWRGb3JQb3B1cE1lbnUodGhpcywgW21fcG9wdXAuZ2V0KCkgaW5kZXhPZlNl
bGVjdGVkSXRlbV0pOworICAgIAorICAgIGlmICghbV9jbGllbnQpCisgICAgICAgIHJldHVybjsK
KyAgICAKKyAgICBtX2NsaWVudC0+dmFsdWVDaGFuZ2VkRm9yUG9wdXBNZW51KHRoaXMsIFttX3Bv
cHVwLmdldCgpIGluZGV4T2ZTZWxlY3RlZEl0ZW1dKTsKKyAgICAKKyAgICAvLyA8aHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU3OTA0PiBUaGlzIGNvZGUgaXMgYWRvcHRl
ZCBmcm9tIEV2ZW50SGFuZGxlcjo6c2VuZEZha2VFdmVudHNBZnRlcldpZGdldFRyYWNraW5nKCku
CisgICAgaWYgKCFtX2NsaWVudC0+Y3VycmVudGx5UHJvY2Vzc2VkTW91c2VEb3duRXZlbnQoKSkK
KyAgICAgICAgcmV0dXJuOworICAgIAorICAgIE5TRXZlbnQqIGluaXRpYXRpbmdOU0V2ZW50ID0g
bV9jbGllbnQtPmN1cnJlbnRseVByb2Nlc3NlZE1vdXNlRG93bkV2ZW50KCktPm5hdGl2ZUV2ZW50
KCk7CisgICAgaWYgKFtpbml0aWF0aW5nTlNFdmVudCB0eXBlXSAhPSBOU0xlZnRNb3VzZURvd24p
CisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBOU0V2ZW50ICpmYWtlRXZlbnQgPSBbTlNFdmVu
dCBtb3VzZUV2ZW50V2l0aFR5cGU6TlNMZWZ0TW91c2VVcAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbjpbaW5pdGlhdGluZ05TRXZlbnQgbG9jYXRp
b25JbldpbmRvd10KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGlm
aWVyRmxhZ3M6W2luaXRpYXRpbmdOU0V2ZW50IG1vZGlmaWVyRmxhZ3NdCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZXN0YW1wOltpbml0aWF0aW5nTlNFdmVu
dCB0aW1lc3RhbXBdCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lu
ZG93TnVtYmVyOltpbml0aWF0aW5nTlNFdmVudCB3aW5kb3dOdW1iZXJdCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0Oltpbml0aWF0aW5nTlNFdmVu
dCBjb250ZXh0XQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVu
dE51bWJlcjpbaW5pdGlhdGluZ05TRXZlbnQgZXZlbnROdW1iZXJdCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjbGlja0NvdW50Oltpbml0aWF0aW5nTlNFdmVudCBj
bGlja0NvdW50XQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
cmVzc3VyZTpbaW5pdGlhdGluZ05TRXZlbnQgcHJlc3N1cmVdXTsKKyAgICAKKyAgICBbTlNBcHAg
cG9zdEV2ZW50OmZha2VFdmVudCBhdFN0YXJ0OllFU107CisgICAgZmFrZUV2ZW50ID0gW05TRXZl
bnQgbW91c2VFdmVudFdpdGhUeXBlOk5TTW91c2VNb3ZlZAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBsb2NhdGlvbjpbW21fd2ViVmlldyB3aW5kb3ddIGNvbnZlcnRTY3JlZW5U
b0Jhc2U6W05TRXZlbnQgbW91c2VMb2NhdGlvbl1dCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBtb2RpZmllckZsYWdzOltpbml0aWF0aW5nTlNFdmVudCBtb2RpZmllckZsYWdzXQorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVzdGFtcDpbaW5pdGlhdGluZ05TRXZl
bnQgdGltZXN0YW1wXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvd051bWJl
cjpbaW5pdGlhdGluZ05TRXZlbnQgd2luZG93TnVtYmVyXQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29udGV4dDpbaW5pdGlhdGluZ05TRXZlbnQgY29udGV4dF0KKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnROdW1iZXI6MAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2xpY2tDb3VudDowCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHByZXNzdXJlOjBdOworICAgIFtOU0FwcCBwb3N0RXZlbnQ6ZmFrZUV2ZW50IGF0
U3RhcnQ6WUVTXTsKIH0KIAogdm9pZCBXZWJQb3B1cE1lbnVQcm94eU1hYzo6aGlkZVBvcHVwTWVu
dSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mvd2luL1dlYlBvcHVwTWVu
dVByb3h5V2luLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy93aW4vV2ViUG9wdXBNZW51
UHJveHlXaW4uY3BwCmluZGV4IGVlYmRlNzUuLmE4ZDgwNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy93aW4vV2ViUG9wdXBNZW51UHJveHlXaW4uY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy93aW4vV2ViUG9wdXBNZW51UHJveHlXaW4uY3BwCkBAIC0yOSw2
ICsyOSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViUG9wdXBNZW51UHJv
eHlXaW4uaCIKIAorI2luY2x1ZGUgIk5hdGl2ZVdlYk1vdXNlRXZlbnQuaCIKICNpbmNsdWRlICJX
ZWJWaWV3LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9XZWJDb3JlSW5zdGFuY2VIYW5kbGUuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL1Njcm9sbGJhclRoZW1lLmg+CkBAIC0zMjQsOCArMzI1LDI2IEBAIHZv
aWQgV2ViUG9wdXBNZW51UHJveHlXaW46OnNob3dQb3B1cE1lbnUoY29uc3QgSW50UmVjdCYgcmVj
dCwgVGV4dERpcmVjdGlvbiwgZG91CiAgICAgbV9zaG93UG9wdXAgPSBmYWxzZTsKICAgICA6OlNo
b3dXaW5kb3cobV9wb3B1cCwgU1dfSElERSk7CiAKLSAgICBpZiAobV9jbGllbnQpCi0gICAgICAg
IG1fY2xpZW50LT52YWx1ZUNoYW5nZWRGb3JQb3B1cE1lbnUodGhpcywgbV9uZXdTZWxlY3RlZElu
ZGV4KTsKKyAgICBpZiAoIW1fY2xpZW50KQorICAgICAgICByZXR1cm47CisKKyAgICBtX2NsaWVu
dC0+dmFsdWVDaGFuZ2VkRm9yUG9wdXBNZW51KHRoaXMsIG1fbmV3U2VsZWN0ZWRJbmRleCk7CisK
KyAgICAvLyA8aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU3OTA0PiBJ
biBvcmRlciB0byBwcm9wZXJseSBjYWxsIHRoZSBvbkNsaWNrKCkKKyAgICAvLyBoYW5kbGVyIG9u
IGEgPHNlbGVjdD4gZWxlbWVudCwgd2UgbmVlZCB0byBmYWtlIGEgbW91c2UgdXAgZXZlbnQgaW4g
dGhlIG1haW4gd2luZG93LgorICAgIC8vIFRoZSBtYWluIHdpbmRvdyBhbHJlYWR5IHJlY2VpdmVk
IHRoZSBtb3VzZSBkb3duLCB3aGljaCBzaG93ZWQgdGhpcyBwb3B1cCwgYnV0IHVwb24KKyAgICAv
LyBzZWxlY3Rpb24gb2YgYW4gaXRlbSB0aGUgbW91c2UgdXAgZ2V0cyBlYXRlbiBieSB0aGUgcG9w
dXAgbWVudS4gU28gd2UgdGFrZSB0aGUgbW91c2UgZG93bgorICAgIC8vIGV2ZW50LCBjaGFuZ2Ug
dGhlIG1lc3NhZ2UgdHlwZSB0byBhIG1vdXNlIHVwIGV2ZW50LCBhbmQgcG9zdCB0aGF0IGluIHRo
ZSBtZXNzYWdlIHF1ZXVlLgorICAgIC8vIFRodXMsIHdlIGFyZSB2aXJ0dWFsbHkgY2xpY2tpbmcg
YXQgdGhlCisgICAgLy8gc2FtZSBsb2NhdGlvbiB3aGVyZSB0aGUgbW91c2UgZG93biBldmVudCBv
Y2N1cnJlZC4gVGhpcyBhbGxvd3MgdGhlIGhpdCB0ZXN0IHRvIHNlbGVjdAorICAgIC8vIHRoZSBj
b3JyZWN0IGVsZW1lbnQsIGFuZCB0aGVyZWJ5IGNhbGwgdGhlIG9uQ2xpY2soKSBKUyBoYW5kbGVy
LgorICAgIGlmICghbV9jbGllbnQtPmN1cnJlbnRseVByb2Nlc3NlZE1vdXNlRG93bkV2ZW50KCkp
CisgICAgICAgIHJldHVybjsKKyAgICAgICAgCisgICAgY29uc3QgTVNHKiBpbml0aWF0aW5nV2lu
RXZlbnQgPSBtX2NsaWVudC0+Y3VycmVudGx5UHJvY2Vzc2VkTW91c2VEb3duRXZlbnQoKS0+bmF0
aXZlRXZlbnQoKTsKKyAgICBNU0cgZmFrZUV2ZW50ID0gKmluaXRpYXRpbmdXaW5FdmVudDsKKyAg
ICBmYWtlRXZlbnQubWVzc2FnZSA9IFdNX0xCVVRUT05VUDsKKyAgICA6OlBvc3RNZXNzYWdlKGZh
a2VFdmVudC5od25kLCBmYWtlRXZlbnQubWVzc2FnZSwgZmFrZUV2ZW50LndQYXJhbSwgZmFrZUV2
ZW50LmxQYXJhbSk7CiB9CiAKIHZvaWQgV2ViUG9wdXBNZW51UHJveHlXaW46OmhpZGVQb3B1cE1l
bnUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3dpbi9XZWJWaWV3LmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy93aW4vV2ViVmlldy5jcHAKaW5kZXggNTRjZTll
NS4uOTdkZWY4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3dpbi9XZWJW
aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mvd2luL1dlYlZpZXcuY3BwCkBA
IC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiRmluZEluZGljYXRvci5oIgogI2luY2x1ZGUgIkxv
Z2dpbmcuaCIKICNpbmNsdWRlICJOYXRpdmVXZWJLZXlib2FyZEV2ZW50LmgiCisjaW5jbHVkZSAi
TmF0aXZlV2ViTW91c2VFdmVudC5oIgogI2luY2x1ZGUgIlJlZ2lvbi5oIgogI2luY2x1ZGUgIlJ1
bkxvb3AuaCIKICNpbmNsdWRlICJXS0FQSUNhc3QuaCIKQEAgLTM4Nyw3ICszODgsNyBAQCB2b2lk
IFdlYlZpZXc6OndpbmRvd0FuY2VzdHJ5RGlkQ2hhbmdlKCkKIAogTFJFU1VMVCBXZWJWaWV3Ojpv
bk1vdXNlRXZlbnQoSFdORCBoV25kLCBVSU5UIG1lc3NhZ2UsIFdQQVJBTSB3UGFyYW0sIExQQVJB
TSBsUGFyYW0sIGJvb2wmIGhhbmRsZWQpCiB7Ci0gICAgV2ViTW91c2VFdmVudCBtb3VzZUV2ZW50
ID0gV2ViRXZlbnRGYWN0b3J5OjpjcmVhdGVXZWJNb3VzZUV2ZW50KGhXbmQsIG1lc3NhZ2UsIHdQ
YXJhbSwgbFBhcmFtLCBtX3dhc0FjdGl2YXRlZEJ5TW91c2VFdmVudCk7CisgICAgTmF0aXZlV2Vi
TW91c2VFdmVudCBtb3VzZUV2ZW50ID0gTmF0aXZlV2ViTW91c2VFdmVudChoV25kLCBtZXNzYWdl
LCB3UGFyYW0sIGxQYXJhbSwgbV93YXNBY3RpdmF0ZWRCeU1vdXNlRXZlbnQpOwogICAgIHNldFdh
c0FjdGl2YXRlZEJ5TW91c2VFdmVudChmYWxzZSk7CiAgICAgCiAgICAgc3dpdGNoIChtZXNzYWdl
KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnBybyBiL1NvdXJjZS9XZWJL
aXQyL1dlYktpdDIucHJvCmluZGV4IDhiNzEyZmYuLjQ3YTFlYmMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYktpdDIucHJvCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIucHJvCkBA
IC0xMjMsNiArMTIzLDcgQEAgSEVBREVSUyArPSBcCiAgICAgU2hhcmVkL011dGFibGVBcnJheS5o
IFwKICAgICBTaGFyZWQvTXV0YWJsZURpY3Rpb25hcnkuaCBcCiAgICAgU2hhcmVkL05hdGl2ZVdl
YktleWJvYXJkRXZlbnQuaCBcCisgICAgU2hhcmVkL05hdGl2ZVdlYk1vdXNlRXZlbnQuaCBcCiAg
ICAgU2hhcmVkL09yaWdpbkFuZERhdGFiYXNlcy5oIFwKICAgICBTaGFyZWQvUGxhdGZvcm1Qb3B1
cE1lbnVEYXRhLmggXAogICAgIFNoYXJlZC9QcmludEluZm8uaCBcCkBAIC0zNjMsNiArMzY0LDcg
QEAgU09VUkNFUyArPSBcCiAgICAgU2hhcmVkL1dlYldoZWVsRXZlbnQuY3BwIFwKICAgICBTaGFy
ZWQvcXQvU2hhcmVhYmxlQml0bWFwUXQuY3BwIFwKICAgICBTaGFyZWQvcXQvTmF0aXZlV2ViS2V5
Ym9hcmRFdmVudFF0LmNwcCBcCisgICAgU2hhcmVkL3F0L05hdGl2ZVdlYk1vdXNlRXZlbnRRdC5j
cHAgXAogICAgIFNoYXJlZC9xdC9VcGRhdGVDaHVuay5jcHAgXAogICAgIFNoYXJlZC9xdC9XZWJD
b3JlQXJndW1lbnRDb2RlcnNRdC5jcHAgXAogICAgIFNoYXJlZC9xdC9XZWJFdmVudEZhY3RvcnlR
dC5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IGUzNGVkNmIuLjVlZjk5NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTIzNiw2ICsyMzYsNyBAQAogCQkx
Q0E4Qjk1NDEyN0M4OTE1MDA1NzZDMkIgLyogV2ViSW5zcGVjdG9yTWFjLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUM4RTJEQUQxMjc4QzVCMjAwQkM3
QkQwIC8qIFdlYkluc3BlY3Rvck1hYy5tbSAqLzsgfTsKIAkJMjlDRDU1QUExMjhFMjk0RjAwMTMz
Qzg1IC8qIEFjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUNENTVBODEyOEUyOTRGMDAxMzNDODUgLyogQWNj
ZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3QuaCAqLzsgfTsKIAkJMjlDRDU1QUIxMjhFMjk0RjAwMTMz
Qzg1IC8qIEFjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjlDRDU1QTkxMjhFMjk0RjAwMTMzQzg1IC8qIEFj
Y2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0Lm1tICovOyB9OworCQkzMUVBMjVEMjEzNEY3OEMwMDA1
QjE0NTIgLyogTmF0aXZlV2ViTW91c2VFdmVudE1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRUEyNUQwMTM0Rjc4QjIwMDVCMTQ1MiAvKiBOYXRp
dmVXZWJNb3VzZUV2ZW50TWFjLm1tICovOyB9OwogCQkzMzA5MzQ0NzEzMTVCOTIyMDA5N0E3QkMg
LyogV2ViQ29va2llTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMzA5MzQ0MzEzMTVCOTIyMDA5N0E3QkMgLyog
V2ViQ29va2llTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CiAJCTMzMDkzNDQ4MTMx
NUI5MjIwMDk3QTdCQyAvKiBXZWJDb29raWVNYW5hZ2VyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMzMDkzNDQ0MTMxNUI5MjIwMDk3QTdC
QyAvKiBXZWJDb29raWVNYW5hZ2VyTWVzc2FnZXMuaCAqLzsgfTsKIAkJMzMwOTM0NDkxMzE1Qjky
MjAwOTdBN0JDIC8qIFdlYkNvb2tpZU1hbmFnZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMzA5MzQ0NTEzMTVC
OTIyMDA5N0E3QkMgLyogV2ViQ29va2llTWFuYWdlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAq
LzsgfTsKQEAgLTExMTYsNiArMTExNyw4IEBACiAJCTFDQThCOTQ0MTI3Qzg4MkEwMDU3NkMyQiAv
KiBXZWJJbnNwZWN0b3JQcm94eU1lc3NhZ2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFdlYkluc3BlY3RvclByb3h5TWVzc2FnZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMjlDRDU1QTgxMjhFMjk0RjAwMTMzQzg1IC8qIEFjY2Vzc2liaWxpdHlXZWJQYWdl
T2JqZWN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlX
ZWJQYWdlT2JqZWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5Q0Q1NUE5MTI4
RTI5NEYwMDEzM0M4NSAvKiBBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdC5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUVBMjVEMDEzNEY3OEIyMDA1QjE0
NTIgLyogTmF0aXZlV2ViTW91c2VFdmVudE1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IE5h
dGl2ZVdlYk1vdXNlRXZlbnRNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMx
RUEyNUQzMTM0Rjc4RDYwMDVCMTQ1MiAvKiBOYXRpdmVXZWJNb3VzZUV2ZW50LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5hdGl2ZVdlYk1vdXNlRXZlbnQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzJEQkNGNUUwMzcwQURFRTAwQzkxNzgzIC8qIFdlYktpdDJQ
cmVmaXguaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViS2l0MlByZWZpeC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMzA5MzQ0MzEzMTVCOTIyMDA5N0E3QkMg
LyogV2ViQ29va2llTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBXZWJDb29raWVNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzMwOTM0NDQxMzE1QjkyMjAwOTdBN0JDIC8q
IFdlYkNvb2tpZU1hbmFnZXJNZXNzYWdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBXZWJDb29raWVNYW5hZ2VyTWVzc2FnZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTIwNjksNiArMjA3Miw3IEBACiAJCQkJQkNCMEFFRTgxMjJGNTNFMzAwQjEzNDFFIC8q
IE11dGFibGVEaWN0aW9uYXJ5LmNwcCAqLywKIAkJCQlCQ0IwQUVFNzEyMkY1M0UzMDBCMTM0MUUg
LyogTXV0YWJsZURpY3Rpb25hcnkuaCAqLywKIAkJCQlDMDJCRkYxNTEyNTE0RkQ4MDA5Q0NCRUEg
LyogTmF0aXZlV2ViS2V5Ym9hcmRFdmVudC5oICovLAorCQkJCTMxRUEyNUQzMTM0Rjc4RDYwMDVC
MTQ1MiAvKiBOYXRpdmVXZWJNb3VzZUV2ZW50LmggKi8sCiAJCQkJQkNDRjY3MzIxMkM3RjE1QzAw
OEY5QzM1IC8qIE9yaWdpbkFuZERhdGFiYXNlcy5jcHAgKi8sCiAJCQkJQkNDRjY3MkMxMkM3RURG
NzAwOEY5QzM1IC8qIE9yaWdpbkFuZERhdGFiYXNlcy5oICovLAogCQkJCUJDQzQzQUI4MTI3Qjk1
REMwMDMxN0YxNiAvKiBQbGF0Zm9ybVBvcHVwTWVudURhdGEuY3BwICovLApAQCAtMjc3NSw2ICsy
Nzc5LDcgQEAKIAkJCQkxQTk2MzlGNTEyRjM4RUNEMDA3OEEwNjIgLyogQ29yZUFuaW1hdGlvblJl
bmRlcmVyLmggKi8sCiAJCQkJMUE5NjM5RjYxMkYzOEVDRDAwNzhBMDYyIC8qIENvcmVBbmltYXRp
b25SZW5kZXJlci5tbSAqLywKIAkJCQkxQTkyREMxMjEyRjhCQUI5MDAxN0FGNjUgLyogTGF5ZXJU
cmVlQ29udGV4dE1hYy5tbSAqLywKKwkJCQkzMUVBMjVEMDEzNEY3OEIyMDA1QjE0NTIgLyogTmF0
aXZlV2ViTW91c2VFdmVudE1hYy5tbSAqLywKIAkJCQlDMDJCRkYxRDEyNTE1MDJFMDA5Q0NCRUEg
LyogTmF0aXZlV2ViS2V5Ym9hcmRFdmVudE1hYy5tbSAqLywKIAkJCQlDNTc0QTU3RjEyRTY2Njgx
MDAyREZFOTggLyogUGFzdGVib2FyZFR5cGVzLmggKi8sCiAJCQkJQzU3NEE1ODAxMkU2NjY4MTAw
MkRGRTk4IC8qIFBhc3RlYm9hcmRUeXBlcy5tbSAqLywKQEAgLTQzMDcsNiArNDMxMiw3IEBACiAJ
CQkJNTE4MzQ1OTIxMzQ1MzJFOTAwOTJCNjk2IC8qIFdlYkljb25EYXRhYmFzZUNsaWVudC5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlFMUEzMTczNTEzNENFQTgwMDA3QzlBNEYgLyogQXR0cmlidXRl
ZFN0cmluZy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUUxNzlGRDlGMTM0RDM4MjUwMDE1Qjg4MyAv
KiBBcmd1bWVudENvZGVyc01hYy5tbSBpbiBTb3VyY2VzICovLAorCQkJCTMxRUEyNUQyMTM0Rjc4
QzAwMDVCMTQ1MiAvKiBOYXRpdmVXZWJNb3VzZUV2ZW50TWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2ogYi9Tb3VyY2UvV2Vi
S2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2oKaW5kZXggMDRlZWFiZi4uZTg2ODMxOCAxMDA3NTUKLS0t
IGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQy
L3dpbi9XZWJLaXQyLnZjcHJvagpAQCAtNDgzLDYgKzQ4MywxMCBAQAogCQkJCT4KIAkJCTwvRmls
ZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxTaGFyZWRcTmF0aXZlV2ViTW91c2VF
dmVudC5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIu
LlxTaGFyZWRcT3JpZ2luQW5kRGF0YWJhc2VzLmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CkBAIC0x
MTk0LDYgKzExOTgsNjQgQEAKIAkJCQkJPgogCQkJCTwvRmlsZT4KIAkJCQk8RmlsZQorCQkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXFNoYXJlZFx3aW5cTmF0aXZlV2ViTW91c2VFdmVudFdpbi5jcHAiCisJ
CQkJCT4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIK
KwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJ
CQkJCQlPYmplY3RGaWxlPSIkKEludERpcilcJChJbnB1dE5hbWUpMS5vYmoiCisJCQkJCQkJWE1M
RG9jdW1lbnRhdGlvbkZpbGVOYW1lPSIkKEludERpcilcJChJbnB1dE5hbWUpMS54ZGMiCisJCQkJ
CQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24K
KwkJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkJT2JqZWN0RmlsZT0iJChJbnREaXIpXCQo
SW5wdXROYW1lKTEub2JqIgorCQkJCQkJCVhNTERvY3VtZW50YXRpb25GaWxlTmFtZT0iJChJbnRE
aXIpXCQoSW5wdXROYW1lKTEueGRjIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxp
dGV8V2luMzIiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxl
clRvb2wiCisJCQkJCQkJT2JqZWN0RmlsZT0iJChJbnREaXIpXCQoSW5wdXROYW1lKTEub2JqIgor
CQkJCQkJCVhNTERvY3VtZW50YXRpb25GaWxlTmFtZT0iJChJbnREaXIpXCQoSW5wdXROYW1lKTEu
eGRjIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25m
aWd1cmF0aW9uCisJCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJ
CT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCQlP
YmplY3RGaWxlPSIkKEludERpcilcJChJbnB1dE5hbWUpMS5vYmoiCisJCQkJCQkJWE1MRG9jdW1l
bnRhdGlvbkZpbGVOYW1lPSIkKEludERpcilcJChJbnB1dE5hbWUpMS54ZGMiCisJCQkJCQkvPgor
CQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJ
CU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCQlPYmplY3RGaWxlPSIkKEludERpcilcJChJbnB1
dE5hbWUpMS5vYmoiCisJCQkJCQkJWE1MRG9jdW1lbnRhdGlvbkZpbGVOYW1lPSIkKEludERpcilc
JChJbnB1dE5hbWUpMS54ZGMiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgor
CQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCisJ
CQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJ
CQkJT2JqZWN0RmlsZT0iJChJbnREaXIpXCQoSW5wdXROYW1lKTEub2JqIgorCQkJCQkJCVhNTERv
Y3VtZW50YXRpb25GaWxlTmFtZT0iJChJbnREaXIpXCQoSW5wdXROYW1lKTEueGRjIgorCQkJCQkJ
Lz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKIAkJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxTaGFyZWRcd2luXFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmNw
cCIKIAkJCQkJPgogCQkJCTwvRmlsZT4KLS0gCjEuNy40LjQKCg==
</data>
<flag name="review"
          id="82441"
          type_id="1"
          status="+"
          setter="andersca"
    />
    <flag name="commit-queue"
          id="82442"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
      

    </bug>

</bugzilla>