<?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>70248</bug_id>
          
          <creation_ts>2011-10-17 10:47:11 -0700</creation_ts>
          <short_desc>Pass a Frame* parameter in EditorClient::respondToChangedSelection</short_desc>
          <delta_ts>2011-11-20 19:35:21 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>HTML Editing</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>70253</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antonio Gomes">tonikitoo</reporter>
          <assigned_to name="Antonio Gomes">tonikitoo</assigned_to>
          <cc>gustavo</cc>
    
    <cc>japhet</cc>
    
    <cc>kenneth</cc>
    
    <cc>mrobinson</cc>
    
    <cc>rakuco</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>485270</commentid>
    <comment_count>0</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2011-10-17 10:47:11 -0700</bug_when>
    <thetext>Most of the port specific implementations of EditorClient::respondToChangedSelection (like EditorClient{Qt,Gtk,etc}) are wrongly relying on FocusController::focusedOrMainFrame method to get the Frame where the selection is happening on.

It is not right, since a selection can be easily triggered in an inner frame that is not focused.

Patch coming...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485288</commentid>
    <comment_count>1</comment_count>
      <attachid>111284</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2011-10-17 11:09:56 -0700</bug_when>
    <thetext>Created attachment 111284
patch v1 - for EWS to build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485291</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-17 11:12:03 -0700</bug_when>
    <thetext>Attachment 111284 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/update-webkit&apos;, &apos;--chromium&apos;]&quot; exit_code: 2

Updating OpenSource
Current branch master is up to date.
Updating chromium port dependencies using gclient...
Error: Can&apos;t switch the checkout to http://v8.googlecode.com/svn/branches/3.6@9637; UUID don&apos;t match and there is local changes in /mnt/git/webkit-style-queue/Source/WebKit/chromium/v8. Delete the directory and try again.
Re-trying &apos;depot_tools/gclient sync&apos;
Error: Can&apos;t switch the checkout to http://v8.googlecode.com/svn/branches/3.6@9637; UUID don&apos;t match and there is local changes in /mnt/git/webkit-style-queue/Source/WebKit/chromium/v8. Delete the directory and try again.
Re-trying &apos;depot_tools/gclient sync&apos;
Error: Can&apos;t switch the checkout to http://v8.googlecode.com/svn/branches/3.6@9637; UUID don&apos;t match and there is local changes in /mnt/git/webkit-style-queue/Source/WebKit/chromium/v8. Delete the directory and try again.
Error: &apos;depot_tools/gclient sync&apos; failed 3 tries and returned 256 at Tools/Scripts/update-webkit-chromium line 107.
Re-trying &apos;depot_tools/gclient sync&apos;
No such file or directory at Tools/Scripts/update-webkit line 104.


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485299</commentid>
    <comment_count>3</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2011-10-17 11:15:09 -0700</bug_when>
    <thetext>cc&apos;ed some port peers to be aware of the patch (and maybe review port specific parts effected).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485300</commentid>
    <comment_count>4</comment_count>
      <attachid>111284</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-10-17 11:16:09 -0700</bug_when>
    <thetext>Comment on attachment 111284
patch v1 - for EWS to build

Attachment 111284 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/10085426</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485309</commentid>
    <comment_count>5</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2011-10-17 11:23:30 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 111284 [details])
&gt; Attachment 111284 [details] did not pass efl-ews (efl):
&gt; Output: http://queues.webkit.org/results/10085426

bleh, obvious errors :/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485352</commentid>
    <comment_count>6</comment_count>
      <attachid>111296</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2011-10-17 12:07:25 -0700</bug_when>
    <thetext>Created attachment 111296
patch v1.1 - for EWS to build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485356</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-17 12:09:09 -0700</bug_when>
    <thetext>Attachment 111296 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/update-webkit&apos;, &apos;--chromium&apos;]&quot; exit_code: 2

Updating OpenSource
Current branch master is up to date.
Updating chromium port dependencies using gclient...
Error: Can&apos;t switch the checkout to http://v8.googlecode.com/svn/branches/3.6@9637; UUID don&apos;t match and there is local changes in /mnt/git/webkit-style-queue/Source/WebKit/chromium/v8. Delete the directory and try again.
Re-trying &apos;depot_tools/gclient sync&apos;
Error: Can&apos;t switch the checkout to http://v8.googlecode.com/svn/branches/3.6@9637; UUID don&apos;t match and there is local changes in /mnt/git/webkit-style-queue/Source/WebKit/chromium/v8. Delete the directory and try again.
Re-trying &apos;depot_tools/gclient sync&apos;
Error: Can&apos;t switch the checkout to http://v8.googlecode.com/svn/branches/3.6@9637; UUID don&apos;t match and there is local changes in /mnt/git/webkit-style-queue/Source/WebKit/chromium/v8. Delete the directory and try again.
Error: &apos;depot_tools/gclient sync&apos; failed 3 tries and returned 256 at Tools/Scripts/update-webkit-chromium line 107.
Re-trying &apos;depot_tools/gclient sync&apos;
No such file or directory at Tools/Scripts/update-webkit line 104.


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485359</commentid>
    <comment_count>8</comment_count>
      <attachid>111296</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-10-17 12:12:01 -0700</bug_when>
    <thetext>Comment on attachment 111296
patch v1.1 - for EWS to build

Attachment 111296 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/10098355</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485363</commentid>
    <comment_count>9</comment_count>
      <attachid>111297</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2011-10-17 12:16:52 -0700</bug_when>
    <thetext>Created attachment 111297
patch v1.2 - for EWS to build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485364</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-17 12:17:58 -0700</bug_when>
    <thetext>Attachment 111297 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/update-webkit&apos;, &apos;--chromium&apos;]&quot; exit_code: 2

Updating OpenSource
Current branch master is up to date.
Updating chromium port dependencies using gclient...
Error: Can&apos;t switch the checkout to http://v8.googlecode.com/svn/branches/3.6@9637; UUID don&apos;t match and there is local changes in /mnt/git/webkit-style-queue/Source/WebKit/chromium/v8. Delete the directory and try again.
Re-trying &apos;depot_tools/gclient sync&apos;
Error: Can&apos;t switch the checkout to http://v8.googlecode.com/svn/branches/3.6@9637; UUID don&apos;t match and there is local changes in /mnt/git/webkit-style-queue/Source/WebKit/chromium/v8. Delete the directory and try again.
Re-trying &apos;depot_tools/gclient sync&apos;
Error: Can&apos;t switch the checkout to http://v8.googlecode.com/svn/branches/3.6@9637; UUID don&apos;t match and there is local changes in /mnt/git/webkit-style-queue/Source/WebKit/chromium/v8. Delete the directory and try again.
Error: &apos;depot_tools/gclient sync&apos; failed 3 tries and returned 256 at Tools/Scripts/update-webkit-chromium line 107.
Re-trying &apos;depot_tools/gclient sync&apos;
No such file or directory at Tools/Scripts/update-webkit line 104.


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485372</commentid>
    <comment_count>11</comment_count>
      <attachid>111297</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-10-17 12:21:22 -0700</bug_when>
    <thetext>Comment on attachment 111297
patch v1.2 - for EWS to build

Attachment 111297 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/10086572</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485391</commentid>
    <comment_count>12</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2011-10-17 12:31:53 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Attachment 111297 [details] did not pass style-queue:
&gt; 
&gt; Failed to run &quot;[&apos;Tools/Scripts/update-webkit&apos;, &apos;--chromium&apos;]&quot; exit_code: 2
&gt; 
&gt; Updating OpenSource
&gt; Current branch master is up to date.
&gt; Updating chromium port dependencies using gclient...
&gt; Error: Can&apos;t switch the checkout to http://v8.googlecode.com/svn/branches/3.6@9637; UUID don&apos;t match and there is local changes in /mnt/git/webkit-style-queue/Source/WebKit/chromium/v8. Delete the directory and try again.
&gt; Re-trying &apos;depot_tools/gclient sync&apos;
&gt; Error: Can&apos;t switch the checkout to http://v8.googlecode.com/svn/branches/3.6@9637; UUID don&apos;t match and there is local changes in /mnt/git/webkit-style-queue/Source/WebKit/chromium/v8. Delete the directory and try again.
&gt; Re-trying &apos;depot_tools/gclient sync&apos;
&gt; Error: Can&apos;t switch the checkout to http://v8.googlecode.com/svn/branches/3.6@9637; UUID don&apos;t match and there is local changes in /mnt/git/webkit-style-queue/Source/WebKit/chromium/v8. Delete the directory and try again.
&gt; Error: &apos;depot_tools/gclient sync&apos; failed 3 tries and returned 256 at Tools/Scripts/update-webkit-chromium line 107.
&gt; Re-trying &apos;depot_tools/gclient sync&apos;
&gt; No such file or directory at Tools/Scripts/update-webkit line 104.
&gt; 
&gt; 
&gt; If any of these errors are false positives, please file a bug against check-webkit-style.

Ignore this.


(In reply to comment #11)
&gt; (From update of attachment 111297 [details])
&gt; Attachment 111297 [details] did not pass efl-ews (efl):
&gt; Output: http://queues.webkit.org/results/10086572

And this :) it is bug 70253</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485409</commentid>
    <comment_count>13</comment_count>
      <attachid>111297</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-10-17 12:51:45 -0700</bug_when>
    <thetext>Comment on attachment 111297
patch v1.2 - for EWS to build

This is wrong. The editor client is per-frame and so can store a Frame* if needed. It’s not a per-Page thing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485412</commentid>
    <comment_count>14</comment_count>
      <attachid>111297</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-10-17 12:56:41 -0700</bug_when>
    <thetext>Comment on attachment 111297
patch v1.2 - for EWS to build

Oops, my bad, it is per-Page, not per-Frame!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485427</commentid>
    <comment_count>15</comment_count>
      <attachid>111297</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-10-17 13:05:45 -0700</bug_when>
    <thetext>Comment on attachment 111297
patch v1.2 - for EWS to build

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

&gt; Source/WebCore/ChangeLog:4
&gt; +

Missing bug url.

&gt; Source/WebCore/ChangeLog:19
&gt; +        * editing/Editor.cpp: Pass the Frame on where the selection is
&gt; +		changing to the client.

It seems like this can fit in on line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485469</commentid>
    <comment_count>16</comment_count>
      <attachid>111314</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2011-10-17 13:45:43 -0700</bug_when>
    <thetext>Created attachment 111314
patch v1.3 - for EWS to build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485474</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-17 13:48:07 -0700</bug_when>
    <thetext>Attachment 111314 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/update-webkit&apos;, &apos;--chromium&apos;]&quot; exit_code: 2

Updating OpenSource
Current branch master is up to date.
Updating chromium port dependencies using gclient...
Error: Can&apos;t switch the checkout to http://v8.googlecode.com/svn/branches/3.6@9637; UUID don&apos;t match and there is local changes in /mnt/git/webkit-style-queue/Source/WebKit/chromium/v8. Delete the directory and try again.
Re-trying &apos;depot_tools/gclient sync&apos;
Error: Can&apos;t switch the checkout to http://v8.googlecode.com/svn/branches/3.6@9637; UUID don&apos;t match and there is local changes in /mnt/git/webkit-style-queue/Source/WebKit/chromium/v8. Delete the directory and try again.
Re-trying &apos;depot_tools/gclient sync&apos;
Error: Can&apos;t switch the checkout to http://v8.googlecode.com/svn/branches/3.6@9637; UUID don&apos;t match and there is local changes in /mnt/git/webkit-style-queue/Source/WebKit/chromium/v8. Delete the directory and try again.
Error: &apos;depot_tools/gclient sync&apos; failed 3 tries and returned 256 at Tools/Scripts/update-webkit-chromium line 107.
Re-trying &apos;depot_tools/gclient sync&apos;
No such file or directory at Tools/Scripts/update-webkit line 104.


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485539</commentid>
    <comment_count>18</comment_count>
      <attachid>111314</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-10-17 15:02:44 -0700</bug_when>
    <thetext>Comment on attachment 111314
patch v1.3 - for EWS to build

Attachment 111314 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/10106277</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485755</commentid>
    <comment_count>19</comment_count>
      <attachid>111372</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2011-10-17 20:05:40 -0700</bug_when>
    <thetext>Created attachment 111372
patch v1.4 - for review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>486027</commentid>
    <comment_count>20</comment_count>
      <attachid>111439</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2011-10-18 07:05:09 -0700</bug_when>
    <thetext>Created attachment 111439
patch 1.5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>486112</commentid>
    <comment_count>21</comment_count>
      <attachid>111439</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-10-18 09:47:15 -0700</bug_when>
    <thetext>Comment on attachment 111439
patch 1.5

Hopefully it won&apos;t break any tests on any port.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>486330</commentid>
    <comment_count>22</comment_count>
      <attachid>111439</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2011-10-18 15:01:10 -0700</bug_when>
    <thetext>Comment on attachment 111439
patch 1.5

Attachment 111439 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/10138094</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>486525</commentid>
    <comment_count>23</comment_count>
      <attachid>111553</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2011-10-18 19:23:29 -0700</bug_when>
    <thetext>Created attachment 111553
patch 1.6</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>486750</commentid>
    <comment_count>24</comment_count>
      <attachid>111610</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2011-10-19 07:05:03 -0700</bug_when>
    <thetext>Created attachment 111610
(landed as r100874) - patch 1.7 - for EWS (r=rniwa)- do not review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>487802</commentid>
    <comment_count>25</comment_count>
      <attachid>111610</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2011-10-20 12:57:43 -0700</bug_when>
    <thetext>Comment on attachment 111610
(landed as r100874) - patch 1.7 - for EWS (r=rniwa)- do not review

landing it manually, just waiting for a green state on the bots</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>506663</commentid>
    <comment_count>26</comment_count>
      <attachid>111610</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2011-11-20 19:35:08 -0800</bug_when>
    <thetext>Comment on attachment 111610
(landed as r100874) - patch 1.7 - for EWS (r=rniwa)- do not review

Clearing flags: r100874

&gt; git svn dcommit 
Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	Source/WebCore/ChangeLog
	M	Source/WebCore/editing/Editor.cpp
	M	Source/WebCore/loader/EmptyClients.h
	M	Source/WebCore/page/EditorClient.h
	M	Source/WebKit/chromium/ChangeLog
	M	Source/WebKit/chromium/src/EditorClientImpl.cpp
	M	Source/WebKit/chromium/src/EditorClientImpl.h
	M	Source/WebKit/efl/ChangeLog
	M	Source/WebKit/efl/WebCoreSupport/EditorClientEfl.cpp
	M	Source/WebKit/efl/WebCoreSupport/EditorClientEfl.h
	M	Source/WebKit/gtk/ChangeLog
	M	Source/WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp
	M	Source/WebKit/gtk/WebCoreSupport/EditorClientGtk.h
	M	Source/WebKit/mac/ChangeLog
	M	Source/WebKit/mac/WebCoreSupport/WebEditorClient.h
	M	Source/WebKit/mac/WebCoreSupport/WebEditorClient.mm
	M	Source/WebKit/qt/ChangeLog
	M	Source/WebKit/qt/WebCoreSupport/EditorClientQt.cpp
	M	Source/WebKit/qt/WebCoreSupport/EditorClientQt.h
	M	Source/WebKit/win/ChangeLog
	M	Source/WebKit/win/WebCoreSupport/WebEditorClient.cpp
	M	Source/WebKit/win/WebCoreSupport/WebEditorClient.h
	M	Source/WebKit/wx/ChangeLog
	M	Source/WebKit/wx/WebKitSupport/EditorClientWx.cpp
	M	Source/WebKit/wx/WebKitSupport/EditorClientWx.h
	M	Source/WebKit2/ChangeLog
	M	Source/WebKit2/WebProcess/WebCoreSupport/WebEditorClient.cpp
	M	Source/WebKit2/WebProcess/WebCoreSupport/WebEditorClient.h
Committed r100874
	M	Source/WebKit/chromium/ChangeLog
	M	Source/WebKit/chromium/src/EditorClientImpl.cpp
	M	Source/WebKit/chromium/src/EditorClientImpl.h
	M	Source/WebKit/qt/WebCoreSupport/EditorClientQt.h
	M	Source/WebKit/qt/WebCoreSupport/EditorClientQt.cpp
	M	Source/WebKit/qt/ChangeLog
	M	Source/WebKit/gtk/WebCoreSupport/EditorClientGtk.h
	M	Source/WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp
	M	Source/WebKit/gtk/ChangeLog
	M	Source/WebKit/win/ChangeLog
	M	Source/WebKit/win/WebCoreSupport/WebEditorClient.cpp
	M	Source/WebKit/win/WebCoreSupport/WebEditorClient.h
	M	Source/WebKit/wx/WebKitSupport/EditorClientWx.cpp
	M	Source/WebKit/wx/WebKitSupport/EditorClientWx.h
	M	Source/WebKit/wx/ChangeLog
	M	Source/WebKit/mac/WebCoreSupport/WebEditorClient.mm
	M	Source/WebKit/mac/WebCoreSupport/WebEditorClient.h
	M	Source/WebKit/mac/ChangeLog
	M	Source/WebKit/efl/WebCoreSupport/EditorClientEfl.cpp
	M	Source/WebKit/efl/WebCoreSupport/EditorClientEfl.h
	M	Source/WebKit/efl/ChangeLog
	M	Source/WebCore/editing/Editor.cpp
	M	Source/WebCore/ChangeLog
	M	Source/WebCore/page/EditorClient.h
	M	Source/WebCore/loader/EmptyClients.h
	M	Source/WebKit2/ChangeLog
	M	Source/WebKit2/WebProcess/WebCoreSupport/WebEditorClient.cpp
	M	Source/WebKit2/WebProcess/WebCoreSupport/WebEditorClient.h
r100874 = fdc7310332b67a164b63d03c3412604b5ea7a296 (refs/remotes/trunk)
No changes between current HEAD and refs/remotes/trunk
Resetting to the latest refs/remotes/trunk</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111284</attachid>
            <date>2011-10-17 11:09:56 -0700</date>
            <delta_ts>2011-10-17 12:07:25 -0700</delta_ts>
            <desc>patch v1 - for EWS to build</desc>
            <filename>0001-2011-10-17-Antonio-Gomes-agomes-rim.com.patch</filename>
            <type>text/plain</type>
            <size>26375</size>
            <attacher name="Antonio Gomes">tonikitoo</attacher>
            
              <data encoding="base64">RnJvbSA1ZjBhMTA2NzQzNGNmNWFjOTg1ZjNmZjQ5NjNkOWYzYzlmYzA5MjYwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRvbmlvIEdvbWVzIDxhZ29tZXNAcmltLmNvbT4KRGF0ZTog
TW9uLCAxNyBPY3QgMjAxMSAxMzo1MjoyNCAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIDIwMTEtMTAt
MTcgIEFudG9uaW8gR29tZXMgIDxhZ29tZXNAcmltLmNvbT4KCiAgICAgICAgUGFzcyBhIEZyYW1l
KiBwYXJhbWV0ZXIgaW4gRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uCgog
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICBNb3N0IG9mIHRoZSBw
b3J0IHNwZWNpZmljIGltcGxlbWVudGF0aW9ucyBvZiBFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0No
YW5nZWRTZWxlY3Rpb24KICAgICAgICAobGlrZSBFZGl0b3JDbGllbnR7UXQsR3RrLGV0Y30pIGFy
ZSB3cm9uZ2x5IHJlbHlpbmcgb24gRm9jdXNDb250cm9sbGVyOjpmb2N1c2VkT3JNYWluRnJhbWUK
ICAgICAgICBtZXRob2QgdG8gZ2V0IHRoZSBGcmFtZSB3aGVyZSB0aGUgc2VsZWN0aW9uIGlzIGhh
cHBlbmluZyBvbi4KCiAgICAgICAgSXQgaXMgbm90IHJpZ2h0LCBzaW5jZSBhIHNlbGVjdGlvbiBj
YW4gYmUgZWFzaWx5IHRyaWdnZXJlZCBpbiBhbiBpbm5lcgogICAgICAgIGZyYW1lIHRoYXQgaXMg
bm90IGZvY3VzZWQuCgogICAgICAgIE5vIG5ldyB0ZXN0cyBzaW5jZSBpdCBpcyBhIGhhcmQgdGhp
bmcgdG8gdGVzdCB3aXRob3V0CiAgICAgICAgdG8gaG9vayBpbnRvIGVkaXRvciBjbGllbnQgaW4g
bGF5b3V0IHRlc3RzLiBXZSBjb3VsZAogICAgICAgIGNoYW5nZSB0aGUgIkR1bXBlZCBEZWxlZ2F0
ZSIgbWVzc2FnZXMsIGJ1dCBpdCB3b3VsZAogICAgICAgIHJlcXVpcmUgYSByZWJhc2lsZSBvZiAr
MTIwMCBmb3IgYSBtaW5vciBjaGFuZ2UuCgogICAgICAgIFNvdXJjZS9XZWJLaXQvY2hyb21pdW06
CiAgICAgICAgKiBzcmMvRWRpdG9yQ2xpZW50SW1wbC5jcHA6CiAgICAgICAgKFdlYktpdDo6RWRp
dG9yQ2xpZW50SW1wbDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbik6CiAgICAgICAgKiBzcmMv
RWRpdG9yQ2xpZW50SW1wbC5oOgoKICAgICAgICBTb3VyY2UvV2ViS2l0L2VmbDoKICAgICAgICAq
IFdlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEVmbC5jcHA6CiAgICAgICAgKFdlYkNvcmU6OkVk
aXRvckNsaWVudEVmbDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbik6CiAgICAgICAgKiBXZWJD
b3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuaDoKCiAgICAgICAgU291cmNlL1dlYktpdC9ndGs6
CiAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuY3BwOgogICAgICAgIChX
ZWJLaXQ6OkVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbik6CiAgICAgICAg
KiBXZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuaDoKCiAgICAgICAgU291cmNlL1dlYktp
dC9tYWM6CiAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuaDoKICAgICAg
ICAqIFdlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5tbToKICAgICAgICAoV2ViRWRpdG9y
Q2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKToKCiAgICAgICAgU291cmNlL1dlYktp
dC9xdDoKICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudFF0LmNwcDoKICAgICAg
ICAoV2ViQ29yZTo6RWRpdG9yQ2xpZW50UXQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24pOgog
ICAgICAgICogV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50UXQuaDoKCiAgICAgICAgU291cmNl
L1dlYktpdC93aW46CiAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuY3Bw
OgogICAgICAgIChXZWJFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24pOgog
ICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50Lmg6CgogICAgICAgIFNvdXJj
ZS9XZWJLaXQvd3g6CiAgICAgICAgKiBXZWJLaXRTdXBwb3J0L0VkaXRvckNsaWVudFd4LmNwcDoK
ICAgICAgICAoV2ViQ29yZTo6RWRpdG9yQ2xpZW50V3g6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rp
b24pOgogICAgICAgICogV2ViS2l0U3VwcG9ydC9FZGl0b3JDbGllbnRXeC5oOgoKICAgICAgICBT
b3VyY2UvV2ViS2l0MjoKICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRWRp
dG9yQ2xpZW50LmNwcDoKICAgICAgICAoV2ViS2l0OjpXZWJFZGl0b3JDbGllbnQ6OnJlc3BvbmRU
b0NoYW5nZWRTZWxlY3Rpb24pOgogICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJFZGl0b3JDbGllbnQuaDoKCiAgICAgICAgU291cmNlL1dlYkNvcmU6CiAgICAgICAgKiBlZGl0
aW5nL0VkaXRvci5jcHA6CiAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6cmVzcG9uZFRvQ2hhbmdl
ZFNlbGVjdGlvbik6CiAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6Y2hhbmdlU2VsZWN0aW9uQWZ0
ZXJDb21tYW5kKToKICAgICAgICAqIGxvYWRlci9FbXB0eUNsaWVudHMuaDoKICAgICAgICAoV2Vi
Q29yZTo6RW1wdHlFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24pOgogICAg
ICAgICogcGFnZS9FZGl0b3JDbGllbnQuaDoKLS0tCiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMjUgKysrKysrKysrKysrKysrKysrKysKIFNv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcCAgICAgICAgICAgICAgICAgIHwgICAgNCAr
LQogU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oICAgICAgICAgICAgICAgfCAg
ICAyICstCiBTb3VyY2UvV2ViQ29yZS9wYWdlL0VkaXRvckNsaWVudC5oICAgICAgICAgICAgICAg
ICB8ICAgIDIgKy0KIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nICAgICAgICAgICAg
ICAgICAgIHwgICAxMCArKysrKysrKwogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRWRpdG9y
Q2xpZW50SW1wbC5jcHAgICAgfCAgICAzICstCiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9F
ZGl0b3JDbGllbnRJbXBsLmggICAgICB8ICAgIDMgKy0KIFNvdXJjZS9XZWJLaXQvZWZsL0NoYW5n
ZUxvZyAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxMCArKysrKysrKwogLi4uL1dlYktpdC9l
ZmwvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmNwcCAgfCAgIDE2ICsrKy0tLS0tLS0t
LQogU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmggfCAg
ICAyICstCiBTb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAg
ICB8ICAgMTAgKysrKysrKysKIC4uLi9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNs
aWVudEd0ay5jcHAgIHwgICAxOCArKysrKystLS0tLS0tLQogU291cmNlL1dlYktpdC9ndGsvV2Vi
Q29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmggfCAgICAyICstCiBTb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTAgKysrKysrKysKIFNvdXJj
ZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5oIHwgICAgMiArLQog
Li4uL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50Lm1tICAgfCAgICA0
ICstCiBTb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICB8
ICAgMTAgKysrKysrKysKIFNvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xp
ZW50UXQuY3BwIHwgICAgMyArLQogU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9FZGl0
b3JDbGllbnRRdC5oICAgfCAgICAyICstCiBTb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cgICAg
ICAgICAgICAgICAgICAgICAgICB8ICAgMTAgKysrKysrKysKIC4uLi9XZWJLaXQvd2luL1dlYkNv
cmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5jcHAgIHwgICAgMiArLQogU291cmNlL1dlYktpdC93
aW4vV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmggfCAgICAyICstCiBTb3VyY2UvV2Vi
S2l0L3d4L0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTAgKysrKysrKysK
IFNvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9FZGl0b3JDbGllbnRXeC5jcHAgIHwgICAg
MyArLQogU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0VkaXRvckNsaWVudFd4LmggICAg
fCAgICAyICstCiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAg
ICAgICB8ICAgMTAgKysrKysrKysKIC4uLi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkVk
aXRvckNsaWVudC5jcHAgIHwgICAgMyArLQogLi4uL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViRWRpdG9yQ2xpZW50LmggICAgfCAgICAyICstCiAyOCBmaWxlcyBjaGFuZ2VkLCAxMzcgaW5z
ZXJ0aW9ucygrKSwgNDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDdmYjBhZmMuLjUzNjdm
MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAxMS0xMC0xNyAgQW50b25pbyBHb21l
cyAgPGFnb21lc0ByaW0uY29tPgorCisgICAgICAgIFBhc3MgYSBGcmFtZSogcGFyYW1ldGVyIGlu
IEVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vc3Qgb2YgdGhlIHBvcnQgc3BlY2lm
aWMgaW1wbGVtZW50YXRpb25zIG9mIEVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVj
dGlvbgorICAgICAgICAobGlrZSBFZGl0b3JDbGllbnR7UXQsR3RrLGV0Y30pIGFyZSB3cm9uZ2x5
IHJlbHlpbmcgb24gRm9jdXNDb250cm9sbGVyOjpmb2N1c2VkT3JNYWluRnJhbWUKKyAgICAgICAg
bWV0aG9kIHRvIGdldCB0aGUgRnJhbWUgd2hlcmUgdGhlIHNlbGVjdGlvbiBpcyBoYXBwZW5pbmcg
b24uCisgICAgICAgIEl0IGlzIG5vdCByaWdodCwgc2luY2UgYSBzZWxlY3Rpb24gY2FuIGJlIGVh
c2lseSB0cmlnZ2VyZWQgaW4gYW4gaW5uZXIKKyAgICAgICAgZnJhbWUgdGhhdCBpcyBub3QgZm9j
dXNlZC4KKworICAgICAgICBObyBuZXcgdGVzdHMgc2luY2UgaXQgaXMgYSBoYXJkIHRoaW5nIHRv
IHRlc3Qgd2l0aG91dAorICAgICAgICB0byBob29rIGludG8gZWRpdG9yIGNsaWVudCBpbiBsYXlv
dXQgdGVzdHMuIFdlIGNvdWxkCisgICAgICAgIGNoYW5nZSB0aGUgIkR1bXBlZCBEZWxlZ2F0ZSIg
bWVzc2FnZXMsIGJ1dCBpdCB3b3VsZAorICAgICAgICByZXF1aXJlIGEgcmViYXNpbGUgb2YgKzEy
MDAgZm9yIGEgbWlub3IgY2hhbmdlLgorCisgICAgICAgICogZWRpdGluZy9FZGl0b3IuY3BwOiBQ
YXNzIHRoZSBGcmFtZSBvbiB3aGVyZSB0aGUgc2VsZWN0aW9uIGlzCisJCWNoYW5naW5nIHRvIHRo
ZSBjbGllbnQuCisgICAgICAgIChXZWJDb3JlOjpFZGl0b3I6OnJlc3BvbmRUb0NoYW5nZWRTZWxl
Y3Rpb24pOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6Y2hhbmdlU2VsZWN0aW9u
QWZ0ZXJDb21tYW5kKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpFbXB0eUVkaXRvckNsaWVu
dDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbik6CisgICAgICAgICogcGFnZS9FZGl0b3JDbGll
bnQuaDogIFBhc3MgRnJhbWUqIHRvIGluZGljYXRlIHdoZXJlIHRoZSBzZWxlY3Rpb24gaXMgaGFw
cGVuaW5nLgorICAgICAgICAqIGxvYWRlci9FbXB0eUNsaWVudHMuaDogQ2hhbmdlZCBzaWduYXR1
cmUgYXMgcGVyIGJhc2UgY2xhc3MgY2hhbmdlLgorCiAyMDExLTEwLTE2ICBBZGFtIEJhcnRoICA8
YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWx3YXlzIGVuYWJsZSBFTkFCTEUoRE9NX1NU
T1JBR0UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKaW5kZXggYjQ4YThiNS4uYTNhOTkwOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcApAQCAtNDkwLDcgKzQ5MCw3IEBAIGJvb2wgRWRp
dG9yOjpzaG91bGRTaG93RGVsZXRlSW50ZXJmYWNlKEhUTUxFbGVtZW50KiBlbGVtZW50KSBjb25z
dAogdm9pZCBFZGl0b3I6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oY29uc3QgVmlzaWJsZVNl
bGVjdGlvbiYgb2xkU2VsZWN0aW9uKQogewogICAgIGlmIChjbGllbnQoKSkKLSAgICAgICAgY2xp
ZW50KCktPnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oKTsKKyAgICAgICAgY2xpZW50KCktPnJl
c3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24obV9mcmFtZSk7CiAgICAgbV9kZWxldGVCdXR0b25Db250
cm9sbGVyLT5yZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKG9sZFNlbGVjdGlvbik7CiAgICAgbV9z
cGVsbGluZ0NvcnJlY3Rvci0+cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbihvbGRTZWxlY3Rpb24p
OwogfQpAQCAtMjY2MSw3ICsyNjYxLDcgQEAgdm9pZCBFZGl0b3I6OmNoYW5nZVNlbGVjdGlvbkFm
dGVyQ29tbWFuZChjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiBuZXdTZWxlY3Rpb24sIGIKICAgICAv
LyBkb2VzIG5vdCBjYWxsIEVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbigp
LCB3aGljaCwgb24gdGhlIE1hYywgc2VuZHMgc2VsZWN0aW9uIGNoYW5nZSBub3RpZmljYXRpb25z
IGFuZAogICAgIC8vIHN0YXJ0cyBhIG5ldyBraWxsIHJpbmcgc2VxdWVuY2UsIGJ1dCB3ZSB3YW50
IHRvIGRvIHRoZXNlIHRoaW5ncyAobWF0Y2hlcyBBcHBLaXQpLgogICAgIGlmIChzZWxlY3Rpb25E
aWROb3RDaGFuZ2VET01Qb3NpdGlvbikKLSAgICAgICAgY2xpZW50KCktPnJlc3BvbmRUb0NoYW5n
ZWRTZWxlY3Rpb24oKTsKKyAgICAgICAgY2xpZW50KCktPnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rp
b24obV9mcmFtZSk7CiB9CiAKIFN0cmluZyBFZGl0b3I6OnNlbGVjdGVkVGV4dCgpIGNvbnN0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmggYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKaW5kZXggNTMyZjQyNS4uMjUwY2YwZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaApAQCAtNDU5LDcgKzQ1OSw3IEBAIHB1Ymxp
YzoKICAgICAvLwogICAgIHZpcnR1YWwgdm9pZCBkaWRCZWdpbkVkaXRpbmcoKSB7IH0KICAgICB2
aXJ0dWFsIHZvaWQgcmVzcG9uZFRvQ2hhbmdlZENvbnRlbnRzKCkgeyB9Ci0gICAgdmlydHVhbCB2
b2lkIHJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgcmVz
cG9uZFRvQ2hhbmdlZFNlbGVjdGlvbihGcmFtZSopIHsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWRF
bmRFZGl0aW5nKCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZFdyaXRlU2VsZWN0aW9uVG9QYXN0
ZWJvYXJkKCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZFNldFNlbGVjdGlvblR5cGVzRm9yUGFz
dGVib2FyZCgpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FZGl0b3JDbGll
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRWRpdG9yQ2xpZW50LmgKaW5kZXggYTM3YzhiOS4u
YWZkMTg0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FZGl0b3JDbGllbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0VkaXRvckNsaWVudC5oCkBAIC05NCw3ICs5NCw3IEBA
IHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBkaWRCZWdpbkVkaXRpbmcoKSA9IDA7CiAgICAg
dmlydHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5nZWRDb250ZW50cygpID0gMDsKLSAgICB2aXJ0dWFs
IHZvaWQgcmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbigpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQg
cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbihGcmFtZSopID0gMDsKICAgICB2aXJ0dWFsIHZvaWQg
ZGlkRW5kRWRpdGluZygpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlkV3JpdGVTZWxlY3Rpb25U
b1Bhc3RlYm9hcmQoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpZFNldFNlbGVjdGlvblR5cGVz
Rm9yUGFzdGVib2FyZCgpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggMDMzOWNi
ZC4uYjk1ODRkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAor
MjAxMS0xMC0xNyAgQW50b25pbyBHb21lcyAgPGFnb21lc0ByaW0uY29tPgorCisgICAgICAgIFBh
c3MgYSBGcmFtZSogcGFyYW1ldGVyIGluIEVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZFNl
bGVjdGlvbgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogc3JjL0VkaXRvckNsaWVudEltcGwuY3BwOiBNYWtlIHVzZSBvZiB0aGUgbmV3bHkgYWRkZWQg
RnJhbWUqIHBhcmFtZXRlci4KKyAgICAgICAgKFdlYktpdDo6RWRpdG9yQ2xpZW50SW1wbDo6cmVz
cG9uZFRvQ2hhbmdlZFNlbGVjdGlvbik6CisgICAgICAgICogc3JjL0VkaXRvckNsaWVudEltcGwu
aDogQ2hhbmdlIHRoZSBtZXRob2Qgc2lnbmF0dXJlLCBhcyBwZXIgYmFzZSBjbGFzcyBjaGFuZ2Uu
CisKIDIwMTEtMTAtMTYgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBBbHdheXMgZW5hYmxlIEVOQUJMRShET01fU1RPUkFHRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL0VkaXRvckNsaWVudEltcGwuY3BwIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvRWRpdG9yQ2xpZW50SW1wbC5jcHAKaW5kZXggZWYzMDVjYy4uNDY2ODZhNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRWRpdG9yQ2xpZW50SW1wbC5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRWRpdG9yQ2xpZW50SW1wbC5jcHAK
QEAgLTI2MCwxMCArMjYwLDkgQEAgdm9pZCBFZGl0b3JDbGllbnRJbXBsOjpkaWRCZWdpbkVkaXRp
bmcoKQogICAgICAgICBtX3dlYlZpZXctPmNsaWVudCgpLT5kaWRCZWdpbkVkaXRpbmcoKTsKIH0K
IAotdm9pZCBFZGl0b3JDbGllbnRJbXBsOjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKCkKK3Zv
aWQgRWRpdG9yQ2xpZW50SW1wbDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbihGcmFtZSogZnJh
bWUpCiB7CiAgICAgaWYgKG1fd2ViVmlldy0+Y2xpZW50KCkpIHsKLSAgICAgICAgRnJhbWUqIGZy
YW1lID0gbV93ZWJWaWV3LT5mb2N1c2VkV2ViQ29yZUZyYW1lKCk7CiAgICAgICAgIGlmIChmcmFt
ZSkKICAgICAgICAgICAgIG1fd2ViVmlldy0+Y2xpZW50KCktPmRpZENoYW5nZVNlbGVjdGlvbigh
ZnJhbWUtPnNlbGVjdGlvbigpLT5pc1JhbmdlKCkpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL0VkaXRvckNsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL0VkaXRvckNsaWVudEltcGwuaAppbmRleCAyZGRlZTM2Li4zNDIzMzRlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9FZGl0b3JDbGllbnRJbXBsLmgK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRWRpdG9yQ2xpZW50SW1wbC5oCkBAIC0z
Nyw2ICszNyw3IEBACiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKK2NsYXNzIEZyYW1lOwogY2xhc3MgSFRNTElucHV0RWxlbWVudDsKIGNsYXNzIFNwZWxsQ2hl
Y2tlcjsKIH0KQEAgLTcyLDcgKzczLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBzaG91
bGRNb3ZlUmFuZ2VBZnRlckRlbGV0ZShXZWJDb3JlOjpSYW5nZSosIFdlYkNvcmU6OlJhbmdlKik7
CiAgICAgdmlydHVhbCB2b2lkIGRpZEJlZ2luRWRpdGluZygpOwogICAgIHZpcnR1YWwgdm9pZCBy
ZXNwb25kVG9DaGFuZ2VkQ29udGVudHMoKTsKLSAgICB2aXJ0dWFsIHZvaWQgcmVzcG9uZFRvQ2hh
bmdlZFNlbGVjdGlvbigpOworICAgIHZpcnR1YWwgdm9pZCByZXNwb25kVG9DaGFuZ2VkU2VsZWN0
aW9uKFdlYkNvcmU6OkZyYW1lKik7CiAgICAgdmlydHVhbCB2b2lkIGRpZEVuZEVkaXRpbmcoKTsK
ICAgICB2aXJ0dWFsIHZvaWQgZGlkV3JpdGVTZWxlY3Rpb25Ub1Bhc3RlYm9hcmQoKTsKICAgICB2
aXJ0dWFsIHZvaWQgZGlkU2V0U2VsZWN0aW9uVHlwZXNGb3JQYXN0ZWJvYXJkKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFu
Z2VMb2cKaW5kZXggNjkyMDZiNC4uOTE0ZGJmMCAxMDA3NTUKLS0tIGEvU291cmNlL1dlYktpdC9l
ZmwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDEzIEBACisyMDExLTEwLTE3ICBBbnRvbmlvIEdvbWVzICA8YWdvbWVzQHJpbS5jb20+CisKKyAg
ICAgICAgUGFzcyBhIEZyYW1lKiBwYXJhbWV0ZXIgaW4gRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9D
aGFuZ2VkU2VsZWN0aW9uCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuY3BwOiBNYWtlIHVzZSBv
ZiB0aGUgbmV3bHkgYWRkZWQgRnJhbWUqIHBhcmFtZXRlci4KKyAgICAgICAgKFdlYkNvcmU6OkVk
aXRvckNsaWVudEVmbDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbik6CisgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmg6CisKIDIwMTEtMTAtMTQgIE1hcmsgSGFobmVu
YmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW5hbWUgdmlydHVhbCBw
dXQgdG8gcHV0VmlydHVhbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1
cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBw
b3J0L0VkaXRvckNsaWVudEVmbC5jcHAKaW5kZXggZmZjYjcwNi4uNzhhMGFhMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuY3Bw
CkBAIC0xMzMsMjUgKzEzMywxNyBAQCB2b2lkIEVkaXRvckNsaWVudEVmbDo6cmVzcG9uZFRvQ2hh
bmdlZENvbnRlbnRzKCkKICAgICBld2tfZnJhbWVfZWRpdG9yX2NsaWVudF9jb250ZW50c19jaGFu
Z2VkKGZyYW1lKTsKIH0KIAotdm9pZCBFZGl0b3JDbGllbnRFZmw6OnJlc3BvbmRUb0NoYW5nZWRT
ZWxlY3Rpb24oKQordm9pZCBFZGl0b3JDbGllbnRFZmw6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rp
b24oRnJhbWUqIGNvcmVGcmFtZSkKIHsKLSAgICBFdmFzX09iamVjdCogZnJhbWUgPSBld2tfdmll
d19mcmFtZV9mb2N1c2VkX2dldChtX3ZpZXcpOwotCi0gICAgaWYgKCFmcmFtZSkKLSAgICAgICAg
ZnJhbWUgPSBld2tfdmlld19mcmFtZV9tYWluX2dldChtX3ZpZXcpOwotCi0gICAgaWYgKCFmcmFt
ZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgV2ViQ29yZTo6RnJhbWUqIGNvcmVGcmFtZSA9IGV3
a19mcmFtZV9jb3JlX2dldChmcmFtZSk7Ci0KICAgICBpZiAoIWNvcmVGcmFtZSkKICAgICAgICAg
cmV0dXJuOwogCiAgICAgaWYgKGNvcmVGcmFtZS0+ZWRpdG9yKCkgJiYgY29yZUZyYW1lLT5lZGl0
b3IoKS0+aWdub3JlQ29tcG9zaXRpb25TZWxlY3Rpb25DaGFuZ2UoKSkKICAgICAgICAgcmV0dXJu
OwogCi0gICAgZXdrX2ZyYW1lX2VkaXRvcl9jbGllbnRfc2VsZWN0aW9uX2NoYW5nZWQoZnJhbWUp
OworICAgIFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50RWZsKiBmbGMgPSBfZXdrX2ZyYW1lX2xv
YWRlcl9lZmxfZ2V0KGZyYW1lKTsKKyAgICBFdmFzT2JqZWN0KiB3ZWJGcmFtZSA9IGZsYy0+d2Vi
RnJhbWUoKTsKKyAgICBld2tfZnJhbWVfZWRpdG9yX2NsaWVudF9zZWxlY3Rpb25fY2hhbmdlZCh3
ZWJGcmFtZSk7CiB9CiAKIHZvaWQgRWRpdG9yQ2xpZW50RWZsOjpkaWRFbmRFZGl0aW5nKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEVm
bC5oIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmgK
aW5kZXggNTNiYTM5Mi4uM2IxMDg1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2Vi
Q29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2Vi
Q29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmgKQEAgLTc5LDcgKzc5LDcgQEAgcHVibGljOgog
CiAgICAgdmlydHVhbCB2b2lkIGRpZEJlZ2luRWRpdGluZygpOwogICAgIHZpcnR1YWwgdm9pZCBy
ZXNwb25kVG9DaGFuZ2VkQ29udGVudHMoKTsKLSAgICB2aXJ0dWFsIHZvaWQgcmVzcG9uZFRvQ2hh
bmdlZFNlbGVjdGlvbigpOworICAgIHZpcnR1YWwgdm9pZCByZXNwb25kVG9DaGFuZ2VkU2VsZWN0
aW9uKEZyYW1lKik7CiAgICAgdmlydHVhbCB2b2lkIGRpZEVuZEVkaXRpbmcoKTsKICAgICB2aXJ0
dWFsIHZvaWQgZGlkV3JpdGVTZWxlY3Rpb25Ub1Bhc3RlYm9hcmQoKTsKICAgICB2aXJ0dWFsIHZv
aWQgZGlkU2V0U2VsZWN0aW9uVHlwZXNGb3JQYXN0ZWJvYXJkKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5k
ZXggYzdhZGI2OS4uZmQ3ZTA4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisy
MDExLTEwLTE3ICBBbnRvbmlvIEdvbWVzICA8YWdvbWVzQHJpbS5jb20+CisKKyAgICAgICAgUGFz
cyBhIEZyYW1lKiBwYXJhbWV0ZXIgaW4gRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2Vs
ZWN0aW9uCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBXZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuY3BwOiBNYWtlIHVzZSBvZiB0aGUgbmV3
bHkgYWRkZWQgRnJhbWUqIHBhcmFtZXRlci4KKyAgICAgICAgKFdlYktpdDo6RWRpdG9yQ2xpZW50
OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9F
ZGl0b3JDbGllbnRHdGsuaDoKKwogMjAxMS0xMC0xMiAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Vi
a2l0Lm9yZz4KIAogICAgICAgICBNYWtlIHRoZSBpbnRlcmZhY2Ugb2YgbG9jYXRpb25BbmRMZW5n
dGhGcm9tUmFuZ2UgYW5kIHJhbmdlRnJvbUxvY2F0aW9uQW5kTGVuZ3RoIGNvbnNpc3RlbnQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0
ay5jcHAgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsu
Y3BwCmluZGV4IGIxNTcyMjguLmIwZjI0MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3Rr
L1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5jcHAKKysrIGIvU291cmNlL1dlYktpdC9n
dGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmNwcApAQCAtMzAyLDMzICszMDIsMzEg
QEAgc3RhdGljIHZvaWQgc2V0U2VsZWN0aW9uUHJpbWFyeUNsaXBib2FyZElmTmVlZGVkKFdlYktp
dFdlYlZpZXcqIHdlYlZpZXcpCiB9CiAjZW5kaWYKIAotdm9pZCBFZGl0b3JDbGllbnQ6OnJlc3Bv
bmRUb0NoYW5nZWRTZWxlY3Rpb24oKQordm9pZCBFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5n
ZWRTZWxlY3Rpb24oRnJhbWUqIGZyYW1lKQogewogICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZSht
X3dlYlZpZXcsICJzZWxlY3Rpb24tY2hhbmdlZCIpOwogCi0gICAgV2ViS2l0V2ViVmlld1ByaXZh
dGUqIHByaXYgPSBtX3dlYlZpZXctPnByaXY7Ci0gICAgV2ViQ29yZTo6UGFnZSogY29yZVBhZ2Ug
PSBjb3JlKG1fd2ViVmlldyk7Ci0gICAgRnJhbWUqIHRhcmdldEZyYW1lID0gY29yZVBhZ2UtPmZv
Y3VzQ29udHJvbGxlcigpLT5mb2N1c2VkT3JNYWluRnJhbWUoKTsKLQotICAgIGlmICghdGFyZ2V0
RnJhbWUpCisgICAgaWYgKCFmcmFtZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKHRhcmdl
dEZyYW1lLT5lZGl0b3IoKS0+aWdub3JlQ29tcG9zaXRpb25TZWxlY3Rpb25DaGFuZ2UoKSkKKyAg
ICBpZiAoZnJhbWUtPmVkaXRvcigpLT5pZ25vcmVDb21wb3NpdGlvblNlbGVjdGlvbkNoYW5nZSgp
KQogICAgICAgICByZXR1cm47CiAKICNpZiBQTEFURk9STShYMTEpCiAgICAgc2V0U2VsZWN0aW9u
UHJpbWFyeUNsaXBib2FyZElmTmVlZGVkKG1fd2ViVmlldyk7CiAjZW5kaWYKIAotICAgIGlmICgh
dGFyZ2V0RnJhbWUtPmVkaXRvcigpLT5oYXNDb21wb3NpdGlvbigpKQorICAgIGlmICghZnJhbWUt
PmVkaXRvcigpLT5oYXNDb21wb3NpdGlvbigpKQogICAgICAgICByZXR1cm47CiAKICAgICB1bnNp
Z25lZCBzdGFydDsKICAgICB1bnNpZ25lZCBlbmQ7Ci0gICAgaWYgKCF0YXJnZXRGcmFtZS0+ZWRp
dG9yKCktPmdldENvbXBvc2l0aW9uU2VsZWN0aW9uKHN0YXJ0LCBlbmQpKSB7CisgICAgV2ViS2l0
V2ViVmlld1ByaXZhdGUqIHByaXYgPSBtX3dlYlZpZXctPnByaXY7CisKKyAgICBpZiAoIWZyYW1l
LT5lZGl0b3IoKS0+Z2V0Q29tcG9zaXRpb25TZWxlY3Rpb24oc3RhcnQsIGVuZCkpIHsKICAgICAg
ICAgLy8gZ3RrX2ltX2NvbnRleHRfcmVzZXQoKSBjbGVhcnMgdGhlIGNvbXBvc2l0aW9uIGZvciB1
cy4KICAgICAgICAgZ3RrX2ltX2NvbnRleHRfcmVzZXQocHJpdi0+aW1Db250ZXh0LmdldCgpKTsK
LSAgICAgICAgdGFyZ2V0RnJhbWUtPmVkaXRvcigpLT5jYW5jZWxDb21wb3NpdGlvbigpOworICAg
ICAgICBmcmFtZS0+ZWRpdG9yKCktPmNhbmNlbENvbXBvc2l0aW9uKCk7CiAgICAgfQogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRH
dGsuaCBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5o
CmluZGV4IGEwZmFkZDguLjY5ODZhNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dl
YkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dl
YkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5oCkBAIC0xMDAsNyArMTAwLDcgQEAgY2xhc3Mg
RWRpdG9yQ2xpZW50IDogcHVibGljIFdlYkNvcmU6OkVkaXRvckNsaWVudCB7CiAKICAgICAgICAg
dmlydHVhbCB2b2lkIGRpZEJlZ2luRWRpdGluZygpOwogICAgICAgICB2aXJ0dWFsIHZvaWQgcmVz
cG9uZFRvQ2hhbmdlZENvbnRlbnRzKCk7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCByZXNwb25kVG9D
aGFuZ2VkU2VsZWN0aW9uKCk7CisgICAgICAgIHZpcnR1YWwgdm9pZCByZXNwb25kVG9DaGFuZ2Vk
U2VsZWN0aW9uKFdlYkNvcmU6OkZyYW1lKik7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRFbmRF
ZGl0aW5nKCk7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRXcml0ZVNlbGVjdGlvblRvUGFzdGVi
b2FyZCgpOwogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkU2V0U2VsZWN0aW9uVHlwZXNGb3JQYXN0
ZWJvYXJkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggNTA0YjAxMi4uNDdhMjdmMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0No
YW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDExLTEwLTE3ICBBbnRvbmlvIEdvbWVzICA8YWdv
bWVzQHJpbS5jb20+CisKKyAgICAgICAgUGFzcyBhIEZyYW1lKiBwYXJhbWV0ZXIgaW4gRWRpdG9y
Q2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGll
bnQuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQubW06IE1ha2Ug
dXNlIG9mIHRoZSBuZXdseSBhZGRlZCBGcmFtZSogcGFyYW1ldGVyLgorICAgICAgICAoV2ViRWRp
dG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKToKKwogMjAxMS0xMC0xNiAgQWRh
bSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIEFsd2F5cyBlbmFibGUgRU5B
QkxFKERPTV9TVE9SQUdFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1
cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9y
dC9XZWJFZGl0b3JDbGllbnQuaAppbmRleCA2YTI3NDAwLi5hYWNjYmFmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuaAorKysgYi9T
b3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuaApAQCAtOTgs
NyArOTgsNyBAQCBwdWJsaWM6CiAgICAgVGV4dENoZWNrZXJDbGllbnQqIHRleHRDaGVja2VyKCkg
T1ZFUlJJREUgeyByZXR1cm4gdGhpczsgfQogCiAgICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0No
YW5nZWRDb250ZW50cygpIE9WRVJSSURFOwotICAgIHZpcnR1YWwgdm9pZCByZXNwb25kVG9DaGFu
Z2VkU2VsZWN0aW9uKCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5n
ZWRTZWxlY3Rpb24oV2ViQ29yZTo6RnJhbWUqKSBPVkVSUklERTsKIAogICAgIHZpcnR1YWwgdm9p
ZCByZWdpc3RlckNvbW1hbmRGb3JVbmRvKFBhc3NSZWZQdHI8V2ViQ29yZTo6RWRpdENvbW1hbmQ+
KSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJDb21tYW5kRm9yUmVkbyhQYXNz
UmVmUHRyPFdlYkNvcmU6OkVkaXRDb21tYW5kPikgT1ZFUlJJREU7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQubW0gYi9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQubW0KaW5kZXggZDE5Mzg0
MS4uZTZmZjFiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQv
V2ViRWRpdG9yQ2xpZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0
L1dlYkVkaXRvckNsaWVudC5tbQpAQCAtMjkwLDkgKzI5MCw5IEBAIHZvaWQgV2ViRWRpdG9yQ2xp
ZW50OjpyZXNwb25kVG9DaGFuZ2VkQ29udGVudHMoKQogICAgIFtbTlNOb3RpZmljYXRpb25DZW50
ZXIgZGVmYXVsdENlbnRlcl0gcG9zdE5vdGlmaWNhdGlvbk5hbWU6V2ViVmlld0RpZENoYW5nZU5v
dGlmaWNhdGlvbiBvYmplY3Q6bV93ZWJWaWV3XTsgICAgCiB9CiAKLXZvaWQgV2ViRWRpdG9yQ2xp
ZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKCkKK3ZvaWQgV2ViRWRpdG9yQ2xpZW50Ojpy
ZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKEZyYW1lKiBmcmFtZSkKIHsKLSAgICBOU1ZpZXc8V2Vi
RG9jdW1lbnRWaWV3PiAqZG9jdW1lbnRWaWV3ID0gW1tbbV93ZWJWaWV3IF9zZWxlY3RlZE9yTWFp
bkZyYW1lXSBmcmFtZVZpZXddIGRvY3VtZW50Vmlld107CisgICAgTlNWaWV3PFdlYkRvY3VtZW50
Vmlldz4gKmRvY3VtZW50VmlldyA9IFtbW2ZyYW1lXSBmcmFtZVZpZXddIGRvY3VtZW50Vmlld107
CiAgICAgaWYgKFtkb2N1bWVudFZpZXcgaXNLaW5kT2ZDbGFzczpbV2ViSFRNTFZpZXcgY2xhc3Nd
XSkKICAgICAgICAgWyhXZWJIVE1MVmlldyAqKWRvY3VtZW50VmlldyBfc2VsZWN0aW9uQ2hhbmdl
ZF07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggZDI1Y2IwNC4uM2NjMGUxZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxMyBAQAorMjAxMS0xMC0xNyAgQW50b25pbyBHb21lcyAgPGFnb21lc0ByaW0u
Y29tPgorCisgICAgICAgIFBhc3MgYSBGcmFtZSogcGFyYW1ldGVyIGluIEVkaXRvckNsaWVudDo6
cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50UXQuY3BwOiBN
YWtlIHVzZSBvZiB0aGUgbmV3bHkgYWRkZWQgRnJhbWUqIHBhcmFtZXRlci4KKyAgICAgICAgKFdl
YkNvcmU6OkVkaXRvckNsaWVudFF0OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKToKKyAgICAg
ICAgKiBXZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRRdC5oOgorCiAyMDExLTEwLTE1ICBBZGFt
IEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVuYW1lIEVOQUJMRShUSUxF
RF9CQUNLSU5HX1NUT1JFKSB0byBVU0UoVElMRURfQkFDS0lOR19TVE9SRSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50UXQuY3BwIGIvU291
cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRRdC5jcHAKaW5kZXggZjM4
N2VhOS4uZjk1OGU4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9y
dC9FZGl0b3JDbGllbnRRdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9y
dC9FZGl0b3JDbGllbnRRdC5jcHAKQEAgLTIwMSw3ICsyMDEsNyBAQCB2b2lkIEVkaXRvckNsaWVu
dFF0OjpyZXNwb25kVG9DaGFuZ2VkQ29udGVudHMoKQogICAgIGVtaXQgbV9wYWdlLT5jb250ZW50
c0NoYW5nZWQoKTsKIH0KIAotdm9pZCBFZGl0b3JDbGllbnRRdDo6cmVzcG9uZFRvQ2hhbmdlZFNl
bGVjdGlvbigpCit2b2lkIEVkaXRvckNsaWVudFF0OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9u
KEZyYW1lKiBmcmFtZSkKIHsKICAgICBpZiAoZHVtcEVkaXRpbmdDYWxsYmFja3MpCiAgICAgICAg
IHByaW50ZigiRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJW
aWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uXG4iKTsKQEAgLTIxMiw3ICsyMTIsNiBA
QCB2b2lkIEVkaXRvckNsaWVudFF0OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKCkKIAogICAg
IG1fcGFnZS0+ZC0+dXBkYXRlRWRpdG9yQWN0aW9ucygpOwogICAgIGVtaXQgbV9wYWdlLT5zZWxl
Y3Rpb25DaGFuZ2VkKCk7Ci0gICAgRnJhbWUqIGZyYW1lID0gbV9wYWdlLT5kLT5wYWdlLT5mb2N1
c0NvbnRyb2xsZXIoKS0+Zm9jdXNlZE9yTWFpbkZyYW1lKCk7CiAgICAgaWYgKCFmcmFtZS0+ZWRp
dG9yKCktPmlnbm9yZUNvbXBvc2l0aW9uU2VsZWN0aW9uQ2hhbmdlKCkpCiAgICAgICAgIGVtaXQg
bV9wYWdlLT5taWNyb0ZvY3VzQ2hhbmdlZCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9xdC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRRdC5oIGIvU291cmNlL1dlYktpdC9xdC9X
ZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRRdC5oCmluZGV4IGQ5NjU4YmIuLjZlNmEwYTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50UXQu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudFF0LmgK
QEAgLTY5LDcgKzY5LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGRpZEJlZ2luRWRp
dGluZygpOwogICAgIHZpcnR1YWwgdm9pZCByZXNwb25kVG9DaGFuZ2VkQ29udGVudHMoKTsKLSAg
ICB2aXJ0dWFsIHZvaWQgcmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbigpOworICAgIHZpcnR1YWwg
dm9pZCByZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKEZyYW1lKik7CiAgICAgdmlydHVhbCB2b2lk
IGRpZEVuZEVkaXRpbmcoKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkV3JpdGVTZWxlY3Rpb25Ub1Bh
c3RlYm9hcmQoKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkU2V0U2VsZWN0aW9uVHlwZXNGb3JQYXN0
ZWJvYXJkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggOTcxMjJmYy4uYmE4MTlmZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0No
YW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDExLTEwLTE3ICBBbnRvbmlvIEdvbWVzICA8YWdv
bWVzQHJpbS5jb20+CisKKyAgICAgICAgUGFzcyBhIEZyYW1lKiBwYXJhbWV0ZXIgaW4gRWRpdG9y
Q2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGll
bnQuY3BwOiBNYWtlIHVzZSBvZiB0aGUgbmV3bHkgYWRkZWQgRnJhbWUqIHBhcmFtZXRlci4KKyAg
ICAgICAgKFdlYkVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbik6CisgICAg
ICAgICogV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50Lmg6CisKIDIwMTEtMTAtMTQgIEp1
bGllbiBDaGFmZnJhaXggIDxqY2hhZmZyYWl4QHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVtb3Zl
IGxheWVyWCAvIGxheWVyWSBmcm9tIHRoZSBXaW5kb3dzIEFQSQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmNwcCBiL1NvdXJjZS9X
ZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5jcHAKaW5kZXggYzAxNWIy
My4uZTUwYzZkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQv
V2ViRWRpdG9yQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9y
dC9XZWJFZGl0b3JDbGllbnQuY3BwCkBAIC0yMDgsNyArMjA4LDcgQEAgdm9pZCBXZWJFZGl0b3JD
bGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRDb250ZW50cygpCiAgICAgbm90SW1wbGVtZW50ZWQoKTsK
IH0KIAotdm9pZCBXZWJFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oKQor
dm9pZCBXZWJFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oRnJhbWUqKQog
ewogICAgIG1fd2ViVmlldy0+c2VsZWN0aW9uQ2hhbmdlZCgpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuaCBiL1NvdXJjZS9X
ZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5oCmluZGV4IDFkYjRjNjgu
LjI4ZGU5YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dl
YkVkaXRvckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dl
YkVkaXRvckNsaWVudC5oCkBAIC01OCw3ICs1OCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZv
aWQgZGlkU2V0U2VsZWN0aW9uVHlwZXNGb3JQYXN0ZWJvYXJkKCk7CiAKICAgICB2aXJ0dWFsIHZv
aWQgcmVzcG9uZFRvQ2hhbmdlZENvbnRlbnRzKCk7Ci0gICAgdmlydHVhbCB2b2lkIHJlc3BvbmRU
b0NoYW5nZWRTZWxlY3Rpb24oKTsKKyAgICB2aXJ0dWFsIHZvaWQgcmVzcG9uZFRvQ2hhbmdlZFNl
bGVjdGlvbihXZWJDb3JlOjpGcmFtZSopOwogCiAgICAgYm9vbCBzaG91bGRTaG93RGVsZXRlSW50
ZXJmYWNlKFdlYkNvcmU6OkhUTUxFbGVtZW50Kik7CiAgICAgYm9vbCBzaG91bGREZWxldGVSYW5n
ZShXZWJDb3JlOjpSYW5nZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93eC9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L3d4L0NoYW5nZUxvZwppbmRleCBjNjM2MDAxLi5iYjBmZWMzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3d4L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L3d4L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDExLTEwLTE3ICBBbnRvbmlvIEdvbWVz
ICA8YWdvbWVzQHJpbS5jb20+CisKKyAgICAgICAgUGFzcyBhIEZyYW1lKiBwYXJhbWV0ZXIgaW4g
RWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJLaXRTdXBwb3J0L0VkaXRvckNs
aWVudFd4LmNwcDogTWFrZSB1c2Ugb2YgdGhlIG5ld2x5IGFkZGVkIEZyYW1lKiBwYXJhbWV0ZXIu
CisgICAgICAgIChXZWJDb3JlOjpFZGl0b3JDbGllbnRXeDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVj
dGlvbik6CisgICAgICAgICogV2ViS2l0U3VwcG9ydC9FZGl0b3JDbGllbnRXeC5oOgorCiAyMDEx
LTA5LTI0ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWx3YXlz
IGVuYWJsZSBFTkFCTEUoT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0VkaXRvckNsaWVudFd4LmNwcCBiL1NvdXJjZS9X
ZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9FZGl0b3JDbGllbnRXeC5jcHAKaW5kZXggNTgxMmRmZS4u
N2ExN2FkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0VkaXRv
ckNsaWVudFd4LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvRWRpdG9y
Q2xpZW50V3guY3BwCkBAIC00ODcsOSArNDg3LDggQEAgdm9pZCBFZGl0b3JDbGllbnRXeDo6dGV4
dERpZENoYW5nZUluVGV4dEFyZWEoRWxlbWVudCopCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0K
IAotdm9pZCBFZGl0b3JDbGllbnRXeDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbigpCit2b2lk
IEVkaXRvckNsaWVudFd4OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKEZyYW1lKiBmcmFtZSkK
IHsKLSAgICBGcmFtZSogZnJhbWUgPSBtX3BhZ2UtPmZvY3VzQ29udHJvbGxlcigpLT5mb2N1c2Vk
T3JNYWluRnJhbWUoKTsKICAgICBpZiAoZnJhbWUpIHsKICAgICAgICAgd3hXZWJWaWV3KiB3ZWJL
aXRXaW4gPSBkeW5hbWljX2Nhc3Q8d3hXZWJWaWV3Kj4oZnJhbWUtPnZpZXcoKS0+aG9zdFdpbmRv
dygpLT5wbGF0Zm9ybVBhZ2VDbGllbnQoKSk7CiAgICAgICAgIGlmICh3ZWJLaXRXaW4pIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9FZGl0b3JDbGllbnRXeC5o
IGIvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0VkaXRvckNsaWVudFd4LmgKaW5kZXgg
NzM3MGYwYS4uMzE4ZjU0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBw
b3J0L0VkaXRvckNsaWVudFd4LmgKKysrIGIvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0
L0VkaXRvckNsaWVudFd4LmgKQEAgLTcyLDcgKzcyLDcgQEAgcHVibGljOgogCiAgICAgdmlydHVh
bCB2b2lkIGRpZEJlZ2luRWRpdGluZygpOwogICAgIHZpcnR1YWwgdm9pZCByZXNwb25kVG9DaGFu
Z2VkQ29udGVudHMoKTsKLSAgICB2aXJ0dWFsIHZvaWQgcmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlv
bigpOworICAgIHZpcnR1YWwgdm9pZCByZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKEZyYW1lKik7
CiAgICAgdmlydHVhbCB2b2lkIGRpZEVuZEVkaXRpbmcoKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlk
V3JpdGVTZWxlY3Rpb25Ub1Bhc3RlYm9hcmQoKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkU2V0U2Vs
ZWN0aW9uVHlwZXNGb3JQYXN0ZWJvYXJkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZWRlYjdkYy4uNDRjYjIz
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDExLTEwLTE3ICBBbnRvbmlvIEdvbWVz
ICA8YWdvbWVzQHJpbS5jb20+CisKKyAgICAgICAgUGFzcyBhIEZyYW1lKiBwYXJhbWV0ZXIgaW4g
RWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkVkaXRvckNsaWVudC5jcHA6IE1ha2UgdXNlIG9mIHRoZSBuZXdseSBhZGRlZCBGcmFt
ZSogcGFyYW1ldGVyLgorICAgICAgICAoV2ViS2l0OjpXZWJFZGl0b3JDbGllbnQ6OnJlc3BvbmRU
b0NoYW5nZWRTZWxlY3Rpb24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViRWRpdG9yQ2xpZW50Lmg6CisKIDIwMTEtMTAtMTYgIEFkYW0gQmFydGggIDxhYmFydGhAd2Vi
a2l0Lm9yZz4KIAogICAgICAgICBBbHdheXMgZW5hYmxlIEVOQUJMRShET01fU1RPUkFHRSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRWRp
dG9yQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViRWRpdG9yQ2xpZW50LmNwcAppbmRleCBlOWMxMjYwLi44ZTcxM2ZiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0
b3JDbGllbnQuY3BwCkBAIC0xNzQsMTEgKzE3NCwxMCBAQCB2b2lkIFdlYkVkaXRvckNsaWVudDo6
cmVzcG9uZFRvQ2hhbmdlZENvbnRlbnRzKCkKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCi12
b2lkIFdlYkVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbigpCit2b2lkIFdl
YkVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbihGcmFtZSopCiB7CiAgICAg
REVGSU5FX1NUQVRJQ19MT0NBTChTdHJpbmcsIFdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3Rp
ZmljYXRpb24sICgiV2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbiIpKTsKICAg
ICBtX3BhZ2UtPmluamVjdGVkQnVuZGxlRWRpdG9yQ2xpZW50KCkuZGlkQ2hhbmdlU2VsZWN0aW9u
KG1fcGFnZSwgV2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbi5pbXBsKCkpOwot
ICAgIEZyYW1lKiBmcmFtZSA9IG1fcGFnZS0+Y29yZVBhZ2UoKS0+Zm9jdXNDb250cm9sbGVyKCkt
PmZvY3VzZWRGcmFtZSgpOwogICAgIGlmICghZnJhbWUpCiAgICAgICAgIHJldHVybjsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0
b3JDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
RWRpdG9yQ2xpZW50LmgKaW5kZXggNWU3MzYzMi4uZTJiZWY5ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVu
dC5oCkBAIC02NCw3ICs2NCw3IEBAIHByaXZhdGU6CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlkQmVn
aW5FZGl0aW5nKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5nZWRD
b250ZW50cygpIE9WRVJSSURFOwotICAgIHZpcnR1YWwgdm9pZCByZXNwb25kVG9DaGFuZ2VkU2Vs
ZWN0aW9uKCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5nZWRTZWxl
Y3Rpb24oV2ViQ29yZTo6RnJhbWUqKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkRW5k
RWRpdGluZygpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBkaWRXcml0ZVNlbGVjdGlvblRv
UGFzdGVib2FyZCgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBkaWRTZXRTZWxlY3Rpb25U
eXBlc0ZvclBhc3RlYm9hcmQoKSBPVkVSUklERTsKLS0gCjEuNy4xCgo=
</data>
<flag name="commit-queue"
          id="109081"
          type_id="3"
          status="-"
          setter="gyuyoung.kim"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111296</attachid>
            <date>2011-10-17 12:07:25 -0700</date>
            <delta_ts>2011-10-17 12:16:52 -0700</delta_ts>
            <desc>patch v1.1 - for EWS to build</desc>
            <filename>0001-2011-10-17-Antonio-Gomes-agomes-rim.com.patch</filename>
            <type>text/plain</type>
            <size>26314</size>
            <attacher name="Antonio Gomes">tonikitoo</attacher>
            
              <data encoding="base64">RnJvbSBjM2MwMmQ0YmU3NTlmNjQ1ZDA3MWMxODgxODk2OTI0NTBjODFjNjkzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRvbmlvIEdvbWVzIDxhZ29tZXNAcmltLmNvbT4KRGF0ZTog
TW9uLCAxNyBPY3QgMjAxMSAxMzo1MjoyNCAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIDIwMTEtMTAt
MTcgIEFudG9uaW8gR29tZXMgIDxhZ29tZXNAcmltLmNvbT4KCiAgICAgICAgUGFzcyBhIEZyYW1l
KiBwYXJhbWV0ZXIgaW4gRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uCgog
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICBNb3N0IG9mIHRoZSBw
b3J0IHNwZWNpZmljIGltcGxlbWVudGF0aW9ucyBvZiBFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0No
YW5nZWRTZWxlY3Rpb24KICAgICAgICAobGlrZSBFZGl0b3JDbGllbnR7UXQsR3RrLGV0Y30pIGFy
ZSB3cm9uZ2x5IHJlbHlpbmcgb24gRm9jdXNDb250cm9sbGVyOjpmb2N1c2VkT3JNYWluRnJhbWUK
ICAgICAgICBtZXRob2QgdG8gZ2V0IHRoZSBGcmFtZSB3aGVyZSB0aGUgc2VsZWN0aW9uIGlzIGhh
cHBlbmluZyBvbi4KCiAgICAgICAgSXQgaXMgbm90IHJpZ2h0LCBzaW5jZSBhIHNlbGVjdGlvbiBj
YW4gYmUgZWFzaWx5IHRyaWdnZXJlZCBpbiBhbiBpbm5lcgogICAgICAgIGZyYW1lIHRoYXQgaXMg
bm90IGZvY3VzZWQuCgogICAgICAgIE5vIG5ldyB0ZXN0cyBzaW5jZSBpdCBpcyBhIGhhcmQgdGhp
bmcgdG8gdGVzdCB3aXRob3V0CiAgICAgICAgdG8gaG9vayBpbnRvIGVkaXRvciBjbGllbnQgaW4g
bGF5b3V0IHRlc3RzLiBXZSBjb3VsZAogICAgICAgIGNoYW5nZSB0aGUgIkR1bXBlZCBEZWxlZ2F0
ZSIgbWVzc2FnZXMsIGJ1dCBpdCB3b3VsZAogICAgICAgIHJlcXVpcmUgYSByZWJhc2lsZSBvZiAr
MTIwMCBmb3IgYSBtaW5vciBjaGFuZ2UuCgogICAgICAgIFNvdXJjZS9XZWJLaXQvY2hyb21pdW06
CiAgICAgICAgKiBzcmMvRWRpdG9yQ2xpZW50SW1wbC5jcHA6CiAgICAgICAgKFdlYktpdDo6RWRp
dG9yQ2xpZW50SW1wbDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbik6CiAgICAgICAgKiBzcmMv
RWRpdG9yQ2xpZW50SW1wbC5oOgoKICAgICAgICBTb3VyY2UvV2ViS2l0L2VmbDoKICAgICAgICAq
IFdlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEVmbC5jcHA6CiAgICAgICAgKFdlYkNvcmU6OkVk
aXRvckNsaWVudEVmbDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbik6CiAgICAgICAgKiBXZWJD
b3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuaDoKCiAgICAgICAgU291cmNlL1dlYktpdC9ndGs6
CiAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuY3BwOgogICAgICAgIChX
ZWJLaXQ6OkVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbik6CiAgICAgICAg
KiBXZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuaDoKCiAgICAgICAgU291cmNlL1dlYktp
dC9tYWM6CiAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuaDoKICAgICAg
ICAqIFdlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5tbToKICAgICAgICAoV2ViRWRpdG9y
Q2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKToKCiAgICAgICAgU291cmNlL1dlYktp
dC9xdDoKICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudFF0LmNwcDoKICAgICAg
ICAoV2ViQ29yZTo6RWRpdG9yQ2xpZW50UXQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24pOgog
ICAgICAgICogV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50UXQuaDoKCiAgICAgICAgU291cmNl
L1dlYktpdC93aW46CiAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuY3Bw
OgogICAgICAgIChXZWJFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24pOgog
ICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50Lmg6CgogICAgICAgIFNvdXJj
ZS9XZWJLaXQvd3g6CiAgICAgICAgKiBXZWJLaXRTdXBwb3J0L0VkaXRvckNsaWVudFd4LmNwcDoK
ICAgICAgICAoV2ViQ29yZTo6RWRpdG9yQ2xpZW50V3g6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rp
b24pOgogICAgICAgICogV2ViS2l0U3VwcG9ydC9FZGl0b3JDbGllbnRXeC5oOgoKICAgICAgICBT
b3VyY2UvV2ViS2l0MjoKICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRWRp
dG9yQ2xpZW50LmNwcDoKICAgICAgICAoV2ViS2l0OjpXZWJFZGl0b3JDbGllbnQ6OnJlc3BvbmRU
b0NoYW5nZWRTZWxlY3Rpb24pOgogICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJFZGl0b3JDbGllbnQuaDoKCiAgICAgICAgU291cmNlL1dlYkNvcmU6CiAgICAgICAgKiBlZGl0
aW5nL0VkaXRvci5jcHA6CiAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6cmVzcG9uZFRvQ2hhbmdl
ZFNlbGVjdGlvbik6CiAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6Y2hhbmdlU2VsZWN0aW9uQWZ0
ZXJDb21tYW5kKToKICAgICAgICAqIGxvYWRlci9FbXB0eUNsaWVudHMuaDoKICAgICAgICAoV2Vi
Q29yZTo6RW1wdHlFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24pOgogICAg
ICAgICogcGFnZS9FZGl0b3JDbGllbnQuaDoKLS0tCiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMjUgKysrKysrKysrKysrKysrKysrKysKIFNv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcCAgICAgICAgICAgICAgICAgIHwgICAgNCAr
LQogU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oICAgICAgICAgICAgICAgfCAg
ICAyICstCiBTb3VyY2UvV2ViQ29yZS9wYWdlL0VkaXRvckNsaWVudC5oICAgICAgICAgICAgICAg
ICB8ICAgIDIgKy0KIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nICAgICAgICAgICAg
ICAgICAgIHwgICAxMCArKysrKysrKwogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRWRpdG9y
Q2xpZW50SW1wbC5jcHAgICAgfCAgICAzICstCiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9F
ZGl0b3JDbGllbnRJbXBsLmggICAgICB8ICAgIDMgKy0KIFNvdXJjZS9XZWJLaXQvZWZsL0NoYW5n
ZUxvZyAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxMCArKysrKysrKwogLi4uL1dlYktpdC9l
ZmwvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmNwcCAgfCAgIDE1ICsrLS0tLS0tLS0t
CiBTb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuaCB8ICAg
IDIgKy0KIFNvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAg
IHwgICAxMCArKysrKysrKwogLi4uL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xp
ZW50R3RrLmNwcCAgfCAgIDE4ICsrKysrKy0tLS0tLS0tCiBTb3VyY2UvV2ViS2l0L2d0ay9XZWJD
b3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuaCB8ICAgIDIgKy0KIFNvdXJjZS9XZWJLaXQvbWFj
L0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxMCArKysrKysrKwogU291cmNl
L1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmggfCAgICAyICstCiAu
Li4vV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQubW0gICB8ICAgIDQg
Ky0KIFNvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgIHwg
ICAxMCArKysrKysrKwogU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGll
bnRRdC5jcHAgfCAgICAzICstCiBTb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0VkaXRv
ckNsaWVudFF0LmggICB8ICAgIDIgKy0KIFNvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyAgICAg
ICAgICAgICAgICAgICAgICAgIHwgICAxMCArKysrKysrKwogLi4uL1dlYktpdC93aW4vV2ViQ29y
ZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmNwcCAgfCAgICAyICstCiBTb3VyY2UvV2ViS2l0L3dp
bi9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuaCB8ICAgIDIgKy0KIFNvdXJjZS9XZWJL
aXQvd3gvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxMCArKysrKysrKwog
U291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0VkaXRvckNsaWVudFd4LmNwcCAgfCAgICAz
ICstCiBTb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvRWRpdG9yQ2xpZW50V3guaCAgICB8
ICAgIDIgKy0KIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHwgICAxMCArKysrKysrKwogLi4uL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRWRp
dG9yQ2xpZW50LmNwcCAgfCAgICAzICstCiAuLi4vV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJFZGl0b3JDbGllbnQuaCAgICB8ICAgIDIgKy0KIDI4IGZpbGVzIGNoYW5nZWQsIDEzNiBpbnNl
cnRpb25zKCspLCA0NSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2ZiMGFmYy4uNTM2N2Yx
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDExLTEwLTE3ICBBbnRvbmlvIEdvbWVz
ICA8YWdvbWVzQHJpbS5jb20+CisKKyAgICAgICAgUGFzcyBhIEZyYW1lKiBwYXJhbWV0ZXIgaW4g
RWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW9zdCBvZiB0aGUgcG9ydCBzcGVjaWZp
YyBpbXBsZW1lbnRhdGlvbnMgb2YgRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0
aW9uCisgICAgICAgIChsaWtlIEVkaXRvckNsaWVudHtRdCxHdGssZXRjfSkgYXJlIHdyb25nbHkg
cmVseWluZyBvbiBGb2N1c0NvbnRyb2xsZXI6OmZvY3VzZWRPck1haW5GcmFtZQorICAgICAgICBt
ZXRob2QgdG8gZ2V0IHRoZSBGcmFtZSB3aGVyZSB0aGUgc2VsZWN0aW9uIGlzIGhhcHBlbmluZyBv
bi4KKyAgICAgICAgSXQgaXMgbm90IHJpZ2h0LCBzaW5jZSBhIHNlbGVjdGlvbiBjYW4gYmUgZWFz
aWx5IHRyaWdnZXJlZCBpbiBhbiBpbm5lcgorICAgICAgICBmcmFtZSB0aGF0IGlzIG5vdCBmb2N1
c2VkLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBzaW5jZSBpdCBpcyBhIGhhcmQgdGhpbmcgdG8g
dGVzdCB3aXRob3V0CisgICAgICAgIHRvIGhvb2sgaW50byBlZGl0b3IgY2xpZW50IGluIGxheW91
dCB0ZXN0cy4gV2UgY291bGQKKyAgICAgICAgY2hhbmdlIHRoZSAiRHVtcGVkIERlbGVnYXRlIiBt
ZXNzYWdlcywgYnV0IGl0IHdvdWxkCisgICAgICAgIHJlcXVpcmUgYSByZWJhc2lsZSBvZiArMTIw
MCBmb3IgYSBtaW5vciBjaGFuZ2UuCisKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvci5jcHA6IFBh
c3MgdGhlIEZyYW1lIG9uIHdoZXJlIHRoZSBzZWxlY3Rpb24gaXMKKwkJY2hhbmdpbmcgdG8gdGhl
IGNsaWVudC4KKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVj
dGlvbik6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RWRpdG9yOjpjaGFuZ2VTZWxlY3Rpb25B
ZnRlckNvbW1hbmQpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkVtcHR5RWRpdG9yQ2xpZW50
OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKToKKyAgICAgICAgKiBwYWdlL0VkaXRvckNsaWVu
dC5oOiAgUGFzcyBGcmFtZSogdG8gaW5kaWNhdGUgd2hlcmUgdGhlIHNlbGVjdGlvbiBpcyBoYXBw
ZW5pbmcuCisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5oOiBDaGFuZ2VkIHNpZ25hdHVy
ZSBhcyBwZXIgYmFzZSBjbGFzcyBjaGFuZ2UuCisKIDIwMTEtMTAtMTYgIEFkYW0gQmFydGggIDxh
YmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBBbHdheXMgZW5hYmxlIEVOQUJMRShET01fU1RP
UkFHRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAppbmRleCBiNDhhOGI1Li5hM2E5OTA4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCkBAIC00OTAsNyArNDkwLDcgQEAgYm9vbCBFZGl0
b3I6OnNob3VsZFNob3dEZWxldGVJbnRlcmZhY2UoSFRNTEVsZW1lbnQqIGVsZW1lbnQpIGNvbnN0
CiB2b2lkIEVkaXRvcjo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbihjb25zdCBWaXNpYmxlU2Vs
ZWN0aW9uJiBvbGRTZWxlY3Rpb24pCiB7CiAgICAgaWYgKGNsaWVudCgpKQotICAgICAgICBjbGll
bnQoKS0+cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbigpOworICAgICAgICBjbGllbnQoKS0+cmVz
cG9uZFRvQ2hhbmdlZFNlbGVjdGlvbihtX2ZyYW1lKTsKICAgICBtX2RlbGV0ZUJ1dHRvbkNvbnRy
b2xsZXItPnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24ob2xkU2VsZWN0aW9uKTsKICAgICBtX3Nw
ZWxsaW5nQ29ycmVjdG9yLT5yZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKG9sZFNlbGVjdGlvbik7
CiB9CkBAIC0yNjYxLDcgKzI2NjEsNyBAQCB2b2lkIEVkaXRvcjo6Y2hhbmdlU2VsZWN0aW9uQWZ0
ZXJDb21tYW5kKGNvbnN0IFZpc2libGVTZWxlY3Rpb24mIG5ld1NlbGVjdGlvbiwgYgogICAgIC8v
IGRvZXMgbm90IGNhbGwgRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKCks
IHdoaWNoLCBvbiB0aGUgTWFjLCBzZW5kcyBzZWxlY3Rpb24gY2hhbmdlIG5vdGlmaWNhdGlvbnMg
YW5kCiAgICAgLy8gc3RhcnRzIGEgbmV3IGtpbGwgcmluZyBzZXF1ZW5jZSwgYnV0IHdlIHdhbnQg
dG8gZG8gdGhlc2UgdGhpbmdzIChtYXRjaGVzIEFwcEtpdCkuCiAgICAgaWYgKHNlbGVjdGlvbkRp
ZE5vdENoYW5nZURPTVBvc2l0aW9uKQotICAgICAgICBjbGllbnQoKS0+cmVzcG9uZFRvQ2hhbmdl
ZFNlbGVjdGlvbigpOworICAgICAgICBjbGllbnQoKS0+cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlv
bihtX2ZyYW1lKTsKIH0KIAogU3RyaW5nIEVkaXRvcjo6c2VsZWN0ZWRUZXh0KCkgY29uc3QKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaCBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAppbmRleCA1MzJmNDI1Li4yNTBjZjBmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCkBAIC00NTksNyArNDU5LDcgQEAgcHVibGlj
OgogICAgIC8vCiAgICAgdmlydHVhbCB2b2lkIGRpZEJlZ2luRWRpdGluZygpIHsgfQogICAgIHZp
cnR1YWwgdm9pZCByZXNwb25kVG9DaGFuZ2VkQ29udGVudHMoKSB7IH0KLSAgICB2aXJ0dWFsIHZv
aWQgcmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbigpIHsgfQorICAgIHZpcnR1YWwgdm9pZCByZXNw
b25kVG9DaGFuZ2VkU2VsZWN0aW9uKEZyYW1lKikgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZEVu
ZEVkaXRpbmcoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkV3JpdGVTZWxlY3Rpb25Ub1Bhc3Rl
Ym9hcmQoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkU2V0U2VsZWN0aW9uVHlwZXNGb3JQYXN0
ZWJvYXJkKCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0VkaXRvckNsaWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FZGl0b3JDbGllbnQuaAppbmRleCBhMzdjOGI5Li5h
ZmQxODQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0VkaXRvckNsaWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRWRpdG9yQ2xpZW50LmgKQEAgLTk0LDcgKzk0LDcgQEAg
cHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGRpZEJlZ2luRWRpdGluZygpID0gMDsKICAgICB2
aXJ0dWFsIHZvaWQgcmVzcG9uZFRvQ2hhbmdlZENvbnRlbnRzKCkgPSAwOwotICAgIHZpcnR1YWwg
dm9pZCByZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBy
ZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKEZyYW1lKikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBk
aWRFbmRFZGl0aW5nKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaWRXcml0ZVNlbGVjdGlvblRv
UGFzdGVib2FyZCgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlkU2V0U2VsZWN0aW9uVHlwZXNG
b3JQYXN0ZWJvYXJkKCkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCAwMzM5Y2Jk
Li5iOTU4NGQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisy
MDExLTEwLTE3ICBBbnRvbmlvIEdvbWVzICA8YWdvbWVzQHJpbS5jb20+CisKKyAgICAgICAgUGFz
cyBhIEZyYW1lKiBwYXJhbWV0ZXIgaW4gRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2Vs
ZWN0aW9uCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBzcmMvRWRpdG9yQ2xpZW50SW1wbC5jcHA6IE1ha2UgdXNlIG9mIHRoZSBuZXdseSBhZGRlZCBG
cmFtZSogcGFyYW1ldGVyLgorICAgICAgICAoV2ViS2l0OjpFZGl0b3JDbGllbnRJbXBsOjpyZXNw
b25kVG9DaGFuZ2VkU2VsZWN0aW9uKToKKyAgICAgICAgKiBzcmMvRWRpdG9yQ2xpZW50SW1wbC5o
OiBDaGFuZ2UgdGhlIG1ldGhvZCBzaWduYXR1cmUsIGFzIHBlciBiYXNlIGNsYXNzIGNoYW5nZS4K
KwogMjAxMS0xMC0xNiAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAg
IEFsd2F5cyBlbmFibGUgRU5BQkxFKERPTV9TVE9SQUdFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvRWRpdG9yQ2xpZW50SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9FZGl0b3JDbGllbnRJbXBsLmNwcAppbmRleCBlZjMwNWNjLi40NjY4NmE1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9FZGl0b3JDbGllbnRJbXBsLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9FZGl0b3JDbGllbnRJbXBsLmNwcApA
QCAtMjYwLDEwICsyNjAsOSBAQCB2b2lkIEVkaXRvckNsaWVudEltcGw6OmRpZEJlZ2luRWRpdGlu
ZygpCiAgICAgICAgIG1fd2ViVmlldy0+Y2xpZW50KCktPmRpZEJlZ2luRWRpdGluZygpOwogfQog
Ci12b2lkIEVkaXRvckNsaWVudEltcGw6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oKQordm9p
ZCBFZGl0b3JDbGllbnRJbXBsOjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKEZyYW1lKiBmcmFt
ZSkKIHsKICAgICBpZiAobV93ZWJWaWV3LT5jbGllbnQoKSkgewotICAgICAgICBGcmFtZSogZnJh
bWUgPSBtX3dlYlZpZXctPmZvY3VzZWRXZWJDb3JlRnJhbWUoKTsKICAgICAgICAgaWYgKGZyYW1l
KQogICAgICAgICAgICAgbV93ZWJWaWV3LT5jbGllbnQoKS0+ZGlkQ2hhbmdlU2VsZWN0aW9uKCFm
cmFtZS0+c2VsZWN0aW9uKCktPmlzUmFuZ2UoKSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvRWRpdG9yQ2xpZW50SW1wbC5oIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvRWRpdG9yQ2xpZW50SW1wbC5oCmluZGV4IDJkZGVlMzYuLjM0MjMzNGUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0VkaXRvckNsaWVudEltcGwuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9FZGl0b3JDbGllbnRJbXBsLmgKQEAgLTM3
LDYgKzM3LDcgQEAKICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
eworY2xhc3MgRnJhbWU7CiBjbGFzcyBIVE1MSW5wdXRFbGVtZW50OwogY2xhc3MgU3BlbGxDaGVj
a2VyOwogfQpAQCAtNzIsNyArNzMsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIHNob3Vs
ZE1vdmVSYW5nZUFmdGVyRGVsZXRlKFdlYkNvcmU6OlJhbmdlKiwgV2ViQ29yZTo6UmFuZ2UqKTsK
ICAgICB2aXJ0dWFsIHZvaWQgZGlkQmVnaW5FZGl0aW5nKCk7CiAgICAgdmlydHVhbCB2b2lkIHJl
c3BvbmRUb0NoYW5nZWRDb250ZW50cygpOwotICAgIHZpcnR1YWwgdm9pZCByZXNwb25kVG9DaGFu
Z2VkU2VsZWN0aW9uKCk7CisgICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rp
b24oV2ViQ29yZTo6RnJhbWUqKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkRW5kRWRpdGluZygpOwog
ICAgIHZpcnR1YWwgdm9pZCBkaWRXcml0ZVNlbGVjdGlvblRvUGFzdGVib2FyZCgpOwogICAgIHZp
cnR1YWwgdm9pZCBkaWRTZXRTZWxlY3Rpb25UeXBlc0ZvclBhc3RlYm9hcmQoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5n
ZUxvZwppbmRleCA2OTIwNmI0Li45MTRkYmYwIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTMgQEAKKzIwMTEtMTAtMTcgIEFudG9uaW8gR29tZXMgIDxhZ29tZXNAcmltLmNvbT4KKworICAg
ICAgICBQYXNzIGEgRnJhbWUqIHBhcmFtZXRlciBpbiBFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0No
YW5nZWRTZWxlY3Rpb24KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEVmbC5jcHA6IE1ha2UgdXNlIG9m
IHRoZSBuZXdseSBhZGRlZCBGcmFtZSogcGFyYW1ldGVyLgorICAgICAgICAoV2ViQ29yZTo6RWRp
dG9yQ2xpZW50RWZsOjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKToKKyAgICAgICAgKiBXZWJD
b3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuaDoKKwogMjAxMS0xMC0xNCAgTWFyayBIYWhuZW5i
ZXJnICA8bWhhaG5lbmJlcmdAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbmFtZSB2aXJ0dWFsIHB1
dCB0byBwdXRWaXJ0dWFsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3Vw
cG9ydC9FZGl0b3JDbGllbnRFZmwuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBv
cnQvRWRpdG9yQ2xpZW50RWZsLmNwcAppbmRleCBmZmNiNzA2Li5kODRmZWVhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEVmbC5jcHAK
QEAgLTEzMywyNSArMTMzLDE2IEBAIHZvaWQgRWRpdG9yQ2xpZW50RWZsOjpyZXNwb25kVG9DaGFu
Z2VkQ29udGVudHMoKQogICAgIGV3a19mcmFtZV9lZGl0b3JfY2xpZW50X2NvbnRlbnRzX2NoYW5n
ZWQoZnJhbWUpOwogfQogCi12b2lkIEVkaXRvckNsaWVudEVmbDo6cmVzcG9uZFRvQ2hhbmdlZFNl
bGVjdGlvbigpCit2b2lkIEVkaXRvckNsaWVudEVmbDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlv
bihGcmFtZSogY29yZUZyYW1lKQogewotICAgIEV2YXNfT2JqZWN0KiBmcmFtZSA9IGV3a192aWV3
X2ZyYW1lX2ZvY3VzZWRfZ2V0KG1fdmlldyk7Ci0KLSAgICBpZiAoIWZyYW1lKQotICAgICAgICBm
cmFtZSA9IGV3a192aWV3X2ZyYW1lX21haW5fZ2V0KG1fdmlldyk7Ci0KLSAgICBpZiAoIWZyYW1l
KQotICAgICAgICByZXR1cm47Ci0KLSAgICBXZWJDb3JlOjpGcmFtZSogY29yZUZyYW1lID0gZXdr
X2ZyYW1lX2NvcmVfZ2V0KGZyYW1lKTsKLQogICAgIGlmICghY29yZUZyYW1lKQogICAgICAgICBy
ZXR1cm47CiAKICAgICBpZiAoY29yZUZyYW1lLT5lZGl0b3IoKSAmJiBjb3JlRnJhbWUtPmVkaXRv
cigpLT5pZ25vcmVDb21wb3NpdGlvblNlbGVjdGlvbkNoYW5nZSgpKQogICAgICAgICByZXR1cm47
CiAKLSAgICBld2tfZnJhbWVfZWRpdG9yX2NsaWVudF9zZWxlY3Rpb25fY2hhbmdlZChmcmFtZSk7
CisgICAgRXZhc09iamVjdCogd2ViRnJhbWUgPSBFV0tQcml2YXRlOjpraXRGcmFtZShjb3JlRnJh
bWUpOworICAgIGV3a19mcmFtZV9lZGl0b3JfY2xpZW50X3NlbGVjdGlvbl9jaGFuZ2VkKHdlYkZy
YW1lKTsKIH0KIAogdm9pZCBFZGl0b3JDbGllbnRFZmw6OmRpZEVuZEVkaXRpbmcoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmgg
Yi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuaAppbmRl
eCA1M2JhMzkyLi4zYjEwODU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3Jl
U3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3Jl
U3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuaApAQCAtNzksNyArNzksNyBAQCBwdWJsaWM6CiAKICAg
ICB2aXJ0dWFsIHZvaWQgZGlkQmVnaW5FZGl0aW5nKCk7CiAgICAgdmlydHVhbCB2b2lkIHJlc3Bv
bmRUb0NoYW5nZWRDb250ZW50cygpOwotICAgIHZpcnR1YWwgdm9pZCByZXNwb25kVG9DaGFuZ2Vk
U2VsZWN0aW9uKCk7CisgICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24o
RnJhbWUqKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkRW5kRWRpdGluZygpOwogICAgIHZpcnR1YWwg
dm9pZCBkaWRXcml0ZVNlbGVjdGlvblRvUGFzdGVib2FyZCgpOwogICAgIHZpcnR1YWwgdm9pZCBk
aWRTZXRTZWxlY3Rpb25UeXBlc0ZvclBhc3RlYm9hcmQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvZ3RrL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCBj
N2FkYjY5Li5mZDdlMDg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEt
MTAtMTcgIEFudG9uaW8gR29tZXMgIDxhZ29tZXNAcmltLmNvbT4KKworICAgICAgICBQYXNzIGEg
RnJhbWUqIHBhcmFtZXRlciBpbiBFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rp
b24KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdl
YkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5jcHA6IE1ha2UgdXNlIG9mIHRoZSBuZXdseSBh
ZGRlZCBGcmFtZSogcGFyYW1ldGVyLgorICAgICAgICAoV2ViS2l0OjpFZGl0b3JDbGllbnQ6OnJl
c3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24pOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0VkaXRv
ckNsaWVudEd0ay5oOgorCiAyMDExLTEwLTEyICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQu
b3JnPgogCiAgICAgICAgIE1ha2UgdGhlIGludGVyZmFjZSBvZiBsb2NhdGlvbkFuZExlbmd0aEZy
b21SYW5nZSBhbmQgcmFuZ2VGcm9tTG9jYXRpb25BbmRMZW5ndGggY29uc2lzdGVudApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmNw
cCBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5jcHAK
aW5kZXggYjE1NzIyOC4uYjBmMjQyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvV2Vi
Q29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9X
ZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuY3BwCkBAIC0zMDIsMzMgKzMwMiwzMSBAQCBz
dGF0aWMgdm9pZCBzZXRTZWxlY3Rpb25QcmltYXJ5Q2xpcGJvYXJkSWZOZWVkZWQoV2ViS2l0V2Vi
Vmlldyogd2ViVmlldykKIH0KICNlbmRpZgogCi12b2lkIEVkaXRvckNsaWVudDo6cmVzcG9uZFRv
Q2hhbmdlZFNlbGVjdGlvbigpCit2b2lkIEVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZFNl
bGVjdGlvbihGcmFtZSogZnJhbWUpCiB7CiAgICAgZ19zaWduYWxfZW1pdF9ieV9uYW1lKG1fd2Vi
VmlldywgInNlbGVjdGlvbi1jaGFuZ2VkIik7CiAKLSAgICBXZWJLaXRXZWJWaWV3UHJpdmF0ZSog
cHJpdiA9IG1fd2ViVmlldy0+cHJpdjsKLSAgICBXZWJDb3JlOjpQYWdlKiBjb3JlUGFnZSA9IGNv
cmUobV93ZWJWaWV3KTsKLSAgICBGcmFtZSogdGFyZ2V0RnJhbWUgPSBjb3JlUGFnZS0+Zm9jdXND
b250cm9sbGVyKCktPmZvY3VzZWRPck1haW5GcmFtZSgpOwotCi0gICAgaWYgKCF0YXJnZXRGcmFt
ZSkKKyAgICBpZiAoIWZyYW1lKQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAodGFyZ2V0RnJh
bWUtPmVkaXRvcigpLT5pZ25vcmVDb21wb3NpdGlvblNlbGVjdGlvbkNoYW5nZSgpKQorICAgIGlm
IChmcmFtZS0+ZWRpdG9yKCktPmlnbm9yZUNvbXBvc2l0aW9uU2VsZWN0aW9uQ2hhbmdlKCkpCiAg
ICAgICAgIHJldHVybjsKIAogI2lmIFBMQVRGT1JNKFgxMSkKICAgICBzZXRTZWxlY3Rpb25Qcmlt
YXJ5Q2xpcGJvYXJkSWZOZWVkZWQobV93ZWJWaWV3KTsKICNlbmRpZgogCi0gICAgaWYgKCF0YXJn
ZXRGcmFtZS0+ZWRpdG9yKCktPmhhc0NvbXBvc2l0aW9uKCkpCisgICAgaWYgKCFmcmFtZS0+ZWRp
dG9yKCktPmhhc0NvbXBvc2l0aW9uKCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIHVuc2lnbmVk
IHN0YXJ0OwogICAgIHVuc2lnbmVkIGVuZDsKLSAgICBpZiAoIXRhcmdldEZyYW1lLT5lZGl0b3Io
KS0+Z2V0Q29tcG9zaXRpb25TZWxlY3Rpb24oc3RhcnQsIGVuZCkpIHsKKyAgICBXZWJLaXRXZWJW
aWV3UHJpdmF0ZSogcHJpdiA9IG1fd2ViVmlldy0+cHJpdjsKKworICAgIGlmICghZnJhbWUtPmVk
aXRvcigpLT5nZXRDb21wb3NpdGlvblNlbGVjdGlvbihzdGFydCwgZW5kKSkgewogICAgICAgICAv
LyBndGtfaW1fY29udGV4dF9yZXNldCgpIGNsZWFycyB0aGUgY29tcG9zaXRpb24gZm9yIHVzLgog
ICAgICAgICBndGtfaW1fY29udGV4dF9yZXNldChwcml2LT5pbUNvbnRleHQuZ2V0KCkpOwotICAg
ICAgICB0YXJnZXRGcmFtZS0+ZWRpdG9yKCktPmNhbmNlbENvbXBvc2l0aW9uKCk7CisgICAgICAg
IGZyYW1lLT5lZGl0b3IoKS0+Y2FuY2VsQ29tcG9zaXRpb24oKTsKICAgICB9CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5o
IGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmgKaW5k
ZXggYTBmYWRkOC4uNjk4NmE2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29y
ZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmgKKysrIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29y
ZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmgKQEAgLTEwMCw3ICsxMDAsNyBAQCBjbGFzcyBFZGl0
b3JDbGllbnQgOiBwdWJsaWMgV2ViQ29yZTo6RWRpdG9yQ2xpZW50IHsKIAogICAgICAgICB2aXJ0
dWFsIHZvaWQgZGlkQmVnaW5FZGl0aW5nKCk7CiAgICAgICAgIHZpcnR1YWwgdm9pZCByZXNwb25k
VG9DaGFuZ2VkQ29udGVudHMoKTsKLSAgICAgICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5n
ZWRTZWxlY3Rpb24oKTsKKyAgICAgICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5nZWRTZWxl
Y3Rpb24oV2ViQ29yZTo6RnJhbWUqKTsKICAgICAgICAgdmlydHVhbCB2b2lkIGRpZEVuZEVkaXRp
bmcoKTsKICAgICAgICAgdmlydHVhbCB2b2lkIGRpZFdyaXRlU2VsZWN0aW9uVG9QYXN0ZWJvYXJk
KCk7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRTZXRTZWxlY3Rpb25UeXBlc0ZvclBhc3RlYm9h
cmQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCA1MDRiMDEyLi40N2EyN2YzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMTAtMTcgIEFudG9uaW8gR29tZXMgIDxhZ29tZXNA
cmltLmNvbT4KKworICAgICAgICBQYXNzIGEgRnJhbWUqIHBhcmFtZXRlciBpbiBFZGl0b3JDbGll
bnQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5o
OgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5tbTogTWFrZSB1c2Ug
b2YgdGhlIG5ld2x5IGFkZGVkIEZyYW1lKiBwYXJhbWV0ZXIuCisgICAgICAgIChXZWJFZGl0b3JD
bGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24pOgorCiAyMDExLTEwLTE2ICBBZGFtIEJh
cnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWx3YXlzIGVuYWJsZSBFTkFCTEUo
RE9NX1NUT1JBR0UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9y
dC9XZWJFZGl0b3JDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dl
YkVkaXRvckNsaWVudC5oCmluZGV4IDZhMjc0MDAuLmFhY2NiYWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5oCkBAIC05OCw3ICs5
OCw3IEBAIHB1YmxpYzoKICAgICBUZXh0Q2hlY2tlckNsaWVudCogdGV4dENoZWNrZXIoKSBPVkVS
UklERSB7IHJldHVybiB0aGlzOyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgcmVzcG9uZFRvQ2hhbmdl
ZENvbnRlbnRzKCkgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5nZWRT
ZWxlY3Rpb24oKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgcmVzcG9uZFRvQ2hhbmdlZFNl
bGVjdGlvbihXZWJDb3JlOjpGcmFtZSopIE9WRVJSSURFOwogCiAgICAgdmlydHVhbCB2b2lkIHJl
Z2lzdGVyQ29tbWFuZEZvclVuZG8oUGFzc1JlZlB0cjxXZWJDb3JlOjpFZGl0Q29tbWFuZD4pIE9W
RVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCByZWdpc3RlckNvbW1hbmRGb3JSZWRvKFBhc3NSZWZQ
dHI8V2ViQ29yZTo6RWRpdENvbW1hbmQ+KSBPVkVSUklERTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5tbSBiL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5tbQppbmRleCBkMTkzODQxLi5l
NmZmMWJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJF
ZGl0b3JDbGllbnQubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2Vi
RWRpdG9yQ2xpZW50Lm1tCkBAIC0yOTAsOSArMjkwLDkgQEAgdm9pZCBXZWJFZGl0b3JDbGllbnQ6
OnJlc3BvbmRUb0NoYW5nZWRDb250ZW50cygpCiAgICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBk
ZWZhdWx0Q2VudGVyXSBwb3N0Tm90aWZpY2F0aW9uTmFtZTpXZWJWaWV3RGlkQ2hhbmdlTm90aWZp
Y2F0aW9uIG9iamVjdDptX3dlYlZpZXddOyAgICAKIH0KIAotdm9pZCBXZWJFZGl0b3JDbGllbnQ6
OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oKQordm9pZCBXZWJFZGl0b3JDbGllbnQ6OnJlc3Bv
bmRUb0NoYW5nZWRTZWxlY3Rpb24oRnJhbWUqIGZyYW1lKQogewotICAgIE5TVmlldzxXZWJEb2N1
bWVudFZpZXc+ICpkb2N1bWVudFZpZXcgPSBbW1ttX3dlYlZpZXcgX3NlbGVjdGVkT3JNYWluRnJh
bWVdIGZyYW1lVmlld10gZG9jdW1lbnRWaWV3XTsKKyAgICBOU1ZpZXc8V2ViRG9jdW1lbnRWaWV3
PiAqZG9jdW1lbnRWaWV3ID0gW1tbZnJhbWVdIGZyYW1lVmlld10gZG9jdW1lbnRWaWV3XTsKICAg
ICBpZiAoW2RvY3VtZW50VmlldyBpc0tpbmRPZkNsYXNzOltXZWJIVE1MVmlldyBjbGFzc11dKQog
ICAgICAgICBbKFdlYkhUTUxWaWV3ICopZG9jdW1lbnRWaWV3IF9zZWxlY3Rpb25DaGFuZ2VkXTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
L3F0L0NoYW5nZUxvZwppbmRleCBkMjVjYjA0Li4zY2MwZTFmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAt
MSwzICsxLDEzIEBACisyMDExLTEwLTE3ICBBbnRvbmlvIEdvbWVzICA8YWdvbWVzQHJpbS5jb20+
CisKKyAgICAgICAgUGFzcyBhIEZyYW1lKiBwYXJhbWV0ZXIgaW4gRWRpdG9yQ2xpZW50OjpyZXNw
b25kVG9DaGFuZ2VkU2VsZWN0aW9uCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRRdC5jcHA6IE1ha2Ug
dXNlIG9mIHRoZSBuZXdseSBhZGRlZCBGcmFtZSogcGFyYW1ldGVyLgorICAgICAgICAoV2ViQ29y
ZTo6RWRpdG9yQ2xpZW50UXQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24pOgorICAgICAgICAq
IFdlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudFF0Lmg6CisKIDIwMTEtMTAtMTUgIEFkYW0gQmFy
dGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZW5hbWUgRU5BQkxFKFRJTEVEX0JB
Q0tJTkdfU1RPUkUpIHRvIFVTRShUSUxFRF9CQUNLSU5HX1NUT1JFKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRRdC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudFF0LmNwcAppbmRleCBmMzg3ZWE5
Li5mOTU4ZTg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Vk
aXRvckNsaWVudFF0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Vk
aXRvckNsaWVudFF0LmNwcApAQCAtMjAxLDcgKzIwMSw3IEBAIHZvaWQgRWRpdG9yQ2xpZW50UXQ6
OnJlc3BvbmRUb0NoYW5nZWRDb250ZW50cygpCiAgICAgZW1pdCBtX3BhZ2UtPmNvbnRlbnRzQ2hh
bmdlZCgpOwogfQogCi12b2lkIEVkaXRvckNsaWVudFF0OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0
aW9uKCkKK3ZvaWQgRWRpdG9yQ2xpZW50UXQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oRnJh
bWUqIGZyYW1lKQogewogICAgIGlmIChkdW1wRWRpdGluZ0NhbGxiYWNrcykKICAgICAgICAgcHJp
bnRmKCJFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdE
aWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb25cbiIpOwpAQCAtMjEyLDcgKzIxMiw2IEBAIHZv
aWQgRWRpdG9yQ2xpZW50UXQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oKQogCiAgICAgbV9w
YWdlLT5kLT51cGRhdGVFZGl0b3JBY3Rpb25zKCk7CiAgICAgZW1pdCBtX3BhZ2UtPnNlbGVjdGlv
bkNoYW5nZWQoKTsKLSAgICBGcmFtZSogZnJhbWUgPSBtX3BhZ2UtPmQtPnBhZ2UtPmZvY3VzQ29u
dHJvbGxlcigpLT5mb2N1c2VkT3JNYWluRnJhbWUoKTsKICAgICBpZiAoIWZyYW1lLT5lZGl0b3Io
KS0+aWdub3JlQ29tcG9zaXRpb25TZWxlY3Rpb25DaGFuZ2UoKSkKICAgICAgICAgZW1pdCBtX3Bh
Z2UtPm1pY3JvRm9jdXNDaGFuZ2VkKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0
L1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudFF0LmggYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNv
cmVTdXBwb3J0L0VkaXRvckNsaWVudFF0LmgKaW5kZXggZDk2NThiYi4uNmU2YTBhNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRRdC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50UXQuaApAQCAt
NjksNyArNjksNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlkQmVnaW5FZGl0aW5n
KCk7CiAgICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5nZWRDb250ZW50cygpOwotICAgIHZp
cnR1YWwgdm9pZCByZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKCk7CisgICAgdmlydHVhbCB2b2lk
IHJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oRnJhbWUqKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlk
RW5kRWRpdGluZygpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRXcml0ZVNlbGVjdGlvblRvUGFzdGVi
b2FyZCgpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRTZXRTZWxlY3Rpb25UeXBlc0ZvclBhc3RlYm9h
cmQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCA5NzEyMmZjLi5iYTgxOWZkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMTAtMTcgIEFudG9uaW8gR29tZXMgIDxhZ29tZXNA
cmltLmNvbT4KKworICAgICAgICBQYXNzIGEgRnJhbWUqIHBhcmFtZXRlciBpbiBFZGl0b3JDbGll
bnQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5j
cHA6IE1ha2UgdXNlIG9mIHRoZSBuZXdseSBhZGRlZCBGcmFtZSogcGFyYW1ldGVyLgorICAgICAg
ICAoV2ViRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKToKKyAgICAgICAg
KiBXZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuaDoKKwogMjAxMS0xMC0xNCAgSnVsaWVu
IENoYWZmcmFpeCAgPGpjaGFmZnJhaXhAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1vdmUgbGF5
ZXJYIC8gbGF5ZXJZIGZyb20gdGhlIFdpbmRvd3MgQVBJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuY3BwIGIvU291cmNlL1dlYktp
dC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmNwcAppbmRleCBjMDE1YjIzLi5l
NTBjNmQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJF
ZGl0b3JDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dl
YkVkaXRvckNsaWVudC5jcHAKQEAgLTIwOCw3ICsyMDgsNyBAQCB2b2lkIFdlYkVkaXRvckNsaWVu
dDo6cmVzcG9uZFRvQ2hhbmdlZENvbnRlbnRzKCkKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQog
Ci12b2lkIFdlYkVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbigpCit2b2lk
IFdlYkVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbihGcmFtZSopCiB7CiAg
ICAgbV93ZWJWaWV3LT5zZWxlY3Rpb25DaGFuZ2VkKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5oIGIvU291cmNlL1dlYktp
dC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmgKaW5kZXggMWRiNGM2OC4uMjhk
ZTljMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRWRp
dG9yQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRWRp
dG9yQ2xpZW50LmgKQEAgLTU4LDcgKzU4LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBk
aWRTZXRTZWxlY3Rpb25UeXBlc0ZvclBhc3RlYm9hcmQoKTsKIAogICAgIHZpcnR1YWwgdm9pZCBy
ZXNwb25kVG9DaGFuZ2VkQ29udGVudHMoKTsKLSAgICB2aXJ0dWFsIHZvaWQgcmVzcG9uZFRvQ2hh
bmdlZFNlbGVjdGlvbigpOworICAgIHZpcnR1YWwgdm9pZCByZXNwb25kVG9DaGFuZ2VkU2VsZWN0
aW9uKFdlYkNvcmU6OkZyYW1lKik7CiAKICAgICBib29sIHNob3VsZFNob3dEZWxldGVJbnRlcmZh
Y2UoV2ViQ29yZTo6SFRNTEVsZW1lbnQqKTsKICAgICBib29sIHNob3VsZERlbGV0ZVJhbmdlKFdl
YkNvcmU6OlJhbmdlKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3d4L0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvd3gvQ2hhbmdlTG9nCmluZGV4IGM2MzYwMDEuLmJiMGZlYzMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd3gvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd3gv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMTAtMTcgIEFudG9uaW8gR29tZXMgIDxh
Z29tZXNAcmltLmNvbT4KKworICAgICAgICBQYXNzIGEgRnJhbWUqIHBhcmFtZXRlciBpbiBFZGl0
b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYktpdFN1cHBvcnQvRWRpdG9yQ2xpZW50
V3guY3BwOiBNYWtlIHVzZSBvZiB0aGUgbmV3bHkgYWRkZWQgRnJhbWUqIHBhcmFtZXRlci4KKyAg
ICAgICAgKFdlYkNvcmU6OkVkaXRvckNsaWVudFd4OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9u
KToKKyAgICAgICAgKiBXZWJLaXRTdXBwb3J0L0VkaXRvckNsaWVudFd4Lmg6CisKIDIwMTEtMDkt
MjQgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBBbHdheXMgZW5h
YmxlIEVOQUJMRShPRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvRWRpdG9yQ2xpZW50V3guY3BwIGIvU291cmNlL1dlYktp
dC93eC9XZWJLaXRTdXBwb3J0L0VkaXRvckNsaWVudFd4LmNwcAppbmRleCA1ODEyZGZlLi43YTE3
YWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvRWRpdG9yQ2xp
ZW50V3guY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9FZGl0b3JDbGll
bnRXeC5jcHAKQEAgLTQ4Nyw5ICs0ODcsOCBAQCB2b2lkIEVkaXRvckNsaWVudFd4Ojp0ZXh0RGlk
Q2hhbmdlSW5UZXh0QXJlYShFbGVtZW50KikKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCi12
b2lkIEVkaXRvckNsaWVudFd4OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKCkKK3ZvaWQgRWRp
dG9yQ2xpZW50V3g6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oRnJhbWUqIGZyYW1lKQogewot
ICAgIEZyYW1lKiBmcmFtZSA9IG1fcGFnZS0+Zm9jdXNDb250cm9sbGVyKCktPmZvY3VzZWRPck1h
aW5GcmFtZSgpOwogICAgIGlmIChmcmFtZSkgewogICAgICAgICB3eFdlYlZpZXcqIHdlYktpdFdp
biA9IGR5bmFtaWNfY2FzdDx3eFdlYlZpZXcqPihmcmFtZS0+dmlldygpLT5ob3N0V2luZG93KCkt
PnBsYXRmb3JtUGFnZUNsaWVudCgpKTsKICAgICAgICAgaWYgKHdlYktpdFdpbikgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0VkaXRvckNsaWVudFd4LmggYi9T
b3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvRWRpdG9yQ2xpZW50V3guaAppbmRleCA3Mzcw
ZjBhLi4zMThmNTRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQv
RWRpdG9yQ2xpZW50V3guaAorKysgYi9Tb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvRWRp
dG9yQ2xpZW50V3guaApAQCAtNzIsNyArNzIsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZv
aWQgZGlkQmVnaW5FZGl0aW5nKCk7CiAgICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5nZWRD
b250ZW50cygpOwotICAgIHZpcnR1YWwgdm9pZCByZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKCk7
CisgICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oRnJhbWUqKTsKICAg
ICB2aXJ0dWFsIHZvaWQgZGlkRW5kRWRpdGluZygpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRXcml0
ZVNlbGVjdGlvblRvUGFzdGVib2FyZCgpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRTZXRTZWxlY3Rp
b25UeXBlc0ZvclBhc3RlYm9hcmQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBlZGViN2RjLi40NGNiMjNmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMTAtMTcgIEFudG9uaW8gR29tZXMgIDxh
Z29tZXNAcmltLmNvbT4KKworICAgICAgICBQYXNzIGEgRnJhbWUqIHBhcmFtZXRlciBpbiBFZGl0
b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViRWRpdG9yQ2xpZW50LmNwcDogTWFrZSB1c2Ugb2YgdGhlIG5ld2x5IGFkZGVkIEZyYW1lKiBw
YXJhbWV0ZXIuCisgICAgICAgIChXZWJLaXQ6OldlYkVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hh
bmdlZFNlbGVjdGlvbik6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJF
ZGl0b3JDbGllbnQuaDoKKwogMjAxMS0xMC0xNiAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQu
b3JnPgogCiAgICAgICAgIEFsd2F5cyBlbmFibGUgRU5BQkxFKERPTV9TVE9SQUdFKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JD
bGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJF
ZGl0b3JDbGllbnQuY3BwCmluZGV4IGU5YzEyNjAuLjhlNzEzZmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNs
aWVudC5jcHAKQEAgLTE3NCwxMSArMTc0LDEwIEBAIHZvaWQgV2ViRWRpdG9yQ2xpZW50OjpyZXNw
b25kVG9DaGFuZ2VkQ29udGVudHMoKQogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKLXZvaWQg
V2ViRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKCkKK3ZvaWQgV2ViRWRp
dG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKEZyYW1lKikKIHsKICAgICBERUZJ
TkVfU1RBVElDX0xPQ0FMKFN0cmluZywgV2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNh
dGlvbiwgKCJXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uIikpOwogICAgIG1f
cGFnZS0+aW5qZWN0ZWRCdW5kbGVFZGl0b3JDbGllbnQoKS5kaWRDaGFuZ2VTZWxlY3Rpb24obV9w
YWdlLCBXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uLmltcGwoKSk7Ci0gICAg
RnJhbWUqIGZyYW1lID0gbV9wYWdlLT5jb3JlUGFnZSgpLT5mb2N1c0NvbnRyb2xsZXIoKS0+Zm9j
dXNlZEZyYW1lKCk7CiAgICAgaWYgKCFmcmFtZSkKICAgICAgICAgcmV0dXJuOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNs
aWVudC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0
b3JDbGllbnQuaAppbmRleCA1ZTczNjMyLi5lMmJlZjlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmgK
QEAgLTY0LDcgKzY0LDcgQEAgcHJpdmF0ZToKIAogICAgIHZpcnR1YWwgdm9pZCBkaWRCZWdpbkVk
aXRpbmcoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgcmVzcG9uZFRvQ2hhbmdlZENvbnRl
bnRzKCkgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rp
b24oKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgcmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlv
bihXZWJDb3JlOjpGcmFtZSopIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBkaWRFbmRFZGl0
aW5nKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGRpZFdyaXRlU2VsZWN0aW9uVG9QYXN0
ZWJvYXJkKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGRpZFNldFNlbGVjdGlvblR5cGVz
Rm9yUGFzdGVib2FyZCgpIE9WRVJSSURFOwotLSAKMS43LjEKCg==
</data>
<flag name="commit-queue"
          id="109093"
          type_id="3"
          status="-"
          setter="gyuyoung.kim"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111297</attachid>
            <date>2011-10-17 12:16:52 -0700</date>
            <delta_ts>2011-10-17 13:45:43 -0700</delta_ts>
            <desc>patch v1.2 - for EWS to build</desc>
            <filename>0001-2011-10-17-Antonio-Gomes-agomes-rim.com.patch</filename>
            <type>text/plain</type>
            <size>26315</size>
            <attacher name="Antonio Gomes">tonikitoo</attacher>
            
              <data encoding="base64">RnJvbSA5ZmM0NzlkMjMxMzNjODgzNDg0MmI3ZjdiNWEzZWVmNDcxN2ZhYmQ0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRvbmlvIEdvbWVzIDxhZ29tZXNAcmltLmNvbT4KRGF0ZTog
TW9uLCAxNyBPY3QgMjAxMSAxMzo1MjoyNCAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIDIwMTEtMTAt
MTcgIEFudG9uaW8gR29tZXMgIDxhZ29tZXNAcmltLmNvbT4KCiAgICAgICAgUGFzcyBhIEZyYW1l
KiBwYXJhbWV0ZXIgaW4gRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uCgog
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICBNb3N0IG9mIHRoZSBw
b3J0IHNwZWNpZmljIGltcGxlbWVudGF0aW9ucyBvZiBFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0No
YW5nZWRTZWxlY3Rpb24KICAgICAgICAobGlrZSBFZGl0b3JDbGllbnR7UXQsR3RrLGV0Y30pIGFy
ZSB3cm9uZ2x5IHJlbHlpbmcgb24gRm9jdXNDb250cm9sbGVyOjpmb2N1c2VkT3JNYWluRnJhbWUK
ICAgICAgICBtZXRob2QgdG8gZ2V0IHRoZSBGcmFtZSB3aGVyZSB0aGUgc2VsZWN0aW9uIGlzIGhh
cHBlbmluZyBvbi4KCiAgICAgICAgSXQgaXMgbm90IHJpZ2h0LCBzaW5jZSBhIHNlbGVjdGlvbiBj
YW4gYmUgZWFzaWx5IHRyaWdnZXJlZCBpbiBhbiBpbm5lcgogICAgICAgIGZyYW1lIHRoYXQgaXMg
bm90IGZvY3VzZWQuCgogICAgICAgIE5vIG5ldyB0ZXN0cyBzaW5jZSBpdCBpcyBhIGhhcmQgdGhp
bmcgdG8gdGVzdCB3aXRob3V0CiAgICAgICAgdG8gaG9vayBpbnRvIGVkaXRvciBjbGllbnQgaW4g
bGF5b3V0IHRlc3RzLiBXZSBjb3VsZAogICAgICAgIGNoYW5nZSB0aGUgIkR1bXBlZCBEZWxlZ2F0
ZSIgbWVzc2FnZXMsIGJ1dCBpdCB3b3VsZAogICAgICAgIHJlcXVpcmUgYSByZWJhc2lsZSBvZiAr
MTIwMCBmb3IgYSBtaW5vciBjaGFuZ2UuCgogICAgICAgIFNvdXJjZS9XZWJLaXQvY2hyb21pdW06
CiAgICAgICAgKiBzcmMvRWRpdG9yQ2xpZW50SW1wbC5jcHA6CiAgICAgICAgKFdlYktpdDo6RWRp
dG9yQ2xpZW50SW1wbDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbik6CiAgICAgICAgKiBzcmMv
RWRpdG9yQ2xpZW50SW1wbC5oOgoKICAgICAgICBTb3VyY2UvV2ViS2l0L2VmbDoKICAgICAgICAq
IFdlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEVmbC5jcHA6CiAgICAgICAgKFdlYkNvcmU6OkVk
aXRvckNsaWVudEVmbDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbik6CiAgICAgICAgKiBXZWJD
b3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuaDoKCiAgICAgICAgU291cmNlL1dlYktpdC9ndGs6
CiAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuY3BwOgogICAgICAgIChX
ZWJLaXQ6OkVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbik6CiAgICAgICAg
KiBXZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuaDoKCiAgICAgICAgU291cmNlL1dlYktp
dC9tYWM6CiAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuaDoKICAgICAg
ICAqIFdlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5tbToKICAgICAgICAoV2ViRWRpdG9y
Q2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKToKCiAgICAgICAgU291cmNlL1dlYktp
dC9xdDoKICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudFF0LmNwcDoKICAgICAg
ICAoV2ViQ29yZTo6RWRpdG9yQ2xpZW50UXQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24pOgog
ICAgICAgICogV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50UXQuaDoKCiAgICAgICAgU291cmNl
L1dlYktpdC93aW46CiAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuY3Bw
OgogICAgICAgIChXZWJFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24pOgog
ICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50Lmg6CgogICAgICAgIFNvdXJj
ZS9XZWJLaXQvd3g6CiAgICAgICAgKiBXZWJLaXRTdXBwb3J0L0VkaXRvckNsaWVudFd4LmNwcDoK
ICAgICAgICAoV2ViQ29yZTo6RWRpdG9yQ2xpZW50V3g6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rp
b24pOgogICAgICAgICogV2ViS2l0U3VwcG9ydC9FZGl0b3JDbGllbnRXeC5oOgoKICAgICAgICBT
b3VyY2UvV2ViS2l0MjoKICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRWRp
dG9yQ2xpZW50LmNwcDoKICAgICAgICAoV2ViS2l0OjpXZWJFZGl0b3JDbGllbnQ6OnJlc3BvbmRU
b0NoYW5nZWRTZWxlY3Rpb24pOgogICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJFZGl0b3JDbGllbnQuaDoKCiAgICAgICAgU291cmNlL1dlYkNvcmU6CiAgICAgICAgKiBlZGl0
aW5nL0VkaXRvci5jcHA6CiAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6cmVzcG9uZFRvQ2hhbmdl
ZFNlbGVjdGlvbik6CiAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6Y2hhbmdlU2VsZWN0aW9uQWZ0
ZXJDb21tYW5kKToKICAgICAgICAqIGxvYWRlci9FbXB0eUNsaWVudHMuaDoKICAgICAgICAoV2Vi
Q29yZTo6RW1wdHlFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24pOgogICAg
ICAgICogcGFnZS9FZGl0b3JDbGllbnQuaDoKLS0tCiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMjUgKysrKysrKysrKysrKysrKysrKysKIFNv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcCAgICAgICAgICAgICAgICAgIHwgICAgNCAr
LQogU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oICAgICAgICAgICAgICAgfCAg
ICAyICstCiBTb3VyY2UvV2ViQ29yZS9wYWdlL0VkaXRvckNsaWVudC5oICAgICAgICAgICAgICAg
ICB8ICAgIDIgKy0KIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nICAgICAgICAgICAg
ICAgICAgIHwgICAxMCArKysrKysrKwogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRWRpdG9y
Q2xpZW50SW1wbC5jcHAgICAgfCAgICAzICstCiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9F
ZGl0b3JDbGllbnRJbXBsLmggICAgICB8ICAgIDMgKy0KIFNvdXJjZS9XZWJLaXQvZWZsL0NoYW5n
ZUxvZyAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxMCArKysrKysrKwogLi4uL1dlYktpdC9l
ZmwvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmNwcCAgfCAgIDE1ICsrLS0tLS0tLS0t
CiBTb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuaCB8ICAg
IDIgKy0KIFNvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAg
IHwgICAxMCArKysrKysrKwogLi4uL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xp
ZW50R3RrLmNwcCAgfCAgIDE4ICsrKysrKy0tLS0tLS0tCiBTb3VyY2UvV2ViS2l0L2d0ay9XZWJD
b3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuaCB8ICAgIDIgKy0KIFNvdXJjZS9XZWJLaXQvbWFj
L0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxMCArKysrKysrKwogU291cmNl
L1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmggfCAgICAyICstCiAu
Li4vV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQubW0gICB8ICAgIDQg
Ky0KIFNvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgIHwg
ICAxMCArKysrKysrKwogU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGll
bnRRdC5jcHAgfCAgICAzICstCiBTb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0VkaXRv
ckNsaWVudFF0LmggICB8ICAgIDIgKy0KIFNvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyAgICAg
ICAgICAgICAgICAgICAgICAgIHwgICAxMCArKysrKysrKwogLi4uL1dlYktpdC93aW4vV2ViQ29y
ZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmNwcCAgfCAgICAyICstCiBTb3VyY2UvV2ViS2l0L3dp
bi9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuaCB8ICAgIDIgKy0KIFNvdXJjZS9XZWJL
aXQvd3gvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxMCArKysrKysrKwog
U291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0VkaXRvckNsaWVudFd4LmNwcCAgfCAgICAz
ICstCiBTb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvRWRpdG9yQ2xpZW50V3guaCAgICB8
ICAgIDIgKy0KIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHwgICAxMCArKysrKysrKwogLi4uL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRWRp
dG9yQ2xpZW50LmNwcCAgfCAgICAzICstCiAuLi4vV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJFZGl0b3JDbGllbnQuaCAgICB8ICAgIDIgKy0KIDI4IGZpbGVzIGNoYW5nZWQsIDEzNiBpbnNl
cnRpb25zKCspLCA0NSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2ZiMGFmYy4uNTM2N2Yx
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDExLTEwLTE3ICBBbnRvbmlvIEdvbWVz
ICA8YWdvbWVzQHJpbS5jb20+CisKKyAgICAgICAgUGFzcyBhIEZyYW1lKiBwYXJhbWV0ZXIgaW4g
RWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW9zdCBvZiB0aGUgcG9ydCBzcGVjaWZp
YyBpbXBsZW1lbnRhdGlvbnMgb2YgRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0
aW9uCisgICAgICAgIChsaWtlIEVkaXRvckNsaWVudHtRdCxHdGssZXRjfSkgYXJlIHdyb25nbHkg
cmVseWluZyBvbiBGb2N1c0NvbnRyb2xsZXI6OmZvY3VzZWRPck1haW5GcmFtZQorICAgICAgICBt
ZXRob2QgdG8gZ2V0IHRoZSBGcmFtZSB3aGVyZSB0aGUgc2VsZWN0aW9uIGlzIGhhcHBlbmluZyBv
bi4KKyAgICAgICAgSXQgaXMgbm90IHJpZ2h0LCBzaW5jZSBhIHNlbGVjdGlvbiBjYW4gYmUgZWFz
aWx5IHRyaWdnZXJlZCBpbiBhbiBpbm5lcgorICAgICAgICBmcmFtZSB0aGF0IGlzIG5vdCBmb2N1
c2VkLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBzaW5jZSBpdCBpcyBhIGhhcmQgdGhpbmcgdG8g
dGVzdCB3aXRob3V0CisgICAgICAgIHRvIGhvb2sgaW50byBlZGl0b3IgY2xpZW50IGluIGxheW91
dCB0ZXN0cy4gV2UgY291bGQKKyAgICAgICAgY2hhbmdlIHRoZSAiRHVtcGVkIERlbGVnYXRlIiBt
ZXNzYWdlcywgYnV0IGl0IHdvdWxkCisgICAgICAgIHJlcXVpcmUgYSByZWJhc2lsZSBvZiArMTIw
MCBmb3IgYSBtaW5vciBjaGFuZ2UuCisKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvci5jcHA6IFBh
c3MgdGhlIEZyYW1lIG9uIHdoZXJlIHRoZSBzZWxlY3Rpb24gaXMKKwkJY2hhbmdpbmcgdG8gdGhl
IGNsaWVudC4KKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVj
dGlvbik6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RWRpdG9yOjpjaGFuZ2VTZWxlY3Rpb25B
ZnRlckNvbW1hbmQpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkVtcHR5RWRpdG9yQ2xpZW50
OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKToKKyAgICAgICAgKiBwYWdlL0VkaXRvckNsaWVu
dC5oOiAgUGFzcyBGcmFtZSogdG8gaW5kaWNhdGUgd2hlcmUgdGhlIHNlbGVjdGlvbiBpcyBoYXBw
ZW5pbmcuCisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5oOiBDaGFuZ2VkIHNpZ25hdHVy
ZSBhcyBwZXIgYmFzZSBjbGFzcyBjaGFuZ2UuCisKIDIwMTEtMTAtMTYgIEFkYW0gQmFydGggIDxh
YmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBBbHdheXMgZW5hYmxlIEVOQUJMRShET01fU1RP
UkFHRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAppbmRleCBiNDhhOGI1Li5hM2E5OTA4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCkBAIC00OTAsNyArNDkwLDcgQEAgYm9vbCBFZGl0
b3I6OnNob3VsZFNob3dEZWxldGVJbnRlcmZhY2UoSFRNTEVsZW1lbnQqIGVsZW1lbnQpIGNvbnN0
CiB2b2lkIEVkaXRvcjo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbihjb25zdCBWaXNpYmxlU2Vs
ZWN0aW9uJiBvbGRTZWxlY3Rpb24pCiB7CiAgICAgaWYgKGNsaWVudCgpKQotICAgICAgICBjbGll
bnQoKS0+cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbigpOworICAgICAgICBjbGllbnQoKS0+cmVz
cG9uZFRvQ2hhbmdlZFNlbGVjdGlvbihtX2ZyYW1lKTsKICAgICBtX2RlbGV0ZUJ1dHRvbkNvbnRy
b2xsZXItPnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24ob2xkU2VsZWN0aW9uKTsKICAgICBtX3Nw
ZWxsaW5nQ29ycmVjdG9yLT5yZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKG9sZFNlbGVjdGlvbik7
CiB9CkBAIC0yNjYxLDcgKzI2NjEsNyBAQCB2b2lkIEVkaXRvcjo6Y2hhbmdlU2VsZWN0aW9uQWZ0
ZXJDb21tYW5kKGNvbnN0IFZpc2libGVTZWxlY3Rpb24mIG5ld1NlbGVjdGlvbiwgYgogICAgIC8v
IGRvZXMgbm90IGNhbGwgRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKCks
IHdoaWNoLCBvbiB0aGUgTWFjLCBzZW5kcyBzZWxlY3Rpb24gY2hhbmdlIG5vdGlmaWNhdGlvbnMg
YW5kCiAgICAgLy8gc3RhcnRzIGEgbmV3IGtpbGwgcmluZyBzZXF1ZW5jZSwgYnV0IHdlIHdhbnQg
dG8gZG8gdGhlc2UgdGhpbmdzIChtYXRjaGVzIEFwcEtpdCkuCiAgICAgaWYgKHNlbGVjdGlvbkRp
ZE5vdENoYW5nZURPTVBvc2l0aW9uKQotICAgICAgICBjbGllbnQoKS0+cmVzcG9uZFRvQ2hhbmdl
ZFNlbGVjdGlvbigpOworICAgICAgICBjbGllbnQoKS0+cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlv
bihtX2ZyYW1lKTsKIH0KIAogU3RyaW5nIEVkaXRvcjo6c2VsZWN0ZWRUZXh0KCkgY29uc3QKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaCBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAppbmRleCA1MzJmNDI1Li4yNTBjZjBmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCkBAIC00NTksNyArNDU5LDcgQEAgcHVibGlj
OgogICAgIC8vCiAgICAgdmlydHVhbCB2b2lkIGRpZEJlZ2luRWRpdGluZygpIHsgfQogICAgIHZp
cnR1YWwgdm9pZCByZXNwb25kVG9DaGFuZ2VkQ29udGVudHMoKSB7IH0KLSAgICB2aXJ0dWFsIHZv
aWQgcmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbigpIHsgfQorICAgIHZpcnR1YWwgdm9pZCByZXNw
b25kVG9DaGFuZ2VkU2VsZWN0aW9uKEZyYW1lKikgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZEVu
ZEVkaXRpbmcoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkV3JpdGVTZWxlY3Rpb25Ub1Bhc3Rl
Ym9hcmQoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkU2V0U2VsZWN0aW9uVHlwZXNGb3JQYXN0
ZWJvYXJkKCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0VkaXRvckNsaWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FZGl0b3JDbGllbnQuaAppbmRleCBhMzdjOGI5Li5h
ZmQxODQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0VkaXRvckNsaWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRWRpdG9yQ2xpZW50LmgKQEAgLTk0LDcgKzk0LDcgQEAg
cHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGRpZEJlZ2luRWRpdGluZygpID0gMDsKICAgICB2
aXJ0dWFsIHZvaWQgcmVzcG9uZFRvQ2hhbmdlZENvbnRlbnRzKCkgPSAwOwotICAgIHZpcnR1YWwg
dm9pZCByZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBy
ZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKEZyYW1lKikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBk
aWRFbmRFZGl0aW5nKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaWRXcml0ZVNlbGVjdGlvblRv
UGFzdGVib2FyZCgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlkU2V0U2VsZWN0aW9uVHlwZXNG
b3JQYXN0ZWJvYXJkKCkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCAwMzM5Y2Jk
Li5iOTU4NGQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisy
MDExLTEwLTE3ICBBbnRvbmlvIEdvbWVzICA8YWdvbWVzQHJpbS5jb20+CisKKyAgICAgICAgUGFz
cyBhIEZyYW1lKiBwYXJhbWV0ZXIgaW4gRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2Vs
ZWN0aW9uCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBzcmMvRWRpdG9yQ2xpZW50SW1wbC5jcHA6IE1ha2UgdXNlIG9mIHRoZSBuZXdseSBhZGRlZCBG
cmFtZSogcGFyYW1ldGVyLgorICAgICAgICAoV2ViS2l0OjpFZGl0b3JDbGllbnRJbXBsOjpyZXNw
b25kVG9DaGFuZ2VkU2VsZWN0aW9uKToKKyAgICAgICAgKiBzcmMvRWRpdG9yQ2xpZW50SW1wbC5o
OiBDaGFuZ2UgdGhlIG1ldGhvZCBzaWduYXR1cmUsIGFzIHBlciBiYXNlIGNsYXNzIGNoYW5nZS4K
KwogMjAxMS0xMC0xNiAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAg
IEFsd2F5cyBlbmFibGUgRU5BQkxFKERPTV9TVE9SQUdFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvRWRpdG9yQ2xpZW50SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9FZGl0b3JDbGllbnRJbXBsLmNwcAppbmRleCBlZjMwNWNjLi40NjY4NmE1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9FZGl0b3JDbGllbnRJbXBsLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9FZGl0b3JDbGllbnRJbXBsLmNwcApA
QCAtMjYwLDEwICsyNjAsOSBAQCB2b2lkIEVkaXRvckNsaWVudEltcGw6OmRpZEJlZ2luRWRpdGlu
ZygpCiAgICAgICAgIG1fd2ViVmlldy0+Y2xpZW50KCktPmRpZEJlZ2luRWRpdGluZygpOwogfQog
Ci12b2lkIEVkaXRvckNsaWVudEltcGw6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oKQordm9p
ZCBFZGl0b3JDbGllbnRJbXBsOjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKEZyYW1lKiBmcmFt
ZSkKIHsKICAgICBpZiAobV93ZWJWaWV3LT5jbGllbnQoKSkgewotICAgICAgICBGcmFtZSogZnJh
bWUgPSBtX3dlYlZpZXctPmZvY3VzZWRXZWJDb3JlRnJhbWUoKTsKICAgICAgICAgaWYgKGZyYW1l
KQogICAgICAgICAgICAgbV93ZWJWaWV3LT5jbGllbnQoKS0+ZGlkQ2hhbmdlU2VsZWN0aW9uKCFm
cmFtZS0+c2VsZWN0aW9uKCktPmlzUmFuZ2UoKSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvRWRpdG9yQ2xpZW50SW1wbC5oIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvRWRpdG9yQ2xpZW50SW1wbC5oCmluZGV4IDJkZGVlMzYuLjM0MjMzNGUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0VkaXRvckNsaWVudEltcGwuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9FZGl0b3JDbGllbnRJbXBsLmgKQEAgLTM3
LDYgKzM3LDcgQEAKICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
eworY2xhc3MgRnJhbWU7CiBjbGFzcyBIVE1MSW5wdXRFbGVtZW50OwogY2xhc3MgU3BlbGxDaGVj
a2VyOwogfQpAQCAtNzIsNyArNzMsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIHNob3Vs
ZE1vdmVSYW5nZUFmdGVyRGVsZXRlKFdlYkNvcmU6OlJhbmdlKiwgV2ViQ29yZTo6UmFuZ2UqKTsK
ICAgICB2aXJ0dWFsIHZvaWQgZGlkQmVnaW5FZGl0aW5nKCk7CiAgICAgdmlydHVhbCB2b2lkIHJl
c3BvbmRUb0NoYW5nZWRDb250ZW50cygpOwotICAgIHZpcnR1YWwgdm9pZCByZXNwb25kVG9DaGFu
Z2VkU2VsZWN0aW9uKCk7CisgICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rp
b24oV2ViQ29yZTo6RnJhbWUqKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkRW5kRWRpdGluZygpOwog
ICAgIHZpcnR1YWwgdm9pZCBkaWRXcml0ZVNlbGVjdGlvblRvUGFzdGVib2FyZCgpOwogICAgIHZp
cnR1YWwgdm9pZCBkaWRTZXRTZWxlY3Rpb25UeXBlc0ZvclBhc3RlYm9hcmQoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5n
ZUxvZwppbmRleCA2OTIwNmI0Li45MTRkYmYwIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTMgQEAKKzIwMTEtMTAtMTcgIEFudG9uaW8gR29tZXMgIDxhZ29tZXNAcmltLmNvbT4KKworICAg
ICAgICBQYXNzIGEgRnJhbWUqIHBhcmFtZXRlciBpbiBFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0No
YW5nZWRTZWxlY3Rpb24KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEVmbC5jcHA6IE1ha2UgdXNlIG9m
IHRoZSBuZXdseSBhZGRlZCBGcmFtZSogcGFyYW1ldGVyLgorICAgICAgICAoV2ViQ29yZTo6RWRp
dG9yQ2xpZW50RWZsOjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKToKKyAgICAgICAgKiBXZWJD
b3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuaDoKKwogMjAxMS0xMC0xNCAgTWFyayBIYWhuZW5i
ZXJnICA8bWhhaG5lbmJlcmdAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbmFtZSB2aXJ0dWFsIHB1
dCB0byBwdXRWaXJ0dWFsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3Vw
cG9ydC9FZGl0b3JDbGllbnRFZmwuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBv
cnQvRWRpdG9yQ2xpZW50RWZsLmNwcAppbmRleCBmZmNiNzA2Li40OTkzYjgwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEVmbC5jcHAK
QEAgLTEzMywyNSArMTMzLDE2IEBAIHZvaWQgRWRpdG9yQ2xpZW50RWZsOjpyZXNwb25kVG9DaGFu
Z2VkQ29udGVudHMoKQogICAgIGV3a19mcmFtZV9lZGl0b3JfY2xpZW50X2NvbnRlbnRzX2NoYW5n
ZWQoZnJhbWUpOwogfQogCi12b2lkIEVkaXRvckNsaWVudEVmbDo6cmVzcG9uZFRvQ2hhbmdlZFNl
bGVjdGlvbigpCit2b2lkIEVkaXRvckNsaWVudEVmbDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlv
bihGcmFtZSogY29yZUZyYW1lKQogewotICAgIEV2YXNfT2JqZWN0KiBmcmFtZSA9IGV3a192aWV3
X2ZyYW1lX2ZvY3VzZWRfZ2V0KG1fdmlldyk7Ci0KLSAgICBpZiAoIWZyYW1lKQotICAgICAgICBm
cmFtZSA9IGV3a192aWV3X2ZyYW1lX21haW5fZ2V0KG1fdmlldyk7Ci0KLSAgICBpZiAoIWZyYW1l
KQotICAgICAgICByZXR1cm47Ci0KLSAgICBXZWJDb3JlOjpGcmFtZSogY29yZUZyYW1lID0gZXdr
X2ZyYW1lX2NvcmVfZ2V0KGZyYW1lKTsKLQogICAgIGlmICghY29yZUZyYW1lKQogICAgICAgICBy
ZXR1cm47CiAKICAgICBpZiAoY29yZUZyYW1lLT5lZGl0b3IoKSAmJiBjb3JlRnJhbWUtPmVkaXRv
cigpLT5pZ25vcmVDb21wb3NpdGlvblNlbGVjdGlvbkNoYW5nZSgpKQogICAgICAgICByZXR1cm47
CiAKLSAgICBld2tfZnJhbWVfZWRpdG9yX2NsaWVudF9zZWxlY3Rpb25fY2hhbmdlZChmcmFtZSk7
CisgICAgRXZhc19PYmplY3QqIHdlYkZyYW1lID0gRVdLUHJpdmF0ZTo6a2l0RnJhbWUoY29yZUZy
YW1lKTsKKyAgICBld2tfZnJhbWVfZWRpdG9yX2NsaWVudF9zZWxlY3Rpb25fY2hhbmdlZCh3ZWJG
cmFtZSk7CiB9CiAKIHZvaWQgRWRpdG9yQ2xpZW50RWZsOjpkaWRFbmRFZGl0aW5nKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEVmbC5o
IGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmgKaW5k
ZXggNTNiYTM5Mi4uM2IxMDg1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29y
ZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29y
ZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmgKQEAgLTc5LDcgKzc5LDcgQEAgcHVibGljOgogCiAg
ICAgdmlydHVhbCB2b2lkIGRpZEJlZ2luRWRpdGluZygpOwogICAgIHZpcnR1YWwgdm9pZCByZXNw
b25kVG9DaGFuZ2VkQ29udGVudHMoKTsKLSAgICB2aXJ0dWFsIHZvaWQgcmVzcG9uZFRvQ2hhbmdl
ZFNlbGVjdGlvbigpOworICAgIHZpcnR1YWwgdm9pZCByZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9u
KEZyYW1lKik7CiAgICAgdmlydHVhbCB2b2lkIGRpZEVuZEVkaXRpbmcoKTsKICAgICB2aXJ0dWFs
IHZvaWQgZGlkV3JpdGVTZWxlY3Rpb25Ub1Bhc3RlYm9hcmQoKTsKICAgICB2aXJ0dWFsIHZvaWQg
ZGlkU2V0U2VsZWN0aW9uVHlwZXNGb3JQYXN0ZWJvYXJkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXgg
YzdhZGI2OS4uZmQ3ZTA4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEx
LTEwLTE3ICBBbnRvbmlvIEdvbWVzICA8YWdvbWVzQHJpbS5jb20+CisKKyAgICAgICAgUGFzcyBh
IEZyYW1lKiBwYXJhbWV0ZXIgaW4gRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0
aW9uCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBX
ZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuY3BwOiBNYWtlIHVzZSBvZiB0aGUgbmV3bHkg
YWRkZWQgRnJhbWUqIHBhcmFtZXRlci4KKyAgICAgICAgKFdlYktpdDo6RWRpdG9yQ2xpZW50Ojpy
ZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9FZGl0
b3JDbGllbnRHdGsuaDoKKwogMjAxMS0xMC0xMiAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0
Lm9yZz4KIAogICAgICAgICBNYWtlIHRoZSBpbnRlcmZhY2Ugb2YgbG9jYXRpb25BbmRMZW5ndGhG
cm9tUmFuZ2UgYW5kIHJhbmdlRnJvbUxvY2F0aW9uQW5kTGVuZ3RoIGNvbnNpc3RlbnQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5j
cHAgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuY3Bw
CmluZGV4IGIxNTcyMjguLmIwZjI0MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dl
YkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ndGsv
V2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmNwcApAQCAtMzAyLDMzICszMDIsMzEgQEAg
c3RhdGljIHZvaWQgc2V0U2VsZWN0aW9uUHJpbWFyeUNsaXBib2FyZElmTmVlZGVkKFdlYktpdFdl
YlZpZXcqIHdlYlZpZXcpCiB9CiAjZW5kaWYKIAotdm9pZCBFZGl0b3JDbGllbnQ6OnJlc3BvbmRU
b0NoYW5nZWRTZWxlY3Rpb24oKQordm9pZCBFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRT
ZWxlY3Rpb24oRnJhbWUqIGZyYW1lKQogewogICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZShtX3dl
YlZpZXcsICJzZWxlY3Rpb24tY2hhbmdlZCIpOwogCi0gICAgV2ViS2l0V2ViVmlld1ByaXZhdGUq
IHByaXYgPSBtX3dlYlZpZXctPnByaXY7Ci0gICAgV2ViQ29yZTo6UGFnZSogY29yZVBhZ2UgPSBj
b3JlKG1fd2ViVmlldyk7Ci0gICAgRnJhbWUqIHRhcmdldEZyYW1lID0gY29yZVBhZ2UtPmZvY3Vz
Q29udHJvbGxlcigpLT5mb2N1c2VkT3JNYWluRnJhbWUoKTsKLQotICAgIGlmICghdGFyZ2V0RnJh
bWUpCisgICAgaWYgKCFmcmFtZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKHRhcmdldEZy
YW1lLT5lZGl0b3IoKS0+aWdub3JlQ29tcG9zaXRpb25TZWxlY3Rpb25DaGFuZ2UoKSkKKyAgICBp
ZiAoZnJhbWUtPmVkaXRvcigpLT5pZ25vcmVDb21wb3NpdGlvblNlbGVjdGlvbkNoYW5nZSgpKQog
ICAgICAgICByZXR1cm47CiAKICNpZiBQTEFURk9STShYMTEpCiAgICAgc2V0U2VsZWN0aW9uUHJp
bWFyeUNsaXBib2FyZElmTmVlZGVkKG1fd2ViVmlldyk7CiAjZW5kaWYKIAotICAgIGlmICghdGFy
Z2V0RnJhbWUtPmVkaXRvcigpLT5oYXNDb21wb3NpdGlvbigpKQorICAgIGlmICghZnJhbWUtPmVk
aXRvcigpLT5oYXNDb21wb3NpdGlvbigpKQogICAgICAgICByZXR1cm47CiAKICAgICB1bnNpZ25l
ZCBzdGFydDsKICAgICB1bnNpZ25lZCBlbmQ7Ci0gICAgaWYgKCF0YXJnZXRGcmFtZS0+ZWRpdG9y
KCktPmdldENvbXBvc2l0aW9uU2VsZWN0aW9uKHN0YXJ0LCBlbmQpKSB7CisgICAgV2ViS2l0V2Vi
Vmlld1ByaXZhdGUqIHByaXYgPSBtX3dlYlZpZXctPnByaXY7CisKKyAgICBpZiAoIWZyYW1lLT5l
ZGl0b3IoKS0+Z2V0Q29tcG9zaXRpb25TZWxlY3Rpb24oc3RhcnQsIGVuZCkpIHsKICAgICAgICAg
Ly8gZ3RrX2ltX2NvbnRleHRfcmVzZXQoKSBjbGVhcnMgdGhlIGNvbXBvc2l0aW9uIGZvciB1cy4K
ICAgICAgICAgZ3RrX2ltX2NvbnRleHRfcmVzZXQocHJpdi0+aW1Db250ZXh0LmdldCgpKTsKLSAg
ICAgICAgdGFyZ2V0RnJhbWUtPmVkaXRvcigpLT5jYW5jZWxDb21wb3NpdGlvbigpOworICAgICAg
ICBmcmFtZS0+ZWRpdG9yKCktPmNhbmNlbENvbXBvc2l0aW9uKCk7CiAgICAgfQogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsu
aCBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5oCmlu
ZGV4IGEwZmFkZDguLjY5ODZhNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNv
cmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNv
cmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5oCkBAIC0xMDAsNyArMTAwLDcgQEAgY2xhc3MgRWRp
dG9yQ2xpZW50IDogcHVibGljIFdlYkNvcmU6OkVkaXRvckNsaWVudCB7CiAKICAgICAgICAgdmly
dHVhbCB2b2lkIGRpZEJlZ2luRWRpdGluZygpOwogICAgICAgICB2aXJ0dWFsIHZvaWQgcmVzcG9u
ZFRvQ2hhbmdlZENvbnRlbnRzKCk7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCByZXNwb25kVG9DaGFu
Z2VkU2VsZWN0aW9uKCk7CisgICAgICAgIHZpcnR1YWwgdm9pZCByZXNwb25kVG9DaGFuZ2VkU2Vs
ZWN0aW9uKFdlYkNvcmU6OkZyYW1lKik7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRFbmRFZGl0
aW5nKCk7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRXcml0ZVNlbGVjdGlvblRvUGFzdGVib2Fy
ZCgpOwogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkU2V0U2VsZWN0aW9uVHlwZXNGb3JQYXN0ZWJv
YXJkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggNTA0YjAxMi4uNDdhMjdmMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDExLTEwLTE3ICBBbnRvbmlvIEdvbWVzICA8YWdvbWVz
QHJpbS5jb20+CisKKyAgICAgICAgUGFzcyBhIEZyYW1lKiBwYXJhbWV0ZXIgaW4gRWRpdG9yQ2xp
ZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQu
aDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQubW06IE1ha2UgdXNl
IG9mIHRoZSBuZXdseSBhZGRlZCBGcmFtZSogcGFyYW1ldGVyLgorICAgICAgICAoV2ViRWRpdG9y
Q2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKToKKwogMjAxMS0xMC0xNiAgQWRhbSBC
YXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIEFsd2F5cyBlbmFibGUgRU5BQkxF
KERPTV9TVE9SQUdFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBv
cnQvV2ViRWRpdG9yQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9X
ZWJFZGl0b3JDbGllbnQuaAppbmRleCA2YTI3NDAwLi5hYWNjYmFmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuaApAQCAtOTgsNyAr
OTgsNyBAQCBwdWJsaWM6CiAgICAgVGV4dENoZWNrZXJDbGllbnQqIHRleHRDaGVja2VyKCkgT1ZF
UlJJREUgeyByZXR1cm4gdGhpczsgfQogCiAgICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5n
ZWRDb250ZW50cygpIE9WRVJSSURFOwotICAgIHZpcnR1YWwgdm9pZCByZXNwb25kVG9DaGFuZ2Vk
U2VsZWN0aW9uKCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5nZWRT
ZWxlY3Rpb24oV2ViQ29yZTo6RnJhbWUqKSBPVkVSUklERTsKIAogICAgIHZpcnR1YWwgdm9pZCBy
ZWdpc3RlckNvbW1hbmRGb3JVbmRvKFBhc3NSZWZQdHI8V2ViQ29yZTo6RWRpdENvbW1hbmQ+KSBP
VkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJDb21tYW5kRm9yUmVkbyhQYXNzUmVm
UHRyPFdlYkNvcmU6OkVkaXRDb21tYW5kPikgT1ZFUlJJREU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQubW0gYi9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQubW0KaW5kZXggZDE5Mzg0MS4u
ZTZmZjFiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2Vi
RWRpdG9yQ2xpZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dl
YkVkaXRvckNsaWVudC5tbQpAQCAtMjkwLDkgKzI5MCw5IEBAIHZvaWQgV2ViRWRpdG9yQ2xpZW50
OjpyZXNwb25kVG9DaGFuZ2VkQ29udGVudHMoKQogICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIg
ZGVmYXVsdENlbnRlcl0gcG9zdE5vdGlmaWNhdGlvbk5hbWU6V2ViVmlld0RpZENoYW5nZU5vdGlm
aWNhdGlvbiBvYmplY3Q6bV93ZWJWaWV3XTsgICAgCiB9CiAKLXZvaWQgV2ViRWRpdG9yQ2xpZW50
OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKCkKK3ZvaWQgV2ViRWRpdG9yQ2xpZW50OjpyZXNw
b25kVG9DaGFuZ2VkU2VsZWN0aW9uKEZyYW1lKiBmcmFtZSkKIHsKLSAgICBOU1ZpZXc8V2ViRG9j
dW1lbnRWaWV3PiAqZG9jdW1lbnRWaWV3ID0gW1tbbV93ZWJWaWV3IF9zZWxlY3RlZE9yTWFpbkZy
YW1lXSBmcmFtZVZpZXddIGRvY3VtZW50Vmlld107CisgICAgTlNWaWV3PFdlYkRvY3VtZW50Vmll
dz4gKmRvY3VtZW50VmlldyA9IFtbW2ZyYW1lXSBmcmFtZVZpZXddIGRvY3VtZW50Vmlld107CiAg
ICAgaWYgKFtkb2N1bWVudFZpZXcgaXNLaW5kT2ZDbGFzczpbV2ViSFRNTFZpZXcgY2xhc3NdXSkK
ICAgICAgICAgWyhXZWJIVE1MVmlldyAqKWRvY3VtZW50VmlldyBfc2VsZWN0aW9uQ2hhbmdlZF07
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9xdC9DaGFuZ2VMb2cKaW5kZXggZDI1Y2IwNC4uM2NjMGUxZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxMyBAQAorMjAxMS0xMC0xNyAgQW50b25pbyBHb21lcyAgPGFnb21lc0ByaW0uY29t
PgorCisgICAgICAgIFBhc3MgYSBGcmFtZSogcGFyYW1ldGVyIGluIEVkaXRvckNsaWVudDo6cmVz
cG9uZFRvQ2hhbmdlZFNlbGVjdGlvbgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50UXQuY3BwOiBNYWtl
IHVzZSBvZiB0aGUgbmV3bHkgYWRkZWQgRnJhbWUqIHBhcmFtZXRlci4KKyAgICAgICAgKFdlYkNv
cmU6OkVkaXRvckNsaWVudFF0OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKToKKyAgICAgICAg
KiBXZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRRdC5oOgorCiAyMDExLTEwLTE1ICBBZGFtIEJh
cnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVuYW1lIEVOQUJMRShUSUxFRF9C
QUNLSU5HX1NUT1JFKSB0byBVU0UoVElMRURfQkFDS0lOR19TVE9SRSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50UXQuY3BwIGIvU291cmNl
L1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRRdC5jcHAKaW5kZXggZjM4N2Vh
OS4uZjk1OGU4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9F
ZGl0b3JDbGllbnRRdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9F
ZGl0b3JDbGllbnRRdC5jcHAKQEAgLTIwMSw3ICsyMDEsNyBAQCB2b2lkIEVkaXRvckNsaWVudFF0
OjpyZXNwb25kVG9DaGFuZ2VkQ29udGVudHMoKQogICAgIGVtaXQgbV9wYWdlLT5jb250ZW50c0No
YW5nZWQoKTsKIH0KIAotdm9pZCBFZGl0b3JDbGllbnRRdDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVj
dGlvbigpCit2b2lkIEVkaXRvckNsaWVudFF0OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKEZy
YW1lKiBmcmFtZSkKIHsKICAgICBpZiAoZHVtcEVkaXRpbmdDYWxsYmFja3MpCiAgICAgICAgIHBy
aW50ZigiRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3
RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uXG4iKTsKQEAgLTIxMiw3ICsyMTIsNiBAQCB2
b2lkIEVkaXRvckNsaWVudFF0OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKCkKIAogICAgIG1f
cGFnZS0+ZC0+dXBkYXRlRWRpdG9yQWN0aW9ucygpOwogICAgIGVtaXQgbV9wYWdlLT5zZWxlY3Rp
b25DaGFuZ2VkKCk7Ci0gICAgRnJhbWUqIGZyYW1lID0gbV9wYWdlLT5kLT5wYWdlLT5mb2N1c0Nv
bnRyb2xsZXIoKS0+Zm9jdXNlZE9yTWFpbkZyYW1lKCk7CiAgICAgaWYgKCFmcmFtZS0+ZWRpdG9y
KCktPmlnbm9yZUNvbXBvc2l0aW9uU2VsZWN0aW9uQ2hhbmdlKCkpCiAgICAgICAgIGVtaXQgbV9w
YWdlLT5taWNyb0ZvY3VzQ2hhbmdlZCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRRdC5oIGIvU291cmNlL1dlYktpdC9xdC9XZWJD
b3JlU3VwcG9ydC9FZGl0b3JDbGllbnRRdC5oCmluZGV4IGQ5NjU4YmIuLjZlNmEwYTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50UXQuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudFF0LmgKQEAg
LTY5LDcgKzY5LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGRpZEJlZ2luRWRpdGlu
ZygpOwogICAgIHZpcnR1YWwgdm9pZCByZXNwb25kVG9DaGFuZ2VkQ29udGVudHMoKTsKLSAgICB2
aXJ0dWFsIHZvaWQgcmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbigpOworICAgIHZpcnR1YWwgdm9p
ZCByZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKEZyYW1lKik7CiAgICAgdmlydHVhbCB2b2lkIGRp
ZEVuZEVkaXRpbmcoKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkV3JpdGVTZWxlY3Rpb25Ub1Bhc3Rl
Ym9hcmQoKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkU2V0U2VsZWN0aW9uVHlwZXNGb3JQYXN0ZWJv
YXJkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggOTcxMjJmYy4uYmE4MTlmZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDExLTEwLTE3ICBBbnRvbmlvIEdvbWVzICA8YWdvbWVz
QHJpbS5jb20+CisKKyAgICAgICAgUGFzcyBhIEZyYW1lKiBwYXJhbWV0ZXIgaW4gRWRpdG9yQ2xp
ZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQu
Y3BwOiBNYWtlIHVzZSBvZiB0aGUgbmV3bHkgYWRkZWQgRnJhbWUqIHBhcmFtZXRlci4KKyAgICAg
ICAgKFdlYkVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbik6CisgICAgICAg
ICogV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50Lmg6CisKIDIwMTEtMTAtMTQgIEp1bGll
biBDaGFmZnJhaXggIDxqY2hhZmZyYWl4QHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVtb3ZlIGxh
eWVyWCAvIGxheWVyWSBmcm9tIHRoZSBXaW5kb3dzIEFQSQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJL
aXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5jcHAKaW5kZXggYzAxNWIyMy4u
ZTUwYzZkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2Vi
RWRpdG9yQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9X
ZWJFZGl0b3JDbGllbnQuY3BwCkBAIC0yMDgsNyArMjA4LDcgQEAgdm9pZCBXZWJFZGl0b3JDbGll
bnQ6OnJlc3BvbmRUb0NoYW5nZWRDb250ZW50cygpCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0K
IAotdm9pZCBXZWJFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oKQordm9p
ZCBXZWJFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oRnJhbWUqKQogewog
ICAgIG1fd2ViVmlldy0+c2VsZWN0aW9uQ2hhbmdlZCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuaCBiL1NvdXJjZS9XZWJL
aXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5oCmluZGV4IDFkYjRjNjguLjI4
ZGU5YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkVk
aXRvckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkVk
aXRvckNsaWVudC5oCkBAIC01OCw3ICs1OCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQg
ZGlkU2V0U2VsZWN0aW9uVHlwZXNGb3JQYXN0ZWJvYXJkKCk7CiAKICAgICB2aXJ0dWFsIHZvaWQg
cmVzcG9uZFRvQ2hhbmdlZENvbnRlbnRzKCk7Ci0gICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0No
YW5nZWRTZWxlY3Rpb24oKTsKKyAgICB2aXJ0dWFsIHZvaWQgcmVzcG9uZFRvQ2hhbmdlZFNlbGVj
dGlvbihXZWJDb3JlOjpGcmFtZSopOwogCiAgICAgYm9vbCBzaG91bGRTaG93RGVsZXRlSW50ZXJm
YWNlKFdlYkNvcmU6OkhUTUxFbGVtZW50Kik7CiAgICAgYm9vbCBzaG91bGREZWxldGVSYW5nZShX
ZWJDb3JlOjpSYW5nZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93eC9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0L3d4L0NoYW5nZUxvZwppbmRleCBjNjM2MDAxLi5iYjBmZWMzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3d4L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3d4
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDExLTEwLTE3ICBBbnRvbmlvIEdvbWVzICA8
YWdvbWVzQHJpbS5jb20+CisKKyAgICAgICAgUGFzcyBhIEZyYW1lKiBwYXJhbWV0ZXIgaW4gRWRp
dG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJLaXRTdXBwb3J0L0VkaXRvckNsaWVu
dFd4LmNwcDogTWFrZSB1c2Ugb2YgdGhlIG5ld2x5IGFkZGVkIEZyYW1lKiBwYXJhbWV0ZXIuCisg
ICAgICAgIChXZWJDb3JlOjpFZGl0b3JDbGllbnRXeDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlv
bik6CisgICAgICAgICogV2ViS2l0U3VwcG9ydC9FZGl0b3JDbGllbnRXeC5oOgorCiAyMDExLTA5
LTI0ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWx3YXlzIGVu
YWJsZSBFTkFCTEUoT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0VkaXRvckNsaWVudFd4LmNwcCBiL1NvdXJjZS9XZWJL
aXQvd3gvV2ViS2l0U3VwcG9ydC9FZGl0b3JDbGllbnRXeC5jcHAKaW5kZXggNTgxMmRmZS4uN2Ex
N2FkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0VkaXRvckNs
aWVudFd4LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvRWRpdG9yQ2xp
ZW50V3guY3BwCkBAIC00ODcsOSArNDg3LDggQEAgdm9pZCBFZGl0b3JDbGllbnRXeDo6dGV4dERp
ZENoYW5nZUluVGV4dEFyZWEoRWxlbWVudCopCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAot
dm9pZCBFZGl0b3JDbGllbnRXeDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbigpCit2b2lkIEVk
aXRvckNsaWVudFd4OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKEZyYW1lKiBmcmFtZSkKIHsK
LSAgICBGcmFtZSogZnJhbWUgPSBtX3BhZ2UtPmZvY3VzQ29udHJvbGxlcigpLT5mb2N1c2VkT3JN
YWluRnJhbWUoKTsKICAgICBpZiAoZnJhbWUpIHsKICAgICAgICAgd3hXZWJWaWV3KiB3ZWJLaXRX
aW4gPSBkeW5hbWljX2Nhc3Q8d3hXZWJWaWV3Kj4oZnJhbWUtPnZpZXcoKS0+aG9zdFdpbmRvdygp
LT5wbGF0Zm9ybVBhZ2VDbGllbnQoKSk7CiAgICAgICAgIGlmICh3ZWJLaXRXaW4pIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9FZGl0b3JDbGllbnRXeC5oIGIv
U291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0VkaXRvckNsaWVudFd4LmgKaW5kZXggNzM3
MGYwYS4uMzE4ZjU0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0
L0VkaXRvckNsaWVudFd4LmgKKysrIGIvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0Vk
aXRvckNsaWVudFd4LmgKQEAgLTcyLDcgKzcyLDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2
b2lkIGRpZEJlZ2luRWRpdGluZygpOwogICAgIHZpcnR1YWwgdm9pZCByZXNwb25kVG9DaGFuZ2Vk
Q29udGVudHMoKTsKLSAgICB2aXJ0dWFsIHZvaWQgcmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbigp
OworICAgIHZpcnR1YWwgdm9pZCByZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKEZyYW1lKik7CiAg
ICAgdmlydHVhbCB2b2lkIGRpZEVuZEVkaXRpbmcoKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkV3Jp
dGVTZWxlY3Rpb25Ub1Bhc3RlYm9hcmQoKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkU2V0U2VsZWN0
aW9uVHlwZXNGb3JQYXN0ZWJvYXJkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZWRlYjdkYy4uNDRjYjIzZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDExLTEwLTE3ICBBbnRvbmlvIEdvbWVzICA8
YWdvbWVzQHJpbS5jb20+CisKKyAgICAgICAgUGFzcyBhIEZyYW1lKiBwYXJhbWV0ZXIgaW4gRWRp
dG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkVkaXRvckNsaWVudC5jcHA6IE1ha2UgdXNlIG9mIHRoZSBuZXdseSBhZGRlZCBGcmFtZSog
cGFyYW1ldGVyLgorICAgICAgICAoV2ViS2l0OjpXZWJFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0No
YW5nZWRTZWxlY3Rpb24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
RWRpdG9yQ2xpZW50Lmg6CisKIDIwMTEtMTAtMTYgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0
Lm9yZz4KIAogICAgICAgICBBbHdheXMgZW5hYmxlIEVOQUJMRShET01fU1RPUkFHRSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9y
Q2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
RWRpdG9yQ2xpZW50LmNwcAppbmRleCBlOWMxMjYwLi44ZTcxM2ZiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JD
bGllbnQuY3BwCkBAIC0xNzQsMTEgKzE3NCwxMCBAQCB2b2lkIFdlYkVkaXRvckNsaWVudDo6cmVz
cG9uZFRvQ2hhbmdlZENvbnRlbnRzKCkKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCi12b2lk
IFdlYkVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbigpCit2b2lkIFdlYkVk
aXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbihGcmFtZSopCiB7CiAgICAgREVG
SU5FX1NUQVRJQ19MT0NBTChTdHJpbmcsIFdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmlj
YXRpb24sICgiV2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbiIpKTsKICAgICBt
X3BhZ2UtPmluamVjdGVkQnVuZGxlRWRpdG9yQ2xpZW50KCkuZGlkQ2hhbmdlU2VsZWN0aW9uKG1f
cGFnZSwgV2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbi5pbXBsKCkpOwotICAg
IEZyYW1lKiBmcmFtZSA9IG1fcGFnZS0+Y29yZVBhZ2UoKS0+Zm9jdXNDb250cm9sbGVyKCktPmZv
Y3VzZWRGcmFtZSgpOwogICAgIGlmICghZnJhbWUpCiAgICAgICAgIHJldHVybjsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JD
bGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRWRp
dG9yQ2xpZW50LmgKaW5kZXggNWU3MzYzMi4uZTJiZWY5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5o
CkBAIC02NCw3ICs2NCw3IEBAIHByaXZhdGU6CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlkQmVnaW5F
ZGl0aW5nKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5nZWRDb250
ZW50cygpIE9WRVJSSURFOwotICAgIHZpcnR1YWwgdm9pZCByZXNwb25kVG9DaGFuZ2VkU2VsZWN0
aW9uKCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rp
b24oV2ViQ29yZTo6RnJhbWUqKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkRW5kRWRp
dGluZygpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBkaWRXcml0ZVNlbGVjdGlvblRvUGFz
dGVib2FyZCgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBkaWRTZXRTZWxlY3Rpb25UeXBl
c0ZvclBhc3RlYm9hcmQoKSBPVkVSUklERTsKLS0gCjEuNy4xCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111314</attachid>
            <date>2011-10-17 13:45:43 -0700</date>
            <delta_ts>2011-10-17 20:05:40 -0700</delta_ts>
            <desc>patch v1.3 - for EWS to build</desc>
            <filename>0001-2011-10-17-Antonio-Gomes-agomes-rim.com.patch</filename>
            <type>text/plain</type>
            <size>27651</size>
            <attacher name="Antonio Gomes">tonikitoo</attacher>
            
              <data encoding="base64">RnJvbSAyYmRmMzQwYTc5N2JjMTEyY2FjMDY2ZjM1Mzk4MmY1NWUyNTU1N2U2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRvbmlvIEdvbWVzIDxhZ29tZXNAcmltLmNvbT4KRGF0ZTog
TW9uLCAxNyBPY3QgMjAxMSAxMzo1MjoyNCAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIDIwMTEtMTAt
MTcgIEFudG9uaW8gR29tZXMgIDxhZ29tZXNAcmltLmNvbT4KCiAgICAgICAgUGFzcyBhIEZyYW1l
KiBwYXJhbWV0ZXIgaW4gRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uCiAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjQ4CgogICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICBNb3N0IG9mIHRoZSBwb3J0
IHNwZWNpZmljIGltcGxlbWVudGF0aW9ucyBvZiBFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5n
ZWRTZWxlY3Rpb24KICAgICAgICAobGlrZSBFZGl0b3JDbGllbnR7UXQsR3RrLGV0Y30pIGFyZSB3
cm9uZ2x5IHJlbHlpbmcgb24gRm9jdXNDb250cm9sbGVyOjpmb2N1c2VkT3JNYWluRnJhbWUKICAg
ICAgICBtZXRob2QgdG8gZ2V0IHRoZSBGcmFtZSB3aGVyZSB0aGUgc2VsZWN0aW9uIGlzIGhhcHBl
bmluZyBvbi4KCiAgICAgICAgSXQgaXMgbm90IHJpZ2h0LCBzaW5jZSBhIHNlbGVjdGlvbiBjYW4g
YmUgZWFzaWx5IHRyaWdnZXJlZCBpbiBhbiBpbm5lcgogICAgICAgIGZyYW1lIHRoYXQgaXMgbm90
IGZvY3VzZWQuCgogICAgICAgIE5vIG5ldyB0ZXN0cyBzaW5jZSBpdCBpcyBhIGhhcmQgdGhpbmcg
dG8gdGVzdCB3aXRob3V0CiAgICAgICAgdG8gaG9vayBpbnRvIGVkaXRvciBjbGllbnQgaW4gbGF5
b3V0IHRlc3RzLiBXZSBjb3VsZAogICAgICAgIGNoYW5nZSB0aGUgIkR1bXBlZCBEZWxlZ2F0ZSIg
bWVzc2FnZXMsIGJ1dCBpdCB3b3VsZAogICAgICAgIHJlcXVpcmUgYSByZWJhc2lsZSBvZiArMTIw
MCBmb3IgYSBtaW5vciBjaGFuZ2UuCgogICAgICAgIE5vIG5ldyB0ZXN0cyBzaW5jZSBpdCBpcyBh
IGhhcmQgdGhpbmcgdG8gdGVzdCB3aXRob3V0CiAgICAgICAgdG8gaG9vayBpbnRvIGVkaXRvciBj
bGllbnQgaW4gbGF5b3V0IHRlc3RzLiBXZSBjb3VsZAogICAgICAgIGNoYW5nZSB0aGUgIkR1bXBl
ZCBEZWxlZ2F0ZSIgbWVzc2FnZXMsIGJ1dCBpdCB3b3VsZAogICAgICAgIHJlcXVpcmUgYSByZWJh
c2lsZSBvZiArMTIwMCBmb3IgYSBtaW5vciBjaGFuZ2UuCgogICAgICAgIFNvdXJjZS9XZWJDb3Jl
OgogICAgICAgICogZWRpdGluZy9FZGl0b3IuY3BwOiBQYXNzIHRoZSBGcmFtZSBvbiB3aGVyZSB0
aGUgc2VsZWN0aW9uIGlzIGNoYW5naW5nIHRvIHRoZSBjbGllbnQuCiAgICAgICAgKFdlYkNvcmU6
OkVkaXRvcjo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbik6IERpdHRvLgogICAgICAgIChXZWJD
b3JlOjpFZGl0b3I6OmNoYW5nZVNlbGVjdGlvbkFmdGVyQ29tbWFuZCk6IERpdHRvLgogICAgICAg
IChXZWJDb3JlOjpFbXB0eUVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbik6
CiAgICAgICAgKiBwYWdlL0VkaXRvckNsaWVudC5oOiAgUGFzcyBGcmFtZSogdG8gaW5kaWNhdGUg
d2hlcmUgdGhlIHNlbGVjdGlvbiBpcyBoYXBwZW5pbmcuCiAgICAgICAgKiBsb2FkZXIvRW1wdHlD
bGllbnRzLmg6IENoYW5nZWQgc2lnbmF0dXJlIGFzIHBlciBiYXNlIGNsYXNzIGNoYW5nZS4KCiAg
ICAgICAgU291cmNlL1dlYktpdC9jaHJvbWl1bToKICAgICAgICAqIHNyYy9FZGl0b3JDbGllbnRJ
bXBsLmNwcDogTWFrZSB1c2Ugb2YgdGhlIG5ld2x5IGFkZGVkIEZyYW1lKiBwYXJhbWV0ZXIuCiAg
ICAgICAgKFdlYktpdDo6RWRpdG9yQ2xpZW50SW1wbDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlv
bik6CiAgICAgICAgKiBzcmMvRWRpdG9yQ2xpZW50SW1wbC5oOgoKICAgICAgICBTb3VyY2UvV2Vi
S2l0L2VmbDoKICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEVmbC5jcHA6IE1h
a2UgdXNlIG9mIHRoZSBuZXdseSBhZGRlZCBGcmFtZSogcGFyYW1ldGVyLgogICAgICAgIChXZWJD
b3JlOjpFZGl0b3JDbGllbnRFZmw6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24pOgogICAgICAg
ICogV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmg6CgogICAgICAgIFNvdXJjZS9XZWJL
aXQvZ3RrOgogICAgICAgICogV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmNwcDogTWFr
ZSB1c2Ugb2YgdGhlIG5ld2x5IGFkZGVkIEZyYW1lKiBwYXJhbWV0ZXIuCiAgICAgICAgKFdlYktp
dDo6RWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKToKICAgICAgICAqIFdl
YkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5oOgoKICAgICAgICBTb3VyY2UvV2ViS2l0L21h
YzoKICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5oOiBNYWtlIHVzZSBv
ZiB0aGUgbmV3bHkgYWRkZWQgRnJhbWUqIHBhcmFtZXRlci4KICAgICAgICAqIFdlYkNvcmVTdXBw
b3J0L1dlYkVkaXRvckNsaWVudC5tbToKICAgICAgICAoV2ViRWRpdG9yQ2xpZW50OjpyZXNwb25k
VG9DaGFuZ2VkU2VsZWN0aW9uKToKCiAgICAgICAgU291cmNlL1dlYktpdC9xdDoKICAgICAgICAq
IFdlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudFF0LmNwcDogTWFrZSB1c2Ugb2YgdGhlIG5ld2x5
IGFkZGVkIEZyYW1lKiBwYXJhbWV0ZXIuCiAgICAgICAgKFdlYkNvcmU6OkVkaXRvckNsaWVudFF0
OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKToKICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Vk
aXRvckNsaWVudFF0Lmg6CgogICAgICAgIFNvdXJjZS9XZWJLaXQvd2luOgogICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmNwcDogTWFrZSB1c2Ugb2YgdGhlIG5ld2x5IGFk
ZGVkIEZyYW1lKiBwYXJhbWV0ZXIuCiAgICAgICAgKFdlYkVkaXRvckNsaWVudDo6cmVzcG9uZFRv
Q2hhbmdlZFNlbGVjdGlvbik6CiAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGll
bnQuaDoKCiAgICAgICAgU291cmNlL1dlYktpdC93eDoKICAgICAgICAqIFdlYktpdFN1cHBvcnQv
RWRpdG9yQ2xpZW50V3guY3BwOiBNYWtlIHVzZSBvZiB0aGUgbmV3bHkgYWRkZWQgRnJhbWUqIHBh
cmFtZXRlci4KICAgICAgICAoV2ViQ29yZTo6RWRpdG9yQ2xpZW50V3g6OnJlc3BvbmRUb0NoYW5n
ZWRTZWxlY3Rpb24pOgogICAgICAgICogV2ViS2l0U3VwcG9ydC9FZGl0b3JDbGllbnRXeC5oOgoK
ICAgICAgICBTb3VyY2UvV2ViS2l0MjoKICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViRWRpdG9yQ2xpZW50LmNwcDogTWFrZSB1c2Ugb2YgdGhlIG5ld2x5IGFkZGVkIEZyYW1l
KiBwYXJhbWV0ZXIuCiAgICAgICAgKFdlYktpdDo6V2ViRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9D
aGFuZ2VkU2VsZWN0aW9uKToKICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
RWRpdG9yQ2xpZW50Lmg6Ci0tLQogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAgIDI1ICsrKysrKysrKysrKysrKysrKysrCiBTb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0VkaXRvci5jcHAgICAgICAgICAgICAgICAgICB8ICAgIDQgKy0KIFNvdXJjZS9X
ZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaCAgICAgICAgICAgICAgIHwgICAgMiArLQogU291
cmNlL1dlYkNvcmUvcGFnZS9FZGl0b3JDbGllbnQuaCAgICAgICAgICAgICAgICAgfCAgICAyICst
CiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICB8ICAg
MTEgKysrKysrKysKIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0VkaXRvckNsaWVudEltcGwu
Y3BwICAgIHwgICAgMyArLQogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRWRpdG9yQ2xpZW50
SW1wbC5oICAgICAgfCAgICAzICstCiBTb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgICAgICAg
ICAgICAgICAgICAgICAgICB8ICAgMTEgKysrKysrKysKIC4uLi9XZWJLaXQvZWZsL1dlYkNvcmVT
dXBwb3J0L0VkaXRvckNsaWVudEVmbC5jcHAgIHwgICAxNSArKy0tLS0tLS0tLQogU291cmNlL1dl
YktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmggfCAgICAyICstCiBTb3Vy
Y2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTEgKysr
KysrKysKIC4uLi9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5jcHAg
IHwgICAxOCArKysrKystLS0tLS0tLQogU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQv
RWRpdG9yQ2xpZW50R3RrLmggfCAgICAyICstCiBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cg
ICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTEgKysrKysrKysKIFNvdXJjZS9XZWJLaXQvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5oIHwgICAgMiArLQogLi4uL1dlYktpdC9t
YWMvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50Lm1tICAgfCAgICA0ICstCiBTb3VyY2Uv
V2ViS2l0L3F0L0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTEgKysrKysr
KysKIFNvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50UXQuY3BwIHwg
ICAgMyArLQogU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRRdC5o
ICAgfCAgICAyICstCiBTb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cgICAgICAgICAgICAgICAg
ICAgICAgICB8ICAgMTEgKysrKysrKysKIC4uLi9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dl
YkVkaXRvckNsaWVudC5jcHAgIHwgICAgMiArLQogU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1
cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmggfCAgICAyICstCiBTb3VyY2UvV2ViS2l0L3d4L0NoYW5n
ZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTEgKysrKysrKysKIFNvdXJjZS9XZWJL
aXQvd3gvV2ViS2l0U3VwcG9ydC9FZGl0b3JDbGllbnRXeC5jcHAgIHwgICAgMyArLQogU291cmNl
L1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0VkaXRvckNsaWVudFd4LmggICAgfCAgICAyICstCiBT
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTEg
KysrKysrKysKIC4uLi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5j
cHAgIHwgICAgMyArLQogLi4uL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xp
ZW50LmggICAgfCAgICAyICstCiAyOCBmaWxlcyBjaGFuZ2VkLCAxNDQgaW5zZXJ0aW9ucygrKSwg
NDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDdmYjBhZmMuLjc3MDZhOTcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyOCBAQAorMjAxMS0xMC0xNyAgQW50b25pbyBHb21lcyAgPGFnb21lc0By
aW0uY29tPgorCisgICAgICAgIFBhc3MgYSBGcmFtZSogcGFyYW1ldGVyIGluIEVkaXRvckNsaWVu
dDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBNb3N0IG9mIHRoZSBwb3J0IHNwZWNpZmljIGltcGxlbWVudGF0
aW9ucyBvZiBFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24KKyAgICAgICAg
KGxpa2UgRWRpdG9yQ2xpZW50e1F0LEd0ayxldGN9KSBhcmUgd3JvbmdseSByZWx5aW5nIG9uIEZv
Y3VzQ29udHJvbGxlcjo6Zm9jdXNlZE9yTWFpbkZyYW1lCisgICAgICAgIG1ldGhvZCB0byBnZXQg
dGhlIEZyYW1lIHdoZXJlIHRoZSBzZWxlY3Rpb24gaXMgaGFwcGVuaW5nIG9uLgorICAgICAgICBJ
dCBpcyBub3QgcmlnaHQsIHNpbmNlIGEgc2VsZWN0aW9uIGNhbiBiZSBlYXNpbHkgdHJpZ2dlcmVk
IGluIGFuIGlubmVyCisgICAgICAgIGZyYW1lIHRoYXQgaXMgbm90IGZvY3VzZWQuCisKKyAgICAg
ICAgTm8gbmV3IHRlc3RzIHNpbmNlIGl0IGlzIGEgaGFyZCB0aGluZyB0byB0ZXN0IHdpdGhvdXQK
KyAgICAgICAgdG8gaG9vayBpbnRvIGVkaXRvciBjbGllbnQgaW4gbGF5b3V0IHRlc3RzLiBXZSBj
b3VsZAorICAgICAgICBjaGFuZ2UgdGhlICJEdW1wZWQgRGVsZWdhdGUiIG1lc3NhZ2VzLCBidXQg
aXQgd291bGQKKyAgICAgICAgcmVxdWlyZSBhIHJlYmFzaWxlIG9mICsxMjAwIGZvciBhIG1pbm9y
IGNoYW5nZS4KKworICAgICAgICAqIGVkaXRpbmcvRWRpdG9yLmNwcDogUGFzcyB0aGUgRnJhbWUg
b24gd2hlcmUgdGhlIHNlbGVjdGlvbiBpcyBjaGFuZ2luZyB0byB0aGUgY2xpZW50LgorICAgICAg
ICAoV2ViQ29yZTo6RWRpdG9yOjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKTogRGl0dG8uCisg
ICAgICAgIChXZWJDb3JlOjpFZGl0b3I6OmNoYW5nZVNlbGVjdGlvbkFmdGVyQ29tbWFuZCk6IERp
dHRvLgorICAgICAgICAoV2ViQ29yZTo6RW1wdHlFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5n
ZWRTZWxlY3Rpb24pOgorICAgICAgICAqIHBhZ2UvRWRpdG9yQ2xpZW50Lmg6ICBQYXNzIEZyYW1l
KiB0byBpbmRpY2F0ZSB3aGVyZSB0aGUgc2VsZWN0aW9uIGlzIGhhcHBlbmluZy4KKyAgICAgICAg
KiBsb2FkZXIvRW1wdHlDbGllbnRzLmg6IENoYW5nZWQgc2lnbmF0dXJlIGFzIHBlciBiYXNlIGNs
YXNzIGNoYW5nZS4KKwogMjAxMS0xMC0xNiAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3Jn
PgogCiAgICAgICAgIEFsd2F5cyBlbmFibGUgRU5BQkxFKERPTV9TVE9SQUdFKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9FZGl0b3IuY3BwCmluZGV4IGI0OGE4YjUuLmEzYTk5MDggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L0VkaXRvci5jcHAKQEAgLTQ5MCw3ICs0OTAsNyBAQCBib29sIEVkaXRvcjo6c2hvdWxkU2hvd0Rl
bGV0ZUludGVyZmFjZShIVE1MRWxlbWVudCogZWxlbWVudCkgY29uc3QKIHZvaWQgRWRpdG9yOjpy
ZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKGNvbnN0IFZpc2libGVTZWxlY3Rpb24mIG9sZFNlbGVj
dGlvbikKIHsKICAgICBpZiAoY2xpZW50KCkpCi0gICAgICAgIGNsaWVudCgpLT5yZXNwb25kVG9D
aGFuZ2VkU2VsZWN0aW9uKCk7CisgICAgICAgIGNsaWVudCgpLT5yZXNwb25kVG9DaGFuZ2VkU2Vs
ZWN0aW9uKG1fZnJhbWUpOwogICAgIG1fZGVsZXRlQnV0dG9uQ29udHJvbGxlci0+cmVzcG9uZFRv
Q2hhbmdlZFNlbGVjdGlvbihvbGRTZWxlY3Rpb24pOwogICAgIG1fc3BlbGxpbmdDb3JyZWN0b3It
PnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24ob2xkU2VsZWN0aW9uKTsKIH0KQEAgLTI2NjEsNyAr
MjY2MSw3IEBAIHZvaWQgRWRpdG9yOjpjaGFuZ2VTZWxlY3Rpb25BZnRlckNvbW1hbmQoY29uc3Qg
VmlzaWJsZVNlbGVjdGlvbiYgbmV3U2VsZWN0aW9uLCBiCiAgICAgLy8gZG9lcyBub3QgY2FsbCBF
ZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oKSwgd2hpY2gsIG9uIHRoZSBN
YWMsIHNlbmRzIHNlbGVjdGlvbiBjaGFuZ2Ugbm90aWZpY2F0aW9ucyBhbmQKICAgICAvLyBzdGFy
dHMgYSBuZXcga2lsbCByaW5nIHNlcXVlbmNlLCBidXQgd2Ugd2FudCB0byBkbyB0aGVzZSB0aGlu
Z3MgKG1hdGNoZXMgQXBwS2l0KS4KICAgICBpZiAoc2VsZWN0aW9uRGlkTm90Q2hhbmdlRE9NUG9z
aXRpb24pCi0gICAgICAgIGNsaWVudCgpLT5yZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKCk7Cisg
ICAgICAgIGNsaWVudCgpLT5yZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKG1fZnJhbWUpOwogfQog
CiBTdHJpbmcgRWRpdG9yOjpzZWxlY3RlZFRleHQoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Vt
cHR5Q2xpZW50cy5oCmluZGV4IDUzMmY0MjUuLjI1MGNmMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RW1wdHlDbGllbnRzLmgKQEAgLTQ1OSw3ICs0NTksNyBAQCBwdWJsaWM6CiAgICAgLy8KICAgICB2
aXJ0dWFsIHZvaWQgZGlkQmVnaW5FZGl0aW5nKCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIHJlc3Bv
bmRUb0NoYW5nZWRDb250ZW50cygpIHsgfQotICAgIHZpcnR1YWwgdm9pZCByZXNwb25kVG9DaGFu
Z2VkU2VsZWN0aW9uKCkgeyB9CisgICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5nZWRTZWxl
Y3Rpb24oRnJhbWUqKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkRW5kRWRpdGluZygpIHsgfQog
ICAgIHZpcnR1YWwgdm9pZCBkaWRXcml0ZVNlbGVjdGlvblRvUGFzdGVib2FyZCgpIHsgfQogICAg
IHZpcnR1YWwgdm9pZCBkaWRTZXRTZWxlY3Rpb25UeXBlc0ZvclBhc3RlYm9hcmQoKSB7IH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRWRpdG9yQ2xpZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0VkaXRvckNsaWVudC5oCmluZGV4IGEzN2M4YjkuLmFmZDE4NDMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRWRpdG9yQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9FZGl0b3JDbGllbnQuaApAQCAtOTQsNyArOTQsNyBAQCBwdWJsaWM6CiAKICAgICB2
aXJ0dWFsIHZvaWQgZGlkQmVnaW5FZGl0aW5nKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCByZXNw
b25kVG9DaGFuZ2VkQ29udGVudHMoKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0No
YW5nZWRTZWxlY3Rpb24oKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5nZWRT
ZWxlY3Rpb24oRnJhbWUqKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpZEVuZEVkaXRpbmcoKSA9
IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpZFdyaXRlU2VsZWN0aW9uVG9QYXN0ZWJvYXJkKCkgPSAw
OwogICAgIHZpcnR1YWwgdm9pZCBkaWRTZXRTZWxlY3Rpb25UeXBlc0ZvclBhc3RlYm9hcmQoKSA9
IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDAzMzljYmQuLjk2MzBjODUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMTAtMTcgIEFudG9u
aW8gR29tZXMgIDxhZ29tZXNAcmltLmNvbT4KKworICAgICAgICBQYXNzIGEgRnJhbWUqIHBhcmFt
ZXRlciBpbiBFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjQ4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzcmMvRWRpdG9yQ2xpZW50
SW1wbC5jcHA6IE1ha2UgdXNlIG9mIHRoZSBuZXdseSBhZGRlZCBGcmFtZSogcGFyYW1ldGVyLgor
ICAgICAgICAoV2ViS2l0OjpFZGl0b3JDbGllbnRJbXBsOjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0
aW9uKToKKyAgICAgICAgKiBzcmMvRWRpdG9yQ2xpZW50SW1wbC5oOiBDaGFuZ2UgdGhlIG1ldGhv
ZCBzaWduYXR1cmUsIGFzIHBlciBiYXNlIGNsYXNzIGNoYW5nZS4KKwogMjAxMS0xMC0xNiAgQWRh
bSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIEFsd2F5cyBlbmFibGUgRU5B
QkxFKERPTV9TVE9SQUdFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
RWRpdG9yQ2xpZW50SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9FZGl0b3JD
bGllbnRJbXBsLmNwcAppbmRleCBlZjMwNWNjLi40NjY4NmE1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9FZGl0b3JDbGllbnRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9FZGl0b3JDbGllbnRJbXBsLmNwcApAQCAtMjYwLDEwICsyNjAsOSBA
QCB2b2lkIEVkaXRvckNsaWVudEltcGw6OmRpZEJlZ2luRWRpdGluZygpCiAgICAgICAgIG1fd2Vi
Vmlldy0+Y2xpZW50KCktPmRpZEJlZ2luRWRpdGluZygpOwogfQogCi12b2lkIEVkaXRvckNsaWVu
dEltcGw6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oKQordm9pZCBFZGl0b3JDbGllbnRJbXBs
OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKEZyYW1lKiBmcmFtZSkKIHsKICAgICBpZiAobV93
ZWJWaWV3LT5jbGllbnQoKSkgewotICAgICAgICBGcmFtZSogZnJhbWUgPSBtX3dlYlZpZXctPmZv
Y3VzZWRXZWJDb3JlRnJhbWUoKTsKICAgICAgICAgaWYgKGZyYW1lKQogICAgICAgICAgICAgbV93
ZWJWaWV3LT5jbGllbnQoKS0+ZGlkQ2hhbmdlU2VsZWN0aW9uKCFmcmFtZS0+c2VsZWN0aW9uKCkt
PmlzUmFuZ2UoKSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvRWRpdG9yQ2xpZW50SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRWRpdG9y
Q2xpZW50SW1wbC5oCmluZGV4IDJkZGVlMzYuLjM0MjMzNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL0VkaXRvckNsaWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9FZGl0b3JDbGllbnRJbXBsLmgKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNs
dWRlIDx3dGYvRGVxdWUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgRnJhbWU7CiBj
bGFzcyBIVE1MSW5wdXRFbGVtZW50OwogY2xhc3MgU3BlbGxDaGVja2VyOwogfQpAQCAtNzIsNyAr
NzMsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIHNob3VsZE1vdmVSYW5nZUFmdGVyRGVs
ZXRlKFdlYkNvcmU6OlJhbmdlKiwgV2ViQ29yZTo6UmFuZ2UqKTsKICAgICB2aXJ0dWFsIHZvaWQg
ZGlkQmVnaW5FZGl0aW5nKCk7CiAgICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5nZWRDb250
ZW50cygpOwotICAgIHZpcnR1YWwgdm9pZCByZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKCk7Cisg
ICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oV2ViQ29yZTo6RnJhbWUq
KTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkRW5kRWRpdGluZygpOwogICAgIHZpcnR1YWwgdm9pZCBk
aWRXcml0ZVNlbGVjdGlvblRvUGFzdGVib2FyZCgpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRTZXRT
ZWxlY3Rpb25UeXBlc0ZvclBhc3RlYm9hcmQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwppbmRleCA2OTIwNmI0
Li5kYzdjYTQ3IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMTAtMTcg
IEFudG9uaW8gR29tZXMgIDxhZ29tZXNAcmltLmNvbT4KKworICAgICAgICBQYXNzIGEgRnJhbWUq
IHBhcmFtZXRlciBpbiBFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjQ4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9FZGl0b3JDbGllbnRFZmwuY3BwOiBNYWtlIHVzZSBvZiB0aGUgbmV3bHkgYWRkZWQgRnJh
bWUqIHBhcmFtZXRlci4KKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvckNsaWVudEVmbDo6cmVzcG9u
ZFRvQ2hhbmdlZFNlbGVjdGlvbik6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xp
ZW50RWZsLmg6CisKIDIwMTEtMTAtMTQgIE1hcmsgSGFobmVuYmVyZyAgPG1oYWhuZW5iZXJnQGFw
cGxlLmNvbT4KIAogICAgICAgICBSZW5hbWUgdmlydHVhbCBwdXQgdG8gcHV0VmlydHVhbApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZs
LmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEVmbC5j
cHAKaW5kZXggZmZjYjcwNi4uNDk5M2I4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Vm
bC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuY3BwCkBAIC0xMzMsMjUgKzEzMywxNiBA
QCB2b2lkIEVkaXRvckNsaWVudEVmbDo6cmVzcG9uZFRvQ2hhbmdlZENvbnRlbnRzKCkKICAgICBl
d2tfZnJhbWVfZWRpdG9yX2NsaWVudF9jb250ZW50c19jaGFuZ2VkKGZyYW1lKTsKIH0KIAotdm9p
ZCBFZGl0b3JDbGllbnRFZmw6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oKQordm9pZCBFZGl0
b3JDbGllbnRFZmw6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oRnJhbWUqIGNvcmVGcmFtZSkK
IHsKLSAgICBFdmFzX09iamVjdCogZnJhbWUgPSBld2tfdmlld19mcmFtZV9mb2N1c2VkX2dldCht
X3ZpZXcpOwotCi0gICAgaWYgKCFmcmFtZSkKLSAgICAgICAgZnJhbWUgPSBld2tfdmlld19mcmFt
ZV9tYWluX2dldChtX3ZpZXcpOwotCi0gICAgaWYgKCFmcmFtZSkKLSAgICAgICAgcmV0dXJuOwot
Ci0gICAgV2ViQ29yZTo6RnJhbWUqIGNvcmVGcmFtZSA9IGV3a19mcmFtZV9jb3JlX2dldChmcmFt
ZSk7Ci0KICAgICBpZiAoIWNvcmVGcmFtZSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKGNv
cmVGcmFtZS0+ZWRpdG9yKCkgJiYgY29yZUZyYW1lLT5lZGl0b3IoKS0+aWdub3JlQ29tcG9zaXRp
b25TZWxlY3Rpb25DaGFuZ2UoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgZXdrX2ZyYW1lX2Vk
aXRvcl9jbGllbnRfc2VsZWN0aW9uX2NoYW5nZWQoZnJhbWUpOworICAgIEV2YXNfT2JqZWN0KiB3
ZWJGcmFtZSA9IEVXS1ByaXZhdGU6OmtpdEZyYW1lKGNvcmVGcmFtZSk7CisgICAgZXdrX2ZyYW1l
X2VkaXRvcl9jbGllbnRfc2VsZWN0aW9uX2NoYW5nZWQod2ViRnJhbWUpOwogfQogCiB2b2lkIEVk
aXRvckNsaWVudEVmbDo6ZGlkRW5kRWRpdGluZygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2VmbC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuaCBiL1NvdXJjZS9XZWJLaXQvZWZs
L1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEVmbC5oCmluZGV4IDUzYmEzOTIuLjNiMTA4NTYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVu
dEVmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVu
dEVmbC5oCkBAIC03OSw3ICs3OSw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBkaWRC
ZWdpbkVkaXRpbmcoKTsKICAgICB2aXJ0dWFsIHZvaWQgcmVzcG9uZFRvQ2hhbmdlZENvbnRlbnRz
KCk7Ci0gICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oKTsKKyAgICB2
aXJ0dWFsIHZvaWQgcmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbihGcmFtZSopOwogICAgIHZpcnR1
YWwgdm9pZCBkaWRFbmRFZGl0aW5nKCk7CiAgICAgdmlydHVhbCB2b2lkIGRpZFdyaXRlU2VsZWN0
aW9uVG9QYXN0ZWJvYXJkKCk7CiAgICAgdmlydHVhbCB2b2lkIGRpZFNldFNlbGVjdGlvblR5cGVz
Rm9yUGFzdGVib2FyZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4IGM3YWRiNjkuLjhhOTcxZjUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMS0xMC0xNyAgQW50b25pbyBHb21l
cyAgPGFnb21lc0ByaW0uY29tPgorCisgICAgICAgIFBhc3MgYSBGcmFtZSogcGFyYW1ldGVyIGlu
IEVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNDgKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0VkaXRvckNs
aWVudEd0ay5jcHA6IE1ha2UgdXNlIG9mIHRoZSBuZXdseSBhZGRlZCBGcmFtZSogcGFyYW1ldGVy
LgorICAgICAgICAoV2ViS2l0OjpFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rp
b24pOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5oOgorCiAyMDEx
LTEwLTEyICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIE1ha2Ug
dGhlIGludGVyZmFjZSBvZiBsb2NhdGlvbkFuZExlbmd0aEZyb21SYW5nZSBhbmQgcmFuZ2VGcm9t
TG9jYXRpb25BbmRMZW5ndGggY29uc2lzdGVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9n
dGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQvZ3Rr
L1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5jcHAKaW5kZXggYjE1NzIyOC4uYjBmMjQy
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xp
ZW50R3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JD
bGllbnRHdGsuY3BwCkBAIC0zMDIsMzMgKzMwMiwzMSBAQCBzdGF0aWMgdm9pZCBzZXRTZWxlY3Rp
b25QcmltYXJ5Q2xpcGJvYXJkSWZOZWVkZWQoV2ViS2l0V2ViVmlldyogd2ViVmlldykKIH0KICNl
bmRpZgogCi12b2lkIEVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbigpCit2
b2lkIEVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbihGcmFtZSogZnJhbWUp
CiB7CiAgICAgZ19zaWduYWxfZW1pdF9ieV9uYW1lKG1fd2ViVmlldywgInNlbGVjdGlvbi1jaGFu
Z2VkIik7CiAKLSAgICBXZWJLaXRXZWJWaWV3UHJpdmF0ZSogcHJpdiA9IG1fd2ViVmlldy0+cHJp
djsKLSAgICBXZWJDb3JlOjpQYWdlKiBjb3JlUGFnZSA9IGNvcmUobV93ZWJWaWV3KTsKLSAgICBG
cmFtZSogdGFyZ2V0RnJhbWUgPSBjb3JlUGFnZS0+Zm9jdXNDb250cm9sbGVyKCktPmZvY3VzZWRP
ck1haW5GcmFtZSgpOwotCi0gICAgaWYgKCF0YXJnZXRGcmFtZSkKKyAgICBpZiAoIWZyYW1lKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBpZiAodGFyZ2V0RnJhbWUtPmVkaXRvcigpLT5pZ25vcmVD
b21wb3NpdGlvblNlbGVjdGlvbkNoYW5nZSgpKQorICAgIGlmIChmcmFtZS0+ZWRpdG9yKCktPmln
bm9yZUNvbXBvc2l0aW9uU2VsZWN0aW9uQ2hhbmdlKCkpCiAgICAgICAgIHJldHVybjsKIAogI2lm
IFBMQVRGT1JNKFgxMSkKICAgICBzZXRTZWxlY3Rpb25QcmltYXJ5Q2xpcGJvYXJkSWZOZWVkZWQo
bV93ZWJWaWV3KTsKICNlbmRpZgogCi0gICAgaWYgKCF0YXJnZXRGcmFtZS0+ZWRpdG9yKCktPmhh
c0NvbXBvc2l0aW9uKCkpCisgICAgaWYgKCFmcmFtZS0+ZWRpdG9yKCktPmhhc0NvbXBvc2l0aW9u
KCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIHVuc2lnbmVkIHN0YXJ0OwogICAgIHVuc2lnbmVk
IGVuZDsKLSAgICBpZiAoIXRhcmdldEZyYW1lLT5lZGl0b3IoKS0+Z2V0Q29tcG9zaXRpb25TZWxl
Y3Rpb24oc3RhcnQsIGVuZCkpIHsKKyAgICBXZWJLaXRXZWJWaWV3UHJpdmF0ZSogcHJpdiA9IG1f
d2ViVmlldy0+cHJpdjsKKworICAgIGlmICghZnJhbWUtPmVkaXRvcigpLT5nZXRDb21wb3NpdGlv
blNlbGVjdGlvbihzdGFydCwgZW5kKSkgewogICAgICAgICAvLyBndGtfaW1fY29udGV4dF9yZXNl
dCgpIGNsZWFycyB0aGUgY29tcG9zaXRpb24gZm9yIHVzLgogICAgICAgICBndGtfaW1fY29udGV4
dF9yZXNldChwcml2LT5pbUNvbnRleHQuZ2V0KCkpOwotICAgICAgICB0YXJnZXRGcmFtZS0+ZWRp
dG9yKCktPmNhbmNlbENvbXBvc2l0aW9uKCk7CisgICAgICAgIGZyYW1lLT5lZGl0b3IoKS0+Y2Fu
Y2VsQ29tcG9zaXRpb24oKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Z3RrL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5oIGIvU291cmNlL1dlYktpdC9ndGsv
V2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmgKaW5kZXggYTBmYWRkOC4uNjk4NmE2YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50
R3RrLmgKKysrIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50
R3RrLmgKQEAgLTEwMCw3ICsxMDAsNyBAQCBjbGFzcyBFZGl0b3JDbGllbnQgOiBwdWJsaWMgV2Vi
Q29yZTo6RWRpdG9yQ2xpZW50IHsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkQmVnaW5FZGl0
aW5nKCk7CiAgICAgICAgIHZpcnR1YWwgdm9pZCByZXNwb25kVG9DaGFuZ2VkQ29udGVudHMoKTsK
LSAgICAgICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oKTsKKyAgICAg
ICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oV2ViQ29yZTo6RnJhbWUq
KTsKICAgICAgICAgdmlydHVhbCB2b2lkIGRpZEVuZEVkaXRpbmcoKTsKICAgICAgICAgdmlydHVh
bCB2b2lkIGRpZFdyaXRlU2VsZWN0aW9uVG9QYXN0ZWJvYXJkKCk7CiAgICAgICAgIHZpcnR1YWwg
dm9pZCBkaWRTZXRTZWxlY3Rpb25UeXBlc0ZvclBhc3RlYm9hcmQoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpp
bmRleCA1MDRiMDEyLi4xYzBmOWQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTEtMTAtMTcgIEFudG9uaW8gR29tZXMgIDxhZ29tZXNAcmltLmNvbT4KKworICAgICAgICBQ
YXNzIGEgRnJhbWUqIHBhcmFtZXRlciBpbiBFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRT
ZWxlY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTcwMjQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBXZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuaDoKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9XZWJFZGl0b3JDbGllbnQubW06IE1ha2UgdXNlIG9mIHRoZSBuZXdseSBhZGRlZCBGcmFt
ZSogcGFyYW1ldGVyLgorICAgICAgICAoV2ViRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2Vk
U2VsZWN0aW9uKToKKwogMjAxMS0xMC0xNiAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3Jn
PgogCiAgICAgICAgIEFsd2F5cyBlbmFibGUgRU5BQkxFKERPTV9TVE9SQUdFKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmggYi9T
b3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuaAppbmRleCA2
YTI3NDAwLi5hYWNjYmFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJFZGl0b3JDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJFZGl0b3JDbGllbnQuaApAQCAtOTgsNyArOTgsNyBAQCBwdWJsaWM6CiAgICAgVGV4
dENoZWNrZXJDbGllbnQqIHRleHRDaGVja2VyKCkgT1ZFUlJJREUgeyByZXR1cm4gdGhpczsgfQog
CiAgICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5nZWRDb250ZW50cygpIE9WRVJSSURFOwot
ICAgIHZpcnR1YWwgdm9pZCByZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKCkgT1ZFUlJJREU7Cisg
ICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oV2ViQ29yZTo6RnJhbWUq
KSBPVkVSUklERTsKIAogICAgIHZpcnR1YWwgdm9pZCByZWdpc3RlckNvbW1hbmRGb3JVbmRvKFBh
c3NSZWZQdHI8V2ViQ29yZTo6RWRpdENvbW1hbmQ+KSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZv
aWQgcmVnaXN0ZXJDb21tYW5kRm9yUmVkbyhQYXNzUmVmUHRyPFdlYkNvcmU6OkVkaXRDb21tYW5k
PikgT1ZFUlJJREU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9y
dC9XZWJFZGl0b3JDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9X
ZWJFZGl0b3JDbGllbnQubW0KaW5kZXggZDE5Mzg0MS4uZTZmZjFiYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50Lm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5tbQpAQCAtMjkw
LDkgKzI5MCw5IEBAIHZvaWQgV2ViRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkQ29udGVu
dHMoKQogICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcG9zdE5vdGlm
aWNhdGlvbk5hbWU6V2ViVmlld0RpZENoYW5nZU5vdGlmaWNhdGlvbiBvYmplY3Q6bV93ZWJWaWV3
XTsgICAgCiB9CiAKLXZvaWQgV2ViRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0
aW9uKCkKK3ZvaWQgV2ViRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKEZy
YW1lKiBmcmFtZSkKIHsKLSAgICBOU1ZpZXc8V2ViRG9jdW1lbnRWaWV3PiAqZG9jdW1lbnRWaWV3
ID0gW1tbbV93ZWJWaWV3IF9zZWxlY3RlZE9yTWFpbkZyYW1lXSBmcmFtZVZpZXddIGRvY3VtZW50
Vmlld107CisgICAgTlNWaWV3PFdlYkRvY3VtZW50Vmlldz4gKmRvY3VtZW50VmlldyA9IFtbW2Zy
YW1lXSBmcmFtZVZpZXddIGRvY3VtZW50Vmlld107CiAgICAgaWYgKFtkb2N1bWVudFZpZXcgaXNL
aW5kT2ZDbGFzczpbV2ViSFRNTFZpZXcgY2xhc3NdXSkKICAgICAgICAgWyhXZWJIVE1MVmlldyAq
KWRvY3VtZW50VmlldyBfc2VsZWN0aW9uQ2hhbmdlZF07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvcXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggZDI1
Y2IwNC4uM2ZiNTdiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMS0xMC0x
NyAgQW50b25pbyBHb21lcyAgPGFnb21lc0ByaW0uY29tPgorCisgICAgICAgIFBhc3MgYSBGcmFt
ZSogcGFyYW1ldGVyIGluIEVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNDgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVT
dXBwb3J0L0VkaXRvckNsaWVudFF0LmNwcDogTWFrZSB1c2Ugb2YgdGhlIG5ld2x5IGFkZGVkIEZy
YW1lKiBwYXJhbWV0ZXIuCisgICAgICAgIChXZWJDb3JlOjpFZGl0b3JDbGllbnRRdDo6cmVzcG9u
ZFRvQ2hhbmdlZFNlbGVjdGlvbik6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xp
ZW50UXQuaDoKKwogMjAxMS0xMC0xNSAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgog
CiAgICAgICAgIFJlbmFtZSBFTkFCTEUoVElMRURfQkFDS0lOR19TVE9SRSkgdG8gVVNFKFRJTEVE
X0JBQ0tJTkdfU1RPUkUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBw
b3J0L0VkaXRvckNsaWVudFF0LmNwcCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQv
RWRpdG9yQ2xpZW50UXQuY3BwCmluZGV4IGYzODdlYTkuLmY5NThlODYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50UXQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50UXQuY3BwCkBAIC0yMDEs
NyArMjAxLDcgQEAgdm9pZCBFZGl0b3JDbGllbnRRdDo6cmVzcG9uZFRvQ2hhbmdlZENvbnRlbnRz
KCkKICAgICBlbWl0IG1fcGFnZS0+Y29udGVudHNDaGFuZ2VkKCk7CiB9CiAKLXZvaWQgRWRpdG9y
Q2xpZW50UXQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oKQordm9pZCBFZGl0b3JDbGllbnRR
dDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbihGcmFtZSogZnJhbWUpCiB7CiAgICAgaWYgKGR1
bXBFZGl0aW5nQ2FsbGJhY2tzKQogICAgICAgICBwcmludGYoIkVESVRJTkcgREVMRUdBVEU6IHdl
YlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNh
dGlvblxuIik7CkBAIC0yMTIsNyArMjEyLDYgQEAgdm9pZCBFZGl0b3JDbGllbnRRdDo6cmVzcG9u
ZFRvQ2hhbmdlZFNlbGVjdGlvbigpCiAKICAgICBtX3BhZ2UtPmQtPnVwZGF0ZUVkaXRvckFjdGlv
bnMoKTsKICAgICBlbWl0IG1fcGFnZS0+c2VsZWN0aW9uQ2hhbmdlZCgpOwotICAgIEZyYW1lKiBm
cmFtZSA9IG1fcGFnZS0+ZC0+cGFnZS0+Zm9jdXNDb250cm9sbGVyKCktPmZvY3VzZWRPck1haW5G
cmFtZSgpOwogICAgIGlmICghZnJhbWUtPmVkaXRvcigpLT5pZ25vcmVDb21wb3NpdGlvblNlbGVj
dGlvbkNoYW5nZSgpKQogICAgICAgICBlbWl0IG1fcGFnZS0+bWljcm9Gb2N1c0NoYW5nZWQoKTsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xp
ZW50UXQuaCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50UXQu
aAppbmRleCBkOTY1OGJiLi42ZTZhMGE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dl
YkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudFF0LmgKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJD
b3JlU3VwcG9ydC9FZGl0b3JDbGllbnRRdC5oCkBAIC02OSw3ICs2OSw3IEBAIHB1YmxpYzoKIAog
ICAgIHZpcnR1YWwgdm9pZCBkaWRCZWdpbkVkaXRpbmcoKTsKICAgICB2aXJ0dWFsIHZvaWQgcmVz
cG9uZFRvQ2hhbmdlZENvbnRlbnRzKCk7Ci0gICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5n
ZWRTZWxlY3Rpb24oKTsKKyAgICB2aXJ0dWFsIHZvaWQgcmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlv
bihGcmFtZSopOwogICAgIHZpcnR1YWwgdm9pZCBkaWRFbmRFZGl0aW5nKCk7CiAgICAgdmlydHVh
bCB2b2lkIGRpZFdyaXRlU2VsZWN0aW9uVG9QYXN0ZWJvYXJkKCk7CiAgICAgdmlydHVhbCB2b2lk
IGRpZFNldFNlbGVjdGlvblR5cGVzRm9yUGFzdGVib2FyZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC93aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCmluZGV4
IDk3MTIyZmMuLjFhNThiMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAx
MS0xMC0xNyAgQW50b25pbyBHb21lcyAgPGFnb21lc0ByaW0uY29tPgorCisgICAgICAgIFBhc3Mg
YSBGcmFtZSogcGFyYW1ldGVyIGluIEVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVj
dGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAy
NDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdl
YkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5jcHA6IE1ha2UgdXNlIG9mIHRoZSBuZXdseSBh
ZGRlZCBGcmFtZSogcGFyYW1ldGVyLgorICAgICAgICAoV2ViRWRpdG9yQ2xpZW50OjpyZXNwb25k
VG9DaGFuZ2VkU2VsZWN0aW9uKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JD
bGllbnQuaDoKKwogMjAxMS0xMC0xNCAgSnVsaWVuIENoYWZmcmFpeCAgPGpjaGFmZnJhaXhAd2Vi
a2l0Lm9yZz4KIAogICAgICAgICBSZW1vdmUgbGF5ZXJYIC8gbGF5ZXJZIGZyb20gdGhlIFdpbmRv
d3MgQVBJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJF
ZGl0b3JDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRWRp
dG9yQ2xpZW50LmNwcAppbmRleCBjMDE1YjIzLi5lNTBjNmQzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5jcHAKQEAgLTIwOCw3
ICsyMDgsNyBAQCB2b2lkIFdlYkVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZENvbnRlbnRz
KCkKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCi12b2lkIFdlYkVkaXRvckNsaWVudDo6cmVz
cG9uZFRvQ2hhbmdlZFNlbGVjdGlvbigpCit2b2lkIFdlYkVkaXRvckNsaWVudDo6cmVzcG9uZFRv
Q2hhbmdlZFNlbGVjdGlvbihGcmFtZSopCiB7CiAgICAgbV93ZWJWaWV3LT5zZWxlY3Rpb25DaGFu
Z2VkKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dl
YkVkaXRvckNsaWVudC5oIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRWRp
dG9yQ2xpZW50LmgKaW5kZXggMWRiNGM2OC4uMjhkZTljMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmgKKysrIGIvU291cmNlL1dl
YktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmgKQEAgLTU4LDcgKzU4LDcg
QEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkaWRTZXRTZWxlY3Rpb25UeXBlc0ZvclBhc3Rl
Ym9hcmQoKTsKIAogICAgIHZpcnR1YWwgdm9pZCByZXNwb25kVG9DaGFuZ2VkQ29udGVudHMoKTsK
LSAgICB2aXJ0dWFsIHZvaWQgcmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbigpOworICAgIHZpcnR1
YWwgdm9pZCByZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKFdlYkNvcmU6OkZyYW1lKik7CiAKICAg
ICBib29sIHNob3VsZFNob3dEZWxldGVJbnRlcmZhY2UoV2ViQ29yZTo6SFRNTEVsZW1lbnQqKTsK
ICAgICBib29sIHNob3VsZERlbGV0ZVJhbmdlKFdlYkNvcmU6OlJhbmdlKik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L3d4L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd3gvQ2hhbmdlTG9n
CmluZGV4IGM2MzYwMDEuLmJkMTVmN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd3gvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd3gvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTEtMTAtMTcgIEFudG9uaW8gR29tZXMgIDxhZ29tZXNAcmltLmNvbT4KKworICAgICAgICBQ
YXNzIGEgRnJhbWUqIHBhcmFtZXRlciBpbiBFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRT
ZWxlY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTcwMjQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBXZWJLaXRTdXBwb3J0L0VkaXRvckNsaWVudFd4LmNwcDogTWFrZSB1c2Ugb2YgdGhlIG5ld2x5
IGFkZGVkIEZyYW1lKiBwYXJhbWV0ZXIuCisgICAgICAgIChXZWJDb3JlOjpFZGl0b3JDbGllbnRX
eDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbik6CisgICAgICAgICogV2ViS2l0U3VwcG9ydC9F
ZGl0b3JDbGllbnRXeC5oOgorCiAyMDExLTA5LTI0ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgQWx3YXlzIGVuYWJsZSBFTkFCTEUoT0ZGTElORV9XRUJfQVBQTElD
QVRJT05TKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0VkaXRv
ckNsaWVudFd4LmNwcCBiL1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9FZGl0b3JDbGll
bnRXeC5jcHAKaW5kZXggNTgxMmRmZS4uN2ExN2FkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC93eC9XZWJLaXRTdXBwb3J0L0VkaXRvckNsaWVudFd4LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L3d4L1dlYktpdFN1cHBvcnQvRWRpdG9yQ2xpZW50V3guY3BwCkBAIC00ODcsOSArNDg3LDggQEAg
dm9pZCBFZGl0b3JDbGllbnRXeDo6dGV4dERpZENoYW5nZUluVGV4dEFyZWEoRWxlbWVudCopCiAg
ICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAotdm9pZCBFZGl0b3JDbGllbnRXeDo6cmVzcG9uZFRv
Q2hhbmdlZFNlbGVjdGlvbigpCit2b2lkIEVkaXRvckNsaWVudFd4OjpyZXNwb25kVG9DaGFuZ2Vk
U2VsZWN0aW9uKEZyYW1lKiBmcmFtZSkKIHsKLSAgICBGcmFtZSogZnJhbWUgPSBtX3BhZ2UtPmZv
Y3VzQ29udHJvbGxlcigpLT5mb2N1c2VkT3JNYWluRnJhbWUoKTsKICAgICBpZiAoZnJhbWUpIHsK
ICAgICAgICAgd3hXZWJWaWV3KiB3ZWJLaXRXaW4gPSBkeW5hbWljX2Nhc3Q8d3hXZWJWaWV3Kj4o
ZnJhbWUtPnZpZXcoKS0+aG9zdFdpbmRvdygpLT5wbGF0Zm9ybVBhZ2VDbGllbnQoKSk7CiAgICAg
ICAgIGlmICh3ZWJLaXRXaW4pIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0
U3VwcG9ydC9FZGl0b3JDbGllbnRXeC5oIGIvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0
L0VkaXRvckNsaWVudFd4LmgKaW5kZXggNzM3MGYwYS4uMzE4ZjU0YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0VkaXRvckNsaWVudFd4LmgKKysrIGIvU291cmNl
L1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0VkaXRvckNsaWVudFd4LmgKQEAgLTcyLDcgKzcyLDcg
QEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGRpZEJlZ2luRWRpdGluZygpOwogICAgIHZp
cnR1YWwgdm9pZCByZXNwb25kVG9DaGFuZ2VkQ29udGVudHMoKTsKLSAgICB2aXJ0dWFsIHZvaWQg
cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbigpOworICAgIHZpcnR1YWwgdm9pZCByZXNwb25kVG9D
aGFuZ2VkU2VsZWN0aW9uKEZyYW1lKik7CiAgICAgdmlydHVhbCB2b2lkIGRpZEVuZEVkaXRpbmco
KTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkV3JpdGVTZWxlY3Rpb25Ub1Bhc3RlYm9hcmQoKTsKICAg
ICB2aXJ0dWFsIHZvaWQgZGlkU2V0U2VsZWN0aW9uVHlwZXNGb3JQYXN0ZWJvYXJkKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKaW5kZXggZWRlYjdkYy4uZDUyOWQ3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisy
MDExLTEwLTE3ICBBbnRvbmlvIEdvbWVzICA8YWdvbWVzQHJpbS5jb20+CisKKyAgICAgICAgUGFz
cyBhIEZyYW1lKiBwYXJhbWV0ZXIgaW4gRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2Vs
ZWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03
MDI0OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuY3BwOiBNYWtlIHVzZSBv
ZiB0aGUgbmV3bHkgYWRkZWQgRnJhbWUqIHBhcmFtZXRlci4KKyAgICAgICAgKFdlYktpdDo6V2Vi
RWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKToKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5oOgorCiAyMDExLTEwLTE2ICBB
ZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWx3YXlzIGVuYWJsZSBF
TkFCTEUoRE9NX1NUT1JBR0UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5jcHAKaW5kZXggZTljMTI2MC4u
OGU3MTNmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJFZGl0b3JDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmNwcApAQCAtMTc0LDExICsxNzQsMTAgQEAg
dm9pZCBXZWJFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRDb250ZW50cygpCiAgICAgbm90
SW1wbGVtZW50ZWQoKTsKIH0KIAotdm9pZCBXZWJFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5n
ZWRTZWxlY3Rpb24oKQordm9pZCBXZWJFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxl
Y3Rpb24oRnJhbWUqKQogewogICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCBXZWJWaWV3
RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uLCAoIldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rp
b25Ob3RpZmljYXRpb24iKSk7CiAgICAgbV9wYWdlLT5pbmplY3RlZEJ1bmRsZUVkaXRvckNsaWVu
dCgpLmRpZENoYW5nZVNlbGVjdGlvbihtX3BhZ2UsIFdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25O
b3RpZmljYXRpb24uaW1wbCgpKTsKLSAgICBGcmFtZSogZnJhbWUgPSBtX3BhZ2UtPmNvcmVQYWdl
KCktPmZvY3VzQ29udHJvbGxlcigpLT5mb2N1c2VkRnJhbWUoKTsKICAgICBpZiAoIWZyYW1lKQog
ICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5oCmluZGV4IDVlNzM2MzIuLmUyYmVm
OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViRWRpdG9yQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuaApAQCAtNjQsNyArNjQsNyBAQCBwcml2YXRlOgogCiAg
ICAgdmlydHVhbCB2b2lkIGRpZEJlZ2luRWRpdGluZygpIE9WRVJSSURFOwogICAgIHZpcnR1YWwg
dm9pZCByZXNwb25kVG9DaGFuZ2VkQ29udGVudHMoKSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIHZv
aWQgcmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbigpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9p
ZCByZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKFdlYkNvcmU6OkZyYW1lKikgT1ZFUlJJREU7CiAg
ICAgdmlydHVhbCB2b2lkIGRpZEVuZEVkaXRpbmcoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZv
aWQgZGlkV3JpdGVTZWxlY3Rpb25Ub1Bhc3RlYm9hcmQoKSBPVkVSUklERTsKICAgICB2aXJ0dWFs
IHZvaWQgZGlkU2V0U2VsZWN0aW9uVHlwZXNGb3JQYXN0ZWJvYXJkKCkgT1ZFUlJJREU7Ci0tIAox
LjcuMQoK
</data>
<flag name="commit-queue"
          id="109131"
          type_id="3"
          status="-"
          setter="gyuyoung.kim"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111372</attachid>
            <date>2011-10-17 20:05:40 -0700</date>
            <delta_ts>2011-10-18 07:05:09 -0700</delta_ts>
            <desc>patch v1.4 - for review</desc>
            <filename>0001-2011-10-17-Antonio-Gomes-agomes-rim.com.patch</filename>
            <type>text/plain</type>
            <size>27651</size>
            <attacher name="Antonio Gomes">tonikitoo</attacher>
            
              <data encoding="base64">RnJvbSAyYmRmMzQwYTc5N2JjMTEyY2FjMDY2ZjM1Mzk4MmY1NWUyNTU1N2U2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRvbmlvIEdvbWVzIDxhZ29tZXNAcmltLmNvbT4KRGF0ZTog
TW9uLCAxNyBPY3QgMjAxMSAxMzo1MjoyNCAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIDIwMTEtMTAt
MTcgIEFudG9uaW8gR29tZXMgIDxhZ29tZXNAcmltLmNvbT4KCiAgICAgICAgUGFzcyBhIEZyYW1l
KiBwYXJhbWV0ZXIgaW4gRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uCiAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjQ4CgogICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICBNb3N0IG9mIHRoZSBwb3J0
IHNwZWNpZmljIGltcGxlbWVudGF0aW9ucyBvZiBFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5n
ZWRTZWxlY3Rpb24KICAgICAgICAobGlrZSBFZGl0b3JDbGllbnR7UXQsR3RrLGV0Y30pIGFyZSB3
cm9uZ2x5IHJlbHlpbmcgb24gRm9jdXNDb250cm9sbGVyOjpmb2N1c2VkT3JNYWluRnJhbWUKICAg
ICAgICBtZXRob2QgdG8gZ2V0IHRoZSBGcmFtZSB3aGVyZSB0aGUgc2VsZWN0aW9uIGlzIGhhcHBl
bmluZyBvbi4KCiAgICAgICAgSXQgaXMgbm90IHJpZ2h0LCBzaW5jZSBhIHNlbGVjdGlvbiBjYW4g
YmUgZWFzaWx5IHRyaWdnZXJlZCBpbiBhbiBpbm5lcgogICAgICAgIGZyYW1lIHRoYXQgaXMgbm90
IGZvY3VzZWQuCgogICAgICAgIE5vIG5ldyB0ZXN0cyBzaW5jZSBpdCBpcyBhIGhhcmQgdGhpbmcg
dG8gdGVzdCB3aXRob3V0CiAgICAgICAgdG8gaG9vayBpbnRvIGVkaXRvciBjbGllbnQgaW4gbGF5
b3V0IHRlc3RzLiBXZSBjb3VsZAogICAgICAgIGNoYW5nZSB0aGUgIkR1bXBlZCBEZWxlZ2F0ZSIg
bWVzc2FnZXMsIGJ1dCBpdCB3b3VsZAogICAgICAgIHJlcXVpcmUgYSByZWJhc2lsZSBvZiArMTIw
MCBmb3IgYSBtaW5vciBjaGFuZ2UuCgogICAgICAgIE5vIG5ldyB0ZXN0cyBzaW5jZSBpdCBpcyBh
IGhhcmQgdGhpbmcgdG8gdGVzdCB3aXRob3V0CiAgICAgICAgdG8gaG9vayBpbnRvIGVkaXRvciBj
bGllbnQgaW4gbGF5b3V0IHRlc3RzLiBXZSBjb3VsZAogICAgICAgIGNoYW5nZSB0aGUgIkR1bXBl
ZCBEZWxlZ2F0ZSIgbWVzc2FnZXMsIGJ1dCBpdCB3b3VsZAogICAgICAgIHJlcXVpcmUgYSByZWJh
c2lsZSBvZiArMTIwMCBmb3IgYSBtaW5vciBjaGFuZ2UuCgogICAgICAgIFNvdXJjZS9XZWJDb3Jl
OgogICAgICAgICogZWRpdGluZy9FZGl0b3IuY3BwOiBQYXNzIHRoZSBGcmFtZSBvbiB3aGVyZSB0
aGUgc2VsZWN0aW9uIGlzIGNoYW5naW5nIHRvIHRoZSBjbGllbnQuCiAgICAgICAgKFdlYkNvcmU6
OkVkaXRvcjo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbik6IERpdHRvLgogICAgICAgIChXZWJD
b3JlOjpFZGl0b3I6OmNoYW5nZVNlbGVjdGlvbkFmdGVyQ29tbWFuZCk6IERpdHRvLgogICAgICAg
IChXZWJDb3JlOjpFbXB0eUVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbik6
CiAgICAgICAgKiBwYWdlL0VkaXRvckNsaWVudC5oOiAgUGFzcyBGcmFtZSogdG8gaW5kaWNhdGUg
d2hlcmUgdGhlIHNlbGVjdGlvbiBpcyBoYXBwZW5pbmcuCiAgICAgICAgKiBsb2FkZXIvRW1wdHlD
bGllbnRzLmg6IENoYW5nZWQgc2lnbmF0dXJlIGFzIHBlciBiYXNlIGNsYXNzIGNoYW5nZS4KCiAg
ICAgICAgU291cmNlL1dlYktpdC9jaHJvbWl1bToKICAgICAgICAqIHNyYy9FZGl0b3JDbGllbnRJ
bXBsLmNwcDogTWFrZSB1c2Ugb2YgdGhlIG5ld2x5IGFkZGVkIEZyYW1lKiBwYXJhbWV0ZXIuCiAg
ICAgICAgKFdlYktpdDo6RWRpdG9yQ2xpZW50SW1wbDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlv
bik6CiAgICAgICAgKiBzcmMvRWRpdG9yQ2xpZW50SW1wbC5oOgoKICAgICAgICBTb3VyY2UvV2Vi
S2l0L2VmbDoKICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEVmbC5jcHA6IE1h
a2UgdXNlIG9mIHRoZSBuZXdseSBhZGRlZCBGcmFtZSogcGFyYW1ldGVyLgogICAgICAgIChXZWJD
b3JlOjpFZGl0b3JDbGllbnRFZmw6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24pOgogICAgICAg
ICogV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmg6CgogICAgICAgIFNvdXJjZS9XZWJL
aXQvZ3RrOgogICAgICAgICogV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmNwcDogTWFr
ZSB1c2Ugb2YgdGhlIG5ld2x5IGFkZGVkIEZyYW1lKiBwYXJhbWV0ZXIuCiAgICAgICAgKFdlYktp
dDo6RWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKToKICAgICAgICAqIFdl
YkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5oOgoKICAgICAgICBTb3VyY2UvV2ViS2l0L21h
YzoKICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5oOiBNYWtlIHVzZSBv
ZiB0aGUgbmV3bHkgYWRkZWQgRnJhbWUqIHBhcmFtZXRlci4KICAgICAgICAqIFdlYkNvcmVTdXBw
b3J0L1dlYkVkaXRvckNsaWVudC5tbToKICAgICAgICAoV2ViRWRpdG9yQ2xpZW50OjpyZXNwb25k
VG9DaGFuZ2VkU2VsZWN0aW9uKToKCiAgICAgICAgU291cmNlL1dlYktpdC9xdDoKICAgICAgICAq
IFdlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudFF0LmNwcDogTWFrZSB1c2Ugb2YgdGhlIG5ld2x5
IGFkZGVkIEZyYW1lKiBwYXJhbWV0ZXIuCiAgICAgICAgKFdlYkNvcmU6OkVkaXRvckNsaWVudFF0
OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKToKICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Vk
aXRvckNsaWVudFF0Lmg6CgogICAgICAgIFNvdXJjZS9XZWJLaXQvd2luOgogICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmNwcDogTWFrZSB1c2Ugb2YgdGhlIG5ld2x5IGFk
ZGVkIEZyYW1lKiBwYXJhbWV0ZXIuCiAgICAgICAgKFdlYkVkaXRvckNsaWVudDo6cmVzcG9uZFRv
Q2hhbmdlZFNlbGVjdGlvbik6CiAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGll
bnQuaDoKCiAgICAgICAgU291cmNlL1dlYktpdC93eDoKICAgICAgICAqIFdlYktpdFN1cHBvcnQv
RWRpdG9yQ2xpZW50V3guY3BwOiBNYWtlIHVzZSBvZiB0aGUgbmV3bHkgYWRkZWQgRnJhbWUqIHBh
cmFtZXRlci4KICAgICAgICAoV2ViQ29yZTo6RWRpdG9yQ2xpZW50V3g6OnJlc3BvbmRUb0NoYW5n
ZWRTZWxlY3Rpb24pOgogICAgICAgICogV2ViS2l0U3VwcG9ydC9FZGl0b3JDbGllbnRXeC5oOgoK
ICAgICAgICBTb3VyY2UvV2ViS2l0MjoKICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViRWRpdG9yQ2xpZW50LmNwcDogTWFrZSB1c2Ugb2YgdGhlIG5ld2x5IGFkZGVkIEZyYW1l
KiBwYXJhbWV0ZXIuCiAgICAgICAgKFdlYktpdDo6V2ViRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9D
aGFuZ2VkU2VsZWN0aW9uKToKICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
RWRpdG9yQ2xpZW50Lmg6Ci0tLQogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAgIDI1ICsrKysrKysrKysrKysrKysrKysrCiBTb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0VkaXRvci5jcHAgICAgICAgICAgICAgICAgICB8ICAgIDQgKy0KIFNvdXJjZS9X
ZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaCAgICAgICAgICAgICAgIHwgICAgMiArLQogU291
cmNlL1dlYkNvcmUvcGFnZS9FZGl0b3JDbGllbnQuaCAgICAgICAgICAgICAgICAgfCAgICAyICst
CiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICB8ICAg
MTEgKysrKysrKysKIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0VkaXRvckNsaWVudEltcGwu
Y3BwICAgIHwgICAgMyArLQogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRWRpdG9yQ2xpZW50
SW1wbC5oICAgICAgfCAgICAzICstCiBTb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgICAgICAg
ICAgICAgICAgICAgICAgICB8ICAgMTEgKysrKysrKysKIC4uLi9XZWJLaXQvZWZsL1dlYkNvcmVT
dXBwb3J0L0VkaXRvckNsaWVudEVmbC5jcHAgIHwgICAxNSArKy0tLS0tLS0tLQogU291cmNlL1dl
YktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmggfCAgICAyICstCiBTb3Vy
Y2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTEgKysr
KysrKysKIC4uLi9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5jcHAg
IHwgICAxOCArKysrKystLS0tLS0tLQogU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQv
RWRpdG9yQ2xpZW50R3RrLmggfCAgICAyICstCiBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cg
ICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTEgKysrKysrKysKIFNvdXJjZS9XZWJLaXQvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5oIHwgICAgMiArLQogLi4uL1dlYktpdC9t
YWMvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50Lm1tICAgfCAgICA0ICstCiBTb3VyY2Uv
V2ViS2l0L3F0L0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTEgKysrKysr
KysKIFNvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50UXQuY3BwIHwg
ICAgMyArLQogU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRRdC5o
ICAgfCAgICAyICstCiBTb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cgICAgICAgICAgICAgICAg
ICAgICAgICB8ICAgMTEgKysrKysrKysKIC4uLi9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dl
YkVkaXRvckNsaWVudC5jcHAgIHwgICAgMiArLQogU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1
cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmggfCAgICAyICstCiBTb3VyY2UvV2ViS2l0L3d4L0NoYW5n
ZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTEgKysrKysrKysKIFNvdXJjZS9XZWJL
aXQvd3gvV2ViS2l0U3VwcG9ydC9FZGl0b3JDbGllbnRXeC5jcHAgIHwgICAgMyArLQogU291cmNl
L1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0VkaXRvckNsaWVudFd4LmggICAgfCAgICAyICstCiBT
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTEg
KysrKysrKysKIC4uLi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5j
cHAgIHwgICAgMyArLQogLi4uL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xp
ZW50LmggICAgfCAgICAyICstCiAyOCBmaWxlcyBjaGFuZ2VkLCAxNDQgaW5zZXJ0aW9ucygrKSwg
NDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDdmYjBhZmMuLjc3MDZhOTcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyOCBAQAorMjAxMS0xMC0xNyAgQW50b25pbyBHb21lcyAgPGFnb21lc0By
aW0uY29tPgorCisgICAgICAgIFBhc3MgYSBGcmFtZSogcGFyYW1ldGVyIGluIEVkaXRvckNsaWVu
dDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBNb3N0IG9mIHRoZSBwb3J0IHNwZWNpZmljIGltcGxlbWVudGF0
aW9ucyBvZiBFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24KKyAgICAgICAg
KGxpa2UgRWRpdG9yQ2xpZW50e1F0LEd0ayxldGN9KSBhcmUgd3JvbmdseSByZWx5aW5nIG9uIEZv
Y3VzQ29udHJvbGxlcjo6Zm9jdXNlZE9yTWFpbkZyYW1lCisgICAgICAgIG1ldGhvZCB0byBnZXQg
dGhlIEZyYW1lIHdoZXJlIHRoZSBzZWxlY3Rpb24gaXMgaGFwcGVuaW5nIG9uLgorICAgICAgICBJ
dCBpcyBub3QgcmlnaHQsIHNpbmNlIGEgc2VsZWN0aW9uIGNhbiBiZSBlYXNpbHkgdHJpZ2dlcmVk
IGluIGFuIGlubmVyCisgICAgICAgIGZyYW1lIHRoYXQgaXMgbm90IGZvY3VzZWQuCisKKyAgICAg
ICAgTm8gbmV3IHRlc3RzIHNpbmNlIGl0IGlzIGEgaGFyZCB0aGluZyB0byB0ZXN0IHdpdGhvdXQK
KyAgICAgICAgdG8gaG9vayBpbnRvIGVkaXRvciBjbGllbnQgaW4gbGF5b3V0IHRlc3RzLiBXZSBj
b3VsZAorICAgICAgICBjaGFuZ2UgdGhlICJEdW1wZWQgRGVsZWdhdGUiIG1lc3NhZ2VzLCBidXQg
aXQgd291bGQKKyAgICAgICAgcmVxdWlyZSBhIHJlYmFzaWxlIG9mICsxMjAwIGZvciBhIG1pbm9y
IGNoYW5nZS4KKworICAgICAgICAqIGVkaXRpbmcvRWRpdG9yLmNwcDogUGFzcyB0aGUgRnJhbWUg
b24gd2hlcmUgdGhlIHNlbGVjdGlvbiBpcyBjaGFuZ2luZyB0byB0aGUgY2xpZW50LgorICAgICAg
ICAoV2ViQ29yZTo6RWRpdG9yOjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKTogRGl0dG8uCisg
ICAgICAgIChXZWJDb3JlOjpFZGl0b3I6OmNoYW5nZVNlbGVjdGlvbkFmdGVyQ29tbWFuZCk6IERp
dHRvLgorICAgICAgICAoV2ViQ29yZTo6RW1wdHlFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5n
ZWRTZWxlY3Rpb24pOgorICAgICAgICAqIHBhZ2UvRWRpdG9yQ2xpZW50Lmg6ICBQYXNzIEZyYW1l
KiB0byBpbmRpY2F0ZSB3aGVyZSB0aGUgc2VsZWN0aW9uIGlzIGhhcHBlbmluZy4KKyAgICAgICAg
KiBsb2FkZXIvRW1wdHlDbGllbnRzLmg6IENoYW5nZWQgc2lnbmF0dXJlIGFzIHBlciBiYXNlIGNs
YXNzIGNoYW5nZS4KKwogMjAxMS0xMC0xNiAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3Jn
PgogCiAgICAgICAgIEFsd2F5cyBlbmFibGUgRU5BQkxFKERPTV9TVE9SQUdFKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9FZGl0b3IuY3BwCmluZGV4IGI0OGE4YjUuLmEzYTk5MDggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L0VkaXRvci5jcHAKQEAgLTQ5MCw3ICs0OTAsNyBAQCBib29sIEVkaXRvcjo6c2hvdWxkU2hvd0Rl
bGV0ZUludGVyZmFjZShIVE1MRWxlbWVudCogZWxlbWVudCkgY29uc3QKIHZvaWQgRWRpdG9yOjpy
ZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKGNvbnN0IFZpc2libGVTZWxlY3Rpb24mIG9sZFNlbGVj
dGlvbikKIHsKICAgICBpZiAoY2xpZW50KCkpCi0gICAgICAgIGNsaWVudCgpLT5yZXNwb25kVG9D
aGFuZ2VkU2VsZWN0aW9uKCk7CisgICAgICAgIGNsaWVudCgpLT5yZXNwb25kVG9DaGFuZ2VkU2Vs
ZWN0aW9uKG1fZnJhbWUpOwogICAgIG1fZGVsZXRlQnV0dG9uQ29udHJvbGxlci0+cmVzcG9uZFRv
Q2hhbmdlZFNlbGVjdGlvbihvbGRTZWxlY3Rpb24pOwogICAgIG1fc3BlbGxpbmdDb3JyZWN0b3It
PnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24ob2xkU2VsZWN0aW9uKTsKIH0KQEAgLTI2NjEsNyAr
MjY2MSw3IEBAIHZvaWQgRWRpdG9yOjpjaGFuZ2VTZWxlY3Rpb25BZnRlckNvbW1hbmQoY29uc3Qg
VmlzaWJsZVNlbGVjdGlvbiYgbmV3U2VsZWN0aW9uLCBiCiAgICAgLy8gZG9lcyBub3QgY2FsbCBF
ZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oKSwgd2hpY2gsIG9uIHRoZSBN
YWMsIHNlbmRzIHNlbGVjdGlvbiBjaGFuZ2Ugbm90aWZpY2F0aW9ucyBhbmQKICAgICAvLyBzdGFy
dHMgYSBuZXcga2lsbCByaW5nIHNlcXVlbmNlLCBidXQgd2Ugd2FudCB0byBkbyB0aGVzZSB0aGlu
Z3MgKG1hdGNoZXMgQXBwS2l0KS4KICAgICBpZiAoc2VsZWN0aW9uRGlkTm90Q2hhbmdlRE9NUG9z
aXRpb24pCi0gICAgICAgIGNsaWVudCgpLT5yZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKCk7Cisg
ICAgICAgIGNsaWVudCgpLT5yZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKG1fZnJhbWUpOwogfQog
CiBTdHJpbmcgRWRpdG9yOjpzZWxlY3RlZFRleHQoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Vt
cHR5Q2xpZW50cy5oCmluZGV4IDUzMmY0MjUuLjI1MGNmMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RW1wdHlDbGllbnRzLmgKQEAgLTQ1OSw3ICs0NTksNyBAQCBwdWJsaWM6CiAgICAgLy8KICAgICB2
aXJ0dWFsIHZvaWQgZGlkQmVnaW5FZGl0aW5nKCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIHJlc3Bv
bmRUb0NoYW5nZWRDb250ZW50cygpIHsgfQotICAgIHZpcnR1YWwgdm9pZCByZXNwb25kVG9DaGFu
Z2VkU2VsZWN0aW9uKCkgeyB9CisgICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5nZWRTZWxl
Y3Rpb24oRnJhbWUqKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkRW5kRWRpdGluZygpIHsgfQog
ICAgIHZpcnR1YWwgdm9pZCBkaWRXcml0ZVNlbGVjdGlvblRvUGFzdGVib2FyZCgpIHsgfQogICAg
IHZpcnR1YWwgdm9pZCBkaWRTZXRTZWxlY3Rpb25UeXBlc0ZvclBhc3RlYm9hcmQoKSB7IH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRWRpdG9yQ2xpZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0VkaXRvckNsaWVudC5oCmluZGV4IGEzN2M4YjkuLmFmZDE4NDMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRWRpdG9yQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9FZGl0b3JDbGllbnQuaApAQCAtOTQsNyArOTQsNyBAQCBwdWJsaWM6CiAKICAgICB2
aXJ0dWFsIHZvaWQgZGlkQmVnaW5FZGl0aW5nKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCByZXNw
b25kVG9DaGFuZ2VkQ29udGVudHMoKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0No
YW5nZWRTZWxlY3Rpb24oKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5nZWRT
ZWxlY3Rpb24oRnJhbWUqKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpZEVuZEVkaXRpbmcoKSA9
IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpZFdyaXRlU2VsZWN0aW9uVG9QYXN0ZWJvYXJkKCkgPSAw
OwogICAgIHZpcnR1YWwgdm9pZCBkaWRTZXRTZWxlY3Rpb25UeXBlc0ZvclBhc3RlYm9hcmQoKSA9
IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDAzMzljYmQuLjk2MzBjODUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMTAtMTcgIEFudG9u
aW8gR29tZXMgIDxhZ29tZXNAcmltLmNvbT4KKworICAgICAgICBQYXNzIGEgRnJhbWUqIHBhcmFt
ZXRlciBpbiBFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjQ4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzcmMvRWRpdG9yQ2xpZW50
SW1wbC5jcHA6IE1ha2UgdXNlIG9mIHRoZSBuZXdseSBhZGRlZCBGcmFtZSogcGFyYW1ldGVyLgor
ICAgICAgICAoV2ViS2l0OjpFZGl0b3JDbGllbnRJbXBsOjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0
aW9uKToKKyAgICAgICAgKiBzcmMvRWRpdG9yQ2xpZW50SW1wbC5oOiBDaGFuZ2UgdGhlIG1ldGhv
ZCBzaWduYXR1cmUsIGFzIHBlciBiYXNlIGNsYXNzIGNoYW5nZS4KKwogMjAxMS0xMC0xNiAgQWRh
bSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIEFsd2F5cyBlbmFibGUgRU5B
QkxFKERPTV9TVE9SQUdFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
RWRpdG9yQ2xpZW50SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9FZGl0b3JD
bGllbnRJbXBsLmNwcAppbmRleCBlZjMwNWNjLi40NjY4NmE1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9FZGl0b3JDbGllbnRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9FZGl0b3JDbGllbnRJbXBsLmNwcApAQCAtMjYwLDEwICsyNjAsOSBA
QCB2b2lkIEVkaXRvckNsaWVudEltcGw6OmRpZEJlZ2luRWRpdGluZygpCiAgICAgICAgIG1fd2Vi
Vmlldy0+Y2xpZW50KCktPmRpZEJlZ2luRWRpdGluZygpOwogfQogCi12b2lkIEVkaXRvckNsaWVu
dEltcGw6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oKQordm9pZCBFZGl0b3JDbGllbnRJbXBs
OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKEZyYW1lKiBmcmFtZSkKIHsKICAgICBpZiAobV93
ZWJWaWV3LT5jbGllbnQoKSkgewotICAgICAgICBGcmFtZSogZnJhbWUgPSBtX3dlYlZpZXctPmZv
Y3VzZWRXZWJDb3JlRnJhbWUoKTsKICAgICAgICAgaWYgKGZyYW1lKQogICAgICAgICAgICAgbV93
ZWJWaWV3LT5jbGllbnQoKS0+ZGlkQ2hhbmdlU2VsZWN0aW9uKCFmcmFtZS0+c2VsZWN0aW9uKCkt
PmlzUmFuZ2UoKSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvRWRpdG9yQ2xpZW50SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRWRpdG9y
Q2xpZW50SW1wbC5oCmluZGV4IDJkZGVlMzYuLjM0MjMzNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL0VkaXRvckNsaWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9FZGl0b3JDbGllbnRJbXBsLmgKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNs
dWRlIDx3dGYvRGVxdWUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgRnJhbWU7CiBj
bGFzcyBIVE1MSW5wdXRFbGVtZW50OwogY2xhc3MgU3BlbGxDaGVja2VyOwogfQpAQCAtNzIsNyAr
NzMsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIHNob3VsZE1vdmVSYW5nZUFmdGVyRGVs
ZXRlKFdlYkNvcmU6OlJhbmdlKiwgV2ViQ29yZTo6UmFuZ2UqKTsKICAgICB2aXJ0dWFsIHZvaWQg
ZGlkQmVnaW5FZGl0aW5nKCk7CiAgICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5nZWRDb250
ZW50cygpOwotICAgIHZpcnR1YWwgdm9pZCByZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKCk7Cisg
ICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oV2ViQ29yZTo6RnJhbWUq
KTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkRW5kRWRpdGluZygpOwogICAgIHZpcnR1YWwgdm9pZCBk
aWRXcml0ZVNlbGVjdGlvblRvUGFzdGVib2FyZCgpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRTZXRT
ZWxlY3Rpb25UeXBlc0ZvclBhc3RlYm9hcmQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwppbmRleCA2OTIwNmI0
Li5kYzdjYTQ3IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMTAtMTcg
IEFudG9uaW8gR29tZXMgIDxhZ29tZXNAcmltLmNvbT4KKworICAgICAgICBQYXNzIGEgRnJhbWUq
IHBhcmFtZXRlciBpbiBFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjQ4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9FZGl0b3JDbGllbnRFZmwuY3BwOiBNYWtlIHVzZSBvZiB0aGUgbmV3bHkgYWRkZWQgRnJh
bWUqIHBhcmFtZXRlci4KKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvckNsaWVudEVmbDo6cmVzcG9u
ZFRvQ2hhbmdlZFNlbGVjdGlvbik6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xp
ZW50RWZsLmg6CisKIDIwMTEtMTAtMTQgIE1hcmsgSGFobmVuYmVyZyAgPG1oYWhuZW5iZXJnQGFw
cGxlLmNvbT4KIAogICAgICAgICBSZW5hbWUgdmlydHVhbCBwdXQgdG8gcHV0VmlydHVhbApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZs
LmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEVmbC5j
cHAKaW5kZXggZmZjYjcwNi4uNDk5M2I4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Vm
bC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuY3BwCkBAIC0xMzMsMjUgKzEzMywxNiBA
QCB2b2lkIEVkaXRvckNsaWVudEVmbDo6cmVzcG9uZFRvQ2hhbmdlZENvbnRlbnRzKCkKICAgICBl
d2tfZnJhbWVfZWRpdG9yX2NsaWVudF9jb250ZW50c19jaGFuZ2VkKGZyYW1lKTsKIH0KIAotdm9p
ZCBFZGl0b3JDbGllbnRFZmw6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oKQordm9pZCBFZGl0
b3JDbGllbnRFZmw6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oRnJhbWUqIGNvcmVGcmFtZSkK
IHsKLSAgICBFdmFzX09iamVjdCogZnJhbWUgPSBld2tfdmlld19mcmFtZV9mb2N1c2VkX2dldCht
X3ZpZXcpOwotCi0gICAgaWYgKCFmcmFtZSkKLSAgICAgICAgZnJhbWUgPSBld2tfdmlld19mcmFt
ZV9tYWluX2dldChtX3ZpZXcpOwotCi0gICAgaWYgKCFmcmFtZSkKLSAgICAgICAgcmV0dXJuOwot
Ci0gICAgV2ViQ29yZTo6RnJhbWUqIGNvcmVGcmFtZSA9IGV3a19mcmFtZV9jb3JlX2dldChmcmFt
ZSk7Ci0KICAgICBpZiAoIWNvcmVGcmFtZSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKGNv
cmVGcmFtZS0+ZWRpdG9yKCkgJiYgY29yZUZyYW1lLT5lZGl0b3IoKS0+aWdub3JlQ29tcG9zaXRp
b25TZWxlY3Rpb25DaGFuZ2UoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgZXdrX2ZyYW1lX2Vk
aXRvcl9jbGllbnRfc2VsZWN0aW9uX2NoYW5nZWQoZnJhbWUpOworICAgIEV2YXNfT2JqZWN0KiB3
ZWJGcmFtZSA9IEVXS1ByaXZhdGU6OmtpdEZyYW1lKGNvcmVGcmFtZSk7CisgICAgZXdrX2ZyYW1l
X2VkaXRvcl9jbGllbnRfc2VsZWN0aW9uX2NoYW5nZWQod2ViRnJhbWUpOwogfQogCiB2b2lkIEVk
aXRvckNsaWVudEVmbDo6ZGlkRW5kRWRpdGluZygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2VmbC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuaCBiL1NvdXJjZS9XZWJLaXQvZWZs
L1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEVmbC5oCmluZGV4IDUzYmEzOTIuLjNiMTA4NTYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVu
dEVmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVu
dEVmbC5oCkBAIC03OSw3ICs3OSw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBkaWRC
ZWdpbkVkaXRpbmcoKTsKICAgICB2aXJ0dWFsIHZvaWQgcmVzcG9uZFRvQ2hhbmdlZENvbnRlbnRz
KCk7Ci0gICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oKTsKKyAgICB2
aXJ0dWFsIHZvaWQgcmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbihGcmFtZSopOwogICAgIHZpcnR1
YWwgdm9pZCBkaWRFbmRFZGl0aW5nKCk7CiAgICAgdmlydHVhbCB2b2lkIGRpZFdyaXRlU2VsZWN0
aW9uVG9QYXN0ZWJvYXJkKCk7CiAgICAgdmlydHVhbCB2b2lkIGRpZFNldFNlbGVjdGlvblR5cGVz
Rm9yUGFzdGVib2FyZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4IGM3YWRiNjkuLjhhOTcxZjUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMS0xMC0xNyAgQW50b25pbyBHb21l
cyAgPGFnb21lc0ByaW0uY29tPgorCisgICAgICAgIFBhc3MgYSBGcmFtZSogcGFyYW1ldGVyIGlu
IEVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNDgKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0VkaXRvckNs
aWVudEd0ay5jcHA6IE1ha2UgdXNlIG9mIHRoZSBuZXdseSBhZGRlZCBGcmFtZSogcGFyYW1ldGVy
LgorICAgICAgICAoV2ViS2l0OjpFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rp
b24pOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5oOgorCiAyMDEx
LTEwLTEyICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIE1ha2Ug
dGhlIGludGVyZmFjZSBvZiBsb2NhdGlvbkFuZExlbmd0aEZyb21SYW5nZSBhbmQgcmFuZ2VGcm9t
TG9jYXRpb25BbmRMZW5ndGggY29uc2lzdGVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9n
dGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQvZ3Rr
L1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5jcHAKaW5kZXggYjE1NzIyOC4uYjBmMjQy
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xp
ZW50R3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JD
bGllbnRHdGsuY3BwCkBAIC0zMDIsMzMgKzMwMiwzMSBAQCBzdGF0aWMgdm9pZCBzZXRTZWxlY3Rp
b25QcmltYXJ5Q2xpcGJvYXJkSWZOZWVkZWQoV2ViS2l0V2ViVmlldyogd2ViVmlldykKIH0KICNl
bmRpZgogCi12b2lkIEVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbigpCit2
b2lkIEVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbihGcmFtZSogZnJhbWUp
CiB7CiAgICAgZ19zaWduYWxfZW1pdF9ieV9uYW1lKG1fd2ViVmlldywgInNlbGVjdGlvbi1jaGFu
Z2VkIik7CiAKLSAgICBXZWJLaXRXZWJWaWV3UHJpdmF0ZSogcHJpdiA9IG1fd2ViVmlldy0+cHJp
djsKLSAgICBXZWJDb3JlOjpQYWdlKiBjb3JlUGFnZSA9IGNvcmUobV93ZWJWaWV3KTsKLSAgICBG
cmFtZSogdGFyZ2V0RnJhbWUgPSBjb3JlUGFnZS0+Zm9jdXNDb250cm9sbGVyKCktPmZvY3VzZWRP
ck1haW5GcmFtZSgpOwotCi0gICAgaWYgKCF0YXJnZXRGcmFtZSkKKyAgICBpZiAoIWZyYW1lKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBpZiAodGFyZ2V0RnJhbWUtPmVkaXRvcigpLT5pZ25vcmVD
b21wb3NpdGlvblNlbGVjdGlvbkNoYW5nZSgpKQorICAgIGlmIChmcmFtZS0+ZWRpdG9yKCktPmln
bm9yZUNvbXBvc2l0aW9uU2VsZWN0aW9uQ2hhbmdlKCkpCiAgICAgICAgIHJldHVybjsKIAogI2lm
IFBMQVRGT1JNKFgxMSkKICAgICBzZXRTZWxlY3Rpb25QcmltYXJ5Q2xpcGJvYXJkSWZOZWVkZWQo
bV93ZWJWaWV3KTsKICNlbmRpZgogCi0gICAgaWYgKCF0YXJnZXRGcmFtZS0+ZWRpdG9yKCktPmhh
c0NvbXBvc2l0aW9uKCkpCisgICAgaWYgKCFmcmFtZS0+ZWRpdG9yKCktPmhhc0NvbXBvc2l0aW9u
KCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIHVuc2lnbmVkIHN0YXJ0OwogICAgIHVuc2lnbmVk
IGVuZDsKLSAgICBpZiAoIXRhcmdldEZyYW1lLT5lZGl0b3IoKS0+Z2V0Q29tcG9zaXRpb25TZWxl
Y3Rpb24oc3RhcnQsIGVuZCkpIHsKKyAgICBXZWJLaXRXZWJWaWV3UHJpdmF0ZSogcHJpdiA9IG1f
d2ViVmlldy0+cHJpdjsKKworICAgIGlmICghZnJhbWUtPmVkaXRvcigpLT5nZXRDb21wb3NpdGlv
blNlbGVjdGlvbihzdGFydCwgZW5kKSkgewogICAgICAgICAvLyBndGtfaW1fY29udGV4dF9yZXNl
dCgpIGNsZWFycyB0aGUgY29tcG9zaXRpb24gZm9yIHVzLgogICAgICAgICBndGtfaW1fY29udGV4
dF9yZXNldChwcml2LT5pbUNvbnRleHQuZ2V0KCkpOwotICAgICAgICB0YXJnZXRGcmFtZS0+ZWRp
dG9yKCktPmNhbmNlbENvbXBvc2l0aW9uKCk7CisgICAgICAgIGZyYW1lLT5lZGl0b3IoKS0+Y2Fu
Y2VsQ29tcG9zaXRpb24oKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Z3RrL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5oIGIvU291cmNlL1dlYktpdC9ndGsv
V2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmgKaW5kZXggYTBmYWRkOC4uNjk4NmE2YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50
R3RrLmgKKysrIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50
R3RrLmgKQEAgLTEwMCw3ICsxMDAsNyBAQCBjbGFzcyBFZGl0b3JDbGllbnQgOiBwdWJsaWMgV2Vi
Q29yZTo6RWRpdG9yQ2xpZW50IHsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkQmVnaW5FZGl0
aW5nKCk7CiAgICAgICAgIHZpcnR1YWwgdm9pZCByZXNwb25kVG9DaGFuZ2VkQ29udGVudHMoKTsK
LSAgICAgICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oKTsKKyAgICAg
ICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oV2ViQ29yZTo6RnJhbWUq
KTsKICAgICAgICAgdmlydHVhbCB2b2lkIGRpZEVuZEVkaXRpbmcoKTsKICAgICAgICAgdmlydHVh
bCB2b2lkIGRpZFdyaXRlU2VsZWN0aW9uVG9QYXN0ZWJvYXJkKCk7CiAgICAgICAgIHZpcnR1YWwg
dm9pZCBkaWRTZXRTZWxlY3Rpb25UeXBlc0ZvclBhc3RlYm9hcmQoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpp
bmRleCA1MDRiMDEyLi4xYzBmOWQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTEtMTAtMTcgIEFudG9uaW8gR29tZXMgIDxhZ29tZXNAcmltLmNvbT4KKworICAgICAgICBQ
YXNzIGEgRnJhbWUqIHBhcmFtZXRlciBpbiBFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRT
ZWxlY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTcwMjQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBXZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuaDoKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9XZWJFZGl0b3JDbGllbnQubW06IE1ha2UgdXNlIG9mIHRoZSBuZXdseSBhZGRlZCBGcmFt
ZSogcGFyYW1ldGVyLgorICAgICAgICAoV2ViRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2Vk
U2VsZWN0aW9uKToKKwogMjAxMS0xMC0xNiAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3Jn
PgogCiAgICAgICAgIEFsd2F5cyBlbmFibGUgRU5BQkxFKERPTV9TVE9SQUdFKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmggYi9T
b3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuaAppbmRleCA2
YTI3NDAwLi5hYWNjYmFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJFZGl0b3JDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJFZGl0b3JDbGllbnQuaApAQCAtOTgsNyArOTgsNyBAQCBwdWJsaWM6CiAgICAgVGV4
dENoZWNrZXJDbGllbnQqIHRleHRDaGVja2VyKCkgT1ZFUlJJREUgeyByZXR1cm4gdGhpczsgfQog
CiAgICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5nZWRDb250ZW50cygpIE9WRVJSSURFOwot
ICAgIHZpcnR1YWwgdm9pZCByZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKCkgT1ZFUlJJREU7Cisg
ICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oV2ViQ29yZTo6RnJhbWUq
KSBPVkVSUklERTsKIAogICAgIHZpcnR1YWwgdm9pZCByZWdpc3RlckNvbW1hbmRGb3JVbmRvKFBh
c3NSZWZQdHI8V2ViQ29yZTo6RWRpdENvbW1hbmQ+KSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZv
aWQgcmVnaXN0ZXJDb21tYW5kRm9yUmVkbyhQYXNzUmVmUHRyPFdlYkNvcmU6OkVkaXRDb21tYW5k
PikgT1ZFUlJJREU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9y
dC9XZWJFZGl0b3JDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9X
ZWJFZGl0b3JDbGllbnQubW0KaW5kZXggZDE5Mzg0MS4uZTZmZjFiYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50Lm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5tbQpAQCAtMjkw
LDkgKzI5MCw5IEBAIHZvaWQgV2ViRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkQ29udGVu
dHMoKQogICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcG9zdE5vdGlm
aWNhdGlvbk5hbWU6V2ViVmlld0RpZENoYW5nZU5vdGlmaWNhdGlvbiBvYmplY3Q6bV93ZWJWaWV3
XTsgICAgCiB9CiAKLXZvaWQgV2ViRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0
aW9uKCkKK3ZvaWQgV2ViRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKEZy
YW1lKiBmcmFtZSkKIHsKLSAgICBOU1ZpZXc8V2ViRG9jdW1lbnRWaWV3PiAqZG9jdW1lbnRWaWV3
ID0gW1tbbV93ZWJWaWV3IF9zZWxlY3RlZE9yTWFpbkZyYW1lXSBmcmFtZVZpZXddIGRvY3VtZW50
Vmlld107CisgICAgTlNWaWV3PFdlYkRvY3VtZW50Vmlldz4gKmRvY3VtZW50VmlldyA9IFtbW2Zy
YW1lXSBmcmFtZVZpZXddIGRvY3VtZW50Vmlld107CiAgICAgaWYgKFtkb2N1bWVudFZpZXcgaXNL
aW5kT2ZDbGFzczpbV2ViSFRNTFZpZXcgY2xhc3NdXSkKICAgICAgICAgWyhXZWJIVE1MVmlldyAq
KWRvY3VtZW50VmlldyBfc2VsZWN0aW9uQ2hhbmdlZF07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvcXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggZDI1
Y2IwNC4uM2ZiNTdiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMS0xMC0x
NyAgQW50b25pbyBHb21lcyAgPGFnb21lc0ByaW0uY29tPgorCisgICAgICAgIFBhc3MgYSBGcmFt
ZSogcGFyYW1ldGVyIGluIEVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNDgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVT
dXBwb3J0L0VkaXRvckNsaWVudFF0LmNwcDogTWFrZSB1c2Ugb2YgdGhlIG5ld2x5IGFkZGVkIEZy
YW1lKiBwYXJhbWV0ZXIuCisgICAgICAgIChXZWJDb3JlOjpFZGl0b3JDbGllbnRRdDo6cmVzcG9u
ZFRvQ2hhbmdlZFNlbGVjdGlvbik6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xp
ZW50UXQuaDoKKwogMjAxMS0xMC0xNSAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgog
CiAgICAgICAgIFJlbmFtZSBFTkFCTEUoVElMRURfQkFDS0lOR19TVE9SRSkgdG8gVVNFKFRJTEVE
X0JBQ0tJTkdfU1RPUkUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBw
b3J0L0VkaXRvckNsaWVudFF0LmNwcCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQv
RWRpdG9yQ2xpZW50UXQuY3BwCmluZGV4IGYzODdlYTkuLmY5NThlODYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50UXQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50UXQuY3BwCkBAIC0yMDEs
NyArMjAxLDcgQEAgdm9pZCBFZGl0b3JDbGllbnRRdDo6cmVzcG9uZFRvQ2hhbmdlZENvbnRlbnRz
KCkKICAgICBlbWl0IG1fcGFnZS0+Y29udGVudHNDaGFuZ2VkKCk7CiB9CiAKLXZvaWQgRWRpdG9y
Q2xpZW50UXQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oKQordm9pZCBFZGl0b3JDbGllbnRR
dDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbihGcmFtZSogZnJhbWUpCiB7CiAgICAgaWYgKGR1
bXBFZGl0aW5nQ2FsbGJhY2tzKQogICAgICAgICBwcmludGYoIkVESVRJTkcgREVMRUdBVEU6IHdl
YlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNh
dGlvblxuIik7CkBAIC0yMTIsNyArMjEyLDYgQEAgdm9pZCBFZGl0b3JDbGllbnRRdDo6cmVzcG9u
ZFRvQ2hhbmdlZFNlbGVjdGlvbigpCiAKICAgICBtX3BhZ2UtPmQtPnVwZGF0ZUVkaXRvckFjdGlv
bnMoKTsKICAgICBlbWl0IG1fcGFnZS0+c2VsZWN0aW9uQ2hhbmdlZCgpOwotICAgIEZyYW1lKiBm
cmFtZSA9IG1fcGFnZS0+ZC0+cGFnZS0+Zm9jdXNDb250cm9sbGVyKCktPmZvY3VzZWRPck1haW5G
cmFtZSgpOwogICAgIGlmICghZnJhbWUtPmVkaXRvcigpLT5pZ25vcmVDb21wb3NpdGlvblNlbGVj
dGlvbkNoYW5nZSgpKQogICAgICAgICBlbWl0IG1fcGFnZS0+bWljcm9Gb2N1c0NoYW5nZWQoKTsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xp
ZW50UXQuaCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50UXQu
aAppbmRleCBkOTY1OGJiLi42ZTZhMGE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dl
YkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudFF0LmgKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJD
b3JlU3VwcG9ydC9FZGl0b3JDbGllbnRRdC5oCkBAIC02OSw3ICs2OSw3IEBAIHB1YmxpYzoKIAog
ICAgIHZpcnR1YWwgdm9pZCBkaWRCZWdpbkVkaXRpbmcoKTsKICAgICB2aXJ0dWFsIHZvaWQgcmVz
cG9uZFRvQ2hhbmdlZENvbnRlbnRzKCk7Ci0gICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5n
ZWRTZWxlY3Rpb24oKTsKKyAgICB2aXJ0dWFsIHZvaWQgcmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlv
bihGcmFtZSopOwogICAgIHZpcnR1YWwgdm9pZCBkaWRFbmRFZGl0aW5nKCk7CiAgICAgdmlydHVh
bCB2b2lkIGRpZFdyaXRlU2VsZWN0aW9uVG9QYXN0ZWJvYXJkKCk7CiAgICAgdmlydHVhbCB2b2lk
IGRpZFNldFNlbGVjdGlvblR5cGVzRm9yUGFzdGVib2FyZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC93aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCmluZGV4
IDk3MTIyZmMuLjFhNThiMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAx
MS0xMC0xNyAgQW50b25pbyBHb21lcyAgPGFnb21lc0ByaW0uY29tPgorCisgICAgICAgIFBhc3Mg
YSBGcmFtZSogcGFyYW1ldGVyIGluIEVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVj
dGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAy
NDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdl
YkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5jcHA6IE1ha2UgdXNlIG9mIHRoZSBuZXdseSBh
ZGRlZCBGcmFtZSogcGFyYW1ldGVyLgorICAgICAgICAoV2ViRWRpdG9yQ2xpZW50OjpyZXNwb25k
VG9DaGFuZ2VkU2VsZWN0aW9uKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JD
bGllbnQuaDoKKwogMjAxMS0xMC0xNCAgSnVsaWVuIENoYWZmcmFpeCAgPGpjaGFmZnJhaXhAd2Vi
a2l0Lm9yZz4KIAogICAgICAgICBSZW1vdmUgbGF5ZXJYIC8gbGF5ZXJZIGZyb20gdGhlIFdpbmRv
d3MgQVBJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJF
ZGl0b3JDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRWRp
dG9yQ2xpZW50LmNwcAppbmRleCBjMDE1YjIzLi5lNTBjNmQzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5jcHAKQEAgLTIwOCw3
ICsyMDgsNyBAQCB2b2lkIFdlYkVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZENvbnRlbnRz
KCkKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCi12b2lkIFdlYkVkaXRvckNsaWVudDo6cmVz
cG9uZFRvQ2hhbmdlZFNlbGVjdGlvbigpCit2b2lkIFdlYkVkaXRvckNsaWVudDo6cmVzcG9uZFRv
Q2hhbmdlZFNlbGVjdGlvbihGcmFtZSopCiB7CiAgICAgbV93ZWJWaWV3LT5zZWxlY3Rpb25DaGFu
Z2VkKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dl
YkVkaXRvckNsaWVudC5oIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRWRp
dG9yQ2xpZW50LmgKaW5kZXggMWRiNGM2OC4uMjhkZTljMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmgKKysrIGIvU291cmNlL1dl
YktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmgKQEAgLTU4LDcgKzU4LDcg
QEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkaWRTZXRTZWxlY3Rpb25UeXBlc0ZvclBhc3Rl
Ym9hcmQoKTsKIAogICAgIHZpcnR1YWwgdm9pZCByZXNwb25kVG9DaGFuZ2VkQ29udGVudHMoKTsK
LSAgICB2aXJ0dWFsIHZvaWQgcmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbigpOworICAgIHZpcnR1
YWwgdm9pZCByZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKFdlYkNvcmU6OkZyYW1lKik7CiAKICAg
ICBib29sIHNob3VsZFNob3dEZWxldGVJbnRlcmZhY2UoV2ViQ29yZTo6SFRNTEVsZW1lbnQqKTsK
ICAgICBib29sIHNob3VsZERlbGV0ZVJhbmdlKFdlYkNvcmU6OlJhbmdlKik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L3d4L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd3gvQ2hhbmdlTG9n
CmluZGV4IGM2MzYwMDEuLmJkMTVmN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd3gvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd3gvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTEtMTAtMTcgIEFudG9uaW8gR29tZXMgIDxhZ29tZXNAcmltLmNvbT4KKworICAgICAgICBQ
YXNzIGEgRnJhbWUqIHBhcmFtZXRlciBpbiBFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRT
ZWxlY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTcwMjQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBXZWJLaXRTdXBwb3J0L0VkaXRvckNsaWVudFd4LmNwcDogTWFrZSB1c2Ugb2YgdGhlIG5ld2x5
IGFkZGVkIEZyYW1lKiBwYXJhbWV0ZXIuCisgICAgICAgIChXZWJDb3JlOjpFZGl0b3JDbGllbnRX
eDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbik6CisgICAgICAgICogV2ViS2l0U3VwcG9ydC9F
ZGl0b3JDbGllbnRXeC5oOgorCiAyMDExLTA5LTI0ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgQWx3YXlzIGVuYWJsZSBFTkFCTEUoT0ZGTElORV9XRUJfQVBQTElD
QVRJT05TKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0VkaXRv
ckNsaWVudFd4LmNwcCBiL1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9FZGl0b3JDbGll
bnRXeC5jcHAKaW5kZXggNTgxMmRmZS4uN2ExN2FkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC93eC9XZWJLaXRTdXBwb3J0L0VkaXRvckNsaWVudFd4LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L3d4L1dlYktpdFN1cHBvcnQvRWRpdG9yQ2xpZW50V3guY3BwCkBAIC00ODcsOSArNDg3LDggQEAg
dm9pZCBFZGl0b3JDbGllbnRXeDo6dGV4dERpZENoYW5nZUluVGV4dEFyZWEoRWxlbWVudCopCiAg
ICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAotdm9pZCBFZGl0b3JDbGllbnRXeDo6cmVzcG9uZFRv
Q2hhbmdlZFNlbGVjdGlvbigpCit2b2lkIEVkaXRvckNsaWVudFd4OjpyZXNwb25kVG9DaGFuZ2Vk
U2VsZWN0aW9uKEZyYW1lKiBmcmFtZSkKIHsKLSAgICBGcmFtZSogZnJhbWUgPSBtX3BhZ2UtPmZv
Y3VzQ29udHJvbGxlcigpLT5mb2N1c2VkT3JNYWluRnJhbWUoKTsKICAgICBpZiAoZnJhbWUpIHsK
ICAgICAgICAgd3hXZWJWaWV3KiB3ZWJLaXRXaW4gPSBkeW5hbWljX2Nhc3Q8d3hXZWJWaWV3Kj4o
ZnJhbWUtPnZpZXcoKS0+aG9zdFdpbmRvdygpLT5wbGF0Zm9ybVBhZ2VDbGllbnQoKSk7CiAgICAg
ICAgIGlmICh3ZWJLaXRXaW4pIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0
U3VwcG9ydC9FZGl0b3JDbGllbnRXeC5oIGIvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0
L0VkaXRvckNsaWVudFd4LmgKaW5kZXggNzM3MGYwYS4uMzE4ZjU0YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0VkaXRvckNsaWVudFd4LmgKKysrIGIvU291cmNl
L1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0VkaXRvckNsaWVudFd4LmgKQEAgLTcyLDcgKzcyLDcg
QEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGRpZEJlZ2luRWRpdGluZygpOwogICAgIHZp
cnR1YWwgdm9pZCByZXNwb25kVG9DaGFuZ2VkQ29udGVudHMoKTsKLSAgICB2aXJ0dWFsIHZvaWQg
cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbigpOworICAgIHZpcnR1YWwgdm9pZCByZXNwb25kVG9D
aGFuZ2VkU2VsZWN0aW9uKEZyYW1lKik7CiAgICAgdmlydHVhbCB2b2lkIGRpZEVuZEVkaXRpbmco
KTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkV3JpdGVTZWxlY3Rpb25Ub1Bhc3RlYm9hcmQoKTsKICAg
ICB2aXJ0dWFsIHZvaWQgZGlkU2V0U2VsZWN0aW9uVHlwZXNGb3JQYXN0ZWJvYXJkKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKaW5kZXggZWRlYjdkYy4uZDUyOWQ3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisy
MDExLTEwLTE3ICBBbnRvbmlvIEdvbWVzICA8YWdvbWVzQHJpbS5jb20+CisKKyAgICAgICAgUGFz
cyBhIEZyYW1lKiBwYXJhbWV0ZXIgaW4gRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2Vs
ZWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03
MDI0OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuY3BwOiBNYWtlIHVzZSBv
ZiB0aGUgbmV3bHkgYWRkZWQgRnJhbWUqIHBhcmFtZXRlci4KKyAgICAgICAgKFdlYktpdDo6V2Vi
RWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKToKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5oOgorCiAyMDExLTEwLTE2ICBB
ZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWx3YXlzIGVuYWJsZSBF
TkFCTEUoRE9NX1NUT1JBR0UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5jcHAKaW5kZXggZTljMTI2MC4u
OGU3MTNmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJFZGl0b3JDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmNwcApAQCAtMTc0LDExICsxNzQsMTAgQEAg
dm9pZCBXZWJFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRDb250ZW50cygpCiAgICAgbm90
SW1wbGVtZW50ZWQoKTsKIH0KIAotdm9pZCBXZWJFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5n
ZWRTZWxlY3Rpb24oKQordm9pZCBXZWJFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxl
Y3Rpb24oRnJhbWUqKQogewogICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCBXZWJWaWV3
RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uLCAoIldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rp
b25Ob3RpZmljYXRpb24iKSk7CiAgICAgbV9wYWdlLT5pbmplY3RlZEJ1bmRsZUVkaXRvckNsaWVu
dCgpLmRpZENoYW5nZVNlbGVjdGlvbihtX3BhZ2UsIFdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25O
b3RpZmljYXRpb24uaW1wbCgpKTsKLSAgICBGcmFtZSogZnJhbWUgPSBtX3BhZ2UtPmNvcmVQYWdl
KCktPmZvY3VzQ29udHJvbGxlcigpLT5mb2N1c2VkRnJhbWUoKTsKICAgICBpZiAoIWZyYW1lKQog
ICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5oCmluZGV4IDVlNzM2MzIuLmUyYmVm
OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViRWRpdG9yQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuaApAQCAtNjQsNyArNjQsNyBAQCBwcml2YXRlOgogCiAg
ICAgdmlydHVhbCB2b2lkIGRpZEJlZ2luRWRpdGluZygpIE9WRVJSSURFOwogICAgIHZpcnR1YWwg
dm9pZCByZXNwb25kVG9DaGFuZ2VkQ29udGVudHMoKSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIHZv
aWQgcmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbigpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9p
ZCByZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKFdlYkNvcmU6OkZyYW1lKikgT1ZFUlJJREU7CiAg
ICAgdmlydHVhbCB2b2lkIGRpZEVuZEVkaXRpbmcoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZv
aWQgZGlkV3JpdGVTZWxlY3Rpb25Ub1Bhc3RlYm9hcmQoKSBPVkVSUklERTsKICAgICB2aXJ0dWFs
IHZvaWQgZGlkU2V0U2VsZWN0aW9uVHlwZXNGb3JQYXN0ZWJvYXJkKCkgT1ZFUlJJREU7Ci0tIAox
LjcuMQoK
</data>
<flag name="commit-queue"
          id="109188"
          type_id="3"
          status="-"
          setter="tonikitoo"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111439</attachid>
            <date>2011-10-18 07:05:09 -0700</date>
            <delta_ts>2011-10-18 19:23:29 -0700</delta_ts>
            <desc>patch 1.5</desc>
            <filename>0001-2011-10-17-Antonio-Gomes-agomes-rim.com.patch</filename>
            <type>text/plain</type>
            <size>27771</size>
            <attacher name="Antonio Gomes">tonikitoo</attacher>
            
              <data encoding="base64">RnJvbSA3NzVhZmRlNjEzNTM4YzQwMmYxYWQyNmU5ZGM0ZGRmZGMzOWE2MWYyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRvbmlvIEdvbWVzIDxhZ29tZXNAcmltLmNvbT4KRGF0ZTog
TW9uLCAxNyBPY3QgMjAxMSAxMzo1MjoyNCAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIDIwMTEtMTAt
MTcgIEFudG9uaW8gR29tZXMgIDxhZ29tZXNAcmltLmNvbT4KCiAgICAgICAgUGFzcyBhIEZyYW1l
KiBwYXJhbWV0ZXIgaW4gRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uCiAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjQ4CgogICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICBNb3N0IG9mIHRoZSBwb3J0
IHNwZWNpZmljIGltcGxlbWVudGF0aW9ucyBvZiBFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5n
ZWRTZWxlY3Rpb24KICAgICAgICAobGlrZSBFZGl0b3JDbGllbnR7UXQsR3RrLGV0Y30pIGFyZSB3
cm9uZ2x5IHJlbHlpbmcgb24gRm9jdXNDb250cm9sbGVyOjpmb2N1c2VkT3JNYWluRnJhbWUKICAg
ICAgICBtZXRob2QgdG8gZ2V0IHRoZSBGcmFtZSB3aGVyZSB0aGUgc2VsZWN0aW9uIGlzIGhhcHBl
bmluZyBvbi4KCiAgICAgICAgSXQgaXMgbm90IHJpZ2h0LCBzaW5jZSBhIHNlbGVjdGlvbiBjYW4g
YmUgZWFzaWx5IHRyaWdnZXJlZCBpbiBhbiBpbm5lcgogICAgICAgIGZyYW1lIHRoYXQgaXMgbm90
IGZvY3VzZWQuCgogICAgICAgIE5vIG5ldyB0ZXN0cyBzaW5jZSBpdCBpcyBhIGhhcmQgdGhpbmcg
dG8gdGVzdCB3aXRob3V0CiAgICAgICAgdG8gaG9vayBpbnRvIGVkaXRvciBjbGllbnQgaW4gbGF5
b3V0IHRlc3RzLiBXZSBjb3VsZAogICAgICAgIGNoYW5nZSB0aGUgIkR1bXBlZCBEZWxlZ2F0ZSIg
bWVzc2FnZXMsIGJ1dCBpdCB3b3VsZAogICAgICAgIHJlcXVpcmUgYSByZWJhc2lsZSBvZiArMTIw
MCBmb3IgYSBtaW5vciBjaGFuZ2UuCgogICAgICAgIE5vIG5ldyB0ZXN0cyBzaW5jZSBpdCBpcyBh
IGhhcmQgdGhpbmcgdG8gdGVzdCB3aXRob3V0CiAgICAgICAgdG8gaG9vayBpbnRvIGVkaXRvciBj
bGllbnQgaW4gbGF5b3V0IHRlc3RzLiBXZSBjb3VsZAogICAgICAgIGNoYW5nZSB0aGUgIkR1bXBl
ZCBEZWxlZ2F0ZSIgbWVzc2FnZXMsIGJ1dCBpdCB3b3VsZAogICAgICAgIHJlcXVpcmUgYSByZWJh
c2lsZSBvZiArMTIwMCBmb3IgYSBtaW5vciBjaGFuZ2UuCgogICAgICAgIFNvdXJjZS9XZWJDb3Jl
OgogICAgICAgICogZWRpdGluZy9FZGl0b3IuY3BwOiBQYXNzIHRoZSBGcmFtZSBvbiB3aGVyZSB0
aGUgc2VsZWN0aW9uIGlzIGNoYW5naW5nIHRvIHRoZSBjbGllbnQuCiAgICAgICAgKFdlYkNvcmU6
OkVkaXRvcjo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbik6IERpdHRvLgogICAgICAgIChXZWJD
b3JlOjpFZGl0b3I6OmNoYW5nZVNlbGVjdGlvbkFmdGVyQ29tbWFuZCk6IERpdHRvLgogICAgICAg
IChXZWJDb3JlOjpFbXB0eUVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbik6
CiAgICAgICAgKiBwYWdlL0VkaXRvckNsaWVudC5oOiAgUGFzcyBGcmFtZSogdG8gaW5kaWNhdGUg
d2hlcmUgdGhlIHNlbGVjdGlvbiBpcyBoYXBwZW5pbmcuCiAgICAgICAgKiBsb2FkZXIvRW1wdHlD
bGllbnRzLmg6IENoYW5nZWQgc2lnbmF0dXJlIGFzIHBlciBiYXNlIGNsYXNzIGNoYW5nZS4KCiAg
ICAgICAgU291cmNlL1dlYktpdC9jaHJvbWl1bToKICAgICAgICAqIHNyYy9FZGl0b3JDbGllbnRJ
bXBsLmNwcDogTWFrZSB1c2Ugb2YgdGhlIG5ld2x5IGFkZGVkIEZyYW1lKiBwYXJhbWV0ZXIuCiAg
ICAgICAgKFdlYktpdDo6RWRpdG9yQ2xpZW50SW1wbDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlv
bik6CiAgICAgICAgKiBzcmMvRWRpdG9yQ2xpZW50SW1wbC5oOgoKICAgICAgICBTb3VyY2UvV2Vi
S2l0L2VmbDoKICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEVmbC5jcHA6IE1h
a2UgdXNlIG9mIHRoZSBuZXdseSBhZGRlZCBGcmFtZSogcGFyYW1ldGVyLgogICAgICAgIChXZWJD
b3JlOjpFZGl0b3JDbGllbnRFZmw6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24pOgogICAgICAg
ICogV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmg6CgogICAgICAgIFNvdXJjZS9XZWJL
aXQvZ3RrOgogICAgICAgICogV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmNwcDogTWFr
ZSB1c2Ugb2YgdGhlIG5ld2x5IGFkZGVkIEZyYW1lKiBwYXJhbWV0ZXIuCiAgICAgICAgKFdlYktp
dDo6RWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKToKICAgICAgICAqIFdl
YkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5oOgoKICAgICAgICBTb3VyY2UvV2ViS2l0L21h
YzoKICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5oOiBNYWtlIHVzZSBv
ZiB0aGUgbmV3bHkgYWRkZWQgRnJhbWUqIHBhcmFtZXRlci4KICAgICAgICAqIFdlYkNvcmVTdXBw
b3J0L1dlYkVkaXRvckNsaWVudC5tbToKICAgICAgICAoV2ViRWRpdG9yQ2xpZW50OjpyZXNwb25k
VG9DaGFuZ2VkU2VsZWN0aW9uKToKCiAgICAgICAgU291cmNlL1dlYktpdC9xdDoKICAgICAgICAq
IFdlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudFF0LmNwcDogTWFrZSB1c2Ugb2YgdGhlIG5ld2x5
IGFkZGVkIEZyYW1lKiBwYXJhbWV0ZXIuCiAgICAgICAgKFdlYkNvcmU6OkVkaXRvckNsaWVudFF0
OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKToKICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Vk
aXRvckNsaWVudFF0Lmg6CgogICAgICAgIFNvdXJjZS9XZWJLaXQvd2luOgogICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmNwcDogTWFrZSB1c2Ugb2YgdGhlIG5ld2x5IGFk
ZGVkIEZyYW1lKiBwYXJhbWV0ZXIuCiAgICAgICAgKFdlYkVkaXRvckNsaWVudDo6cmVzcG9uZFRv
Q2hhbmdlZFNlbGVjdGlvbik6CiAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGll
bnQuaDoKCiAgICAgICAgU291cmNlL1dlYktpdC93eDoKICAgICAgICAqIFdlYktpdFN1cHBvcnQv
RWRpdG9yQ2xpZW50V3guY3BwOiBNYWtlIHVzZSBvZiB0aGUgbmV3bHkgYWRkZWQgRnJhbWUqIHBh
cmFtZXRlci4KICAgICAgICAoV2ViQ29yZTo6RWRpdG9yQ2xpZW50V3g6OnJlc3BvbmRUb0NoYW5n
ZWRTZWxlY3Rpb24pOgogICAgICAgICogV2ViS2l0U3VwcG9ydC9FZGl0b3JDbGllbnRXeC5oOgoK
ICAgICAgICBTb3VyY2UvV2ViS2l0MjoKICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViRWRpdG9yQ2xpZW50LmNwcDogTWFrZSB1c2Ugb2YgdGhlIG5ld2x5IGFkZGVkIEZyYW1l
KiBwYXJhbWV0ZXIuCiAgICAgICAgKFdlYktpdDo6V2ViRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9D
aGFuZ2VkU2VsZWN0aW9uKToKICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
RWRpdG9yQ2xpZW50Lmg6Ci0tLQogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAgIDI1ICsrKysrKysrKysrKysrKysrKysrCiBTb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0VkaXRvci5jcHAgICAgICAgICAgICAgICAgICB8ICAgIDQgKy0KIFNvdXJjZS9X
ZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaCAgICAgICAgICAgICAgIHwgICAgMiArLQogU291
cmNlL1dlYkNvcmUvcGFnZS9FZGl0b3JDbGllbnQuaCAgICAgICAgICAgICAgICAgfCAgICAyICst
CiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICB8ICAg
MTEgKysrKysrKysKIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0VkaXRvckNsaWVudEltcGwu
Y3BwICAgIHwgICAgMyArLQogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRWRpdG9yQ2xpZW50
SW1wbC5oICAgICAgfCAgICAzICstCiBTb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgICAgICAg
ICAgICAgICAgICAgICAgICB8ICAgMTEgKysrKysrKysKIC4uLi9XZWJLaXQvZWZsL1dlYkNvcmVT
dXBwb3J0L0VkaXRvckNsaWVudEVmbC5jcHAgIHwgICAxNSArKy0tLS0tLS0tLQogU291cmNlL1dl
YktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmggfCAgICAyICstCiBTb3Vy
Y2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTEgKysr
KysrKysKIC4uLi9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5jcHAg
IHwgICAxOCArKysrKystLS0tLS0tLQogU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQv
RWRpdG9yQ2xpZW50R3RrLmggfCAgICAyICstCiBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cg
ICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTEgKysrKysrKysKIFNvdXJjZS9XZWJLaXQvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5oIHwgICAgMiArLQogLi4uL1dlYktpdC9t
YWMvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50Lm1tICAgfCAgICA0ICstCiBTb3VyY2Uv
V2ViS2l0L3F0L0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTEgKysrKysr
KysKIFNvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50UXQuY3BwIHwg
ICAgMyArLQogU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRRdC5o
ICAgfCAgICAyICstCiBTb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cgICAgICAgICAgICAgICAg
ICAgICAgICB8ICAgMTEgKysrKysrKysKIC4uLi9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dl
YkVkaXRvckNsaWVudC5jcHAgIHwgICAgMiArLQogU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1
cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmggfCAgICAyICstCiBTb3VyY2UvV2ViS2l0L3d4L0NoYW5n
ZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTEgKysrKysrKysKIFNvdXJjZS9XZWJL
aXQvd3gvV2ViS2l0U3VwcG9ydC9FZGl0b3JDbGllbnRXeC5jcHAgIHwgICAgMyArLQogU291cmNl
L1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0VkaXRvckNsaWVudFd4LmggICAgfCAgICAyICstCiBT
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTEg
KysrKysrKysKIC4uLi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5j
cHAgIHwgICAgMyArLQogLi4uL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xp
ZW50LmggICAgfCAgICAyICstCiAyOCBmaWxlcyBjaGFuZ2VkLCAxNDQgaW5zZXJ0aW9ucygrKSwg
NDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDhmNWQ3ZTEuLjRlN2NmYjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyOCBAQAorMjAxMS0xMC0xNyAgQW50b25pbyBHb21lcyAgPGFnb21lc0By
aW0uY29tPgorCisgICAgICAgIFBhc3MgYSBGcmFtZSogcGFyYW1ldGVyIGluIEVkaXRvckNsaWVu
dDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBNb3N0IG9mIHRoZSBwb3J0IHNwZWNpZmljIGltcGxlbWVudGF0
aW9ucyBvZiBFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24KKyAgICAgICAg
KGxpa2UgRWRpdG9yQ2xpZW50e1F0LEd0ayxldGN9KSBhcmUgd3JvbmdseSByZWx5aW5nIG9uIEZv
Y3VzQ29udHJvbGxlcjo6Zm9jdXNlZE9yTWFpbkZyYW1lCisgICAgICAgIG1ldGhvZCB0byBnZXQg
dGhlIEZyYW1lIHdoZXJlIHRoZSBzZWxlY3Rpb24gaXMgaGFwcGVuaW5nIG9uLgorICAgICAgICBJ
dCBpcyBub3QgcmlnaHQsIHNpbmNlIGEgc2VsZWN0aW9uIGNhbiBiZSBlYXNpbHkgdHJpZ2dlcmVk
IGluIGFuIGlubmVyCisgICAgICAgIGZyYW1lIHRoYXQgaXMgbm90IGZvY3VzZWQuCisKKyAgICAg
ICAgTm8gbmV3IHRlc3RzIHNpbmNlIGl0IGlzIGEgaGFyZCB0aGluZyB0byB0ZXN0IHdpdGhvdXQK
KyAgICAgICAgdG8gaG9vayBpbnRvIGVkaXRvciBjbGllbnQgaW4gbGF5b3V0IHRlc3RzLiBXZSBj
b3VsZAorICAgICAgICBjaGFuZ2UgdGhlICJEdW1wZWQgRGVsZWdhdGUiIG1lc3NhZ2VzLCBidXQg
aXQgd291bGQKKyAgICAgICAgcmVxdWlyZSBhIHJlYmFzaWxlIG9mICsxMjAwIGZvciBhIG1pbm9y
IGNoYW5nZS4KKworICAgICAgICAqIGVkaXRpbmcvRWRpdG9yLmNwcDogUGFzcyB0aGUgRnJhbWUg
b24gd2hlcmUgdGhlIHNlbGVjdGlvbiBpcyBjaGFuZ2luZyB0byB0aGUgY2xpZW50LgorICAgICAg
ICAoV2ViQ29yZTo6RWRpdG9yOjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKTogRGl0dG8uCisg
ICAgICAgIChXZWJDb3JlOjpFZGl0b3I6OmNoYW5nZVNlbGVjdGlvbkFmdGVyQ29tbWFuZCk6IERp
dHRvLgorICAgICAgICAoV2ViQ29yZTo6RW1wdHlFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5n
ZWRTZWxlY3Rpb24pOgorICAgICAgICAqIHBhZ2UvRWRpdG9yQ2xpZW50Lmg6ICBQYXNzIEZyYW1l
KiB0byBpbmRpY2F0ZSB3aGVyZSB0aGUgc2VsZWN0aW9uIGlzIGhhcHBlbmluZy4KKyAgICAgICAg
KiBsb2FkZXIvRW1wdHlDbGllbnRzLmg6IENoYW5nZWQgc2lnbmF0dXJlIGFzIHBlciBiYXNlIGNs
YXNzIGNoYW5nZS4KKwogMjAxMS0xMC0xOCAgWmFuIERvYmVyc2VrICA8emFuZG9iZXJzZWtAZ21h
aWwuY29tPgogCiAgICAgICAgIFtHdGtdIFN1cHBvcnQgZm9yIGNsaWVudC1iYXNlZCBnZW9sb2Nh
dGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwIGIvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCmluZGV4IDVmMmJmNGYuLjljMWY1MmMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKQEAgLTQ5MCw3ICs0OTAsNyBAQCBib29sIEVkaXRv
cjo6c2hvdWxkU2hvd0RlbGV0ZUludGVyZmFjZShIVE1MRWxlbWVudCogZWxlbWVudCkgY29uc3QK
IHZvaWQgRWRpdG9yOjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKGNvbnN0IFZpc2libGVTZWxl
Y3Rpb24mIG9sZFNlbGVjdGlvbikKIHsKICAgICBpZiAoY2xpZW50KCkpCi0gICAgICAgIGNsaWVu
dCgpLT5yZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKCk7CisgICAgICAgIGNsaWVudCgpLT5yZXNw
b25kVG9DaGFuZ2VkU2VsZWN0aW9uKG1fZnJhbWUpOwogICAgIG1fZGVsZXRlQnV0dG9uQ29udHJv
bGxlci0+cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbihvbGRTZWxlY3Rpb24pOwogICAgIG1fc3Bl
bGxpbmdDb3JyZWN0b3ItPnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24ob2xkU2VsZWN0aW9uKTsK
IH0KQEAgLTI2MDMsNyArMjYwMyw3IEBAIHZvaWQgRWRpdG9yOjpjaGFuZ2VTZWxlY3Rpb25BZnRl
ckNvbW1hbmQoY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYgbmV3U2VsZWN0aW9uLCBiCiAgICAgLy8g
ZG9lcyBub3QgY2FsbCBFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oKSwg
d2hpY2gsIG9uIHRoZSBNYWMsIHNlbmRzIHNlbGVjdGlvbiBjaGFuZ2Ugbm90aWZpY2F0aW9ucyBh
bmQKICAgICAvLyBzdGFydHMgYSBuZXcga2lsbCByaW5nIHNlcXVlbmNlLCBidXQgd2Ugd2FudCB0
byBkbyB0aGVzZSB0aGluZ3MgKG1hdGNoZXMgQXBwS2l0KS4KICAgICBpZiAoc2VsZWN0aW9uRGlk
Tm90Q2hhbmdlRE9NUG9zaXRpb24pCi0gICAgICAgIGNsaWVudCgpLT5yZXNwb25kVG9DaGFuZ2Vk
U2VsZWN0aW9uKCk7CisgICAgICAgIGNsaWVudCgpLT5yZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9u
KG1fZnJhbWUpOwogfQogCiBTdHJpbmcgRWRpdG9yOjpzZWxlY3RlZFRleHQoKSBjb25zdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCmluZGV4IDUzMmY0MjUuLjI1MGNmMGYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKQEAgLTQ1OSw3ICs0NTksNyBAQCBwdWJsaWM6
CiAgICAgLy8KICAgICB2aXJ0dWFsIHZvaWQgZGlkQmVnaW5FZGl0aW5nKCkgeyB9CiAgICAgdmly
dHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5nZWRDb250ZW50cygpIHsgfQotICAgIHZpcnR1YWwgdm9p
ZCByZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKCkgeyB9CisgICAgdmlydHVhbCB2b2lkIHJlc3Bv
bmRUb0NoYW5nZWRTZWxlY3Rpb24oRnJhbWUqKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkRW5k
RWRpdGluZygpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWRXcml0ZVNlbGVjdGlvblRvUGFzdGVi
b2FyZCgpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWRTZXRTZWxlY3Rpb25UeXBlc0ZvclBhc3Rl
Ym9hcmQoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRWRpdG9yQ2xpZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0VkaXRvckNsaWVudC5oCmluZGV4IGEzN2M4YjkuLmFm
ZDE4NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRWRpdG9yQ2xpZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9FZGl0b3JDbGllbnQuaApAQCAtOTQsNyArOTQsNyBAQCBw
dWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlkQmVnaW5FZGl0aW5nKCkgPSAwOwogICAgIHZp
cnR1YWwgdm9pZCByZXNwb25kVG9DaGFuZ2VkQ29udGVudHMoKSA9IDA7Ci0gICAgdmlydHVhbCB2
b2lkIHJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHJl
c3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oRnJhbWUqKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRp
ZEVuZEVkaXRpbmcoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpZFdyaXRlU2VsZWN0aW9uVG9Q
YXN0ZWJvYXJkKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaWRTZXRTZWxlY3Rpb25UeXBlc0Zv
clBhc3RlYm9hcmQoKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDFmNmJlMDIu
Ljc4N2VhYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIw
MTEtMTAtMTcgIEFudG9uaW8gR29tZXMgIDxhZ29tZXNAcmltLmNvbT4KKworICAgICAgICBQYXNz
IGEgRnJhbWUqIHBhcmFtZXRlciBpbiBFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxl
Y3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcw
MjQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBz
cmMvRWRpdG9yQ2xpZW50SW1wbC5jcHA6IE1ha2UgdXNlIG9mIHRoZSBuZXdseSBhZGRlZCBGcmFt
ZSogcGFyYW1ldGVyLgorICAgICAgICAoV2ViS2l0OjpFZGl0b3JDbGllbnRJbXBsOjpyZXNwb25k
VG9DaGFuZ2VkU2VsZWN0aW9uKToKKyAgICAgICAgKiBzcmMvRWRpdG9yQ2xpZW50SW1wbC5oOiBD
aGFuZ2UgdGhlIG1ldGhvZCBzaWduYXR1cmUsIGFzIHBlciBiYXNlIGNsYXNzIGNoYW5nZS4KKwog
MjAxMS0xMC0xNyAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAK
ICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjk3Njc3LgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRWRpdG9yQ2xpZW50SW1wbC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9FZGl0b3JDbGllbnRJbXBsLmNwcAppbmRleCBlZjMwNWNjLi40NjY4
NmE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9FZGl0b3JDbGllbnRJ
bXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9FZGl0b3JDbGllbnRJbXBs
LmNwcApAQCAtMjYwLDEwICsyNjAsOSBAQCB2b2lkIEVkaXRvckNsaWVudEltcGw6OmRpZEJlZ2lu
RWRpdGluZygpCiAgICAgICAgIG1fd2ViVmlldy0+Y2xpZW50KCktPmRpZEJlZ2luRWRpdGluZygp
OwogfQogCi12b2lkIEVkaXRvckNsaWVudEltcGw6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24o
KQordm9pZCBFZGl0b3JDbGllbnRJbXBsOjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKEZyYW1l
KiBmcmFtZSkKIHsKICAgICBpZiAobV93ZWJWaWV3LT5jbGllbnQoKSkgewotICAgICAgICBGcmFt
ZSogZnJhbWUgPSBtX3dlYlZpZXctPmZvY3VzZWRXZWJDb3JlRnJhbWUoKTsKICAgICAgICAgaWYg
KGZyYW1lKQogICAgICAgICAgICAgbV93ZWJWaWV3LT5jbGllbnQoKS0+ZGlkQ2hhbmdlU2VsZWN0
aW9uKCFmcmFtZS0+c2VsZWN0aW9uKCktPmlzUmFuZ2UoKSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRWRpdG9yQ2xpZW50SW1wbC5oIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvRWRpdG9yQ2xpZW50SW1wbC5oCmluZGV4IDJkZGVlMzYuLjM0MjMz
NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0VkaXRvckNsaWVudElt
cGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9FZGl0b3JDbGllbnRJbXBsLmgK
QEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgeworY2xhc3MgRnJhbWU7CiBjbGFzcyBIVE1MSW5wdXRFbGVtZW50OwogY2xhc3MgU3Bl
bGxDaGVja2VyOwogfQpAQCAtNzIsNyArNzMsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29s
IHNob3VsZE1vdmVSYW5nZUFmdGVyRGVsZXRlKFdlYkNvcmU6OlJhbmdlKiwgV2ViQ29yZTo6UmFu
Z2UqKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkQmVnaW5FZGl0aW5nKCk7CiAgICAgdmlydHVhbCB2
b2lkIHJlc3BvbmRUb0NoYW5nZWRDb250ZW50cygpOwotICAgIHZpcnR1YWwgdm9pZCByZXNwb25k
VG9DaGFuZ2VkU2VsZWN0aW9uKCk7CisgICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5nZWRT
ZWxlY3Rpb24oV2ViQ29yZTo6RnJhbWUqKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkRW5kRWRpdGlu
ZygpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRXcml0ZVNlbGVjdGlvblRvUGFzdGVib2FyZCgpOwog
ICAgIHZpcnR1YWwgdm9pZCBkaWRTZXRTZWxlY3Rpb25UeXBlc0ZvclBhc3RlYm9hcmQoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZWZs
L0NoYW5nZUxvZwppbmRleCA1NDBjMDEyLi40YmVjMDc2IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTQgQEAKKzIwMTEtMTAtMTcgIEFudG9uaW8gR29tZXMgIDxhZ29tZXNAcmltLmNvbT4K
KworICAgICAgICBQYXNzIGEgRnJhbWUqIHBhcmFtZXRlciBpbiBFZGl0b3JDbGllbnQ6OnJlc3Bv
bmRUb0NoYW5nZWRTZWxlY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTcwMjQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuY3BwOiBNYWtlIHVz
ZSBvZiB0aGUgbmV3bHkgYWRkZWQgRnJhbWUqIHBhcmFtZXRlci4KKyAgICAgICAgKFdlYkNvcmU6
OkVkaXRvckNsaWVudEVmbDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbik6CisgICAgICAgICog
V2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmg6CisKIDIwMTEtMTAtMTcgIFJhcGhhZWwg
S3VibyBkYSBDb3N0YSAgPGt1Ym9AcHJvZnVzaW9uLm1vYmk+CiAKICAgICAgICAgW0VGTF0gRXhw
b3NlIHRoZSBraXQoKSBmcmFtZSBmdW5jdGlvbiB0byB0aGUgcmVzdCBvZiBld2suCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuY3Bw
IGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmNwcApp
bmRleCBmZGYwNjllLi40OTkzYjgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJD
b3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dl
YkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEVmbC5jcHAKQEAgLTEzMywyNSArMTMzLDE2IEBAIHZv
aWQgRWRpdG9yQ2xpZW50RWZsOjpyZXNwb25kVG9DaGFuZ2VkQ29udGVudHMoKQogICAgIGV3a19m
cmFtZV9lZGl0b3JfY2xpZW50X2NvbnRlbnRzX2NoYW5nZWQoZnJhbWUpOwogfQogCi12b2lkIEVk
aXRvckNsaWVudEVmbDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbigpCit2b2lkIEVkaXRvckNs
aWVudEVmbDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbihGcmFtZSogY29yZUZyYW1lKQogewot
ICAgIEV2YXNfT2JqZWN0KiBmcmFtZSA9IGV3a192aWV3X2ZyYW1lX2ZvY3VzZWRfZ2V0KG1fdmll
dyk7Ci0KLSAgICBpZiAoIWZyYW1lKQotICAgICAgICBmcmFtZSA9IGV3a192aWV3X2ZyYW1lX21h
aW5fZ2V0KG1fdmlldyk7Ci0KLSAgICBpZiAoIWZyYW1lKQotICAgICAgICByZXR1cm47Ci0KLSAg
ICBXZWJDb3JlOjpGcmFtZSogY29yZUZyYW1lID0gRVdLUHJpdmF0ZTo6Y29yZUZyYW1lKGZyYW1l
KTsKLQogICAgIGlmICghY29yZUZyYW1lKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAoY29y
ZUZyYW1lLT5lZGl0b3IoKSAmJiBjb3JlRnJhbWUtPmVkaXRvcigpLT5pZ25vcmVDb21wb3NpdGlv
blNlbGVjdGlvbkNoYW5nZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBld2tfZnJhbWVfZWRp
dG9yX2NsaWVudF9zZWxlY3Rpb25fY2hhbmdlZChmcmFtZSk7CisgICAgRXZhc19PYmplY3QqIHdl
YkZyYW1lID0gRVdLUHJpdmF0ZTo6a2l0RnJhbWUoY29yZUZyYW1lKTsKKyAgICBld2tfZnJhbWVf
ZWRpdG9yX2NsaWVudF9zZWxlY3Rpb25fY2hhbmdlZCh3ZWJGcmFtZSk7CiB9CiAKIHZvaWQgRWRp
dG9yQ2xpZW50RWZsOjpkaWRFbmRFZGl0aW5nKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
ZWZsL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEVmbC5oIGIvU291cmNlL1dlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmgKaW5kZXggNTNiYTM5Mi4uM2IxMDg1NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50
RWZsLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50
RWZsLmgKQEAgLTc5LDcgKzc5LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGRpZEJl
Z2luRWRpdGluZygpOwogICAgIHZpcnR1YWwgdm9pZCByZXNwb25kVG9DaGFuZ2VkQ29udGVudHMo
KTsKLSAgICB2aXJ0dWFsIHZvaWQgcmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbigpOworICAgIHZp
cnR1YWwgdm9pZCByZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKEZyYW1lKik7CiAgICAgdmlydHVh
bCB2b2lkIGRpZEVuZEVkaXRpbmcoKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkV3JpdGVTZWxlY3Rp
b25Ub1Bhc3RlYm9hcmQoKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkU2V0U2VsZWN0aW9uVHlwZXNG
b3JQYXN0ZWJvYXJkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXggODA2NjFkZC4uYzNhYjQyMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
Z3RrL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDExLTEwLTE3ICBBbnRvbmlvIEdvbWVz
ICA8YWdvbWVzQHJpbS5jb20+CisKKyAgICAgICAgUGFzcyBhIEZyYW1lKiBwYXJhbWV0ZXIgaW4g
RWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI0OAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xp
ZW50R3RrLmNwcDogTWFrZSB1c2Ugb2YgdGhlIG5ld2x5IGFkZGVkIEZyYW1lKiBwYXJhbWV0ZXIu
CisgICAgICAgIChXZWJLaXQ6OkVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlv
bik6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmg6CisKIDIwMTEt
MTAtMTggIFphbiBEb2JlcnNlayAgPHphbmRvYmVyc2VrQGdtYWlsLmNvbT4KIAogICAgICAgICBb
R3RrXSBTdXBwb3J0IGZvciBjbGllbnQtYmFzZWQgZ2VvbG9jYXRpb24KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuY3BwCmluZGV4IGIx
NTcyMjguLmIwZjI0MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBw
b3J0L0VkaXRvckNsaWVudEd0ay5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1
cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmNwcApAQCAtMzAyLDMzICszMDIsMzEgQEAgc3RhdGljIHZv
aWQgc2V0U2VsZWN0aW9uUHJpbWFyeUNsaXBib2FyZElmTmVlZGVkKFdlYktpdFdlYlZpZXcqIHdl
YlZpZXcpCiB9CiAjZW5kaWYKIAotdm9pZCBFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRT
ZWxlY3Rpb24oKQordm9pZCBFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24o
RnJhbWUqIGZyYW1lKQogewogICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZShtX3dlYlZpZXcsICJz
ZWxlY3Rpb24tY2hhbmdlZCIpOwogCi0gICAgV2ViS2l0V2ViVmlld1ByaXZhdGUqIHByaXYgPSBt
X3dlYlZpZXctPnByaXY7Ci0gICAgV2ViQ29yZTo6UGFnZSogY29yZVBhZ2UgPSBjb3JlKG1fd2Vi
Vmlldyk7Ci0gICAgRnJhbWUqIHRhcmdldEZyYW1lID0gY29yZVBhZ2UtPmZvY3VzQ29udHJvbGxl
cigpLT5mb2N1c2VkT3JNYWluRnJhbWUoKTsKLQotICAgIGlmICghdGFyZ2V0RnJhbWUpCisgICAg
aWYgKCFmcmFtZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKHRhcmdldEZyYW1lLT5lZGl0
b3IoKS0+aWdub3JlQ29tcG9zaXRpb25TZWxlY3Rpb25DaGFuZ2UoKSkKKyAgICBpZiAoZnJhbWUt
PmVkaXRvcigpLT5pZ25vcmVDb21wb3NpdGlvblNlbGVjdGlvbkNoYW5nZSgpKQogICAgICAgICBy
ZXR1cm47CiAKICNpZiBQTEFURk9STShYMTEpCiAgICAgc2V0U2VsZWN0aW9uUHJpbWFyeUNsaXBi
b2FyZElmTmVlZGVkKG1fd2ViVmlldyk7CiAjZW5kaWYKIAotICAgIGlmICghdGFyZ2V0RnJhbWUt
PmVkaXRvcigpLT5oYXNDb21wb3NpdGlvbigpKQorICAgIGlmICghZnJhbWUtPmVkaXRvcigpLT5o
YXNDb21wb3NpdGlvbigpKQogICAgICAgICByZXR1cm47CiAKICAgICB1bnNpZ25lZCBzdGFydDsK
ICAgICB1bnNpZ25lZCBlbmQ7Ci0gICAgaWYgKCF0YXJnZXRGcmFtZS0+ZWRpdG9yKCktPmdldENv
bXBvc2l0aW9uU2VsZWN0aW9uKHN0YXJ0LCBlbmQpKSB7CisgICAgV2ViS2l0V2ViVmlld1ByaXZh
dGUqIHByaXYgPSBtX3dlYlZpZXctPnByaXY7CisKKyAgICBpZiAoIWZyYW1lLT5lZGl0b3IoKS0+
Z2V0Q29tcG9zaXRpb25TZWxlY3Rpb24oc3RhcnQsIGVuZCkpIHsKICAgICAgICAgLy8gZ3RrX2lt
X2NvbnRleHRfcmVzZXQoKSBjbGVhcnMgdGhlIGNvbXBvc2l0aW9uIGZvciB1cy4KICAgICAgICAg
Z3RrX2ltX2NvbnRleHRfcmVzZXQocHJpdi0+aW1Db250ZXh0LmdldCgpKTsKLSAgICAgICAgdGFy
Z2V0RnJhbWUtPmVkaXRvcigpLT5jYW5jZWxDb21wb3NpdGlvbigpOworICAgICAgICBmcmFtZS0+
ZWRpdG9yKCktPmNhbmNlbENvbXBvc2l0aW9uKCk7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuaCBiL1NvdXJj
ZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5oCmluZGV4IGEwZmFk
ZDguLjY5ODZhNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0
L0VkaXRvckNsaWVudEd0ay5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0
L0VkaXRvckNsaWVudEd0ay5oCkBAIC0xMDAsNyArMTAwLDcgQEAgY2xhc3MgRWRpdG9yQ2xpZW50
IDogcHVibGljIFdlYkNvcmU6OkVkaXRvckNsaWVudCB7CiAKICAgICAgICAgdmlydHVhbCB2b2lk
IGRpZEJlZ2luRWRpdGluZygpOwogICAgICAgICB2aXJ0dWFsIHZvaWQgcmVzcG9uZFRvQ2hhbmdl
ZENvbnRlbnRzKCk7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCByZXNwb25kVG9DaGFuZ2VkU2VsZWN0
aW9uKCk7CisgICAgICAgIHZpcnR1YWwgdm9pZCByZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKFdl
YkNvcmU6OkZyYW1lKik7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRFbmRFZGl0aW5nKCk7CiAg
ICAgICAgIHZpcnR1YWwgdm9pZCBkaWRXcml0ZVNlbGVjdGlvblRvUGFzdGVib2FyZCgpOwogICAg
ICAgICB2aXJ0dWFsIHZvaWQgZGlkU2V0U2VsZWN0aW9uVHlwZXNGb3JQYXN0ZWJvYXJkKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cKaW5kZXggYjMxMWU3Mi4uOWYwMmVmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE0IEBACisyMDExLTEwLTE3ICBBbnRvbmlvIEdvbWVzICA8YWdvbWVzQHJpbS5jb20+
CisKKyAgICAgICAgUGFzcyBhIEZyYW1lKiBwYXJhbWV0ZXIgaW4gRWRpdG9yQ2xpZW50OjpyZXNw
b25kVG9DaGFuZ2VkU2VsZWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD03MDI0OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50Lmg6CisgICAgICAg
ICogV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50Lm1tOiBNYWtlIHVzZSBvZiB0aGUgbmV3
bHkgYWRkZWQgRnJhbWUqIHBhcmFtZXRlci4KKyAgICAgICAgKFdlYkVkaXRvckNsaWVudDo6cmVz
cG9uZFRvQ2hhbmdlZFNlbGVjdGlvbik6CisKIDIwMTEtMTAtMTQgIENocmlzIE1hcnJpbiAgPGNt
YXJyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFRocm90dGxlIHJhdGUgb2YgcmVxdWVzdEFuaW1h
dGlvbkZyYW1lIHdoZW4gcGFnZSBpcyBub3QgdmlzaWJsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuaAppbmRleCA2YTI3NDAwLi5hYWNj
YmFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0
b3JDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0
b3JDbGllbnQuaApAQCAtOTgsNyArOTgsNyBAQCBwdWJsaWM6CiAgICAgVGV4dENoZWNrZXJDbGll
bnQqIHRleHRDaGVja2VyKCkgT1ZFUlJJREUgeyByZXR1cm4gdGhpczsgfQogCiAgICAgdmlydHVh
bCB2b2lkIHJlc3BvbmRUb0NoYW5nZWRDb250ZW50cygpIE9WRVJSSURFOwotICAgIHZpcnR1YWwg
dm9pZCByZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2
b2lkIHJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oV2ViQ29yZTo6RnJhbWUqKSBPVkVSUklERTsK
IAogICAgIHZpcnR1YWwgdm9pZCByZWdpc3RlckNvbW1hbmRGb3JVbmRvKFBhc3NSZWZQdHI8V2Vi
Q29yZTo6RWRpdENvbW1hbmQ+KSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJD
b21tYW5kRm9yUmVkbyhQYXNzUmVmUHRyPFdlYkNvcmU6OkVkaXRDb21tYW5kPikgT1ZFUlJJREU7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JD
bGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGll
bnQubW0KaW5kZXggZDE5Mzg0MS4uZTZmZjFiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9t
YWMvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5tbQpAQCAtMjkwLDkgKzI5MCw5IEBA
IHZvaWQgV2ViRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkQ29udGVudHMoKQogICAgIFtb
TlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcG9zdE5vdGlmaWNhdGlvbk5hbWU6
V2ViVmlld0RpZENoYW5nZU5vdGlmaWNhdGlvbiBvYmplY3Q6bV93ZWJWaWV3XTsgICAgCiB9CiAK
LXZvaWQgV2ViRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKCkKK3ZvaWQg
V2ViRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKEZyYW1lKiBmcmFtZSkK
IHsKLSAgICBOU1ZpZXc8V2ViRG9jdW1lbnRWaWV3PiAqZG9jdW1lbnRWaWV3ID0gW1tbbV93ZWJW
aWV3IF9zZWxlY3RlZE9yTWFpbkZyYW1lXSBmcmFtZVZpZXddIGRvY3VtZW50Vmlld107CisgICAg
TlNWaWV3PFdlYkRvY3VtZW50Vmlldz4gKmRvY3VtZW50VmlldyA9IFtbW2ZyYW1lXSBmcmFtZVZp
ZXddIGRvY3VtZW50Vmlld107CiAgICAgaWYgKFtkb2N1bWVudFZpZXcgaXNLaW5kT2ZDbGFzczpb
V2ViSFRNTFZpZXcgY2xhc3NdXSkKICAgICAgICAgWyhXZWJIVE1MVmlldyAqKWRvY3VtZW50Vmll
dyBfc2VsZWN0aW9uQ2hhbmdlZF07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggZDI1Y2IwNC4uM2ZiNTdi
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMS0xMC0xNyAgQW50b25pbyBH
b21lcyAgPGFnb21lc0ByaW0uY29tPgorCisgICAgICAgIFBhc3MgYSBGcmFtZSogcGFyYW1ldGVy
IGluIEVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNDgKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0VkaXRv
ckNsaWVudFF0LmNwcDogTWFrZSB1c2Ugb2YgdGhlIG5ld2x5IGFkZGVkIEZyYW1lKiBwYXJhbWV0
ZXIuCisgICAgICAgIChXZWJDb3JlOjpFZGl0b3JDbGllbnRRdDo6cmVzcG9uZFRvQ2hhbmdlZFNl
bGVjdGlvbik6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50UXQuaDoKKwog
MjAxMS0xMC0xNSAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJl
bmFtZSBFTkFCTEUoVElMRURfQkFDS0lOR19TVE9SRSkgdG8gVVNFKFRJTEVEX0JBQ0tJTkdfU1RP
UkUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0VkaXRvckNs
aWVudFF0LmNwcCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50
UXQuY3BwCmluZGV4IGYzODdlYTkuLmY5NThlODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
cXQvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50UXQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
cXQvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50UXQuY3BwCkBAIC0yMDEsNyArMjAxLDcgQEAg
dm9pZCBFZGl0b3JDbGllbnRRdDo6cmVzcG9uZFRvQ2hhbmdlZENvbnRlbnRzKCkKICAgICBlbWl0
IG1fcGFnZS0+Y29udGVudHNDaGFuZ2VkKCk7CiB9CiAKLXZvaWQgRWRpdG9yQ2xpZW50UXQ6OnJl
c3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oKQordm9pZCBFZGl0b3JDbGllbnRRdDo6cmVzcG9uZFRv
Q2hhbmdlZFNlbGVjdGlvbihGcmFtZSogZnJhbWUpCiB7CiAgICAgaWYgKGR1bXBFZGl0aW5nQ2Fs
bGJhY2tzKQogICAgICAgICBwcmludGYoIkVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFu
Z2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvblxuIik7CkBA
IC0yMTIsNyArMjEyLDYgQEAgdm9pZCBFZGl0b3JDbGllbnRRdDo6cmVzcG9uZFRvQ2hhbmdlZFNl
bGVjdGlvbigpCiAKICAgICBtX3BhZ2UtPmQtPnVwZGF0ZUVkaXRvckFjdGlvbnMoKTsKICAgICBl
bWl0IG1fcGFnZS0+c2VsZWN0aW9uQ2hhbmdlZCgpOwotICAgIEZyYW1lKiBmcmFtZSA9IG1fcGFn
ZS0+ZC0+cGFnZS0+Zm9jdXNDb250cm9sbGVyKCktPmZvY3VzZWRPck1haW5GcmFtZSgpOwogICAg
IGlmICghZnJhbWUtPmVkaXRvcigpLT5pZ25vcmVDb21wb3NpdGlvblNlbGVjdGlvbkNoYW5nZSgp
KQogICAgICAgICBlbWl0IG1fcGFnZS0+bWljcm9Gb2N1c0NoYW5nZWQoKTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50UXQuaCBiL1Nv
dXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50UXQuaAppbmRleCBkOTY1
OGJiLi42ZTZhMGE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0
L0VkaXRvckNsaWVudFF0LmgKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9F
ZGl0b3JDbGllbnRRdC5oCkBAIC02OSw3ICs2OSw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwg
dm9pZCBkaWRCZWdpbkVkaXRpbmcoKTsKICAgICB2aXJ0dWFsIHZvaWQgcmVzcG9uZFRvQ2hhbmdl
ZENvbnRlbnRzKCk7Ci0gICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24o
KTsKKyAgICB2aXJ0dWFsIHZvaWQgcmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbihGcmFtZSopOwog
ICAgIHZpcnR1YWwgdm9pZCBkaWRFbmRFZGl0aW5nKCk7CiAgICAgdmlydHVhbCB2b2lkIGRpZFdy
aXRlU2VsZWN0aW9uVG9QYXN0ZWJvYXJkKCk7CiAgICAgdmlydHVhbCB2b2lkIGRpZFNldFNlbGVj
dGlvblR5cGVzRm9yUGFzdGVib2FyZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4v
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCmluZGV4IDk3MTIyZmMuLjFh
NThiMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMS0xMC0xNyAgQW50
b25pbyBHb21lcyAgPGFnb21lc0ByaW0uY29tPgorCisgICAgICAgIFBhc3MgYSBGcmFtZSogcGFy
YW1ldGVyIGluIEVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNDgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L1dlYkVkaXRvckNsaWVudC5jcHA6IE1ha2UgdXNlIG9mIHRoZSBuZXdseSBhZGRlZCBGcmFtZSog
cGFyYW1ldGVyLgorICAgICAgICAoV2ViRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2Vs
ZWN0aW9uKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuaDoKKwog
MjAxMS0xMC0xNCAgSnVsaWVuIENoYWZmcmFpeCAgPGpjaGFmZnJhaXhAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBSZW1vdmUgbGF5ZXJYIC8gbGF5ZXJZIGZyb20gdGhlIFdpbmRvd3MgQVBJCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQu
Y3BwIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmNw
cAppbmRleCBjMDE1YjIzLi5lNTBjNmQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9X
ZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2lu
L1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5jcHAKQEAgLTIwOCw3ICsyMDgsNyBAQCB2
b2lkIFdlYkVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZENvbnRlbnRzKCkKICAgICBub3RJ
bXBsZW1lbnRlZCgpOwogfQogCi12b2lkIFdlYkVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdl
ZFNlbGVjdGlvbigpCit2b2lkIFdlYkVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVj
dGlvbihGcmFtZSopCiB7CiAgICAgbV93ZWJWaWV3LT5zZWxlY3Rpb25DaGFuZ2VkKCk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVu
dC5oIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmgK
aW5kZXggMWRiNGM2OC4uMjhkZTljMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2Vi
Q29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2Vi
Q29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmgKQEAgLTU4LDcgKzU4LDcgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgdm9pZCBkaWRTZXRTZWxlY3Rpb25UeXBlc0ZvclBhc3RlYm9hcmQoKTsKIAog
ICAgIHZpcnR1YWwgdm9pZCByZXNwb25kVG9DaGFuZ2VkQ29udGVudHMoKTsKLSAgICB2aXJ0dWFs
IHZvaWQgcmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbigpOworICAgIHZpcnR1YWwgdm9pZCByZXNw
b25kVG9DaGFuZ2VkU2VsZWN0aW9uKFdlYkNvcmU6OkZyYW1lKik7CiAKICAgICBib29sIHNob3Vs
ZFNob3dEZWxldGVJbnRlcmZhY2UoV2ViQ29yZTo6SFRNTEVsZW1lbnQqKTsKICAgICBib29sIHNo
b3VsZERlbGV0ZVJhbmdlKFdlYkNvcmU6OlJhbmdlKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L3d4L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd3gvQ2hhbmdlTG9nCmluZGV4IGM2MzYw
MDEuLmJkMTVmN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd3gvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvd3gvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMTAtMTcg
IEFudG9uaW8gR29tZXMgIDxhZ29tZXNAcmltLmNvbT4KKworICAgICAgICBQYXNzIGEgRnJhbWUq
IHBhcmFtZXRlciBpbiBFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjQ4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJLaXRTdXBw
b3J0L0VkaXRvckNsaWVudFd4LmNwcDogTWFrZSB1c2Ugb2YgdGhlIG5ld2x5IGFkZGVkIEZyYW1l
KiBwYXJhbWV0ZXIuCisgICAgICAgIChXZWJDb3JlOjpFZGl0b3JDbGllbnRXeDo6cmVzcG9uZFRv
Q2hhbmdlZFNlbGVjdGlvbik6CisgICAgICAgICogV2ViS2l0U3VwcG9ydC9FZGl0b3JDbGllbnRX
eC5oOgorCiAyMDExLTA5LTI0ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgQWx3YXlzIGVuYWJsZSBFTkFCTEUoT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0VkaXRvckNsaWVudFd4LmNw
cCBiL1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9FZGl0b3JDbGllbnRXeC5jcHAKaW5k
ZXggNTgxMmRmZS4uN2ExN2FkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93eC9XZWJLaXRT
dXBwb3J0L0VkaXRvckNsaWVudFd4LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1
cHBvcnQvRWRpdG9yQ2xpZW50V3guY3BwCkBAIC00ODcsOSArNDg3LDggQEAgdm9pZCBFZGl0b3JD
bGllbnRXeDo6dGV4dERpZENoYW5nZUluVGV4dEFyZWEoRWxlbWVudCopCiAgICAgbm90SW1wbGVt
ZW50ZWQoKTsKIH0KIAotdm9pZCBFZGl0b3JDbGllbnRXeDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVj
dGlvbigpCit2b2lkIEVkaXRvckNsaWVudFd4OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKEZy
YW1lKiBmcmFtZSkKIHsKLSAgICBGcmFtZSogZnJhbWUgPSBtX3BhZ2UtPmZvY3VzQ29udHJvbGxl
cigpLT5mb2N1c2VkT3JNYWluRnJhbWUoKTsKICAgICBpZiAoZnJhbWUpIHsKICAgICAgICAgd3hX
ZWJWaWV3KiB3ZWJLaXRXaW4gPSBkeW5hbWljX2Nhc3Q8d3hXZWJWaWV3Kj4oZnJhbWUtPnZpZXco
KS0+aG9zdFdpbmRvdygpLT5wbGF0Zm9ybVBhZ2VDbGllbnQoKSk7CiAgICAgICAgIGlmICh3ZWJL
aXRXaW4pIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9FZGl0
b3JDbGllbnRXeC5oIGIvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0VkaXRvckNsaWVu
dFd4LmgKaW5kZXggNzM3MGYwYS4uMzE4ZjU0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93
eC9XZWJLaXRTdXBwb3J0L0VkaXRvckNsaWVudFd4LmgKKysrIGIvU291cmNlL1dlYktpdC93eC9X
ZWJLaXRTdXBwb3J0L0VkaXRvckNsaWVudFd4LmgKQEAgLTcyLDcgKzcyLDcgQEAgcHVibGljOgog
CiAgICAgdmlydHVhbCB2b2lkIGRpZEJlZ2luRWRpdGluZygpOwogICAgIHZpcnR1YWwgdm9pZCBy
ZXNwb25kVG9DaGFuZ2VkQ29udGVudHMoKTsKLSAgICB2aXJ0dWFsIHZvaWQgcmVzcG9uZFRvQ2hh
bmdlZFNlbGVjdGlvbigpOworICAgIHZpcnR1YWwgdm9pZCByZXNwb25kVG9DaGFuZ2VkU2VsZWN0
aW9uKEZyYW1lKik7CiAgICAgdmlydHVhbCB2b2lkIGRpZEVuZEVkaXRpbmcoKTsKICAgICB2aXJ0
dWFsIHZvaWQgZGlkV3JpdGVTZWxlY3Rpb25Ub1Bhc3RlYm9hcmQoKTsKICAgICB2aXJ0dWFsIHZv
aWQgZGlkU2V0U2VsZWN0aW9uVHlwZXNGb3JQYXN0ZWJvYXJkKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOTc0
NjE5Yi4uYTk5NDdiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDExLTEwLTE3ICBB
bnRvbmlvIEdvbWVzICA8YWdvbWVzQHJpbS5jb20+CisKKyAgICAgICAgUGFzcyBhIEZyYW1lKiBw
YXJhbWV0ZXIgaW4gRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI0OAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuY3BwOiBNYWtlIHVzZSBvZiB0aGUgbmV3bHkg
YWRkZWQgRnJhbWUqIHBhcmFtZXRlci4KKyAgICAgICAgKFdlYktpdDo6V2ViRWRpdG9yQ2xpZW50
OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5oOgorCiAyMDExLTEwLTE4ICBDYWlvIE1hcmNlbG8g
ZGUgT2xpdmVpcmEgRmlsaG8gIDxjYWlvLm9saXZlaXJhQG9wZW5ib3NzYS5vcmc+CiAKICAgICAg
ICAgW1F0XSBTZW5kIG1vdXNlIG1vdmUgZXZlbnRzIHdoZW4gd2UgaGFuZGxlIEhvdmVyRW50ZXIv
TGVhdmUgaW4gUURlc2t0b3BXZWJWaWV3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5jcHAKaW5kZXggZTlj
MTI2MC4uOGU3MTNmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmNwcApAQCAtMTc0LDExICsxNzQs
MTAgQEAgdm9pZCBXZWJFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRDb250ZW50cygpCiAg
ICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAotdm9pZCBXZWJFZGl0b3JDbGllbnQ6OnJlc3BvbmRU
b0NoYW5nZWRTZWxlY3Rpb24oKQordm9pZCBXZWJFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5n
ZWRTZWxlY3Rpb24oRnJhbWUqKQogewogICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCBX
ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uLCAoIldlYlZpZXdEaWRDaGFuZ2VT
ZWxlY3Rpb25Ob3RpZmljYXRpb24iKSk7CiAgICAgbV9wYWdlLT5pbmplY3RlZEJ1bmRsZUVkaXRv
ckNsaWVudCgpLmRpZENoYW5nZVNlbGVjdGlvbihtX3BhZ2UsIFdlYlZpZXdEaWRDaGFuZ2VTZWxl
Y3Rpb25Ob3RpZmljYXRpb24uaW1wbCgpKTsKLSAgICBGcmFtZSogZnJhbWUgPSBtX3BhZ2UtPmNv
cmVQYWdlKCktPmZvY3VzQ29udHJvbGxlcigpLT5mb2N1c2VkRnJhbWUoKTsKICAgICBpZiAoIWZy
YW1lKQogICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5oCmluZGV4IDVlNzM2MzIu
LmUyYmVmOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuaApAQCAtNjQsNyArNjQsNyBAQCBwcml2YXRl
OgogCiAgICAgdmlydHVhbCB2b2lkIGRpZEJlZ2luRWRpdGluZygpIE9WRVJSSURFOwogICAgIHZp
cnR1YWwgdm9pZCByZXNwb25kVG9DaGFuZ2VkQ29udGVudHMoKSBPVkVSUklERTsKLSAgICB2aXJ0
dWFsIHZvaWQgcmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbigpIE9WRVJSSURFOworICAgIHZpcnR1
YWwgdm9pZCByZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKFdlYkNvcmU6OkZyYW1lKikgT1ZFUlJJ
REU7CiAgICAgdmlydHVhbCB2b2lkIGRpZEVuZEVkaXRpbmcoKSBPVkVSUklERTsKICAgICB2aXJ0
dWFsIHZvaWQgZGlkV3JpdGVTZWxlY3Rpb25Ub1Bhc3RlYm9hcmQoKSBPVkVSUklERTsKICAgICB2
aXJ0dWFsIHZvaWQgZGlkU2V0U2VsZWN0aW9uVHlwZXNGb3JQYXN0ZWJvYXJkKCkgT1ZFUlJJREU7
Ci0tIAoxLjcuMQoK
</data>
<flag name="review"
          id="109281"
          type_id="1"
          status="+"
          setter="rniwa"
    />
    <flag name="commit-queue"
          id="109355"
          type_id="3"
          status="-"
          setter="gustavo"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111553</attachid>
            <date>2011-10-18 19:23:29 -0700</date>
            <delta_ts>2011-10-19 07:05:03 -0700</delta_ts>
            <desc>patch 1.6</desc>
            <filename>0001-2011-10-17-Antonio-Gomes-agomes-rim.com.patch</filename>
            <type>text/plain</type>
            <size>27773</size>
            <attacher name="Antonio Gomes">tonikitoo</attacher>
            
              <data encoding="base64">RnJvbSA5ZGE5ZGEzZWVhNmNhNjA4YmY2MTUzYzgwZDhjNzhhMjUwNGVmYzE0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRvbmlvIEdvbWVzIDxhZ29tZXNAcmltLmNvbT4KRGF0ZTog
TW9uLCAxNyBPY3QgMjAxMSAxMzo1MjoyNCAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIDIwMTEtMTAt
MTcgIEFudG9uaW8gR29tZXMgIDxhZ29tZXNAcmltLmNvbT4KCiAgICAgICAgUGFzcyBhIEZyYW1l
KiBwYXJhbWV0ZXIgaW4gRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uCiAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjQ4CgogICAg
ICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KCiAgICAgICAgTW9zdCBvZiB0aGUgcG9ydCBz
cGVjaWZpYyBpbXBsZW1lbnRhdGlvbnMgb2YgRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2Vk
U2VsZWN0aW9uCiAgICAgICAgKGxpa2UgRWRpdG9yQ2xpZW50e1F0LEd0ayxldGN9KSBhcmUgd3Jv
bmdseSByZWx5aW5nIG9uIEZvY3VzQ29udHJvbGxlcjo6Zm9jdXNlZE9yTWFpbkZyYW1lCiAgICAg
ICAgbWV0aG9kIHRvIGdldCB0aGUgRnJhbWUgd2hlcmUgdGhlIHNlbGVjdGlvbiBpcyBoYXBwZW5p
bmcgb24uCgogICAgICAgIEl0IGlzIG5vdCByaWdodCwgc2luY2UgYSBzZWxlY3Rpb24gY2FuIGJl
IGVhc2lseSB0cmlnZ2VyZWQgaW4gYW4gaW5uZXIKICAgICAgICBmcmFtZSB0aGF0IGlzIG5vdCBm
b2N1c2VkLgoKICAgICAgICBObyBuZXcgdGVzdHMgc2luY2UgaXQgaXMgYSBoYXJkIHRoaW5nIHRv
IHRlc3Qgd2l0aG91dAogICAgICAgIHRvIGhvb2sgaW50byBlZGl0b3IgY2xpZW50IGluIGxheW91
dCB0ZXN0cy4gV2UgY291bGQKICAgICAgICBjaGFuZ2UgdGhlICJEdW1wZWQgRGVsZWdhdGUiIG1l
c3NhZ2VzLCBidXQgaXQgd291bGQKICAgICAgICByZXF1aXJlIGEgcmViYXNpbGUgb2YgKzEyMDAg
Zm9yIGEgbWlub3IgY2hhbmdlLgoKICAgICAgICBObyBuZXcgdGVzdHMgc2luY2UgaXQgaXMgYSBo
YXJkIHRoaW5nIHRvIHRlc3Qgd2l0aG91dAogICAgICAgIHRvIGhvb2sgaW50byBlZGl0b3IgY2xp
ZW50IGluIGxheW91dCB0ZXN0cy4gV2UgY291bGQKICAgICAgICBjaGFuZ2UgdGhlICJEdW1wZWQg
RGVsZWdhdGUiIG1lc3NhZ2VzLCBidXQgaXQgd291bGQKICAgICAgICByZXF1aXJlIGEgcmViYXNp
bGUgb2YgKzEyMDAgZm9yIGEgbWlub3IgY2hhbmdlLgoKICAgICAgICBTb3VyY2UvV2ViQ29yZToK
ICAgICAgICAqIGVkaXRpbmcvRWRpdG9yLmNwcDogUGFzcyB0aGUgRnJhbWUgb24gd2hlcmUgdGhl
IHNlbGVjdGlvbiBpcyBjaGFuZ2luZyB0byB0aGUgY2xpZW50LgogICAgICAgIChXZWJDb3JlOjpF
ZGl0b3I6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24pOiBEaXR0by4KICAgICAgICAoV2ViQ29y
ZTo6RWRpdG9yOjpjaGFuZ2VTZWxlY3Rpb25BZnRlckNvbW1hbmQpOiBEaXR0by4KICAgICAgICAo
V2ViQ29yZTo6RW1wdHlFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24pOgog
ICAgICAgICogcGFnZS9FZGl0b3JDbGllbnQuaDogIFBhc3MgRnJhbWUqIHRvIGluZGljYXRlIHdo
ZXJlIHRoZSBzZWxlY3Rpb24gaXMgaGFwcGVuaW5nLgogICAgICAgICogbG9hZGVyL0VtcHR5Q2xp
ZW50cy5oOiBDaGFuZ2VkIHNpZ25hdHVyZSBhcyBwZXIgYmFzZSBjbGFzcyBjaGFuZ2UuCgogICAg
ICAgIFNvdXJjZS9XZWJLaXQvY2hyb21pdW06CiAgICAgICAgKiBzcmMvRWRpdG9yQ2xpZW50SW1w
bC5jcHA6IE1ha2UgdXNlIG9mIHRoZSBuZXdseSBhZGRlZCBGcmFtZSogcGFyYW1ldGVyLgogICAg
ICAgIChXZWJLaXQ6OkVkaXRvckNsaWVudEltcGw6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24p
OgogICAgICAgICogc3JjL0VkaXRvckNsaWVudEltcGwuaDoKCiAgICAgICAgU291cmNlL1dlYktp
dC9lZmw6CiAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuY3BwOiBNYWtl
IHVzZSBvZiB0aGUgbmV3bHkgYWRkZWQgRnJhbWUqIHBhcmFtZXRlci4KICAgICAgICAoV2ViQ29y
ZTo6RWRpdG9yQ2xpZW50RWZsOjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKToKICAgICAgICAq
IFdlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEVmbC5oOgoKICAgICAgICBTb3VyY2UvV2ViS2l0
L2d0azoKICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5jcHA6IE1ha2Ug
dXNlIG9mIHRoZSBuZXdseSBhZGRlZCBGcmFtZSogcGFyYW1ldGVyLgogICAgICAgIChXZWJLaXQ6
OkVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbik6CiAgICAgICAgKiBXZWJD
b3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuaDoKCiAgICAgICAgU291cmNlL1dlYktpdC9tYWM6
CiAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuaDogTWFrZSB1c2Ugb2Yg
dGhlIG5ld2x5IGFkZGVkIEZyYW1lKiBwYXJhbWV0ZXIuCiAgICAgICAgKiBXZWJDb3JlU3VwcG9y
dC9XZWJFZGl0b3JDbGllbnQubW06CiAgICAgICAgKFdlYkVkaXRvckNsaWVudDo6cmVzcG9uZFRv
Q2hhbmdlZFNlbGVjdGlvbik6CgogICAgICAgIFNvdXJjZS9XZWJLaXQvcXQ6CiAgICAgICAgKiBX
ZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRRdC5jcHA6IE1ha2UgdXNlIG9mIHRoZSBuZXdseSBh
ZGRlZCBGcmFtZSogcGFyYW1ldGVyLgogICAgICAgIChXZWJDb3JlOjpFZGl0b3JDbGllbnRRdDo6
cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbik6CiAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9FZGl0
b3JDbGllbnRRdC5oOgoKICAgICAgICBTb3VyY2UvV2ViS2l0L3dpbjoKICAgICAgICAqIFdlYkNv
cmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5jcHA6IE1ha2UgdXNlIG9mIHRoZSBuZXdseSBhZGRl
ZCBGcmFtZSogcGFyYW1ldGVyLgogICAgICAgIChXZWJFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0No
YW5nZWRTZWxlY3Rpb24pOgogICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50
Lmg6CgogICAgICAgIFNvdXJjZS9XZWJLaXQvd3g6CiAgICAgICAgKiBXZWJLaXRTdXBwb3J0L0Vk
aXRvckNsaWVudFd4LmNwcDogTWFrZSB1c2Ugb2YgdGhlIG5ld2x5IGFkZGVkIEZyYW1lKiBwYXJh
bWV0ZXIuCiAgICAgICAgKFdlYkNvcmU6OkVkaXRvckNsaWVudFd4OjpyZXNwb25kVG9DaGFuZ2Vk
U2VsZWN0aW9uKToKICAgICAgICAqIFdlYktpdFN1cHBvcnQvRWRpdG9yQ2xpZW50V3guaDoKCiAg
ICAgICAgU291cmNlL1dlYktpdDI6CiAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkVkaXRvckNsaWVudC5jcHA6IE1ha2UgdXNlIG9mIHRoZSBuZXdseSBhZGRlZCBGcmFtZSog
cGFyYW1ldGVyLgogICAgICAgIChXZWJLaXQ6OldlYkVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hh
bmdlZFNlbGVjdGlvbik6CiAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkVk
aXRvckNsaWVudC5oOgotLS0KIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHwgICAyNSArKysrKysrKysrKysrKysrKysrKwogU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9FZGl0b3IuY3BwICAgICAgICAgICAgICAgICAgfCAgICA0ICstCiBTb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmggICAgICAgICAgICAgICB8ICAgIDIgKy0KIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvRWRpdG9yQ2xpZW50LmggICAgICAgICAgICAgICAgIHwgICAgMiArLQog
U291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgfCAgIDEx
ICsrKysrKysrCiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9FZGl0b3JDbGllbnRJbXBsLmNw
cCAgICB8ICAgIDMgKy0KIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0VkaXRvckNsaWVudElt
cGwuaCAgICAgIHwgICAgMyArLQogU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nICAgICAgICAg
ICAgICAgICAgICAgICAgfCAgIDExICsrKysrKysrCiAuLi4vV2ViS2l0L2VmbC9XZWJDb3JlU3Vw
cG9ydC9FZGl0b3JDbGllbnRFZmwuY3BwICB8ICAgMTUgKystLS0tLS0tLS0KIFNvdXJjZS9XZWJL
aXQvZWZsL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEVmbC5oIHwgICAgMiArLQogU291cmNl
L1dlYktpdC9ndGsvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDExICsrKysr
KysrCiAuLi4vV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuY3BwICB8
ICAgMTggKysrKysrLS0tLS0tLS0KIFNvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Vk
aXRvckNsaWVudEd0ay5oIHwgICAgMiArLQogU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nICAg
ICAgICAgICAgICAgICAgICAgICAgfCAgIDExICsrKysrKysrCiBTb3VyY2UvV2ViS2l0L21hYy9X
ZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuaCB8ICAgIDIgKy0KIC4uLi9XZWJLaXQvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5tbSAgIHwgICAgNCArLQogU291cmNlL1dl
YktpdC9xdC9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDExICsrKysrKysr
CiBTb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudFF0LmNwcCB8ICAg
IDMgKy0KIFNvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50UXQuaCAg
IHwgICAgMiArLQogU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAg
ICAgICAgfCAgIDExICsrKysrKysrCiAuLi4vV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJF
ZGl0b3JDbGllbnQuY3BwICB8ICAgIDIgKy0KIFNvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBw
b3J0L1dlYkVkaXRvckNsaWVudC5oIHwgICAgMiArLQogU291cmNlL1dlYktpdC93eC9DaGFuZ2VM
b2cgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDExICsrKysrKysrCiBTb3VyY2UvV2ViS2l0
L3d4L1dlYktpdFN1cHBvcnQvRWRpdG9yQ2xpZW50V3guY3BwICB8ICAgIDMgKy0KIFNvdXJjZS9X
ZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9FZGl0b3JDbGllbnRXeC5oICAgIHwgICAgMiArLQogU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDExICsr
KysrKysrCiAuLi4vV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuY3Bw
ICB8ICAgIDMgKy0KIC4uLi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVu
dC5oICAgIHwgICAgMiArLQogMjggZmlsZXMgY2hhbmdlZCwgMTQ0IGluc2VydGlvbnMoKyksIDQ1
IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4ZjVkN2UxLi40ZTdjZmI2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjggQEAKKzIwMTEtMTAtMTcgIEFudG9uaW8gR29tZXMgIDxhZ29tZXNAcmlt
LmNvbT4KKworICAgICAgICBQYXNzIGEgRnJhbWUqIHBhcmFtZXRlciBpbiBFZGl0b3JDbGllbnQ6
OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTcwMjQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgTW9zdCBvZiB0aGUgcG9ydCBzcGVjaWZpYyBpbXBsZW1lbnRhdGlv
bnMgb2YgRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uCisgICAgICAgIChs
aWtlIEVkaXRvckNsaWVudHtRdCxHdGssZXRjfSkgYXJlIHdyb25nbHkgcmVseWluZyBvbiBGb2N1
c0NvbnRyb2xsZXI6OmZvY3VzZWRPck1haW5GcmFtZQorICAgICAgICBtZXRob2QgdG8gZ2V0IHRo
ZSBGcmFtZSB3aGVyZSB0aGUgc2VsZWN0aW9uIGlzIGhhcHBlbmluZyBvbi4KKyAgICAgICAgSXQg
aXMgbm90IHJpZ2h0LCBzaW5jZSBhIHNlbGVjdGlvbiBjYW4gYmUgZWFzaWx5IHRyaWdnZXJlZCBp
biBhbiBpbm5lcgorICAgICAgICBmcmFtZSB0aGF0IGlzIG5vdCBmb2N1c2VkLgorCisgICAgICAg
IE5vIG5ldyB0ZXN0cyBzaW5jZSBpdCBpcyBhIGhhcmQgdGhpbmcgdG8gdGVzdCB3aXRob3V0Cisg
ICAgICAgIHRvIGhvb2sgaW50byBlZGl0b3IgY2xpZW50IGluIGxheW91dCB0ZXN0cy4gV2UgY291
bGQKKyAgICAgICAgY2hhbmdlIHRoZSAiRHVtcGVkIERlbGVnYXRlIiBtZXNzYWdlcywgYnV0IGl0
IHdvdWxkCisgICAgICAgIHJlcXVpcmUgYSByZWJhc2lsZSBvZiArMTIwMCBmb3IgYSBtaW5vciBj
aGFuZ2UuCisKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvci5jcHA6IFBhc3MgdGhlIEZyYW1lIG9u
IHdoZXJlIHRoZSBzZWxlY3Rpb24gaXMgY2hhbmdpbmcgdG8gdGhlIGNsaWVudC4KKyAgICAgICAg
KFdlYkNvcmU6OkVkaXRvcjo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbik6IERpdHRvLgorICAg
ICAgICAoV2ViQ29yZTo6RWRpdG9yOjpjaGFuZ2VTZWxlY3Rpb25BZnRlckNvbW1hbmQpOiBEaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6OkVtcHR5RWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2Vk
U2VsZWN0aW9uKToKKyAgICAgICAgKiBwYWdlL0VkaXRvckNsaWVudC5oOiAgUGFzcyBGcmFtZSog
dG8gaW5kaWNhdGUgd2hlcmUgdGhlIHNlbGVjdGlvbiBpcyBoYXBwZW5pbmcuCisgICAgICAgICog
bG9hZGVyL0VtcHR5Q2xpZW50cy5oOiBDaGFuZ2VkIHNpZ25hdHVyZSBhcyBwZXIgYmFzZSBjbGFz
cyBjaGFuZ2UuCisKIDIwMTEtMTAtMTggIFphbiBEb2JlcnNlayAgPHphbmRvYmVyc2VrQGdtYWls
LmNvbT4KIAogICAgICAgICBbR3RrXSBTdXBwb3J0IGZvciBjbGllbnQtYmFzZWQgZ2VvbG9jYXRp
b24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAppbmRleCA1ZjJiZjRmLi45YzFmNTJjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCkBAIC00OTAsNyArNDkwLDcgQEAgYm9vbCBFZGl0b3I6
OnNob3VsZFNob3dEZWxldGVJbnRlcmZhY2UoSFRNTEVsZW1lbnQqIGVsZW1lbnQpIGNvbnN0CiB2
b2lkIEVkaXRvcjo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbihjb25zdCBWaXNpYmxlU2VsZWN0
aW9uJiBvbGRTZWxlY3Rpb24pCiB7CiAgICAgaWYgKGNsaWVudCgpKQotICAgICAgICBjbGllbnQo
KS0+cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbigpOworICAgICAgICBjbGllbnQoKS0+cmVzcG9u
ZFRvQ2hhbmdlZFNlbGVjdGlvbihtX2ZyYW1lKTsKICAgICBtX2RlbGV0ZUJ1dHRvbkNvbnRyb2xs
ZXItPnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24ob2xkU2VsZWN0aW9uKTsKICAgICBtX3NwZWxs
aW5nQ29ycmVjdG9yLT5yZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKG9sZFNlbGVjdGlvbik7CiB9
CkBAIC0yNjAzLDcgKzI2MDMsNyBAQCB2b2lkIEVkaXRvcjo6Y2hhbmdlU2VsZWN0aW9uQWZ0ZXJD
b21tYW5kKGNvbnN0IFZpc2libGVTZWxlY3Rpb24mIG5ld1NlbGVjdGlvbiwgYgogICAgIC8vIGRv
ZXMgbm90IGNhbGwgRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKCksIHdo
aWNoLCBvbiB0aGUgTWFjLCBzZW5kcyBzZWxlY3Rpb24gY2hhbmdlIG5vdGlmaWNhdGlvbnMgYW5k
CiAgICAgLy8gc3RhcnRzIGEgbmV3IGtpbGwgcmluZyBzZXF1ZW5jZSwgYnV0IHdlIHdhbnQgdG8g
ZG8gdGhlc2UgdGhpbmdzIChtYXRjaGVzIEFwcEtpdCkuCiAgICAgaWYgKHNlbGVjdGlvbkRpZE5v
dENoYW5nZURPTVBvc2l0aW9uKQotICAgICAgICBjbGllbnQoKS0+cmVzcG9uZFRvQ2hhbmdlZFNl
bGVjdGlvbigpOworICAgICAgICBjbGllbnQoKS0+cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbiht
X2ZyYW1lKTsKIH0KIAogU3RyaW5nIEVkaXRvcjo6c2VsZWN0ZWRUZXh0KCkgY29uc3QKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaCBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAppbmRleCA1MzJmNDI1Li4yNTBjZjBmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCkBAIC00NTksNyArNDU5LDcgQEAgcHVibGljOgog
ICAgIC8vCiAgICAgdmlydHVhbCB2b2lkIGRpZEJlZ2luRWRpdGluZygpIHsgfQogICAgIHZpcnR1
YWwgdm9pZCByZXNwb25kVG9DaGFuZ2VkQ29udGVudHMoKSB7IH0KLSAgICB2aXJ0dWFsIHZvaWQg
cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbigpIHsgfQorICAgIHZpcnR1YWwgdm9pZCByZXNwb25k
VG9DaGFuZ2VkU2VsZWN0aW9uKEZyYW1lKikgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZEVuZEVk
aXRpbmcoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkV3JpdGVTZWxlY3Rpb25Ub1Bhc3RlYm9h
cmQoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkU2V0U2VsZWN0aW9uVHlwZXNGb3JQYXN0ZWJv
YXJkKCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0VkaXRvckNsaWVudC5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9FZGl0b3JDbGllbnQuaAppbmRleCBhMzdjOGI5Li5hZmQx
ODQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0VkaXRvckNsaWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRWRpdG9yQ2xpZW50LmgKQEAgLTk0LDcgKzk0LDcgQEAgcHVi
bGljOgogCiAgICAgdmlydHVhbCB2b2lkIGRpZEJlZ2luRWRpdGluZygpID0gMDsKICAgICB2aXJ0
dWFsIHZvaWQgcmVzcG9uZFRvQ2hhbmdlZENvbnRlbnRzKCkgPSAwOwotICAgIHZpcnR1YWwgdm9p
ZCByZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCByZXNw
b25kVG9DaGFuZ2VkU2VsZWN0aW9uKEZyYW1lKikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaWRF
bmRFZGl0aW5nKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaWRXcml0ZVNlbGVjdGlvblRvUGFz
dGVib2FyZCgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlkU2V0U2VsZWN0aW9uVHlwZXNGb3JQ
YXN0ZWJvYXJkKCkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCAxZjZiZTAyLi43
ODdlYWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEx
LTEwLTE3ICBBbnRvbmlvIEdvbWVzICA8YWdvbWVzQHJpbS5jb20+CisKKyAgICAgICAgUGFzcyBh
IEZyYW1lKiBwYXJhbWV0ZXIgaW4gRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0
aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI0
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3Jj
L0VkaXRvckNsaWVudEltcGwuY3BwOiBNYWtlIHVzZSBvZiB0aGUgbmV3bHkgYWRkZWQgRnJhbWUq
IHBhcmFtZXRlci4KKyAgICAgICAgKFdlYktpdDo6RWRpdG9yQ2xpZW50SW1wbDo6cmVzcG9uZFRv
Q2hhbmdlZFNlbGVjdGlvbik6CisgICAgICAgICogc3JjL0VkaXRvckNsaWVudEltcGwuaDogQ2hh
bmdlIHRoZSBtZXRob2Qgc2lnbmF0dXJlLCBhcyBwZXIgYmFzZSBjbGFzcyBjaGFuZ2UuCisKIDIw
MTEtMTAtMTcgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI5NzY3Ny4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL0VkaXRvckNsaWVudEltcGwuY3BwIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvRWRpdG9yQ2xpZW50SW1wbC5jcHAKaW5kZXggZWYzMDVjYy4uNDY2ODZh
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRWRpdG9yQ2xpZW50SW1w
bC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRWRpdG9yQ2xpZW50SW1wbC5j
cHAKQEAgLTI2MCwxMCArMjYwLDkgQEAgdm9pZCBFZGl0b3JDbGllbnRJbXBsOjpkaWRCZWdpbkVk
aXRpbmcoKQogICAgICAgICBtX3dlYlZpZXctPmNsaWVudCgpLT5kaWRCZWdpbkVkaXRpbmcoKTsK
IH0KIAotdm9pZCBFZGl0b3JDbGllbnRJbXBsOjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKCkK
K3ZvaWQgRWRpdG9yQ2xpZW50SW1wbDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbihGcmFtZSog
ZnJhbWUpCiB7CiAgICAgaWYgKG1fd2ViVmlldy0+Y2xpZW50KCkpIHsKLSAgICAgICAgRnJhbWUq
IGZyYW1lID0gbV93ZWJWaWV3LT5mb2N1c2VkV2ViQ29yZUZyYW1lKCk7CiAgICAgICAgIGlmIChm
cmFtZSkKICAgICAgICAgICAgIG1fd2ViVmlldy0+Y2xpZW50KCktPmRpZENoYW5nZVNlbGVjdGlv
bighZnJhbWUtPnNlbGVjdGlvbigpLT5pc1JhbmdlKCkpOwogICAgIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0VkaXRvckNsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL0VkaXRvckNsaWVudEltcGwuaAppbmRleCAyZGRlZTM2Li4zNDIzMzRl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9FZGl0b3JDbGllbnRJbXBs
LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRWRpdG9yQ2xpZW50SW1wbC5oCkBA
IC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKK2NsYXNzIEZyYW1lOwogY2xhc3MgSFRNTElucHV0RWxlbWVudDsKIGNsYXNzIFNwZWxs
Q2hlY2tlcjsKIH0KQEAgLTcyLDcgKzczLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBz
aG91bGRNb3ZlUmFuZ2VBZnRlckRlbGV0ZShXZWJDb3JlOjpSYW5nZSosIFdlYkNvcmU6OlJhbmdl
Kik7CiAgICAgdmlydHVhbCB2b2lkIGRpZEJlZ2luRWRpdGluZygpOwogICAgIHZpcnR1YWwgdm9p
ZCByZXNwb25kVG9DaGFuZ2VkQ29udGVudHMoKTsKLSAgICB2aXJ0dWFsIHZvaWQgcmVzcG9uZFRv
Q2hhbmdlZFNlbGVjdGlvbigpOworICAgIHZpcnR1YWwgdm9pZCByZXNwb25kVG9DaGFuZ2VkU2Vs
ZWN0aW9uKFdlYkNvcmU6OkZyYW1lKik7CiAgICAgdmlydHVhbCB2b2lkIGRpZEVuZEVkaXRpbmco
KTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkV3JpdGVTZWxlY3Rpb25Ub1Bhc3RlYm9hcmQoKTsKICAg
ICB2aXJ0dWFsIHZvaWQgZGlkU2V0U2VsZWN0aW9uVHlwZXNGb3JQYXN0ZWJvYXJkKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9D
aGFuZ2VMb2cKaW5kZXggNTQwYzAxMi4uNGJlYzA3NiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYktp
dC9lZmwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE0IEBACisyMDExLTEwLTE3ICBBbnRvbmlvIEdvbWVzICA8YWdvbWVzQHJpbS5jb20+CisK
KyAgICAgICAgUGFzcyBhIEZyYW1lKiBwYXJhbWV0ZXIgaW4gRWRpdG9yQ2xpZW50OjpyZXNwb25k
VG9DaGFuZ2VkU2VsZWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03MDI0OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmNwcDogTWFrZSB1c2Ug
b2YgdGhlIG5ld2x5IGFkZGVkIEZyYW1lKiBwYXJhbWV0ZXIuCisgICAgICAgIChXZWJDb3JlOjpF
ZGl0b3JDbGllbnRFZmw6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24pOgorICAgICAgICAqIFdl
YkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEVmbC5oOgorCiAyMDExLTEwLTE3ICBSYXBoYWVsIEt1
Ym8gZGEgQ29zdGEgIDxrdWJvQHByb2Z1c2lvbi5tb2JpPgogCiAgICAgICAgIFtFRkxdIEV4cG9z
ZSB0aGUga2l0KCkgZnJhbWUgZnVuY3Rpb24gdG8gdGhlIHJlc3Qgb2YgZXdrLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmNwcCBi
L1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEVmbC5jcHAKaW5k
ZXggZmRmMDY5ZS4uNDk5M2I4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29y
ZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJD
b3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuY3BwCkBAIC0xMzMsMjUgKzEzMywxNiBAQCB2b2lk
IEVkaXRvckNsaWVudEVmbDo6cmVzcG9uZFRvQ2hhbmdlZENvbnRlbnRzKCkKICAgICBld2tfZnJh
bWVfZWRpdG9yX2NsaWVudF9jb250ZW50c19jaGFuZ2VkKGZyYW1lKTsKIH0KIAotdm9pZCBFZGl0
b3JDbGllbnRFZmw6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oKQordm9pZCBFZGl0b3JDbGll
bnRFZmw6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oRnJhbWUqIGNvcmVGcmFtZSkKIHsKLSAg
ICBFdmFzX09iamVjdCogZnJhbWUgPSBld2tfdmlld19mcmFtZV9mb2N1c2VkX2dldChtX3ZpZXcp
OwotCi0gICAgaWYgKCFmcmFtZSkKLSAgICAgICAgZnJhbWUgPSBld2tfdmlld19mcmFtZV9tYWlu
X2dldChtX3ZpZXcpOwotCi0gICAgaWYgKCFmcmFtZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAg
V2ViQ29yZTo6RnJhbWUqIGNvcmVGcmFtZSA9IEVXS1ByaXZhdGU6OmNvcmVGcmFtZShmcmFtZSk7
Ci0KICAgICBpZiAoIWNvcmVGcmFtZSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKGNvcmVG
cmFtZS0+ZWRpdG9yKCkgJiYgY29yZUZyYW1lLT5lZGl0b3IoKS0+aWdub3JlQ29tcG9zaXRpb25T
ZWxlY3Rpb25DaGFuZ2UoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgZXdrX2ZyYW1lX2VkaXRv
cl9jbGllbnRfc2VsZWN0aW9uX2NoYW5nZWQoZnJhbWUpOworICAgIEV2YXNfT2JqZWN0KiB3ZWJG
cmFtZSA9IEVXS1ByaXZhdGU6OmtpdEZyYW1lKGNvcmVGcmFtZSk7CisgICAgZXdrX2ZyYW1lX2Vk
aXRvcl9jbGllbnRfc2VsZWN0aW9uX2NoYW5nZWQod2ViRnJhbWUpOwogfQogCiB2b2lkIEVkaXRv
ckNsaWVudEVmbDo6ZGlkRW5kRWRpdGluZygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dl
YkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEVmbC5oCmluZGV4IDUzYmEzOTIuLjNiMTA4NTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEVm
bC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEVm
bC5oCkBAIC03OSw3ICs3OSw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBkaWRCZWdp
bkVkaXRpbmcoKTsKICAgICB2aXJ0dWFsIHZvaWQgcmVzcG9uZFRvQ2hhbmdlZENvbnRlbnRzKCk7
Ci0gICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oKTsKKyAgICB2aXJ0
dWFsIHZvaWQgcmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbihGcmFtZSopOwogICAgIHZpcnR1YWwg
dm9pZCBkaWRFbmRFZGl0aW5nKCk7CiAgICAgdmlydHVhbCB2b2lkIGRpZFdyaXRlU2VsZWN0aW9u
VG9QYXN0ZWJvYXJkKCk7CiAgICAgdmlydHVhbCB2b2lkIGRpZFNldFNlbGVjdGlvblR5cGVzRm9y
UGFzdGVib2FyZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4IDgwNjYxZGQuLmMzYWI0MjEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2d0
ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMS0xMC0xNyAgQW50b25pbyBHb21lcyAg
PGFnb21lc0ByaW0uY29tPgorCisgICAgICAgIFBhc3MgYSBGcmFtZSogcGFyYW1ldGVyIGluIEVk
aXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNDgKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVu
dEd0ay5jcHA6IE1ha2UgdXNlIG9mIHRoZSBuZXdseSBhZGRlZCBGcmFtZSogcGFyYW1ldGVyLgor
ICAgICAgICAoV2ViS2l0OjpFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24p
OgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5oOgorCiAyMDExLTEw
LTE4ICBaYW4gRG9iZXJzZWsgIDx6YW5kb2JlcnNla0BnbWFpbC5jb20+CiAKICAgICAgICAgW0d0
a10gU3VwcG9ydCBmb3IgY2xpZW50LWJhc2VkIGdlb2xvY2F0aW9uCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuY3BwIGIvU291cmNl
L1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmNwcAppbmRleCBiMTU3
MjI4Li5iMGYyNDJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9y
dC9FZGl0b3JDbGllbnRHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBw
b3J0L0VkaXRvckNsaWVudEd0ay5jcHAKQEAgLTMwMiwzMyArMzAyLDMxIEBAIHN0YXRpYyB2b2lk
IHNldFNlbGVjdGlvblByaW1hcnlDbGlwYm9hcmRJZk5lZWRlZChXZWJLaXRXZWJWaWV3KiB3ZWJW
aWV3KQogfQogI2VuZGlmCiAKLXZvaWQgRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2Vs
ZWN0aW9uKCkKK3ZvaWQgRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKEZy
YW1lKiBmcmFtZSkKIHsKICAgICBnX3NpZ25hbF9lbWl0X2J5X25hbWUobV93ZWJWaWV3LCAic2Vs
ZWN0aW9uLWNoYW5nZWQiKTsKIAotICAgIFdlYktpdFdlYlZpZXdQcml2YXRlKiBwcml2ID0gbV93
ZWJWaWV3LT5wcml2OwotICAgIFdlYkNvcmU6OlBhZ2UqIGNvcmVQYWdlID0gY29yZShtX3dlYlZp
ZXcpOwotICAgIEZyYW1lKiB0YXJnZXRGcmFtZSA9IGNvcmVQYWdlLT5mb2N1c0NvbnRyb2xsZXIo
KS0+Zm9jdXNlZE9yTWFpbkZyYW1lKCk7Ci0KLSAgICBpZiAoIXRhcmdldEZyYW1lKQorICAgIGlm
ICghZnJhbWUpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmICh0YXJnZXRGcmFtZS0+ZWRpdG9y
KCktPmlnbm9yZUNvbXBvc2l0aW9uU2VsZWN0aW9uQ2hhbmdlKCkpCisgICAgaWYgKGZyYW1lLT5l
ZGl0b3IoKS0+aWdub3JlQ29tcG9zaXRpb25TZWxlY3Rpb25DaGFuZ2UoKSkKICAgICAgICAgcmV0
dXJuOwogCiAjaWYgUExBVEZPUk0oWDExKQogICAgIHNldFNlbGVjdGlvblByaW1hcnlDbGlwYm9h
cmRJZk5lZWRlZChtX3dlYlZpZXcpOwogI2VuZGlmCiAKLSAgICBpZiAoIXRhcmdldEZyYW1lLT5l
ZGl0b3IoKS0+aGFzQ29tcG9zaXRpb24oKSkKKyAgICBpZiAoIWZyYW1lLT5lZGl0b3IoKS0+aGFz
Q29tcG9zaXRpb24oKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgdW5zaWduZWQgc3RhcnQ7CiAg
ICAgdW5zaWduZWQgZW5kOwotICAgIGlmICghdGFyZ2V0RnJhbWUtPmVkaXRvcigpLT5nZXRDb21w
b3NpdGlvblNlbGVjdGlvbihzdGFydCwgZW5kKSkgeworICAgIFdlYktpdFdlYlZpZXdQcml2YXRl
KiBwcml2ID0gbV93ZWJWaWV3LT5wcml2OworCisgICAgaWYgKCFmcmFtZS0+ZWRpdG9yKCktPmdl
dENvbXBvc2l0aW9uU2VsZWN0aW9uKHN0YXJ0LCBlbmQpKSB7CiAgICAgICAgIC8vIGd0a19pbV9j
b250ZXh0X3Jlc2V0KCkgY2xlYXJzIHRoZSBjb21wb3NpdGlvbiBmb3IgdXMuCiAgICAgICAgIGd0
a19pbV9jb250ZXh0X3Jlc2V0KHByaXYtPmltQ29udGV4dC5nZXQoKSk7Ci0gICAgICAgIHRhcmdl
dEZyYW1lLT5lZGl0b3IoKS0+Y2FuY2VsQ29tcG9zaXRpb24oKTsKKyAgICAgICAgZnJhbWUtPmVk
aXRvcigpLT5jYW5jZWxDb21wb3NpdGlvbigpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmggYi9Tb3VyY2Uv
V2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuaAppbmRleCBhMGZhZGQ4
Li42OTg2YTZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9F
ZGl0b3JDbGllbnRHdGsuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9F
ZGl0b3JDbGllbnRHdGsuaApAQCAtMTAwLDcgKzEwMCw3IEBAIGNsYXNzIEVkaXRvckNsaWVudCA6
IHB1YmxpYyBXZWJDb3JlOjpFZGl0b3JDbGllbnQgewogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBk
aWRCZWdpbkVkaXRpbmcoKTsKICAgICAgICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5nZWRD
b250ZW50cygpOwotICAgICAgICB2aXJ0dWFsIHZvaWQgcmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlv
bigpOworICAgICAgICB2aXJ0dWFsIHZvaWQgcmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbihXZWJD
b3JlOjpGcmFtZSopOwogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkRW5kRWRpdGluZygpOwogICAg
ICAgICB2aXJ0dWFsIHZvaWQgZGlkV3JpdGVTZWxlY3Rpb25Ub1Bhc3RlYm9hcmQoKTsKICAgICAg
ICAgdmlydHVhbCB2b2lkIGRpZFNldFNlbGVjdGlvblR5cGVzRm9yUGFzdGVib2FyZCgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMv
Q2hhbmdlTG9nCmluZGV4IGIzMTFlNzIuLjlmMDJlZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNCBAQAorMjAxMS0xMC0xNyAgQW50b25pbyBHb21lcyAgPGFnb21lc0ByaW0uY29tPgor
CisgICAgICAgIFBhc3MgYSBGcmFtZSogcGFyYW1ldGVyIGluIEVkaXRvckNsaWVudDo6cmVzcG9u
ZFRvQ2hhbmdlZFNlbGVjdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NzAyNDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5oOgorICAgICAgICAq
IFdlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5tbTogTWFrZSB1c2Ugb2YgdGhlIG5ld2x5
IGFkZGVkIEZyYW1lKiBwYXJhbWV0ZXIuCisgICAgICAgIChXZWJFZGl0b3JDbGllbnQ6OnJlc3Bv
bmRUb0NoYW5nZWRTZWxlY3Rpb24pOgorCiAyMDExLTEwLTE0ICBDaHJpcyBNYXJyaW4gIDxjbWFy
cmluQGFwcGxlLmNvbT4KIAogICAgICAgICBUaHJvdHRsZSByYXRlIG9mIHJlcXVlc3RBbmltYXRp
b25GcmFtZSB3aGVuIHBhZ2UgaXMgbm90IHZpc2libGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5oIGIvU291cmNlL1dlYktpdC9t
YWMvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmgKaW5kZXggNmEyNzQwMC4uYWFjY2Jh
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9y
Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9y
Q2xpZW50LmgKQEAgLTk4LDcgKzk4LDcgQEAgcHVibGljOgogICAgIFRleHRDaGVja2VyQ2xpZW50
KiB0ZXh0Q2hlY2tlcigpIE9WRVJSSURFIHsgcmV0dXJuIHRoaXM7IH0KIAogICAgIHZpcnR1YWwg
dm9pZCByZXNwb25kVG9DaGFuZ2VkQ29udGVudHMoKSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIHZv
aWQgcmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbigpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9p
ZCByZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKFdlYkNvcmU6OkZyYW1lKikgT1ZFUlJJREU7CiAK
ICAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJDb21tYW5kRm9yVW5kbyhQYXNzUmVmUHRyPFdlYkNv
cmU6OkVkaXRDb21tYW5kPikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyQ29t
bWFuZEZvclJlZG8oUGFzc1JlZlB0cjxXZWJDb3JlOjpFZGl0Q29tbWFuZD4pIE9WRVJSSURFOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xp
ZW50Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50
Lm1tCmluZGV4IGQxOTM4NDEuLjc3YzRiMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQubW0KQEAgLTI5MCw5ICsyOTAsOSBAQCB2
b2lkIFdlYkVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZENvbnRlbnRzKCkKICAgICBbW05T
Tm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHBvc3ROb3RpZmljYXRpb25OYW1lOldl
YlZpZXdEaWRDaGFuZ2VOb3RpZmljYXRpb24gb2JqZWN0Om1fd2ViVmlld107ICAgIAogfQogCi12
b2lkIFdlYkVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbigpCit2b2lkIFdl
YkVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbihGcmFtZSogZnJhbWUpCiB7
Ci0gICAgTlNWaWV3PFdlYkRvY3VtZW50Vmlldz4gKmRvY3VtZW50VmlldyA9IFtbW21fd2ViVmll
dyBfc2VsZWN0ZWRPck1haW5GcmFtZV0gZnJhbWVWaWV3XSBkb2N1bWVudFZpZXddOworICAgIE5T
VmlldzxXZWJEb2N1bWVudFZpZXc+ICpkb2N1bWVudFZpZXcgPSBbW2ZyYW1lIGZyYW1lVmlld10g
ZG9jdW1lbnRWaWV3XTsKICAgICBpZiAoW2RvY3VtZW50VmlldyBpc0tpbmRPZkNsYXNzOltXZWJI
VE1MVmlldyBjbGFzc11dKQogICAgICAgICBbKFdlYkhUTUxWaWV3ICopZG9jdW1lbnRWaWV3IF9z
ZWxlY3Rpb25DaGFuZ2VkXTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCBkMjVjYjA0Li4zZmI1N2JlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDExLTEwLTE3ICBBbnRvbmlvIEdvbWVz
ICA8YWdvbWVzQHJpbS5jb20+CisKKyAgICAgICAgUGFzcyBhIEZyYW1lKiBwYXJhbWV0ZXIgaW4g
RWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI0OAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xp
ZW50UXQuY3BwOiBNYWtlIHVzZSBvZiB0aGUgbmV3bHkgYWRkZWQgRnJhbWUqIHBhcmFtZXRlci4K
KyAgICAgICAgKFdlYkNvcmU6OkVkaXRvckNsaWVudFF0OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0
aW9uKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRRdC5oOgorCiAyMDEx
LTEwLTE1ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVuYW1l
IEVOQUJMRShUSUxFRF9CQUNLSU5HX1NUT1JFKSB0byBVU0UoVElMRURfQkFDS0lOR19TVE9SRSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50
UXQuY3BwIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRRdC5j
cHAKaW5kZXggZjM4N2VhOS4uZjk1OGU4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9X
ZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRRdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC9X
ZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRRdC5jcHAKQEAgLTIwMSw3ICsyMDEsNyBAQCB2b2lk
IEVkaXRvckNsaWVudFF0OjpyZXNwb25kVG9DaGFuZ2VkQ29udGVudHMoKQogICAgIGVtaXQgbV9w
YWdlLT5jb250ZW50c0NoYW5nZWQoKTsKIH0KIAotdm9pZCBFZGl0b3JDbGllbnRRdDo6cmVzcG9u
ZFRvQ2hhbmdlZFNlbGVjdGlvbigpCit2b2lkIEVkaXRvckNsaWVudFF0OjpyZXNwb25kVG9DaGFu
Z2VkU2VsZWN0aW9uKEZyYW1lKiBmcmFtZSkKIHsKICAgICBpZiAoZHVtcEVkaXRpbmdDYWxsYmFj
a3MpCiAgICAgICAgIHByaW50ZigiRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNl
bGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uXG4iKTsKQEAgLTIx
Miw3ICsyMTIsNiBAQCB2b2lkIEVkaXRvckNsaWVudFF0OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0
aW9uKCkKIAogICAgIG1fcGFnZS0+ZC0+dXBkYXRlRWRpdG9yQWN0aW9ucygpOwogICAgIGVtaXQg
bV9wYWdlLT5zZWxlY3Rpb25DaGFuZ2VkKCk7Ci0gICAgRnJhbWUqIGZyYW1lID0gbV9wYWdlLT5k
LT5wYWdlLT5mb2N1c0NvbnRyb2xsZXIoKS0+Zm9jdXNlZE9yTWFpbkZyYW1lKCk7CiAgICAgaWYg
KCFmcmFtZS0+ZWRpdG9yKCktPmlnbm9yZUNvbXBvc2l0aW9uU2VsZWN0aW9uQ2hhbmdlKCkpCiAg
ICAgICAgIGVtaXQgbV9wYWdlLT5taWNyb0ZvY3VzQ2hhbmdlZCgpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRRdC5oIGIvU291cmNl
L1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRRdC5oCmluZGV4IGQ5NjU4YmIu
LjZlNmEwYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRWRp
dG9yQ2xpZW50UXQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0VkaXRv
ckNsaWVudFF0LmgKQEAgLTY5LDcgKzY5LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lk
IGRpZEJlZ2luRWRpdGluZygpOwogICAgIHZpcnR1YWwgdm9pZCByZXNwb25kVG9DaGFuZ2VkQ29u
dGVudHMoKTsKLSAgICB2aXJ0dWFsIHZvaWQgcmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbigpOwor
ICAgIHZpcnR1YWwgdm9pZCByZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKEZyYW1lKik7CiAgICAg
dmlydHVhbCB2b2lkIGRpZEVuZEVkaXRpbmcoKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkV3JpdGVT
ZWxlY3Rpb25Ub1Bhc3RlYm9hcmQoKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkU2V0U2VsZWN0aW9u
VHlwZXNGb3JQYXN0ZWJvYXJkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggOTcxMjJmYy4uMWE1OGIx
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDExLTEwLTE3ICBBbnRvbmlv
IEdvbWVzICA8YWdvbWVzQHJpbS5jb20+CisKKyAgICAgICAgUGFzcyBhIEZyYW1lKiBwYXJhbWV0
ZXIgaW4gRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI0OAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2Vi
RWRpdG9yQ2xpZW50LmNwcDogTWFrZSB1c2Ugb2YgdGhlIG5ld2x5IGFkZGVkIEZyYW1lKiBwYXJh
bWV0ZXIuCisgICAgICAgIChXZWJFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rp
b24pOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5oOgorCiAyMDEx
LTEwLTE0ICBKdWxpZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFJlbW92ZSBsYXllclggLyBsYXllclkgZnJvbSB0aGUgV2luZG93cyBBUEkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuY3BwCmlu
ZGV4IGMwMTViMjMuLmU1MGM2ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNv
cmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2Vi
Q29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmNwcApAQCAtMjA4LDcgKzIwOCw3IEBAIHZvaWQg
V2ViRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkQ29udGVudHMoKQogICAgIG5vdEltcGxl
bWVudGVkKCk7CiB9CiAKLXZvaWQgV2ViRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2Vs
ZWN0aW9uKCkKK3ZvaWQgV2ViRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9u
KEZyYW1lKikKIHsKICAgICBtX3dlYlZpZXctPnNlbGVjdGlvbkNoYW5nZWQoKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50Lmgg
Yi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuaAppbmRl
eCAxZGI0YzY4Li4yOGRlOWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3Jl
U3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3Jl
U3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuaApAQCAtNTgsNyArNTgsNyBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCB2b2lkIGRpZFNldFNlbGVjdGlvblR5cGVzRm9yUGFzdGVib2FyZCgpOwogCiAgICAg
dmlydHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5nZWRDb250ZW50cygpOwotICAgIHZpcnR1YWwgdm9p
ZCByZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKCk7CisgICAgdmlydHVhbCB2b2lkIHJlc3BvbmRU
b0NoYW5nZWRTZWxlY3Rpb24oV2ViQ29yZTo6RnJhbWUqKTsKIAogICAgIGJvb2wgc2hvdWxkU2hv
d0RlbGV0ZUludGVyZmFjZShXZWJDb3JlOjpIVE1MRWxlbWVudCopOwogICAgIGJvb2wgc2hvdWxk
RGVsZXRlUmFuZ2UoV2ViQ29yZTo6UmFuZ2UqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
d3gvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93eC9DaGFuZ2VMb2cKaW5kZXggYzYzNjAwMS4u
YmQxNWY3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93eC9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC93eC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMS0xMC0xNyAgQW50
b25pbyBHb21lcyAgPGFnb21lc0ByaW0uY29tPgorCisgICAgICAgIFBhc3MgYSBGcmFtZSogcGFy
YW1ldGVyIGluIEVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNDgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYktpdFN1cHBvcnQv
RWRpdG9yQ2xpZW50V3guY3BwOiBNYWtlIHVzZSBvZiB0aGUgbmV3bHkgYWRkZWQgRnJhbWUqIHBh
cmFtZXRlci4KKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvckNsaWVudFd4OjpyZXNwb25kVG9DaGFu
Z2VkU2VsZWN0aW9uKToKKyAgICAgICAgKiBXZWJLaXRTdXBwb3J0L0VkaXRvckNsaWVudFd4Lmg6
CisKIDIwMTEtMDktMjQgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBBbHdheXMgZW5hYmxlIEVOQUJMRShPRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvRWRpdG9yQ2xpZW50V3guY3BwIGIv
U291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0VkaXRvckNsaWVudFd4LmNwcAppbmRleCA1
ODEyZGZlLi43YTE3YWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBv
cnQvRWRpdG9yQ2xpZW50V3guY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9y
dC9FZGl0b3JDbGllbnRXeC5jcHAKQEAgLTQ4Nyw5ICs0ODcsOCBAQCB2b2lkIEVkaXRvckNsaWVu
dFd4Ojp0ZXh0RGlkQ2hhbmdlSW5UZXh0QXJlYShFbGVtZW50KikKICAgICBub3RJbXBsZW1lbnRl
ZCgpOwogfQogCi12b2lkIEVkaXRvckNsaWVudFd4OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9u
KCkKK3ZvaWQgRWRpdG9yQ2xpZW50V3g6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oRnJhbWUq
IGZyYW1lKQogewotICAgIEZyYW1lKiBmcmFtZSA9IG1fcGFnZS0+Zm9jdXNDb250cm9sbGVyKCkt
PmZvY3VzZWRPck1haW5GcmFtZSgpOwogICAgIGlmIChmcmFtZSkgewogICAgICAgICB3eFdlYlZp
ZXcqIHdlYktpdFdpbiA9IGR5bmFtaWNfY2FzdDx3eFdlYlZpZXcqPihmcmFtZS0+dmlldygpLT5o
b3N0V2luZG93KCktPnBsYXRmb3JtUGFnZUNsaWVudCgpKTsKICAgICAgICAgaWYgKHdlYktpdFdp
bikgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0VkaXRvckNs
aWVudFd4LmggYi9Tb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvRWRpdG9yQ2xpZW50V3gu
aAppbmRleCA3MzcwZjBhLi4zMThmNTRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3d4L1dl
YktpdFN1cHBvcnQvRWRpdG9yQ2xpZW50V3guaAorKysgYi9Tb3VyY2UvV2ViS2l0L3d4L1dlYktp
dFN1cHBvcnQvRWRpdG9yQ2xpZW50V3guaApAQCAtNzIsNyArNzIsNyBAQCBwdWJsaWM6CiAKICAg
ICB2aXJ0dWFsIHZvaWQgZGlkQmVnaW5FZGl0aW5nKCk7CiAgICAgdmlydHVhbCB2b2lkIHJlc3Bv
bmRUb0NoYW5nZWRDb250ZW50cygpOwotICAgIHZpcnR1YWwgdm9pZCByZXNwb25kVG9DaGFuZ2Vk
U2VsZWN0aW9uKCk7CisgICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24o
RnJhbWUqKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkRW5kRWRpdGluZygpOwogICAgIHZpcnR1YWwg
dm9pZCBkaWRXcml0ZVNlbGVjdGlvblRvUGFzdGVib2FyZCgpOwogICAgIHZpcnR1YWwgdm9pZCBk
aWRTZXRTZWxlY3Rpb25UeXBlc0ZvclBhc3RlYm9hcmQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA5NzQ2MTli
Li5hOTk0N2I4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMTAtMTcgIEFudG9u
aW8gR29tZXMgIDxhZ29tZXNAcmltLmNvbT4KKworICAgICAgICBQYXNzIGEgRnJhbWUqIHBhcmFt
ZXRlciBpbiBFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjQ4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5jcHA6IE1ha2UgdXNlIG9mIHRoZSBuZXdseSBhZGRl
ZCBGcmFtZSogcGFyYW1ldGVyLgorICAgICAgICAoV2ViS2l0OjpXZWJFZGl0b3JDbGllbnQ6OnJl
c3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViRWRpdG9yQ2xpZW50Lmg6CisKIDIwMTEtMTAtMTggIENhaW8gTWFyY2VsbyBkZSBP
bGl2ZWlyYSBGaWxobyAgPGNhaW8ub2xpdmVpcmFAb3BlbmJvc3NhLm9yZz4KIAogICAgICAgICBb
UXRdIFNlbmQgbW91c2UgbW92ZSBldmVudHMgd2hlbiB3ZSBoYW5kbGUgSG92ZXJFbnRlci9MZWF2
ZSBpbiBRRGVza3RvcFdlYlZpZXcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmNwcAppbmRleCBlOWMxMjYw
Li44NjE4YTM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkVkaXRvckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuY3BwCkBAIC0xNzQsMTEgKzE3NCwxMCBA
QCB2b2lkIFdlYkVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZENvbnRlbnRzKCkKICAgICBu
b3RJbXBsZW1lbnRlZCgpOwogfQogCi12b2lkIFdlYkVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hh
bmdlZFNlbGVjdGlvbigpCit2b2lkIFdlYkVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZFNl
bGVjdGlvbihGcmFtZSogZnJhbWUpCiB7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHJpbmcs
IFdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24sICgiV2ViVmlld0RpZENoYW5n
ZVNlbGVjdGlvbk5vdGlmaWNhdGlvbiIpKTsKICAgICBtX3BhZ2UtPmluamVjdGVkQnVuZGxlRWRp
dG9yQ2xpZW50KCkuZGlkQ2hhbmdlU2VsZWN0aW9uKG1fcGFnZSwgV2ViVmlld0RpZENoYW5nZVNl
bGVjdGlvbk5vdGlmaWNhdGlvbi5pbXBsKCkpOwotICAgIEZyYW1lKiBmcmFtZSA9IG1fcGFnZS0+
Y29yZVBhZ2UoKS0+Zm9jdXNDb250cm9sbGVyKCktPmZvY3VzZWRGcmFtZSgpOwogICAgIGlmICgh
ZnJhbWUpCiAgICAgICAgIHJldHVybjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmgKaW5kZXggNWU3MzYz
Mi4uZTJiZWY5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5oCkBAIC02NCw3ICs2NCw3IEBAIHByaXZh
dGU6CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlkQmVnaW5FZGl0aW5nKCkgT1ZFUlJJREU7CiAgICAg
dmlydHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5nZWRDb250ZW50cygpIE9WRVJSSURFOwotICAgIHZp
cnR1YWwgdm9pZCByZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKCkgT1ZFUlJJREU7CisgICAgdmly
dHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oV2ViQ29yZTo6RnJhbWUqKSBPVkVS
UklERTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkRW5kRWRpdGluZygpIE9WRVJSSURFOwogICAgIHZp
cnR1YWwgdm9pZCBkaWRXcml0ZVNlbGVjdGlvblRvUGFzdGVib2FyZCgpIE9WRVJSSURFOwogICAg
IHZpcnR1YWwgdm9pZCBkaWRTZXRTZWxlY3Rpb25UeXBlc0ZvclBhc3RlYm9hcmQoKSBPVkVSUklE
RTsKLS0gCjEuNy4xCgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111610</attachid>
            <date>2011-10-19 07:05:03 -0700</date>
            <delta_ts>2011-11-20 19:35:07 -0800</delta_ts>
            <desc>(landed as r100874) - patch 1.7 - for EWS (r=rniwa)- do not review</desc>
            <filename>0001-2011-10-17-Antonio-Gomes-agomes-rim.com.patch</filename>
            <type>text/plain</type>
            <size>27778</size>
            <attacher name="Antonio Gomes">tonikitoo</attacher>
            
              <data encoding="base64">RnJvbSAzOTdiNmYyNWYwOTMwNTllYzg4Njc1ZjQ3YTkzNjc1YTE4NzY5ZDFlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRvbmlvIEdvbWVzIDxhZ29tZXNAcmltLmNvbT4KRGF0ZTog
TW9uLCAxNyBPY3QgMjAxMSAxMzo1MjoyNCAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIDIwMTEtMTAt
MTcgIEFudG9uaW8gR29tZXMgIDxhZ29tZXNAcmltLmNvbT4KCiAgICAgICAgUGFzcyBhIEZyYW1l
KiBwYXJhbWV0ZXIgaW4gRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uCiAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjQ4CgogICAg
ICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KCiAgICAgICAgTW9zdCBvZiB0aGUgcG9ydCBz
cGVjaWZpYyBpbXBsZW1lbnRhdGlvbnMgb2YgRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2Vk
U2VsZWN0aW9uCiAgICAgICAgKGxpa2UgRWRpdG9yQ2xpZW50e1F0LEd0ayxldGN9KSBhcmUgd3Jv
bmdseSByZWx5aW5nIG9uIEZvY3VzQ29udHJvbGxlcjo6Zm9jdXNlZE9yTWFpbkZyYW1lCiAgICAg
ICAgbWV0aG9kIHRvIGdldCB0aGUgRnJhbWUgd2hlcmUgdGhlIHNlbGVjdGlvbiBpcyBoYXBwZW5p
bmcgb24uCgogICAgICAgIEl0IGlzIG5vdCByaWdodCwgc2luY2UgYSBzZWxlY3Rpb24gY2FuIGJl
IGVhc2lseSB0cmlnZ2VyZWQgaW4gYW4gaW5uZXIKICAgICAgICBmcmFtZSB0aGF0IGlzIG5vdCBm
b2N1c2VkLgoKICAgICAgICBObyBuZXcgdGVzdHMgc2luY2UgaXQgaXMgYSBoYXJkIHRoaW5nIHRv
IHRlc3Qgd2l0aG91dAogICAgICAgIHRvIGhvb2sgaW50byBlZGl0b3IgY2xpZW50IGluIGxheW91
dCB0ZXN0cy4gV2UgY291bGQKICAgICAgICBjaGFuZ2UgdGhlICJEdW1wZWQgRGVsZWdhdGUiIG1l
c3NhZ2VzLCBidXQgaXQgd291bGQKICAgICAgICByZXF1aXJlIGEgcmViYXNpbGUgb2YgKzEyMDAg
Zm9yIGEgbWlub3IgY2hhbmdlLgoKICAgICAgICBObyBuZXcgdGVzdHMgc2luY2UgaXQgaXMgYSBo
YXJkIHRoaW5nIHRvIHRlc3Qgd2l0aG91dAogICAgICAgIHRvIGhvb2sgaW50byBlZGl0b3IgY2xp
ZW50IGluIGxheW91dCB0ZXN0cy4gV2UgY291bGQKICAgICAgICBjaGFuZ2UgdGhlICJEdW1wZWQg
RGVsZWdhdGUiIG1lc3NhZ2VzLCBidXQgaXQgd291bGQKICAgICAgICByZXF1aXJlIGEgcmViYXNp
bGUgb2YgKzEyMDAgZm9yIGEgbWlub3IgY2hhbmdlLgoKICAgICAgICBTb3VyY2UvV2ViQ29yZToK
ICAgICAgICAqIGVkaXRpbmcvRWRpdG9yLmNwcDogUGFzcyB0aGUgRnJhbWUgb24gd2hlcmUgdGhl
IHNlbGVjdGlvbiBpcyBjaGFuZ2luZyB0byB0aGUgY2xpZW50LgogICAgICAgIChXZWJDb3JlOjpF
ZGl0b3I6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24pOiBEaXR0by4KICAgICAgICAoV2ViQ29y
ZTo6RWRpdG9yOjpjaGFuZ2VTZWxlY3Rpb25BZnRlckNvbW1hbmQpOiBEaXR0by4KICAgICAgICAo
V2ViQ29yZTo6RW1wdHlFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24pOgog
ICAgICAgICogcGFnZS9FZGl0b3JDbGllbnQuaDogIFBhc3MgRnJhbWUqIHRvIGluZGljYXRlIHdo
ZXJlIHRoZSBzZWxlY3Rpb24gaXMgaGFwcGVuaW5nLgogICAgICAgICogbG9hZGVyL0VtcHR5Q2xp
ZW50cy5oOiBDaGFuZ2VkIHNpZ25hdHVyZSBhcyBwZXIgYmFzZSBjbGFzcyBjaGFuZ2UuCgogICAg
ICAgIFNvdXJjZS9XZWJLaXQvY2hyb21pdW06CiAgICAgICAgKiBzcmMvRWRpdG9yQ2xpZW50SW1w
bC5jcHA6IE1ha2UgdXNlIG9mIHRoZSBuZXdseSBhZGRlZCBGcmFtZSogcGFyYW1ldGVyLgogICAg
ICAgIChXZWJLaXQ6OkVkaXRvckNsaWVudEltcGw6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24p
OgogICAgICAgICogc3JjL0VkaXRvckNsaWVudEltcGwuaDoKCiAgICAgICAgU291cmNlL1dlYktp
dC9lZmw6CiAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuY3BwOiBNYWtl
IHVzZSBvZiB0aGUgbmV3bHkgYWRkZWQgRnJhbWUqIHBhcmFtZXRlci4KICAgICAgICAoV2ViQ29y
ZTo6RWRpdG9yQ2xpZW50RWZsOjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKToKICAgICAgICAq
IFdlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEVmbC5oOgoKICAgICAgICBTb3VyY2UvV2ViS2l0
L2d0azoKICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5jcHA6IE1ha2Ug
dXNlIG9mIHRoZSBuZXdseSBhZGRlZCBGcmFtZSogcGFyYW1ldGVyLgogICAgICAgIChXZWJLaXQ6
OkVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbik6CiAgICAgICAgKiBXZWJD
b3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuaDoKCiAgICAgICAgU291cmNlL1dlYktpdC9tYWM6
CiAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuaDogTWFrZSB1c2Ugb2Yg
dGhlIG5ld2x5IGFkZGVkIEZyYW1lKiBwYXJhbWV0ZXIuCiAgICAgICAgKiBXZWJDb3JlU3VwcG9y
dC9XZWJFZGl0b3JDbGllbnQubW06CiAgICAgICAgKFdlYkVkaXRvckNsaWVudDo6cmVzcG9uZFRv
Q2hhbmdlZFNlbGVjdGlvbik6CgogICAgICAgIFNvdXJjZS9XZWJLaXQvcXQ6CiAgICAgICAgKiBX
ZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRRdC5jcHA6IE1ha2UgdXNlIG9mIHRoZSBuZXdseSBh
ZGRlZCBGcmFtZSogcGFyYW1ldGVyLgogICAgICAgIChXZWJDb3JlOjpFZGl0b3JDbGllbnRRdDo6
cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbik6CiAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9FZGl0
b3JDbGllbnRRdC5oOgoKICAgICAgICBTb3VyY2UvV2ViS2l0L3dpbjoKICAgICAgICAqIFdlYkNv
cmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5jcHA6IE1ha2UgdXNlIG9mIHRoZSBuZXdseSBhZGRl
ZCBGcmFtZSogcGFyYW1ldGVyLgogICAgICAgIChXZWJFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0No
YW5nZWRTZWxlY3Rpb24pOgogICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50
Lmg6CgogICAgICAgIFNvdXJjZS9XZWJLaXQvd3g6CiAgICAgICAgKiBXZWJLaXRTdXBwb3J0L0Vk
aXRvckNsaWVudFd4LmNwcDogTWFrZSB1c2Ugb2YgdGhlIG5ld2x5IGFkZGVkIEZyYW1lKiBwYXJh
bWV0ZXIuCiAgICAgICAgKFdlYkNvcmU6OkVkaXRvckNsaWVudFd4OjpyZXNwb25kVG9DaGFuZ2Vk
U2VsZWN0aW9uKToKICAgICAgICAqIFdlYktpdFN1cHBvcnQvRWRpdG9yQ2xpZW50V3guaDoKCiAg
ICAgICAgU291cmNlL1dlYktpdDI6CiAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkVkaXRvckNsaWVudC5jcHA6IE1ha2UgdXNlIG9mIHRoZSBuZXdseSBhZGRlZCBGcmFtZSog
cGFyYW1ldGVyLgogICAgICAgIChXZWJLaXQ6OldlYkVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hh
bmdlZFNlbGVjdGlvbik6CiAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkVk
aXRvckNsaWVudC5oOgotLS0KIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHwgICAyNSArKysrKysrKysrKysrKysrKysrKwogU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9FZGl0b3IuY3BwICAgICAgICAgICAgICAgICAgfCAgICA0ICstCiBTb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmggICAgICAgICAgICAgICB8ICAgIDIgKy0KIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvRWRpdG9yQ2xpZW50LmggICAgICAgICAgICAgICAgIHwgICAgMiArLQog
U291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgfCAgIDEx
ICsrKysrKysrCiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9FZGl0b3JDbGllbnRJbXBsLmNw
cCAgICB8ICAgIDMgKy0KIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0VkaXRvckNsaWVudElt
cGwuaCAgICAgIHwgICAgMyArLQogU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nICAgICAgICAg
ICAgICAgICAgICAgICAgfCAgIDExICsrKysrKysrCiAuLi4vV2ViS2l0L2VmbC9XZWJDb3JlU3Vw
cG9ydC9FZGl0b3JDbGllbnRFZmwuY3BwICB8ICAgMTUgKystLS0tLS0tLS0KIFNvdXJjZS9XZWJL
aXQvZWZsL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEVmbC5oIHwgICAgMiArLQogU291cmNl
L1dlYktpdC9ndGsvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDExICsrKysr
KysrCiAuLi4vV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuY3BwICB8
ICAgMTggKysrKysrLS0tLS0tLS0KIFNvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Vk
aXRvckNsaWVudEd0ay5oIHwgICAgMiArLQogU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nICAg
ICAgICAgICAgICAgICAgICAgICAgfCAgIDExICsrKysrKysrCiBTb3VyY2UvV2ViS2l0L21hYy9X
ZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuaCB8ICAgIDIgKy0KIC4uLi9XZWJLaXQvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5tbSAgIHwgICAgNCArLQogU291cmNlL1dl
YktpdC9xdC9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDExICsrKysrKysr
CiBTb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudFF0LmNwcCB8ICAg
IDMgKy0KIFNvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50UXQuaCAg
IHwgICAgMiArLQogU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAg
ICAgICAgfCAgIDExICsrKysrKysrCiAuLi4vV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJF
ZGl0b3JDbGllbnQuY3BwICB8ICAgIDIgKy0KIFNvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBw
b3J0L1dlYkVkaXRvckNsaWVudC5oIHwgICAgMiArLQogU291cmNlL1dlYktpdC93eC9DaGFuZ2VM
b2cgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDExICsrKysrKysrCiBTb3VyY2UvV2ViS2l0
L3d4L1dlYktpdFN1cHBvcnQvRWRpdG9yQ2xpZW50V3guY3BwICB8ICAgIDMgKy0KIFNvdXJjZS9X
ZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9FZGl0b3JDbGllbnRXeC5oICAgIHwgICAgMiArLQogU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDExICsr
KysrKysrCiAuLi4vV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuY3Bw
ICB8ICAgIDMgKy0KIC4uLi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVu
dC5oICAgIHwgICAgMiArLQogMjggZmlsZXMgY2hhbmdlZCwgMTQ0IGluc2VydGlvbnMoKyksIDQ1
IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4ZjVkN2UxLi40ZTdjZmI2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjggQEAKKzIwMTEtMTAtMTcgIEFudG9uaW8gR29tZXMgIDxhZ29tZXNAcmlt
LmNvbT4KKworICAgICAgICBQYXNzIGEgRnJhbWUqIHBhcmFtZXRlciBpbiBFZGl0b3JDbGllbnQ6
OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTcwMjQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgTW9zdCBvZiB0aGUgcG9ydCBzcGVjaWZpYyBpbXBsZW1lbnRhdGlv
bnMgb2YgRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uCisgICAgICAgIChs
aWtlIEVkaXRvckNsaWVudHtRdCxHdGssZXRjfSkgYXJlIHdyb25nbHkgcmVseWluZyBvbiBGb2N1
c0NvbnRyb2xsZXI6OmZvY3VzZWRPck1haW5GcmFtZQorICAgICAgICBtZXRob2QgdG8gZ2V0IHRo
ZSBGcmFtZSB3aGVyZSB0aGUgc2VsZWN0aW9uIGlzIGhhcHBlbmluZyBvbi4KKyAgICAgICAgSXQg
aXMgbm90IHJpZ2h0LCBzaW5jZSBhIHNlbGVjdGlvbiBjYW4gYmUgZWFzaWx5IHRyaWdnZXJlZCBp
biBhbiBpbm5lcgorICAgICAgICBmcmFtZSB0aGF0IGlzIG5vdCBmb2N1c2VkLgorCisgICAgICAg
IE5vIG5ldyB0ZXN0cyBzaW5jZSBpdCBpcyBhIGhhcmQgdGhpbmcgdG8gdGVzdCB3aXRob3V0Cisg
ICAgICAgIHRvIGhvb2sgaW50byBlZGl0b3IgY2xpZW50IGluIGxheW91dCB0ZXN0cy4gV2UgY291
bGQKKyAgICAgICAgY2hhbmdlIHRoZSAiRHVtcGVkIERlbGVnYXRlIiBtZXNzYWdlcywgYnV0IGl0
IHdvdWxkCisgICAgICAgIHJlcXVpcmUgYSByZWJhc2lsZSBvZiArMTIwMCBmb3IgYSBtaW5vciBj
aGFuZ2UuCisKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvci5jcHA6IFBhc3MgdGhlIEZyYW1lIG9u
IHdoZXJlIHRoZSBzZWxlY3Rpb24gaXMgY2hhbmdpbmcgdG8gdGhlIGNsaWVudC4KKyAgICAgICAg
KFdlYkNvcmU6OkVkaXRvcjo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbik6IERpdHRvLgorICAg
ICAgICAoV2ViQ29yZTo6RWRpdG9yOjpjaGFuZ2VTZWxlY3Rpb25BZnRlckNvbW1hbmQpOiBEaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6OkVtcHR5RWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2Vk
U2VsZWN0aW9uKToKKyAgICAgICAgKiBwYWdlL0VkaXRvckNsaWVudC5oOiAgUGFzcyBGcmFtZSog
dG8gaW5kaWNhdGUgd2hlcmUgdGhlIHNlbGVjdGlvbiBpcyBoYXBwZW5pbmcuCisgICAgICAgICog
bG9hZGVyL0VtcHR5Q2xpZW50cy5oOiBDaGFuZ2VkIHNpZ25hdHVyZSBhcyBwZXIgYmFzZSBjbGFz
cyBjaGFuZ2UuCisKIDIwMTEtMTAtMTggIFphbiBEb2JlcnNlayAgPHphbmRvYmVyc2VrQGdtYWls
LmNvbT4KIAogICAgICAgICBbR3RrXSBTdXBwb3J0IGZvciBjbGllbnQtYmFzZWQgZ2VvbG9jYXRp
b24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAppbmRleCA1ZjJiZjRmLi45YzFmNTJjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCkBAIC00OTAsNyArNDkwLDcgQEAgYm9vbCBFZGl0b3I6
OnNob3VsZFNob3dEZWxldGVJbnRlcmZhY2UoSFRNTEVsZW1lbnQqIGVsZW1lbnQpIGNvbnN0CiB2
b2lkIEVkaXRvcjo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbihjb25zdCBWaXNpYmxlU2VsZWN0
aW9uJiBvbGRTZWxlY3Rpb24pCiB7CiAgICAgaWYgKGNsaWVudCgpKQotICAgICAgICBjbGllbnQo
KS0+cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbigpOworICAgICAgICBjbGllbnQoKS0+cmVzcG9u
ZFRvQ2hhbmdlZFNlbGVjdGlvbihtX2ZyYW1lKTsKICAgICBtX2RlbGV0ZUJ1dHRvbkNvbnRyb2xs
ZXItPnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24ob2xkU2VsZWN0aW9uKTsKICAgICBtX3NwZWxs
aW5nQ29ycmVjdG9yLT5yZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKG9sZFNlbGVjdGlvbik7CiB9
CkBAIC0yNjAzLDcgKzI2MDMsNyBAQCB2b2lkIEVkaXRvcjo6Y2hhbmdlU2VsZWN0aW9uQWZ0ZXJD
b21tYW5kKGNvbnN0IFZpc2libGVTZWxlY3Rpb24mIG5ld1NlbGVjdGlvbiwgYgogICAgIC8vIGRv
ZXMgbm90IGNhbGwgRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKCksIHdo
aWNoLCBvbiB0aGUgTWFjLCBzZW5kcyBzZWxlY3Rpb24gY2hhbmdlIG5vdGlmaWNhdGlvbnMgYW5k
CiAgICAgLy8gc3RhcnRzIGEgbmV3IGtpbGwgcmluZyBzZXF1ZW5jZSwgYnV0IHdlIHdhbnQgdG8g
ZG8gdGhlc2UgdGhpbmdzIChtYXRjaGVzIEFwcEtpdCkuCiAgICAgaWYgKHNlbGVjdGlvbkRpZE5v
dENoYW5nZURPTVBvc2l0aW9uKQotICAgICAgICBjbGllbnQoKS0+cmVzcG9uZFRvQ2hhbmdlZFNl
bGVjdGlvbigpOworICAgICAgICBjbGllbnQoKS0+cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbiht
X2ZyYW1lKTsKIH0KIAogU3RyaW5nIEVkaXRvcjo6c2VsZWN0ZWRUZXh0KCkgY29uc3QKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaCBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAppbmRleCA1MzJmNDI1Li4yNTBjZjBmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCkBAIC00NTksNyArNDU5LDcgQEAgcHVibGljOgog
ICAgIC8vCiAgICAgdmlydHVhbCB2b2lkIGRpZEJlZ2luRWRpdGluZygpIHsgfQogICAgIHZpcnR1
YWwgdm9pZCByZXNwb25kVG9DaGFuZ2VkQ29udGVudHMoKSB7IH0KLSAgICB2aXJ0dWFsIHZvaWQg
cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbigpIHsgfQorICAgIHZpcnR1YWwgdm9pZCByZXNwb25k
VG9DaGFuZ2VkU2VsZWN0aW9uKEZyYW1lKikgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZEVuZEVk
aXRpbmcoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkV3JpdGVTZWxlY3Rpb25Ub1Bhc3RlYm9h
cmQoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkU2V0U2VsZWN0aW9uVHlwZXNGb3JQYXN0ZWJv
YXJkKCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0VkaXRvckNsaWVudC5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9FZGl0b3JDbGllbnQuaAppbmRleCBhMzdjOGI5Li5hZmQx
ODQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0VkaXRvckNsaWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRWRpdG9yQ2xpZW50LmgKQEAgLTk0LDcgKzk0LDcgQEAgcHVi
bGljOgogCiAgICAgdmlydHVhbCB2b2lkIGRpZEJlZ2luRWRpdGluZygpID0gMDsKICAgICB2aXJ0
dWFsIHZvaWQgcmVzcG9uZFRvQ2hhbmdlZENvbnRlbnRzKCkgPSAwOwotICAgIHZpcnR1YWwgdm9p
ZCByZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCByZXNw
b25kVG9DaGFuZ2VkU2VsZWN0aW9uKEZyYW1lKikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaWRF
bmRFZGl0aW5nKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaWRXcml0ZVNlbGVjdGlvblRvUGFz
dGVib2FyZCgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlkU2V0U2VsZWN0aW9uVHlwZXNGb3JQ
YXN0ZWJvYXJkKCkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCAxZjZiZTAyLi43
ODdlYWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEx
LTEwLTE3ICBBbnRvbmlvIEdvbWVzICA8YWdvbWVzQHJpbS5jb20+CisKKyAgICAgICAgUGFzcyBh
IEZyYW1lKiBwYXJhbWV0ZXIgaW4gRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0
aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI0
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3Jj
L0VkaXRvckNsaWVudEltcGwuY3BwOiBNYWtlIHVzZSBvZiB0aGUgbmV3bHkgYWRkZWQgRnJhbWUq
IHBhcmFtZXRlci4KKyAgICAgICAgKFdlYktpdDo6RWRpdG9yQ2xpZW50SW1wbDo6cmVzcG9uZFRv
Q2hhbmdlZFNlbGVjdGlvbik6CisgICAgICAgICogc3JjL0VkaXRvckNsaWVudEltcGwuaDogQ2hh
bmdlIHRoZSBtZXRob2Qgc2lnbmF0dXJlLCBhcyBwZXIgYmFzZSBjbGFzcyBjaGFuZ2UuCisKIDIw
MTEtMTAtMTcgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI5NzY3Ny4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL0VkaXRvckNsaWVudEltcGwuY3BwIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvRWRpdG9yQ2xpZW50SW1wbC5jcHAKaW5kZXggZWYzMDVjYy4uNDY2ODZh
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRWRpdG9yQ2xpZW50SW1w
bC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRWRpdG9yQ2xpZW50SW1wbC5j
cHAKQEAgLTI2MCwxMCArMjYwLDkgQEAgdm9pZCBFZGl0b3JDbGllbnRJbXBsOjpkaWRCZWdpbkVk
aXRpbmcoKQogICAgICAgICBtX3dlYlZpZXctPmNsaWVudCgpLT5kaWRCZWdpbkVkaXRpbmcoKTsK
IH0KIAotdm9pZCBFZGl0b3JDbGllbnRJbXBsOjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKCkK
K3ZvaWQgRWRpdG9yQ2xpZW50SW1wbDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbihGcmFtZSog
ZnJhbWUpCiB7CiAgICAgaWYgKG1fd2ViVmlldy0+Y2xpZW50KCkpIHsKLSAgICAgICAgRnJhbWUq
IGZyYW1lID0gbV93ZWJWaWV3LT5mb2N1c2VkV2ViQ29yZUZyYW1lKCk7CiAgICAgICAgIGlmIChm
cmFtZSkKICAgICAgICAgICAgIG1fd2ViVmlldy0+Y2xpZW50KCktPmRpZENoYW5nZVNlbGVjdGlv
bighZnJhbWUtPnNlbGVjdGlvbigpLT5pc1JhbmdlKCkpOwogICAgIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0VkaXRvckNsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL0VkaXRvckNsaWVudEltcGwuaAppbmRleCAyZGRlZTM2Li4zNDIzMzRl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9FZGl0b3JDbGllbnRJbXBs
LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRWRpdG9yQ2xpZW50SW1wbC5oCkBA
IC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKK2NsYXNzIEZyYW1lOwogY2xhc3MgSFRNTElucHV0RWxlbWVudDsKIGNsYXNzIFNwZWxs
Q2hlY2tlcjsKIH0KQEAgLTcyLDcgKzczLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBz
aG91bGRNb3ZlUmFuZ2VBZnRlckRlbGV0ZShXZWJDb3JlOjpSYW5nZSosIFdlYkNvcmU6OlJhbmdl
Kik7CiAgICAgdmlydHVhbCB2b2lkIGRpZEJlZ2luRWRpdGluZygpOwogICAgIHZpcnR1YWwgdm9p
ZCByZXNwb25kVG9DaGFuZ2VkQ29udGVudHMoKTsKLSAgICB2aXJ0dWFsIHZvaWQgcmVzcG9uZFRv
Q2hhbmdlZFNlbGVjdGlvbigpOworICAgIHZpcnR1YWwgdm9pZCByZXNwb25kVG9DaGFuZ2VkU2Vs
ZWN0aW9uKFdlYkNvcmU6OkZyYW1lKik7CiAgICAgdmlydHVhbCB2b2lkIGRpZEVuZEVkaXRpbmco
KTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkV3JpdGVTZWxlY3Rpb25Ub1Bhc3RlYm9hcmQoKTsKICAg
ICB2aXJ0dWFsIHZvaWQgZGlkU2V0U2VsZWN0aW9uVHlwZXNGb3JQYXN0ZWJvYXJkKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9D
aGFuZ2VMb2cKaW5kZXggNTQwYzAxMi4uNGJlYzA3NiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYktp
dC9lZmwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE0IEBACisyMDExLTEwLTE3ICBBbnRvbmlvIEdvbWVzICA8YWdvbWVzQHJpbS5jb20+CisK
KyAgICAgICAgUGFzcyBhIEZyYW1lKiBwYXJhbWV0ZXIgaW4gRWRpdG9yQ2xpZW50OjpyZXNwb25k
VG9DaGFuZ2VkU2VsZWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03MDI0OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmNwcDogTWFrZSB1c2Ug
b2YgdGhlIG5ld2x5IGFkZGVkIEZyYW1lKiBwYXJhbWV0ZXIuCisgICAgICAgIChXZWJDb3JlOjpF
ZGl0b3JDbGllbnRFZmw6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24pOgorICAgICAgICAqIFdl
YkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEVmbC5oOgorCiAyMDExLTEwLTE3ICBSYXBoYWVsIEt1
Ym8gZGEgQ29zdGEgIDxrdWJvQHByb2Z1c2lvbi5tb2JpPgogCiAgICAgICAgIFtFRkxdIEV4cG9z
ZSB0aGUga2l0KCkgZnJhbWUgZnVuY3Rpb24gdG8gdGhlIHJlc3Qgb2YgZXdrLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmNwcCBi
L1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEVmbC5jcHAKaW5k
ZXggZmRmMDY5ZS4uNDk5M2I4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29y
ZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJD
b3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuY3BwCkBAIC0xMzMsMjUgKzEzMywxNiBAQCB2b2lk
IEVkaXRvckNsaWVudEVmbDo6cmVzcG9uZFRvQ2hhbmdlZENvbnRlbnRzKCkKICAgICBld2tfZnJh
bWVfZWRpdG9yX2NsaWVudF9jb250ZW50c19jaGFuZ2VkKGZyYW1lKTsKIH0KIAotdm9pZCBFZGl0
b3JDbGllbnRFZmw6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oKQordm9pZCBFZGl0b3JDbGll
bnRFZmw6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oRnJhbWUqIGNvcmVGcmFtZSkKIHsKLSAg
ICBFdmFzX09iamVjdCogZnJhbWUgPSBld2tfdmlld19mcmFtZV9mb2N1c2VkX2dldChtX3ZpZXcp
OwotCi0gICAgaWYgKCFmcmFtZSkKLSAgICAgICAgZnJhbWUgPSBld2tfdmlld19mcmFtZV9tYWlu
X2dldChtX3ZpZXcpOwotCi0gICAgaWYgKCFmcmFtZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAg
V2ViQ29yZTo6RnJhbWUqIGNvcmVGcmFtZSA9IEVXS1ByaXZhdGU6OmNvcmVGcmFtZShmcmFtZSk7
Ci0KICAgICBpZiAoIWNvcmVGcmFtZSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKGNvcmVG
cmFtZS0+ZWRpdG9yKCkgJiYgY29yZUZyYW1lLT5lZGl0b3IoKS0+aWdub3JlQ29tcG9zaXRpb25T
ZWxlY3Rpb25DaGFuZ2UoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgZXdrX2ZyYW1lX2VkaXRv
cl9jbGllbnRfc2VsZWN0aW9uX2NoYW5nZWQoZnJhbWUpOworICAgIEV2YXNfT2JqZWN0KiB3ZWJG
cmFtZSA9IEVXS1ByaXZhdGU6OmtpdEZyYW1lKGNvcmVGcmFtZSk7CisgICAgZXdrX2ZyYW1lX2Vk
aXRvcl9jbGllbnRfc2VsZWN0aW9uX2NoYW5nZWQod2ViRnJhbWUpOwogfQogCiB2b2lkIEVkaXRv
ckNsaWVudEVmbDo6ZGlkRW5kRWRpdGluZygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dl
YkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEVmbC5oCmluZGV4IDUzYmEzOTIuLjNiMTA4NTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEVm
bC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEVm
bC5oCkBAIC03OSw3ICs3OSw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBkaWRCZWdp
bkVkaXRpbmcoKTsKICAgICB2aXJ0dWFsIHZvaWQgcmVzcG9uZFRvQ2hhbmdlZENvbnRlbnRzKCk7
Ci0gICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oKTsKKyAgICB2aXJ0
dWFsIHZvaWQgcmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbihGcmFtZSopOwogICAgIHZpcnR1YWwg
dm9pZCBkaWRFbmRFZGl0aW5nKCk7CiAgICAgdmlydHVhbCB2b2lkIGRpZFdyaXRlU2VsZWN0aW9u
VG9QYXN0ZWJvYXJkKCk7CiAgICAgdmlydHVhbCB2b2lkIGRpZFNldFNlbGVjdGlvblR5cGVzRm9y
UGFzdGVib2FyZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4IDgwNjYxZGQuLmMzYWI0MjEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2d0
ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMS0xMC0xNyAgQW50b25pbyBHb21lcyAg
PGFnb21lc0ByaW0uY29tPgorCisgICAgICAgIFBhc3MgYSBGcmFtZSogcGFyYW1ldGVyIGluIEVk
aXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNDgKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVu
dEd0ay5jcHA6IE1ha2UgdXNlIG9mIHRoZSBuZXdseSBhZGRlZCBGcmFtZSogcGFyYW1ldGVyLgor
ICAgICAgICAoV2ViS2l0OjpFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24p
OgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5oOgorCiAyMDExLTEw
LTE4ICBaYW4gRG9iZXJzZWsgIDx6YW5kb2JlcnNla0BnbWFpbC5jb20+CiAKICAgICAgICAgW0d0
a10gU3VwcG9ydCBmb3IgY2xpZW50LWJhc2VkIGdlb2xvY2F0aW9uCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuY3BwIGIvU291cmNl
L1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmNwcAppbmRleCBiMTU3
MjI4Li5iMGYyNDJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9y
dC9FZGl0b3JDbGllbnRHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBw
b3J0L0VkaXRvckNsaWVudEd0ay5jcHAKQEAgLTMwMiwzMyArMzAyLDMxIEBAIHN0YXRpYyB2b2lk
IHNldFNlbGVjdGlvblByaW1hcnlDbGlwYm9hcmRJZk5lZWRlZChXZWJLaXRXZWJWaWV3KiB3ZWJW
aWV3KQogfQogI2VuZGlmCiAKLXZvaWQgRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2Vs
ZWN0aW9uKCkKK3ZvaWQgRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKEZy
YW1lKiBmcmFtZSkKIHsKICAgICBnX3NpZ25hbF9lbWl0X2J5X25hbWUobV93ZWJWaWV3LCAic2Vs
ZWN0aW9uLWNoYW5nZWQiKTsKIAotICAgIFdlYktpdFdlYlZpZXdQcml2YXRlKiBwcml2ID0gbV93
ZWJWaWV3LT5wcml2OwotICAgIFdlYkNvcmU6OlBhZ2UqIGNvcmVQYWdlID0gY29yZShtX3dlYlZp
ZXcpOwotICAgIEZyYW1lKiB0YXJnZXRGcmFtZSA9IGNvcmVQYWdlLT5mb2N1c0NvbnRyb2xsZXIo
KS0+Zm9jdXNlZE9yTWFpbkZyYW1lKCk7Ci0KLSAgICBpZiAoIXRhcmdldEZyYW1lKQorICAgIGlm
ICghZnJhbWUpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmICh0YXJnZXRGcmFtZS0+ZWRpdG9y
KCktPmlnbm9yZUNvbXBvc2l0aW9uU2VsZWN0aW9uQ2hhbmdlKCkpCisgICAgaWYgKGZyYW1lLT5l
ZGl0b3IoKS0+aWdub3JlQ29tcG9zaXRpb25TZWxlY3Rpb25DaGFuZ2UoKSkKICAgICAgICAgcmV0
dXJuOwogCiAjaWYgUExBVEZPUk0oWDExKQogICAgIHNldFNlbGVjdGlvblByaW1hcnlDbGlwYm9h
cmRJZk5lZWRlZChtX3dlYlZpZXcpOwogI2VuZGlmCiAKLSAgICBpZiAoIXRhcmdldEZyYW1lLT5l
ZGl0b3IoKS0+aGFzQ29tcG9zaXRpb24oKSkKKyAgICBpZiAoIWZyYW1lLT5lZGl0b3IoKS0+aGFz
Q29tcG9zaXRpb24oKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgdW5zaWduZWQgc3RhcnQ7CiAg
ICAgdW5zaWduZWQgZW5kOwotICAgIGlmICghdGFyZ2V0RnJhbWUtPmVkaXRvcigpLT5nZXRDb21w
b3NpdGlvblNlbGVjdGlvbihzdGFydCwgZW5kKSkgeworICAgIFdlYktpdFdlYlZpZXdQcml2YXRl
KiBwcml2ID0gbV93ZWJWaWV3LT5wcml2OworCisgICAgaWYgKCFmcmFtZS0+ZWRpdG9yKCktPmdl
dENvbXBvc2l0aW9uU2VsZWN0aW9uKHN0YXJ0LCBlbmQpKSB7CiAgICAgICAgIC8vIGd0a19pbV9j
b250ZXh0X3Jlc2V0KCkgY2xlYXJzIHRoZSBjb21wb3NpdGlvbiBmb3IgdXMuCiAgICAgICAgIGd0
a19pbV9jb250ZXh0X3Jlc2V0KHByaXYtPmltQ29udGV4dC5nZXQoKSk7Ci0gICAgICAgIHRhcmdl
dEZyYW1lLT5lZGl0b3IoKS0+Y2FuY2VsQ29tcG9zaXRpb24oKTsKKyAgICAgICAgZnJhbWUtPmVk
aXRvcigpLT5jYW5jZWxDb21wb3NpdGlvbigpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmggYi9Tb3VyY2Uv
V2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuaAppbmRleCBhMGZhZGQ4
Li42OTg2YTZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9F
ZGl0b3JDbGllbnRHdGsuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9F
ZGl0b3JDbGllbnRHdGsuaApAQCAtMTAwLDcgKzEwMCw3IEBAIGNsYXNzIEVkaXRvckNsaWVudCA6
IHB1YmxpYyBXZWJDb3JlOjpFZGl0b3JDbGllbnQgewogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBk
aWRCZWdpbkVkaXRpbmcoKTsKICAgICAgICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5nZWRD
b250ZW50cygpOwotICAgICAgICB2aXJ0dWFsIHZvaWQgcmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlv
bigpOworICAgICAgICB2aXJ0dWFsIHZvaWQgcmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbihXZWJD
b3JlOjpGcmFtZSopOwogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkRW5kRWRpdGluZygpOwogICAg
ICAgICB2aXJ0dWFsIHZvaWQgZGlkV3JpdGVTZWxlY3Rpb25Ub1Bhc3RlYm9hcmQoKTsKICAgICAg
ICAgdmlydHVhbCB2b2lkIGRpZFNldFNlbGVjdGlvblR5cGVzRm9yUGFzdGVib2FyZCgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMv
Q2hhbmdlTG9nCmluZGV4IGIzMTFlNzIuLjlmMDJlZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNCBAQAorMjAxMS0xMC0xNyAgQW50b25pbyBHb21lcyAgPGFnb21lc0ByaW0uY29tPgor
CisgICAgICAgIFBhc3MgYSBGcmFtZSogcGFyYW1ldGVyIGluIEVkaXRvckNsaWVudDo6cmVzcG9u
ZFRvQ2hhbmdlZFNlbGVjdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NzAyNDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5oOgorICAgICAgICAq
IFdlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5tbTogTWFrZSB1c2Ugb2YgdGhlIG5ld2x5
IGFkZGVkIEZyYW1lKiBwYXJhbWV0ZXIuCisgICAgICAgIChXZWJFZGl0b3JDbGllbnQ6OnJlc3Bv
bmRUb0NoYW5nZWRTZWxlY3Rpb24pOgorCiAyMDExLTEwLTE0ICBDaHJpcyBNYXJyaW4gIDxjbWFy
cmluQGFwcGxlLmNvbT4KIAogICAgICAgICBUaHJvdHRsZSByYXRlIG9mIHJlcXVlc3RBbmltYXRp
b25GcmFtZSB3aGVuIHBhZ2UgaXMgbm90IHZpc2libGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5oIGIvU291cmNlL1dlYktpdC9t
YWMvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmgKaW5kZXggNmEyNzQwMC4uYWFjY2Jh
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9y
Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9y
Q2xpZW50LmgKQEAgLTk4LDcgKzk4LDcgQEAgcHVibGljOgogICAgIFRleHRDaGVja2VyQ2xpZW50
KiB0ZXh0Q2hlY2tlcigpIE9WRVJSSURFIHsgcmV0dXJuIHRoaXM7IH0KIAogICAgIHZpcnR1YWwg
dm9pZCByZXNwb25kVG9DaGFuZ2VkQ29udGVudHMoKSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIHZv
aWQgcmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbigpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9p
ZCByZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKFdlYkNvcmU6OkZyYW1lKikgT1ZFUlJJREU7CiAK
ICAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJDb21tYW5kRm9yVW5kbyhQYXNzUmVmUHRyPFdlYkNv
cmU6OkVkaXRDb21tYW5kPikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyQ29t
bWFuZEZvclJlZG8oUGFzc1JlZlB0cjxXZWJDb3JlOjpFZGl0Q29tbWFuZD4pIE9WRVJSSURFOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xp
ZW50Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50
Lm1tCmluZGV4IGQxOTM4NDEuLmEyMjQ0ZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQubW0KQEAgLTI5MCw5ICsyOTAsOSBAQCB2
b2lkIFdlYkVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZENvbnRlbnRzKCkKICAgICBbW05T
Tm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHBvc3ROb3RpZmljYXRpb25OYW1lOldl
YlZpZXdEaWRDaGFuZ2VOb3RpZmljYXRpb24gb2JqZWN0Om1fd2ViVmlld107ICAgIAogfQogCi12
b2lkIFdlYkVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbigpCit2b2lkIFdl
YkVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbihGcmFtZSogZnJhbWUpCiB7
Ci0gICAgTlNWaWV3PFdlYkRvY3VtZW50Vmlldz4gKmRvY3VtZW50VmlldyA9IFtbW21fd2ViVmll
dyBfc2VsZWN0ZWRPck1haW5GcmFtZV0gZnJhbWVWaWV3XSBkb2N1bWVudFZpZXddOworICAgIE5T
VmlldzxXZWJEb2N1bWVudFZpZXc+ICpkb2N1bWVudFZpZXcgPSBbW2tpdChmcmFtZSkgZnJhbWVW
aWV3XSBkb2N1bWVudFZpZXddOwogICAgIGlmIChbZG9jdW1lbnRWaWV3IGlzS2luZE9mQ2xhc3M6
W1dlYkhUTUxWaWV3IGNsYXNzXV0pCiAgICAgICAgIFsoV2ViSFRNTFZpZXcgKilkb2N1bWVudFZp
ZXcgX3NlbGVjdGlvbkNoYW5nZWRdOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IGQyNWNiMDQuLjNmYjU3
YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMTAtMTcgIEFudG9uaW8g
R29tZXMgIDxhZ29tZXNAcmltLmNvbT4KKworICAgICAgICBQYXNzIGEgRnJhbWUqIHBhcmFtZXRl
ciBpbiBFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjQ4CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9FZGl0
b3JDbGllbnRRdC5jcHA6IE1ha2UgdXNlIG9mIHRoZSBuZXdseSBhZGRlZCBGcmFtZSogcGFyYW1l
dGVyLgorICAgICAgICAoV2ViQ29yZTo6RWRpdG9yQ2xpZW50UXQ6OnJlc3BvbmRUb0NoYW5nZWRT
ZWxlY3Rpb24pOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudFF0Lmg6CisK
IDIwMTEtMTAtMTUgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBS
ZW5hbWUgRU5BQkxFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpIHRvIFVTRShUSUxFRF9CQUNLSU5HX1NU
T1JFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JD
bGllbnRRdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVu
dFF0LmNwcAppbmRleCBmMzg3ZWE5Li5mOTU4ZTg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L3F0L1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudFF0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L3F0L1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudFF0LmNwcApAQCAtMjAxLDcgKzIwMSw3IEBA
IHZvaWQgRWRpdG9yQ2xpZW50UXQ6OnJlc3BvbmRUb0NoYW5nZWRDb250ZW50cygpCiAgICAgZW1p
dCBtX3BhZ2UtPmNvbnRlbnRzQ2hhbmdlZCgpOwogfQogCi12b2lkIEVkaXRvckNsaWVudFF0Ojpy
ZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKCkKK3ZvaWQgRWRpdG9yQ2xpZW50UXQ6OnJlc3BvbmRU
b0NoYW5nZWRTZWxlY3Rpb24oRnJhbWUqIGZyYW1lKQogewogICAgIGlmIChkdW1wRWRpdGluZ0Nh
bGxiYWNrcykKICAgICAgICAgcHJpbnRmKCJFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hh
bmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb25cbiIpOwpA
QCAtMjEyLDcgKzIxMiw2IEBAIHZvaWQgRWRpdG9yQ2xpZW50UXQ6OnJlc3BvbmRUb0NoYW5nZWRT
ZWxlY3Rpb24oKQogCiAgICAgbV9wYWdlLT5kLT51cGRhdGVFZGl0b3JBY3Rpb25zKCk7CiAgICAg
ZW1pdCBtX3BhZ2UtPnNlbGVjdGlvbkNoYW5nZWQoKTsKLSAgICBGcmFtZSogZnJhbWUgPSBtX3Bh
Z2UtPmQtPnBhZ2UtPmZvY3VzQ29udHJvbGxlcigpLT5mb2N1c2VkT3JNYWluRnJhbWUoKTsKICAg
ICBpZiAoIWZyYW1lLT5lZGl0b3IoKS0+aWdub3JlQ29tcG9zaXRpb25TZWxlY3Rpb25DaGFuZ2Uo
KSkKICAgICAgICAgZW1pdCBtX3BhZ2UtPm1pY3JvRm9jdXNDaGFuZ2VkKCk7CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudFF0LmggYi9T
b3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudFF0LmgKaW5kZXggZDk2
NThiYi4uNmU2YTBhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9y
dC9FZGl0b3JDbGllbnRRdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQv
RWRpdG9yQ2xpZW50UXQuaApAQCAtNjksNyArNjksNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFs
IHZvaWQgZGlkQmVnaW5FZGl0aW5nKCk7CiAgICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5n
ZWRDb250ZW50cygpOwotICAgIHZpcnR1YWwgdm9pZCByZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9u
KCk7CisgICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oRnJhbWUqKTsK
ICAgICB2aXJ0dWFsIHZvaWQgZGlkRW5kRWRpdGluZygpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRX
cml0ZVNlbGVjdGlvblRvUGFzdGVib2FyZCgpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRTZXRTZWxl
Y3Rpb25UeXBlc0ZvclBhc3RlYm9hcmQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2lu
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCA5NzEyMmZjLi4x
YTU4YjE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMTAtMTcgIEFu
dG9uaW8gR29tZXMgIDxhZ29tZXNAcmltLmNvbT4KKworICAgICAgICBQYXNzIGEgRnJhbWUqIHBh
cmFtZXRlciBpbiBFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjQ4CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9y
dC9XZWJFZGl0b3JDbGllbnQuY3BwOiBNYWtlIHVzZSBvZiB0aGUgbmV3bHkgYWRkZWQgRnJhbWUq
IHBhcmFtZXRlci4KKyAgICAgICAgKFdlYkVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZFNl
bGVjdGlvbik6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50Lmg6CisK
IDIwMTEtMTAtMTQgIEp1bGllbiBDaGFmZnJhaXggIDxqY2hhZmZyYWl4QHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgUmVtb3ZlIGxheWVyWCAvIGxheWVyWSBmcm9tIHRoZSBXaW5kb3dzIEFQSQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50
LmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5j
cHAKaW5kZXggYzAxNWIyMy4uZTUwYzZkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4v
V2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dp
bi9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuY3BwCkBAIC0yMDgsNyArMjA4LDcgQEAg
dm9pZCBXZWJFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRDb250ZW50cygpCiAgICAgbm90
SW1wbGVtZW50ZWQoKTsKIH0KIAotdm9pZCBXZWJFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5n
ZWRTZWxlY3Rpb24oKQordm9pZCBXZWJFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxl
Y3Rpb24oRnJhbWUqKQogewogICAgIG1fd2ViVmlldy0+c2VsZWN0aW9uQ2hhbmdlZCgpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGll
bnQuaCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5o
CmluZGV4IDFkYjRjNjguLjI4ZGU5YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dl
YkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dl
YkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5oCkBAIC01OCw3ICs1OCw3IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIHZvaWQgZGlkU2V0U2VsZWN0aW9uVHlwZXNGb3JQYXN0ZWJvYXJkKCk7CiAK
ICAgICB2aXJ0dWFsIHZvaWQgcmVzcG9uZFRvQ2hhbmdlZENvbnRlbnRzKCk7Ci0gICAgdmlydHVh
bCB2b2lkIHJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oKTsKKyAgICB2aXJ0dWFsIHZvaWQgcmVz
cG9uZFRvQ2hhbmdlZFNlbGVjdGlvbihXZWJDb3JlOjpGcmFtZSopOwogCiAgICAgYm9vbCBzaG91
bGRTaG93RGVsZXRlSW50ZXJmYWNlKFdlYkNvcmU6OkhUTUxFbGVtZW50Kik7CiAgICAgYm9vbCBz
aG91bGREZWxldGVSYW5nZShXZWJDb3JlOjpSYW5nZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC93eC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3d4L0NoYW5nZUxvZwppbmRleCBjNjM2
MDAxLi5iZDE1ZjdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3d4L0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0L3d4L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDExLTEwLTE3
ICBBbnRvbmlvIEdvbWVzICA8YWdvbWVzQHJpbS5jb20+CisKKyAgICAgICAgUGFzcyBhIEZyYW1l
KiBwYXJhbWV0ZXIgaW4gRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI0OAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViS2l0U3Vw
cG9ydC9FZGl0b3JDbGllbnRXeC5jcHA6IE1ha2UgdXNlIG9mIHRoZSBuZXdseSBhZGRlZCBGcmFt
ZSogcGFyYW1ldGVyLgorICAgICAgICAoV2ViQ29yZTo6RWRpdG9yQ2xpZW50V3g6OnJlc3BvbmRU
b0NoYW5nZWRTZWxlY3Rpb24pOgorICAgICAgICAqIFdlYktpdFN1cHBvcnQvRWRpdG9yQ2xpZW50
V3guaDoKKwogMjAxMS0wOS0yNCAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAg
ICAgICAgIEFsd2F5cyBlbmFibGUgRU5BQkxFKE9GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUykKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9FZGl0b3JDbGllbnRXeC5j
cHAgYi9Tb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvRWRpdG9yQ2xpZW50V3guY3BwCmlu
ZGV4IDU4MTJkZmUuLjdhMTdhZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0
U3VwcG9ydC9FZGl0b3JDbGllbnRXeC5jcHAKKysrIGIvU291cmNlL1dlYktpdC93eC9XZWJLaXRT
dXBwb3J0L0VkaXRvckNsaWVudFd4LmNwcApAQCAtNDg3LDkgKzQ4Nyw4IEBAIHZvaWQgRWRpdG9y
Q2xpZW50V3g6OnRleHREaWRDaGFuZ2VJblRleHRBcmVhKEVsZW1lbnQqKQogICAgIG5vdEltcGxl
bWVudGVkKCk7CiB9CiAKLXZvaWQgRWRpdG9yQ2xpZW50V3g6OnJlc3BvbmRUb0NoYW5nZWRTZWxl
Y3Rpb24oKQordm9pZCBFZGl0b3JDbGllbnRXeDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbihG
cmFtZSogZnJhbWUpCiB7Ci0gICAgRnJhbWUqIGZyYW1lID0gbV9wYWdlLT5mb2N1c0NvbnRyb2xs
ZXIoKS0+Zm9jdXNlZE9yTWFpbkZyYW1lKCk7CiAgICAgaWYgKGZyYW1lKSB7CiAgICAgICAgIHd4
V2ViVmlldyogd2ViS2l0V2luID0gZHluYW1pY19jYXN0PHd4V2ViVmlldyo+KGZyYW1lLT52aWV3
KCktPmhvc3RXaW5kb3coKS0+cGxhdGZvcm1QYWdlQ2xpZW50KCkpOwogICAgICAgICBpZiAod2Vi
S2l0V2luKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvRWRp
dG9yQ2xpZW50V3guaCBiL1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9FZGl0b3JDbGll
bnRXeC5oCmluZGV4IDczNzBmMGEuLjMxOGY1NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
d3gvV2ViS2l0U3VwcG9ydC9FZGl0b3JDbGllbnRXeC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd3gv
V2ViS2l0U3VwcG9ydC9FZGl0b3JDbGllbnRXeC5oCkBAIC03Miw3ICs3Miw3IEBAIHB1YmxpYzoK
IAogICAgIHZpcnR1YWwgdm9pZCBkaWRCZWdpbkVkaXRpbmcoKTsKICAgICB2aXJ0dWFsIHZvaWQg
cmVzcG9uZFRvQ2hhbmdlZENvbnRlbnRzKCk7Ci0gICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0No
YW5nZWRTZWxlY3Rpb24oKTsKKyAgICB2aXJ0dWFsIHZvaWQgcmVzcG9uZFRvQ2hhbmdlZFNlbGVj
dGlvbihGcmFtZSopOwogICAgIHZpcnR1YWwgdm9pZCBkaWRFbmRFZGl0aW5nKCk7CiAgICAgdmly
dHVhbCB2b2lkIGRpZFdyaXRlU2VsZWN0aW9uVG9QYXN0ZWJvYXJkKCk7CiAgICAgdmlydHVhbCB2
b2lkIGRpZFNldFNlbGVjdGlvblR5cGVzRm9yUGFzdGVib2FyZCgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDk3
NDYxOWIuLmE5OTQ3YjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMS0xMC0xNyAg
QW50b25pbyBHb21lcyAgPGFnb21lc0ByaW0uY29tPgorCisgICAgICAgIFBhc3MgYSBGcmFtZSog
cGFyYW1ldGVyIGluIEVkaXRvckNsaWVudDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNDgKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmNwcDogTWFrZSB1c2Ugb2YgdGhlIG5ld2x5
IGFkZGVkIEZyYW1lKiBwYXJhbWV0ZXIuCisgICAgICAgIChXZWJLaXQ6OldlYkVkaXRvckNsaWVu
dDo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbik6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuaDoKKwogMjAxMS0xMC0xOCAgQ2FpbyBNYXJjZWxv
IGRlIE9saXZlaXJhIEZpbGhvICA8Y2Fpby5vbGl2ZWlyYUBvcGVuYm9zc2Eub3JnPgogCiAgICAg
ICAgIFtRdF0gU2VuZCBtb3VzZSBtb3ZlIGV2ZW50cyB3aGVuIHdlIGhhbmRsZSBIb3ZlckVudGVy
L0xlYXZlIGluIFFEZXNrdG9wV2ViVmlldwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuY3BwIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuY3BwCmluZGV4IGU5
YzEyNjAuLjg2MThhMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5jcHAKQEAgLTE3NCwxMSArMTc0
LDEwIEBAIHZvaWQgV2ViRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFuZ2VkQ29udGVudHMoKQog
ICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKLXZvaWQgV2ViRWRpdG9yQ2xpZW50OjpyZXNwb25k
VG9DaGFuZ2VkU2VsZWN0aW9uKCkKK3ZvaWQgV2ViRWRpdG9yQ2xpZW50OjpyZXNwb25kVG9DaGFu
Z2VkU2VsZWN0aW9uKEZyYW1lKiBmcmFtZSkKIHsKICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0
cmluZywgV2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbiwgKCJXZWJWaWV3RGlk
Q2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uIikpOwogICAgIG1fcGFnZS0+aW5qZWN0ZWRCdW5k
bGVFZGl0b3JDbGllbnQoKS5kaWRDaGFuZ2VTZWxlY3Rpb24obV9wYWdlLCBXZWJWaWV3RGlkQ2hh
bmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uLmltcGwoKSk7Ci0gICAgRnJhbWUqIGZyYW1lID0gbV9w
YWdlLT5jb3JlUGFnZSgpLT5mb2N1c0NvbnRyb2xsZXIoKS0+Zm9jdXNlZEZyYW1lKCk7CiAgICAg
aWYgKCFmcmFtZSkKICAgICAgICAgcmV0dXJuOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5oIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuaAppbmRleCA1
ZTczNjMyLi5lMmJlZjlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmgKQEAgLTY0LDcgKzY0LDcgQEAg
cHJpdmF0ZToKIAogICAgIHZpcnR1YWwgdm9pZCBkaWRCZWdpbkVkaXRpbmcoKSBPVkVSUklERTsK
ICAgICB2aXJ0dWFsIHZvaWQgcmVzcG9uZFRvQ2hhbmdlZENvbnRlbnRzKCkgT1ZFUlJJREU7Ci0g
ICAgdmlydHVhbCB2b2lkIHJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oKSBPVkVSUklERTsKKyAg
ICB2aXJ0dWFsIHZvaWQgcmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbihXZWJDb3JlOjpGcmFtZSop
IE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBkaWRFbmRFZGl0aW5nKCkgT1ZFUlJJREU7CiAg
ICAgdmlydHVhbCB2b2lkIGRpZFdyaXRlU2VsZWN0aW9uVG9QYXN0ZWJvYXJkKCkgT1ZFUlJJREU7
CiAgICAgdmlydHVhbCB2b2lkIGRpZFNldFNlbGVjdGlvblR5cGVzRm9yUGFzdGVib2FyZCgpIE9W
RVJSSURFOwotLSAKMS43LjEKCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>