<?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>99539</bug_id>
          
          <creation_ts>2012-10-16 22:21:44 -0700</creation_ts>
          <short_desc>Fix build warnings : -Wunused-parameter, -Wunused-variable</short_desc>
          <delta_ts>2012-10-17 10:15:23 -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>WebCore Misc.</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Byungwoo Lee">bw80.lee</reporter>
          <assigned_to name="Byungwoo Lee">bw80.lee</assigned_to>
          <cc>dino</cc>
    
    <cc>eric</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>haraken</cc>
    
    <cc>noam</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>743853</commentid>
    <comment_count>0</comment_count>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-10-16 22:21:44 -0700</bug_when>
    <thetext>Fix build warnings about unused parameter or variable when WTF_USE_TILED_BACKING_STORE is enabled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743866</commentid>
    <comment_count>1</comment_count>
      <attachid>169091</attachid>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-10-16 22:41:07 -0700</bug_when>
    <thetext>Created attachment 169091
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743960</commentid>
    <comment_count>2</comment_count>
      <attachid>169091</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-10-17 00:39:09 -0700</bug_when>
    <thetext>Comment on attachment 169091
Patch

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

Let&apos;s rebase with the latest WebKit and make bots green.

&gt; Source/WebCore/platform/graphics/texmap/TextureMapper.h:76
&gt; +    virtual bool canReuseWith(const IntSize&amp; /* contentsSize */, Flags flags = 0)

You can write &apos;Flags = 0&apos; and remove UNUSED_PARAM().

&gt; Source/WebCore/platform/graphics/texmap/TextureMapper.h:147
&gt; +    virtual void beginPainting(PaintFlags flags = 0)

Ditto.

&gt; Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:410
&gt; +void TextureMapperLayer::flushCompositingStateSelf(GraphicsLayerTextureMapper* graphicsLayer, TextureMapper* /* textureMapper */)

Remove this argument instead of commenting out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744051</commentid>
    <comment_count>3</comment_count>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-10-17 02:27:16 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 169091 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=169091&amp;action=review
&gt; 
&gt; Let&apos;s rebase with the latest WebKit and make bots green.
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/texmap/TextureMapper.h:76
&gt; &gt; +    virtual bool canReuseWith(const IntSize&amp; /* contentsSize */, Flags flags = 0)
&gt; 
&gt; You can write &apos;Flags = 0&apos; and remove UNUSED_PARAM().
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/texmap/TextureMapper.h:147
&gt; &gt; +    virtual void beginPainting(PaintFlags flags = 0)
&gt; 
&gt; Ditto.
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:410
&gt; &gt; +void TextureMapperLayer::flushCompositingStateSelf(GraphicsLayerTextureMapper* graphicsLayer, TextureMapper* /* textureMapper */)
&gt; 
&gt; Remove this argument instead of commenting out.

Thanks for the comment. I&apos;ll do those :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744090</commentid>
    <comment_count>4</comment_count>
      <attachid>169145</attachid>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-10-17 03:08:23 -0700</bug_when>
    <thetext>Created attachment 169145
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744352</commentid>
    <comment_count>5</comment_count>
      <attachid>169145</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-17 10:15:19 -0700</bug_when>
    <thetext>Comment on attachment 169145
Patch

Clearing flags on attachment: 169145

Committed r131617: &lt;http://trac.webkit.org/changeset/131617&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744353</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-17 10:15:23 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169091</attachid>
            <date>2012-10-16 22:41:07 -0700</date>
            <delta_ts>2012-10-17 03:08:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-99539-20121017143954.patch</filename>
            <type>text/plain</type>
            <size>25784</size>
            <attacher name="Byungwoo Lee">bw80.lee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxNDM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjNiZTgxZjRmYzk5NjM1
Y2FlN2ZiMmVjYTc0ODM3ODFjMTgxNWVhYi4uNWRmZTMwNjY0ZWUxZmE3MjllMjEzMzgxYzk2MzRl
YzEyN2M3MjA1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEyLTEwLTE2ICBCeXVu
Z3dvbyBMZWUgIDxidzgwLmxlZUBzYW1zdW5nLmNvbT4KKworICAgICAgICBGaXggYnVpbGQgd2Fy
bmluZ3MgOiAtV3VudXNlZC1wYXJhbWV0ZXIsIC1XdW51c2VkLXZhcmlhYmxlCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05OTUzOQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeCBidWlsZCB3YXJuaW5ncyBh
Ym91dCB1bnVzZWQgcGFyYW1ldGVyIG9yIHVudXNlZCB2YXJpYWJsZSB3aGVuCisgICAgICAgIFdU
Rl9VU0VfVElMRURfQkFDS0lOR19TVE9SRSBvcHRpb24gaXMgZW5hYmxlZC4KKworICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2VmbC9HcmFwaGljc0NvbnRleHQzREVmbC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6Z2V0SW1hZ2VEYXRhKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9lZmwvR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6Y3JlYXRlU3VyZmFjZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OnBhaW50VG9UZXh0dXJl
TWFwcGVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNE
T3BlbkdMLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV4dGVuc2lvbnMzRE9wZW5HTDo6YmluZFZl
cnRleEFycmF5T0VTKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVy
ZU1hcHBlci5oOgorICAgICAgICAoV2ViQ29yZTo6Qml0bWFwVGV4dHVyZTo6Y2FuUmV1c2VXaXRo
KToKKyAgICAgICAgKFdlYkNvcmU6OlRleHR1cmVNYXBwZXI6OmJlZ2luUGFpbnRpbmcpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlckdMOjpkcmF3UmVwYWludENvdW50ZXIpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Qml0bWFwVGV4dHVyZUltYWdlQnVmZmVyOjp1cGRhdGVD
b250ZW50cyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBw
ZXJJbWFnZUJ1ZmZlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0
dXJlTWFwcGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlckxheWVy
Ojpzb3J0QnlaT3JkZXIpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlckxheWVyOjpm
bHVzaENvbXBvc2l0aW5nU3RhdGVTZWxmKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90
ZXhtYXAvVGV4dHVyZU1hcHBlclNoYWRlck1hbmFnZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlRl
eHR1cmVNYXBwZXJTaGFkZXJQcm9ncmFtOjpwcmVwYXJlKToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVy
Q29tcG9zaXRvcjo6YWxsb3dzSW5kZXBlbmRlbnRseUNvbXBvc2l0ZWRGcmFtZXMpOgorCiAyMDEy
LTEwLTE2ICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KIAogICAgICAgICBGaXgg
c29tZSBhcHBlYXJhbmNlIGdsaXRjaGVzIG9mIG11bHRpcGxlIGZpZWxkcyBpbnB1dCBlbGVtZW50
cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9lZmwvQ2hhbmdlTG9nCmluZGV4IDE1MDEzYmE2MmU0NWRlNDMzZWM1YjcxZGRjYTNmNjM5NjA4
Yzg5ZDAuLmY2MGM1Yzk4MGM4MjE3ZjQwMmNiOTY0YjQ5ZjAxY2IzOTY5OGUzZjEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0xMC0xNiAgQnl1bmd3b28gTGVlICA8Ync4
MC5sZWVAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgRml4IGJ1aWxkIHdhcm5pbmdzIDogLVd1bnVz
ZWQtcGFyYW1ldGVyLCAtV3VudXNlZC12YXJpYWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTk1MzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBGaXggYnVpbGQgd2FybmluZ3MgYWJvdXQgdW51c2VkIHBh
cmFtZXRlciBvciB1bnVzZWQgdmFyaWFibGUgd2hlbgorICAgICAgICBXVEZfVVNFX1RJTEVEX0JB
Q0tJTkdfU1RPUkUgb3B0aW9uIGlzIGVuYWJsZWQuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9y
dC9DaHJvbWVDbGllbnRFZmwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50RWZs
OjphdHRhY2hSb290R3JhcGhpY3NMYXllcik6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGll
bnRFZmw6OmRlbGVnYXRlZFNjcm9sbFJlcXVlc3RlZCk6CisKIDIwMTItMTAtMTUgIENocmlzdG9w
aGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KIAogICAgICAgICBbRUZMXVtX
SzJdIEltcGxlbWVudCBGYXZpY29ucyBBUEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA3MTBlMGY1ZWQxYjQ0N2E4
MDhkZThhNjE3Y2I5NTljNWFiZWE2ODY0Li44YTdmOTFhNTkwMDFhMGQ2MTA2NDlkMTkzYTI5NmI4
YTQzMDM5NTc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIwMTItMTAtMTYgIEJ5dW5n
d29vIExlZSAgPGJ3ODAubGVlQHNhbXN1bmcuY29tPgorCisgICAgICAgIEZpeCBidWlsZCB3YXJu
aW5ncyA6IC1XdW51c2VkLXBhcmFtZXRlciwgLVd1bnVzZWQtdmFyaWFibGUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk5NTM5CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4IGJ1aWxkIHdhcm5pbmdzIGFi
b3V0IHVudXNlZCBwYXJhbWV0ZXIgb3IgdW51c2VkIHZhcmlhYmxlIHdoZW4KKyAgICAgICAgV1RG
X1VTRV9USUxFRF9CQUNLSU5HX1NUT1JFIG9wdGlvbiBpcyBlbmFibGVkLgorCisgICAgICAgICog
VUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRCYWNraW5nU3RvcmUuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZEJhY2tpbmdTdG9yZTo6cGFpbnRUb1RleHR1
cmVNYXBwZXIpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVy
VHJlZVJlbmRlcmVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlUmVuZGVyZXI6OmNy
ZWF0ZUxheWVyKToKKyAgICAgICAgKiBVSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhUHJveHk6OmRpZFJlY2VpdmVMYXllclRyZWVDb29y
ZGluYXRvclByb3h5TWVzc2FnZSk6CisgICAgICAgICogVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJv
eHkuaDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eTo6c2V0VmlzaWJsZUNvbnRl
bnRzUmVjdCk6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhUHJveHk6OmNyZWF0ZVRpbGVG
b3JMYXllcik6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhUHJveHk6OnVwZGF0ZVRpbGVG
b3JMYXllcik6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhUHJveHk6OnJlbW92ZVRpbGVG
b3JMYXllcik6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhUHJveHk6OnVwZGF0ZSk6Cisg
ICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhUHJveHk6OmRpZFVwZGF0ZUJhY2tpbmdTdG9yZVN0
YXRlKToKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eTo6ZW50ZXJBY2NlbGVyYXRl
ZENvbXBvc2l0aW5nTW9kZSk6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhUHJveHk6OmV4
aXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZSk6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdB
cmVhUHJveHk6OnVwZGF0ZUFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKToKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBoaWNz
TGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjp0
aWxlZEJhY2tpbmdTdG9yZVBhaW50RW5kKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
Q29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZFRpbGUuY3BwOgorICAgICAgICAoV2ViS2l0
OjpDb29yZGluYXRlZFRpbGU6OnBhaW50KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
Q29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvci5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OkxheWVyVHJlZUNvb3JkaW5hdG9yOjpzY3JvbGxOb25Db21wb3NpdGVkQ29udGVudHMp
OgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVDb29yZGluYXRvcjo6bm90aWZ5QW5pbWF0aW9u
U3RhcnRlZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuaDoK
KyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlSG9zdDo6c2V0VmlzaWJsZUNvbnRlbnRzUmVjdCk6
CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZUhvc3Q6OnNldFZpc2libGVDb250ZW50c1JlY3RG
b3JMYXllcik6CisKIDIwMTItMTAtMTYgIFN6aWxhcmQgTGVkYW4gIDxzemxlZGFuQGluZi51LXN6
ZWdlZC5odT4KIAogICAgICAgICBTZXBhcmF0ZSBXZWJLaXQyIGluc3RhbmNlcyB1c2UgdGhlIHNh
bWUgbG9jYWwgc3RvcmFnZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZWZsL0dyYXBoaWNzQ29udGV4dDNERWZsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2VmbC9HcmFwaGljc0NvbnRleHQzREVmbC5jcHAKaW5kZXggNmYxZDRjYTE1
ZWM5ZmNhNjhlNTgyNGRlZmVmZTBiMTYwYjg4ODhmNS4uNjRmM2I3MDJhZWNiYThlY2ZhNWMzYjE5
ZThkMzJmNDgyOTgxYmM2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZWZsL0dyYXBoaWNzQ29udGV4dDNERWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9lZmwvR3JhcGhpY3NDb250ZXh0M0RFZmwuY3BwCkBAIC0yMjksOCAr
MjI5LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6Y3JlYXRlR3JhcGhpY3NTdXJmYWNlcyhj
b25zdCBJbnRTaXplJiBzaXplKQogfQogI2VuZGlmCiAKLWJvb2wgR3JhcGhpY3NDb250ZXh0M0Q6
OmdldEltYWdlRGF0YShJbWFnZSogaW1hZ2UsIEdDM0RlbnVtIGZvcm1hdCwgR0MzRGVudW0gdHlw
ZSwgYm9vbCBwcmVtdWx0aXBseUFscGhhLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGJvb2wgaWdub3JlR2FtbWFBbmRDb2xvclByb2ZpbGUsIFZlY3Rvcjx1aW50OF90PiYg
b3V0cHV0VmVjdG9yKQorYm9vbCBHcmFwaGljc0NvbnRleHQzRDo6Z2V0SW1hZ2VEYXRhKEltYWdl
KiwgR0MzRGVudW0gLyogZm9ybWF0ICovLCBHQzNEZW51bSAvKiB0eXBlICovLCBib29sIC8qIHBy
ZW11bHRpcGx5QWxwaGEgKi8sIGJvb2wgLyogaWdub3JlR2FtbWFBbmRDb2xvclByb2ZpbGUgKi8s
IFZlY3Rvcjx1aW50OF90PiYgLyogb3V0cHV0VmVjdG9yICovKQogewogICAgIG5vdEltcGxlbWVu
dGVkKCk7CiAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZWZsL0dyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9lZmwvR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlLmNw
cAppbmRleCA2OGJkMGQ1N2I5Y2ZjODcxMzgzOWVlYmI5MGEwN2UwNTg3YzlhYzhhLi4xYzFkYzU2
OGFhYTE3NGE3NWQwM2YzNDRjMzFkMGE3OGEwYjRmODc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9lZmwvR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9lZmwvR3JhcGhpY3NDb250ZXh0
M0RQcml2YXRlLmNwcApAQCAtMTA4LDggKzEwOCw2IEBAIGJvb2wgR3JhcGhpY3NDb250ZXh0M0RQ
cml2YXRlOjpjcmVhdGVTdXJmYWNlKFBhZ2VDbGllbnRFZmwqIHBhZ2VDbGllbnQsIGJvb2wgcmVu
CiB7CiAgICAgLy8gSWYgUmVuZGVyU3R5bGUgaXMgUmVuZGVyT2Zmc2NyZWVuLCB3ZSB3aWxsIGJl
IHJlbmRlcmluZyB0byBhIEZCTywKICAgICAvLyBzbyBFdmFzX0dMX1N1cmZhY2UgaGFzIGEgMXgx
IGR1bW15IHN1cmZhY2UuCi0gICAgaW50IHggPSAwOwotICAgIGludCB5ID0gMDsKICAgICBpbnQg
d2lkdGggPSAxOwogICAgIGludCBoZWlnaHQgPSAxOwogCkBAIC0xNjUsNyArMTYzLDcgQEAgYm9v
bCBHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6Om1ha2VDb250ZXh0Q3VycmVudCgpCiB9CiAKICNp
ZiBVU0UoVEVYVFVSRV9NQVBQRVJfR0wpCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6
cGFpbnRUb1RleHR1cmVNYXBwZXIoVGV4dHVyZU1hcHBlciosIGNvbnN0IEZsb2F0UmVjdCYgdGFy
Z2V0LCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYsIGZsb2F0IG9wYWNpdHksIEJpdG1hcFRl
eHR1cmUqIG1hc2spCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6cGFpbnRUb1RleHR1
cmVNYXBwZXIoVGV4dHVyZU1hcHBlciosIGNvbnN0IEZsb2F0UmVjdCYgLyogdGFyZ2V0ICovLCBj
b25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYsIGZsb2F0IC8qIG9wYWNpdHkgKi8sIEJpdG1hcFRl
eHR1cmUqIC8qIG1hc2sgKi8pCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RP
cGVuR0wuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVu
c2lvbnMzRE9wZW5HTC5jcHAKaW5kZXggY2NjY2QzOGJmNmM5ZThkNDM2YTA4MWY5NGUyNWUwZDc1
ZjllNGI2Yy4uYjU2MGJkNDhlMzg2NDg0NDExNzQwZGY5ZTBhNjUxOWQ0MTY4NmM1NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMz
RE9wZW5HTC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3Blbmds
L0V4dGVuc2lvbnMzRE9wZW5HTC5jcHAKQEAgLTEwMiw2ICsxMDIsOCBAQCB2b2lkIEV4dGVuc2lv
bnMzRE9wZW5HTDo6YmluZFZlcnRleEFycmF5T0VTKFBsYXRmb3JtM0RPYmplY3QgYXJyYXkpCiAg
ICAgbV9jb250ZXh0LT5tYWtlQ29udGV4dEN1cnJlbnQoKTsKICNpZiAhUExBVEZPUk0oR1RLKSAm
JiAhUExBVEZPUk0oUVQpICYmICFQTEFURk9STShFRkwpICYmIGRlZmluZWQoR0xfQVBQTEVfdmVy
dGV4X2FycmF5X29iamVjdCkgJiYgR0xfQVBQTEVfdmVydGV4X2FycmF5X29iamVjdAogICAgIGds
QmluZFZlcnRleEFycmF5QVBQTEUoYXJyYXkpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oYXJy
YXkpOwogI2VuZGlmCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlci5oCmluZGV4IGE5MGRiZTRmMTVhMTI3N2ZmYTIw
NzEzNjJjZjBhY2U0NjMwNTJhMTUuLmU4M2EwZTEyM2MxNWU3ZjVhMjc5Mjg2ZjU1NjgzMDZkN2Ux
Mzc2NGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9UZXh0dXJlTWFwcGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL1RleHR1cmVNYXBwZXIuaApAQCAtNzMsNyArNzMsMTEgQEAgcHVibGljOgogICAgIGlu
bGluZSBGbGFncyBmbGFncygpIGNvbnN0IHsgcmV0dXJuIG1fZmxhZ3M7IH0KIAogICAgIHZpcnR1
YWwgaW50IGJwcCgpIGNvbnN0IHsgcmV0dXJuIDMyOyB9Ci0gICAgdmlydHVhbCBib29sIGNhblJl
dXNlV2l0aChjb25zdCBJbnRTaXplJiBjb250ZW50c1NpemUsIEZsYWdzIGZsYWdzID0gMCkgeyBy
ZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFsIGJvb2wgY2FuUmV1c2VXaXRoKGNvbnN0IEludFNp
emUmIC8qIGNvbnRlbnRzU2l6ZSAqLywgRmxhZ3MgZmxhZ3MgPSAwKQorICAgIHsKKyAgICAgICAg
VU5VU0VEX1BBUkFNKGZsYWdzKTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KICAgICB2
b2lkIHJlc2V0KGNvbnN0IEludFNpemUmIHNpemUsIEZsYWdzIGZsYWdzID0gMCkKICAgICB7CiAg
ICAgICAgIG1fZmxhZ3MgPSBmbGFnczsKQEAgLTE0MCw3ICsxNDQsMTAgQEAgcHVibGljOgogICAg
IFRleHREcmF3aW5nTW9kZUZsYWdzIHRleHREcmF3aW5nTW9kZSgpIGNvbnN0IHsgcmV0dXJuIG1f
dGV4dERyYXdpbmdNb2RlOyB9CiAgICAgQWNjZWxlcmF0aW9uTW9kZSBhY2NlbGVyYXRpb25Nb2Rl
KCkgY29uc3QgeyByZXR1cm4gbV9hY2NlbGVyYXRpb25Nb2RlOyB9CiAKLSAgICB2aXJ0dWFsIHZv
aWQgYmVnaW5QYWludGluZyhQYWludEZsYWdzIGZsYWdzID0gMCkgeyB9CisgICAgdmlydHVhbCB2
b2lkIGJlZ2luUGFpbnRpbmcoUGFpbnRGbGFncyBmbGFncyA9IDApCisgICAgeworICAgICAgICBV
TlVTRURfUEFSQU0oZmxhZ3MpOworICAgIH0KICAgICB2aXJ0dWFsIHZvaWQgZW5kUGFpbnRpbmco
KSB7IH0KIAogICAgIHZpcnR1YWwgSW50U2l6ZSBtYXhUZXh0dXJlU2l6ZSgpIGNvbnN0IHsgcmV0
dXJuIEludFNpemUoSU5UX01BWCwgSU5UX01BWCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5jcHAKaW5k
ZXggZTUyODk0NzNiNWY1MWE2MzAwYmM1MTZhNjM1ZTU5NGY0OGEzOTcwNy4uMzA3YTM4ZTViYWUz
MmVjMTg4MmNjYjZhYzA1NzU3ZmU4OTE4N2M3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5jcHAKQEAg
LTM0Nyw2ICszNDcsMTAgQEAgdm9pZCBUZXh0dXJlTWFwcGVyR0w6OmRyYXdSZXBhaW50Q291bnRl
cihpbnQgdmFsdWUsIGludCBwb2ludFNpemUsIGNvbnN0IEZsb2F0UG8KICAgICB0ZXh0dXJlLT51
cGRhdGVDb250ZW50cyhiaXRzLCBzb3VyY2VSZWN0LCBJbnRQb2ludDo6emVybygpLCBpbWFnZS5i
eXRlc1BlckxpbmUoKSk7CiAgICAgZHJhd1RleHR1cmUoKnRleHR1cmUsIHRhcmdldFJlY3QsIG1v
ZGVsVmlld01hdHJpeCwgMS4wZiwgMCwgQWxsRWRnZXMpOwogI2Vsc2UKKyAgICBVTlVTRURfUEFS
QU0odmFsdWUpOworICAgIFVOVVNFRF9QQVJBTShwb2ludFNpemUpOworICAgIFVOVVNFRF9QQVJB
TSh0YXJnZXRQb2ludCk7CisgICAgVU5VU0VEX1BBUkFNKG1vZGVsVmlld01hdHJpeCk7CiAgICAg
bm90SW1wbGVtZW50ZWQoKTsKICNlbmRpZgogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckltYWdl
QnVmZmVyLmNwcAppbmRleCA5MjgyOTU5ZGVlYzk3NDQ0ZmNiZDAxMzllOGI0Mzc4YTY4Y2U2MzNm
Li43ODAyYjNmMGUzNGE2MGI0OTg1YWM5ZjYyOWRkYzU5ZjdkYzNiYmM4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckltYWdl
QnVmZmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
VGV4dHVyZU1hcHBlckltYWdlQnVmZmVyLmNwcApAQCAtNDYsNiArNDYsMTEgQEAgdm9pZCBCaXRt
YXBUZXh0dXJlSW1hZ2VCdWZmZXI6OnVwZGF0ZUNvbnRlbnRzKGNvbnN0IHZvaWQqIGRhdGEsIGNv
bnN0IEludFJlY3QmIHQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnl0ZXNQZXJMaW5lKSk7
CiAgICAgbV9pbWFnZS0+Y29udGV4dCgpLT5wbGF0Zm9ybUNvbnRleHQoKS0+ZHJhd1N1cmZhY2VU
b0NvbnRleHQoc3VyZmFjZS5nZXQoKSwgdGFyZ2V0UmVjdCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbnRSZWN0KHNvdXJj
ZU9mZnNldCwgdGFyZ2V0UmVjdC5zaXplKCkpLCBtX2ltYWdlLT5jb250ZXh0KCkpOworI2Vsc2UK
KyAgICBVTlVTRURfUEFSQU0oZGF0YSk7CisgICAgVU5VU0VEX1BBUkFNKHRhcmdldFJlY3QpOwor
ICAgIFVOVVNFRF9QQVJBTShzb3VyY2VPZmZzZXQpOworICAgIFVOVVNFRF9QQVJBTShieXRlc1Bl
ckxpbmUpOwogI2VuZGlmCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIuaApp
bmRleCA3ZDUxZTg4MDVhM2YyZWM5MDJlYjYzOWI2M2QxOTBmZDE2MzZkZGY3Li5mZTk3NzRhMzJk
MTNkYzU5YzBlNDc1NDQ1ZTViN2IzZTQ5ZDY4ZTEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJJ
bWFnZUJ1ZmZlci5oCkBAIC01Miw4ICs1MiwxNCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NP
d25QdHI8VGV4dHVyZU1hcHBlcj4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRQdHIobmV3IFRleHR1
cmVNYXBwZXJJbWFnZUJ1ZmZlcik7IH0KIAogICAgIC8vIFRleHR1cmVNYXBwZXIgaW1wbGVtZW50
YXRpb24KLSAgICB2aXJ0dWFsIHZvaWQgZHJhd0JvcmRlcihjb25zdCBDb2xvciYgY29sb3IsIGZs
b2F0IGJvcmRlcldpZHRoLCBjb25zdCBGbG9hdFJlY3QmIHRhcmdldFJlY3QsIGNvbnN0IFRyYW5z
Zm9ybWF0aW9uTWF0cml4JiBtb2RlbFZpZXdNYXRyaXggPSBUcmFuc2Zvcm1hdGlvbk1hdHJpeCgp
KSBPVkVSUklERSB7IH07Ci0gICAgdmlydHVhbCB2b2lkIGRyYXdSZXBhaW50Q291bnRlcihpbnQg
dmFsdWUsIGludCBwb2ludFNpemUsIGNvbnN0IEZsb2F0UG9pbnQmLCBjb25zdCBUcmFuc2Zvcm1h
dGlvbk1hdHJpeCYgbW9kZWxWaWV3TWF0cml4ID0gVHJhbnNmb3JtYXRpb25NYXRyaXgoKSkgT1ZF
UlJJREUgeyB9OworICAgIHZpcnR1YWwgdm9pZCBkcmF3Qm9yZGVyKGNvbnN0IENvbG9yJiwgZmxv
YXQgLyogYm9yZGVyV2lkdGggKi8sIGNvbnN0IEZsb2F0UmVjdCYgLyogdGFyZ2V0UmVjdCAqLywg
Y29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIG1vZGVsVmlld01hdHJpeCA9IFRyYW5zZm9ybWF0
aW9uTWF0cml4KCkpIE9WRVJSSURFCisgICAgeworICAgICAgICBVTlVTRURfUEFSQU0obW9kZWxW
aWV3TWF0cml4KTsKKyAgICB9OworICAgIHZpcnR1YWwgdm9pZCBkcmF3UmVwYWludENvdW50ZXIo
aW50IC8qIHZhbHVlICovLCBpbnQgLyogcG9pbnRTaXplICovLCBjb25zdCBGbG9hdFBvaW50Jiwg
Y29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIG1vZGVsVmlld01hdHJpeCA9IFRyYW5zZm9ybWF0
aW9uTWF0cml4KCkpIE9WRVJSSURFCisgICAgeworICAgICAgICBVTlVTRURfUEFSQU0obW9kZWxW
aWV3TWF0cml4KTsKKyAgICB9OwogICAgIHZpcnR1YWwgdm9pZCBkcmF3VGV4dHVyZShjb25zdCBC
aXRtYXBUZXh0dXJlJiwgY29uc3QgRmxvYXRSZWN0JiB0YXJnZXRSZWN0LCBjb25zdCBUcmFuc2Zv
cm1hdGlvbk1hdHJpeCYsIGZsb2F0IG9wYWNpdHksIGNvbnN0IEJpdG1hcFRleHR1cmUqIG1hc2tU
ZXh0dXJlLCB1bnNpZ25lZCBleHBvc2VkRWRnZXMpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9p
ZCBiZWdpbkNsaXAoY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmLCBjb25zdCBGbG9hdFJlY3Qm
KSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgYmluZFN1cmZhY2UoQml0bWFwVGV4dHVyZSog
c3VyZmFjZSkgT1ZFUlJJREUgeyBtX2N1cnJlbnRTdXJmYWNlID0gc3VyZmFjZTt9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBl
ckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0
dXJlTWFwcGVyTGF5ZXIuY3BwCmluZGV4IGUzNmRiYzk0OGFmNGJkOGExOTY3YWJmMjNkY2I0ZDU1
YzRiZDRhZjUuLjJlMjg1ZWY0MjdlN2RjZTY1NGIwZWI4ZWYxMTg1ZTllOGQzNzVkNWMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFw
cGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9UZXh0dXJlTWFwcGVyTGF5ZXIuY3BwCkBAIC0xODMsNyArMTgzLDcgQEAgaW50IFRleHR1cmVN
YXBwZXJMYXllcjo6Y29tcGFyZUdyYXBoaWNzTGF5ZXJzWlZhbHVlKGNvbnN0IHZvaWQqIGEsIGNv
bnN0IHZvaWQqIGIKICAgICByZXR1cm4gaW50KCgoKmxheWVyQSktPm1fY2VudGVyWiAtICgqbGF5
ZXJCKS0+bV9jZW50ZXJaKSAqIDEwMDApOwogfQogCi12b2lkIFRleHR1cmVNYXBwZXJMYXllcjo6
c29ydEJ5Wk9yZGVyKFZlY3RvcjxUZXh0dXJlTWFwcGVyTGF5ZXIqID4mIGFycmF5LCBpbnQgZmly
c3QsIGludCBsYXN0KQordm9pZCBUZXh0dXJlTWFwcGVyTGF5ZXI6OnNvcnRCeVpPcmRlcihWZWN0
b3I8VGV4dHVyZU1hcHBlckxheWVyKiA+JiBhcnJheSwgaW50IC8qIGZpcnN0ICovLCBpbnQgLyog
bGFzdCAqLykKIHsKICAgICBxc29ydChhcnJheS5kYXRhKCksIGFycmF5LnNpemUoKSwgc2l6ZW9m
KFRleHR1cmVNYXBwZXJMYXllciopLCBjb21wYXJlR3JhcGhpY3NMYXllcnNaVmFsdWUpOwogfQpA
QCAtNDA3LDcgKzQwNyw3IEBAIHZvaWQgVGV4dHVyZU1hcHBlckxheWVyOjpmbHVzaENvbXBvc2l0
aW5nU3RhdGUoR3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXIqIGdyYXBoCiAgICAgZmx1c2hDb21w
b3NpdGluZ1N0YXRlKGdyYXBoaWNzTGF5ZXIsIHJvb3RMYXllcigpLT5tX3RleHR1cmVNYXBwZXIs
IG9wdGlvbnMpOwogfQogCi12b2lkIFRleHR1cmVNYXBwZXJMYXllcjo6Zmx1c2hDb21wb3NpdGlu
Z1N0YXRlU2VsZihHcmFwaGljc0xheWVyVGV4dHVyZU1hcHBlciogZ3JhcGhpY3NMYXllciwgVGV4
dHVyZU1hcHBlciogdGV4dHVyZU1hcHBlcikKK3ZvaWQgVGV4dHVyZU1hcHBlckxheWVyOjpmbHVz
aENvbXBvc2l0aW5nU3RhdGVTZWxmKEdyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyKiBncmFwaGlj
c0xheWVyLCBUZXh0dXJlTWFwcGVyKiAvKiB0ZXh0dXJlTWFwcGVyICovKQogewogICAgIGludCBj
aGFuZ2VNYXNrID0gZ3JhcGhpY3NMYXllci0+Y2hhbmdlTWFzaygpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclNoYWRl
ck1hbmFnZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0
dXJlTWFwcGVyU2hhZGVyTWFuYWdlci5oCmluZGV4IDFmZmI3MTAwYmFlODJmYmVhMTU4ZjE4NzQ0
YjExMGZjN2QwNjY1NGUuLmUxMmNkYzZhYWM2YzY1YWM0ZGE3OGNlNWZjZTZlNWVmYjk3Y2NlYWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0
dXJlTWFwcGVyU2hhZGVyTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyU2hhZGVyTWFuYWdlci5oCkBAIC01MCw3ICs1MCw3
IEBAIHB1YmxpYzoKICAgICBUZXh0dXJlTWFwcGVyU2hhZGVyUHJvZ3JhbShHcmFwaGljc0NvbnRl
eHQzRCosIGNvbnN0IGNoYXIqIHZlcnRleFNoYWRlclNvdXJjZSwgY29uc3QgY2hhciogZnJhZ21l
bnRTaGFkZXJTb3VyY2UpOwogICAgIHZpcnR1YWwgflRleHR1cmVNYXBwZXJTaGFkZXJQcm9ncmFt
KCk7CiAKLSAgICB2aXJ0dWFsIHZvaWQgcHJlcGFyZShmbG9hdCBvcGFjaXR5LCBjb25zdCBCaXRt
YXBUZXh0dXJlKikgeyB9CisgICAgdmlydHVhbCB2b2lkIHByZXBhcmUoZmxvYXQgLyogb3BhY2l0
eSAqLywgY29uc3QgQml0bWFwVGV4dHVyZSopIHsgfQogICAgIEdDM0RpbnQgbWF0cml4TG9jYXRp
b24oKSBjb25zdCB7IHJldHVybiBtX21hdHJpeExvY2F0aW9uOyB9CiAgICAgR0MzRGludCBmbGlw
TG9jYXRpb24oKSBjb25zdCB7IHJldHVybiBtX2ZsaXBMb2NhdGlvbjsgfQogICAgIEdDM0RpbnQg
dGV4dHVyZVNpemVMb2NhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fdGV4dHVyZVNpemVMb2NhdGlv
bjsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29t
cG9zaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3Np
dG9yLmNwcAppbmRleCBmYWJhYzBkNzFkMjhjMWMwMzRjOGFhNzVhMmExZTlhODExNTVkYTFiLi4x
MzliNDcyODYyNGEyZWE5MGM2MzJlZjk1NjIxZDcwOThlOGJiYTk5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcApAQCAtMTM5Nyw2
ICsxMzk3LDggQEAgYm9vbCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmFsbG93c0luZGVwZW5kZW50
bHlDb21wb3NpdGVkRnJhbWVzKGNvbnN0IEZyYW1lVmlldyoKICNpZiBQTEFURk9STShNQUMpCiAg
ICAgLy8gZnJhbWVzIGFyZSBvbmx5IGluZGVwZW5kZW50bHkgY29tcG9zaXRlZCBpbiBNYWMgcHJl
LVdlYktpdDIuCiAgICAgcmV0dXJuIHZpZXctPnBsYXRmb3JtV2lkZ2V0KCk7CisjZWxzZQorICAg
IFVOVVNFRF9QQVJBTSh2aWV3KTsKICNlbmRpZgogICAgIHJldHVybiBmYWxzZTsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5j
cHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuY3Bw
CmluZGV4IGQ0YjZkN2FkMDQwMGJiNWRkODgzNzE3MDFlYzJiYzVkYjk0NmE4ZDIuLjFmNTJhZjMz
YTc1MGE5NzM2ODgwODNjY2VlNjBkYzNmYzg1ZmYzNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNwcApAQCAtNTkxLDcgKzU5
MSw3IEBAIFBhc3NSZWZQdHI8U2VhcmNoUG9wdXBNZW51PiBDaHJvbWVDbGllbnRFZmw6OmNyZWF0
ZVNlYXJjaFBvcHVwTWVudShQb3B1cE1lbnVDbGllCiB9CiAKICNpZiBVU0UoQUNDRUxFUkFURURf
Q09NUE9TSVRJTkcpCi12b2lkIENocm9tZUNsaWVudEVmbDo6YXR0YWNoUm9vdEdyYXBoaWNzTGF5
ZXIoRnJhbWUqIGZyYW1lLCBHcmFwaGljc0xheWVyKiByb290TGF5ZXIpCit2b2lkIENocm9tZUNs
aWVudEVmbDo6YXR0YWNoUm9vdEdyYXBoaWNzTGF5ZXIoRnJhbWUqLCBHcmFwaGljc0xheWVyKikK
IHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQpAQCAtNjQ5LDcgKzY0OSw3IEBAIHZvaWQgQ2hy
b21lQ2xpZW50RWZsOjpleGl0RnVsbFNjcmVlbkZvckVsZW1lbnQoV2ViQ29yZTo6RWxlbWVudCop
CiAjZW5kaWYKIAogI2lmIFVTRShUSUxFRF9CQUNLSU5HX1NUT1JFKQotdm9pZCBDaHJvbWVDbGll
bnRFZmw6OmRlbGVnYXRlZFNjcm9sbFJlcXVlc3RlZChjb25zdCBJbnRQb2ludCYgcG9pbnQpCit2
b2lkIENocm9tZUNsaWVudEVmbDo6ZGVsZWdhdGVkU2Nyb2xsUmVxdWVzdGVkKGNvbnN0IEludFBv
aW50JikKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRCYWNraW5nU3Rv
cmUuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29v
cmRpbmF0ZWRCYWNraW5nU3RvcmUuY3BwCmluZGV4IDc3ZmRjMGEyNmY4OGQ0MzA3YTdiNjAwN2Rh
YmQ1M2YyOTA2ZDU0N2UuLmE1NjliOWU3ODZlM2JmYWY1NzdhYmJmNWJhY2ZiZjI3NWRjOGVkOGIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNz
L0Nvb3JkaW5hdGVkQmFja2luZ1N0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEJhY2tpbmdTdG9yZS5jcHAKQEAgLTEw
NCw3ICsxMDQsNyBAQCBzdGF0aWMgYm9vbCBzaG91bGRTaG93VGlsZURlYnVnVmlzdWFscygpCiAg
ICAgcmV0dXJuIGZhbHNlOwogfQogCi12b2lkIENvb3JkaW5hdGVkQmFja2luZ1N0b3JlOjpwYWlu
dFRvVGV4dHVyZU1hcHBlcihUZXh0dXJlTWFwcGVyKiB0ZXh0dXJlTWFwcGVyLCBjb25zdCBGbG9h
dFJlY3QmIHRhcmdldFJlY3QsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiB0cmFuc2Zvcm0s
IGZsb2F0IG9wYWNpdHksIEJpdG1hcFRleHR1cmUqIG1hc2spCit2b2lkIENvb3JkaW5hdGVkQmFj
a2luZ1N0b3JlOjpwYWludFRvVGV4dHVyZU1hcHBlcihUZXh0dXJlTWFwcGVyKiB0ZXh0dXJlTWFw
cGVyLCBjb25zdCBGbG9hdFJlY3QmIC8qIHRhcmdldFJlY3QgKi8sIGNvbnN0IFRyYW5zZm9ybWF0
aW9uTWF0cml4JiB0cmFuc2Zvcm0sIGZsb2F0IG9wYWNpdHksIEJpdG1hcFRleHR1cmUqIG1hc2sp
CiB7CiAgICAgVmVjdG9yPFRleHR1cmVNYXBwZXJUaWxlKj4gdGlsZXNUb1BhaW50OwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXll
clRyZWVSZW5kZXJlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRH
cmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5jcHAKaW5kZXggZjA1M2E1N2E2OWYzYzgyZWE5M2U4
OWE1YTc5NmE1MDUzMGE2MTNhZi4uZTg0ZjMyMzZlNTI5Zjk3NWYwZThiZmNkMzllMTcyZWE3YjVi
NGI4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmNwcApAQCAtOTUsNyArOTUs
NyBAQCBMYXllclRyZWVSZW5kZXJlcjo6fkxheWVyVHJlZVJlbmRlcmVyKCkKIHsKIH0KIAotUGFz
c093blB0cjxHcmFwaGljc0xheWVyPiBMYXllclRyZWVSZW5kZXJlcjo6Y3JlYXRlTGF5ZXIoV2Vi
TGF5ZXJJRCBsYXllcklEKQorUGFzc093blB0cjxHcmFwaGljc0xheWVyPiBMYXllclRyZWVSZW5k
ZXJlcjo6Y3JlYXRlTGF5ZXIoV2ViTGF5ZXJJRCkKIHsKICAgICBHcmFwaGljc0xheWVyKiBuZXdM
YXllciA9IG5ldyBHcmFwaGljc0xheWVyVGV4dHVyZU1hcHBlcih0aGlzKTsKICAgICBUZXh0dXJl
TWFwcGVyTGF5ZXIqIGxheWVyID0gdG9UZXh0dXJlTWFwcGVyTGF5ZXIobmV3TGF5ZXIpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuY3BwIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuY3BwCmluZGV4IDc5ZTYx
MGU5NjFkY2RmZWM1ZTg4OTc0ZmYxOTY0MzdhZDhjNTU1MzguLjJkMjZmNDgxODBiMGVkMzIzM2Iw
MzJkNTE3YmVjMDJlZTg4MzkyMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9EcmF3aW5nQXJlYVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJh
d2luZ0FyZWFQcm94eS5jcHAKQEAgLTY5LDcgKzY5LDcgQEAgV2ViQ29yZTo6SW50UmVjdCBEcmF3
aW5nQXJlYVByb3h5Ojpjb250ZW50c1JlY3QoKSBjb25zdAogICAgIHJldHVybiBJbnRSZWN0KElu
dFBvaW50Ojp6ZXJvKCksIG1fd2ViUGFnZVByb3h5LT52aWV3U2l6ZSgpKTsKIH0KIAotdm9pZCBE
cmF3aW5nQXJlYVByb3h5OjpkaWRSZWNlaXZlTGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eU1lc3Nh
Z2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCBtZXNzYWdlSUQsIENv
cmVJUEM6OkFyZ3VtZW50RGVjb2RlciogYXJndW1lbnRzKQordm9pZCBEcmF3aW5nQXJlYVByb3h5
OjpkaWRSZWNlaXZlTGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eU1lc3NhZ2UoQ29yZUlQQzo6Q29u
bmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKikK
IHsKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdp
bmdBcmVhUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5
LmgKaW5kZXggNDM3YTJjZmI3NGQ3Y2ViNjdkMzRiNGI4NWEwODQ1OTA0ZDBiOGM1ZS4uYTM4OTFi
YWRjZGU0MTAzNzRjMjkwYzU0MDZjMzcyMzQ4ZWQ1ZDZhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5oCkBAIC05NiwxMCArOTYsMTAgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgV2ViQ29yZTo6SW50UmVjdCBjb250ZW50c1JlY3QoKSBjb25zdDsKICAgICB2
aXJ0dWFsIGJvb2wgaXNCYWNraW5nU3RvcmVSZWFkeSgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0K
ICAgICBMYXllclRyZWVDb29yZGluYXRvclByb3h5KiBsYXllclRyZWVDb29yZGluYXRvclByb3h5
KCkgY29uc3QgeyByZXR1cm4gbV9sYXllclRyZWVDb29yZGluYXRvclByb3h5LmdldCgpOyB9Ci0g
ICAgdmlydHVhbCB2b2lkIHNldFZpc2libGVDb250ZW50c1JlY3QoY29uc3QgV2ViQ29yZTo6Rmxv
YXRSZWN0JiB2aXNpYmxlQ29udGVudHNSZWN0LCBmbG9hdCBzY2FsZSwgY29uc3QgV2ViQ29yZTo6
RmxvYXRQb2ludCYgdHJhamVjdG9yeVZlY3RvcikgeyB9Ci0gICAgdmlydHVhbCB2b2lkIGNyZWF0
ZVRpbGVGb3JMYXllcihpbnQgbGF5ZXJJRCwgaW50IHRpbGVJRCwgY29uc3QgV2ViS2l0OjpVcGRh
dGVJbmZvJikgeyB9Ci0gICAgdmlydHVhbCB2b2lkIHVwZGF0ZVRpbGVGb3JMYXllcihpbnQgbGF5
ZXJJRCwgaW50IHRpbGVJRCwgY29uc3QgV2ViS2l0OjpVcGRhdGVJbmZvJikgeyB9Ci0gICAgdmly
dHVhbCB2b2lkIHJlbW92ZVRpbGVGb3JMYXllcihpbnQgbGF5ZXJJRCwgaW50IHRpbGVJRCkgeyB9
CisgICAgdmlydHVhbCB2b2lkIHNldFZpc2libGVDb250ZW50c1JlY3QoY29uc3QgV2ViQ29yZTo6
RmxvYXRSZWN0JiAvKiB2aXNpYmxlQ29udGVudHNSZWN0ICovLCBmbG9hdCAvKiBzY2FsZSAqLywg
Y29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgLyogdHJhamVjdG9yeVZlY3RvciAqLykgeyB9Cisg
ICAgdmlydHVhbCB2b2lkIGNyZWF0ZVRpbGVGb3JMYXllcihpbnQgLyogbGF5ZXJJRCAqLywgaW50
IC8qIHRpbGVJRCAqLywgY29uc3QgV2ViS2l0OjpVcGRhdGVJbmZvJikgeyB9CisgICAgdmlydHVh
bCB2b2lkIHVwZGF0ZVRpbGVGb3JMYXllcihpbnQgLyogbGF5ZXJJRCAqLywgaW50IC8qIHRpbGVJ
RCAqLywgY29uc3QgV2ViS2l0OjpVcGRhdGVJbmZvJikgeyB9CisgICAgdmlydHVhbCB2b2lkIHJl
bW92ZVRpbGVGb3JMYXllcihpbnQgLyogbGF5ZXJJRCAqLywgaW50IC8qIHRpbGVJRCAqLykgeyB9
CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVMYXllclRyZWVDb29yZGluYXRvclByb3h5TWVz
c2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZUlELCBDb3JlSVBDOjpB
cmd1bWVudERlY29kZXIqKTsKIAogICAgIFdlYlBhZ2VQcm94eSogcGFnZSgpIHsgcmV0dXJuIG1f
d2ViUGFnZVByb3h5OyB9CkBAIC0xMjIsMTIgKzEyMiwxMiBAQCBwcml2YXRlOgogCiAgICAgLy8g
Q29yZUlQQyBtZXNzYWdlIGhhbmRsZXJzLgogICAgIC8vIEZJWE1FOiBUaGVzZSBzaG91bGQgYmUg
cHVyZSB2aXJ0dWFsLgotICAgIHZpcnR1YWwgdm9pZCB1cGRhdGUodWludDY0X3QgLypiYWNraW5n
U3RvcmVTdGF0ZUlEKi8sIGNvbnN0IFVwZGF0ZUluZm8mKSB7IH0KLSAgICB2aXJ0dWFsIHZvaWQg
ZGlkVXBkYXRlQmFja2luZ1N0b3JlU3RhdGUodWludDY0X3QgLypiYWNraW5nU3RvcmVTdGF0ZUlE
Ki8sIGNvbnN0IFVwZGF0ZUluZm8mLCBjb25zdCBMYXllclRyZWVDb250ZXh0JikgeyB9CisgICAg
dmlydHVhbCB2b2lkIHVwZGF0ZSh1aW50NjRfdCAvKiBiYWNraW5nU3RvcmVTdGF0ZUlEICovLCBj
b25zdCBVcGRhdGVJbmZvJikgeyB9CisgICAgdmlydHVhbCB2b2lkIGRpZFVwZGF0ZUJhY2tpbmdT
dG9yZVN0YXRlKHVpbnQ2NF90IC8qIGJhY2tpbmdTdG9yZVN0YXRlSUQgKi8sIGNvbnN0IFVwZGF0
ZUluZm8mLCBjb25zdCBMYXllclRyZWVDb250ZXh0JikgeyB9CiAjaWYgVVNFKEFDQ0VMRVJBVEVE
X0NPTVBPU0lUSU5HKQotICAgIHZpcnR1YWwgdm9pZCBlbnRlckFjY2VsZXJhdGVkQ29tcG9zaXRp
bmdNb2RlKHVpbnQ2NF90IGJhY2tpbmdTdG9yZVN0YXRlSUQsIGNvbnN0IExheWVyVHJlZUNvbnRl
eHQmKSB7IH0KLSAgICB2aXJ0dWFsIHZvaWQgZXhpdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2Rl
KHVpbnQ2NF90IGJhY2tpbmdTdG9yZVN0YXRlSUQsIGNvbnN0IFVwZGF0ZUluZm8mKSB7IH0KLSAg
ICB2aXJ0dWFsIHZvaWQgdXBkYXRlQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUodWludDY0X3Qg
YmFja2luZ1N0b3JlU3RhdGVJRCwgY29uc3QgTGF5ZXJUcmVlQ29udGV4dCYpIHsgfQorICAgIHZp
cnR1YWwgdm9pZCBlbnRlckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKHVpbnQ2NF90IC8qIGJh
Y2tpbmdTdG9yZVN0YXRlSUQgKi8sIGNvbnN0IExheWVyVHJlZUNvbnRleHQmKSB7IH0KKyAgICB2
aXJ0dWFsIHZvaWQgZXhpdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKHVpbnQ2NF90IC8qIGJh
Y2tpbmdTdG9yZVN0YXRlSUQgKi8sIGNvbnN0IFVwZGF0ZUluZm8mKSB7IH0KKyAgICB2aXJ0dWFs
IHZvaWQgdXBkYXRlQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUodWludDY0X3QgLyogYmFja2lu
Z1N0b3JlU3RhdGVJRCAqLywgY29uc3QgTGF5ZXJUcmVlQ29udGV4dCYpIHsgfQogI2VuZGlmCiAj
aWYgUExBVEZPUk0oTUFDKQogICAgIHZpcnR1YWwgdm9pZCBkaWRVcGRhdGVHZW9tZXRyeSgpIHsg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkR3JhcGhp
Y3NMYXllci5jcHAKaW5kZXggOTc5OGYzZjA1MThhYzNkZTQ2NWVmNWQyZWM2OGQwMTY0MTliM2Q2
Zi4uNzljOGVlYzVjZTZiYzdjNTY0MzRhOWU4NjI0Y2I2YTA1MTI5MzgzYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29v
cmRpbmF0ZWRHcmFwaGljc0xheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3Bw
CkBAIC02MjEsNyArNjIxLDcgQEAgdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OnRpbGVk
QmFja2luZ1N0b3JlUGFpbnQoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LAogICAgIHBhaW50R3Jh
cGhpY3NMYXllckNvbnRlbnRzKCpjb250ZXh0LCByZWN0KTsKIH0KIAotdm9pZCBDb29yZGluYXRl
ZEdyYXBoaWNzTGF5ZXI6OnRpbGVkQmFja2luZ1N0b3JlUGFpbnRFbmQoY29uc3QgVmVjdG9yPElu
dFJlY3Q+JiB1cGRhdGVkUmVjdHMpCit2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6dGls
ZWRCYWNraW5nU3RvcmVQYWludEVuZChjb25zdCBWZWN0b3I8SW50UmVjdD4mIC8qIHVwZGF0ZWRS
ZWN0cyAqLykKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRUaWxlLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVk
VGlsZS5jcHAKaW5kZXggNGE2MjQ0ZTJkOWRkMGZjOTQxNjgxMmRjNmRmNmY3NDUwMDY2ZmUzNi4u
NjY4Y2E1ZDllZGU0OTlkZWEyYWViNTkyMDYzODdmZGQ2ZjJlOWFhNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRp
bmF0ZWRUaWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29v
cmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZFRpbGUuY3BwCkBAIC0xMDYsNyArMTA2LDcgQEAg
Ym9vbCBDb29yZGluYXRlZFRpbGU6OmlzUmVhZHlUb1BhaW50KCkgY29uc3QKICAgICByZXR1cm4g
ISFtX0lEOwogfQogCi12b2lkIENvb3JkaW5hdGVkVGlsZTo6cGFpbnQoR3JhcGhpY3NDb250ZXh0
KiBjb250ZXh0LCBjb25zdCBJbnRSZWN0JiByZWN0KQordm9pZCBDb29yZGluYXRlZFRpbGU6OnBh
aW50KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFJlY3QmKQogewogICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3IuY3BwIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVl
Q29vcmRpbmF0b3IuY3BwCmluZGV4IDQxNmNmMDBlMDIzY2NiMWNlNDcwZDM5NzczZjEzNTllMDc4
NjhiZTguLmExOTcxNWU3ZWE4YjVkMDRiZDY3OTYwNzJjZTA4NjE2ZWY1YWE1ZGUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNz
L0xheWVyVHJlZUNvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvci5jcHAKQEAg
LTE3MSw3ICsxNzEsNyBAQCB2b2lkIExheWVyVHJlZUNvb3JkaW5hdG9yOjpzZXROb25Db21wb3Np
dGVkQ29udGVudHNOZWVkRGlzcGxheShjb25zdCBXZWJDb3JlOjpJbgogICAgIHNjaGVkdWxlTGF5
ZXJGbHVzaCgpOwogfQogCi12b2lkIExheWVyVHJlZUNvb3JkaW5hdG9yOjpzY3JvbGxOb25Db21w
b3NpdGVkQ29udGVudHMoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgc2Nyb2xsUmVjdCwgY29uc3Qg
V2ViQ29yZTo6SW50U2l6ZSYgc2Nyb2xsT2Zmc2V0KQordm9pZCBMYXllclRyZWVDb29yZGluYXRv
cjo6c2Nyb2xsTm9uQ29tcG9zaXRlZENvbnRlbnRzKGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHNj
cm9sbFJlY3QsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmIC8qIHNjcm9sbE9mZnNldCAqLykKIHsK
ICAgICBzZXROb25Db21wb3NpdGVkQ29udGVudHNOZWVkRGlzcGxheShzY3JvbGxSZWN0KTsKIH0K
QEAgLTUxMiw3ICs1MTIsNyBAQCB2b2lkIExheWVyVHJlZUNvb3JkaW5hdG9yOjpyZWxlYXNlSW1h
Z2VCYWNraW5nU3RvcmUoaW50NjRfdCBrZXkpCiB9CiAKIAotdm9pZCBMYXllclRyZWVDb29yZGlu
YXRvcjo6bm90aWZ5QW5pbWF0aW9uU3RhcnRlZChjb25zdCBXZWJDb3JlOjpHcmFwaGljc0xheWVy
KiwgZG91YmxlIHRpbWUpCit2b2lkIExheWVyVHJlZUNvb3JkaW5hdG9yOjpub3RpZnlBbmltYXRp
b25TdGFydGVkKGNvbnN0IFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXIqLCBkb3VibGUgLyogdGltZSAq
LykKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L0xheWVyVHJlZUhvc3QuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXll
clRyZWVIb3N0LmgKaW5kZXggMGU2ODZiNjZmODdiN2U0Zjk2NzBmYTQ2ZDIzZjhhNTI2ZjNlZmI3
Ni4uOTVkYzhlOWNhNGI3YTZmNWRmYWIyMzRiNDFiYzhiMTBjZTRiYmY3ZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5oCkBAIC05MCw4
ICs5MCw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJGYWN0
b3J5KiBncmFwaGljc0xheWVyRmFjdG9yeSgpIHsgcmV0dXJuIDA7IH0KIAogI2lmIFVTRShDT09S
RElOQVRFRF9HUkFQSElDUykKLSAgICB2aXJ0dWFsIHZvaWQgc2V0VmlzaWJsZUNvbnRlbnRzUmVj
dChjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgZmxvYXQgc2NhbGUsIGNvbnN0IFdlYkNvcmU6OkZs
b2F0UG9pbnQmKSB7IH0KLSAgICB2aXJ0dWFsIHZvaWQgc2V0VmlzaWJsZUNvbnRlbnRzUmVjdEZv
ckxheWVyKGludCBsYXllcklELCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JikgeyB9CisgICAgdmly
dHVhbCB2b2lkIHNldFZpc2libGVDb250ZW50c1JlY3QoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYs
IGZsb2F0IC8qIHNjYWxlICovLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JikgeyB9CisgICAg
dmlydHVhbCB2b2lkIHNldFZpc2libGVDb250ZW50c1JlY3RGb3JMYXllcihpbnQgLyogbGF5ZXJJ
RCAqLywgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpIHsgfQogICAgIHZpcnR1YWwgdm9pZCByZW5k
ZXJOZXh0RnJhbWUoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgcHVyZ2VCYWNraW5nU3RvcmVzKCkg
eyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVMYXllclRyZWVDb29yZGluYXRvck1lc3Nh
Z2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6QXJn
dW1lbnREZWNvZGVyKikgPSAwOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169145</attachid>
            <date>2012-10-17 03:08:23 -0700</date>
            <delta_ts>2012-10-17 10:15:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-99539-20121017190710.patch</filename>
            <type>text/plain</type>
            <size>25613</size>
            <attacher name="Byungwoo Lee">bw80.lee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxNTY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGY5MzllYzAzMDAzMjhl
ZTY2ZjFjM2U1MzAxM2QzZGI5YjBjOWJjMC4uNjVkMDBlZDUxMjM1YTFkMWEwYjk3ZjU3MzExNTZk
NWE3YjMyMjhjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEyLTEwLTE3ICBCeXVu
Z3dvbyBMZWUgIDxidzgwLmxlZUBzYW1zdW5nLmNvbT4KKworICAgICAgICBGaXggYnVpbGQgd2Fy
bmluZ3MgOiAtV3VudXNlZC1wYXJhbWV0ZXIsIC1XdW51c2VkLXZhcmlhYmxlCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05OTUzOQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeCBidWlsZCB3YXJuaW5ncyBh
Ym91dCB1bnVzZWQgcGFyYW1ldGVyIG9yIHVudXNlZCB2YXJpYWJsZSB3aGVuCisgICAgICAgIFdU
Rl9VU0VfVElMRURfQkFDS0lOR19TVE9SRSBvcHRpb24gaXMgZW5hYmxlZC4KKworICAgICAgICAq
IGh0bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpj
b250ZW50VGFnTmFtZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0dyYXBoaWNz
Q29udGV4dDNERWZsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjpn
ZXRJbWFnZURhdGEpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2VmbC9HcmFwaGljc0Nv
bnRleHQzRFByaXZhdGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0RQ
cml2YXRlOjpjcmVhdGVTdXJmYWNlKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dDNEUHJpdmF0ZTo6cGFpbnRUb1RleHR1cmVNYXBwZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0wuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RXh0ZW5zaW9uczNET3BlbkdMOjpiaW5kVmVydGV4QXJyYXlPRVMpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpC
aXRtYXBUZXh0dXJlOjpjYW5SZXVzZVdpdGgpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1h
cHBlcjo6YmVnaW5QYWludGluZyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L1RleHR1cmVNYXBwZXJHTC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0dXJlTWFwcGVyR0w6
OmRyYXdSZXBhaW50Q291bnRlcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L1RleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpCaXRtYXBU
ZXh0dXJlSW1hZ2VCdWZmZXI6OnVwZGF0ZUNvbnRlbnRzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyLmg6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJMYXllci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpUZXh0dXJlTWFwcGVyTGF5ZXI6OnNvcnRCeVpPcmRlcik6CisgICAgICAgIChXZWJD
b3JlOjpUZXh0dXJlTWFwcGVyTGF5ZXI6OmZsdXNoQ29tcG9zaXRpbmdTdGF0ZVNlbGYpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjphbGxvd3NJbmRlcGVuZGVudGx5Q29tcG9zaXRl
ZEZyYW1lcyk6CisKIDIwMTItMTAtMTcgIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogU3R5bGVzaGVldHMgc2F2ZWQgd2l0aCBG
aWxlTWFuYWdlciBhcmUgbm90IHNhdmVkIHRvIGRpc2sgd2hlbiBlZGl0ZWQgZnJvbSBFbGVtZW50
cyBwYW5lbC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwppbmRleCA5MTAzYTc3MTAyYjE1ZDE4NzFiMDYwOTIwNGQz
NDI3NmYxMGU2NTEzLi5lZWQzZTNhNzRlNjI4NDRmNDY0Yjk2MzgzMDgyY2EzMDNkZjc0MmYzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9lZmwvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTkgQEAKIDIwMTItMTAtMTcgIEJ5dW5nd29vIExl
ZSAgPGJ3ODAubGVlQHNhbXN1bmcuY29tPgogCisgICAgICAgIEZpeCBidWlsZCB3YXJuaW5ncyA6
IC1XdW51c2VkLXBhcmFtZXRlciwgLVd1bnVzZWQtdmFyaWFibGUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk5NTM5CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4IGJ1aWxkIHdhcm5pbmdzIGFib3V0IHVu
dXNlZCBwYXJhbWV0ZXIgb3IgdW51c2VkIHZhcmlhYmxlIHdoZW4KKyAgICAgICAgV1RGX1VTRV9U
SUxFRF9CQUNLSU5HX1NUT1JFIG9wdGlvbiBpcyBlbmFibGVkLgorCisgICAgICAgICogV2ViQ29y
ZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNs
aWVudEVmbDo6YXR0YWNoUm9vdEdyYXBoaWNzTGF5ZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q2hy
b21lQ2xpZW50RWZsOjpkZWxlZ2F0ZWRTY3JvbGxSZXF1ZXN0ZWQpOgorCisyMDEyLTEwLTE3ICBC
eXVuZ3dvbyBMZWUgIDxidzgwLmxlZUBzYW1zdW5nLmNvbT4KKwogICAgICAgICBbRUZMXSBBZGQg
YmFja2dyb3VuZCBjb2xvciB0byB0aGUgcmFkaW8gYnV0dG9uIHRoZW1lLgogICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTg4NTIKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4
IDY2MTk3ZTFmYjcwNDNkZDAxZDMzZGYwNmI5NDFhOWRlOTQ3OWFiZTQuLjJiYWMyZDU0M2ViYzk4
NjI2MTBjYWM0OGMwN2ZkYzkxM2U3M2I4OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MCBAQAor
MjAxMi0xMC0xNyAgQnl1bmd3b28gTGVlICA8Ync4MC5sZWVAc2Ftc3VuZy5jb20+CisKKyAgICAg
ICAgRml4IGJ1aWxkIHdhcm5pbmdzIDogLVd1bnVzZWQtcGFyYW1ldGVyLCAtV3VudXNlZC12YXJp
YWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTk1
MzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXgg
YnVpbGQgd2FybmluZ3MgYWJvdXQgdW51c2VkIHBhcmFtZXRlciBvciB1bnVzZWQgdmFyaWFibGUg
d2hlbgorICAgICAgICBXVEZfVVNFX1RJTEVEX0JBQ0tJTkdfU1RPUkUgb3B0aW9uIGlzIGVuYWJs
ZWQuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRl
ZEJhY2tpbmdTdG9yZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkQmFja2luZ1N0
b3JlOjpwYWludFRvVGV4dHVyZU1hcHBlcik6CisgICAgICAgICogVUlQcm9jZXNzL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpMYXll
clRyZWVSZW5kZXJlcjo6Y3JlYXRlTGF5ZXIpOgorICAgICAgICAqIFVJUHJvY2Vzcy9EcmF3aW5n
QXJlYVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eTo6ZGlkUmVj
ZWl2ZUxheWVyVHJlZUNvb3JkaW5hdG9yUHJveHlNZXNzYWdlKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvRHJhd2luZ0FyZWFQcm94eS5oOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYVByb3h5
OjpzZXRWaXNpYmxlQ29udGVudHNSZWN0KToKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQ
cm94eTo6Y3JlYXRlVGlsZUZvckxheWVyKToKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQ
cm94eTo6dXBkYXRlVGlsZUZvckxheWVyKToKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQ
cm94eTo6cmVtb3ZlVGlsZUZvckxheWVyKToKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQ
cm94eTo6dXBkYXRlKToKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eTo6ZGlkVXBk
YXRlQmFja2luZ1N0b3JlU3RhdGUpOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYVByb3h5
OjplbnRlckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKToKKyAgICAgICAgKFdlYktpdDo6RHJh
d2luZ0FyZWFQcm94eTo6ZXhpdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKToKKyAgICAgICAg
KFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eTo6dXBkYXRlQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01v
ZGUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
b3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb29yZGluYXRl
ZEdyYXBoaWNzTGF5ZXI6OnRpbGVkQmFja2luZ1N0b3JlUGFpbnRFbmQpOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkVGlsZS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkVGlsZTo6cGFpbnQpOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9y
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlQ29vcmRpbmF0b3I6OnNjcm9sbE5vbkNv
bXBvc2l0ZWRDb250ZW50cyk6CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZUNvb3JkaW5hdG9y
Ojpub3RpZnlBbmltYXRpb25TdGFydGVkKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
TGF5ZXJUcmVlSG9zdC5oOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVIb3N0OjpzZXRWaXNp
YmxlQ29udGVudHNSZWN0KToKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlSG9zdDo6c2V0Vmlz
aWJsZUNvbnRlbnRzUmVjdEZvckxheWVyKToKKwogMjAxMi0xMC0xNyAgTWFyaW8gU2FuY2hleiBQ
cmFkYSAgPG1zYW5jaGV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgW1dLMl1bR1RLXSBVbm5lZWRl
ZCBHRXJyb3IgZmllbGQgaW4gaW50ZXJuYWwgc3RydWN0dXJlIGluIFdlYktpdEZhdmljb25EYXRh
YmFzZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxDb250
ZW50RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MQ29udGVudEVs
ZW1lbnQuY3BwCmluZGV4IDkxMmNmZGY1MWExNmNhY2YxM2U5Yzc3NmQ5MDMwNDk4ZjlkMDVhZGIu
LjZjMDYzYzFiNmE2ODJmYmJjYjZmMzlhYmZhOGQyNTljNGFlZDZlMDUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50LmNwcApAQCAtNDAsMTQg
KzQwLDEzIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdXNpbmcgSFRNTE5hbWVzOjpzZWxlY3RB
dHRyOwogCi1zdGF0aWMgY29uc3QgUXVhbGlmaWVkTmFtZSYgY29udGVudFRhZ05hbWUoRG9jdW1l
bnQqIGRvY3VtZW50KQorc3RhdGljIGNvbnN0IFF1YWxpZmllZE5hbWUmIGNvbnRlbnRUYWdOYW1l
KERvY3VtZW50KikKIHsKICNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKICAgICBpZiAoIVJ1bnRpbWVF
bmFibGVkRmVhdHVyZXM6OnNoYWRvd0RPTUVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuIEhUTUxO
YW1lczo6d2Via2l0U2hhZG93Q29udGVudFRhZzsKICAgICByZXR1cm4gSFRNTE5hbWVzOjpjb250
ZW50VGFnOwogI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oZG9jdW1lbnQpOwogICAgIHJldHVybiBI
VE1MTmFtZXM6OndlYmtpdFNoYWRvd0NvbnRlbnRUYWc7CiAjZW5kaWYKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2VmbC9HcmFwaGljc0NvbnRleHQzREVm
bC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9lZmwvR3JhcGhpY3NDb250
ZXh0M0RFZmwuY3BwCmluZGV4IDZmMWQ0Y2ExNWVjOWZjYTY4ZTU4MjRkZWZlZmUwYjE2MGI4ODg4
ZjUuLjY0ZjNiNzAyYWVjYmE4ZWNmYTVjM2IxOWU4ZDMyZjQ4Mjk4MWJjNjQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2VmbC9HcmFwaGljc0NvbnRleHQzREVm
bC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0dyYXBoaWNz
Q29udGV4dDNERWZsLmNwcApAQCAtMjI5LDggKzIyOSw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0
M0Q6OmNyZWF0ZUdyYXBoaWNzU3VyZmFjZXMoY29uc3QgSW50U2l6ZSYgc2l6ZSkKIH0KICNlbmRp
ZgogCi1ib29sIEdyYXBoaWNzQ29udGV4dDNEOjpnZXRJbWFnZURhdGEoSW1hZ2UqIGltYWdlLCBH
QzNEZW51bSBmb3JtYXQsIEdDM0RlbnVtIHR5cGUsIGJvb2wgcHJlbXVsdGlwbHlBbHBoYSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGlnbm9yZUdhbW1hQW5kQ29s
b3JQcm9maWxlLCBWZWN0b3I8dWludDhfdD4mIG91dHB1dFZlY3RvcikKK2Jvb2wgR3JhcGhpY3ND
b250ZXh0M0Q6OmdldEltYWdlRGF0YShJbWFnZSosIEdDM0RlbnVtIC8qIGZvcm1hdCAqLywgR0Mz
RGVudW0gLyogdHlwZSAqLywgYm9vbCAvKiBwcmVtdWx0aXBseUFscGhhICovLCBib29sIC8qIGln
bm9yZUdhbW1hQW5kQ29sb3JQcm9maWxlICovLCBWZWN0b3I8dWludDhfdD4mIC8qIG91dHB1dFZl
Y3RvciAqLykKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwogICAgIHJldHVybiBmYWxzZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2VmbC9HcmFwaGljc0Nv
bnRleHQzRFByaXZhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZWZs
L0dyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZS5jcHAKaW5kZXggNjhiZDBkNTdiOWNmYzg3MTM4Mzll
ZWJiOTBhMDdlMDU4N2M5YWM4YS4uMWMxZGM1NjhhYWExNzRhNzVkMDNmMzQ0YzMxZDBhNzhhMGI0
Zjg3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0dy
YXBoaWNzQ29udGV4dDNEUHJpdmF0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZWZsL0dyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZS5jcHAKQEAgLTEwOCw4ICsxMDgs
NiBAQCBib29sIEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6Y3JlYXRlU3VyZmFjZShQYWdlQ2xp
ZW50RWZsKiBwYWdlQ2xpZW50LCBib29sIHJlbgogewogICAgIC8vIElmIFJlbmRlclN0eWxlIGlz
IFJlbmRlck9mZnNjcmVlbiwgd2Ugd2lsbCBiZSByZW5kZXJpbmcgdG8gYSBGQk8sCiAgICAgLy8g
c28gRXZhc19HTF9TdXJmYWNlIGhhcyBhIDF4MSBkdW1teSBzdXJmYWNlLgotICAgIGludCB4ID0g
MDsKLSAgICBpbnQgeSA9IDA7CiAgICAgaW50IHdpZHRoID0gMTsKICAgICBpbnQgaGVpZ2h0ID0g
MTsKIApAQCAtMTY1LDcgKzE2Myw3IEBAIGJvb2wgR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjpt
YWtlQ29udGV4dEN1cnJlbnQoKQogfQogCiAjaWYgVVNFKFRFWFRVUkVfTUFQUEVSX0dMKQotdm9p
ZCBHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OnBhaW50VG9UZXh0dXJlTWFwcGVyKFRleHR1cmVN
YXBwZXIqLCBjb25zdCBGbG9hdFJlY3QmIHRhcmdldCwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRy
aXgmLCBmbG9hdCBvcGFjaXR5LCBCaXRtYXBUZXh0dXJlKiBtYXNrKQordm9pZCBHcmFwaGljc0Nv
bnRleHQzRFByaXZhdGU6OnBhaW50VG9UZXh0dXJlTWFwcGVyKFRleHR1cmVNYXBwZXIqLCBjb25z
dCBGbG9hdFJlY3QmIC8qIHRhcmdldCAqLywgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmLCBm
bG9hdCAvKiBvcGFjaXR5ICovLCBCaXRtYXBUZXh0dXJlKiAvKiBtYXNrICovKQogewogICAgIG5v
dEltcGxlbWVudGVkKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0wuY3BwCmluZGV4IGNjY2Nk
MzhiZjZjOWU4ZDQzNmEwODFmOTRlMjVlMGQ3NWY5ZTRiNmMuLmI1NjBiZDQ4ZTM4NjQ4NDQxMTc0
MGRmOWUwYTY1MTlkNDE2ODZjNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0wuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0wuY3BwCkBAIC0x
MDIsNiArMTAyLDggQEAgdm9pZCBFeHRlbnNpb25zM0RPcGVuR0w6OmJpbmRWZXJ0ZXhBcnJheU9F
UyhQbGF0Zm9ybTNET2JqZWN0IGFycmF5KQogICAgIG1fY29udGV4dC0+bWFrZUNvbnRleHRDdXJy
ZW50KCk7CiAjaWYgIVBMQVRGT1JNKEdUSykgJiYgIVBMQVRGT1JNKFFUKSAmJiAhUExBVEZPUk0o
RUZMKSAmJiBkZWZpbmVkKEdMX0FQUExFX3ZlcnRleF9hcnJheV9vYmplY3QpICYmIEdMX0FQUExF
X3ZlcnRleF9hcnJheV9vYmplY3QKICAgICBnbEJpbmRWZXJ0ZXhBcnJheUFQUExFKGFycmF5KTsK
KyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGFycmF5KTsKICNlbmRpZgogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlci5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIu
aAppbmRleCBhOTBkYmU0ZjE1YTEyNzdmZmEyMDcxMzYyY2YwYWNlNDYzMDUyYTE1Li44NmE1NWRm
NDllOWQ3ZGQ2ODAzZjQzNjMxMzYwNDgxYmJjOWYwMGUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyLmgKQEAgLTcz
LDcgKzczLDcgQEAgcHVibGljOgogICAgIGlubGluZSBGbGFncyBmbGFncygpIGNvbnN0IHsgcmV0
dXJuIG1fZmxhZ3M7IH0KIAogICAgIHZpcnR1YWwgaW50IGJwcCgpIGNvbnN0IHsgcmV0dXJuIDMy
OyB9Ci0gICAgdmlydHVhbCBib29sIGNhblJldXNlV2l0aChjb25zdCBJbnRTaXplJiBjb250ZW50
c1NpemUsIEZsYWdzIGZsYWdzID0gMCkgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFsIGJv
b2wgY2FuUmV1c2VXaXRoKGNvbnN0IEludFNpemUmIC8qIGNvbnRlbnRzU2l6ZSAqLywgRmxhZ3Mg
PSAwKSB7IHJldHVybiBmYWxzZTsgfQogICAgIHZvaWQgcmVzZXQoY29uc3QgSW50U2l6ZSYgc2l6
ZSwgRmxhZ3MgZmxhZ3MgPSAwKQogICAgIHsKICAgICAgICAgbV9mbGFncyA9IGZsYWdzOwpAQCAt
MTQwLDcgKzE0MCw3IEBAIHB1YmxpYzoKICAgICBUZXh0RHJhd2luZ01vZGVGbGFncyB0ZXh0RHJh
d2luZ01vZGUoKSBjb25zdCB7IHJldHVybiBtX3RleHREcmF3aW5nTW9kZTsgfQogICAgIEFjY2Vs
ZXJhdGlvbk1vZGUgYWNjZWxlcmF0aW9uTW9kZSgpIGNvbnN0IHsgcmV0dXJuIG1fYWNjZWxlcmF0
aW9uTW9kZTsgfQogCi0gICAgdmlydHVhbCB2b2lkIGJlZ2luUGFpbnRpbmcoUGFpbnRGbGFncyBm
bGFncyA9IDApIHsgfQorICAgIHZpcnR1YWwgdm9pZCBiZWdpblBhaW50aW5nKFBhaW50RmxhZ3Mg
PSAwKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZW5kUGFpbnRpbmcoKSB7IH0KIAogICAgIHZpcnR1
YWwgSW50U2l6ZSBtYXhUZXh0dXJlU2l6ZSgpIGNvbnN0IHsgcmV0dXJuIEludFNpemUoSU5UX01B
WCwgSU5UX01BWCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5jcHAKaW5kZXggOTRlNDQ5MzQ1OTk2NTM2
OGU2NWRmOGM4NGI2ZjkwMjM1YWJkNDNlOS4uMTlmZWFlODY4YzJhMzM3YWQ1NzM2ZTZhY2JmNjY1
NWM5OTZmYmUzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL1RleHR1cmVNYXBwZXJHTC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5jcHAKQEAgLTM0NSw2ICszNDUsMTAgQEAg
dm9pZCBUZXh0dXJlTWFwcGVyR0w6OmRyYXdSZXBhaW50Q291bnRlcihpbnQgdmFsdWUsIGludCBw
b2ludFNpemUsIGNvbnN0IEZsb2F0UG8KICAgICB0ZXh0dXJlLT51cGRhdGVDb250ZW50cyhiaXRz
LCBzb3VyY2VSZWN0LCBJbnRQb2ludDo6emVybygpLCBpbWFnZS5ieXRlc1BlckxpbmUoKSk7CiAg
ICAgZHJhd1RleHR1cmUoKnRleHR1cmUsIHRhcmdldFJlY3QsIG1vZGVsVmlld01hdHJpeCwgMS4w
ZiwgMCwgQWxsRWRnZXMpOwogI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0odmFsdWUpOworICAgIFVO
VVNFRF9QQVJBTShwb2ludFNpemUpOworICAgIFVOVVNFRF9QQVJBTSh0YXJnZXRQb2ludCk7Cisg
ICAgVU5VU0VEX1BBUkFNKG1vZGVsVmlld01hdHJpeCk7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsK
ICNlbmRpZgogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL1RleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyLmNwcAppbmRleCA5
MjgyOTU5ZGVlYzk3NDQ0ZmNiZDAxMzllOGI0Mzc4YTY4Y2U2MzNmLi43ODAyYjNmMGUzNGE2MGI0
OTg1YWM5ZjYyOWRkYzU5ZjdkYzNiYmM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckltYWdl
QnVmZmVyLmNwcApAQCAtNDYsNiArNDYsMTEgQEAgdm9pZCBCaXRtYXBUZXh0dXJlSW1hZ2VCdWZm
ZXI6OnVwZGF0ZUNvbnRlbnRzKGNvbnN0IHZvaWQqIGRhdGEsIGNvbnN0IEludFJlY3QmIHQKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgYnl0ZXNQZXJMaW5lKSk7CiAgICAgbV9pbWFnZS0+Y29u
dGV4dCgpLT5wbGF0Zm9ybUNvbnRleHQoKS0+ZHJhd1N1cmZhY2VUb0NvbnRleHQoc3VyZmFjZS5n
ZXQoKSwgdGFyZ2V0UmVjdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBJbnRSZWN0KHNvdXJjZU9mZnNldCwgdGFyZ2V0UmVj
dC5zaXplKCkpLCBtX2ltYWdlLT5jb250ZXh0KCkpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0o
ZGF0YSk7CisgICAgVU5VU0VEX1BBUkFNKHRhcmdldFJlY3QpOworICAgIFVOVVNFRF9QQVJBTShz
b3VyY2VPZmZzZXQpOworICAgIFVOVVNFRF9QQVJBTShieXRlc1BlckxpbmUpOwogI2VuZGlmCiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9U
ZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RleG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIuaAppbmRleCA3ZDUxZTg4MDVhM2Yy
ZWM5MDJlYjYzOWI2M2QxOTBmZDE2MzZkZGY3Li5mZTk3NzRhMzJkMTNkYzU5YzBlNDc1NDQ1ZTVi
N2IzZTQ5ZDY4ZTEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy90ZXhtYXAvVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlci5oCkBAIC01
Miw4ICs1MiwxNCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8VGV4dHVyZU1hcHBl
cj4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRQdHIobmV3IFRleHR1cmVNYXBwZXJJbWFnZUJ1ZmZl
cik7IH0KIAogICAgIC8vIFRleHR1cmVNYXBwZXIgaW1wbGVtZW50YXRpb24KLSAgICB2aXJ0dWFs
IHZvaWQgZHJhd0JvcmRlcihjb25zdCBDb2xvciYgY29sb3IsIGZsb2F0IGJvcmRlcldpZHRoLCBj
b25zdCBGbG9hdFJlY3QmIHRhcmdldFJlY3QsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBt
b2RlbFZpZXdNYXRyaXggPSBUcmFuc2Zvcm1hdGlvbk1hdHJpeCgpKSBPVkVSUklERSB7IH07Ci0g
ICAgdmlydHVhbCB2b2lkIGRyYXdSZXBhaW50Q291bnRlcihpbnQgdmFsdWUsIGludCBwb2ludFNp
emUsIGNvbnN0IEZsb2F0UG9pbnQmLCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgbW9kZWxW
aWV3TWF0cml4ID0gVHJhbnNmb3JtYXRpb25NYXRyaXgoKSkgT1ZFUlJJREUgeyB9OworICAgIHZp
cnR1YWwgdm9pZCBkcmF3Qm9yZGVyKGNvbnN0IENvbG9yJiwgZmxvYXQgLyogYm9yZGVyV2lkdGgg
Ki8sIGNvbnN0IEZsb2F0UmVjdCYgLyogdGFyZ2V0UmVjdCAqLywgY29uc3QgVHJhbnNmb3JtYXRp
b25NYXRyaXgmIG1vZGVsVmlld01hdHJpeCA9IFRyYW5zZm9ybWF0aW9uTWF0cml4KCkpIE9WRVJS
SURFCisgICAgeworICAgICAgICBVTlVTRURfUEFSQU0obW9kZWxWaWV3TWF0cml4KTsKKyAgICB9
OworICAgIHZpcnR1YWwgdm9pZCBkcmF3UmVwYWludENvdW50ZXIoaW50IC8qIHZhbHVlICovLCBp
bnQgLyogcG9pbnRTaXplICovLCBjb25zdCBGbG9hdFBvaW50JiwgY29uc3QgVHJhbnNmb3JtYXRp
b25NYXRyaXgmIG1vZGVsVmlld01hdHJpeCA9IFRyYW5zZm9ybWF0aW9uTWF0cml4KCkpIE9WRVJS
SURFCisgICAgeworICAgICAgICBVTlVTRURfUEFSQU0obW9kZWxWaWV3TWF0cml4KTsKKyAgICB9
OwogICAgIHZpcnR1YWwgdm9pZCBkcmF3VGV4dHVyZShjb25zdCBCaXRtYXBUZXh0dXJlJiwgY29u
c3QgRmxvYXRSZWN0JiB0YXJnZXRSZWN0LCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYsIGZs
b2F0IG9wYWNpdHksIGNvbnN0IEJpdG1hcFRleHR1cmUqIG1hc2tUZXh0dXJlLCB1bnNpZ25lZCBl
eHBvc2VkRWRnZXMpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBiZWdpbkNsaXAoY29uc3Qg
VHJhbnNmb3JtYXRpb25NYXRyaXgmLCBjb25zdCBGbG9hdFJlY3QmKSBPVkVSUklERTsKICAgICB2
aXJ0dWFsIHZvaWQgYmluZFN1cmZhY2UoQml0bWFwVGV4dHVyZSogc3VyZmFjZSkgT1ZFUlJJREUg
eyBtX2N1cnJlbnRTdXJmYWNlID0gc3VyZmFjZTt9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckxheWVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuY3Bw
CmluZGV4IGUzNmRiYzk0OGFmNGJkOGExOTY3YWJmMjNkY2I0ZDU1YzRiZDRhZjUuLmI5NTQ0NjA5
ZTdiZjE1N2M4ZGEyYmU3MDVjNmYzNjU4YWVhMDI4YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5
ZXIuY3BwCkBAIC0xODMsNyArMTgzLDcgQEAgaW50IFRleHR1cmVNYXBwZXJMYXllcjo6Y29tcGFy
ZUdyYXBoaWNzTGF5ZXJzWlZhbHVlKGNvbnN0IHZvaWQqIGEsIGNvbnN0IHZvaWQqIGIKICAgICBy
ZXR1cm4gaW50KCgoKmxheWVyQSktPm1fY2VudGVyWiAtICgqbGF5ZXJCKS0+bV9jZW50ZXJaKSAq
IDEwMDApOwogfQogCi12b2lkIFRleHR1cmVNYXBwZXJMYXllcjo6c29ydEJ5Wk9yZGVyKFZlY3Rv
cjxUZXh0dXJlTWFwcGVyTGF5ZXIqID4mIGFycmF5LCBpbnQgZmlyc3QsIGludCBsYXN0KQordm9p
ZCBUZXh0dXJlTWFwcGVyTGF5ZXI6OnNvcnRCeVpPcmRlcihWZWN0b3I8VGV4dHVyZU1hcHBlckxh
eWVyKiA+JiBhcnJheSwgaW50IC8qIGZpcnN0ICovLCBpbnQgLyogbGFzdCAqLykKIHsKICAgICBx
c29ydChhcnJheS5kYXRhKCksIGFycmF5LnNpemUoKSwgc2l6ZW9mKFRleHR1cmVNYXBwZXJMYXll
ciopLCBjb21wYXJlR3JhcGhpY3NMYXllcnNaVmFsdWUpOwogfQpAQCAtNDA3LDcgKzQwNyw3IEBA
IHZvaWQgVGV4dHVyZU1hcHBlckxheWVyOjpmbHVzaENvbXBvc2l0aW5nU3RhdGUoR3JhcGhpY3NM
YXllclRleHR1cmVNYXBwZXIqIGdyYXBoCiAgICAgZmx1c2hDb21wb3NpdGluZ1N0YXRlKGdyYXBo
aWNzTGF5ZXIsIHJvb3RMYXllcigpLT5tX3RleHR1cmVNYXBwZXIsIG9wdGlvbnMpOwogfQogCi12
b2lkIFRleHR1cmVNYXBwZXJMYXllcjo6Zmx1c2hDb21wb3NpdGluZ1N0YXRlU2VsZihHcmFwaGlj
c0xheWVyVGV4dHVyZU1hcHBlciogZ3JhcGhpY3NMYXllciwgVGV4dHVyZU1hcHBlciogdGV4dHVy
ZU1hcHBlcikKK3ZvaWQgVGV4dHVyZU1hcHBlckxheWVyOjpmbHVzaENvbXBvc2l0aW5nU3RhdGVT
ZWxmKEdyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyKiBncmFwaGljc0xheWVyLCBUZXh0dXJlTWFw
cGVyKikKIHsKICAgICBpbnQgY2hhbmdlTWFzayA9IGdyYXBoaWNzTGF5ZXItPmNoYW5nZU1hc2so
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29t
cG9zaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3Np
dG9yLmNwcAppbmRleCBmYWJhYzBkNzFkMjhjMWMwMzRjOGFhNzVhMmExZTlhODExNTVkYTFiLi4x
MzliNDcyODYyNGEyZWE5MGM2MzJlZjk1NjIxZDcwOThlOGJiYTk5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcApAQCAtMTM5Nyw2
ICsxMzk3LDggQEAgYm9vbCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmFsbG93c0luZGVwZW5kZW50
bHlDb21wb3NpdGVkRnJhbWVzKGNvbnN0IEZyYW1lVmlldyoKICNpZiBQTEFURk9STShNQUMpCiAg
ICAgLy8gZnJhbWVzIGFyZSBvbmx5IGluZGVwZW5kZW50bHkgY29tcG9zaXRlZCBpbiBNYWMgcHJl
LVdlYktpdDIuCiAgICAgcmV0dXJuIHZpZXctPnBsYXRmb3JtV2lkZ2V0KCk7CisjZWxzZQorICAg
IFVOVVNFRF9QQVJBTSh2aWV3KTsKICNlbmRpZgogICAgIHJldHVybiBmYWxzZTsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5j
cHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuY3Bw
CmluZGV4IGQ0YjZkN2FkMDQwMGJiNWRkODgzNzE3MDFlYzJiYzVkYjk0NmE4ZDIuLjFmNTJhZjMz
YTc1MGE5NzM2ODgwODNjY2VlNjBkYzNmYzg1ZmYzNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNwcApAQCAtNTkxLDcgKzU5
MSw3IEBAIFBhc3NSZWZQdHI8U2VhcmNoUG9wdXBNZW51PiBDaHJvbWVDbGllbnRFZmw6OmNyZWF0
ZVNlYXJjaFBvcHVwTWVudShQb3B1cE1lbnVDbGllCiB9CiAKICNpZiBVU0UoQUNDRUxFUkFURURf
Q09NUE9TSVRJTkcpCi12b2lkIENocm9tZUNsaWVudEVmbDo6YXR0YWNoUm9vdEdyYXBoaWNzTGF5
ZXIoRnJhbWUqIGZyYW1lLCBHcmFwaGljc0xheWVyKiByb290TGF5ZXIpCit2b2lkIENocm9tZUNs
aWVudEVmbDo6YXR0YWNoUm9vdEdyYXBoaWNzTGF5ZXIoRnJhbWUqLCBHcmFwaGljc0xheWVyKikK
IHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQpAQCAtNjQ5LDcgKzY0OSw3IEBAIHZvaWQgQ2hy
b21lQ2xpZW50RWZsOjpleGl0RnVsbFNjcmVlbkZvckVsZW1lbnQoV2ViQ29yZTo6RWxlbWVudCop
CiAjZW5kaWYKIAogI2lmIFVTRShUSUxFRF9CQUNLSU5HX1NUT1JFKQotdm9pZCBDaHJvbWVDbGll
bnRFZmw6OmRlbGVnYXRlZFNjcm9sbFJlcXVlc3RlZChjb25zdCBJbnRQb2ludCYgcG9pbnQpCit2
b2lkIENocm9tZUNsaWVudEVmbDo6ZGVsZWdhdGVkU2Nyb2xsUmVxdWVzdGVkKGNvbnN0IEludFBv
aW50JikKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRCYWNraW5nU3Rv
cmUuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29v
cmRpbmF0ZWRCYWNraW5nU3RvcmUuY3BwCmluZGV4IDc3ZmRjMGEyNmY4OGQ0MzA3YTdiNjAwN2Rh
YmQ1M2YyOTA2ZDU0N2UuLmE1NjliOWU3ODZlM2JmYWY1NzdhYmJmNWJhY2ZiZjI3NWRjOGVkOGIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNz
L0Nvb3JkaW5hdGVkQmFja2luZ1N0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEJhY2tpbmdTdG9yZS5jcHAKQEAgLTEw
NCw3ICsxMDQsNyBAQCBzdGF0aWMgYm9vbCBzaG91bGRTaG93VGlsZURlYnVnVmlzdWFscygpCiAg
ICAgcmV0dXJuIGZhbHNlOwogfQogCi12b2lkIENvb3JkaW5hdGVkQmFja2luZ1N0b3JlOjpwYWlu
dFRvVGV4dHVyZU1hcHBlcihUZXh0dXJlTWFwcGVyKiB0ZXh0dXJlTWFwcGVyLCBjb25zdCBGbG9h
dFJlY3QmIHRhcmdldFJlY3QsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiB0cmFuc2Zvcm0s
IGZsb2F0IG9wYWNpdHksIEJpdG1hcFRleHR1cmUqIG1hc2spCit2b2lkIENvb3JkaW5hdGVkQmFj
a2luZ1N0b3JlOjpwYWludFRvVGV4dHVyZU1hcHBlcihUZXh0dXJlTWFwcGVyKiB0ZXh0dXJlTWFw
cGVyLCBjb25zdCBGbG9hdFJlY3QmIC8qIHRhcmdldFJlY3QgKi8sIGNvbnN0IFRyYW5zZm9ybWF0
aW9uTWF0cml4JiB0cmFuc2Zvcm0sIGZsb2F0IG9wYWNpdHksIEJpdG1hcFRleHR1cmUqIG1hc2sp
CiB7CiAgICAgVmVjdG9yPFRleHR1cmVNYXBwZXJUaWxlKj4gdGlsZXNUb1BhaW50OwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXll
clRyZWVSZW5kZXJlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRH
cmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5jcHAKaW5kZXggZjA1M2E1N2E2OWYzYzgyZWE5M2U4
OWE1YTc5NmE1MDUzMGE2MTNhZi4uZTg0ZjMyMzZlNTI5Zjk3NWYwZThiZmNkMzllMTcyZWE3YjVi
NGI4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmNwcApAQCAtOTUsNyArOTUs
NyBAQCBMYXllclRyZWVSZW5kZXJlcjo6fkxheWVyVHJlZVJlbmRlcmVyKCkKIHsKIH0KIAotUGFz
c093blB0cjxHcmFwaGljc0xheWVyPiBMYXllclRyZWVSZW5kZXJlcjo6Y3JlYXRlTGF5ZXIoV2Vi
TGF5ZXJJRCBsYXllcklEKQorUGFzc093blB0cjxHcmFwaGljc0xheWVyPiBMYXllclRyZWVSZW5k
ZXJlcjo6Y3JlYXRlTGF5ZXIoV2ViTGF5ZXJJRCkKIHsKICAgICBHcmFwaGljc0xheWVyKiBuZXdM
YXllciA9IG5ldyBHcmFwaGljc0xheWVyVGV4dHVyZU1hcHBlcih0aGlzKTsKICAgICBUZXh0dXJl
TWFwcGVyTGF5ZXIqIGxheWVyID0gdG9UZXh0dXJlTWFwcGVyTGF5ZXIobmV3TGF5ZXIpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuY3BwIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuY3BwCmluZGV4IDc5ZTYx
MGU5NjFkY2RmZWM1ZTg4OTc0ZmYxOTY0MzdhZDhjNTU1MzguLjJkMjZmNDgxODBiMGVkMzIzM2Iw
MzJkNTE3YmVjMDJlZTg4MzkyMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9EcmF3aW5nQXJlYVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJh
d2luZ0FyZWFQcm94eS5jcHAKQEAgLTY5LDcgKzY5LDcgQEAgV2ViQ29yZTo6SW50UmVjdCBEcmF3
aW5nQXJlYVByb3h5Ojpjb250ZW50c1JlY3QoKSBjb25zdAogICAgIHJldHVybiBJbnRSZWN0KElu
dFBvaW50Ojp6ZXJvKCksIG1fd2ViUGFnZVByb3h5LT52aWV3U2l6ZSgpKTsKIH0KIAotdm9pZCBE
cmF3aW5nQXJlYVByb3h5OjpkaWRSZWNlaXZlTGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eU1lc3Nh
Z2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCBtZXNzYWdlSUQsIENv
cmVJUEM6OkFyZ3VtZW50RGVjb2RlciogYXJndW1lbnRzKQordm9pZCBEcmF3aW5nQXJlYVByb3h5
OjpkaWRSZWNlaXZlTGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eU1lc3NhZ2UoQ29yZUlQQzo6Q29u
bmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKikK
IHsKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdp
bmdBcmVhUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5
LmgKaW5kZXggNDM3YTJjZmI3NGQ3Y2ViNjdkMzRiNGI4NWEwODQ1OTA0ZDBiOGM1ZS4uYTM4OTFi
YWRjZGU0MTAzNzRjMjkwYzU0MDZjMzcyMzQ4ZWQ1ZDZhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5oCkBAIC05NiwxMCArOTYsMTAgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgV2ViQ29yZTo6SW50UmVjdCBjb250ZW50c1JlY3QoKSBjb25zdDsKICAgICB2
aXJ0dWFsIGJvb2wgaXNCYWNraW5nU3RvcmVSZWFkeSgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0K
ICAgICBMYXllclRyZWVDb29yZGluYXRvclByb3h5KiBsYXllclRyZWVDb29yZGluYXRvclByb3h5
KCkgY29uc3QgeyByZXR1cm4gbV9sYXllclRyZWVDb29yZGluYXRvclByb3h5LmdldCgpOyB9Ci0g
ICAgdmlydHVhbCB2b2lkIHNldFZpc2libGVDb250ZW50c1JlY3QoY29uc3QgV2ViQ29yZTo6Rmxv
YXRSZWN0JiB2aXNpYmxlQ29udGVudHNSZWN0LCBmbG9hdCBzY2FsZSwgY29uc3QgV2ViQ29yZTo6
RmxvYXRQb2ludCYgdHJhamVjdG9yeVZlY3RvcikgeyB9Ci0gICAgdmlydHVhbCB2b2lkIGNyZWF0
ZVRpbGVGb3JMYXllcihpbnQgbGF5ZXJJRCwgaW50IHRpbGVJRCwgY29uc3QgV2ViS2l0OjpVcGRh
dGVJbmZvJikgeyB9Ci0gICAgdmlydHVhbCB2b2lkIHVwZGF0ZVRpbGVGb3JMYXllcihpbnQgbGF5
ZXJJRCwgaW50IHRpbGVJRCwgY29uc3QgV2ViS2l0OjpVcGRhdGVJbmZvJikgeyB9Ci0gICAgdmly
dHVhbCB2b2lkIHJlbW92ZVRpbGVGb3JMYXllcihpbnQgbGF5ZXJJRCwgaW50IHRpbGVJRCkgeyB9
CisgICAgdmlydHVhbCB2b2lkIHNldFZpc2libGVDb250ZW50c1JlY3QoY29uc3QgV2ViQ29yZTo6
RmxvYXRSZWN0JiAvKiB2aXNpYmxlQ29udGVudHNSZWN0ICovLCBmbG9hdCAvKiBzY2FsZSAqLywg
Y29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgLyogdHJhamVjdG9yeVZlY3RvciAqLykgeyB9Cisg
ICAgdmlydHVhbCB2b2lkIGNyZWF0ZVRpbGVGb3JMYXllcihpbnQgLyogbGF5ZXJJRCAqLywgaW50
IC8qIHRpbGVJRCAqLywgY29uc3QgV2ViS2l0OjpVcGRhdGVJbmZvJikgeyB9CisgICAgdmlydHVh
bCB2b2lkIHVwZGF0ZVRpbGVGb3JMYXllcihpbnQgLyogbGF5ZXJJRCAqLywgaW50IC8qIHRpbGVJ
RCAqLywgY29uc3QgV2ViS2l0OjpVcGRhdGVJbmZvJikgeyB9CisgICAgdmlydHVhbCB2b2lkIHJl
bW92ZVRpbGVGb3JMYXllcihpbnQgLyogbGF5ZXJJRCAqLywgaW50IC8qIHRpbGVJRCAqLykgeyB9
CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVMYXllclRyZWVDb29yZGluYXRvclByb3h5TWVz
c2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZUlELCBDb3JlSVBDOjpB
cmd1bWVudERlY29kZXIqKTsKIAogICAgIFdlYlBhZ2VQcm94eSogcGFnZSgpIHsgcmV0dXJuIG1f
d2ViUGFnZVByb3h5OyB9CkBAIC0xMjIsMTIgKzEyMiwxMiBAQCBwcml2YXRlOgogCiAgICAgLy8g
Q29yZUlQQyBtZXNzYWdlIGhhbmRsZXJzLgogICAgIC8vIEZJWE1FOiBUaGVzZSBzaG91bGQgYmUg
cHVyZSB2aXJ0dWFsLgotICAgIHZpcnR1YWwgdm9pZCB1cGRhdGUodWludDY0X3QgLypiYWNraW5n
U3RvcmVTdGF0ZUlEKi8sIGNvbnN0IFVwZGF0ZUluZm8mKSB7IH0KLSAgICB2aXJ0dWFsIHZvaWQg
ZGlkVXBkYXRlQmFja2luZ1N0b3JlU3RhdGUodWludDY0X3QgLypiYWNraW5nU3RvcmVTdGF0ZUlE
Ki8sIGNvbnN0IFVwZGF0ZUluZm8mLCBjb25zdCBMYXllclRyZWVDb250ZXh0JikgeyB9CisgICAg
dmlydHVhbCB2b2lkIHVwZGF0ZSh1aW50NjRfdCAvKiBiYWNraW5nU3RvcmVTdGF0ZUlEICovLCBj
b25zdCBVcGRhdGVJbmZvJikgeyB9CisgICAgdmlydHVhbCB2b2lkIGRpZFVwZGF0ZUJhY2tpbmdT
dG9yZVN0YXRlKHVpbnQ2NF90IC8qIGJhY2tpbmdTdG9yZVN0YXRlSUQgKi8sIGNvbnN0IFVwZGF0
ZUluZm8mLCBjb25zdCBMYXllclRyZWVDb250ZXh0JikgeyB9CiAjaWYgVVNFKEFDQ0VMRVJBVEVE
X0NPTVBPU0lUSU5HKQotICAgIHZpcnR1YWwgdm9pZCBlbnRlckFjY2VsZXJhdGVkQ29tcG9zaXRp
bmdNb2RlKHVpbnQ2NF90IGJhY2tpbmdTdG9yZVN0YXRlSUQsIGNvbnN0IExheWVyVHJlZUNvbnRl
eHQmKSB7IH0KLSAgICB2aXJ0dWFsIHZvaWQgZXhpdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2Rl
KHVpbnQ2NF90IGJhY2tpbmdTdG9yZVN0YXRlSUQsIGNvbnN0IFVwZGF0ZUluZm8mKSB7IH0KLSAg
ICB2aXJ0dWFsIHZvaWQgdXBkYXRlQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUodWludDY0X3Qg
YmFja2luZ1N0b3JlU3RhdGVJRCwgY29uc3QgTGF5ZXJUcmVlQ29udGV4dCYpIHsgfQorICAgIHZp
cnR1YWwgdm9pZCBlbnRlckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKHVpbnQ2NF90IC8qIGJh
Y2tpbmdTdG9yZVN0YXRlSUQgKi8sIGNvbnN0IExheWVyVHJlZUNvbnRleHQmKSB7IH0KKyAgICB2
aXJ0dWFsIHZvaWQgZXhpdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKHVpbnQ2NF90IC8qIGJh
Y2tpbmdTdG9yZVN0YXRlSUQgKi8sIGNvbnN0IFVwZGF0ZUluZm8mKSB7IH0KKyAgICB2aXJ0dWFs
IHZvaWQgdXBkYXRlQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUodWludDY0X3QgLyogYmFja2lu
Z1N0b3JlU3RhdGVJRCAqLywgY29uc3QgTGF5ZXJUcmVlQ29udGV4dCYpIHsgfQogI2VuZGlmCiAj
aWYgUExBVEZPUk0oTUFDKQogICAgIHZpcnR1YWwgdm9pZCBkaWRVcGRhdGVHZW9tZXRyeSgpIHsg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkR3JhcGhp
Y3NMYXllci5jcHAKaW5kZXggOTc5OGYzZjA1MThhYzNkZTQ2NWVmNWQyZWM2OGQwMTY0MTliM2Q2
Zi4uNzljOGVlYzVjZTZiYzdjNTY0MzRhOWU4NjI0Y2I2YTA1MTI5MzgzYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29v
cmRpbmF0ZWRHcmFwaGljc0xheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3Bw
CkBAIC02MjEsNyArNjIxLDcgQEAgdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OnRpbGVk
QmFja2luZ1N0b3JlUGFpbnQoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LAogICAgIHBhaW50R3Jh
cGhpY3NMYXllckNvbnRlbnRzKCpjb250ZXh0LCByZWN0KTsKIH0KIAotdm9pZCBDb29yZGluYXRl
ZEdyYXBoaWNzTGF5ZXI6OnRpbGVkQmFja2luZ1N0b3JlUGFpbnRFbmQoY29uc3QgVmVjdG9yPElu
dFJlY3Q+JiB1cGRhdGVkUmVjdHMpCit2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6dGls
ZWRCYWNraW5nU3RvcmVQYWludEVuZChjb25zdCBWZWN0b3I8SW50UmVjdD4mIC8qIHVwZGF0ZWRS
ZWN0cyAqLykKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRUaWxlLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVk
VGlsZS5jcHAKaW5kZXggNGE2MjQ0ZTJkOWRkMGZjOTQxNjgxMmRjNmRmNmY3NDUwMDY2ZmUzNi4u
NjY4Y2E1ZDllZGU0OTlkZWEyYWViNTkyMDYzODdmZGQ2ZjJlOWFhNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRp
bmF0ZWRUaWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29v
cmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZFRpbGUuY3BwCkBAIC0xMDYsNyArMTA2LDcgQEAg
Ym9vbCBDb29yZGluYXRlZFRpbGU6OmlzUmVhZHlUb1BhaW50KCkgY29uc3QKICAgICByZXR1cm4g
ISFtX0lEOwogfQogCi12b2lkIENvb3JkaW5hdGVkVGlsZTo6cGFpbnQoR3JhcGhpY3NDb250ZXh0
KiBjb250ZXh0LCBjb25zdCBJbnRSZWN0JiByZWN0KQordm9pZCBDb29yZGluYXRlZFRpbGU6OnBh
aW50KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFJlY3QmKQogewogICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3IuY3BwIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVl
Q29vcmRpbmF0b3IuY3BwCmluZGV4IDQxNmNmMDBlMDIzY2NiMWNlNDcwZDM5NzczZjEzNTllMDc4
NjhiZTguLmExOTcxNWU3ZWE4YjVkMDRiZDY3OTYwNzJjZTA4NjE2ZWY1YWE1ZGUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNz
L0xheWVyVHJlZUNvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvci5jcHAKQEAg
LTE3MSw3ICsxNzEsNyBAQCB2b2lkIExheWVyVHJlZUNvb3JkaW5hdG9yOjpzZXROb25Db21wb3Np
dGVkQ29udGVudHNOZWVkRGlzcGxheShjb25zdCBXZWJDb3JlOjpJbgogICAgIHNjaGVkdWxlTGF5
ZXJGbHVzaCgpOwogfQogCi12b2lkIExheWVyVHJlZUNvb3JkaW5hdG9yOjpzY3JvbGxOb25Db21w
b3NpdGVkQ29udGVudHMoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgc2Nyb2xsUmVjdCwgY29uc3Qg
V2ViQ29yZTo6SW50U2l6ZSYgc2Nyb2xsT2Zmc2V0KQordm9pZCBMYXllclRyZWVDb29yZGluYXRv
cjo6c2Nyb2xsTm9uQ29tcG9zaXRlZENvbnRlbnRzKGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHNj
cm9sbFJlY3QsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmIC8qIHNjcm9sbE9mZnNldCAqLykKIHsK
ICAgICBzZXROb25Db21wb3NpdGVkQ29udGVudHNOZWVkRGlzcGxheShzY3JvbGxSZWN0KTsKIH0K
QEAgLTUxMiw3ICs1MTIsNyBAQCB2b2lkIExheWVyVHJlZUNvb3JkaW5hdG9yOjpyZWxlYXNlSW1h
Z2VCYWNraW5nU3RvcmUoaW50NjRfdCBrZXkpCiB9CiAKIAotdm9pZCBMYXllclRyZWVDb29yZGlu
YXRvcjo6bm90aWZ5QW5pbWF0aW9uU3RhcnRlZChjb25zdCBXZWJDb3JlOjpHcmFwaGljc0xheWVy
KiwgZG91YmxlIHRpbWUpCit2b2lkIExheWVyVHJlZUNvb3JkaW5hdG9yOjpub3RpZnlBbmltYXRp
b25TdGFydGVkKGNvbnN0IFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXIqLCBkb3VibGUgLyogdGltZSAq
LykKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L0xheWVyVHJlZUhvc3QuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXll
clRyZWVIb3N0LmgKaW5kZXggMGU2ODZiNjZmODdiN2U0Zjk2NzBmYTQ2ZDIzZjhhNTI2ZjNlZmI3
Ni4uOTVkYzhlOWNhNGI3YTZmNWRmYWIyMzRiNDFiYzhiMTBjZTRiYmY3ZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5oCkBAIC05MCw4
ICs5MCw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJGYWN0
b3J5KiBncmFwaGljc0xheWVyRmFjdG9yeSgpIHsgcmV0dXJuIDA7IH0KIAogI2lmIFVTRShDT09S
RElOQVRFRF9HUkFQSElDUykKLSAgICB2aXJ0dWFsIHZvaWQgc2V0VmlzaWJsZUNvbnRlbnRzUmVj
dChjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgZmxvYXQgc2NhbGUsIGNvbnN0IFdlYkNvcmU6OkZs
b2F0UG9pbnQmKSB7IH0KLSAgICB2aXJ0dWFsIHZvaWQgc2V0VmlzaWJsZUNvbnRlbnRzUmVjdEZv
ckxheWVyKGludCBsYXllcklELCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JikgeyB9CisgICAgdmly
dHVhbCB2b2lkIHNldFZpc2libGVDb250ZW50c1JlY3QoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYs
IGZsb2F0IC8qIHNjYWxlICovLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JikgeyB9CisgICAg
dmlydHVhbCB2b2lkIHNldFZpc2libGVDb250ZW50c1JlY3RGb3JMYXllcihpbnQgLyogbGF5ZXJJ
RCAqLywgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpIHsgfQogICAgIHZpcnR1YWwgdm9pZCByZW5k
ZXJOZXh0RnJhbWUoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgcHVyZ2VCYWNraW5nU3RvcmVzKCkg
eyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVMYXllclRyZWVDb29yZGluYXRvck1lc3Nh
Z2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6QXJn
dW1lbnREZWNvZGVyKikgPSAwOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>