<?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>131425</bug_id>
          
          <creation_ts>2014-04-08 20:56:00 -0700</creation_ts>
          <short_desc>Make page overlay functionality working on coordinated graphics.</short_desc>
          <delta_ts>2014-04-15 19:04:35 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>131353</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Hyowon Kim">hw1008.kim</reporter>
          <assigned_to name="Hyowon Kim">hw1008.kim</assigned_to>
          <cc>bunhere</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jaepark</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>luiz</cc>
    
    <cc>noam</cc>
    
    <cc>ossy</cc>
    
    <cc>sergio</cc>
    
    <cc>thorton</cc>
    
    <cc>zeno</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>999054</commentid>
    <comment_count>0</comment_count>
    <who name="Hyowon Kim">hw1008.kim</who>
    <bug_when>2014-04-08 20:56:00 -0700</bug_when>
    <thetext>Page overlay functionality is not working on coordinated graphics since r166975.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1000288</commentid>
    <comment_count>1</comment_count>
      <attachid>229229</attachid>
    <who name="Hyowon Kim">hw1008.kim</who>
    <bug_when>2014-04-13 06:05:17 -0700</bug_when>
    <thetext>Created attachment 229229
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1000298</commentid>
    <comment_count>2</comment_count>
      <attachid>229235</attachid>
    <who name="Hyowon Kim">hw1008.kim</who>
    <bug_when>2014-04-13 09:05:20 -0700</bug_when>
    <thetext>Created attachment 229235
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1000405</commentid>
    <comment_count>3</comment_count>
      <attachid>229235</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-04-13 23:28:43 -0700</bug_when>
    <thetext>Comment on attachment 229235
Patch

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

&gt; Source/WebCore/platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:75
&gt; +void CompositingCoordinator::setRootCompositingLayer(GraphicsLayer* CompositingLayer, GraphicsLayer* overlayLayer)

CompositingLayer should not be capitalized, since it’s an argument name.

&gt; Source/WebCore/platform/graphics/texmap/coordinated/CompositingCoordinator.h:67
&gt; +    void setRootCompositingLayer(GraphicsLayer*, GraphicsLayer*);

Not clear what these two arguments are, so one or both need names here in the header.

&gt; Source/WebKit2/WebProcess/WebPage/LayerTreeHost.h:79
&gt; -    virtual void didInstallPageOverlay(PageOverlay*) = 0;
&gt; -    virtual void didUninstallPageOverlay(PageOverlay*) = 0;
&gt; -    virtual void setPageOverlayNeedsDisplay(PageOverlay*, const WebCore::IntRect&amp;) = 0;
&gt; +    virtual void didInstallPageOverlay(PageOverlay*) { }
&gt; +    virtual void didUninstallPageOverlay(PageOverlay*) { }
&gt; +    virtual void setPageOverlayNeedsDisplay(PageOverlay*, const WebCore::IntRect&amp;) { }

Not sure this is a good change. Is this really better than putting the empty functions in the derived class?

&gt; Source/WebKit2/WebProcess/WebPage/PageOverlayController.cpp:224
&gt; -void PageOverlayController::flushPageOverlayLayers(FloatRect visibleRect)
&gt; +void PageOverlayController::flushPageOverlayLayers(const FloatRect&amp; visibleRect)

Not sure this is a good change. I know that we save a copy here, but Anders has been discouraging us from using const&amp; everywhere.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1000427</commentid>
    <comment_count>4</comment_count>
      <attachid>229270</attachid>
    <who name="Hyowon Kim">hw1008.kim</who>
    <bug_when>2014-04-14 01:00:02 -0700</bug_when>
    <thetext>Created attachment 229270
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1000429</commentid>
    <comment_count>5</comment_count>
    <who name="Hyowon Kim">hw1008.kim</who>
    <bug_when>2014-04-14 01:02:09 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 229235 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=229235&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:75
&gt; &gt; +void CompositingCoordinator::setRootCompositingLayer(GraphicsLayer* CompositingLayer, GraphicsLayer* overlayLayer)
&gt; 
&gt; CompositingLayer should not be capitalized, since it’s an argument name.

Oops. Done.

Source/WebCore/platform/graphics/texmap/coordinated/CompositingCoordinator.h:67
&gt; &gt; +    void setRootCompositingLayer(GraphicsLayer*, GraphicsLayer*);
&gt; 
&gt; Not clear what these two arguments are, so one or both need names here in the header.

Done.
 
&gt; &gt; Source/WebKit2/WebProcess/WebPage/LayerTreeHost.h:79
&gt; &gt; -    virtual void didInstallPageOverlay(PageOverlay*) = 0;
&gt; &gt; -    virtual void didUninstallPageOverlay(PageOverlay*) = 0;
&gt; &gt; -    virtual void setPageOverlayNeedsDisplay(PageOverlay*, const WebCore::IntRect&amp;) = 0;
&gt; &gt; +    virtual void didInstallPageOverlay(PageOverlay*) { }
&gt; &gt; +    virtual void didUninstallPageOverlay(PageOverlay*) { }
&gt; &gt; +    virtual void setPageOverlayNeedsDisplay(PageOverlay*, const WebCore::IntRect&amp;) { }
&gt; 
&gt; Not sure this is a good change. Is this really better than putting the empty functions in the derived class?

It&apos;s a temporary solution. These functions are not called anymore.
But LayerTreeHostGTK still derives them from LayerTreeHost.
They would be removed if GTK port fixes this issue too.

&gt; &gt; Source/WebKit2/WebProcess/WebPage/PageOverlayController.cpp:224
&gt; &gt; -void PageOverlayController::flushPageOverlayLayers(FloatRect visibleRect)
&gt; &gt; +void PageOverlayController::flushPageOverlayLayers(const FloatRect&amp; visibleRect)
&gt; 
&gt; Not sure this is a good change. I know that we save a copy here, but Anders has been discouraging us from using const&amp; everywhere.

Okay. Undo adding const&amp;.

Thank you for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1000691</commentid>
    <comment_count>6</comment_count>
    <who name="Jae Hyun Park">jaepark</who>
    <bug_when>2014-04-14 18:04:04 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Created an attachment (id=229270) [details]
&gt; patch for landing

This may not be my place, but Darin&apos;s comments are not applied in the patch you uploaded for landing.
Also, in WebKit2/ChangeLog, file/function changes are written 3 times.

I think you may have uploaded the wrong patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1000706</commentid>
    <comment_count>7</comment_count>
      <attachid>229336</attachid>
    <who name="Hyowon Kim">hw1008.kim</who>
    <bug_when>2014-04-14 19:15:23 -0700</bug_when>
    <thetext>Created attachment 229336
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1000707</commentid>
    <comment_count>8</comment_count>
    <who name="Hyowon Kim">hw1008.kim</who>
    <bug_when>2014-04-14 19:16:33 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #4)
&gt; &gt; Created an attachment (id=229270) [details] [details]
&gt; &gt; patch for landing
&gt; 
&gt; This may not be my place, but Darin&apos;s comments are not applied in the patch you uploaded for landing.
&gt; Also, in WebKit2/ChangeLog, file/function changes are written 3 times.
&gt; 
&gt; I think you may have uploaded the wrong patch.

Thank you for letting me know.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1001068</commentid>
    <comment_count>9</comment_count>
      <attachid>229336</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-04-15 19:04:28 -0700</bug_when>
    <thetext>Comment on attachment 229336
patch for landing

Clearing flags on attachment: 229336

Committed r167340: &lt;http://trac.webkit.org/changeset/167340&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1001069</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-04-15 19:04:35 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>229229</attachid>
            <date>2014-04-13 06:05:17 -0700</date>
            <delta_ts>2014-04-13 09:05:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-131425-20140413220454.patch</filename>
            <type>text/plain</type>
            <size>17638</size>
            <attacher name="Hyowon Kim">hw1008.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY3MTk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmE3ZmE2MDI2M2RmNWQ0
MmM1ZDBhY2E0YjY5ZTQwZmM4YTU1MDBjYS4uZmU4YmM1MTI3YTJlOWJiMzNlMDQyZDc2NTg2NDEx
ZTE1MjQ1MTZiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE0LTA0LTEzICBIeW93
b24gS2ltICA8aHcxMDA4LmtpbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBNYWtlIHBhZ2Ugb3Zl
cmxheSBmdW5jdGlvbmFsaXR5IHdvcmtpbmcgb24gY29vcmRpbmF0ZWQgZ3JhcGhpY3MuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzE0MjUKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQYWdlIG92ZXJsYXkg
ZnVuY3Rpb25hbGl0eSBkaWQgbm90IHdvcmsgb24gY29vcmRpbmF0ZWQgZ3JhcGhpY3Mgc2luY2Ug
cjE2Njk3NS4KKyAgICAgICAgVGhpcyBwYXRjaCByZW1vdmVzIGRlcHJlY2F0ZWQgY29kZSByZWxh
dGVkIHRvIHRoZSBQYWdlT3ZlcmxheSBHcmFwaGljc0xheWVyIG1hbmFnZW1lbnQuCisgICAgICAg
IGFuZCBtYWtlcyBDb29yZGluYXRlZExheWVyVHJlZUhvc3QgdXNlIFBhZ2VPdmVybGF5Q29udHJv
bGxlci4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9D
b21wb3NpdGluZ0Nvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbXBvc2l0aW5n
Q29vcmRpbmF0b3I6OnNldFJvb3RDb21wb3NpdGluZ0xheWVyKToKKyAgICAgICAgKFdlYkNvcmU6
OkNvbXBvc2l0aW5nQ29vcmRpbmF0b3I6OmZsdXNoUGVuZGluZ0xheWVyQ2hhbmdlcyk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0NvbXBvc2l0aW5nQ29v
cmRpbmF0b3IuaDoKKwogMjAxNC0wNC0xMyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubi5mYWJsZXRA
Y3JmLmNhbm9uLmZyPgogCiAgICAgICAgIFtHU3RyZWFtZXJdIE5vIENPUlMgc3VwcG9ydCBmb3Ig
bWVkaWEgZWxlbWVudHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBhNWYzZWY5NjgyNzEyNDU1YmRkMGU3NjRkZDI4
YzUyYWUyMDYxMzg1Li5jNTFlOTE0YTNhM2YyMDhmZjIwZDQ3Njk4OTVkMzdjMDQ5Yjg0MmZkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkgQEAKKzIwMTQtMDQtMTMgIEh5b3dvbiBLaW0gIDxodzEw
MDgua2ltQHNhbXN1bmcuY29tPgorCisgICAgICAgIE1ha2UgcGFnZSBvdmVybGF5IGZ1bmN0aW9u
YWxpdHkgd29ya2luZyBvbiBjb29yZGluYXRlZCBncmFwaGljcy4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMTQyNQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBhZ2Ugb3ZlcmxheSBmdW5jdGlvbmFsaXR5
IGRpZCBub3Qgd29yayBvbiBjb29yZGluYXRlZCBncmFwaGljcyBzaW5jZSByMTY2OTc1LgorICAg
ICAgICBUaGlzIHBhdGNoIHJlbW92ZXMgZGVwcmVjYXRlZCBjb2RlIHJlbGF0ZWQgdG8gdGhlIFBh
Z2VPdmVybGF5IEdyYXBoaWNzTGF5ZXIgbWFuYWdlbWVudC4KKyAgICAgICAgYW5kIG1ha2VzIENv
b3JkaW5hdGVkTGF5ZXJUcmVlSG9zdCB1c2UgUGFnZU92ZXJsYXlDb250cm9sbGVyLgorCisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRE
cmF3aW5nQXJlYS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkRHJhd2luZ0FyZWE6
OmRpZEluc3RhbGxQYWdlT3ZlcmxheSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OkNvb3Jk
aW5hdGVkRHJhd2luZ0FyZWE6OmRpZFVuaW5zdGFsbFBhZ2VPdmVybGF5KTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWREcmF3aW5nQXJlYTo6c2V0UGFnZU92ZXJsYXlOZWVk
c0Rpc3BsYXkpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZERyYXdpbmdB
cmVhOjpzZXRQYWdlT3ZlcmxheU9wYWNpdHkpOiBEZWxldGVkLgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkRHJhd2luZ0FyZWEuaDoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGlu
YXRlZExheWVyVHJlZUhvc3QuY3BwOgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZExheWVy
VHJlZUhvc3Q6OnNldFJvb3RDb21wb3NpdGluZ0xheWVyKToKKyAgICAgICAgKFdlYktpdDo6Q29v
cmRpbmF0ZWRMYXllclRyZWVIb3N0OjpkaWRGbHVzaFJvb3RMYXllcik6CisgICAgICAgIChXZWJL
aXQ6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6ZGV2aWNlT3JQYWdlU2NhbGVGYWN0b3JDaGFu
Z2VkKToKKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpkaWRJbnN0
YWxsUGFnZU92ZXJsYXkpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZExh
eWVyVHJlZUhvc3Q6OmRpZFVuaW5zdGFsbFBhZ2VPdmVybGF5KTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpzZXRQYWdlT3ZlcmxheU5lZWRzRGlz
cGxheSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9z
dDo6c2V0UGFnZU92ZXJsYXlPcGFjaXR5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6Q29v
cmRpbmF0ZWRMYXllclRyZWVIb3N0OjpjcmVhdGVQYWdlT3ZlcmxheUxheWVyKTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpkZXN0cm95UGFnZU92
ZXJsYXlMYXllcik6IERlbGV0ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0Lmg6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuaDoKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJU
cmVlSG9zdDo6ZGlkSW5zdGFsbFBhZ2VPdmVybGF5KToKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJU
cmVlSG9zdDo6ZGlkVW5pbnN0YWxsUGFnZU92ZXJsYXkpOgorICAgICAgICAoV2ViS2l0OjpMYXll
clRyZWVIb3N0OjpzZXRQYWdlT3ZlcmxheU5lZWRzRGlzcGxheSk6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL1BhZ2VPdmVybGF5Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6
OlBhZ2VPdmVybGF5Q29udHJvbGxlcjo6Zmx1c2hQYWdlT3ZlcmxheUxheWVycyk6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJQYWdlL1BhZ2VPdmVybGF5Q29udHJvbGxlci5oOgorCiAyMDE0LTA0
LTEzICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAg
ICBVbnJldmlld2VkLiBGaXggR1RLKyBidWlsZCB3aXRoIHJlY2VudCBjYWlybyBhbmQgR1RLKyBh
ZnRlciByMTY3MTY4LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0NvbXBvc2l0aW5n
Q29vcmRpbmF0b3IuY3BwCmluZGV4IGNjOTc3MDQ4Mjg3MTRkOTkxMGU0OTRhNDZjNjJiMGQwZDZm
N2NkMTcuLmI2MjI2NGNiNzg1NzVkNWJiODIyMDE1OTM1NzlkODM2ODQ4YzVhYTIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9D
b21wb3NpdGluZ0Nvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29tcG9zaXRpbmdDb29yZGluYXRvci5jcHAKQEAg
LTcyLDE0ICs3MiwxNyBAQCBDb21wb3NpdGluZ0Nvb3JkaW5hdG9yOjpDb21wb3NpdGluZ0Nvb3Jk
aW5hdG9yKFBhZ2UqIHBhZ2UsIENvbXBvc2l0aW5nQ29vcmRpbmF0bwogICAgIENvb3JkaW5hdGVk
R3JhcGhpY3NMYXllcjo6c2V0U2hvdWxkU3VwcG9ydENvbnRlbnRzVGlsaW5nKHRydWUpOwogfQog
Ci12b2lkIENvbXBvc2l0aW5nQ29vcmRpbmF0b3I6OnNldFJvb3RDb21wb3NpdGluZ0xheWVyKEdy
YXBoaWNzTGF5ZXIqIGxheWVyKQordm9pZCBDb21wb3NpdGluZ0Nvb3JkaW5hdG9yOjpzZXRSb290
Q29tcG9zaXRpbmdMYXllcihHcmFwaGljc0xheWVyKiBDb21wb3NpdGluZ0xheWVyLCBHcmFwaGlj
c0xheWVyKiBvdmVybGF5TGF5ZXIpCiB7CiAgICAgaWYgKG1fcm9vdENvbXBvc2l0aW5nTGF5ZXIp
CiAgICAgICAgIG1fcm9vdENvbXBvc2l0aW5nTGF5ZXItPnJlbW92ZUZyb21QYXJlbnQoKTsKIAot
ICAgIG1fcm9vdENvbXBvc2l0aW5nTGF5ZXIgPSBsYXllcjsKKyAgICBtX3Jvb3RDb21wb3NpdGlu
Z0xheWVyID0gQ29tcG9zaXRpbmdMYXllcjsKICAgICBpZiAobV9yb290Q29tcG9zaXRpbmdMYXll
cikKICAgICAgICAgbV9yb290TGF5ZXItPmFkZENoaWxkQXRJbmRleChtX3Jvb3RDb21wb3NpdGlu
Z0xheWVyLCAwKTsKKworICAgIGlmIChvdmVybGF5TGF5ZXIpCisgICAgICAgIG1fcm9vdExheWVy
LT5hZGRDaGlsZChvdmVybGF5TGF5ZXIpOwogfQogCiB2b2lkIENvbXBvc2l0aW5nQ29vcmRpbmF0
b3I6OnNpemVEaWRDaGFuZ2UoY29uc3QgSW50U2l6ZSYgbmV3U2l6ZSkKQEAgLTk1LDcgKzk4LDcg
QEAgYm9vbCBDb21wb3NpdGluZ0Nvb3JkaW5hdG9yOjpmbHVzaFBlbmRpbmdMYXllckNoYW5nZXMo
KQogICAgIGluaXRpYWxpemVSb290Q29tcG9zaXRpbmdMYXllcklmTmVlZGVkKCk7CiAKICAgICBt
X3Jvb3RMYXllci0+Zmx1c2hDb21wb3NpdGluZ1N0YXRlRm9yVGhpc0xheWVyT25seSgpOwotICAg
IG1fY2xpZW50LT5kaWRGbHVzaFJvb3RMYXllcigpOworICAgIG1fY2xpZW50LT5kaWRGbHVzaFJv
b3RMYXllcihtX3Zpc2libGVDb250ZW50c1JlY3QpOwogCiAgICAgYm9vbCBkaWRTeW5jID0gbV9w
YWdlLT5tYWluRnJhbWUoKS52aWV3KCktPmZsdXNoQ29tcG9zaXRpbmdTdGF0ZUluY2x1ZGluZ1N1
YmZyYW1lcygpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29tcG9zaXRpbmdDb29yZGluYXRvci5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0NvbXBvc2l0aW5nQ29v
cmRpbmF0b3IuaAppbmRleCA0YmM1NjI1NzJmMjkwNDY0ZTUwZjc5MTAyODRkOWQzZDNhZTkyMjEy
Li5jMTRlYWQ0ZDI1ODYwZGI2OWI3MDAzYTdkMzI0NDM3OTNiODI5MjVlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29tcG9z
aXRpbmdDb29yZGluYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9jb29yZGluYXRlZC9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmgKQEAgLTU1LDcgKzU1
LDcgQEAgY2xhc3MgQ29tcG9zaXRpbmdDb29yZGluYXRvciA6IHB1YmxpYyBHcmFwaGljc0xheWVy
Q2xpZW50CiBwdWJsaWM6CiAgICAgY2xhc3MgQ2xpZW50IHsKICAgICBwdWJsaWM6Ci0gICAgICAg
IHZpcnR1YWwgdm9pZCBkaWRGbHVzaFJvb3RMYXllcigpID0gMDsKKyAgICAgICAgdmlydHVhbCB2
b2lkIGRpZEZsdXNoUm9vdExheWVyKGNvbnN0IEZsb2F0UmVjdCYgdmlzaWJsZUNvbnRlbnRSZWN0
KSA9IDA7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBub3RpZnlGbHVzaFJlcXVpcmVkKCkgPSAwOwog
ICAgICAgICB2aXJ0dWFsIHZvaWQgY29tbWl0U2NlbmVTdGF0ZShjb25zdCBDb29yZGluYXRlZEdy
YXBoaWNzU3RhdGUmKSA9IDA7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBwYWludExheWVyQ29udGVu
dHMoY29uc3QgR3JhcGhpY3NMYXllciosIEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEludFJlY3Qm
IGNsaXBSZWN0KSA9IDA7CkBAIC02NCw3ICs2NCw3IEBAIHB1YmxpYzoKICAgICBDb21wb3NpdGlu
Z0Nvb3JkaW5hdG9yKFBhZ2UqLCBDb21wb3NpdGluZ0Nvb3JkaW5hdG9yOjpDbGllbnQqKTsKICAg
ICB2aXJ0dWFsIH5Db21wb3NpdGluZ0Nvb3JkaW5hdG9yKCk7CiAKLSAgICB2b2lkIHNldFJvb3RD
b21wb3NpdGluZ0xheWVyKEdyYXBoaWNzTGF5ZXIqKTsKKyAgICB2b2lkIHNldFJvb3RDb21wb3Np
dGluZ0xheWVyKEdyYXBoaWNzTGF5ZXIqLCBHcmFwaGljc0xheWVyKik7CiAgICAgdm9pZCBzaXpl
RGlkQ2hhbmdlKGNvbnN0IEludFNpemUmIG5ld1NpemUpOwogICAgIHZvaWQgZGV2aWNlT3JQYWdl
U2NhbGVGYWN0b3JDaGFuZ2VkKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkRHJhd2luZ0FyZWEu
Y3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvQ29vcmRpbmF0ZWREcmF3aW5nQXJlYS5jcHAKaW5kZXggNjc2NGQzZmU3ZDYyMDZhNWZhMzlk
NGQ0ZTc4NThjZWFkMDU0MjVmZS4uM2JmYTJmZTJhNDcyNDkzNTRmMTc5ZTczOGFkMDNkYWMwYTBk
MDNiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWREcmF3aW5nQXJlYS5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRE
cmF3aW5nQXJlYS5jcHAKQEAgLTIxMywzNiArMjEzLDYgQEAgYm9vbCBDb29yZGluYXRlZERyYXdp
bmdBcmVhOjpmb3JjZVJlcGFpbnRBc3luYyh1aW50NjRfdCBjYWxsYmFja0lEKQogICAgIHJldHVy
biBtX2xheWVyVHJlZUhvc3QgJiYgbV9sYXllclRyZWVIb3N0LT5mb3JjZVJlcGFpbnRBc3luYyhj
YWxsYmFja0lEKTsKIH0KIAotdm9pZCBDb29yZGluYXRlZERyYXdpbmdBcmVhOjpkaWRJbnN0YWxs
UGFnZU92ZXJsYXkoUGFnZU92ZXJsYXkqIHBhZ2VPdmVybGF5KQotewotICAgIGlmIChtX2xheWVy
VHJlZUhvc3QpCi0gICAgICAgIG1fbGF5ZXJUcmVlSG9zdC0+ZGlkSW5zdGFsbFBhZ2VPdmVybGF5
KHBhZ2VPdmVybGF5KTsKLX0KLQotdm9pZCBDb29yZGluYXRlZERyYXdpbmdBcmVhOjpkaWRVbmlu
c3RhbGxQYWdlT3ZlcmxheShQYWdlT3ZlcmxheSogcGFnZU92ZXJsYXkpCi17Ci0gICAgaWYgKG1f
bGF5ZXJUcmVlSG9zdCkKLSAgICAgICAgbV9sYXllclRyZWVIb3N0LT5kaWRVbmluc3RhbGxQYWdl
T3ZlcmxheShwYWdlT3ZlcmxheSk7Ci0KLSAgICBzZXROZWVkc0Rpc3BsYXkoKTsKLX0KLQotdm9p
ZCBDb29yZGluYXRlZERyYXdpbmdBcmVhOjpzZXRQYWdlT3ZlcmxheU5lZWRzRGlzcGxheShQYWdl
T3ZlcmxheSogcGFnZU92ZXJsYXksIGNvbnN0IEludFJlY3QmIHJlY3QpCi17Ci0gICAgaWYgKG1f
bGF5ZXJUcmVlSG9zdCkgewotICAgICAgICBtX2xheWVyVHJlZUhvc3QtPnNldFBhZ2VPdmVybGF5
TmVlZHNEaXNwbGF5KHBhZ2VPdmVybGF5LCByZWN0KTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0K
LQotICAgIHNldE5lZWRzRGlzcGxheUluUmVjdChyZWN0KTsKLX0KLQotdm9pZCBDb29yZGluYXRl
ZERyYXdpbmdBcmVhOjpzZXRQYWdlT3ZlcmxheU9wYWNpdHkoUGFnZU92ZXJsYXkqIHBhZ2VPdmVy
bGF5LCBmbG9hdCB2YWx1ZSkKLXsKLSAgICBpZiAobV9sYXllclRyZWVIb3N0KQotICAgICAgICBt
X2xheWVyVHJlZUhvc3QtPnNldFBhZ2VPdmVybGF5T3BhY2l0eShwYWdlT3ZlcmxheSwgdmFsdWUp
OwotfQotCiB2b2lkIENvb3JkaW5hdGVkRHJhd2luZ0FyZWE6OnNldFBhaW50aW5nRW5hYmxlZChi
b29sIHBhaW50aW5nRW5hYmxlZCkKIHsKICAgICBtX2lzUGFpbnRpbmdFbmFibGVkID0gcGFpbnRp
bmdFbmFibGVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWREcmF3aW5nQXJlYS5oIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRE
cmF3aW5nQXJlYS5oCmluZGV4IGQzMDZlODYyMGVjMTE0MzM5MmI0YjEzMWQzZTE2YWU2MThiNWJh
YzEuLmUyZjM1ZDdhMjk4NDMzYzEzMzkwYTI3MmE0YTI0MjZlZmM2YjJhNjkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
b3JkaW5hdGVkRHJhd2luZ0FyZWEuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZERyYXdpbmdBcmVhLmgKQEAgLTU1
LDExICs1NSw2IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGZvcmNlUmVwYWludCgpOwog
ICAgIHZpcnR1YWwgYm9vbCBmb3JjZVJlcGFpbnRBc3luYyh1aW50NjRfdCBjYWxsYmFja0lEKTsK
IAotICAgIHZpcnR1YWwgdm9pZCBkaWRJbnN0YWxsUGFnZU92ZXJsYXkoUGFnZU92ZXJsYXkqKTsK
LSAgICB2aXJ0dWFsIHZvaWQgZGlkVW5pbnN0YWxsUGFnZU92ZXJsYXkoUGFnZU92ZXJsYXkqKTsK
LSAgICB2aXJ0dWFsIHZvaWQgc2V0UGFnZU92ZXJsYXlOZWVkc0Rpc3BsYXkoUGFnZU92ZXJsYXkq
LCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0Jik7Ci0gICAgdmlydHVhbCB2b2lkIHNldFBhZ2VPdmVy
bGF5T3BhY2l0eShQYWdlT3ZlcmxheSosIGZsb2F0KTsKLQogICAgIHZpcnR1YWwgdm9pZCBzZXRQ
YWludGluZ0VuYWJsZWQoYm9vbCk7CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZVByZWZlcmVuY2Vz
KGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRp
bmF0ZWRMYXllclRyZWVIb3N0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAKaW5kZXgg
NTdhZDEwNGIzYmVkNzE5NTM2Zjg0MzliMDhhM2NjNjU0YTgyMjI0OC4uZjJmMGRjYjY2MGUzZjgx
YmNmOTliMTgxMjU5MTAyZDk3ODc4NTM5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVI
b3N0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0
ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuY3BwCkBAIC0xMTIsNyArMTEyLDcg
QEAgdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OnNldFNob3VsZE5vdGlmeUFmdGVyTmV4
dFNjaGVkdWxlZExheWVyRmx1c2goYm9vbAogCiB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9z
dDo6c2V0Um9vdENvbXBvc2l0aW5nTGF5ZXIoV2ViQ29yZTo6R3JhcGhpY3NMYXllciogZ3JhcGhp
Y3NMYXllcikKIHsKLSAgICBtX2Nvb3JkaW5hdG9yLT5zZXRSb290Q29tcG9zaXRpbmdMYXllcihn
cmFwaGljc0xheWVyKTsKKyAgICBtX2Nvb3JkaW5hdG9yLT5zZXRSb290Q29tcG9zaXRpbmdMYXll
cihncmFwaGljc0xheWVyLCBtX3dlYlBhZ2UtPnBhZ2VPdmVybGF5Q29udHJvbGxlcigpLnJvb3RM
YXllcigpKTsKIH0KIAogdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OmludmFsaWRhdGUo
KQpAQCAtMTU1LDM3ICsxNTUsNiBAQCB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6c2l6
ZURpZENoYW5nZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBuZXdTaXplKQogICAgIHNjaGVkdWxl
TGF5ZXJGbHVzaCgpOwogfQogCi12b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6ZGlkSW5z
dGFsbFBhZ2VPdmVybGF5KFBhZ2VPdmVybGF5KiBwYWdlT3ZlcmxheSkKLXsKLSAgICBBU1NFUlQo
IW1fcGFnZU92ZXJsYXkpOwotICAgIG1fcGFnZU92ZXJsYXkgPSBwYWdlT3ZlcmxheTsKLQotICAg
IGNyZWF0ZVBhZ2VPdmVybGF5TGF5ZXIoKTsKLSAgICBzY2hlZHVsZUxheWVyRmx1c2goKTsKLX0K
LQotdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OmRpZFVuaW5zdGFsbFBhZ2VPdmVybGF5
KFBhZ2VPdmVybGF5KikKLXsKLSAgICBtX3BhZ2VPdmVybGF5ID0gMDsKLQotICAgIGRlc3Ryb3lQ
YWdlT3ZlcmxheUxheWVyKCk7Ci0gICAgc2NoZWR1bGVMYXllckZsdXNoKCk7Ci19Ci0KLXZvaWQg
Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpzZXRQYWdlT3ZlcmxheU5lZWRzRGlzcGxheShQYWdl
T3ZlcmxheSosIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHJlY3QpCi17Ci0gICAgQVNTRVJUKG1f
cGFnZU92ZXJsYXlMYXllcik7Ci0gICAgbV9wYWdlT3ZlcmxheUxheWVyLT5zZXROZWVkc0Rpc3Bs
YXlJblJlY3QocmVjdCk7Ci0gICAgc2NoZWR1bGVMYXllckZsdXNoKCk7Ci19Ci0KLXZvaWQgQ29v
cmRpbmF0ZWRMYXllclRyZWVIb3N0OjpzZXRQYWdlT3ZlcmxheU9wYWNpdHkoUGFnZU92ZXJsYXkq
LCBmbG9hdCB2YWx1ZSkKLXsKLSAgICBBU1NFUlQobV9wYWdlT3ZlcmxheUxheWVyKTsKLSAgICBt
X3BhZ2VPdmVybGF5TGF5ZXItPnNldE9wYWNpdHkodmFsdWUpOwotICAgIHNjaGVkdWxlTGF5ZXJG
bHVzaCgpOwotfQotCiB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6c2V0VmlzaWJsZUNv
bnRlbnRzUmVjdChjb25zdCBGbG9hdFJlY3QmIHJlY3QsIGNvbnN0IEZsb2F0UG9pbnQmIHRyYWpl
Y3RvcnlWZWN0b3IpCiB7CiAgICAgbV9jb29yZGluYXRvci0+c2V0VmlzaWJsZUNvbnRlbnRzUmVj
dChyZWN0LCB0cmFqZWN0b3J5VmVjdG9yKTsKQEAgLTIwNCwxMCArMTczLDkgQEAgdm9pZCBDb29y
ZGluYXRlZExheWVyVHJlZUhvc3Q6OnB1cmdlQmFja2luZ1N0b3JlcygpCiAgICAgbV9jb29yZGlu
YXRvci0+cHVyZ2VCYWNraW5nU3RvcmVzKCk7CiB9CiAKLXZvaWQgQ29vcmRpbmF0ZWRMYXllclRy
ZWVIb3N0OjpkaWRGbHVzaFJvb3RMYXllcigpCit2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9z
dDo6ZGlkRmx1c2hSb290TGF5ZXIoY29uc3QgRmxvYXRSZWN0JiB2aXNpYmxlQ29udGVudFJlY3Qp
CiB7Ci0gICAgaWYgKG1fcGFnZU92ZXJsYXlMYXllcikKLSAgICAgICAgbV9wYWdlT3ZlcmxheUxh
eWVyLT5mbHVzaENvbXBvc2l0aW5nU3RhdGVGb3JUaGlzTGF5ZXJPbmx5KCk7CisgICAgbV93ZWJQ
YWdlLT5wYWdlT3ZlcmxheUNvbnRyb2xsZXIoKS5mbHVzaFBhZ2VPdmVybGF5TGF5ZXJzKHZpc2li
bGVDb250ZW50UmVjdCk7CiB9CiAKIHZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpwZXJm
b3JtU2NoZWR1bGVkTGF5ZXJGbHVzaCgpCkBAIC0yMzgsMjggKzIwNiw2IEBAIHZvaWQgQ29vcmRp
bmF0ZWRMYXllclRyZWVIb3N0OjpsYXllckZsdXNoVGltZXJGaXJlZChUaW1lcjxDb29yZGluYXRl
ZExheWVyVHJlZUhvCiAgICAgcGVyZm9ybVNjaGVkdWxlZExheWVyRmx1c2goKTsKIH0KIAotdm9p
ZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OmNyZWF0ZVBhZ2VPdmVybGF5TGF5ZXIoKQotewot
ICAgIEFTU0VSVCghbV9wYWdlT3ZlcmxheUxheWVyKTsKLQotICAgIG1fcGFnZU92ZXJsYXlMYXll
ciA9IEdyYXBoaWNzTGF5ZXI6OmNyZWF0ZShncmFwaGljc0xheWVyRmFjdG9yeSgpLCBtX2Nvb3Jk
aW5hdG9yLmdldCgpKTsKLSNpZm5kZWYgTkRFQlVHCi0gICAgbV9wYWdlT3ZlcmxheUxheWVyLT5z
ZXROYW1lKCJDb21wb3NpdGluZ0Nvb3JkaW5hdG9yIHBhZ2Ugb3ZlcmxheSBjb250ZW50Iik7Ci0j
ZW5kaWYKLQotICAgIG1fcGFnZU92ZXJsYXlMYXllci0+c2V0RHJhd3NDb250ZW50KHRydWUpOwot
ICAgIG1fcGFnZU92ZXJsYXlMYXllci0+c2V0U2l6ZShtX2Nvb3JkaW5hdG9yLT5yb290TGF5ZXIo
KS0+c2l6ZSgpKTsKLQotICAgIG1fY29vcmRpbmF0b3ItPnJvb3RMYXllcigpLT5hZGRDaGlsZCht
X3BhZ2VPdmVybGF5TGF5ZXIuZ2V0KCkpOwotfQotCi12b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVl
SG9zdDo6ZGVzdHJveVBhZ2VPdmVybGF5TGF5ZXIoKQotewotICAgIEFTU0VSVChtX3BhZ2VPdmVy
bGF5TGF5ZXIpOwotICAgIG1fcGFnZU92ZXJsYXlMYXllci0+cmVtb3ZlRnJvbVBhcmVudCgpOwot
ICAgIG1fcGFnZU92ZXJsYXlMYXllciA9IG51bGxwdHI7Ci19Ci0KIHZvaWQgQ29vcmRpbmF0ZWRM
YXllclRyZWVIb3N0OjpwYWludExheWVyQ29udGVudHMoY29uc3QgR3JhcGhpY3NMYXllciogZ3Jh
cGhpY3NMYXllciwgR3JhcGhpY3NDb250ZXh0JiBncmFwaGljc0NvbnRleHQsIGNvbnN0IEludFJl
Y3QmIGNsaXBSZWN0KQogewogfQpAQCAtMjc4LDggKzIyNCw3IEBAIFBhc3NSZWZQdHI8Q29vcmRp
bmF0ZWRTdXJmYWNlPiBDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OmNyZWF0ZUNvb3JkaW5hdGVk
U3VyZmFjCiB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6ZGV2aWNlT3JQYWdlU2NhbGVG
YWN0b3JDaGFuZ2VkKCkKIHsKICAgICBtX2Nvb3JkaW5hdG9yLT5kZXZpY2VPclBhZ2VTY2FsZUZh
Y3RvckNoYW5nZWQoKTsKLSAgICBpZiAobV9wYWdlT3ZlcmxheUxheWVyKQotICAgICAgICBtX3Bh
Z2VPdmVybGF5TGF5ZXItPmRldmljZU9yUGFnZVNjYWxlRmFjdG9yQ2hhbmdlZCgpOworICAgIG1f
d2ViUGFnZS0+cGFnZU92ZXJsYXlDb250cm9sbGVyKCkuZGlkQ2hhbmdlRGV2aWNlU2NhbGVGYWN0
b3IoKTsKIH0KIAogdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OnBhZ2VCYWNrZ3JvdW5k
VHJhbnNwYXJlbmN5Q2hhbmdlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3Qu
aCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNz
L0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5oCmluZGV4IDUxMjgxMGYxYjIyNjk1NWVlY2EzOGYy
OTI4MzM5MGM2MTc2ZTIyZjMuLmRkZDBjYjUyNTQyODNkMjg1NWU0NjA3MGJkNzhmODQ1YjgwOTc4
MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGlu
YXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdC5oCkBAIC01NywxMSArNTcsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29s
IGZvcmNlUmVwYWludEFzeW5jKHVpbnQ2NF90IGNhbGxiYWNrSUQpOwogICAgIHZpcnR1YWwgdm9p
ZCBzaXplRGlkQ2hhbmdlKGNvbnN0IFdlYkNvcmU6OkludFNpemUmIG5ld1NpemUpOwogCi0gICAg
dmlydHVhbCB2b2lkIGRpZEluc3RhbGxQYWdlT3ZlcmxheShQYWdlT3ZlcmxheSopOwotICAgIHZp
cnR1YWwgdm9pZCBkaWRVbmluc3RhbGxQYWdlT3ZlcmxheShQYWdlT3ZlcmxheSopOwotICAgIHZp
cnR1YWwgdm9pZCBzZXRQYWdlT3ZlcmxheU5lZWRzRGlzcGxheShQYWdlT3ZlcmxheSosIGNvbnN0
IFdlYkNvcmU6OkludFJlY3QmKTsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0UGFnZU92ZXJsYXlPcGFj
aXR5KFBhZ2VPdmVybGF5KiwgZmxvYXQpOwotCiAgICAgdmlydHVhbCB2b2lkIHBhdXNlUmVuZGVy
aW5nKCkgeyBtX2lzU3VzcGVuZGVkID0gdHJ1ZTsgfQogICAgIHZpcnR1YWwgdm9pZCByZXN1bWVS
ZW5kZXJpbmcoKSB7IG1faXNTdXNwZW5kZWQgPSBmYWxzZTsgc2NoZWR1bGVMYXllckZsdXNoKCk7
IH0KICAgICB2aXJ0dWFsIHZvaWQgZGV2aWNlT3JQYWdlU2NhbGVGYWN0b3JDaGFuZ2VkKCkgb3Zl
cnJpZGU7CkBAIC04Myw4ICs3OCw2IEBAIHByb3RlY3RlZDoKIAogcHJpdmF0ZToKICAgICAvLyBD
b29yZGluYXRlZExheWVyVHJlZUhvc3QKLSAgICB2b2lkIGNyZWF0ZVBhZ2VPdmVybGF5TGF5ZXIo
KTsKLSAgICB2b2lkIGRlc3Ryb3lQYWdlT3ZlcmxheUxheWVyKCk7CiAgICAgdm9pZCBjYW5jZWxQ
ZW5kaW5nTGF5ZXJGbHVzaCgpOwogICAgIHZvaWQgcGVyZm9ybVNjaGVkdWxlZExheWVyRmx1c2go
KTsKICAgICB2b2lkIHNldFZpc2libGVDb250ZW50c1JlY3QoY29uc3QgV2ViQ29yZTo6RmxvYXRS
ZWN0JiwgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYpOwpAQCAtOTUsMTcgKzg4LDEzIEBAIHBy
aXZhdGU6CiAgICAgdm9pZCBsYXllckZsdXNoVGltZXJGaXJlZChXZWJDb3JlOjpUaW1lcjxDb29y
ZGluYXRlZExheWVyVHJlZUhvc3Q+Kik7CiAKICAgICAvLyBDb21wb3NpdGluZ0Nvb3JkaW5hdG9y
OjpDbGllbnQKLSAgICB2aXJ0dWFsIHZvaWQgZGlkRmx1c2hSb290TGF5ZXIoKSBvdmVycmlkZTsK
KyAgICB2aXJ0dWFsIHZvaWQgZGlkRmx1c2hSb290TGF5ZXIoY29uc3QgV2ViQ29yZTo6RmxvYXRS
ZWN0JiB2aXNpYmxlQ29udGVudFJlY3QpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBub3Rp
ZnlGbHVzaFJlcXVpcmVkKCkgb3ZlcnJpZGUgeyBzY2hlZHVsZUxheWVyRmx1c2goKTsgfTsKICAg
ICB2aXJ0dWFsIHZvaWQgY29tbWl0U2NlbmVTdGF0ZShjb25zdCBXZWJDb3JlOjpDb29yZGluYXRl
ZEdyYXBoaWNzU3RhdGUmKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgcGFpbnRMYXllckNv
bnRlbnRzKGNvbnN0IFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXIqLCBXZWJDb3JlOjpHcmFwaGljc0Nv
bnRleHQmLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBjbGlwUmVjdCkgb3ZlcnJpZGU7CiAKICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6Q29tcG9zaXRpbmdDb29yZGluYXRvcj4gbV9jb29y
ZGluYXRvcjsKIAotICAgIC8vIFRoZSBwYWdlIG92ZXJsYXkgbGF5ZXIuIFdpbGwgYmUgbnVsbCBp
ZiB0aGVyZSdzIG5vIHBhZ2Ugb3ZlcmxheS4KLSAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6
R3JhcGhpY3NMYXllcj4gbV9wYWdlT3ZlcmxheUxheWVyOwotICAgIFJlZlB0cjxQYWdlT3Zlcmxh
eT4gbV9wYWdlT3ZlcmxheTsKLQogICAgIGJvb2wgbV9ub3RpZnlBZnRlclNjaGVkdWxlZExheWVy
Rmx1c2g7CiAgICAgYm9vbCBtX2lzVmFsaWQ7CiAgICAgYm9vbCBtX2lzU3VzcGVuZGVkOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3Qu
aCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0LmgKaW5k
ZXggOTg0NzgyZTY2Nzg0NjA5YjhkYzIyMDJlNmNiOTkzNmJhNTg5ZTliOC4uOWFhZGY2OWRmYTQ1
YTM5MGVmYWQ3MmM1YWY4ZmQ0ODIzNTQzMzk2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5oCkBAIC03NCw5ICs3NCw5IEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIHZvaWQgZGV2aWNlT3JQYWdlU2NhbGVGYWN0b3JDaGFuZ2VkKCkgPSAw
OwogICAgIHZpcnR1YWwgdm9pZCBwYWdlQmFja2dyb3VuZFRyYW5zcGFyZW5jeUNoYW5nZWQoKSA9
IDA7CiAKLSAgICB2aXJ0dWFsIHZvaWQgZGlkSW5zdGFsbFBhZ2VPdmVybGF5KFBhZ2VPdmVybGF5
KikgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBkaWRVbmluc3RhbGxQYWdlT3ZlcmxheShQYWdlT3Zl
cmxheSopID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0UGFnZU92ZXJsYXlOZWVkc0Rpc3BsYXko
UGFnZU92ZXJsYXkqLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JikgPSAwOworICAgIHZpcnR1YWwg
dm9pZCBkaWRJbnN0YWxsUGFnZU92ZXJsYXkoUGFnZU92ZXJsYXkqKSB7IH0KKyAgICB2aXJ0dWFs
IHZvaWQgZGlkVW5pbnN0YWxsUGFnZU92ZXJsYXkoUGFnZU92ZXJsYXkqKSB7IH0KKyAgICB2aXJ0
dWFsIHZvaWQgc2V0UGFnZU92ZXJsYXlOZWVkc0Rpc3BsYXkoUGFnZU92ZXJsYXkqLCBjb25zdCBX
ZWJDb3JlOjpJbnRSZWN0JikgeyB9CiAgICAgdmlydHVhbCB2b2lkIHNldFBhZ2VPdmVybGF5T3Bh
Y2l0eShQYWdlT3ZlcmxheSosIGZsb2F0KSB7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBwYXVzZVJl
bmRlcmluZygpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1BhZ2VPdmVybGF5Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvUGFnZU92ZXJsYXlDb250cm9sbGVyLmNwcAppbmRleCA1OTQ5ZGZlZDU4NDRhMWQ2
ZTdkYjA5MGI1NDBhZjJmN2RiODI5ZDFlLi40MzBlNDg0YzRiZjhmYmJkYTNjNzM5Y2Q4M2RhOTFh
ODQ0MmY4Mjg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
UGFnZU92ZXJsYXlDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvUGFnZU92ZXJsYXlDb250cm9sbGVyLmNwcApAQCAtMjIxLDcgKzIyMSw3IEBAIHZv
aWQgUGFnZU92ZXJsYXlDb250cm9sbGVyOjpkaWRTY3JvbGxGcmFtZShGcmFtZSogZnJhbWUpCiAg
ICAgfQogfQogCi12b2lkIFBhZ2VPdmVybGF5Q29udHJvbGxlcjo6Zmx1c2hQYWdlT3ZlcmxheUxh
eWVycyhGbG9hdFJlY3QgdmlzaWJsZVJlY3QpCit2b2lkIFBhZ2VPdmVybGF5Q29udHJvbGxlcjo6
Zmx1c2hQYWdlT3ZlcmxheUxheWVycyhjb25zdCBGbG9hdFJlY3QmIHZpc2libGVSZWN0KQogewog
ICAgIG1fdmlld092ZXJsYXlSb290TGF5ZXItPmZsdXNoQ29tcG9zaXRpbmdTdGF0ZSh2aXNpYmxl
UmVjdCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
UGFnZU92ZXJsYXlDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvUGFnZU92ZXJsYXlDb250cm9sbGVyLmgKaW5kZXggZjA0YjcyNDUyNDdlYTYzNjE2MDY5ZDY4
ZWUwNGVhOGRiZGZjMDVjNi4uOGY1YzVlZGNjODc2ZDM3ZTRmZjNkNTdkZTRmYjNjYWRjNWNjOTVh
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1BhZ2VPdmVy
bGF5Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Q
YWdlT3ZlcmxheUNvbnRyb2xsZXIuaApAQCAtNjYsNyArNjYsNyBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBkaWRTY3JvbGxGcmFtZShXZWJDb3JlOjpGcmFtZSopOwogICAgIHZvaWQgZGlkQ2hhbmdlT3Zl
cmxheUZyYW1lKFBhZ2VPdmVybGF5Kik7CiAKLSAgICB2b2lkIGZsdXNoUGFnZU92ZXJsYXlMYXll
cnMoV2ViQ29yZTo6RmxvYXRSZWN0KTsKKyAgICB2b2lkIGZsdXNoUGFnZU92ZXJsYXlMYXllcnMo
Y29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0Jik7CiAKICAgICBib29sIGhhbmRsZU1vdXNlRXZlbnQo
Y29uc3QgV2ViTW91c2VFdmVudCYpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>229235</attachid>
            <date>2014-04-13 09:05:20 -0700</date>
            <delta_ts>2014-04-14 00:59:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-131425-20140414010458.patch</filename>
            <type>text/plain</type>
            <size>20405</size>
            <attacher name="Hyowon Kim">hw1008.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY3MTk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmE3ZmE2MDI2M2RmNWQ0
MmM1ZDBhY2E0YjY5ZTQwZmM4YTU1MDBjYS4uZmU4YmM1MTI3YTJlOWJiMzNlMDQyZDc2NTg2NDEx
ZTE1MjQ1MTZiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE0LTA0LTEzICBIeW93
b24gS2ltICA8aHcxMDA4LmtpbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBNYWtlIHBhZ2Ugb3Zl
cmxheSBmdW5jdGlvbmFsaXR5IHdvcmtpbmcgb24gY29vcmRpbmF0ZWQgZ3JhcGhpY3MuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzE0MjUKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQYWdlIG92ZXJsYXkg
ZnVuY3Rpb25hbGl0eSBkaWQgbm90IHdvcmsgb24gY29vcmRpbmF0ZWQgZ3JhcGhpY3Mgc2luY2Ug
cjE2Njk3NS4KKyAgICAgICAgVGhpcyBwYXRjaCByZW1vdmVzIGRlcHJlY2F0ZWQgY29kZSByZWxh
dGVkIHRvIHRoZSBQYWdlT3ZlcmxheSBHcmFwaGljc0xheWVyIG1hbmFnZW1lbnQuCisgICAgICAg
IGFuZCBtYWtlcyBDb29yZGluYXRlZExheWVyVHJlZUhvc3QgdXNlIFBhZ2VPdmVybGF5Q29udHJv
bGxlci4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9D
b21wb3NpdGluZ0Nvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbXBvc2l0aW5n
Q29vcmRpbmF0b3I6OnNldFJvb3RDb21wb3NpdGluZ0xheWVyKToKKyAgICAgICAgKFdlYkNvcmU6
OkNvbXBvc2l0aW5nQ29vcmRpbmF0b3I6OmZsdXNoUGVuZGluZ0xheWVyQ2hhbmdlcyk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0NvbXBvc2l0aW5nQ29v
cmRpbmF0b3IuaDoKKwogMjAxNC0wNC0xMyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubi5mYWJsZXRA
Y3JmLmNhbm9uLmZyPgogCiAgICAgICAgIFtHU3RyZWFtZXJdIE5vIENPUlMgc3VwcG9ydCBmb3Ig
bWVkaWEgZWxlbWVudHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBhNWYzZWY5NjgyNzEyNDU1YmRkMGU3NjRkZDI4
YzUyYWUyMDYxMzg1Li42YWZmYjU3OWIyN2UwMjAyY2RmMTVkNTc1YmJmZDNhZGEzN2M5NDQ4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsNjUgQEAKKzIwMTQtMDQtMTMgIEh5b3dvbiBLaW0gIDxodzEw
MDgua2ltQHNhbXN1bmcuY29tPgorCisgICAgICAgIE1ha2UgcGFnZSBvdmVybGF5IGZ1bmN0aW9u
YWxpdHkgd29ya2luZyBvbiBjb29yZGluYXRlZCBncmFwaGljcy4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMTQyNQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBhZ2Ugb3ZlcmxheSBmdW5jdGlvbmFsaXR5
IGRpZCBub3Qgd29yayBvbiBjb29yZGluYXRlZCBncmFwaGljcyBzaW5jZSByMTY2OTc1LgorICAg
ICAgICBUaGlzIHBhdGNoIHJlbW92ZXMgZGVwcmVjYXRlZCBjb2RlIHJlbGF0ZWQgdG8gdGhlIFBh
Z2VPdmVybGF5IEdyYXBoaWNzTGF5ZXIgbWFuYWdlbWVudC4KKyAgICAgICAgYW5kIG1ha2VzIENv
b3JkaW5hdGVkTGF5ZXJUcmVlSG9zdCB1c2UgUGFnZU92ZXJsYXlDb250cm9sbGVyLgorCisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRE
cmF3aW5nQXJlYS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkRHJhd2luZ0FyZWE6
OmRpZEluc3RhbGxQYWdlT3ZlcmxheSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OkNvb3Jk
aW5hdGVkRHJhd2luZ0FyZWE6OmRpZFVuaW5zdGFsbFBhZ2VPdmVybGF5KTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWREcmF3aW5nQXJlYTo6c2V0UGFnZU92ZXJsYXlOZWVk
c0Rpc3BsYXkpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZERyYXdpbmdB
cmVhOjpzZXRQYWdlT3ZlcmxheU9wYWNpdHkpOiBEZWxldGVkLgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkRHJhd2luZ0FyZWEuaDoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGlu
YXRlZExheWVyVHJlZUhvc3QuY3BwOgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZExheWVy
VHJlZUhvc3Q6OnNldFJvb3RDb21wb3NpdGluZ0xheWVyKToKKyAgICAgICAgKFdlYktpdDo6Q29v
cmRpbmF0ZWRMYXllclRyZWVIb3N0OjpkaWRGbHVzaFJvb3RMYXllcik6CisgICAgICAgIChXZWJL
aXQ6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6ZGV2aWNlT3JQYWdlU2NhbGVGYWN0b3JDaGFu
Z2VkKToKKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpkaWRJbnN0
YWxsUGFnZU92ZXJsYXkpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZExh
eWVyVHJlZUhvc3Q6OmRpZFVuaW5zdGFsbFBhZ2VPdmVybGF5KTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpzZXRQYWdlT3ZlcmxheU5lZWRzRGlz
cGxheSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9z
dDo6c2V0UGFnZU92ZXJsYXlPcGFjaXR5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6Q29v
cmRpbmF0ZWRMYXllclRyZWVIb3N0OjpjcmVhdGVQYWdlT3ZlcmxheUxheWVyKTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpkZXN0cm95UGFnZU92
ZXJsYXlMYXllcik6IERlbGV0ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0Lmg6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuaDoKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJU
cmVlSG9zdDo6ZGlkSW5zdGFsbFBhZ2VPdmVybGF5KToKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJU
cmVlSG9zdDo6ZGlkVW5pbnN0YWxsUGFnZU92ZXJsYXkpOgorICAgICAgICAoV2ViS2l0OjpMYXll
clRyZWVIb3N0OjpzZXRQYWdlT3ZlcmxheU5lZWRzRGlzcGxheSk6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL1BhZ2VPdmVybGF5Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6
OlBhZ2VPdmVybGF5Q29udHJvbGxlcjo6Zmx1c2hQYWdlT3ZlcmxheUxheWVycyk6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJQYWdlL1BhZ2VPdmVybGF5Q29udHJvbGxlci5oOgorCisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWREcmF3
aW5nQXJlYS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkRHJhd2luZ0FyZWE6Om1h
aW5GcmFtZUNvbnRlbnRTaXplQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVk
RHJhd2luZ0FyZWE6OmRpZEluc3RhbGxQYWdlT3ZlcmxheSk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJLaXQ6OkNvb3JkaW5hdGVkRHJhd2luZ0FyZWE6OmRpZFVuaW5zdGFsbFBhZ2VPdmVybGF5KTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWREcmF3aW5nQXJlYTo6c2V0UGFn
ZU92ZXJsYXlOZWVkc0Rpc3BsYXkpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpDb29yZGlu
YXRlZERyYXdpbmdBcmVhOjpzZXRQYWdlT3ZlcmxheU9wYWNpdHkpOiBEZWxldGVkLgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkRHJh
d2luZ0FyZWEuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFw
aGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuY3BwOgorICAgICAgICAoV2ViS2l0OjpDb29y
ZGluYXRlZExheWVyVHJlZUhvc3Q6OnNldFJvb3RDb21wb3NpdGluZ0xheWVyKToKKyAgICAgICAg
KFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpkaWRGbHVzaFJvb3RMYXllcik6Cisg
ICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6ZGV2aWNlT3JQYWdlU2Nh
bGVGYWN0b3JDaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVI
b3N0OjpkaWRJbnN0YWxsUGFnZU92ZXJsYXkpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpD
b29yZGluYXRlZExheWVyVHJlZUhvc3Q6OmRpZFVuaW5zdGFsbFBhZ2VPdmVybGF5KTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpzZXRQYWdlT3Zl
cmxheU5lZWRzRGlzcGxheSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVk
TGF5ZXJUcmVlSG9zdDo6c2V0UGFnZU92ZXJsYXlPcGFjaXR5KTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpjcmVhdGVQYWdlT3ZlcmxheUxheWVy
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0Ojpk
ZXN0cm95UGFnZU92ZXJsYXlMYXllcik6IERlbGV0ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0Lmg6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuaDoKKyAgICAgICAgKFdl
YktpdDo6TGF5ZXJUcmVlSG9zdDo6ZGlkSW5zdGFsbFBhZ2VPdmVybGF5KToKKyAgICAgICAgKFdl
YktpdDo6TGF5ZXJUcmVlSG9zdDo6ZGlkVW5pbnN0YWxsUGFnZU92ZXJsYXkpOgorICAgICAgICAo
V2ViS2l0OjpMYXllclRyZWVIb3N0OjpzZXRQYWdlT3ZlcmxheU5lZWRzRGlzcGxheSk6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1BhZ2VPdmVybGF5Q29udHJvbGxlci5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OlBhZ2VPdmVybGF5Q29udHJvbGxlcjo6Zmx1c2hQYWdlT3ZlcmxheUxheWVy
cyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1BhZ2VPdmVybGF5Q29udHJvbGxlci5o
OgorCiAyMDE0LTA0LTEzICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNv
bT4KIAogICAgICAgICBVbnJldmlld2VkLiBGaXggR1RLKyBidWlsZCB3aXRoIHJlY2VudCBjYWly
byBhbmQgR1RLKyBhZnRlciByMTY3MTY4LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3Iu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVk
L0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwCmluZGV4IGNjOTc3MDQ4Mjg3MTRkOTkxMGU0OTRh
NDZjNjJiMGQwZDZmN2NkMTcuLmI2MjI2NGNiNzg1NzVkNWJiODIyMDE1OTM1NzlkODM2ODQ4YzVh
YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9j
b29yZGluYXRlZC9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29tcG9zaXRpbmdDb29yZGlu
YXRvci5jcHAKQEAgLTcyLDE0ICs3MiwxNyBAQCBDb21wb3NpdGluZ0Nvb3JkaW5hdG9yOjpDb21w
b3NpdGluZ0Nvb3JkaW5hdG9yKFBhZ2UqIHBhZ2UsIENvbXBvc2l0aW5nQ29vcmRpbmF0bwogICAg
IENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6c2V0U2hvdWxkU3VwcG9ydENvbnRlbnRzVGlsaW5n
KHRydWUpOwogfQogCi12b2lkIENvbXBvc2l0aW5nQ29vcmRpbmF0b3I6OnNldFJvb3RDb21wb3Np
dGluZ0xheWVyKEdyYXBoaWNzTGF5ZXIqIGxheWVyKQordm9pZCBDb21wb3NpdGluZ0Nvb3JkaW5h
dG9yOjpzZXRSb290Q29tcG9zaXRpbmdMYXllcihHcmFwaGljc0xheWVyKiBDb21wb3NpdGluZ0xh
eWVyLCBHcmFwaGljc0xheWVyKiBvdmVybGF5TGF5ZXIpCiB7CiAgICAgaWYgKG1fcm9vdENvbXBv
c2l0aW5nTGF5ZXIpCiAgICAgICAgIG1fcm9vdENvbXBvc2l0aW5nTGF5ZXItPnJlbW92ZUZyb21Q
YXJlbnQoKTsKIAotICAgIG1fcm9vdENvbXBvc2l0aW5nTGF5ZXIgPSBsYXllcjsKKyAgICBtX3Jv
b3RDb21wb3NpdGluZ0xheWVyID0gQ29tcG9zaXRpbmdMYXllcjsKICAgICBpZiAobV9yb290Q29t
cG9zaXRpbmdMYXllcikKICAgICAgICAgbV9yb290TGF5ZXItPmFkZENoaWxkQXRJbmRleChtX3Jv
b3RDb21wb3NpdGluZ0xheWVyLCAwKTsKKworICAgIGlmIChvdmVybGF5TGF5ZXIpCisgICAgICAg
IG1fcm9vdExheWVyLT5hZGRDaGlsZChvdmVybGF5TGF5ZXIpOwogfQogCiB2b2lkIENvbXBvc2l0
aW5nQ29vcmRpbmF0b3I6OnNpemVEaWRDaGFuZ2UoY29uc3QgSW50U2l6ZSYgbmV3U2l6ZSkKQEAg
LTk1LDcgKzk4LDcgQEAgYm9vbCBDb21wb3NpdGluZ0Nvb3JkaW5hdG9yOjpmbHVzaFBlbmRpbmdM
YXllckNoYW5nZXMoKQogICAgIGluaXRpYWxpemVSb290Q29tcG9zaXRpbmdMYXllcklmTmVlZGVk
KCk7CiAKICAgICBtX3Jvb3RMYXllci0+Zmx1c2hDb21wb3NpdGluZ1N0YXRlRm9yVGhpc0xheWVy
T25seSgpOwotICAgIG1fY2xpZW50LT5kaWRGbHVzaFJvb3RMYXllcigpOworICAgIG1fY2xpZW50
LT5kaWRGbHVzaFJvb3RMYXllcihtX3Zpc2libGVDb250ZW50c1JlY3QpOwogCiAgICAgYm9vbCBk
aWRTeW5jID0gbV9wYWdlLT5tYWluRnJhbWUoKS52aWV3KCktPmZsdXNoQ29tcG9zaXRpbmdTdGF0
ZUluY2x1ZGluZ1N1YmZyYW1lcygpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29tcG9zaXRpbmdDb29yZGluYXRvci5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nv
bXBvc2l0aW5nQ29vcmRpbmF0b3IuaAppbmRleCA0YmM1NjI1NzJmMjkwNDY0ZTUwZjc5MTAyODRk
OWQzZDNhZTkyMjEyLi5jMTRlYWQ0ZDI1ODYwZGI2OWI3MDAzYTdkMzI0NDM3OTNiODI5MjVlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRp
bmF0ZWQvQ29tcG9zaXRpbmdDb29yZGluYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmgK
QEAgLTU1LDcgKzU1LDcgQEAgY2xhc3MgQ29tcG9zaXRpbmdDb29yZGluYXRvciA6IHB1YmxpYyBH
cmFwaGljc0xheWVyQ2xpZW50CiBwdWJsaWM6CiAgICAgY2xhc3MgQ2xpZW50IHsKICAgICBwdWJs
aWM6Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBkaWRGbHVzaFJvb3RMYXllcigpID0gMDsKKyAgICAg
ICAgdmlydHVhbCB2b2lkIGRpZEZsdXNoUm9vdExheWVyKGNvbnN0IEZsb2F0UmVjdCYgdmlzaWJs
ZUNvbnRlbnRSZWN0KSA9IDA7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBub3RpZnlGbHVzaFJlcXVp
cmVkKCkgPSAwOwogICAgICAgICB2aXJ0dWFsIHZvaWQgY29tbWl0U2NlbmVTdGF0ZShjb25zdCBD
b29yZGluYXRlZEdyYXBoaWNzU3RhdGUmKSA9IDA7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBwYWlu
dExheWVyQ29udGVudHMoY29uc3QgR3JhcGhpY3NMYXllciosIEdyYXBoaWNzQ29udGV4dCYsIGNv
bnN0IEludFJlY3QmIGNsaXBSZWN0KSA9IDA7CkBAIC02NCw3ICs2NCw3IEBAIHB1YmxpYzoKICAg
ICBDb21wb3NpdGluZ0Nvb3JkaW5hdG9yKFBhZ2UqLCBDb21wb3NpdGluZ0Nvb3JkaW5hdG9yOjpD
bGllbnQqKTsKICAgICB2aXJ0dWFsIH5Db21wb3NpdGluZ0Nvb3JkaW5hdG9yKCk7CiAKLSAgICB2
b2lkIHNldFJvb3RDb21wb3NpdGluZ0xheWVyKEdyYXBoaWNzTGF5ZXIqKTsKKyAgICB2b2lkIHNl
dFJvb3RDb21wb3NpdGluZ0xheWVyKEdyYXBoaWNzTGF5ZXIqLCBHcmFwaGljc0xheWVyKik7CiAg
ICAgdm9pZCBzaXplRGlkQ2hhbmdlKGNvbnN0IEludFNpemUmIG5ld1NpemUpOwogICAgIHZvaWQg
ZGV2aWNlT3JQYWdlU2NhbGVGYWN0b3JDaGFuZ2VkKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVk
RHJhd2luZ0FyZWEuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWREcmF3aW5nQXJlYS5jcHAKaW5kZXggNjc2NGQzZmU3
ZDYyMDZhNWZhMzlkNGQ0ZTc4NThjZWFkMDU0MjVmZS4uZjE2MjM4OGY3NjAwZGFlNmVlNzA3MmEz
N2FjYjI0MzEyMjZjMGFmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWREcmF3aW5nQXJlYS5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
Q29vcmRpbmF0ZWREcmF3aW5nQXJlYS5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKIAogI2luY2x1ZGUg
IkRyYXdpbmdBcmVhUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgIkxheWVyVHJlZUNvbnRleHQu
aCIKKyNpbmNsdWRlICJQYWdlT3ZlcmxheUNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJTaGFyZWFi
bGVCaXRtYXAuaCIKICNpbmNsdWRlICJVcGRhdGVJbmZvLmgiCiAjaW5jbHVkZSAiV2ViUGFnZS5o
IgpAQCAtMjEzLDM2ICsyMTQsNiBAQCBib29sIENvb3JkaW5hdGVkRHJhd2luZ0FyZWE6OmZvcmNl
UmVwYWludEFzeW5jKHVpbnQ2NF90IGNhbGxiYWNrSUQpCiAgICAgcmV0dXJuIG1fbGF5ZXJUcmVl
SG9zdCAmJiBtX2xheWVyVHJlZUhvc3QtPmZvcmNlUmVwYWludEFzeW5jKGNhbGxiYWNrSUQpOwog
fQogCi12b2lkIENvb3JkaW5hdGVkRHJhd2luZ0FyZWE6OmRpZEluc3RhbGxQYWdlT3ZlcmxheShQ
YWdlT3ZlcmxheSogcGFnZU92ZXJsYXkpCi17Ci0gICAgaWYgKG1fbGF5ZXJUcmVlSG9zdCkKLSAg
ICAgICAgbV9sYXllclRyZWVIb3N0LT5kaWRJbnN0YWxsUGFnZU92ZXJsYXkocGFnZU92ZXJsYXkp
OwotfQotCi12b2lkIENvb3JkaW5hdGVkRHJhd2luZ0FyZWE6OmRpZFVuaW5zdGFsbFBhZ2VPdmVy
bGF5KFBhZ2VPdmVybGF5KiBwYWdlT3ZlcmxheSkKLXsKLSAgICBpZiAobV9sYXllclRyZWVIb3N0
KQotICAgICAgICBtX2xheWVyVHJlZUhvc3QtPmRpZFVuaW5zdGFsbFBhZ2VPdmVybGF5KHBhZ2VP
dmVybGF5KTsKLQotICAgIHNldE5lZWRzRGlzcGxheSgpOwotfQotCi12b2lkIENvb3JkaW5hdGVk
RHJhd2luZ0FyZWE6OnNldFBhZ2VPdmVybGF5TmVlZHNEaXNwbGF5KFBhZ2VPdmVybGF5KiBwYWdl
T3ZlcmxheSwgY29uc3QgSW50UmVjdCYgcmVjdCkKLXsKLSAgICBpZiAobV9sYXllclRyZWVIb3N0
KSB7Ci0gICAgICAgIG1fbGF5ZXJUcmVlSG9zdC0+c2V0UGFnZU92ZXJsYXlOZWVkc0Rpc3BsYXko
cGFnZU92ZXJsYXksIHJlY3QpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgc2V0TmVl
ZHNEaXNwbGF5SW5SZWN0KHJlY3QpOwotfQotCi12b2lkIENvb3JkaW5hdGVkRHJhd2luZ0FyZWE6
OnNldFBhZ2VPdmVybGF5T3BhY2l0eShQYWdlT3ZlcmxheSogcGFnZU92ZXJsYXksIGZsb2F0IHZh
bHVlKQotewotICAgIGlmIChtX2xheWVyVHJlZUhvc3QpCi0gICAgICAgIG1fbGF5ZXJUcmVlSG9z
dC0+c2V0UGFnZU92ZXJsYXlPcGFjaXR5KHBhZ2VPdmVybGF5LCB2YWx1ZSk7Ci19Ci0KIHZvaWQg
Q29vcmRpbmF0ZWREcmF3aW5nQXJlYTo6c2V0UGFpbnRpbmdFbmFibGVkKGJvb2wgcGFpbnRpbmdF
bmFibGVkKQogewogICAgIG1faXNQYWludGluZ0VuYWJsZWQgPSBwYWludGluZ0VuYWJsZWQ7CkBA
IC0yNTMsNiArMjI0LDExIEBAIHZvaWQgQ29vcmRpbmF0ZWREcmF3aW5nQXJlYTo6dXBkYXRlUHJl
ZmVyZW5jZXMoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYgc3RvcmUpCiAgICAgbV93ZWJQYWdl
LT5jb3JlUGFnZSgpLT5zZXR0aW5ncygpLnNldEZvcmNlQ29tcG9zaXRpbmdNb2RlKHN0b3JlLmdl
dEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6Zm9yY2VDb21wb3NpdGluZ01vZGVL
ZXkoKSkgJiYgTGF5ZXJUcmVlSG9zdDo6c3VwcG9ydHNBY2NlbGVyYXRlZENvbXBvc2l0aW5nKCkp
OwogfQogCit2b2lkIENvb3JkaW5hdGVkRHJhd2luZ0FyZWE6Om1haW5GcmFtZUNvbnRlbnRTaXpl
Q2hhbmdlZChjb25zdCBXZWJDb3JlOjpJbnRTaXplJikKK3sKKyAgICBtX3dlYlBhZ2UtPnBhZ2VP
dmVybGF5Q29udHJvbGxlcigpLmRpZENoYW5nZURvY3VtZW50U2l6ZSgpOworfQorCiB2b2lkIENv
b3JkaW5hdGVkRHJhd2luZ0FyZWE6OmxheWVySG9zdERpZEZsdXNoTGF5ZXJzKCkKIHsKICAgICBB
U1NFUlQobV9sYXllclRyZWVIb3N0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkRHJhd2luZ0FyZWEu
aCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNz
L0Nvb3JkaW5hdGVkRHJhd2luZ0FyZWEuaAppbmRleCBkMzA2ZTg2MjBlYzExNDMzOTJiNGIxMzFk
M2UxNmFlNjE4YjViYWMxLi5iM2IzZWQ2MWEyMDc1ZjQ3NTk4YzBhZjEwMWNlNzU5NjY3MDc1ODBj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0
ZWRHcmFwaGljcy9Db29yZGluYXRlZERyYXdpbmdBcmVhLmgKKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWREcmF3aW5n
QXJlYS5oCkBAIC01NSwxMyArNTUsOSBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBmb3Jj
ZVJlcGFpbnQoKTsKICAgICB2aXJ0dWFsIGJvb2wgZm9yY2VSZXBhaW50QXN5bmModWludDY0X3Qg
Y2FsbGJhY2tJRCk7CiAKLSAgICB2aXJ0dWFsIHZvaWQgZGlkSW5zdGFsbFBhZ2VPdmVybGF5KFBh
Z2VPdmVybGF5Kik7Ci0gICAgdmlydHVhbCB2b2lkIGRpZFVuaW5zdGFsbFBhZ2VPdmVybGF5KFBh
Z2VPdmVybGF5Kik7Ci0gICAgdmlydHVhbCB2b2lkIHNldFBhZ2VPdmVybGF5TmVlZHNEaXNwbGF5
KFBhZ2VPdmVybGF5KiwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpOwotICAgIHZpcnR1YWwgdm9p
ZCBzZXRQYWdlT3ZlcmxheU9wYWNpdHkoUGFnZU92ZXJsYXkqLCBmbG9hdCk7Ci0KICAgICB2aXJ0
dWFsIHZvaWQgc2V0UGFpbnRpbmdFbmFibGVkKGJvb2wpOwogICAgIHZpcnR1YWwgdm9pZCB1cGRh
dGVQcmVmZXJlbmNlcyhjb25zdCBXZWJQcmVmZXJlbmNlc1N0b3JlJikgb3ZlcnJpZGU7CisgICAg
dmlydHVhbCB2b2lkIG1haW5GcmFtZUNvbnRlbnRTaXplQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpJ
bnRTaXplJikgb3ZlcnJpZGU7CiAKICAgICB2aXJ0dWFsIFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJG
YWN0b3J5KiBncmFwaGljc0xheWVyRmFjdG9yeSgpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9p
ZCBzZXRSb290Q29tcG9zaXRpbmdMYXllcihXZWJDb3JlOjpHcmFwaGljc0xheWVyKikgb3ZlcnJp
ZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRp
bmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuY3BwIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXll
clRyZWVIb3N0LmNwcAppbmRleCA1N2FkMTA0YjNiZWQ3MTk1MzZmODQzOWIwOGEzY2M2NTRhODIy
MjQ4Li5jMzE1OWFlYmNiOWRhNTdkMGZjMzFlODc2MGQwYTQ2YjZjOTYyMjRkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9D
b29yZGluYXRlZExheWVyVHJlZUhvc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5j
cHAKQEAgLTExMiw3ICsxMTIsNyBAQCB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6c2V0
U2hvdWxkTm90aWZ5QWZ0ZXJOZXh0U2NoZWR1bGVkTGF5ZXJGbHVzaChib29sCiAKIHZvaWQgQ29v
cmRpbmF0ZWRMYXllclRyZWVIb3N0OjpzZXRSb290Q29tcG9zaXRpbmdMYXllcihXZWJDb3JlOjpH
cmFwaGljc0xheWVyKiBncmFwaGljc0xheWVyKQogewotICAgIG1fY29vcmRpbmF0b3ItPnNldFJv
b3RDb21wb3NpdGluZ0xheWVyKGdyYXBoaWNzTGF5ZXIpOworICAgIG1fY29vcmRpbmF0b3ItPnNl
dFJvb3RDb21wb3NpdGluZ0xheWVyKGdyYXBoaWNzTGF5ZXIsIG1fd2ViUGFnZS0+cGFnZU92ZXJs
YXlDb250cm9sbGVyKCkudmlld092ZXJsYXlSb290TGF5ZXIoKSk7CiB9CiAKIHZvaWQgQ29vcmRp
bmF0ZWRMYXllclRyZWVIb3N0OjppbnZhbGlkYXRlKCkKQEAgLTE1NSwzNyArMTU1LDYgQEAgdm9p
ZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OnNpemVEaWRDaGFuZ2UoY29uc3QgV2ViQ29yZTo6
SW50U2l6ZSYgbmV3U2l6ZSkKICAgICBzY2hlZHVsZUxheWVyRmx1c2goKTsKIH0KIAotdm9pZCBD
b29yZGluYXRlZExheWVyVHJlZUhvc3Q6OmRpZEluc3RhbGxQYWdlT3ZlcmxheShQYWdlT3Zlcmxh
eSogcGFnZU92ZXJsYXkpCi17Ci0gICAgQVNTRVJUKCFtX3BhZ2VPdmVybGF5KTsKLSAgICBtX3Bh
Z2VPdmVybGF5ID0gcGFnZU92ZXJsYXk7Ci0KLSAgICBjcmVhdGVQYWdlT3ZlcmxheUxheWVyKCk7
Ci0gICAgc2NoZWR1bGVMYXllckZsdXNoKCk7Ci19Ci0KLXZvaWQgQ29vcmRpbmF0ZWRMYXllclRy
ZWVIb3N0OjpkaWRVbmluc3RhbGxQYWdlT3ZlcmxheShQYWdlT3ZlcmxheSopCi17Ci0gICAgbV9w
YWdlT3ZlcmxheSA9IDA7Ci0KLSAgICBkZXN0cm95UGFnZU92ZXJsYXlMYXllcigpOwotICAgIHNj
aGVkdWxlTGF5ZXJGbHVzaCgpOwotfQotCi12b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6
c2V0UGFnZU92ZXJsYXlOZWVkc0Rpc3BsYXkoUGFnZU92ZXJsYXkqLCBjb25zdCBXZWJDb3JlOjpJ
bnRSZWN0JiByZWN0KQotewotICAgIEFTU0VSVChtX3BhZ2VPdmVybGF5TGF5ZXIpOwotICAgIG1f
cGFnZU92ZXJsYXlMYXllci0+c2V0TmVlZHNEaXNwbGF5SW5SZWN0KHJlY3QpOwotICAgIHNjaGVk
dWxlTGF5ZXJGbHVzaCgpOwotfQotCi12b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6c2V0
UGFnZU92ZXJsYXlPcGFjaXR5KFBhZ2VPdmVybGF5KiwgZmxvYXQgdmFsdWUpCi17Ci0gICAgQVNT
RVJUKG1fcGFnZU92ZXJsYXlMYXllcik7Ci0gICAgbV9wYWdlT3ZlcmxheUxheWVyLT5zZXRPcGFj
aXR5KHZhbHVlKTsKLSAgICBzY2hlZHVsZUxheWVyRmx1c2goKTsKLX0KLQogdm9pZCBDb29yZGlu
YXRlZExheWVyVHJlZUhvc3Q6OnNldFZpc2libGVDb250ZW50c1JlY3QoY29uc3QgRmxvYXRSZWN0
JiByZWN0LCBjb25zdCBGbG9hdFBvaW50JiB0cmFqZWN0b3J5VmVjdG9yKQogewogICAgIG1fY29v
cmRpbmF0b3ItPnNldFZpc2libGVDb250ZW50c1JlY3QocmVjdCwgdHJhamVjdG9yeVZlY3Rvcik7
CkBAIC0yMDQsMTAgKzE3Myw5IEBAIHZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpwdXJn
ZUJhY2tpbmdTdG9yZXMoKQogICAgIG1fY29vcmRpbmF0b3ItPnB1cmdlQmFja2luZ1N0b3Jlcygp
OwogfQogCi12b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6ZGlkRmx1c2hSb290TGF5ZXIo
KQordm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OmRpZEZsdXNoUm9vdExheWVyKGNvbnN0
IEZsb2F0UmVjdCYgdmlzaWJsZUNvbnRlbnRSZWN0KQogewotICAgIGlmIChtX3BhZ2VPdmVybGF5
TGF5ZXIpCi0gICAgICAgIG1fcGFnZU92ZXJsYXlMYXllci0+Zmx1c2hDb21wb3NpdGluZ1N0YXRl
Rm9yVGhpc0xheWVyT25seSgpOworICAgIG1fd2ViUGFnZS0+cGFnZU92ZXJsYXlDb250cm9sbGVy
KCkuZmx1c2hQYWdlT3ZlcmxheUxheWVycyh2aXNpYmxlQ29udGVudFJlY3QpOwogfQogCiB2b2lk
IENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6cGVyZm9ybVNjaGVkdWxlZExheWVyRmx1c2goKQpA
QCAtMjM4LDI4ICsyMDYsNiBAQCB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6bGF5ZXJG
bHVzaFRpbWVyRmlyZWQoVGltZXI8Q29vcmRpbmF0ZWRMYXllclRyZWVIbwogICAgIHBlcmZvcm1T
Y2hlZHVsZWRMYXllckZsdXNoKCk7CiB9CiAKLXZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0
OjpjcmVhdGVQYWdlT3ZlcmxheUxheWVyKCkKLXsKLSAgICBBU1NFUlQoIW1fcGFnZU92ZXJsYXlM
YXllcik7Ci0KLSAgICBtX3BhZ2VPdmVybGF5TGF5ZXIgPSBHcmFwaGljc0xheWVyOjpjcmVhdGUo
Z3JhcGhpY3NMYXllckZhY3RvcnkoKSwgbV9jb29yZGluYXRvci5nZXQoKSk7Ci0jaWZuZGVmIE5E
RUJVRwotICAgIG1fcGFnZU92ZXJsYXlMYXllci0+c2V0TmFtZSgiQ29tcG9zaXRpbmdDb29yZGlu
YXRvciBwYWdlIG92ZXJsYXkgY29udGVudCIpOwotI2VuZGlmCi0KLSAgICBtX3BhZ2VPdmVybGF5
TGF5ZXItPnNldERyYXdzQ29udGVudCh0cnVlKTsKLSAgICBtX3BhZ2VPdmVybGF5TGF5ZXItPnNl
dFNpemUobV9jb29yZGluYXRvci0+cm9vdExheWVyKCktPnNpemUoKSk7Ci0KLSAgICBtX2Nvb3Jk
aW5hdG9yLT5yb290TGF5ZXIoKS0+YWRkQ2hpbGQobV9wYWdlT3ZlcmxheUxheWVyLmdldCgpKTsK
LX0KLQotdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OmRlc3Ryb3lQYWdlT3ZlcmxheUxh
eWVyKCkKLXsKLSAgICBBU1NFUlQobV9wYWdlT3ZlcmxheUxheWVyKTsKLSAgICBtX3BhZ2VPdmVy
bGF5TGF5ZXItPnJlbW92ZUZyb21QYXJlbnQoKTsKLSAgICBtX3BhZ2VPdmVybGF5TGF5ZXIgPSBu
dWxscHRyOwotfQotCiB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6cGFpbnRMYXllckNv
bnRlbnRzKGNvbnN0IEdyYXBoaWNzTGF5ZXIqIGdyYXBoaWNzTGF5ZXIsIEdyYXBoaWNzQ29udGV4
dCYgZ3JhcGhpY3NDb250ZXh0LCBjb25zdCBJbnRSZWN0JiBjbGlwUmVjdCkKIHsKIH0KQEAgLTI3
OCw4ICsyMjQsNyBAQCBQYXNzUmVmUHRyPENvb3JkaW5hdGVkU3VyZmFjZT4gQ29vcmRpbmF0ZWRM
YXllclRyZWVIb3N0OjpjcmVhdGVDb29yZGluYXRlZFN1cmZhYwogdm9pZCBDb29yZGluYXRlZExh
eWVyVHJlZUhvc3Q6OmRldmljZU9yUGFnZVNjYWxlRmFjdG9yQ2hhbmdlZCgpCiB7CiAgICAgbV9j
b29yZGluYXRvci0+ZGV2aWNlT3JQYWdlU2NhbGVGYWN0b3JDaGFuZ2VkKCk7Ci0gICAgaWYgKG1f
cGFnZU92ZXJsYXlMYXllcikKLSAgICAgICAgbV9wYWdlT3ZlcmxheUxheWVyLT5kZXZpY2VPclBh
Z2VTY2FsZUZhY3RvckNoYW5nZWQoKTsKKyAgICBtX3dlYlBhZ2UtPnBhZ2VPdmVybGF5Q29udHJv
bGxlcigpLmRpZENoYW5nZURldmljZVNjYWxlRmFjdG9yKCk7CiB9CiAKIHZvaWQgQ29vcmRpbmF0
ZWRMYXllclRyZWVIb3N0OjpwYWdlQmFja2dyb3VuZFRyYW5zcGFyZW5jeUNoYW5nZWQoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3Qu
aAppbmRleCA1MTI4MTBmMWIyMjY5NTVlZWNhMzhmMjkyODMzOTBjNjE3NmUyMmYzLi5kZGQwY2I1
MjU0MjgzZDI4NTVlNDYwNzBiZDc4Zjg0NWI4MDk3ODIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExh
eWVyVHJlZUhvc3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29v
cmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuaApAQCAtNTcsMTEgKzU3
LDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBmb3JjZVJlcGFpbnRBc3luYyh1aW50NjRf
dCBjYWxsYmFja0lEKTsKICAgICB2aXJ0dWFsIHZvaWQgc2l6ZURpZENoYW5nZShjb25zdCBXZWJD
b3JlOjpJbnRTaXplJiBuZXdTaXplKTsKIAotICAgIHZpcnR1YWwgdm9pZCBkaWRJbnN0YWxsUGFn
ZU92ZXJsYXkoUGFnZU92ZXJsYXkqKTsKLSAgICB2aXJ0dWFsIHZvaWQgZGlkVW5pbnN0YWxsUGFn
ZU92ZXJsYXkoUGFnZU92ZXJsYXkqKTsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0UGFnZU92ZXJsYXlO
ZWVkc0Rpc3BsYXkoUGFnZU92ZXJsYXkqLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0Jik7Ci0gICAg
dmlydHVhbCB2b2lkIHNldFBhZ2VPdmVybGF5T3BhY2l0eShQYWdlT3ZlcmxheSosIGZsb2F0KTsK
LQogICAgIHZpcnR1YWwgdm9pZCBwYXVzZVJlbmRlcmluZygpIHsgbV9pc1N1c3BlbmRlZCA9IHRy
dWU7IH0KICAgICB2aXJ0dWFsIHZvaWQgcmVzdW1lUmVuZGVyaW5nKCkgeyBtX2lzU3VzcGVuZGVk
ID0gZmFsc2U7IHNjaGVkdWxlTGF5ZXJGbHVzaCgpOyB9CiAgICAgdmlydHVhbCB2b2lkIGRldmlj
ZU9yUGFnZVNjYWxlRmFjdG9yQ2hhbmdlZCgpIG92ZXJyaWRlOwpAQCAtODMsOCArNzgsNiBAQCBw
cm90ZWN0ZWQ6CiAKIHByaXZhdGU6CiAgICAgLy8gQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0Ci0g
ICAgdm9pZCBjcmVhdGVQYWdlT3ZlcmxheUxheWVyKCk7Ci0gICAgdm9pZCBkZXN0cm95UGFnZU92
ZXJsYXlMYXllcigpOwogICAgIHZvaWQgY2FuY2VsUGVuZGluZ0xheWVyRmx1c2goKTsKICAgICB2
b2lkIHBlcmZvcm1TY2hlZHVsZWRMYXllckZsdXNoKCk7CiAgICAgdm9pZCBzZXRWaXNpYmxlQ29u
dGVudHNSZWN0KGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYsIGNvbnN0IFdlYkNvcmU6OkZsb2F0
UG9pbnQmKTsKQEAgLTk1LDE3ICs4OCwxMyBAQCBwcml2YXRlOgogICAgIHZvaWQgbGF5ZXJGbHVz
aFRpbWVyRmlyZWQoV2ViQ29yZTo6VGltZXI8Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0PiopOwog
CiAgICAgLy8gQ29tcG9zaXRpbmdDb29yZGluYXRvcjo6Q2xpZW50Ci0gICAgdmlydHVhbCB2b2lk
IGRpZEZsdXNoUm9vdExheWVyKCkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRpZEZsdXNo
Um9vdExheWVyKGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgdmlzaWJsZUNvbnRlbnRSZWN0KSBv
dmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5Rmx1c2hSZXF1aXJlZCgpIG92ZXJyaWRl
IHsgc2NoZWR1bGVMYXllckZsdXNoKCk7IH07CiAgICAgdmlydHVhbCB2b2lkIGNvbW1pdFNjZW5l
U3RhdGUoY29uc3QgV2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc1N0YXRlJikgb3ZlcnJpZGU7
CiAgICAgdmlydHVhbCB2b2lkIHBhaW50TGF5ZXJDb250ZW50cyhjb25zdCBXZWJDb3JlOjpHcmFw
aGljc0xheWVyKiwgV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0JiwgY29uc3QgV2ViQ29yZTo6SW50
UmVjdCYgY2xpcFJlY3QpIG92ZXJyaWRlOwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6
OkNvbXBvc2l0aW5nQ29vcmRpbmF0b3I+IG1fY29vcmRpbmF0b3I7CiAKLSAgICAvLyBUaGUgcGFn
ZSBvdmVybGF5IGxheWVyLiBXaWxsIGJlIG51bGwgaWYgdGhlcmUncyBubyBwYWdlIG92ZXJsYXku
Ci0gICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI+IG1fcGFnZU92ZXJs
YXlMYXllcjsKLSAgICBSZWZQdHI8UGFnZU92ZXJsYXk+IG1fcGFnZU92ZXJsYXk7Ci0KICAgICBi
b29sIG1fbm90aWZ5QWZ0ZXJTY2hlZHVsZWRMYXllckZsdXNoOwogICAgIGJvb2wgbV9pc1ZhbGlk
OwogICAgIGJvb2wgbV9pc1N1c3BlbmRlZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5oCmluZGV4IDk4NDc4MmU2Njc4NDYwOWI4ZGMyMjAy
ZTZjYjk5MzZiYTU4OWU5YjguLjlhYWRmNjlkZmE0NWEzOTBlZmFkNzJjNWFmOGZkNDgyMzU0MzM5
NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRy
ZWVIb3N0LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJl
ZUhvc3QuaApAQCAtNzQsOSArNzQsOSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRldmlj
ZU9yUGFnZVNjYWxlRmFjdG9yQ2hhbmdlZCgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgcGFnZUJh
Y2tncm91bmRUcmFuc3BhcmVuY3lDaGFuZ2VkKCkgPSAwOwogCi0gICAgdmlydHVhbCB2b2lkIGRp
ZEluc3RhbGxQYWdlT3ZlcmxheShQYWdlT3ZlcmxheSopID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQg
ZGlkVW5pbnN0YWxsUGFnZU92ZXJsYXkoUGFnZU92ZXJsYXkqKSA9IDA7Ci0gICAgdmlydHVhbCB2
b2lkIHNldFBhZ2VPdmVybGF5TmVlZHNEaXNwbGF5KFBhZ2VPdmVybGF5KiwgY29uc3QgV2ViQ29y
ZTo6SW50UmVjdCYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkSW5zdGFsbFBhZ2VPdmVybGF5
KFBhZ2VPdmVybGF5KikgeyB9CisgICAgdmlydHVhbCB2b2lkIGRpZFVuaW5zdGFsbFBhZ2VPdmVy
bGF5KFBhZ2VPdmVybGF5KikgeyB9CisgICAgdmlydHVhbCB2b2lkIHNldFBhZ2VPdmVybGF5TmVl
ZHNEaXNwbGF5KFBhZ2VPdmVybGF5KiwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpIHsgfQogICAg
IHZpcnR1YWwgdm9pZCBzZXRQYWdlT3ZlcmxheU9wYWNpdHkoUGFnZU92ZXJsYXkqLCBmbG9hdCkg
eyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgcGF1c2VSZW5kZXJpbmcoKSB7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9QYWdlT3ZlcmxheUNvbnRyb2xsZXIu
Y3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1BhZ2VPdmVybGF5Q29udHJv
bGxlci5jcHAKaW5kZXggNTk0OWRmZWQ1ODQ0YTFkNmU3ZGIwOTBiNTQwYWYyZjdkYjgyOWQxZS4u
NDMwZTQ4NGM0YmY4ZmJiZGEzYzczOWNkODNkYTkxYTg0NDJmODI4NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1BhZ2VPdmVybGF5Q29udHJvbGxlci5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1BhZ2VPdmVybGF5Q29udHJv
bGxlci5jcHAKQEAgLTIyMSw3ICsyMjEsNyBAQCB2b2lkIFBhZ2VPdmVybGF5Q29udHJvbGxlcjo6
ZGlkU2Nyb2xsRnJhbWUoRnJhbWUqIGZyYW1lKQogICAgIH0KIH0KIAotdm9pZCBQYWdlT3Zlcmxh
eUNvbnRyb2xsZXI6OmZsdXNoUGFnZU92ZXJsYXlMYXllcnMoRmxvYXRSZWN0IHZpc2libGVSZWN0
KQordm9pZCBQYWdlT3ZlcmxheUNvbnRyb2xsZXI6OmZsdXNoUGFnZU92ZXJsYXlMYXllcnMoY29u
c3QgRmxvYXRSZWN0JiB2aXNpYmxlUmVjdCkKIHsKICAgICBtX3ZpZXdPdmVybGF5Um9vdExheWVy
LT5mbHVzaENvbXBvc2l0aW5nU3RhdGUodmlzaWJsZVJlY3QpOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1BhZ2VPdmVybGF5Q29udHJvbGxlci5oIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1BhZ2VPdmVybGF5Q29udHJvbGxlci5o
CmluZGV4IGYwNGI3MjQ1MjQ3ZWE2MzYxNjA2OWQ2OGVlMDRlYThkYmRmYzA1YzYuLjhmNWM1ZWRj
Yzg3NmQzN2U0ZmYzZDU3ZGU0ZmIzY2FkYzVjYzk1YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9QYWdlT3ZlcmxheUNvbnRyb2xsZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvUGFnZU92ZXJsYXlDb250cm9sbGVyLmgKQEAg
LTY2LDcgKzY2LDcgQEAgcHVibGljOgogICAgIHZvaWQgZGlkU2Nyb2xsRnJhbWUoV2ViQ29yZTo6
RnJhbWUqKTsKICAgICB2b2lkIGRpZENoYW5nZU92ZXJsYXlGcmFtZShQYWdlT3ZlcmxheSopOwog
Ci0gICAgdm9pZCBmbHVzaFBhZ2VPdmVybGF5TGF5ZXJzKFdlYkNvcmU6OkZsb2F0UmVjdCk7Cisg
ICAgdm9pZCBmbHVzaFBhZ2VPdmVybGF5TGF5ZXJzKGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYp
OwogCiAgICAgYm9vbCBoYW5kbGVNb3VzZUV2ZW50KGNvbnN0IFdlYk1vdXNlRXZlbnQmKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>229270</attachid>
            <date>2014-04-14 01:00:02 -0700</date>
            <delta_ts>2014-04-14 19:15:14 -0700</delta_ts>
            <desc>patch for landing</desc>
            <filename>bug-131425-20140414165943.patch</filename>
            <type>text/plain</type>
            <size>20635</size>
            <attacher name="Hyowon Kim">hw1008.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY3MjA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjc4MjY3Nzc1NDBjZDk4
MGY3NTNlYzE2NjNlNGI0ZjBkYWNiNjU2Yi4uNzdkMWJlOWNmZDFjNGYxNWRjM2QyYjQxYWRhMmMy
MzU3NDc5NjU2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE0LTA0LTE0ICBIeW93
b24gS2ltICA8aHcxMDA4LmtpbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBNYWtlIHBhZ2Ugb3Zl
cmxheSBmdW5jdGlvbmFsaXR5IHdvcmtpbmcgb24gY29vcmRpbmF0ZWQgZ3JhcGhpY3MuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzE0MjUKKworICAg
ICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBQYWdlIG92ZXJsYXkgZnVu
Y3Rpb25hbGl0eSBkaWQgbm90IHdvcmsgb24gY29vcmRpbmF0ZWQgZ3JhcGhpY3Mgc2luY2UgcjE2
Njk3NS4KKyAgICAgICAgVGhpcyBwYXRjaCByZW1vdmVzIGRlcHJlY2F0ZWQgY29kZSByZWxhdGVk
IHRvIHRoZSBQYWdlT3ZlcmxheSBHcmFwaGljc0xheWVyIG1hbmFnZW1lbnQuCisgICAgICAgIGFu
ZCBtYWtlcyBDb29yZGluYXRlZExheWVyVHJlZUhvc3QgdXNlIFBhZ2VPdmVybGF5Q29udHJvbGxl
ci4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db21w
b3NpdGluZ0Nvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbXBvc2l0aW5nQ29v
cmRpbmF0b3I6OnNldFJvb3RDb21wb3NpdGluZ0xheWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkNv
bXBvc2l0aW5nQ29vcmRpbmF0b3I6OmZsdXNoUGVuZGluZ0xheWVyQ2hhbmdlcyk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0NvbXBvc2l0aW5nQ29vcmRp
bmF0b3IuaDoKKwogMjAxNC0wNC0xMCAgUHJhdGlrIFNvbGFua2kgIDxwc29sYW5raUBhcHBsZS5j
b20+CiAKICAgICAgICAgTW92ZSBlYXJseSByZXR1cm4gb3V0IG9mIGRpc3BhdGNoX2FzeW5jKCkg
YmxvY2sgc28gd2UgY2FuIHJldHVybiBmcm9tIHdpbGxTZW5kUmVxdWVzdCBxdWlja2x5CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKaW5kZXggZWJjNWM3ZGZmMTcwYTFmOTYwYjk1YjY4NTkwNTU1ZGJiZjdjOTE0OC4uMTZjZGNh
ZTA5ZDY5MmEwYzYxZjMyOTU4MWQ4MTE1MWZjYzFhYzE5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDg1IEBACisyMDE0LTA0LTE0ICBIeW93b24gS2ltICA8aHcxMDA4LmtpbUBzYW1zdW5nLmNvbT4K
KworICAgICAgICBNYWtlIHBhZ2Ugb3ZlcmxheSBmdW5jdGlvbmFsaXR5IHdvcmtpbmcgb24gY29v
cmRpbmF0ZWQgZ3JhcGhpY3MuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMzE0MjUKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKwor
ICAgICAgICBQYWdlIG92ZXJsYXkgZnVuY3Rpb25hbGl0eSBkaWQgbm90IHdvcmsgb24gY29vcmRp
bmF0ZWQgZ3JhcGhpY3Mgc2luY2UgcjE2Njk3NS4KKyAgICAgICAgVGhpcyBwYXRjaCByZW1vdmVz
IGRlcHJlY2F0ZWQgY29kZSByZWxhdGVkIHRvIHRoZSBQYWdlT3ZlcmxheSBHcmFwaGljc0xheWVy
IG1hbmFnZW1lbnQuCisgICAgICAgIGFuZCBtYWtlcyBDb29yZGluYXRlZExheWVyVHJlZUhvc3Qg
dXNlIFBhZ2VPdmVybGF5Q29udHJvbGxlci4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkRHJhd2luZ0FyZWEuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpDb29yZGluYXRlZERyYXdpbmdBcmVhOjpkaWRJbnN0YWxsUGFnZU92ZXJsYXkp
OiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZERyYXdpbmdBcmVhOjpkaWRV
bmluc3RhbGxQYWdlT3ZlcmxheSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5h
dGVkRHJhd2luZ0FyZWE6OnNldFBhZ2VPdmVybGF5TmVlZHNEaXNwbGF5KTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWREcmF3aW5nQXJlYTo6c2V0UGFnZU92ZXJsYXlPcGFj
aXR5KTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRH
cmFwaGljcy9Db29yZGluYXRlZERyYXdpbmdBcmVhLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcDoK
KyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpzZXRSb290Q29tcG9z
aXRpbmdMYXllcik6CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6
ZGlkRmx1c2hSb290TGF5ZXIpOgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZExheWVyVHJl
ZUhvc3Q6OmRldmljZU9yUGFnZVNjYWxlRmFjdG9yQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6
OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6ZGlkSW5zdGFsbFBhZ2VPdmVybGF5KTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpkaWRVbmluc3Rh
bGxQYWdlT3ZlcmxheSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdDo6c2V0UGFnZU92ZXJsYXlOZWVkc0Rpc3BsYXkpOiBEZWxldGVkLgorICAgICAg
ICAoV2ViS2l0OjpDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OnNldFBhZ2VPdmVybGF5T3BhY2l0
eSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6
Y3JlYXRlUGFnZU92ZXJsYXlMYXllcik6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OkNvb3Jk
aW5hdGVkTGF5ZXJUcmVlSG9zdDo6ZGVzdHJveVBhZ2VPdmVybGF5TGF5ZXIpOiBEZWxldGVkLgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5h
dGVkTGF5ZXJUcmVlSG9zdC5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRy
ZWVIb3N0Lmg6CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZUhvc3Q6OmRpZEluc3RhbGxQYWdl
T3ZlcmxheSk6CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZUhvc3Q6OmRpZFVuaW5zdGFsbFBh
Z2VPdmVybGF5KToKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlSG9zdDo6c2V0UGFnZU92ZXJs
YXlOZWVkc0Rpc3BsYXkpOgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWREcmF3aW5nQXJlYS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OkNvb3JkaW5hdGVkRHJhd2luZ0FyZWE6Om1haW5GcmFtZUNvbnRlbnRTaXplQ2hhbmdlZCk6Cisg
ICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkRHJhd2luZ0FyZWE6OmRpZEluc3RhbGxQYWdlT3Zl
cmxheSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkRHJhd2luZ0FyZWE6
OmRpZFVuaW5zdGFsbFBhZ2VPdmVybGF5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6Q29v
cmRpbmF0ZWREcmF3aW5nQXJlYTo6c2V0UGFnZU92ZXJsYXlOZWVkc0Rpc3BsYXkpOiBEZWxldGVk
LgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZERyYXdpbmdBcmVhOjpzZXRQYWdlT3Zlcmxh
eU9wYWNpdHkpOiBEZWxldGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGlu
YXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkRHJhd2luZ0FyZWEuaDoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3Qu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OnNldFJvb3RD
b21wb3NpdGluZ0xheWVyKToKKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVI
b3N0OjpkaWRGbHVzaFJvb3RMYXllcik6CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdDo6ZGV2aWNlT3JQYWdlU2NhbGVGYWN0b3JDaGFuZ2VkKToKKyAgICAgICAgKFdl
YktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpkaWRJbnN0YWxsUGFnZU92ZXJsYXkpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OmRpZFVu
aW5zdGFsbFBhZ2VPdmVybGF5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0
ZWRMYXllclRyZWVIb3N0OjpzZXRQYWdlT3ZlcmxheU5lZWRzRGlzcGxheSk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6c2V0UGFnZU92ZXJsYXlP
cGFjaXR5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVI
b3N0OjpjcmVhdGVQYWdlT3ZlcmxheUxheWVyKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6
Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpkZXN0cm95UGFnZU92ZXJsYXlMYXllcik6IERlbGV0
ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29v
cmRpbmF0ZWRMYXllclRyZWVIb3N0Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0xh
eWVyVHJlZUhvc3QuaDoKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlSG9zdDo6ZGlkSW5zdGFs
bFBhZ2VPdmVybGF5KToKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlSG9zdDo6ZGlkVW5pbnN0
YWxsUGFnZU92ZXJsYXkpOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVIb3N0OjpzZXRQYWdl
T3ZlcmxheU5lZWRzRGlzcGxheSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1BhZ2VP
dmVybGF5Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VPdmVybGF5Q29udHJv
bGxlcjo6Zmx1c2hQYWdlT3ZlcmxheUxheWVycyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL1BhZ2VPdmVybGF5Q29udHJvbGxlci5oOgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWREcmF3aW5nQXJlYS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkRHJhd2luZ0FyZWE6Om1haW5GcmFtZUNvbnRlbnRTaXpl
Q2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkRHJhd2luZ0FyZWE6OmRpZElu
c3RhbGxQYWdlT3ZlcmxheSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVk
RHJhd2luZ0FyZWE6OmRpZFVuaW5zdGFsbFBhZ2VPdmVybGF5KTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYktpdDo6Q29vcmRpbmF0ZWREcmF3aW5nQXJlYTo6c2V0UGFnZU92ZXJsYXlOZWVkc0Rpc3Bs
YXkpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZERyYXdpbmdBcmVhOjpz
ZXRQYWdlT3ZlcmxheU9wYWNpdHkpOiBEZWxldGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkRHJhd2luZ0FyZWEuaDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExh
eWVyVHJlZUhvc3QuY3BwOgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZExheWVyVHJlZUhv
c3Q6OnNldFJvb3RDb21wb3NpdGluZ0xheWVyKToKKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0
ZWRMYXllclRyZWVIb3N0OjpkaWRGbHVzaFJvb3RMYXllcik6CisgICAgICAgIChXZWJLaXQ6OkNv
b3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6ZGV2aWNlT3JQYWdlU2NhbGVGYWN0b3JDaGFuZ2VkKToK
KyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpkaWRJbnN0YWxsUGFn
ZU92ZXJsYXkpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZExheWVyVHJl
ZUhvc3Q6OmRpZFVuaW5zdGFsbFBhZ2VPdmVybGF5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktp
dDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpzZXRQYWdlT3ZlcmxheU5lZWRzRGlzcGxheSk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6c2V0
UGFnZU92ZXJsYXlPcGFjaXR5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0
ZWRMYXllclRyZWVIb3N0OjpjcmVhdGVQYWdlT3ZlcmxheUxheWVyKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpkZXN0cm95UGFnZU92ZXJsYXlM
YXllcik6IERlbGV0ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0Lmg6CisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuaDoKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlSG9z
dDo6ZGlkSW5zdGFsbFBhZ2VPdmVybGF5KToKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlSG9z
dDo6ZGlkVW5pbnN0YWxsUGFnZU92ZXJsYXkpOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVI
b3N0OjpzZXRQYWdlT3ZlcmxheU5lZWRzRGlzcGxheSk6CisKIDIwMTQtMDQtMTMgIEFuZHkgRXN0
ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIxNjcxNjQpOiAt
W1dLTlNVUkxTZXNzaW9uTG9jYWwgX2dldENvb2tpZUhlYWRlcnNGb3JUYXNrOmNvbXBsZXRpb25I
YW5kbGVyOl0gX2Jsb2NrX2ludm9rZSBjYW4gYWNjZXNzIGEgZGVhbGxvY2F0ZWQgY29tcGxldGlv
bkhhbmRsZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9jb29yZGluYXRlZC9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db21wb3NpdGluZ0Nvb3Jk
aW5hdG9yLmNwcAppbmRleCBjYzk3NzA0ODI4NzE0ZDk5MTBlNDk0YTQ2YzYyYjBkMGQ2ZjdjZDE3
Li5iNjIyNjRjYjc4NTc1ZDViYjgyMjAxNTkzNTc5ZDgzNjg0OGM1YWEyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29tcG9z
aXRpbmdDb29yZGluYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwCkBAIC03Miwx
NCArNzIsMTcgQEAgQ29tcG9zaXRpbmdDb29yZGluYXRvcjo6Q29tcG9zaXRpbmdDb29yZGluYXRv
cihQYWdlKiBwYWdlLCBDb21wb3NpdGluZ0Nvb3JkaW5hdG8KICAgICBDb29yZGluYXRlZEdyYXBo
aWNzTGF5ZXI6OnNldFNob3VsZFN1cHBvcnRDb250ZW50c1RpbGluZyh0cnVlKTsKIH0KIAotdm9p
ZCBDb21wb3NpdGluZ0Nvb3JkaW5hdG9yOjpzZXRSb290Q29tcG9zaXRpbmdMYXllcihHcmFwaGlj
c0xheWVyKiBsYXllcikKK3ZvaWQgQ29tcG9zaXRpbmdDb29yZGluYXRvcjo6c2V0Um9vdENvbXBv
c2l0aW5nTGF5ZXIoR3JhcGhpY3NMYXllciogQ29tcG9zaXRpbmdMYXllciwgR3JhcGhpY3NMYXll
ciogb3ZlcmxheUxheWVyKQogewogICAgIGlmIChtX3Jvb3RDb21wb3NpdGluZ0xheWVyKQogICAg
ICAgICBtX3Jvb3RDb21wb3NpdGluZ0xheWVyLT5yZW1vdmVGcm9tUGFyZW50KCk7CiAKLSAgICBt
X3Jvb3RDb21wb3NpdGluZ0xheWVyID0gbGF5ZXI7CisgICAgbV9yb290Q29tcG9zaXRpbmdMYXll
ciA9IENvbXBvc2l0aW5nTGF5ZXI7CiAgICAgaWYgKG1fcm9vdENvbXBvc2l0aW5nTGF5ZXIpCiAg
ICAgICAgIG1fcm9vdExheWVyLT5hZGRDaGlsZEF0SW5kZXgobV9yb290Q29tcG9zaXRpbmdMYXll
ciwgMCk7CisKKyAgICBpZiAob3ZlcmxheUxheWVyKQorICAgICAgICBtX3Jvb3RMYXllci0+YWRk
Q2hpbGQob3ZlcmxheUxheWVyKTsKIH0KIAogdm9pZCBDb21wb3NpdGluZ0Nvb3JkaW5hdG9yOjpz
aXplRGlkQ2hhbmdlKGNvbnN0IEludFNpemUmIG5ld1NpemUpCkBAIC05NSw3ICs5OCw3IEBAIGJv
b2wgQ29tcG9zaXRpbmdDb29yZGluYXRvcjo6Zmx1c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzKCkKICAg
ICBpbml0aWFsaXplUm9vdENvbXBvc2l0aW5nTGF5ZXJJZk5lZWRlZCgpOwogCiAgICAgbV9yb290
TGF5ZXItPmZsdXNoQ29tcG9zaXRpbmdTdGF0ZUZvclRoaXNMYXllck9ubHkoKTsKLSAgICBtX2Ns
aWVudC0+ZGlkRmx1c2hSb290TGF5ZXIoKTsKKyAgICBtX2NsaWVudC0+ZGlkRmx1c2hSb290TGF5
ZXIobV92aXNpYmxlQ29udGVudHNSZWN0KTsKIAogICAgIGJvb2wgZGlkU3luYyA9IG1fcGFnZS0+
bWFpbkZyYW1lKCkudmlldygpLT5mbHVzaENvbXBvc2l0aW5nU3RhdGVJbmNsdWRpbmdTdWJmcmFt
ZXMoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4
bWFwL2Nvb3JkaW5hdGVkL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db21wb3NpdGluZ0Nvb3JkaW5h
dG9yLmgKaW5kZXggNGJjNTYyNTcyZjI5MDQ2NGU1MGY3OTEwMjg0ZDlkM2QzYWU5MjIxMi4uYWZi
OGI1Njk2YTA2YTc4OTM5MWEwZTRjOTg0OTZlZDRmMWE0MmVhNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0NvbXBvc2l0aW5n
Q29vcmRpbmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXht
YXAvY29vcmRpbmF0ZWQvQ29tcG9zaXRpbmdDb29yZGluYXRvci5oCkBAIC01NSw3ICs1NSw3IEBA
IGNsYXNzIENvbXBvc2l0aW5nQ29vcmRpbmF0b3IgOiBwdWJsaWMgR3JhcGhpY3NMYXllckNsaWVu
dAogcHVibGljOgogICAgIGNsYXNzIENsaWVudCB7CiAgICAgcHVibGljOgotICAgICAgICB2aXJ0
dWFsIHZvaWQgZGlkRmx1c2hSb290TGF5ZXIoKSA9IDA7CisgICAgICAgIHZpcnR1YWwgdm9pZCBk
aWRGbHVzaFJvb3RMYXllcihjb25zdCBGbG9hdFJlY3QmIHZpc2libGVDb250ZW50UmVjdCkgPSAw
OwogICAgICAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5Rmx1c2hSZXF1aXJlZCgpID0gMDsKICAgICAg
ICAgdmlydHVhbCB2b2lkIGNvbW1pdFNjZW5lU3RhdGUoY29uc3QgQ29vcmRpbmF0ZWRHcmFwaGlj
c1N0YXRlJikgPSAwOwogICAgICAgICB2aXJ0dWFsIHZvaWQgcGFpbnRMYXllckNvbnRlbnRzKGNv
bnN0IEdyYXBoaWNzTGF5ZXIqLCBHcmFwaGljc0NvbnRleHQmLCBjb25zdCBJbnRSZWN0JiBjbGlw
UmVjdCkgPSAwOwpAQCAtNjQsNyArNjQsNyBAQCBwdWJsaWM6CiAgICAgQ29tcG9zaXRpbmdDb29y
ZGluYXRvcihQYWdlKiwgQ29tcG9zaXRpbmdDb29yZGluYXRvcjo6Q2xpZW50Kik7CiAgICAgdmly
dHVhbCB+Q29tcG9zaXRpbmdDb29yZGluYXRvcigpOwogCi0gICAgdm9pZCBzZXRSb290Q29tcG9z
aXRpbmdMYXllcihHcmFwaGljc0xheWVyKik7CisgICAgdm9pZCBzZXRSb290Q29tcG9zaXRpbmdM
YXllcihHcmFwaGljc0xheWVyKiBjb21wb3NpdGluZ0xheWVyLCBHcmFwaGljc0xheWVyKiBvdmVy
bGF5TGF5ZXIpOwogICAgIHZvaWQgc2l6ZURpZENoYW5nZShjb25zdCBJbnRTaXplJiBuZXdTaXpl
KTsKICAgICB2b2lkIGRldmljZU9yUGFnZVNjYWxlRmFjdG9yQ2hhbmdlZCgpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGlj
cy9Db29yZGluYXRlZERyYXdpbmdBcmVhLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkRHJhd2luZ0FyZWEuY3BwCmlu
ZGV4IDY3NjRkM2ZlN2Q2MjA2YTVmYTM5ZDRkNGU3ODU4Y2VhZDA1NDI1ZmUuLmYxNjIzODhmNzYw
MGRhZTZlZTcwNzJhMzdhY2IyNDMxMjI2YzBhZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkRHJhd2lu
Z0FyZWEuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGlu
YXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkRHJhd2luZ0FyZWEuY3BwCkBAIC0zMSw2ICszMSw3IEBA
CiAKICNpbmNsdWRlICJEcmF3aW5nQXJlYVByb3h5TWVzc2FnZXMuaCIKICNpbmNsdWRlICJMYXll
clRyZWVDb250ZXh0LmgiCisjaW5jbHVkZSAiUGFnZU92ZXJsYXlDb250cm9sbGVyLmgiCiAjaW5j
bHVkZSAiU2hhcmVhYmxlQml0bWFwLmgiCiAjaW5jbHVkZSAiVXBkYXRlSW5mby5oIgogI2luY2x1
ZGUgIldlYlBhZ2UuaCIKQEAgLTIxMywzNiArMjE0LDYgQEAgYm9vbCBDb29yZGluYXRlZERyYXdp
bmdBcmVhOjpmb3JjZVJlcGFpbnRBc3luYyh1aW50NjRfdCBjYWxsYmFja0lEKQogICAgIHJldHVy
biBtX2xheWVyVHJlZUhvc3QgJiYgbV9sYXllclRyZWVIb3N0LT5mb3JjZVJlcGFpbnRBc3luYyhj
YWxsYmFja0lEKTsKIH0KIAotdm9pZCBDb29yZGluYXRlZERyYXdpbmdBcmVhOjpkaWRJbnN0YWxs
UGFnZU92ZXJsYXkoUGFnZU92ZXJsYXkqIHBhZ2VPdmVybGF5KQotewotICAgIGlmIChtX2xheWVy
VHJlZUhvc3QpCi0gICAgICAgIG1fbGF5ZXJUcmVlSG9zdC0+ZGlkSW5zdGFsbFBhZ2VPdmVybGF5
KHBhZ2VPdmVybGF5KTsKLX0KLQotdm9pZCBDb29yZGluYXRlZERyYXdpbmdBcmVhOjpkaWRVbmlu
c3RhbGxQYWdlT3ZlcmxheShQYWdlT3ZlcmxheSogcGFnZU92ZXJsYXkpCi17Ci0gICAgaWYgKG1f
bGF5ZXJUcmVlSG9zdCkKLSAgICAgICAgbV9sYXllclRyZWVIb3N0LT5kaWRVbmluc3RhbGxQYWdl
T3ZlcmxheShwYWdlT3ZlcmxheSk7Ci0KLSAgICBzZXROZWVkc0Rpc3BsYXkoKTsKLX0KLQotdm9p
ZCBDb29yZGluYXRlZERyYXdpbmdBcmVhOjpzZXRQYWdlT3ZlcmxheU5lZWRzRGlzcGxheShQYWdl
T3ZlcmxheSogcGFnZU92ZXJsYXksIGNvbnN0IEludFJlY3QmIHJlY3QpCi17Ci0gICAgaWYgKG1f
bGF5ZXJUcmVlSG9zdCkgewotICAgICAgICBtX2xheWVyVHJlZUhvc3QtPnNldFBhZ2VPdmVybGF5
TmVlZHNEaXNwbGF5KHBhZ2VPdmVybGF5LCByZWN0KTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0K
LQotICAgIHNldE5lZWRzRGlzcGxheUluUmVjdChyZWN0KTsKLX0KLQotdm9pZCBDb29yZGluYXRl
ZERyYXdpbmdBcmVhOjpzZXRQYWdlT3ZlcmxheU9wYWNpdHkoUGFnZU92ZXJsYXkqIHBhZ2VPdmVy
bGF5LCBmbG9hdCB2YWx1ZSkKLXsKLSAgICBpZiAobV9sYXllclRyZWVIb3N0KQotICAgICAgICBt
X2xheWVyVHJlZUhvc3QtPnNldFBhZ2VPdmVybGF5T3BhY2l0eShwYWdlT3ZlcmxheSwgdmFsdWUp
OwotfQotCiB2b2lkIENvb3JkaW5hdGVkRHJhd2luZ0FyZWE6OnNldFBhaW50aW5nRW5hYmxlZChi
b29sIHBhaW50aW5nRW5hYmxlZCkKIHsKICAgICBtX2lzUGFpbnRpbmdFbmFibGVkID0gcGFpbnRp
bmdFbmFibGVkOwpAQCAtMjUzLDYgKzIyNCwxMSBAQCB2b2lkIENvb3JkaW5hdGVkRHJhd2luZ0Fy
ZWE6OnVwZGF0ZVByZWZlcmVuY2VzKGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmIHN0b3JlKQog
ICAgIG1fd2ViUGFnZS0+Y29yZVBhZ2UoKS0+c2V0dGluZ3MoKS5zZXRGb3JjZUNvbXBvc2l0aW5n
TW9kZShzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmZvcmNlQ29t
cG9zaXRpbmdNb2RlS2V5KCkpICYmIExheWVyVHJlZUhvc3Q6OnN1cHBvcnRzQWNjZWxlcmF0ZWRD
b21wb3NpdGluZygpKTsKIH0KIAordm9pZCBDb29yZGluYXRlZERyYXdpbmdBcmVhOjptYWluRnJh
bWVDb250ZW50U2l6ZUNoYW5nZWQoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpCit7CisgICAgbV93
ZWJQYWdlLT5wYWdlT3ZlcmxheUNvbnRyb2xsZXIoKS5kaWRDaGFuZ2VEb2N1bWVudFNpemUoKTsK
K30KKwogdm9pZCBDb29yZGluYXRlZERyYXdpbmdBcmVhOjpsYXllckhvc3REaWRGbHVzaExheWVy
cygpCiB7CiAgICAgQVNTRVJUKG1fbGF5ZXJUcmVlSG9zdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRl
ZERyYXdpbmdBcmVhLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRp
bmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZERyYXdpbmdBcmVhLmgKaW5kZXggZDMwNmU4NjIwZWMx
MTQzMzkyYjRiMTMxZDNlMTZhZTYxOGI1YmFjMS4uYjNiM2VkNjFhMjA3NWY0NzU5OGMwYWYxMDFj
ZTc1OTY2NzA3NTgwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWREcmF3aW5nQXJlYS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3Jk
aW5hdGVkRHJhd2luZ0FyZWEuaApAQCAtNTUsMTMgKzU1LDkgQEAgcHJpdmF0ZToKICAgICB2aXJ0
dWFsIHZvaWQgZm9yY2VSZXBhaW50KCk7CiAgICAgdmlydHVhbCBib29sIGZvcmNlUmVwYWludEFz
eW5jKHVpbnQ2NF90IGNhbGxiYWNrSUQpOwogCi0gICAgdmlydHVhbCB2b2lkIGRpZEluc3RhbGxQ
YWdlT3ZlcmxheShQYWdlT3ZlcmxheSopOwotICAgIHZpcnR1YWwgdm9pZCBkaWRVbmluc3RhbGxQ
YWdlT3ZlcmxheShQYWdlT3ZlcmxheSopOwotICAgIHZpcnR1YWwgdm9pZCBzZXRQYWdlT3Zlcmxh
eU5lZWRzRGlzcGxheShQYWdlT3ZlcmxheSosIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKTsKLSAg
ICB2aXJ0dWFsIHZvaWQgc2V0UGFnZU92ZXJsYXlPcGFjaXR5KFBhZ2VPdmVybGF5KiwgZmxvYXQp
OwotCiAgICAgdmlydHVhbCB2b2lkIHNldFBhaW50aW5nRW5hYmxlZChib29sKTsKICAgICB2aXJ0
dWFsIHZvaWQgdXBkYXRlUHJlZmVyZW5jZXMoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYpIG92
ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBtYWluRnJhbWVDb250ZW50U2l6ZUNoYW5nZWQoY29u
c3QgV2ViQ29yZTo6SW50U2l6ZSYpIG92ZXJyaWRlOwogCiAgICAgdmlydHVhbCBXZWJDb3JlOjpH
cmFwaGljc0xheWVyRmFjdG9yeSogZ3JhcGhpY3NMYXllckZhY3RvcnkoKSBvdmVycmlkZTsKICAg
ICB2aXJ0dWFsIHZvaWQgc2V0Um9vdENvbXBvc2l0aW5nTGF5ZXIoV2ViQ29yZTo6R3JhcGhpY3NM
YXllciopIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
b3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAKaW5kZXggNTdhZDEwNGIzYmVkNzE5NTM2Zjg0Mzli
MDhhM2NjNjU0YTgyMjI0OC4uYzMxNTlhZWJjYjlkYTU3ZDBmYzMxZTg3NjBkMGE0NmI2Yzk2MjI0
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExh
eWVyVHJlZUhvc3QuY3BwCkBAIC0xMTIsNyArMTEyLDcgQEAgdm9pZCBDb29yZGluYXRlZExheWVy
VHJlZUhvc3Q6OnNldFNob3VsZE5vdGlmeUFmdGVyTmV4dFNjaGVkdWxlZExheWVyRmx1c2goYm9v
bAogCiB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6c2V0Um9vdENvbXBvc2l0aW5nTGF5
ZXIoV2ViQ29yZTo6R3JhcGhpY3NMYXllciogZ3JhcGhpY3NMYXllcikKIHsKLSAgICBtX2Nvb3Jk
aW5hdG9yLT5zZXRSb290Q29tcG9zaXRpbmdMYXllcihncmFwaGljc0xheWVyKTsKKyAgICBtX2Nv
b3JkaW5hdG9yLT5zZXRSb290Q29tcG9zaXRpbmdMYXllcihncmFwaGljc0xheWVyLCBtX3dlYlBh
Z2UtPnBhZ2VPdmVybGF5Q29udHJvbGxlcigpLnZpZXdPdmVybGF5Um9vdExheWVyKCkpOwogfQog
CiB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6aW52YWxpZGF0ZSgpCkBAIC0xNTUsMzcg
KzE1NSw2IEBAIHZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpzaXplRGlkQ2hhbmdlKGNv
bnN0IFdlYkNvcmU6OkludFNpemUmIG5ld1NpemUpCiAgICAgc2NoZWR1bGVMYXllckZsdXNoKCk7
CiB9CiAKLXZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpkaWRJbnN0YWxsUGFnZU92ZXJs
YXkoUGFnZU92ZXJsYXkqIHBhZ2VPdmVybGF5KQotewotICAgIEFTU0VSVCghbV9wYWdlT3Zlcmxh
eSk7Ci0gICAgbV9wYWdlT3ZlcmxheSA9IHBhZ2VPdmVybGF5OwotCi0gICAgY3JlYXRlUGFnZU92
ZXJsYXlMYXllcigpOwotICAgIHNjaGVkdWxlTGF5ZXJGbHVzaCgpOwotfQotCi12b2lkIENvb3Jk
aW5hdGVkTGF5ZXJUcmVlSG9zdDo6ZGlkVW5pbnN0YWxsUGFnZU92ZXJsYXkoUGFnZU92ZXJsYXkq
KQotewotICAgIG1fcGFnZU92ZXJsYXkgPSAwOwotCi0gICAgZGVzdHJveVBhZ2VPdmVybGF5TGF5
ZXIoKTsKLSAgICBzY2hlZHVsZUxheWVyRmx1c2goKTsKLX0KLQotdm9pZCBDb29yZGluYXRlZExh
eWVyVHJlZUhvc3Q6OnNldFBhZ2VPdmVybGF5TmVlZHNEaXNwbGF5KFBhZ2VPdmVybGF5KiwgY29u
c3QgV2ViQ29yZTo6SW50UmVjdCYgcmVjdCkKLXsKLSAgICBBU1NFUlQobV9wYWdlT3ZlcmxheUxh
eWVyKTsKLSAgICBtX3BhZ2VPdmVybGF5TGF5ZXItPnNldE5lZWRzRGlzcGxheUluUmVjdChyZWN0
KTsKLSAgICBzY2hlZHVsZUxheWVyRmx1c2goKTsKLX0KLQotdm9pZCBDb29yZGluYXRlZExheWVy
VHJlZUhvc3Q6OnNldFBhZ2VPdmVybGF5T3BhY2l0eShQYWdlT3ZlcmxheSosIGZsb2F0IHZhbHVl
KQotewotICAgIEFTU0VSVChtX3BhZ2VPdmVybGF5TGF5ZXIpOwotICAgIG1fcGFnZU92ZXJsYXlM
YXllci0+c2V0T3BhY2l0eSh2YWx1ZSk7Ci0gICAgc2NoZWR1bGVMYXllckZsdXNoKCk7Ci19Ci0K
IHZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpzZXRWaXNpYmxlQ29udGVudHNSZWN0KGNv
bnN0IEZsb2F0UmVjdCYgcmVjdCwgY29uc3QgRmxvYXRQb2ludCYgdHJhamVjdG9yeVZlY3RvcikK
IHsKICAgICBtX2Nvb3JkaW5hdG9yLT5zZXRWaXNpYmxlQ29udGVudHNSZWN0KHJlY3QsIHRyYWpl
Y3RvcnlWZWN0b3IpOwpAQCAtMjA0LDEwICsxNzMsOSBAQCB2b2lkIENvb3JkaW5hdGVkTGF5ZXJU
cmVlSG9zdDo6cHVyZ2VCYWNraW5nU3RvcmVzKCkKICAgICBtX2Nvb3JkaW5hdG9yLT5wdXJnZUJh
Y2tpbmdTdG9yZXMoKTsKIH0KIAotdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OmRpZEZs
dXNoUm9vdExheWVyKCkKK3ZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpkaWRGbHVzaFJv
b3RMYXllcihjb25zdCBGbG9hdFJlY3QmIHZpc2libGVDb250ZW50UmVjdCkKIHsKLSAgICBpZiAo
bV9wYWdlT3ZlcmxheUxheWVyKQotICAgICAgICBtX3BhZ2VPdmVybGF5TGF5ZXItPmZsdXNoQ29t
cG9zaXRpbmdTdGF0ZUZvclRoaXNMYXllck9ubHkoKTsKKyAgICBtX3dlYlBhZ2UtPnBhZ2VPdmVy
bGF5Q29udHJvbGxlcigpLmZsdXNoUGFnZU92ZXJsYXlMYXllcnModmlzaWJsZUNvbnRlbnRSZWN0
KTsKIH0KIAogdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OnBlcmZvcm1TY2hlZHVsZWRM
YXllckZsdXNoKCkKQEAgLTIzOCwyOCArMjA2LDYgQEAgdm9pZCBDb29yZGluYXRlZExheWVyVHJl
ZUhvc3Q6OmxheWVyRmx1c2hUaW1lckZpcmVkKFRpbWVyPENvb3JkaW5hdGVkTGF5ZXJUcmVlSG8K
ICAgICBwZXJmb3JtU2NoZWR1bGVkTGF5ZXJGbHVzaCgpOwogfQogCi12b2lkIENvb3JkaW5hdGVk
TGF5ZXJUcmVlSG9zdDo6Y3JlYXRlUGFnZU92ZXJsYXlMYXllcigpCi17Ci0gICAgQVNTRVJUKCFt
X3BhZ2VPdmVybGF5TGF5ZXIpOwotCi0gICAgbV9wYWdlT3ZlcmxheUxheWVyID0gR3JhcGhpY3NM
YXllcjo6Y3JlYXRlKGdyYXBoaWNzTGF5ZXJGYWN0b3J5KCksIG1fY29vcmRpbmF0b3IuZ2V0KCkp
OwotI2lmbmRlZiBOREVCVUcKLSAgICBtX3BhZ2VPdmVybGF5TGF5ZXItPnNldE5hbWUoIkNvbXBv
c2l0aW5nQ29vcmRpbmF0b3IgcGFnZSBvdmVybGF5IGNvbnRlbnQiKTsKLSNlbmRpZgotCi0gICAg
bV9wYWdlT3ZlcmxheUxheWVyLT5zZXREcmF3c0NvbnRlbnQodHJ1ZSk7Ci0gICAgbV9wYWdlT3Zl
cmxheUxheWVyLT5zZXRTaXplKG1fY29vcmRpbmF0b3ItPnJvb3RMYXllcigpLT5zaXplKCkpOwot
Ci0gICAgbV9jb29yZGluYXRvci0+cm9vdExheWVyKCktPmFkZENoaWxkKG1fcGFnZU92ZXJsYXlM
YXllci5nZXQoKSk7Ci19Ci0KLXZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpkZXN0cm95
UGFnZU92ZXJsYXlMYXllcigpCi17Ci0gICAgQVNTRVJUKG1fcGFnZU92ZXJsYXlMYXllcik7Ci0g
ICAgbV9wYWdlT3ZlcmxheUxheWVyLT5yZW1vdmVGcm9tUGFyZW50KCk7Ci0gICAgbV9wYWdlT3Zl
cmxheUxheWVyID0gbnVsbHB0cjsKLX0KLQogdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6
OnBhaW50TGF5ZXJDb250ZW50cyhjb25zdCBHcmFwaGljc0xheWVyKiBncmFwaGljc0xheWVyLCBH
cmFwaGljc0NvbnRleHQmIGdyYXBoaWNzQ29udGV4dCwgY29uc3QgSW50UmVjdCYgY2xpcFJlY3Qp
CiB7CiB9CkBAIC0yNzgsOCArMjI0LDcgQEAgUGFzc1JlZlB0cjxDb29yZGluYXRlZFN1cmZhY2U+
IENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6Y3JlYXRlQ29vcmRpbmF0ZWRTdXJmYWMKIHZvaWQg
Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpkZXZpY2VPclBhZ2VTY2FsZUZhY3RvckNoYW5nZWQo
KQogewogICAgIG1fY29vcmRpbmF0b3ItPmRldmljZU9yUGFnZVNjYWxlRmFjdG9yQ2hhbmdlZCgp
OwotICAgIGlmIChtX3BhZ2VPdmVybGF5TGF5ZXIpCi0gICAgICAgIG1fcGFnZU92ZXJsYXlMYXll
ci0+ZGV2aWNlT3JQYWdlU2NhbGVGYWN0b3JDaGFuZ2VkKCk7CisgICAgbV93ZWJQYWdlLT5wYWdl
T3ZlcmxheUNvbnRyb2xsZXIoKS5kaWRDaGFuZ2VEZXZpY2VTY2FsZUZhY3RvcigpOwogfQogCiB2
b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6cGFnZUJhY2tncm91bmRUcmFuc3BhcmVuY3lD
aGFuZ2VkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9D
b29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5oIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRM
YXllclRyZWVIb3N0LmgKaW5kZXggNTEyODEwZjFiMjI2OTU1ZWVjYTM4ZjI5MjgzMzkwYzYxNzZl
MjJmMy4uZGRkMGNiNTI1NDI4M2QyODU1ZTQ2MDcwYmQ3OGY4NDViODA5NzgyMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmgK
QEAgLTU3LDExICs1Nyw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgZm9yY2VSZXBhaW50
QXN5bmModWludDY0X3QgY2FsbGJhY2tJRCk7CiAgICAgdmlydHVhbCB2b2lkIHNpemVEaWRDaGFu
Z2UoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgbmV3U2l6ZSk7CiAKLSAgICB2aXJ0dWFsIHZvaWQg
ZGlkSW5zdGFsbFBhZ2VPdmVybGF5KFBhZ2VPdmVybGF5Kik7Ci0gICAgdmlydHVhbCB2b2lkIGRp
ZFVuaW5zdGFsbFBhZ2VPdmVybGF5KFBhZ2VPdmVybGF5Kik7Ci0gICAgdmlydHVhbCB2b2lkIHNl
dFBhZ2VPdmVybGF5TmVlZHNEaXNwbGF5KFBhZ2VPdmVybGF5KiwgY29uc3QgV2ViQ29yZTo6SW50
UmVjdCYpOwotICAgIHZpcnR1YWwgdm9pZCBzZXRQYWdlT3ZlcmxheU9wYWNpdHkoUGFnZU92ZXJs
YXkqLCBmbG9hdCk7Ci0KICAgICB2aXJ0dWFsIHZvaWQgcGF1c2VSZW5kZXJpbmcoKSB7IG1faXNT
dXNwZW5kZWQgPSB0cnVlOyB9CiAgICAgdmlydHVhbCB2b2lkIHJlc3VtZVJlbmRlcmluZygpIHsg
bV9pc1N1c3BlbmRlZCA9IGZhbHNlOyBzY2hlZHVsZUxheWVyRmx1c2goKTsgfQogICAgIHZpcnR1
YWwgdm9pZCBkZXZpY2VPclBhZ2VTY2FsZUZhY3RvckNoYW5nZWQoKSBvdmVycmlkZTsKQEAgLTgz
LDggKzc4LDYgQEAgcHJvdGVjdGVkOgogCiBwcml2YXRlOgogICAgIC8vIENvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdAotICAgIHZvaWQgY3JlYXRlUGFnZU92ZXJsYXlMYXllcigpOwotICAgIHZvaWQg
ZGVzdHJveVBhZ2VPdmVybGF5TGF5ZXIoKTsKICAgICB2b2lkIGNhbmNlbFBlbmRpbmdMYXllckZs
dXNoKCk7CiAgICAgdm9pZCBwZXJmb3JtU2NoZWR1bGVkTGF5ZXJGbHVzaCgpOwogICAgIHZvaWQg
c2V0VmlzaWJsZUNvbnRlbnRzUmVjdChjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmLCBjb25zdCBX
ZWJDb3JlOjpGbG9hdFBvaW50Jik7CkBAIC05NSwxNyArODgsMTMgQEAgcHJpdmF0ZToKICAgICB2
b2lkIGxheWVyRmx1c2hUaW1lckZpcmVkKFdlYkNvcmU6OlRpbWVyPENvb3JkaW5hdGVkTGF5ZXJU
cmVlSG9zdD4qKTsKIAogICAgIC8vIENvbXBvc2l0aW5nQ29vcmRpbmF0b3I6OkNsaWVudAotICAg
IHZpcnR1YWwgdm9pZCBkaWRGbHVzaFJvb3RMYXllcigpIG92ZXJyaWRlOworICAgIHZpcnR1YWwg
dm9pZCBkaWRGbHVzaFJvb3RMYXllcihjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIHZpc2libGVD
b250ZW50UmVjdCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIG5vdGlmeUZsdXNoUmVxdWly
ZWQoKSBvdmVycmlkZSB7IHNjaGVkdWxlTGF5ZXJGbHVzaCgpOyB9OwogICAgIHZpcnR1YWwgdm9p
ZCBjb21taXRTY2VuZVN0YXRlKGNvbnN0IFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NTdGF0
ZSYpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBwYWludExheWVyQ29udGVudHMoY29uc3Qg
V2ViQ29yZTo6R3JhcGhpY3NMYXllciosIFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dCYsIGNvbnN0
IFdlYkNvcmU6OkludFJlY3QmIGNsaXBSZWN0KSBvdmVycmlkZTsKIAogICAgIHN0ZDo6dW5pcXVl
X3B0cjxXZWJDb3JlOjpDb21wb3NpdGluZ0Nvb3JkaW5hdG9yPiBtX2Nvb3JkaW5hdG9yOwogCi0g
ICAgLy8gVGhlIHBhZ2Ugb3ZlcmxheSBsYXllci4gV2lsbCBiZSBudWxsIGlmIHRoZXJlJ3Mgbm8g
cGFnZSBvdmVybGF5LgotICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpHcmFwaGljc0xheWVy
PiBtX3BhZ2VPdmVybGF5TGF5ZXI7Ci0gICAgUmVmUHRyPFBhZ2VPdmVybGF5PiBtX3BhZ2VPdmVy
bGF5OwotCiAgICAgYm9vbCBtX25vdGlmeUFmdGVyU2NoZWR1bGVkTGF5ZXJGbHVzaDsKICAgICBi
b29sIG1faXNWYWxpZDsKICAgICBib29sIG1faXNTdXNwZW5kZWQ7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5oIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuaAppbmRleCA5ODQ3ODJlNjY3
ODQ2MDliOGRjMjIwMmU2Y2I5OTM2YmE1ODllOWI4Li45YWFkZjY5ZGZhNDVhMzkwZWZhZDcyYzVh
ZjhmZDQ4MjM1NDMzOTYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvTGF5ZXJUcmVlSG9zdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9MYXllclRyZWVIb3N0LmgKQEAgLTc0LDkgKzc0LDkgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgdm9pZCBkZXZpY2VPclBhZ2VTY2FsZUZhY3RvckNoYW5nZWQoKSA9IDA7CiAgICAgdmlydHVh
bCB2b2lkIHBhZ2VCYWNrZ3JvdW5kVHJhbnNwYXJlbmN5Q2hhbmdlZCgpID0gMDsKIAotICAgIHZp
cnR1YWwgdm9pZCBkaWRJbnN0YWxsUGFnZU92ZXJsYXkoUGFnZU92ZXJsYXkqKSA9IDA7Ci0gICAg
dmlydHVhbCB2b2lkIGRpZFVuaW5zdGFsbFBhZ2VPdmVybGF5KFBhZ2VPdmVybGF5KikgPSAwOwot
ICAgIHZpcnR1YWwgdm9pZCBzZXRQYWdlT3ZlcmxheU5lZWRzRGlzcGxheShQYWdlT3ZlcmxheSos
IGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRpZEluc3Rh
bGxQYWdlT3ZlcmxheShQYWdlT3ZlcmxheSopIHsgfQorICAgIHZpcnR1YWwgdm9pZCBkaWRVbmlu
c3RhbGxQYWdlT3ZlcmxheShQYWdlT3ZlcmxheSopIHsgfQorICAgIHZpcnR1YWwgdm9pZCBzZXRQ
YWdlT3ZlcmxheU5lZWRzRGlzcGxheShQYWdlT3ZlcmxheSosIGNvbnN0IFdlYkNvcmU6OkludFJl
Y3QmKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgc2V0UGFnZU92ZXJsYXlPcGFjaXR5KFBhZ2VPdmVy
bGF5KiwgZmxvYXQpIHsgfQogCiAgICAgdmlydHVhbCB2b2lkIHBhdXNlUmVuZGVyaW5nKCkgeyB9
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>229336</attachid>
            <date>2014-04-14 19:15:23 -0700</date>
            <delta_ts>2014-04-15 19:04:28 -0700</delta_ts>
            <desc>patch for landing</desc>
            <filename>bug-131425-20140415111501.patch</filename>
            <type>text/plain</type>
            <size>17327</size>
            <attacher name="Hyowon Kim">hw1008.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY3MjA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjc4MjY3Nzc1NDBjZDk4
MGY3NTNlYzE2NjNlNGI0ZjBkYWNiNjU2Yi4uNzdkMWJlOWNmZDFjNGYxNWRjM2QyYjQxYWRhMmMy
MzU3NDc5NjU2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE0LTA0LTE0ICBIeW93
b24gS2ltICA8aHcxMDA4LmtpbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBNYWtlIHBhZ2Ugb3Zl
cmxheSBmdW5jdGlvbmFsaXR5IHdvcmtpbmcgb24gY29vcmRpbmF0ZWQgZ3JhcGhpY3MuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzE0MjUKKworICAg
ICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBQYWdlIG92ZXJsYXkgZnVu
Y3Rpb25hbGl0eSBkaWQgbm90IHdvcmsgb24gY29vcmRpbmF0ZWQgZ3JhcGhpY3Mgc2luY2UgcjE2
Njk3NS4KKyAgICAgICAgVGhpcyBwYXRjaCByZW1vdmVzIGRlcHJlY2F0ZWQgY29kZSByZWxhdGVk
IHRvIHRoZSBQYWdlT3ZlcmxheSBHcmFwaGljc0xheWVyIG1hbmFnZW1lbnQuCisgICAgICAgIGFu
ZCBtYWtlcyBDb29yZGluYXRlZExheWVyVHJlZUhvc3QgdXNlIFBhZ2VPdmVybGF5Q29udHJvbGxl
ci4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db21w
b3NpdGluZ0Nvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbXBvc2l0aW5nQ29v
cmRpbmF0b3I6OnNldFJvb3RDb21wb3NpdGluZ0xheWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkNv
bXBvc2l0aW5nQ29vcmRpbmF0b3I6OmZsdXNoUGVuZGluZ0xheWVyQ2hhbmdlcyk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0NvbXBvc2l0aW5nQ29vcmRp
bmF0b3IuaDoKKwogMjAxNC0wNC0xMCAgUHJhdGlrIFNvbGFua2kgIDxwc29sYW5raUBhcHBsZS5j
b20+CiAKICAgICAgICAgTW92ZSBlYXJseSByZXR1cm4gb3V0IG9mIGRpc3BhdGNoX2FzeW5jKCkg
YmxvY2sgc28gd2UgY2FuIHJldHVybiBmcm9tIHdpbGxTZW5kUmVxdWVzdCBxdWlja2x5CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKaW5kZXggZWJjNWM3ZGZmMTcwYTFmOTYwYjk1YjY4NTkwNTU1ZGJiZjdjOTE0OC4uNGQ1MjA0
MDNjMWI2YWFhNzBiYzk3ZTA1NTBjODI3Y2I4ZWM1OTQ5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDM3IEBACisyMDE0LTA0LTE0ICBIeW93b24gS2ltICA8aHcxMDA4LmtpbUBzYW1zdW5nLmNvbT4K
KworICAgICAgICBNYWtlIHBhZ2Ugb3ZlcmxheSBmdW5jdGlvbmFsaXR5IHdvcmtpbmcgb24gY29v
cmRpbmF0ZWQgZ3JhcGhpY3MuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMzE0MjUKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKwor
ICAgICAgICBQYWdlIG92ZXJsYXkgZnVuY3Rpb25hbGl0eSBkaWQgbm90IHdvcmsgb24gY29vcmRp
bmF0ZWQgZ3JhcGhpY3Mgc2luY2UgcjE2Njk3NS4KKyAgICAgICAgVGhpcyBwYXRjaCByZW1vdmVz
IGRlcHJlY2F0ZWQgY29kZSByZWxhdGVkIHRvIHRoZSBQYWdlT3ZlcmxheSBHcmFwaGljc0xheWVy
IG1hbmFnZW1lbnQuCisgICAgICAgIGFuZCBtYWtlcyBDb29yZGluYXRlZExheWVyVHJlZUhvc3Qg
dXNlIFBhZ2VPdmVybGF5Q29udHJvbGxlci4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkRHJhd2luZ0FyZWEuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpDb29yZGluYXRlZERyYXdpbmdBcmVhOjptYWluRnJhbWVDb250ZW50U2l6ZUNo
YW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZERyYXdpbmdBcmVhOjpkaWRJbnN0
YWxsUGFnZU92ZXJsYXkpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZERy
YXdpbmdBcmVhOjpkaWRVbmluc3RhbGxQYWdlT3ZlcmxheSk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJLaXQ6OkNvb3JkaW5hdGVkRHJhd2luZ0FyZWE6OnNldFBhZ2VPdmVybGF5TmVlZHNEaXNwbGF5
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWREcmF3aW5nQXJlYTo6c2V0
UGFnZU92ZXJsYXlPcGFjaXR5KTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZERyYXdpbmdBcmVhLmg6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXll
clRyZWVIb3N0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0
OjpzZXRSb290Q29tcG9zaXRpbmdMYXllcik6CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVk
TGF5ZXJUcmVlSG9zdDo6ZGlkRmx1c2hSb290TGF5ZXIpOgorICAgICAgICAoV2ViS2l0OjpDb29y
ZGluYXRlZExheWVyVHJlZUhvc3Q6OmRldmljZU9yUGFnZVNjYWxlRmFjdG9yQ2hhbmdlZCk6Cisg
ICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6ZGlkSW5zdGFsbFBhZ2VP
dmVybGF5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVI
b3N0OjpkaWRVbmluc3RhbGxQYWdlT3ZlcmxheSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6
OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6c2V0UGFnZU92ZXJsYXlOZWVkc0Rpc3BsYXkpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OnNldFBh
Z2VPdmVybGF5T3BhY2l0eSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVk
TGF5ZXJUcmVlSG9zdDo6Y3JlYXRlUGFnZU92ZXJsYXlMYXllcik6IERlbGV0ZWQuCisgICAgICAg
IChXZWJLaXQ6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6ZGVzdHJveVBhZ2VPdmVybGF5TGF5
ZXIpOiBEZWxldGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdy
YXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5oOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9MYXllclRyZWVIb3N0Lmg6CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZUhvc3Q6
OmRpZEluc3RhbGxQYWdlT3ZlcmxheSk6CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZUhvc3Q6
OmRpZFVuaW5zdGFsbFBhZ2VPdmVybGF5KToKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlSG9z
dDo6c2V0UGFnZU92ZXJsYXlOZWVkc0Rpc3BsYXkpOgorCiAyMDE0LTA0LTEzICBBbmR5IEVzdGVz
ICA8YWVzdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMTY3MTY0KTogLVtX
S05TVVJMU2Vzc2lvbkxvY2FsIF9nZXRDb29raWVIZWFkZXJzRm9yVGFzazpjb21wbGV0aW9uSGFu
ZGxlcjpdIF9ibG9ja19pbnZva2UgY2FuIGFjY2VzcyBhIGRlYWxsb2NhdGVkIGNvbXBsZXRpb25I
YW5kbGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXht
YXAvY29vcmRpbmF0ZWQvQ29tcG9zaXRpbmdDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29tcG9zaXRpbmdDb29yZGlu
YXRvci5jcHAKaW5kZXggY2M5NzcwNDgyODcxNGQ5OTEwZTQ5NGE0NmM2MmIwZDBkNmY3Y2QxNy4u
NGY5ZTY1NGYyMjFlYjM0ZTAxNmM5ZjJjMzE0YTY2MzUxZGIwYzBiYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0NvbXBvc2l0
aW5nQ29vcmRpbmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9jb29yZGluYXRlZC9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmNwcApAQCAtNzIsMTQg
KzcyLDE3IEBAIENvbXBvc2l0aW5nQ29vcmRpbmF0b3I6OkNvbXBvc2l0aW5nQ29vcmRpbmF0b3Io
UGFnZSogcGFnZSwgQ29tcG9zaXRpbmdDb29yZGluYXRvCiAgICAgQ29vcmRpbmF0ZWRHcmFwaGlj
c0xheWVyOjpzZXRTaG91bGRTdXBwb3J0Q29udGVudHNUaWxpbmcodHJ1ZSk7CiB9CiAKLXZvaWQg
Q29tcG9zaXRpbmdDb29yZGluYXRvcjo6c2V0Um9vdENvbXBvc2l0aW5nTGF5ZXIoR3JhcGhpY3NM
YXllciogbGF5ZXIpCit2b2lkIENvbXBvc2l0aW5nQ29vcmRpbmF0b3I6OnNldFJvb3RDb21wb3Np
dGluZ0xheWVyKEdyYXBoaWNzTGF5ZXIqIGNvbXBvc2l0aW5nTGF5ZXIsIEdyYXBoaWNzTGF5ZXIq
IG92ZXJsYXlMYXllcikKIHsKICAgICBpZiAobV9yb290Q29tcG9zaXRpbmdMYXllcikKICAgICAg
ICAgbV9yb290Q29tcG9zaXRpbmdMYXllci0+cmVtb3ZlRnJvbVBhcmVudCgpOwogCi0gICAgbV9y
b290Q29tcG9zaXRpbmdMYXllciA9IGxheWVyOworICAgIG1fcm9vdENvbXBvc2l0aW5nTGF5ZXIg
PSBjb21wb3NpdGluZ0xheWVyOwogICAgIGlmIChtX3Jvb3RDb21wb3NpdGluZ0xheWVyKQogICAg
ICAgICBtX3Jvb3RMYXllci0+YWRkQ2hpbGRBdEluZGV4KG1fcm9vdENvbXBvc2l0aW5nTGF5ZXIs
IDApOworCisgICAgaWYgKG92ZXJsYXlMYXllcikKKyAgICAgICAgbV9yb290TGF5ZXItPmFkZENo
aWxkKG92ZXJsYXlMYXllcik7CiB9CiAKIHZvaWQgQ29tcG9zaXRpbmdDb29yZGluYXRvcjo6c2l6
ZURpZENoYW5nZShjb25zdCBJbnRTaXplJiBuZXdTaXplKQpAQCAtOTUsNyArOTgsNyBAQCBib29s
IENvbXBvc2l0aW5nQ29vcmRpbmF0b3I6OmZsdXNoUGVuZGluZ0xheWVyQ2hhbmdlcygpCiAgICAg
aW5pdGlhbGl6ZVJvb3RDb21wb3NpdGluZ0xheWVySWZOZWVkZWQoKTsKIAogICAgIG1fcm9vdExh
eWVyLT5mbHVzaENvbXBvc2l0aW5nU3RhdGVGb3JUaGlzTGF5ZXJPbmx5KCk7Ci0gICAgbV9jbGll
bnQtPmRpZEZsdXNoUm9vdExheWVyKCk7CisgICAgbV9jbGllbnQtPmRpZEZsdXNoUm9vdExheWVy
KG1fdmlzaWJsZUNvbnRlbnRzUmVjdCk7CiAKICAgICBib29sIGRpZFN5bmMgPSBtX3BhZ2UtPm1h
aW5GcmFtZSgpLnZpZXcoKS0+Zmx1c2hDb21wb3NpdGluZ1N0YXRlSW5jbHVkaW5nU3ViZnJhbWVz
KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9jb29yZGluYXRlZC9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29tcG9zaXRpbmdDb29yZGluYXRv
ci5oCmluZGV4IDRiYzU2MjU3MmYyOTA0NjRlNTBmNzkxMDI4NGQ5ZDNkM2FlOTIyMTIuLmFmYjhi
NTY5NmEwNmE3ODkzOTFhMGU0Yzk4NDk2ZWQ0ZjFhNDJlYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db21wb3NpdGluZ0Nv
b3JkaW5hdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L2Nvb3JkaW5hdGVkL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuaApAQCAtNTUsNyArNTUsNyBAQCBj
bGFzcyBDb21wb3NpdGluZ0Nvb3JkaW5hdG9yIDogcHVibGljIEdyYXBoaWNzTGF5ZXJDbGllbnQK
IHB1YmxpYzoKICAgICBjbGFzcyBDbGllbnQgewogICAgIHB1YmxpYzoKLSAgICAgICAgdmlydHVh
bCB2b2lkIGRpZEZsdXNoUm9vdExheWVyKCkgPSAwOworICAgICAgICB2aXJ0dWFsIHZvaWQgZGlk
Rmx1c2hSb290TGF5ZXIoY29uc3QgRmxvYXRSZWN0JiB2aXNpYmxlQ29udGVudFJlY3QpID0gMDsK
ICAgICAgICAgdmlydHVhbCB2b2lkIG5vdGlmeUZsdXNoUmVxdWlyZWQoKSA9IDA7CiAgICAgICAg
IHZpcnR1YWwgdm9pZCBjb21taXRTY2VuZVN0YXRlKGNvbnN0IENvb3JkaW5hdGVkR3JhcGhpY3NT
dGF0ZSYpID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lkIHBhaW50TGF5ZXJDb250ZW50cyhjb25z
dCBHcmFwaGljc0xheWVyKiwgR3JhcGhpY3NDb250ZXh0JiwgY29uc3QgSW50UmVjdCYgY2xpcFJl
Y3QpID0gMDsKQEAgLTY0LDcgKzY0LDcgQEAgcHVibGljOgogICAgIENvbXBvc2l0aW5nQ29vcmRp
bmF0b3IoUGFnZSosIENvbXBvc2l0aW5nQ29vcmRpbmF0b3I6OkNsaWVudCopOwogICAgIHZpcnR1
YWwgfkNvbXBvc2l0aW5nQ29vcmRpbmF0b3IoKTsKIAotICAgIHZvaWQgc2V0Um9vdENvbXBvc2l0
aW5nTGF5ZXIoR3JhcGhpY3NMYXllciopOworICAgIHZvaWQgc2V0Um9vdENvbXBvc2l0aW5nTGF5
ZXIoR3JhcGhpY3NMYXllciogY29tcG9zaXRpbmdMYXllciwgR3JhcGhpY3NMYXllciogb3Zlcmxh
eUxheWVyKTsKICAgICB2b2lkIHNpemVEaWRDaGFuZ2UoY29uc3QgSW50U2l6ZSYgbmV3U2l6ZSk7
CiAgICAgdm9pZCBkZXZpY2VPclBhZ2VTY2FsZUZhY3RvckNoYW5nZWQoKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
Q29vcmRpbmF0ZWREcmF3aW5nQXJlYS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZERyYXdpbmdBcmVhLmNwcAppbmRl
eCA2NzY0ZDNmZTdkNjIwNmE1ZmEzOWQ0ZDRlNzg1OGNlYWQwNTQyNWZlLi5mMTYyMzg4Zjc2MDBk
YWU2ZWU3MDcyYTM3YWNiMjQzMTIyNmMwYWZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZERyYXdpbmdB
cmVhLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0
ZWRHcmFwaGljcy9Db29yZGluYXRlZERyYXdpbmdBcmVhLmNwcApAQCAtMzEsNiArMzEsNyBAQAog
CiAjaW5jbHVkZSAiRHJhd2luZ0FyZWFQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiTGF5ZXJU
cmVlQ29udGV4dC5oIgorI2luY2x1ZGUgIlBhZ2VPdmVybGF5Q29udHJvbGxlci5oIgogI2luY2x1
ZGUgIlNoYXJlYWJsZUJpdG1hcC5oIgogI2luY2x1ZGUgIlVwZGF0ZUluZm8uaCIKICNpbmNsdWRl
ICJXZWJQYWdlLmgiCkBAIC0yMTMsMzYgKzIxNCw2IEBAIGJvb2wgQ29vcmRpbmF0ZWREcmF3aW5n
QXJlYTo6Zm9yY2VSZXBhaW50QXN5bmModWludDY0X3QgY2FsbGJhY2tJRCkKICAgICByZXR1cm4g
bV9sYXllclRyZWVIb3N0ICYmIG1fbGF5ZXJUcmVlSG9zdC0+Zm9yY2VSZXBhaW50QXN5bmMoY2Fs
bGJhY2tJRCk7CiB9CiAKLXZvaWQgQ29vcmRpbmF0ZWREcmF3aW5nQXJlYTo6ZGlkSW5zdGFsbFBh
Z2VPdmVybGF5KFBhZ2VPdmVybGF5KiBwYWdlT3ZlcmxheSkKLXsKLSAgICBpZiAobV9sYXllclRy
ZWVIb3N0KQotICAgICAgICBtX2xheWVyVHJlZUhvc3QtPmRpZEluc3RhbGxQYWdlT3ZlcmxheShw
YWdlT3ZlcmxheSk7Ci19Ci0KLXZvaWQgQ29vcmRpbmF0ZWREcmF3aW5nQXJlYTo6ZGlkVW5pbnN0
YWxsUGFnZU92ZXJsYXkoUGFnZU92ZXJsYXkqIHBhZ2VPdmVybGF5KQotewotICAgIGlmIChtX2xh
eWVyVHJlZUhvc3QpCi0gICAgICAgIG1fbGF5ZXJUcmVlSG9zdC0+ZGlkVW5pbnN0YWxsUGFnZU92
ZXJsYXkocGFnZU92ZXJsYXkpOwotCi0gICAgc2V0TmVlZHNEaXNwbGF5KCk7Ci19Ci0KLXZvaWQg
Q29vcmRpbmF0ZWREcmF3aW5nQXJlYTo6c2V0UGFnZU92ZXJsYXlOZWVkc0Rpc3BsYXkoUGFnZU92
ZXJsYXkqIHBhZ2VPdmVybGF5LCBjb25zdCBJbnRSZWN0JiByZWN0KQotewotICAgIGlmIChtX2xh
eWVyVHJlZUhvc3QpIHsKLSAgICAgICAgbV9sYXllclRyZWVIb3N0LT5zZXRQYWdlT3ZlcmxheU5l
ZWRzRGlzcGxheShwYWdlT3ZlcmxheSwgcmVjdCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0K
LSAgICBzZXROZWVkc0Rpc3BsYXlJblJlY3QocmVjdCk7Ci19Ci0KLXZvaWQgQ29vcmRpbmF0ZWRE
cmF3aW5nQXJlYTo6c2V0UGFnZU92ZXJsYXlPcGFjaXR5KFBhZ2VPdmVybGF5KiBwYWdlT3Zlcmxh
eSwgZmxvYXQgdmFsdWUpCi17Ci0gICAgaWYgKG1fbGF5ZXJUcmVlSG9zdCkKLSAgICAgICAgbV9s
YXllclRyZWVIb3N0LT5zZXRQYWdlT3ZlcmxheU9wYWNpdHkocGFnZU92ZXJsYXksIHZhbHVlKTsK
LX0KLQogdm9pZCBDb29yZGluYXRlZERyYXdpbmdBcmVhOjpzZXRQYWludGluZ0VuYWJsZWQoYm9v
bCBwYWludGluZ0VuYWJsZWQpCiB7CiAgICAgbV9pc1BhaW50aW5nRW5hYmxlZCA9IHBhaW50aW5n
RW5hYmxlZDsKQEAgLTI1Myw2ICsyMjQsMTEgQEAgdm9pZCBDb29yZGluYXRlZERyYXdpbmdBcmVh
Ojp1cGRhdGVQcmVmZXJlbmNlcyhjb25zdCBXZWJQcmVmZXJlbmNlc1N0b3JlJiBzdG9yZSkKICAg
ICBtX3dlYlBhZ2UtPmNvcmVQYWdlKCktPnNldHRpbmdzKCkuc2V0Rm9yY2VDb21wb3NpdGluZ01v
ZGUoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojpmb3JjZUNvbXBv
c2l0aW5nTW9kZUtleSgpKSAmJiBMYXllclRyZWVIb3N0OjpzdXBwb3J0c0FjY2VsZXJhdGVkQ29t
cG9zaXRpbmcoKSk7CiB9CiAKK3ZvaWQgQ29vcmRpbmF0ZWREcmF3aW5nQXJlYTo6bWFpbkZyYW1l
Q29udGVudFNpemVDaGFuZ2VkKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKQoreworICAgIG1fd2Vi
UGFnZS0+cGFnZU92ZXJsYXlDb250cm9sbGVyKCkuZGlkQ2hhbmdlRG9jdW1lbnRTaXplKCk7Cit9
CisKIHZvaWQgQ29vcmRpbmF0ZWREcmF3aW5nQXJlYTo6bGF5ZXJIb3N0RGlkRmx1c2hMYXllcnMo
KQogewogICAgIEFTU0VSVChtX2xheWVyVHJlZUhvc3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRE
cmF3aW5nQXJlYS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWREcmF3aW5nQXJlYS5oCmluZGV4IGQzMDZlODYyMGVjMTE0
MzM5MmI0YjEzMWQzZTE2YWU2MThiNWJhYzEuLmIzYjNlZDYxYTIwNzVmNDc1OThjMGFmMTAxY2U3
NTk2NjcwNzU4MGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkRHJhd2luZ0FyZWEuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGlu
YXRlZERyYXdpbmdBcmVhLmgKQEAgLTU1LDEzICs1NSw5IEBAIHByaXZhdGU6CiAgICAgdmlydHVh
bCB2b2lkIGZvcmNlUmVwYWludCgpOwogICAgIHZpcnR1YWwgYm9vbCBmb3JjZVJlcGFpbnRBc3lu
Yyh1aW50NjRfdCBjYWxsYmFja0lEKTsKIAotICAgIHZpcnR1YWwgdm9pZCBkaWRJbnN0YWxsUGFn
ZU92ZXJsYXkoUGFnZU92ZXJsYXkqKTsKLSAgICB2aXJ0dWFsIHZvaWQgZGlkVW5pbnN0YWxsUGFn
ZU92ZXJsYXkoUGFnZU92ZXJsYXkqKTsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0UGFnZU92ZXJsYXlO
ZWVkc0Rpc3BsYXkoUGFnZU92ZXJsYXkqLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0Jik7Ci0gICAg
dmlydHVhbCB2b2lkIHNldFBhZ2VPdmVybGF5T3BhY2l0eShQYWdlT3ZlcmxheSosIGZsb2F0KTsK
LQogICAgIHZpcnR1YWwgdm9pZCBzZXRQYWludGluZ0VuYWJsZWQoYm9vbCk7CiAgICAgdmlydHVh
bCB2b2lkIHVwZGF0ZVByZWZlcmVuY2VzKGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmKSBvdmVy
cmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgbWFpbkZyYW1lQ29udGVudFNpemVDaGFuZ2VkKGNvbnN0
IFdlYkNvcmU6OkludFNpemUmKSBvdmVycmlkZTsKIAogICAgIHZpcnR1YWwgV2ViQ29yZTo6R3Jh
cGhpY3NMYXllckZhY3RvcnkqIGdyYXBoaWNzTGF5ZXJGYWN0b3J5KCkgb3ZlcnJpZGU7CiAgICAg
dmlydHVhbCB2b2lkIHNldFJvb3RDb21wb3NpdGluZ0xheWVyKFdlYkNvcmU6OkdyYXBoaWNzTGF5
ZXIqKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29y
ZGluYXRlZExheWVyVHJlZUhvc3QuY3BwCmluZGV4IDU3YWQxMDRiM2JlZDcxOTUzNmY4NDM5YjA4
YTNjYzY1NGE4MjIyNDguLmMzMTU5YWViY2I5ZGE1N2QwZmMzMWU4NzYwZDBhNDZiNmM5NjIyNGQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRl
ZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXll
clRyZWVIb3N0LmNwcApAQCAtMTEyLDcgKzExMiw3IEBAIHZvaWQgQ29vcmRpbmF0ZWRMYXllclRy
ZWVIb3N0OjpzZXRTaG91bGROb3RpZnlBZnRlck5leHRTY2hlZHVsZWRMYXllckZsdXNoKGJvb2wK
IAogdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OnNldFJvb3RDb21wb3NpdGluZ0xheWVy
KFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXIqIGdyYXBoaWNzTGF5ZXIpCiB7Ci0gICAgbV9jb29yZGlu
YXRvci0+c2V0Um9vdENvbXBvc2l0aW5nTGF5ZXIoZ3JhcGhpY3NMYXllcik7CisgICAgbV9jb29y
ZGluYXRvci0+c2V0Um9vdENvbXBvc2l0aW5nTGF5ZXIoZ3JhcGhpY3NMYXllciwgbV93ZWJQYWdl
LT5wYWdlT3ZlcmxheUNvbnRyb2xsZXIoKS52aWV3T3ZlcmxheVJvb3RMYXllcigpKTsKIH0KIAog
dm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OmludmFsaWRhdGUoKQpAQCAtMTU1LDM3ICsx
NTUsNiBAQCB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6c2l6ZURpZENoYW5nZShjb25z
dCBXZWJDb3JlOjpJbnRTaXplJiBuZXdTaXplKQogICAgIHNjaGVkdWxlTGF5ZXJGbHVzaCgpOwog
fQogCi12b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6ZGlkSW5zdGFsbFBhZ2VPdmVybGF5
KFBhZ2VPdmVybGF5KiBwYWdlT3ZlcmxheSkKLXsKLSAgICBBU1NFUlQoIW1fcGFnZU92ZXJsYXkp
OwotICAgIG1fcGFnZU92ZXJsYXkgPSBwYWdlT3ZlcmxheTsKLQotICAgIGNyZWF0ZVBhZ2VPdmVy
bGF5TGF5ZXIoKTsKLSAgICBzY2hlZHVsZUxheWVyRmx1c2goKTsKLX0KLQotdm9pZCBDb29yZGlu
YXRlZExheWVyVHJlZUhvc3Q6OmRpZFVuaW5zdGFsbFBhZ2VPdmVybGF5KFBhZ2VPdmVybGF5KikK
LXsKLSAgICBtX3BhZ2VPdmVybGF5ID0gMDsKLQotICAgIGRlc3Ryb3lQYWdlT3ZlcmxheUxheWVy
KCk7Ci0gICAgc2NoZWR1bGVMYXllckZsdXNoKCk7Ci19Ci0KLXZvaWQgQ29vcmRpbmF0ZWRMYXll
clRyZWVIb3N0OjpzZXRQYWdlT3ZlcmxheU5lZWRzRGlzcGxheShQYWdlT3ZlcmxheSosIGNvbnN0
IFdlYkNvcmU6OkludFJlY3QmIHJlY3QpCi17Ci0gICAgQVNTRVJUKG1fcGFnZU92ZXJsYXlMYXll
cik7Ci0gICAgbV9wYWdlT3ZlcmxheUxheWVyLT5zZXROZWVkc0Rpc3BsYXlJblJlY3QocmVjdCk7
Ci0gICAgc2NoZWR1bGVMYXllckZsdXNoKCk7Ci19Ci0KLXZvaWQgQ29vcmRpbmF0ZWRMYXllclRy
ZWVIb3N0OjpzZXRQYWdlT3ZlcmxheU9wYWNpdHkoUGFnZU92ZXJsYXkqLCBmbG9hdCB2YWx1ZSkK
LXsKLSAgICBBU1NFUlQobV9wYWdlT3ZlcmxheUxheWVyKTsKLSAgICBtX3BhZ2VPdmVybGF5TGF5
ZXItPnNldE9wYWNpdHkodmFsdWUpOwotICAgIHNjaGVkdWxlTGF5ZXJGbHVzaCgpOwotfQotCiB2
b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6c2V0VmlzaWJsZUNvbnRlbnRzUmVjdChjb25z
dCBGbG9hdFJlY3QmIHJlY3QsIGNvbnN0IEZsb2F0UG9pbnQmIHRyYWplY3RvcnlWZWN0b3IpCiB7
CiAgICAgbV9jb29yZGluYXRvci0+c2V0VmlzaWJsZUNvbnRlbnRzUmVjdChyZWN0LCB0cmFqZWN0
b3J5VmVjdG9yKTsKQEAgLTIwNCwxMCArMTczLDkgQEAgdm9pZCBDb29yZGluYXRlZExheWVyVHJl
ZUhvc3Q6OnB1cmdlQmFja2luZ1N0b3JlcygpCiAgICAgbV9jb29yZGluYXRvci0+cHVyZ2VCYWNr
aW5nU3RvcmVzKCk7CiB9CiAKLXZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpkaWRGbHVz
aFJvb3RMYXllcigpCit2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6ZGlkRmx1c2hSb290
TGF5ZXIoY29uc3QgRmxvYXRSZWN0JiB2aXNpYmxlQ29udGVudFJlY3QpCiB7Ci0gICAgaWYgKG1f
cGFnZU92ZXJsYXlMYXllcikKLSAgICAgICAgbV9wYWdlT3ZlcmxheUxheWVyLT5mbHVzaENvbXBv
c2l0aW5nU3RhdGVGb3JUaGlzTGF5ZXJPbmx5KCk7CisgICAgbV93ZWJQYWdlLT5wYWdlT3Zlcmxh
eUNvbnRyb2xsZXIoKS5mbHVzaFBhZ2VPdmVybGF5TGF5ZXJzKHZpc2libGVDb250ZW50UmVjdCk7
CiB9CiAKIHZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpwZXJmb3JtU2NoZWR1bGVkTGF5
ZXJGbHVzaCgpCkBAIC0yMzgsMjggKzIwNiw2IEBAIHZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVI
b3N0OjpsYXllckZsdXNoVGltZXJGaXJlZChUaW1lcjxDb29yZGluYXRlZExheWVyVHJlZUhvCiAg
ICAgcGVyZm9ybVNjaGVkdWxlZExheWVyRmx1c2goKTsKIH0KIAotdm9pZCBDb29yZGluYXRlZExh
eWVyVHJlZUhvc3Q6OmNyZWF0ZVBhZ2VPdmVybGF5TGF5ZXIoKQotewotICAgIEFTU0VSVCghbV9w
YWdlT3ZlcmxheUxheWVyKTsKLQotICAgIG1fcGFnZU92ZXJsYXlMYXllciA9IEdyYXBoaWNzTGF5
ZXI6OmNyZWF0ZShncmFwaGljc0xheWVyRmFjdG9yeSgpLCBtX2Nvb3JkaW5hdG9yLmdldCgpKTsK
LSNpZm5kZWYgTkRFQlVHCi0gICAgbV9wYWdlT3ZlcmxheUxheWVyLT5zZXROYW1lKCJDb21wb3Np
dGluZ0Nvb3JkaW5hdG9yIHBhZ2Ugb3ZlcmxheSBjb250ZW50Iik7Ci0jZW5kaWYKLQotICAgIG1f
cGFnZU92ZXJsYXlMYXllci0+c2V0RHJhd3NDb250ZW50KHRydWUpOwotICAgIG1fcGFnZU92ZXJs
YXlMYXllci0+c2V0U2l6ZShtX2Nvb3JkaW5hdG9yLT5yb290TGF5ZXIoKS0+c2l6ZSgpKTsKLQot
ICAgIG1fY29vcmRpbmF0b3ItPnJvb3RMYXllcigpLT5hZGRDaGlsZChtX3BhZ2VPdmVybGF5TGF5
ZXIuZ2V0KCkpOwotfQotCi12b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6ZGVzdHJveVBh
Z2VPdmVybGF5TGF5ZXIoKQotewotICAgIEFTU0VSVChtX3BhZ2VPdmVybGF5TGF5ZXIpOwotICAg
IG1fcGFnZU92ZXJsYXlMYXllci0+cmVtb3ZlRnJvbVBhcmVudCgpOwotICAgIG1fcGFnZU92ZXJs
YXlMYXllciA9IG51bGxwdHI7Ci19Ci0KIHZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0Ojpw
YWludExheWVyQ29udGVudHMoY29uc3QgR3JhcGhpY3NMYXllciogZ3JhcGhpY3NMYXllciwgR3Jh
cGhpY3NDb250ZXh0JiBncmFwaGljc0NvbnRleHQsIGNvbnN0IEludFJlY3QmIGNsaXBSZWN0KQog
ewogfQpAQCAtMjc4LDggKzIyNCw3IEBAIFBhc3NSZWZQdHI8Q29vcmRpbmF0ZWRTdXJmYWNlPiBD
b29yZGluYXRlZExheWVyVHJlZUhvc3Q6OmNyZWF0ZUNvb3JkaW5hdGVkU3VyZmFjCiB2b2lkIENv
b3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6ZGV2aWNlT3JQYWdlU2NhbGVGYWN0b3JDaGFuZ2VkKCkK
IHsKICAgICBtX2Nvb3JkaW5hdG9yLT5kZXZpY2VPclBhZ2VTY2FsZUZhY3RvckNoYW5nZWQoKTsK
LSAgICBpZiAobV9wYWdlT3ZlcmxheUxheWVyKQotICAgICAgICBtX3BhZ2VPdmVybGF5TGF5ZXIt
PmRldmljZU9yUGFnZVNjYWxlRmFjdG9yQ2hhbmdlZCgpOworICAgIG1fd2ViUGFnZS0+cGFnZU92
ZXJsYXlDb250cm9sbGVyKCkuZGlkQ2hhbmdlRGV2aWNlU2NhbGVGYWN0b3IoKTsKIH0KIAogdm9p
ZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OnBhZ2VCYWNrZ3JvdW5kVHJhbnNwYXJlbmN5Q2hh
bmdlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29v
cmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuaCBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdC5oCmluZGV4IDUxMjgxMGYxYjIyNjk1NWVlY2EzOGYyOTI4MzM5MGM2MTc2ZTIy
ZjMuLmRkZDBjYjUyNTQyODNkMjg1NWU0NjA3MGJkNzhmODQ1YjgwOTc4MjIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
b3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5oCkBA
IC01NywxMSArNTcsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGZvcmNlUmVwYWludEFz
eW5jKHVpbnQ2NF90IGNhbGxiYWNrSUQpOwogICAgIHZpcnR1YWwgdm9pZCBzaXplRGlkQ2hhbmdl
KGNvbnN0IFdlYkNvcmU6OkludFNpemUmIG5ld1NpemUpOwogCi0gICAgdmlydHVhbCB2b2lkIGRp
ZEluc3RhbGxQYWdlT3ZlcmxheShQYWdlT3ZlcmxheSopOwotICAgIHZpcnR1YWwgdm9pZCBkaWRV
bmluc3RhbGxQYWdlT3ZlcmxheShQYWdlT3ZlcmxheSopOwotICAgIHZpcnR1YWwgdm9pZCBzZXRQ
YWdlT3ZlcmxheU5lZWRzRGlzcGxheShQYWdlT3ZlcmxheSosIGNvbnN0IFdlYkNvcmU6OkludFJl
Y3QmKTsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0UGFnZU92ZXJsYXlPcGFjaXR5KFBhZ2VPdmVybGF5
KiwgZmxvYXQpOwotCiAgICAgdmlydHVhbCB2b2lkIHBhdXNlUmVuZGVyaW5nKCkgeyBtX2lzU3Vz
cGVuZGVkID0gdHJ1ZTsgfQogICAgIHZpcnR1YWwgdm9pZCByZXN1bWVSZW5kZXJpbmcoKSB7IG1f
aXNTdXNwZW5kZWQgPSBmYWxzZTsgc2NoZWR1bGVMYXllckZsdXNoKCk7IH0KICAgICB2aXJ0dWFs
IHZvaWQgZGV2aWNlT3JQYWdlU2NhbGVGYWN0b3JDaGFuZ2VkKCkgb3ZlcnJpZGU7CkBAIC04Myw4
ICs3OCw2IEBAIHByb3RlY3RlZDoKIAogcHJpdmF0ZToKICAgICAvLyBDb29yZGluYXRlZExheWVy
VHJlZUhvc3QKLSAgICB2b2lkIGNyZWF0ZVBhZ2VPdmVybGF5TGF5ZXIoKTsKLSAgICB2b2lkIGRl
c3Ryb3lQYWdlT3ZlcmxheUxheWVyKCk7CiAgICAgdm9pZCBjYW5jZWxQZW5kaW5nTGF5ZXJGbHVz
aCgpOwogICAgIHZvaWQgcGVyZm9ybVNjaGVkdWxlZExheWVyRmx1c2goKTsKICAgICB2b2lkIHNl
dFZpc2libGVDb250ZW50c1JlY3QoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiwgY29uc3QgV2Vi
Q29yZTo6RmxvYXRQb2ludCYpOwpAQCAtOTUsMTcgKzg4LDEzIEBAIHByaXZhdGU6CiAgICAgdm9p
ZCBsYXllckZsdXNoVGltZXJGaXJlZChXZWJDb3JlOjpUaW1lcjxDb29yZGluYXRlZExheWVyVHJl
ZUhvc3Q+Kik7CiAKICAgICAvLyBDb21wb3NpdGluZ0Nvb3JkaW5hdG9yOjpDbGllbnQKLSAgICB2
aXJ0dWFsIHZvaWQgZGlkRmx1c2hSb290TGF5ZXIoKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZv
aWQgZGlkRmx1c2hSb290TGF5ZXIoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiB2aXNpYmxlQ29u
dGVudFJlY3QpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBub3RpZnlGbHVzaFJlcXVpcmVk
KCkgb3ZlcnJpZGUgeyBzY2hlZHVsZUxheWVyRmx1c2goKTsgfTsKICAgICB2aXJ0dWFsIHZvaWQg
Y29tbWl0U2NlbmVTdGF0ZShjb25zdCBXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzU3RhdGUm
KSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgcGFpbnRMYXllckNvbnRlbnRzKGNvbnN0IFdl
YkNvcmU6OkdyYXBoaWNzTGF5ZXIqLCBXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQmLCBjb25zdCBX
ZWJDb3JlOjpJbnRSZWN0JiBjbGlwUmVjdCkgb3ZlcnJpZGU7CiAKICAgICBzdGQ6OnVuaXF1ZV9w
dHI8V2ViQ29yZTo6Q29tcG9zaXRpbmdDb29yZGluYXRvcj4gbV9jb29yZGluYXRvcjsKIAotICAg
IC8vIFRoZSBwYWdlIG92ZXJsYXkgbGF5ZXIuIFdpbGwgYmUgbnVsbCBpZiB0aGVyZSdzIG5vIHBh
Z2Ugb3ZlcmxheS4KLSAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6R3JhcGhpY3NMYXllcj4g
bV9wYWdlT3ZlcmxheUxheWVyOwotICAgIFJlZlB0cjxQYWdlT3ZlcmxheT4gbV9wYWdlT3Zlcmxh
eTsKLQogICAgIGJvb2wgbV9ub3RpZnlBZnRlclNjaGVkdWxlZExheWVyRmx1c2g7CiAgICAgYm9v
bCBtX2lzVmFsaWQ7CiAgICAgYm9vbCBtX2lzU3VzcGVuZGVkOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuaCBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0LmgKaW5kZXggOTg0NzgyZTY2Nzg0
NjA5YjhkYzIyMDJlNmNiOTkzNmJhNTg5ZTliOC4uOWFhZGY2OWRmYTQ1YTM5MGVmYWQ3MmM1YWY4
ZmQ0ODIzNTQzMzk2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL0xheWVyVHJlZUhvc3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvTGF5ZXJUcmVlSG9zdC5oCkBAIC03NCw5ICs3NCw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IHZvaWQgZGV2aWNlT3JQYWdlU2NhbGVGYWN0b3JDaGFuZ2VkKCkgPSAwOwogICAgIHZpcnR1YWwg
dm9pZCBwYWdlQmFja2dyb3VuZFRyYW5zcGFyZW5jeUNoYW5nZWQoKSA9IDA7CiAKLSAgICB2aXJ0
dWFsIHZvaWQgZGlkSW5zdGFsbFBhZ2VPdmVybGF5KFBhZ2VPdmVybGF5KikgPSAwOwotICAgIHZp
cnR1YWwgdm9pZCBkaWRVbmluc3RhbGxQYWdlT3ZlcmxheShQYWdlT3ZlcmxheSopID0gMDsKLSAg
ICB2aXJ0dWFsIHZvaWQgc2V0UGFnZU92ZXJsYXlOZWVkc0Rpc3BsYXkoUGFnZU92ZXJsYXkqLCBj
b25zdCBXZWJDb3JlOjpJbnRSZWN0JikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBkaWRJbnN0YWxs
UGFnZU92ZXJsYXkoUGFnZU92ZXJsYXkqKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGlkVW5pbnN0
YWxsUGFnZU92ZXJsYXkoUGFnZU92ZXJsYXkqKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgc2V0UGFn
ZU92ZXJsYXlOZWVkc0Rpc3BsYXkoUGFnZU92ZXJsYXkqLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0
JikgeyB9CiAgICAgdmlydHVhbCB2b2lkIHNldFBhZ2VPdmVybGF5T3BhY2l0eShQYWdlT3Zlcmxh
eSosIGZsb2F0KSB7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBwYXVzZVJlbmRlcmluZygpIHsgfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>