<?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>114176</bug_id>
          
          <creation_ts>2013-04-08 10:33:00 -0700</creation_ts>
          <short_desc>Rollout r147756: performance regression</short_desc>
          <delta_ts>2013-06-14 06:00:26 -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>https://bugs.webkit.org/show_bug.cgi?id=74144</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>74144</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mihai Maerean">mmaerean</reporter>
          <assigned_to name="Mihai Maerean">mmaerean</assigned_to>
          <cc>barraclough</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>d-r</cc>
    
    <cc>eric</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>fmalita</cc>
    
    <cc>hyatt</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>pdr</cc>
    
    <cc>rniwa</cc>
    
    <cc>schenney</cc>
    
    <cc>slewis</cc>
    
    <cc>WebkitBugTracker</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>870848</commentid>
    <comment_count>0</comment_count>
    <who name="Mihai Maerean">mmaerean</who>
    <bug_when>2013-04-08 10:33:00 -0700</bug_when>
    <thetext>Rolling out the patch for https://bugs.webkit.org/show_bug.cgi?id=74144 [CSS Regions] Elements in a region should be assignable to a named flow</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>871001</commentid>
    <comment_count>1</comment_count>
      <attachid>196883</attachid>
    <who name="Mihai Maerean">mmaerean</who>
    <bug_when>2013-04-08 12:46:15 -0700</bug_when>
    <thetext>Created attachment 196883
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>871154</commentid>
    <comment_count>2</comment_count>
      <attachid>196883</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-04-08 13:59:38 -0700</bug_when>
    <thetext>Comment on attachment 196883
patch

Rejecting attachment 196883 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-commit-queue.appspot.com&apos;, &apos;--bot-id=webkit-cq-02&apos;, &apos;land-attachment&apos;, &apos;--force-clean&apos;, &apos;--non-interactive&apos;, &apos;--parent-command=commit-queue&apos;, 196883, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
/git.webkit.org/WebKit
   56fe78a..b6eb305  master     -&gt; origin/master
Partial-rebuilding .git/svn/refs/remotes/origin/master/.rev_map.268f45cc-cd09-0410-ab3c-d52691b4dbfc ...
Currently at 147948 = 56fe78af28aab2a91fe5a11350078b4c6fe84eae
r147949 = b6eb305b6c07444b5ff297286727dfa8514499a7
Done rebuilding .git/svn/refs/remotes/origin/master/.rev_map.268f45cc-cd09-0410-ab3c-d52691b4dbfc
First, rewinding head to replay your work on top of it...
Fast-forwarded master to refs/remotes/origin/master.

Full output: http://webkit-commit-queue.appspot.com/results/17558046</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>871187</commentid>
    <comment_count>3</comment_count>
      <attachid>196883</attachid>
    <who name="Thiago Marcos P. Santos">tmpsantos</who>
    <bug_when>2013-04-08 14:46:28 -0700</bug_when>
    <thetext>Comment on attachment 196883
patch

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

&gt; Source/WebCore/ChangeLog:11
&gt; +        No new tests (OOPS!).

This patch won&apos;t land because of this OOPS here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>871439</commentid>
    <comment_count>4</comment_count>
      <attachid>196994</attachid>
    <who name="Mihai Maerean">mmaerean</who>
    <bug_when>2013-04-08 21:58:38 -0700</bug_when>
    <thetext>Created attachment 196994
patch

Removes the OOPS!. Explains that there are no new tests because this is a rollout patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>871450</commentid>
    <comment_count>5</comment_count>
      <attachid>196994</attachid>
    <who name="Mihai Maerean">mmaerean</who>
    <bug_when>2013-04-08 22:25:36 -0700</bug_when>
    <thetext>Comment on attachment 196994
patch

have to manually write the reviewer&apos;s name in the change log.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>871452</commentid>
    <comment_count>6</comment_count>
      <attachid>196998</attachid>
    <who name="Mihai Maerean">mmaerean</who>
    <bug_when>2013-04-08 22:29:07 -0700</bug_when>
    <thetext>Created attachment 196998
patch for landing.

change log contains the reviewer&apos;s name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>871454</commentid>
    <comment_count>7</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-04-08 22:29:25 -0700</bug_when>
    <thetext>*** Bug 114241 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>871472</commentid>
    <comment_count>8</comment_count>
      <attachid>196998</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-04-08 23:14:43 -0700</bug_when>
    <thetext>Comment on attachment 196998
patch for landing.

Clearing flags on attachment: 196998

Committed r147983: &lt;http://trac.webkit.org/changeset/147983&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>196883</attachid>
            <date>2013-04-08 12:46:15 -0700</date>
            <delta_ts>2013-04-08 14:46:28 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch114176rollout74144.diff</filename>
            <type>text/plain</type>
            <size>23312</size>
            <attacher name="Mihai Maerean">mmaerean</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA4YzVkYmE1Li5jOTdhNTZhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTMtMDQt
MDggIE1paGFpIE1hZXJlYW4gIDxtbWFlcmVhbkBhZG9iZS5jb20+CisKKyAgICAgICAgUm9sbG91
dCByMTQ3NzU2OiBwZXJmb3JtYW5jZSByZWdyZXNzaW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTQxNzYKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvcmVnaW9ucy9mbG93LWJvZHktaW4taHRt
bC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9yZWdpb25zL2Zsb3ctYm9k
eS1pbi1odG1sLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9yZWdpb25zL3JlZ2lvbi1j
b250ZW50LWZsb3duLWludG8tcmVnaW9uLWV4cGVjdGVkLmh0bWw6IFJlbW92ZWQuCisgICAgICAg
ICogZmFzdC9yZWdpb25zL3JlZ2lvbi1jb250ZW50LWZsb3duLWludG8tcmVnaW9uLmh0bWw6IFJl
bW92ZWQuCisgICAgICAgICogZmFzdC9yZWdpb25zL3VuaXZlcnNhbC1zZWxlY3Rvci1jaGlsZHJl
bi10by10aGUtc2FtZS1yZWdpb24tZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZh
c3QvcmVnaW9ucy91bml2ZXJzYWwtc2VsZWN0b3ItY2hpbGRyZW4tdG8tdGhlLXNhbWUtcmVnaW9u
Lmh0bWw6IFJlbW92ZWQuCisKIDIwMTMtMDQtMDggIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxl
LmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OKHIxNDY2NjkpOiBBc3NlcnRpb24gaGl0IGluIEpT
Qzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6ZmlsbFNwZWN1bGF0ZUNlbGwoKSBydW5uaW5nIHdlYmds
IHRlc3RzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvZmxvdy1ib2R5LWlu
LWh0bWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL2Zsb3ctYm9keS1p
bi1odG1sLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWU1MGZi
ZC4uMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvZmxvdy1ib2R5LWluLWh0
bWwtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1QQVNTOiB0aGUg
Ym9keSB0YWcgaGFzIGZsb3ctaW50byB3aGlsZSB0aGUgaHRtbCBoYXMgZmxvdy1mcm9tLgotQnVn
IDc0MTQ0IC0gW0NTUyBSZWdpb25zXSBFbGVtZW50cyBpbiBhIHJlZ2lvbiBzaG91bGQgYmUgYXNz
aWduYWJsZSB0byBhIG5hbWVkIGZsb3cKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVn
aW9ucy9mbG93LWJvZHktaW4taHRtbC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL2Zs
b3ctYm9keS1pbi1odG1sLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ3NTg0
ZDkuLjAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL2Zsb3ctYm9keS1pbi1o
dG1sLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyMiArMCwwIEBACi08aHRtbD4KLSAgPGhlYWQ+
Ci0gICAgPHRpdGxlPjEwMzY4NSAtIFtDU1MgUmVnaW9uc10gVW5pdmVyc2FsIGNoaWxkIHNlbGVj
dG9yIG9uIHJlZ2lvbiBicmVha3MgdGhlIHJlbmRlcmluZyBvZiBpdHMgY29udGVudDwvdGl0bGU+
Ci0gICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KLSAgICAgIGJvZHkgewotICAgICAgLXdlYmtp
dC1mbG93LWludG86IGZvbzsKLSAgICAgIH0KLSAgICAgIGh0bWwgewotICAgICAgIC13ZWJraXQt
Zmxvdy1mcm9tOiBmb287Ci0gICAgICB9Ci0gICAgPC9zdHlsZT4KLSAgICA8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCI+Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAg
ICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpCi0gICAgPC9zY3JpcHQ+Ci0gIDwvaGVhZD4K
LSAgPGJvZHk+Ci0gICAgICBQQVNTOiB0aGUgYm9keSB0YWcgaGFzIGZsb3ctaW50byB3aGlsZSB0
aGUgaHRtbCBoYXMgZmxvdy1mcm9tLgotCi0gICAgICA8cD48YSBocmVmPSJodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxNDQiPkJ1ZyA3NDE0NDwvYT4gLSBbQ1NTIFJl
Z2lvbnNdIEVsZW1lbnRzIGluIGEgcmVnaW9uIHNob3VsZCBiZSBhc3NpZ25hYmxlIHRvIGEgbmFt
ZWQgZmxvdzwvcD4KLSAgPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZWdpb24tY29udGVudC1m
bG93bi1pbnRvLXJlZ2lvbi1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25z
L3JlZ2lvbi1jb250ZW50LWZsb3duLWludG8tcmVnaW9uLWV4cGVjdGVkLmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNjYTZhYTYuLjAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9yZWdpb25zL3JlZ2lvbi1jb250ZW50LWZsb3duLWludG8tcmVnaW9uLWV4cGVjdGVkLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi08aHRtbD4KLSAgICA8aGVhZD4KLSAg
ICAgICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KLSAgICAgICAgICAgIGRpdiB7Ci0gICAgICAg
ICAgICAgICAgcGFkZGluZzogMXB4OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgLnJlZ2lv
biB7Ci0gICAgICAgICAgICAgICAgYm9yZGVyOnNvbGlkIDFweCAjYmJiOwotICAgICAgICAgICAg
fQotICAgICAgICA8L3N0eWxlPgotICAgIDwvaGVhZD4KLSAgICA8Ym9keT4KLSAgICAgICAgPGRp
diBjbGFzcz0icmVnaW9uIj48dGVtcGxhdGU+UEFTUyByMDogY29udGVudCB0aGF0IGdvZXMgaW4g
dGhlIHJlZ2lvbi48L3RlbXBsYXRlPjwvZGl2PgotICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpb24i
PgotICAgICAgICAgICAgPGRpdj5QQVNTIHIxOiBjb250ZW50IGluIHRoZSByZWdpb24gdGhhdCBo
YXMgZmxvdy1pbnRvLiAxLjwvZGl2PgotICAgICAgICAgICAgPGRpdj5QQVNTIHIxOiAoZW5jbG9z
ZWQgaW4gYSBkaXYpIGNvbnRlbnQgaW4gdGhlIHJlZ2lvbiB0aGF0IGhhcyBmbG93LWludG8uIDIu
IDxiPlBBU1MgcjE6IChlbmNsb3NlZCBpbiBhIGRpdikgY29udGVudCBpbiB0aGUgcmVnaW9uIHRo
YXQgaGFzIGZsb3ctaW50by4gMy48L2I+LjwvZGl2PgotICAgICAgICAgICAgPGRpdj5QQVNTIHIx
OiAoZW5jbG9zZWQgaW4gYSBkaXYpIGNvbnRlbnQgaW4gdGhlIHJlZ2lvbiB0aGF0IGhhcyBmbG93
LWludG8uIDQgLjwvZGl2PgotICAgICAgICAgICAgPGRpdj5QQVNTIHIxOiBjb250ZW50IGluIHRo
ZSByZWdpb24gdGhhdCBoYXMgZmxvdy1pbnRvLiA1LjwvZGl2PgotICAgICAgICA8L2Rpdj4KLSAg
ICAgICAgPGRpdiBjbGFzcz0icmVnaW9uIj48c3Bhbj5QQVNTIHIyOiBjb250ZW50IHRoYXQgaXMg
YWxyZWFkeSBpbiBhIGZsb3cgZ29lcyB0byBhbm90aGVyIGZsb3cgLjwvc3Bhbj48L2Rpdj4KLSAg
ICAgICAgPHA+PGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTc0MTQ0Ij5CdWcgNzQxNDQ8L2E+IC0gW0NTUyBSZWdpb25zXSBFbGVtZW50cyBpbiBhIHJlZ2lv
biBzaG91bGQgYmUgYXNzaWduYWJsZSB0byBhIG5hbWVkIGZsb3c8L3A+Ci0gICAgPC9ib2R5Pgot
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvcmVnaW9ucy9yZWdpb24tY29udGVudC1mbG93bi1pbnRvLXJlZ2lvbi5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3JlZ2lvbi1jb250ZW50LWZsb3duLWludG8tcmVnaW9u
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRhMzdkOGQuLjAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3JlZ2lvbi1jb250ZW50LWZsb3duLWludG8tcmVn
aW9uLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw5MiArMCwwIEBACi08aHRtbD4KLSAgICA8aGVh
ZD4KLSAgICAgICAgPHRpdGxlPjc0MTQ0IC0gW0NTUyBSZWdpb25zXSBFbGVtZW50cyBpbiBhIHJl
Z2lvbiBzaG91bGQgYmUgYXNzaWduYWJsZSB0byBhIG5hbWVkIGZsb3c8L3RpdGxlPgotICAgICAg
ICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgotICAgICAgICAgICAgZGl2IHsKLSAgICAgICAgICAg
ICAgICBwYWRkaW5nOiAxcHg7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAuY29udGVudCB7
Ci0gICAgICAgICAgICAgICAgLXdlYmtpdC1mbG93LWludG86IGZsb3c7Ci0gICAgICAgICAgICB9
Ci0gICAgICAgICAgICAucmVnaW9uIHsKLSAgICAgICAgICAgICAgICAtd2Via2l0LWZsb3ctZnJv
bTogZmxvdzsKLSAgICAgICAgICAgICAgICBib3JkZXI6c29saWQgMXB4ICNiYmI7Ci0gICAgICAg
ICAgICB9Ci0KLSAgICAgICAgICAgIC5yZWRpcmVjdENvbnRlbnQgewotICAgICAgICAgICAgICAg
IC13ZWJraXQtZmxvdy1pbnRvOiByZWRpcmVjdEZsb3c7Ci0gICAgICAgICAgICB9Ci0gICAgICAg
ICAgICAucmVkaXJlY3RSZWdpb24gewotICAgICAgICAgICAgICAgIC13ZWJraXQtZmxvdy1mcm9t
OiByZWRpcmVjdEZsb3c7Ci0gICAgICAgICAgICAgICAgYm9yZGVyOnNvbGlkIDFweCAjYmJiOwot
ICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAucmVkaXJlY3RDb250ZW50MiB7Ci0gICAgICAg
ICAgICAgICAgLXdlYmtpdC1mbG93LWludG86IHJlZGlyZWN0RmxvdzI7Ci0gICAgICAgICAgICB9
Ci0gICAgICAgICAgICAucmVkaXJlY3RSZWdpb24yIHsKLSAgICAgICAgICAgICAgICAtd2Via2l0
LWZsb3ctZnJvbTogcmVkaXJlY3RGbG93MjsKLSAgICAgICAgICAgICAgICBib3JkZXI6c29saWQg
MXB4ICNiYmI7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIC5yZWRpcmVjdENvbnRlbnRU
b05vd2hlcmUgewotICAgICAgICAgICAgICAgIC13ZWJraXQtZmxvdy1pbnRvOiByZWRpcmVjdFRv
Tm93aGVyZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgPC9zdHlsZT4KLSAgICAgICAgPHRlbXBs
YXRlIGNsYXNzPSJjb250ZW50Ij5QQVNTIHIwOiBjb250ZW50IHRoYXQgZ29lcyBpbiB0aGUgcmVn
aW9uLjwvdGVtcGxhdGU+Ci0gICAgPC9oZWFkPgotCi0gICAgPGJvZHk+Ci0gICAgICAgIDxkaXYg
Y2xhc3M9InJlZ2lvbiI+Ci0gICAgICAgICAgICBGQUlMOiB0aGlzIHNob3VsZCBub3QgYmUgdmlz
aWJsZSAxLgotCi0gICAgICAgICAgICA8c3BhbiBjbGFzcz0icmVkaXJlY3RDb250ZW50VG9Ob3do
ZXJlIj5GQUlMOiB0aGlzIHNob3VsZCBub3QgYmUgdmlzaWJsZSAocmVkaXJlY3RlZCB0byBub3do
ZXJlKSAxLjwvc3Bhbj4KLQotICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVkaXJlY3RDb250ZW50
Ij5QQVNTIHIxOiBjb250ZW50IGluIHRoZSByZWdpb24gdGhhdCBoYXMgZmxvdy1pbnRvLiAxLjwv
ZGl2PgotCi0gICAgICAgICAgICBGQUlMOiB0aGlzIHNob3VsZCBub3QgYmUgdmlzaWJsZSAyLgot
Ci0gICAgICAgICAgICA8ZGl2PgotICAgICAgICAgICAgICAgIEZBSUw6IHRoaXMgc2hvdWxkIG5v
dCBiZSB2aXNpYmxlIDMuCi0KLSAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWRpcmVjdENv
bnRlbnQiPlBBU1MgcjE6IChlbmNsb3NlZCBpbiBhIGRpdikgY29udGVudCBpbiB0aGUgcmVnaW9u
IHRoYXQgaGFzIGZsb3ctaW50by4gMi4KLSAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0i
cmVkaXJlY3RDb250ZW50VG9Ob3doZXJlIj5GQUlMOiB0aGlzIHNob3VsZCBub3QgYmUgdmlzaWJs
ZSAocmVkaXJlY3RlZCB0byBub3doZXJlKSAyLjwvZGl2PgotICAgICAgICAgICAgICAgICAgICA8
Yj5QQVNTIHIxOiAoZW5jbG9zZWQgaW4gYSBkaXYpIGNvbnRlbnQgaW4gdGhlIHJlZ2lvbiB0aGF0
IGhhcyBmbG93LWludG8uIDMuPC9iPi4KLSAgICAgICAgICAgICAgICA8L2Rpdj4KLQotICAgICAg
ICAgICAgICAgIEZBSUw6IHRoaXMgc2hvdWxkIG5vdCBiZSB2aXNpYmxlIDQuCi0gICAgICAgICAg
ICA8L2Rpdj4KLQotICAgICAgICAgICAgPGRpdj4KLSAgICAgICAgICAgICAgICBGQUlMOiB0aGlz
IHNob3VsZCBub3QgYmUgdmlzaWJsZSA1LgotCi0gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0i
cmVkaXJlY3RDb250ZW50Ij5QQVNTIHIxOiAoZW5jbG9zZWQgaW4gYSBkaXYpIGNvbnRlbnQgaW4g
dGhlIHJlZ2lvbiB0aGF0IGhhcyBmbG93LWludG8uIDQKLSAgICAgICAgICAgICAgICAgICAgPHNw
YW4gY2xhc3M9InJlZGlyZWN0Q29udGVudDIiPlBBU1MgcjI6IGNvbnRlbnQgdGhhdCBpcyBhbHJl
YWR5IGluIGEgZmxvdyBnb2VzIHRvIGFub3RoZXIgZmxvdwotICAgICAgICAgICAgICAgICAgICAg
ICAgPHNwYW4gY2xhc3M9InJlZGlyZWN0Q29udGVudFRvTm93aGVyZSI+RkFJTDogdGhpcyBzaG91
bGQgbm90IGJlIHZpc2libGUgKHJlZGlyZWN0ZWQgdG8gbm93aGVyZSkgMy48L3NwYW4+LgotICAg
ICAgICAgICAgICAgICAgICA8L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgIC4KLSAgICAgICAg
ICAgICAgICA8L2Rpdj4KLQotICAgICAgICAgICAgICAgIEZBSUw6IHRoaXMgc2hvdWxkIG5vdCBi
ZSB2aXNpYmxlIDcuCi0gICAgICAgICAgICA8L2Rpdj4KLQotICAgICAgICAgICAgRkFJTDogdGhp
cyBzaG91bGQgbm90IGJlIHZpc2libGUgOC4KLQotICAgICAgICAgICAgPHNwYW4gY2xhc3M9InJl
ZGlyZWN0Q29udGVudFRvTm93aGVyZSI+RkFJTDogdGhpcyBzaG91bGQgbm90IGJlIHZpc2libGUg
KHJlZGlyZWN0ZWQgdG8gbm93aGVyZSkgNC48L3NwYW4+Ci0KLSAgICAgICAgICAgIDxkaXYgY2xh
c3M9InJlZGlyZWN0Q29udGVudCI+UEFTUyByMTogY29udGVudCBpbiB0aGUgcmVnaW9uIHRoYXQg
aGFzIGZsb3ctaW50by4gNS48L2Rpdj4KLQotICAgICAgICAgICAgRkFJTDogdGhpcyBzaG91bGQg
bm90IGJlIHZpc2libGUgOS4KLSAgICAgICAgPC9kaXY+Ci0KLSAgICAgICAgPGRpdiBjbGFzcz0i
cmVkaXJlY3RSZWdpb24iPgotICAgICAgICAgICAgRkFJTDogdGhpcyBzaG91bGQgbm90IGJlIHZp
c2libGUgMTAuCi0gICAgICAgIDwvZGl2PgotCi0gICAgICAgIDxkaXYgY2xhc3M9InJlZGlyZWN0
UmVnaW9uMiI+Ci0gICAgICAgICAgICBGQUlMOiB0aGlzIHNob3VsZCBub3QgYmUgdmlzaWJsZSAx
MS4KLSAgICAgICAgPC9kaXY+Ci0KLSAgICAgICAgPHA+PGEgaHJlZj0iaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTQ0Ij5CdWcgNzQxNDQ8L2E+IC0gW0NTUyBSZWdp
b25zXSBFbGVtZW50cyBpbiBhIHJlZ2lvbiBzaG91bGQgYmUgYXNzaWduYWJsZSB0byBhIG5hbWVk
IGZsb3c8L3A+Ci0gICAgPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy91bml2ZXJzYWwtc2VsZWN0
b3ItY2hpbGRyZW4tdG8tdGhlLXNhbWUtcmVnaW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvcmVnaW9ucy91bml2ZXJzYWwtc2VsZWN0b3ItY2hpbGRyZW4tdG8tdGhlLXNhbWUtcmVn
aW9uLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzI4MTI0OS4u
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvdW5pdmVyc2FsLXNlbGVjdG9y
LWNoaWxkcmVuLXRvLXRoZS1zYW1lLXJlZ2lvbi1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApA
QCAtMSw1ICswLDAgQEAKLVBBU1M6IHRoaXMgaXMgaW5saW5lCi1QQVNTOiBhbmQgYmxvY2sgY29u
dGVudCBpbnNpZGUgYSByZWdpb24gdGhhdCBpcyBmbG93ZWQgaW50byB0aGUgc2FtZSByZWdpb24K
LQotUEFTUzogYnV0dG9uCi1CdWcgNzQxNDQgLSBbQ1NTIFJlZ2lvbnNdIEVsZW1lbnRzIGluIGEg
cmVnaW9uIHNob3VsZCBiZSBhc3NpZ25hYmxlIHRvIGEgbmFtZWQgZmxvdwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3VuaXZlcnNhbC1zZWxlY3Rvci1jaGlsZHJlbi10by10
aGUtc2FtZS1yZWdpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy91bml2ZXJzYWwt
c2VsZWN0b3ItY2hpbGRyZW4tdG8tdGhlLXNhbWUtcmVnaW9uLmh0bWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGY4YzE2MWYuLjAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9y
ZWdpb25zL3VuaXZlcnNhbC1zZWxlY3Rvci1jaGlsZHJlbi10by10aGUtc2FtZS1yZWdpb24uaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDIxICswLDAgQEAKLTxodG1sPgotICA8aGVhZD4KLSAgICA8
dGl0bGU+MTAzNjg1IC0gW0NTUyBSZWdpb25zXSBVbml2ZXJzYWwgY2hpbGQgc2VsZWN0b3Igb24g
cmVnaW9uIGJyZWFrcyB0aGUgcmVuZGVyaW5nIG9mIGl0cyBjb250ZW50PC90aXRsZT4KLSAgICA8
c3R5bGUgdHlwZT0idGV4dC9jc3MiPgotICAgICAgLnJlZ2lvbiA+ICogewotICAgICAgLXdlYmtp
dC1mbG93LWludG86IGZvbzsKLSAgICAgIH0KLSAgICAgIC5yZWdpb24gewotICAgICAgIC13ZWJr
aXQtZmxvdy1mcm9tOiBmb287Ci0gICAgICB9Ci0gICAgPC9zdHlsZT4KLSAgICA8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCI+Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAg
ICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpCi0gICAgPC9zY3JpcHQ+Ci0gIDwvaGVh
ZD4KLSAgPGJvZHk+Ci0gICAgICA8ZGl2IGNsYXNzPSJyZWdpb24iPjxzcGFuPlBBU1M6IHRoaXMg
aXMgaW5saW5lPC9zcGFuPjxkaXY+PHA+UEFTUzogYW5kIGJsb2NrIGNvbnRlbnQgaW5zaWRlIGEg
cmVnaW9uIHRoYXQgaXMgZmxvd2VkIGludG8gdGhlIHNhbWUgcmVnaW9uPC9wPjwvZGl2PjxidXR0
b24+UEFTUzogYnV0dG9uPC9idXR0b24+PC9kaXY+Ci0gICAgICA8cD48YSBocmVmPSJodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxNDQiPkJ1ZyA3NDE0NDwvYT4gLSBb
Q1NTIFJlZ2lvbnNdIEVsZW1lbnRzIGluIGEgcmVnaW9uIHNob3VsZCBiZSBhc3NpZ25hYmxlIHRv
IGEgbmFtZWQgZmxvdzwvcD4KLSAgPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCBlNGM1YTE2Li4yYmY4ZGY4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzQgQEAKKzIwMTMtMDQtMDggIE1paGFpIE1hZXJlYW4gIDxtbWFlcmVhbkBhZG9iZS5j
b20+CisKKyAgICAgICAgUm9sbG91dCByMTQ3NzU2OiBwZXJmb3JtYW5jZSByZWdyZXNzaW9uCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTQxNzYKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSb2xsaW5nIG91
dCB0aGUgcGF0Y2ggZm9yIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03
NDE0NCAiW0NTUyBSZWdpb25zXSBFbGVtZW50cyBpbiBhIHJlZ2lvbgorICAgICAgICBzaG91bGQg
YmUgYXNzaWduYWJsZSB0byBhIG5hbWVkIGZsb3ciIGJlY2F1c2Ugb2YgdGhlIHBlcmZvcm1hbmNl
IHJlZ3Jlc3Npb24gaW4gUGFyc2VyL2h0bWw1LWZ1bGwtcmVuZGVyLmh0bWwgLgorCisgICAgICAg
IE5vIG5ldyB0ZXN0cyAoT09QUyEpLgorCisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAg
ICAgICAqIGRvbS9FbGVtZW50Lmg6CisgICAgICAgICogZG9tL05vZGVSZW5kZXJpbmdDb250ZXh0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGVSZW5kZXJpbmdDb250ZXh0OjpwYXJlbnRSZW5k
ZXJlcik6CisgICAgICAgIChXZWJDb3JlOjpOb2RlUmVuZGVyaW5nQ29udGV4dDo6c2hvdWxkQ3Jl
YXRlUmVuZGVyZXIpOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZVJlbmRlcmluZ0NvbnRleHQ6Om1v
dmVUb0Zsb3dUaHJlYWRJZk5lZWRlZCk6CisgICAgICAgICogZG9tL05vZGVSZW5kZXJpbmdDb250
ZXh0Lmg6CisgICAgICAgICogZG9tL1BzZXVkb0VsZW1lbnQuaDoKKyAgICAgICAgKiBkb20vVGV4
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0Ojp0ZXh0UmVuZGVyZXJJc05lZWRlZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpUZXh0Ojp1cGRhdGVUZXh0UmVuZGVyZXIpOgorICAgICAgICAqIGRv
bS9UZXh0Lmg6CisgICAgICAgICogcmVuZGVyaW5nL0Zsb3dUaHJlYWRDb250cm9sbGVyLmNwcDoK
KyAgICAgICAgKiByZW5kZXJpbmcvRmxvd1RocmVhZENvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyT2JqZWN0Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclJlZ2lv
bi5oOgorICAgICAgICAqIHN2Zy9TVkdFbGVtZW50LmNwcDoKKyAgICAgICAgKiBzdmcvU1ZHRWxl
bWVudC5oOgorICAgICAgICAKIDIwMTMtMDQtMDggIEpvY2VseW4gVHVyY290dGUgIDxqb2NlbHlu
LnR1cmNvdHRlQGRpZ2lhLmNvbT4KIAogICAgICAgICBbUXRdIEF2b2lkICJRRm9udDo6c2V0UGl4
ZWxTaXplOiBQaXhlbCBzaXplIDw9IDAgKDApIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IDgx
OGVmMjkuLmI4OTU0MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTI1NTgsMzIgKzI1NTgs
NiBAQCBSZW5kZXJSZWdpb24qIEVsZW1lbnQ6OnJlbmRlclJlZ2lvbigpIGNvbnN0CiAgICAgcmV0
dXJuIDA7CiB9CiAKLWJvb2wgRWxlbWVudDo6bW92ZVRvRmxvd1RocmVhZElzTmVlZGVkKFJlZlB0
cjxSZW5kZXJTdHlsZT4mIGNhY2hlZFN0eWxlKQotewotICAgIERvY3VtZW50KiBkb2MgPSBkb2N1
bWVudCgpOwotICAgIAotICAgIGlmICghZG9jLT5jc3NSZWdpb25zRW5hYmxlZCgpKQotICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0KLSNpZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCi0gICAgaWYgKGRv
Yy0+d2Via2l0SXNGdWxsU2NyZWVuKCkgJiYgZG9jLT53ZWJraXRDdXJyZW50RnVsbFNjcmVlbkVs
ZW1lbnQoKSA9PSB0aGlzKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0jZW5kaWYKLQotICAgIGlm
IChpc0luU2hhZG93VHJlZSgpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBpZiAoIWNh
Y2hlZFN0eWxlKQotICAgICAgICBjYWNoZWRTdHlsZSA9IHN0eWxlRm9yUmVuZGVyZXIoKTsKLSAg
ICBpZiAoIWNhY2hlZFN0eWxlKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBpZiAoY2Fj
aGVkU3R5bGUtPmZsb3dUaHJlYWQoKS5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsK
LQotICAgIHJldHVybiAhZG9jdW1lbnQoKS0+cmVuZGVyVmlldygpLT5mbG93VGhyZWFkQ29udHJv
bGxlcigpLT5pc0NvbnRlbnROb2RlUmVnaXN0ZXJlZFdpdGhBbnlOYW1lZEZsb3codGhpcyk7Ci19
Ci0KICNpZiBFTkFCTEUoQ1NTX1JFR0lPTlMpCiAKIGNvbnN0IEF0b21pY1N0cmluZyYgRWxlbWVu
dDo6d2Via2l0UmVnaW9uT3ZlcnNldCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAppbmRleCBkMGM4
ZmVjLi41MTRmNTgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKQEAgLTYwOSw3ICs2MDksNiBAQCBwdWJs
aWM6CiAgICAgUGFzc1JlZlB0cjxSZW5kZXJTdHlsZT4gc3R5bGVGb3JSZW5kZXJlcigpOwogCiAg
ICAgUmVuZGVyUmVnaW9uKiByZW5kZXJSZWdpb24oKSBjb25zdDsKLSAgICB2aXJ0dWFsIGJvb2wg
bW92ZVRvRmxvd1RocmVhZElzTmVlZGVkKFJlZlB0cjxSZW5kZXJTdHlsZT4mIGNhY2hlZFN0eWxl
KTsKICNpZiBFTkFCTEUoQ1NTX1JFR0lPTlMpCiAgICAgY29uc3QgQXRvbWljU3RyaW5nJiB3ZWJr
aXRSZWdpb25PdmVyc2V0KCkgY29uc3Q7CiAgICAgVmVjdG9yPFJlZlB0cjxSYW5nZT4gPiB3ZWJr
aXRHZXRSZWdpb25GbG93UmFuZ2VzKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vTm9kZVJlbmRlcmluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGVS
ZW5kZXJpbmdDb250ZXh0LmNwcAppbmRleCBmZDYxYjRlLi5lODRjNWU0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vTm9kZVJlbmRlcmluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Ob2RlUmVuZGVyaW5nQ29udGV4dC5jcHAKQEAgLTE0OCw3ICsxNDgsNyBAQCBS
ZW5kZXJPYmplY3QqIE5vZGVSZW5kZXJpbmdDb250ZXh0OjpwcmV2aW91c1JlbmRlcmVyKCkgY29u
c3QKICAgICByZXR1cm4gMDsKIH0KIAotUmVuZGVyT2JqZWN0KiBOb2RlUmVuZGVyaW5nQ29udGV4
dDo6cGFyZW50UmVuZGVyZXIoKQorUmVuZGVyT2JqZWN0KiBOb2RlUmVuZGVyaW5nQ29udGV4dDo6
cGFyZW50UmVuZGVyZXIoKSBjb25zdAogewogICAgIGlmIChSZW5kZXJPYmplY3QqIHJlbmRlcmVy
ID0gbV9ub2RlLT5yZW5kZXJlcigpKQogICAgICAgICByZXR1cm4gcmVuZGVyZXItPnBhcmVudCgp
OwpAQCAtMTcwLDE1ICsxNzAsMTAgQEAgUmVuZGVyT2JqZWN0KiBOb2RlUmVuZGVyaW5nQ29udGV4
dDo6cGFyZW50UmVuZGVyZXIoKQogICAgIGlmIChtX3BhcmVudEZsb3dSZW5kZXJlcikKICAgICAg
ICAgcmV0dXJuIG1fcGFyZW50Rmxvd1JlbmRlcmVyOwogCi0gICAgaWYgKG1fbm9kZS0+aXNFbGVt
ZW50Tm9kZSgpICYmIHRvRWxlbWVudChtX25vZGUpLT5tb3ZlVG9GbG93VGhyZWFkSXNOZWVkZWQo
bV9zdHlsZSkpIHsKLSAgICAgICAgbW92ZVRvRmxvd1RocmVhZCgpOwotICAgICAgICByZXR1cm4g
bV9wYXJlbnRGbG93UmVuZGVyZXI7Ci0gICAgfQotCiAgICAgcmV0dXJuIG1fcmVuZGVyaW5nUGFy
ZW50ID8gbV9yZW5kZXJpbmdQYXJlbnQtPnJlbmRlcmVyKCkgOiAwOwogfQogCi1ib29sIE5vZGVS
ZW5kZXJpbmdDb250ZXh0OjpzaG91bGRDcmVhdGVSZW5kZXJlcigpCitib29sIE5vZGVSZW5kZXJp
bmdDb250ZXh0OjpzaG91bGRDcmVhdGVSZW5kZXJlcigpIGNvbnN0CiB7CiAgICAgaWYgKCFtX25v
ZGUtPmRvY3VtZW50KCktPnNob3VsZENyZWF0ZVJlbmRlcmVycygpKQogICAgICAgICByZXR1cm4g
ZmFsc2U7CkBAIC0xODcsMTYgKzE4Miw4IEBAIGJvb2wgTm9kZVJlbmRlcmluZ0NvbnRleHQ6OnNo
b3VsZENyZWF0ZVJlbmRlcmVyKCkKICAgICBSZW5kZXJPYmplY3QqIHBhcmVudFJlbmRlcmVyID0g
dGhpcy0+cGFyZW50UmVuZGVyZXIoKTsKICAgICBpZiAoIXBhcmVudFJlbmRlcmVyKQogICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKCFwYXJlbnRSZW5kZXJlci0+Y2FuSGF2ZUNoaWxkcmVu
KCkpIHsKLSAgICAgICAgaWYgKHBhcmVudFJlbmRlcmVyLT5jYW5ET01DaGlsZHJlbkhhdmVSZW5k
ZXJQYXJlbnQoKSkgewotICAgICAgICAgICAgLy8gSW4gYSByZWdpb24sIG9ubHkgdGhlIGNoaWxk
cmVuIHRoYXQgbmVlZCB0byBiZSBpbiBhIGZsb3cgdGhyZWFkIHNob3VsZCBoYXZlIGEgcmVuZGVy
ZXIuCi0gICAgICAgICAgICBib29sIHNob3VsZEJlSW5OYW1lZEZsb3cgPSBtX25vZGUtPmlzRWxl
bWVudE5vZGUoKSAmJiB0b0VsZW1lbnQobV9ub2RlKS0+bW92ZVRvRmxvd1RocmVhZElzTmVlZGVk
KG1fc3R5bGUpOwotICAgICAgICAgICAgaWYgKCFzaG91bGRCZUluTmFtZWRGbG93KQotICAgICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICByZXR1
cm4gZmFsc2U7Ci0gICAgfQotCisgICAgaWYgKCFwYXJlbnRSZW5kZXJlci0+Y2FuSGF2ZUNoaWxk
cmVuKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoIW1fcmVuZGVyaW5nUGFyZW50
LT5jaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKCp0aGlzKSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogICAgIHJldHVybiB0cnVlOwpAQCAtMjA1LDIxICsxOTIsMzUgQEAgYm9vbCBOb2RlUmVuZGVy
aW5nQ29udGV4dDo6c2hvdWxkQ3JlYXRlUmVuZGVyZXIoKQogdm9pZCBOb2RlUmVuZGVyaW5nQ29u
dGV4dDo6bW92ZVRvRmxvd1RocmVhZElmTmVlZGVkKCkKIHsKICAgICBBU1NFUlQobV9ub2RlLT5p
c0VsZW1lbnROb2RlKCkpOworICAgIEFTU0VSVChtX3N0eWxlKTsKKyAgICBpZiAoIW1fbm9kZS0+
ZG9jdW1lbnQoKS0+Y3NzUmVnaW9uc0VuYWJsZWQoKSkKKyAgICAgICAgcmV0dXJuOwogCi0gICAg
aWYgKCF0b0VsZW1lbnQobV9ub2RlKS0+bW92ZVRvRmxvd1RocmVhZElzTmVlZGVkKG1fc3R5bGUp
KQorICAgIGlmIChtX3N0eWxlLT5mbG93VGhyZWFkKCkuaXNFbXB0eSgpKQogICAgICAgICByZXR1
cm47CiAKLSAgICBtb3ZlVG9GbG93VGhyZWFkKCk7Ci19CisgICAgLy8gQXMgcGVyIGh0dHA6Ly9k
ZXYudzMub3JnL2Nzc3dnL2NzczMtcmVnaW9ucy8jZmxvdy1pbnRvLCBwc2V1ZG8tZWxlbWVudHMg
c3VjaCBhcyA6OmZpcnN0LWxpbmUsIDo6Zmlyc3QtbGV0dGVyLCA6OmJlZm9yZSBvciA6OmFmdGVy
CisgICAgLy8gY2Fubm90IGJlIGRpcmVjdGx5IGNvbGxlY3RlZCBpbnRvIGEgbmFtZWQgZmxvdy4K
KyAgICBpZiAobV9ub2RlLT5pc1BzZXVkb0VsZW1lbnQoKSkKKyAgICAgICAgcmV0dXJuOwogCi12
b2lkIE5vZGVSZW5kZXJpbmdDb250ZXh0Ojptb3ZlVG9GbG93VGhyZWFkKCkKLXsKLSAgICBBU1NF
UlQobV9ub2RlLT5pc0VsZW1lbnROb2RlKCkpOwotICAgIEFTU0VSVCh0b0VsZW1lbnQobV9ub2Rl
KS0+bW92ZVRvRmxvd1RocmVhZElzTmVlZGVkKG1fc3R5bGUpKTsKKyAgICAvLyBGSVhNRTogRG8g
bm90IGNvbGxlY3QgZWxlbWVudHMgaWYgdGhleSBhcmUgaW4gc2hhZG93IHRyZWUuCisgICAgaWYg
KG1fbm9kZS0+aXNJblNoYWRvd1RyZWUoKSkKKyAgICAgICAgcmV0dXJuOworCisjaWYgRU5BQkxF
KEZVTExTQ1JFRU5fQVBJKQorICAgIERvY3VtZW50KiBkb2N1bWVudCA9IG1fbm9kZS0+ZG9jdW1l
bnQoKTsKKyAgICBpZiAoZG9jdW1lbnQtPndlYmtpdElzRnVsbFNjcmVlbigpICYmIGRvY3VtZW50
LT53ZWJraXRDdXJyZW50RnVsbFNjcmVlbkVsZW1lbnQoKSA9PSBtX25vZGUpCisgICAgICAgIHJl
dHVybjsKKyNlbmRpZgorCisjaWYgRU5BQkxFKFNWRykKKyAgICAvLyBBbGxvdyBvbmx5IHN2ZyBy
b290IGVsZW1lbnRzIHRvIGJlIGRpcmVjdGx5IGNvbGxlY3RlZCBieSBhIHJlbmRlciBmbG93IHRo
cmVhZC4KKyAgICBpZiAobV9ub2RlLT5pc1NWR0VsZW1lbnQoKQorICAgICAgICAmJiAoIShtX25v
ZGUtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnN2Z1RhZykgJiYgbV9ub2RlLT5wYXJlbnROb2RlKCkg
JiYgIW1fbm9kZS0+cGFyZW50Tm9kZSgpLT5pc1NWR0VsZW1lbnQoKSkpKQorICAgICAgICByZXR1
cm47CisjZW5kaWYKIAotICAgIGlmICghbV9zdHlsZSkKLSAgICAgICAgbV9zdHlsZSA9IHRvRWxl
bWVudChtX25vZGUpLT5zdHlsZUZvclJlbmRlcmVyKCk7Ci0gICAgQVNTRVJUKG1fc3R5bGUpOwog
ICAgIG1fZmxvd1RocmVhZCA9IG1fc3R5bGUtPmZsb3dUaHJlYWQoKTsKICAgICBBU1NFUlQobV9u
b2RlLT5kb2N1bWVudCgpLT5yZW5kZXJWaWV3KCkpOwogICAgIEZsb3dUaHJlYWRDb250cm9sbGVy
KiBmbG93VGhyZWFkQ29udHJvbGxlciA9IG1fbm9kZS0+ZG9jdW1lbnQoKS0+cmVuZGVyVmlldygp
LT5mbG93VGhyZWFkQ29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L05vZGVSZW5kZXJpbmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZVJlbmRlcmlu
Z0NvbnRleHQuaAppbmRleCBjMTQ2YjExLi5jMDc5Nzc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vTm9kZVJlbmRlcmluZ0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
Tm9kZVJlbmRlcmluZ0NvbnRleHQuaApAQCAtNTUsNyArNTUsNyBAQCBwdWJsaWM6CiAgICAgTm9k
ZSogbm9kZSgpIGNvbnN0OwogICAgIENvbnRhaW5lck5vZGUqIHBhcmVudE5vZGVGb3JSZW5kZXJp
bmdBbmRTdHlsZSgpIGNvbnN0OwogICAgIGJvb2wgcmVzZXRTdHlsZUluaGVyaXRhbmNlKCkgY29u
c3Q7Ci0gICAgUmVuZGVyT2JqZWN0KiBwYXJlbnRSZW5kZXJlcigpOyAvLyB0aGUgcmVuZGVyZXIg
dGhhdCB3aWxsIGJlIHRoZSBwYXJlbnQgZm9yIHRoaXMgbm9kZSdzIHJlbmRlcmVyLiBJbiB0aGUg
Y2FzZSBvZiBSZW5kZXJGbG93VGhyZWFkcywgaXQgbWF5IG5lZWQgdG8gY3JlYXRlIGl0LgorICAg
IFJlbmRlck9iamVjdCogcGFyZW50UmVuZGVyZXIoKSBjb25zdDsKICAgICBSZW5kZXJPYmplY3Qq
IG5leHRSZW5kZXJlcigpIGNvbnN0OwogICAgIFJlbmRlck9iamVjdCogcHJldmlvdXNSZW5kZXJl
cigpIGNvbnN0OwogICAgIEluc2VydGlvblBvaW50KiBpbnNlcnRpb25Qb2ludCgpIGNvbnN0OwpA
QCAtNjYsOCArNjYsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc09uRW5jYXBzdWxhdGlvbkJvdW5k
YXJ5KCkgY29uc3Q7CiAKIHByaXZhdGU6Ci0gICAgYm9vbCBzaG91bGRDcmVhdGVSZW5kZXJlcigp
OwotICAgIHZvaWQgbW92ZVRvRmxvd1RocmVhZCgpOworICAgIGJvb2wgc2hvdWxkQ3JlYXRlUmVu
ZGVyZXIoKSBjb25zdDsKICAgICB2b2lkIG1vdmVUb0Zsb3dUaHJlYWRJZk5lZWRlZCgpOwogCiAg
ICAgTm9kZSogbV9ub2RlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1BzZXVkb0Vs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Qc2V1ZG9FbGVtZW50LmgKaW5kZXggZjA3MjUx
Yi4uMTJhMmEyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1BzZXVkb0VsZW1lbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUHNldWRvRWxlbWVudC5oCkBAIC00NiwxNCArNDYs
NiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGF0dGFjaCgpIE9WRVJSSURFOwogICAgIHZp
cnR1YWwgYm9vbCByZW5kZXJlcklzTmVlZGVkKGNvbnN0IE5vZGVSZW5kZXJpbmdDb250ZXh0Jikg
T1ZFUlJJREU7CiAKLSAgICAvLyBBcyBwZXIgaHR0cDovL2Rldi53My5vcmcvY3Nzd2cvY3NzMy1y
ZWdpb25zLyNmbG93LWludG8sIHBzZXVkby1lbGVtZW50cyBzdWNoIGFzIDo6Zmlyc3QtbGluZSwg
OjpmaXJzdC1sZXR0ZXIsIDo6YmVmb3JlIG9yIDo6YWZ0ZXIKLSAgICAvLyBjYW5ub3QgYmUgZGly
ZWN0bHkgY29sbGVjdGVkIGludG8gYSBuYW1lZCBmbG93LgotICAgIHZpcnR1YWwgYm9vbCBtb3Zl
VG9GbG93VGhyZWFkSXNOZWVkZWQoUmVmUHRyPFJlbmRlclN0eWxlPiYgY2FjaGVkU3R5bGUpIE9W
RVJSSURFCi0gICAgewotICAgICAgICBVTlVTRURfUEFSQU0oY2FjaGVkU3R5bGUpOwotICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgfQotCiAgICAgdmlydHVhbCBib29sIGNhblN0YXJ0U2VsZWN0
aW9uKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wg
Y2FuQ29udGFpblJhbmdlRW5kUG9pbnQoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBmYWxzZTsg
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVGV4dC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vVGV4dC5jcHAKaW5kZXggMjgzYjhkNS4uZGJmMzVhNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL1RleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UZXh0LmNw
cApAQCAtMTk3LDcgKzE5Nyw3IEBAIFBhc3NSZWZQdHI8Tm9kZT4gVGV4dDo6Y2xvbmVOb2RlKGJv
b2wgLypkZWVwKi8pCiAgICAgcmV0dXJuIGNyZWF0ZShkb2N1bWVudCgpLCBkYXRhKCkpOwogfQog
Ci1ib29sIFRleHQ6OnRleHRSZW5kZXJlcklzTmVlZGVkKE5vZGVSZW5kZXJpbmdDb250ZXh0JiBj
b250ZXh0KQorYm9vbCBUZXh0Ojp0ZXh0UmVuZGVyZXJJc05lZWRlZChjb25zdCBOb2RlUmVuZGVy
aW5nQ29udGV4dCYgY29udGV4dCkKIHsKICAgICBpZiAoaXNFZGl0aW5nVGV4dCgpKQogICAgICAg
ICByZXR1cm4gdHJ1ZTsKQEAgLTMwMiwxMiArMzAyLDcgQEAgdm9pZCBUZXh0Ojp1cGRhdGVUZXh0
UmVuZGVyZXIodW5zaWduZWQgb2Zmc2V0T2ZSZXBsYWNlZERhdGEsIHVuc2lnbmVkIGxlbmd0aE9m
UmUKICAgICBpZiAoIWF0dGFjaGVkKCkpCiAgICAgICAgIHJldHVybjsKICAgICBSZW5kZXJUZXh0
KiB0ZXh0UmVuZGVyZXIgPSB0b1JlbmRlclRleHQocmVuZGVyZXIoKSk7Ci0gICAgaWYgKCF0ZXh0
UmVuZGVyZXIpIHsKLSAgICAgICAgcmVhdHRhY2goKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0K
LSAgICBOb2RlUmVuZGVyaW5nQ29udGV4dCByZW5kZXJpbmdDb250ZXh0KHRoaXMsIHRleHRSZW5k
ZXJlci0+c3R5bGUoKSk7Ci0gICAgaWYgKCF0ZXh0UmVuZGVyZXJJc05lZWRlZChyZW5kZXJpbmdD
b250ZXh0KSkgeworICAgIGlmICghdGV4dFJlbmRlcmVyIHx8ICF0ZXh0UmVuZGVyZXJJc05lZWRl
ZChOb2RlUmVuZGVyaW5nQ29udGV4dCh0aGlzLCB0ZXh0UmVuZGVyZXItPnN0eWxlKCkpKSkgewog
ICAgICAgICByZWF0dGFjaCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL1RleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UZXh0LmgKaW5k
ZXggOTcxNTNkMy4uNjdhYjE2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1RleHQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVGV4dC5oCkBAIC00Niw3ICs0Niw3IEBAIHB1Ymxp
YzoKICAgICAKICAgICB2b2lkIHJlY2FsY1RleHRTdHlsZShTdHlsZUNoYW5nZSk7CiAgICAgdm9p
ZCBjcmVhdGVUZXh0UmVuZGVyZXJJZk5lZWRlZCgpOwotICAgIGJvb2wgdGV4dFJlbmRlcmVySXNO
ZWVkZWQoTm9kZVJlbmRlcmluZ0NvbnRleHQmKTsKKyAgICBib29sIHRleHRSZW5kZXJlcklzTmVl
ZGVkKGNvbnN0IE5vZGVSZW5kZXJpbmdDb250ZXh0Jik7CiAgICAgUmVuZGVyVGV4dCogY3JlYXRl
VGV4dFJlbmRlcmVyKFJlbmRlckFyZW5hKiwgUmVuZGVyU3R5bGUqKTsKICAgICB2b2lkIHVwZGF0
ZVRleHRSZW5kZXJlcih1bnNpZ25lZCBvZmZzZXRPZlJlcGxhY2VkRGF0YSwgdW5zaWduZWQgbGVu
Z3RoT2ZSZXBsYWNlZERhdGEpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvRmxvd1RocmVhZENvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0Zs
b3dUaHJlYWRDb250cm9sbGVyLmNwcAppbmRleCBkZjE0YzMzLi42MmJiMzVlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRmxvd1RocmVhZENvbnRyb2xsZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9GbG93VGhyZWFkQ29udHJvbGxlci5jcHAKQEAgLTIy
NywxMSArMjI3LDYgQEAgdm9pZCBGbG93VGhyZWFkQ29udHJvbGxlcjo6dXBkYXRlRmxvd1RocmVh
ZHNJbnRvQ29uc3RyYWluZWRQaGFzZSgpCiAgICAgfQogfQogCi1ib29sIEZsb3dUaHJlYWRDb250
cm9sbGVyOjppc0NvbnRlbnROb2RlUmVnaXN0ZXJlZFdpdGhBbnlOYW1lZEZsb3coTm9kZSogY29u
dGVudE5vZGUpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fbWFwTmFtZWRGbG93Q29udGVudE5vZGVz
LmNvbnRhaW5zKGNvbnRlbnROb2RlKTsKLX0KLQogI2lmbmRlZiBOREVCVUcKIGJvb2wgRmxvd1Ro
cmVhZENvbnRyb2xsZXI6OmlzQXV0b0xvZ2ljYWxIZWlnaHRSZWdpb25zQ291bnRDb25zaXN0ZW50
KCkgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9GbG93VGhy
ZWFkQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0Zsb3dUaHJlYWRDb250
cm9sbGVyLmgKaW5kZXggNDU1MzRkNS4uY2Y1NTEwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL0Zsb3dUaHJlYWRDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL0Zsb3dUaHJlYWRDb250cm9sbGVyLmgKQEAgLTY2LDcgKzY2LDYgQEAgcHVibGlj
OgogCiAgICAgdm9pZCByZWdpc3Rlck5hbWVkRmxvd0NvbnRlbnROb2RlKE5vZGUqLCBSZW5kZXJO
YW1lZEZsb3dUaHJlYWQqKTsKICAgICB2b2lkIHVucmVnaXN0ZXJOYW1lZEZsb3dDb250ZW50Tm9k
ZShOb2RlKik7Ci0gICAgYm9vbCBpc0NvbnRlbnROb2RlUmVnaXN0ZXJlZFdpdGhBbnlOYW1lZEZs
b3coTm9kZSopIGNvbnN0OwogCiAgICAgYm9vbCBoYXNGbG93VGhyZWFkc1dpdGhBdXRvTG9naWNh
bEhlaWdodFJlZ2lvbnMoKSBjb25zdCB7IHJldHVybiBtX2Zsb3dUaHJlYWRzV2l0aEF1dG9Mb2dp
Y2FsSGVpZ2h0UmVnaW9uczsgfQogICAgIHZvaWQgaW5jcmVtZW50Rmxvd1RocmVhZHNXaXRoQXV0
b0xvZ2ljYWxIZWlnaHRSZWdpb25zKCkgeyArK21fZmxvd1RocmVhZHNXaXRoQXV0b0xvZ2ljYWxI
ZWlnaHRSZWdpb25zOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKaW5k
ZXggOTZhMzhiNS4uYjVhN2RhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmpl
Y3QuaApAQCAtMjU3LDcgKzI1Nyw2IEBAIHB1YmxpYzoKICAgICAvLyBSZW5kZXJPYmplY3QgdHJl
ZSBtYW5pcHVsYXRpb24KICAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8KICAgICB2aXJ0dWFsIGJvb2wgY2FuSGF2ZUNoaWxkcmVuKCkgY29uc3QgeyByZXR1cm4g
dmlydHVhbENoaWxkcmVuKCk7IH0KLSAgICB2aXJ0dWFsIGJvb2wgY2FuRE9NQ2hpbGRyZW5IYXZl
UmVuZGVyUGFyZW50KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0gLy8gRXZlbiBpZiB0aGlzIHJl
bmRlciBvYmplY3QgY2FuJ3QgaGF2ZSByZW5kZXIgY2hpbGRyZW4sIHRoZSBjaGlsZHJlbiBpbiB0
aGUgRE9NIHRyZWUgbWF5IGhhdmUgYSByZW5kZXIgcGFyZW50ICh0aGF0IGlzIGRpZmZlcmVudCBm
cm9tIHRoaXMgb2JqZWN0KS4KICAgICB2aXJ0dWFsIGJvb2wgY2FuSGF2ZUdlbmVyYXRlZENoaWxk
cmVuKCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIGlzQ2hpbGRBbGxvd2VkKFJlbmRlck9iamVj
dCosIFJlbmRlclN0eWxlKikgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgdm9p
ZCBhZGRDaGlsZChSZW5kZXJPYmplY3QqIG5ld0NoaWxkLCBSZW5kZXJPYmplY3QqIGJlZm9yZUNo
aWxkID0gMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVn
aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVnaW9uLmgKaW5kZXggMWQ2
ZjY1Mi4uZTAzZDIyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clJlZ2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZWdpb24uaApA
QCAtMTQ1LDcgKzE0NSw2IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBjb25zdCBjaGFyKiByZW5k
ZXJOYW1lKCkgY29uc3QgeyByZXR1cm4gIlJlbmRlclJlZ2lvbiI7IH0KIAogICAgIHZpcnR1YWwg
Ym9vbCBjYW5IYXZlQ2hpbGRyZW4oKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBmYWxzZTsgfQot
ICAgIHZpcnR1YWwgYm9vbCBjYW5ET01DaGlsZHJlbkhhdmVSZW5kZXJQYXJlbnQoKSBjb25zdCBP
VkVSUklERSB7IHJldHVybiB0cnVlOyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgaW5zZXJ0ZWRJbnRv
VHJlZSgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCB3aWxsQmVSZW1vdmVkRnJvbVRyZWUo
KSBPVkVSUklERTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcAppbmRleCA1MDgxMWJiLi5lYWY4
YmM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCkBAIC00NTIsMTIgKzQ1Miw2IEBAIHN0
YXRpYyBib29sIGhhc0xvYWRMaXN0ZW5lcihFbGVtZW50KiBlbGVtZW50KQogICAgIHJldHVybiBm
YWxzZTsKIH0KIAotYm9vbCBTVkdFbGVtZW50Ojptb3ZlVG9GbG93VGhyZWFkSXNOZWVkZWQoUmVm
UHRyPFJlbmRlclN0eWxlPiYgY2FjaGVkU3R5bGUpCi17Ci0gICAgLy8gQWxsb3cgb25seSBzdmcg
cm9vdCBlbGVtZW50cyB0byBiZSBkaXJlY3RseSBjb2xsZWN0ZWQgYnkgYSByZW5kZXIgZmxvdyB0
aHJlYWQuCi0gICAgcmV0dXJuIHBhcmVudE5vZGUoKSAmJiAhcGFyZW50Tm9kZSgpLT5pc1NWR0Vs
ZW1lbnQoKSAmJiBoYXNUYWdOYW1lKFNWR05hbWVzOjpzdmdUYWcpICYmIEVsZW1lbnQ6Om1vdmVU
b0Zsb3dUaHJlYWRJc05lZWRlZChjYWNoZWRTdHlsZSk7Ci19Ci0KIHZvaWQgU1ZHRWxlbWVudDo6
c2VuZFNWR0xvYWRFdmVudElmUG9zc2libGUoYm9vbCBzZW5kUGFyZW50TG9hZEV2ZW50cykKIHsK
ICAgICBSZWZQdHI8U1ZHRWxlbWVudD4gY3VycmVudFRhcmdldCA9IHRoaXM7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0VsZW1lbnQuaAppbmRleCBiY2U0NmVhLi5kYjc0YzI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50
LmgKQEAgLTEyMCw4ICsxMjAsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGFkZEV2ZW50
TGlzdGVuZXIoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIFBhc3NSZWZQdHI8RXZlbnRM
aXN0ZW5lcj4sIGJvb2wgdXNlQ2FwdHVyZSkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29sIHJl
bW92ZUV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIEV2ZW50TGlz
dGVuZXIqLCBib29sIHVzZUNhcHR1cmUpIE9WRVJSSURFOwogCi0gICAgdmlydHVhbCBib29sIG1v
dmVUb0Zsb3dUaHJlYWRJc05lZWRlZChSZWZQdHI8UmVuZGVyU3R5bGU+JiBjYWNoZWRTdHlsZSkg
T1ZFUlJJREU7Ci0KIHByb3RlY3RlZDoKICAgICBTVkdFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5h
bWUmLCBEb2N1bWVudCosIENvbnN0cnVjdGlvblR5cGUgPSBDcmVhdGVTVkdFbGVtZW50KTsKIAo=
</data>
<flag name="review"
          id="219066"
          type_id="1"
          status="+"
          setter="menard"
    />
    <flag name="commit-queue"
          id="219067"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>196994</attachid>
            <date>2013-04-08 21:58:38 -0700</date>
            <delta_ts>2013-04-08 22:29:07 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch114176rollout74144.diff</filename>
            <type>text/plain</type>
            <size>23231</size>
            <attacher name="Mihai Maerean">mmaerean</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBmNDM1OWNkLi42ZDMxYWRjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTMtMDQt
MDggIE1paGFpIE1hZXJlYW4gIDxtbWFlcmVhbkBhZG9iZS5jb20+CisKKyAgICAgICAgUm9sbG91
dCByMTQ3NzU2OiBwZXJmb3JtYW5jZSByZWdyZXNzaW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTQxNzYKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvcmVnaW9ucy9mbG93LWJvZHktaW4taHRt
bC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9yZWdpb25zL2Zsb3ctYm9k
eS1pbi1odG1sLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9yZWdpb25zL3JlZ2lvbi1j
b250ZW50LWZsb3duLWludG8tcmVnaW9uLWV4cGVjdGVkLmh0bWw6IFJlbW92ZWQuCisgICAgICAg
ICogZmFzdC9yZWdpb25zL3JlZ2lvbi1jb250ZW50LWZsb3duLWludG8tcmVnaW9uLmh0bWw6IFJl
bW92ZWQuCisgICAgICAgICogZmFzdC9yZWdpb25zL3VuaXZlcnNhbC1zZWxlY3Rvci1jaGlsZHJl
bi10by10aGUtc2FtZS1yZWdpb24tZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZh
c3QvcmVnaW9ucy91bml2ZXJzYWwtc2VsZWN0b3ItY2hpbGRyZW4tdG8tdGhlLXNhbWUtcmVnaW9u
Lmh0bWw6IFJlbW92ZWQuCisKIDIwMTMtMDQtMDggIEJlbmphbWluIFBvdWxhaW4gIDxiZW5qYW1p
bkB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlbW92ZSBIVE1MIE5vdGlmaWNhdGlvbgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL2Zsb3ctYm9keS1pbi1odG1sLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9mbG93LWJvZHktaW4taHRtbC1leHBlY3Rl
ZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFlNTBmYmQuLjAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL2Zsb3ctYm9keS1pbi1odG1sLWV4cGVjdGVkLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xLDIgKzAsMCBAQAotUEFTUzogdGhlIGJvZHkgdGFnIGhhcyBm
bG93LWludG8gd2hpbGUgdGhlIGh0bWwgaGFzIGZsb3ctZnJvbS4KLUJ1ZyA3NDE0NCAtIFtDU1Mg
UmVnaW9uc10gRWxlbWVudHMgaW4gYSByZWdpb24gc2hvdWxkIGJlIGFzc2lnbmFibGUgdG8gYSBu
YW1lZCBmbG93CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvZmxvdy1ib2R5
LWluLWh0bWwuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9mbG93LWJvZHktaW4taHRt
bC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NzU4NGQ5Li4wMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9mbG93LWJvZHktaW4taHRtbC5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotPGh0bWw+Ci0gIDxoZWFkPgotICAgIDx0aXRsZT4x
MDM2ODUgLSBbQ1NTIFJlZ2lvbnNdIFVuaXZlcnNhbCBjaGlsZCBzZWxlY3RvciBvbiByZWdpb24g
YnJlYWtzIHRoZSByZW5kZXJpbmcgb2YgaXRzIGNvbnRlbnQ8L3RpdGxlPgotICAgIDxzdHlsZSB0
eXBlPSJ0ZXh0L2NzcyI+Ci0gICAgICBib2R5IHsKLSAgICAgIC13ZWJraXQtZmxvdy1pbnRvOiBm
b287Ci0gICAgICB9Ci0gICAgICBodG1sIHsKLSAgICAgICAtd2Via2l0LWZsb3ctZnJvbTogZm9v
OwotICAgICAgfQotICAgIDwvc3R5bGU+Ci0gICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiPgotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKQotICAgIDwvc2NyaXB0PgotICA8L2hlYWQ+Ci0gIDxib2R5PgotICAg
ICAgUEFTUzogdGhlIGJvZHkgdGFnIGhhcyBmbG93LWludG8gd2hpbGUgdGhlIGh0bWwgaGFzIGZs
b3ctZnJvbS4KLQotICAgICAgPHA+PGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTc0MTQ0Ij5CdWcgNzQxNDQ8L2E+IC0gW0NTUyBSZWdpb25zXSBFbGVtZW50
cyBpbiBhIHJlZ2lvbiBzaG91bGQgYmUgYXNzaWduYWJsZSB0byBhIG5hbWVkIGZsb3c8L3A+Ci0g
IDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVnaW9uLWNvbnRlbnQtZmxvd24taW50by1yZWdp
b24tZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZWdpb24tY29udGVu
dC1mbG93bi1pbnRvLXJlZ2lvbi1leHBlY3RlZC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAzY2E2YWE2Li4wMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9y
ZWdpb24tY29udGVudC1mbG93bi1pbnRvLXJlZ2lvbi1leHBlY3RlZC5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsMjMgKzAsMCBAQAotPGh0bWw+Ci0gICAgPGhlYWQ+Ci0gICAgICAgIDxzdHlsZSB0
eXBlPSJ0ZXh0L2NzcyI+Ci0gICAgICAgICAgICBkaXYgewotICAgICAgICAgICAgICAgIHBhZGRp
bmc6IDFweDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIC5yZWdpb24gewotICAgICAgICAg
ICAgICAgIGJvcmRlcjpzb2xpZCAxcHggI2JiYjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgPC9z
dHlsZT4KLSAgICA8L2hlYWQ+Ci0gICAgPGJvZHk+Ci0gICAgICAgIDxkaXYgY2xhc3M9InJlZ2lv
biI+PHRlbXBsYXRlPlBBU1MgcjA6IGNvbnRlbnQgdGhhdCBnb2VzIGluIHRoZSByZWdpb24uPC90
ZW1wbGF0ZT48L2Rpdj4KLSAgICAgICAgPGRpdiBjbGFzcz0icmVnaW9uIj4KLSAgICAgICAgICAg
IDxkaXY+UEFTUyByMTogY29udGVudCBpbiB0aGUgcmVnaW9uIHRoYXQgaGFzIGZsb3ctaW50by4g
MS48L2Rpdj4KLSAgICAgICAgICAgIDxkaXY+UEFTUyByMTogKGVuY2xvc2VkIGluIGEgZGl2KSBj
b250ZW50IGluIHRoZSByZWdpb24gdGhhdCBoYXMgZmxvdy1pbnRvLiAyLiA8Yj5QQVNTIHIxOiAo
ZW5jbG9zZWQgaW4gYSBkaXYpIGNvbnRlbnQgaW4gdGhlIHJlZ2lvbiB0aGF0IGhhcyBmbG93LWlu
dG8uIDMuPC9iPi48L2Rpdj4KLSAgICAgICAgICAgIDxkaXY+UEFTUyByMTogKGVuY2xvc2VkIGlu
IGEgZGl2KSBjb250ZW50IGluIHRoZSByZWdpb24gdGhhdCBoYXMgZmxvdy1pbnRvLiA0IC48L2Rp
dj4KLSAgICAgICAgICAgIDxkaXY+UEFTUyByMTogY29udGVudCBpbiB0aGUgcmVnaW9uIHRoYXQg
aGFzIGZsb3ctaW50by4gNS48L2Rpdj4KLSAgICAgICAgPC9kaXY+Ci0gICAgICAgIDxkaXYgY2xh
c3M9InJlZ2lvbiI+PHNwYW4+UEFTUyByMjogY29udGVudCB0aGF0IGlzIGFscmVhZHkgaW4gYSBm
bG93IGdvZXMgdG8gYW5vdGhlciBmbG93IC48L3NwYW4+PC9kaXY+Ci0gICAgICAgIDxwPjxhIGhy
ZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDE0NCI+QnVnIDc0
MTQ0PC9hPiAtIFtDU1MgUmVnaW9uc10gRWxlbWVudHMgaW4gYSByZWdpb24gc2hvdWxkIGJlIGFz
c2lnbmFibGUgdG8gYSBuYW1lZCBmbG93PC9wPgotICAgIDwvYm9keT4KLTwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lv
bnMvcmVnaW9uLWNvbnRlbnQtZmxvd24taW50by1yZWdpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvcmVnaW9ucy9yZWdpb24tY29udGVudC1mbG93bi1pbnRvLXJlZ2lvbi5odG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YTM3ZDhkLi4wMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvcmVnaW9ucy9yZWdpb24tY29udGVudC1mbG93bi1pbnRvLXJlZ2lvbi5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsOTIgKzAsMCBAQAotPGh0bWw+Ci0gICAgPGhlYWQ+Ci0gICAgICAgIDx0
aXRsZT43NDE0NCAtIFtDU1MgUmVnaW9uc10gRWxlbWVudHMgaW4gYSByZWdpb24gc2hvdWxkIGJl
IGFzc2lnbmFibGUgdG8gYSBuYW1lZCBmbG93PC90aXRsZT4KLSAgICAgICAgPHN0eWxlIHR5cGU9
InRleHQvY3NzIj4KLSAgICAgICAgICAgIGRpdiB7Ci0gICAgICAgICAgICAgICAgcGFkZGluZzog
MXB4OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgLmNvbnRlbnQgewotICAgICAgICAgICAg
ICAgIC13ZWJraXQtZmxvdy1pbnRvOiBmbG93OwotICAgICAgICAgICAgfQotICAgICAgICAgICAg
LnJlZ2lvbiB7Ci0gICAgICAgICAgICAgICAgLXdlYmtpdC1mbG93LWZyb206IGZsb3c7Ci0gICAg
ICAgICAgICAgICAgYm9yZGVyOnNvbGlkIDFweCAjYmJiOwotICAgICAgICAgICAgfQotCi0gICAg
ICAgICAgICAucmVkaXJlY3RDb250ZW50IHsKLSAgICAgICAgICAgICAgICAtd2Via2l0LWZsb3ct
aW50bzogcmVkaXJlY3RGbG93OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgLnJlZGlyZWN0
UmVnaW9uIHsKLSAgICAgICAgICAgICAgICAtd2Via2l0LWZsb3ctZnJvbTogcmVkaXJlY3RGbG93
OwotICAgICAgICAgICAgICAgIGJvcmRlcjpzb2xpZCAxcHggI2JiYjsKLSAgICAgICAgICAgIH0K
LQotICAgICAgICAgICAgLnJlZGlyZWN0Q29udGVudDIgewotICAgICAgICAgICAgICAgIC13ZWJr
aXQtZmxvdy1pbnRvOiByZWRpcmVjdEZsb3cyOwotICAgICAgICAgICAgfQotICAgICAgICAgICAg
LnJlZGlyZWN0UmVnaW9uMiB7Ci0gICAgICAgICAgICAgICAgLXdlYmtpdC1mbG93LWZyb206IHJl
ZGlyZWN0RmxvdzI7Ci0gICAgICAgICAgICAgICAgYm9yZGVyOnNvbGlkIDFweCAjYmJiOwotICAg
ICAgICAgICAgfQotCi0gICAgICAgICAgICAucmVkaXJlY3RDb250ZW50VG9Ob3doZXJlIHsKLSAg
ICAgICAgICAgICAgICAtd2Via2l0LWZsb3ctaW50bzogcmVkaXJlY3RUb05vd2hlcmU7Ci0gICAg
ICAgICAgICB9Ci0gICAgICAgIDwvc3R5bGU+Ci0gICAgICAgIDx0ZW1wbGF0ZSBjbGFzcz0iY29u
dGVudCI+UEFTUyByMDogY29udGVudCB0aGF0IGdvZXMgaW4gdGhlIHJlZ2lvbi48L3RlbXBsYXRl
PgotICAgIDwvaGVhZD4KLQotICAgIDxib2R5PgotICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpb24i
PgotICAgICAgICAgICAgRkFJTDogdGhpcyBzaG91bGQgbm90IGJlIHZpc2libGUgMS4KLQotICAg
ICAgICAgICAgPHNwYW4gY2xhc3M9InJlZGlyZWN0Q29udGVudFRvTm93aGVyZSI+RkFJTDogdGhp
cyBzaG91bGQgbm90IGJlIHZpc2libGUgKHJlZGlyZWN0ZWQgdG8gbm93aGVyZSkgMS48L3NwYW4+
Ci0KLSAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlZGlyZWN0Q29udGVudCI+UEFTUyByMTogY29u
dGVudCBpbiB0aGUgcmVnaW9uIHRoYXQgaGFzIGZsb3ctaW50by4gMS48L2Rpdj4KLQotICAgICAg
ICAgICAgRkFJTDogdGhpcyBzaG91bGQgbm90IGJlIHZpc2libGUgMi4KLQotICAgICAgICAgICAg
PGRpdj4KLSAgICAgICAgICAgICAgICBGQUlMOiB0aGlzIHNob3VsZCBub3QgYmUgdmlzaWJsZSAz
LgotCi0gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVkaXJlY3RDb250ZW50Ij5QQVNTIHIx
OiAoZW5jbG9zZWQgaW4gYSBkaXYpIGNvbnRlbnQgaW4gdGhlIHJlZ2lvbiB0aGF0IGhhcyBmbG93
LWludG8uIDIuCi0gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlZGlyZWN0Q29udGVu
dFRvTm93aGVyZSI+RkFJTDogdGhpcyBzaG91bGQgbm90IGJlIHZpc2libGUgKHJlZGlyZWN0ZWQg
dG8gbm93aGVyZSkgMi48L2Rpdj4KLSAgICAgICAgICAgICAgICAgICAgPGI+UEFTUyByMTogKGVu
Y2xvc2VkIGluIGEgZGl2KSBjb250ZW50IGluIHRoZSByZWdpb24gdGhhdCBoYXMgZmxvdy1pbnRv
LiAzLjwvYj4uCi0gICAgICAgICAgICAgICAgPC9kaXY+Ci0KLSAgICAgICAgICAgICAgICBGQUlM
OiB0aGlzIHNob3VsZCBub3QgYmUgdmlzaWJsZSA0LgotICAgICAgICAgICAgPC9kaXY+Ci0KLSAg
ICAgICAgICAgIDxkaXY+Ci0gICAgICAgICAgICAgICAgRkFJTDogdGhpcyBzaG91bGQgbm90IGJl
IHZpc2libGUgNS4KLQotICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlZGlyZWN0Q29udGVu
dCI+UEFTUyByMTogKGVuY2xvc2VkIGluIGEgZGl2KSBjb250ZW50IGluIHRoZSByZWdpb24gdGhh
dCBoYXMgZmxvdy1pbnRvLiA0Ci0gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJyZWRp
cmVjdENvbnRlbnQyIj5QQVNTIHIyOiBjb250ZW50IHRoYXQgaXMgYWxyZWFkeSBpbiBhIGZsb3cg
Z29lcyB0byBhbm90aGVyIGZsb3cKLSAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJyZWRpcmVjdENvbnRlbnRUb05vd2hlcmUiPkZBSUw6IHRoaXMgc2hvdWxkIG5vdCBiZSB2aXNp
YmxlIChyZWRpcmVjdGVkIHRvIG5vd2hlcmUpIDMuPC9zcGFuPi4KLSAgICAgICAgICAgICAgICAg
ICAgPC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAuCi0gICAgICAgICAgICAgICAgPC9kaXY+
Ci0KLSAgICAgICAgICAgICAgICBGQUlMOiB0aGlzIHNob3VsZCBub3QgYmUgdmlzaWJsZSA3Lgot
ICAgICAgICAgICAgPC9kaXY+Ci0KLSAgICAgICAgICAgIEZBSUw6IHRoaXMgc2hvdWxkIG5vdCBi
ZSB2aXNpYmxlIDguCi0KLSAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJyZWRpcmVjdENvbnRlbnRU
b05vd2hlcmUiPkZBSUw6IHRoaXMgc2hvdWxkIG5vdCBiZSB2aXNpYmxlIChyZWRpcmVjdGVkIHRv
IG5vd2hlcmUpIDQuPC9zcGFuPgotCi0gICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWRpcmVjdENv
bnRlbnQiPlBBU1MgcjE6IGNvbnRlbnQgaW4gdGhlIHJlZ2lvbiB0aGF0IGhhcyBmbG93LWludG8u
IDUuPC9kaXY+Ci0KLSAgICAgICAgICAgIEZBSUw6IHRoaXMgc2hvdWxkIG5vdCBiZSB2aXNpYmxl
IDkuCi0gICAgICAgIDwvZGl2PgotCi0gICAgICAgIDxkaXYgY2xhc3M9InJlZGlyZWN0UmVnaW9u
Ij4KLSAgICAgICAgICAgIEZBSUw6IHRoaXMgc2hvdWxkIG5vdCBiZSB2aXNpYmxlIDEwLgotICAg
ICAgICA8L2Rpdj4KLQotICAgICAgICA8ZGl2IGNsYXNzPSJyZWRpcmVjdFJlZ2lvbjIiPgotICAg
ICAgICAgICAgRkFJTDogdGhpcyBzaG91bGQgbm90IGJlIHZpc2libGUgMTEuCi0gICAgICAgIDwv
ZGl2PgotCi0gICAgICAgIDxwPjxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03NDE0NCI+QnVnIDc0MTQ0PC9hPiAtIFtDU1MgUmVnaW9uc10gRWxlbWVudHMg
aW4gYSByZWdpb24gc2hvdWxkIGJlIGFzc2lnbmFibGUgdG8gYSBuYW1lZCBmbG93PC9wPgotICAg
IDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvdW5pdmVyc2FsLXNlbGVjdG9yLWNoaWxkcmVuLXRv
LXRoZS1zYW1lLXJlZ2lvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMv
dW5pdmVyc2FsLXNlbGVjdG9yLWNoaWxkcmVuLXRvLXRoZS1zYW1lLXJlZ2lvbi1leHBlY3RlZC50
eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMyODEyNDkuLjAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3VuaXZlcnNhbC1zZWxlY3Rvci1jaGlsZHJlbi10by10
aGUtc2FtZS1yZWdpb24tZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBA
Ci1QQVNTOiB0aGlzIGlzIGlubGluZQotUEFTUzogYW5kIGJsb2NrIGNvbnRlbnQgaW5zaWRlIGEg
cmVnaW9uIHRoYXQgaXMgZmxvd2VkIGludG8gdGhlIHNhbWUgcmVnaW9uCi0KLVBBU1M6IGJ1dHRv
bgotQnVnIDc0MTQ0IC0gW0NTUyBSZWdpb25zXSBFbGVtZW50cyBpbiBhIHJlZ2lvbiBzaG91bGQg
YmUgYXNzaWduYWJsZSB0byBhIG5hbWVkIGZsb3cKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvcmVnaW9ucy91bml2ZXJzYWwtc2VsZWN0b3ItY2hpbGRyZW4tdG8tdGhlLXNhbWUtcmVnaW9u
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvdW5pdmVyc2FsLXNlbGVjdG9yLWNoaWxk
cmVuLXRvLXRoZS1zYW1lLXJlZ2lvbi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBmOGMxNjFmLi4wMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy91bml2ZXJz
YWwtc2VsZWN0b3ItY2hpbGRyZW4tdG8tdGhlLXNhbWUtcmVnaW9uLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSwyMSArMCwwIEBACi08aHRtbD4KLSAgPGhlYWQ+Ci0gICAgPHRpdGxlPjEwMzY4NSAt
IFtDU1MgUmVnaW9uc10gVW5pdmVyc2FsIGNoaWxkIHNlbGVjdG9yIG9uIHJlZ2lvbiBicmVha3Mg
dGhlIHJlbmRlcmluZyBvZiBpdHMgY29udGVudDwvdGl0bGU+Ci0gICAgPHN0eWxlIHR5cGU9InRl
eHQvY3NzIj4KLSAgICAgIC5yZWdpb24gPiAqIHsKLSAgICAgIC13ZWJraXQtZmxvdy1pbnRvOiBm
b287Ci0gICAgICB9Ci0gICAgICAucmVnaW9uIHsKLSAgICAgICAtd2Via2l0LWZsb3ctZnJvbTog
Zm9vOwotICAgICAgfQotICAgIDwvc3R5bGU+Ci0gICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiPgotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0
UnVubmVyLmR1bXBBc1RleHQoKQotICAgIDwvc2NyaXB0PgotICA8L2hlYWQ+Ci0gIDxib2R5Pgot
ICAgICAgPGRpdiBjbGFzcz0icmVnaW9uIj48c3Bhbj5QQVNTOiB0aGlzIGlzIGlubGluZTwvc3Bh
bj48ZGl2PjxwPlBBU1M6IGFuZCBibG9jayBjb250ZW50IGluc2lkZSBhIHJlZ2lvbiB0aGF0IGlz
IGZsb3dlZCBpbnRvIHRoZSBzYW1lIHJlZ2lvbjwvcD48L2Rpdj48YnV0dG9uPlBBU1M6IGJ1dHRv
bjwvYnV0dG9uPjwvZGl2PgotICAgICAgPHA+PGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTc0MTQ0Ij5CdWcgNzQxNDQ8L2E+IC0gW0NTUyBSZWdpb25zXSBF
bGVtZW50cyBpbiBhIHJlZ2lvbiBzaG91bGQgYmUgYXNzaWduYWJsZSB0byBhIG5hbWVkIGZsb3c8
L3A+Ci0gIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKaW5kZXggODcyYzA1NC4uOTdkNDRhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisy
MDEzLTA0LTA4ICBNaWhhaSBNYWVyZWFuICA8bW1hZXJlYW5AYWRvYmUuY29tPgorCisgICAgICAg
IFJvbGxvdXQgcjE0Nzc1NjogcGVyZm9ybWFuY2UgcmVncmVzc2lvbgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE0MTc2CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUm9sbGluZyBvdXQgdGhlIHBhdGNoIGZv
ciBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxNDQgIltDU1MgUmVn
aW9uc10gRWxlbWVudHMgaW4gYSByZWdpb24KKyAgICAgICAgc2hvdWxkIGJlIGFzc2lnbmFibGUg
dG8gYSBuYW1lZCBmbG93IiBiZWNhdXNlIG9mIHRoZSBwZXJmb3JtYW5jZSByZWdyZXNzaW9uIGlu
IFBhcnNlci9odG1sNS1mdWxsLXJlbmRlci5odG1sIC4KKworICAgICAgICBObyBuZXcgdGVzdHMg
KGJlY2F1c2UgdGhpcyBpcyBhIHJvbGxvdXQgcGF0Y2gpLgorCisgICAgICAgICogZG9tL0VsZW1l
bnQuY3BwOgorICAgICAgICAqIGRvbS9FbGVtZW50Lmg6CisgICAgICAgICogZG9tL05vZGVSZW5k
ZXJpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGVSZW5kZXJpbmdDb250ZXh0
OjpwYXJlbnRSZW5kZXJlcik6CisgICAgICAgIChXZWJDb3JlOjpOb2RlUmVuZGVyaW5nQ29udGV4
dDo6c2hvdWxkQ3JlYXRlUmVuZGVyZXIpOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZVJlbmRlcmlu
Z0NvbnRleHQ6Om1vdmVUb0Zsb3dUaHJlYWRJZk5lZWRlZCk6CisgICAgICAgICogZG9tL05vZGVS
ZW5kZXJpbmdDb250ZXh0Lmg6CisgICAgICAgICogZG9tL1BzZXVkb0VsZW1lbnQuaDoKKyAgICAg
ICAgKiBkb20vVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0Ojp0ZXh0UmVuZGVyZXJJ
c05lZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0Ojp1cGRhdGVUZXh0UmVuZGVyZXIpOgor
ICAgICAgICAqIGRvbS9UZXh0Lmg6CisgICAgICAgICogcmVuZGVyaW5nL0Zsb3dUaHJlYWRDb250
cm9sbGVyLmNwcDoKKyAgICAgICAgKiByZW5kZXJpbmcvRmxvd1RocmVhZENvbnRyb2xsZXIuaDoK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0Lmg6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlclJlZ2lvbi5oOgorICAgICAgICAqIHN2Zy9TVkdFbGVtZW50LmNwcDoKKyAgICAgICAg
KiBzdmcvU1ZHRWxlbWVudC5oOgorICAgICAgICAKIDIwMTMtMDQtMDggIEJlbmphbWluIFBvdWxh
aW4gIDxiZW5qYW1pbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlbW92ZSBIVE1MIE5vdGlmaWNh
dGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IDgxOGVmMjkuLmI4OTU0MDIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRWxlbWVudC5jcHAKQEAgLTI1NTgsMzIgKzI1NTgsNiBAQCBSZW5kZXJSZWdpb24qIEVsZW1l
bnQ6OnJlbmRlclJlZ2lvbigpIGNvbnN0CiAgICAgcmV0dXJuIDA7CiB9CiAKLWJvb2wgRWxlbWVu
dDo6bW92ZVRvRmxvd1RocmVhZElzTmVlZGVkKFJlZlB0cjxSZW5kZXJTdHlsZT4mIGNhY2hlZFN0
eWxlKQotewotICAgIERvY3VtZW50KiBkb2MgPSBkb2N1bWVudCgpOwotICAgIAotICAgIGlmICgh
ZG9jLT5jc3NSZWdpb25zRW5hYmxlZCgpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSNpZiBF
TkFCTEUoRlVMTFNDUkVFTl9BUEkpCi0gICAgaWYgKGRvYy0+d2Via2l0SXNGdWxsU2NyZWVuKCkg
JiYgZG9jLT53ZWJraXRDdXJyZW50RnVsbFNjcmVlbkVsZW1lbnQoKSA9PSB0aGlzKQotICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0jZW5kaWYKLQotICAgIGlmIChpc0luU2hhZG93VHJlZSgpKQotICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBpZiAoIWNhY2hlZFN0eWxlKQotICAgICAgICBjYWNo
ZWRTdHlsZSA9IHN0eWxlRm9yUmVuZGVyZXIoKTsKLSAgICBpZiAoIWNhY2hlZFN0eWxlKQotICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBpZiAoY2FjaGVkU3R5bGUtPmZsb3dUaHJlYWQoKS5p
c0VtcHR5KCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHJldHVybiAhZG9jdW1lbnQo
KS0+cmVuZGVyVmlldygpLT5mbG93VGhyZWFkQ29udHJvbGxlcigpLT5pc0NvbnRlbnROb2RlUmVn
aXN0ZXJlZFdpdGhBbnlOYW1lZEZsb3codGhpcyk7Ci19Ci0KICNpZiBFTkFCTEUoQ1NTX1JFR0lP
TlMpCiAKIGNvbnN0IEF0b21pY1N0cmluZyYgRWxlbWVudDo6d2Via2l0UmVnaW9uT3ZlcnNldCgp
IGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oIGIvU291cmNl
L1dlYkNvcmUvZG9tL0VsZW1lbnQuaAppbmRleCBkMGM4ZmVjLi41MTRmNTgwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9F
bGVtZW50LmgKQEAgLTYwOSw3ICs2MDksNiBAQCBwdWJsaWM6CiAgICAgUGFzc1JlZlB0cjxSZW5k
ZXJTdHlsZT4gc3R5bGVGb3JSZW5kZXJlcigpOwogCiAgICAgUmVuZGVyUmVnaW9uKiByZW5kZXJS
ZWdpb24oKSBjb25zdDsKLSAgICB2aXJ0dWFsIGJvb2wgbW92ZVRvRmxvd1RocmVhZElzTmVlZGVk
KFJlZlB0cjxSZW5kZXJTdHlsZT4mIGNhY2hlZFN0eWxlKTsKICNpZiBFTkFCTEUoQ1NTX1JFR0lP
TlMpCiAgICAgY29uc3QgQXRvbWljU3RyaW5nJiB3ZWJraXRSZWdpb25PdmVyc2V0KCkgY29uc3Q7
CiAgICAgVmVjdG9yPFJlZlB0cjxSYW5nZT4gPiB3ZWJraXRHZXRSZWdpb25GbG93UmFuZ2VzKCkg
Y29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZVJlbmRlcmluZ0NvbnRl
eHQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGVSZW5kZXJpbmdDb250ZXh0LmNwcAppbmRl
eCBmZDYxYjRlLi5lODRjNWU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZVJl
bmRlcmluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmVuZGVyaW5n
Q29udGV4dC5jcHAKQEAgLTE0OCw3ICsxNDgsNyBAQCBSZW5kZXJPYmplY3QqIE5vZGVSZW5kZXJp
bmdDb250ZXh0OjpwcmV2aW91c1JlbmRlcmVyKCkgY29uc3QKICAgICByZXR1cm4gMDsKIH0KIAot
UmVuZGVyT2JqZWN0KiBOb2RlUmVuZGVyaW5nQ29udGV4dDo6cGFyZW50UmVuZGVyZXIoKQorUmVu
ZGVyT2JqZWN0KiBOb2RlUmVuZGVyaW5nQ29udGV4dDo6cGFyZW50UmVuZGVyZXIoKSBjb25zdAog
ewogICAgIGlmIChSZW5kZXJPYmplY3QqIHJlbmRlcmVyID0gbV9ub2RlLT5yZW5kZXJlcigpKQog
ICAgICAgICByZXR1cm4gcmVuZGVyZXItPnBhcmVudCgpOwpAQCAtMTcwLDE1ICsxNzAsMTAgQEAg
UmVuZGVyT2JqZWN0KiBOb2RlUmVuZGVyaW5nQ29udGV4dDo6cGFyZW50UmVuZGVyZXIoKQogICAg
IGlmIChtX3BhcmVudEZsb3dSZW5kZXJlcikKICAgICAgICAgcmV0dXJuIG1fcGFyZW50Rmxvd1Jl
bmRlcmVyOwogCi0gICAgaWYgKG1fbm9kZS0+aXNFbGVtZW50Tm9kZSgpICYmIHRvRWxlbWVudCht
X25vZGUpLT5tb3ZlVG9GbG93VGhyZWFkSXNOZWVkZWQobV9zdHlsZSkpIHsKLSAgICAgICAgbW92
ZVRvRmxvd1RocmVhZCgpOwotICAgICAgICByZXR1cm4gbV9wYXJlbnRGbG93UmVuZGVyZXI7Ci0g
ICAgfQotCiAgICAgcmV0dXJuIG1fcmVuZGVyaW5nUGFyZW50ID8gbV9yZW5kZXJpbmdQYXJlbnQt
PnJlbmRlcmVyKCkgOiAwOwogfQogCi1ib29sIE5vZGVSZW5kZXJpbmdDb250ZXh0OjpzaG91bGRD
cmVhdGVSZW5kZXJlcigpCitib29sIE5vZGVSZW5kZXJpbmdDb250ZXh0OjpzaG91bGRDcmVhdGVS
ZW5kZXJlcigpIGNvbnN0CiB7CiAgICAgaWYgKCFtX25vZGUtPmRvY3VtZW50KCktPnNob3VsZENy
ZWF0ZVJlbmRlcmVycygpKQogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0xODcsMTYgKzE4Miw4
IEBAIGJvb2wgTm9kZVJlbmRlcmluZ0NvbnRleHQ6OnNob3VsZENyZWF0ZVJlbmRlcmVyKCkKICAg
ICBSZW5kZXJPYmplY3QqIHBhcmVudFJlbmRlcmVyID0gdGhpcy0+cGFyZW50UmVuZGVyZXIoKTsK
ICAgICBpZiAoIXBhcmVudFJlbmRlcmVyKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYg
KCFwYXJlbnRSZW5kZXJlci0+Y2FuSGF2ZUNoaWxkcmVuKCkpIHsKLSAgICAgICAgaWYgKHBhcmVu
dFJlbmRlcmVyLT5jYW5ET01DaGlsZHJlbkhhdmVSZW5kZXJQYXJlbnQoKSkgewotICAgICAgICAg
ICAgLy8gSW4gYSByZWdpb24sIG9ubHkgdGhlIGNoaWxkcmVuIHRoYXQgbmVlZCB0byBiZSBpbiBh
IGZsb3cgdGhyZWFkIHNob3VsZCBoYXZlIGEgcmVuZGVyZXIuCi0gICAgICAgICAgICBib29sIHNo
b3VsZEJlSW5OYW1lZEZsb3cgPSBtX25vZGUtPmlzRWxlbWVudE5vZGUoKSAmJiB0b0VsZW1lbnQo
bV9ub2RlKS0+bW92ZVRvRmxvd1RocmVhZElzTmVlZGVkKG1fc3R5bGUpOwotICAgICAgICAgICAg
aWYgKCFzaG91bGRCZUluTmFtZWRGbG93KQotICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
LSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotCisgICAg
aWYgKCFwYXJlbnRSZW5kZXJlci0+Y2FuSGF2ZUNoaWxkcmVuKCkpCisgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICBpZiAoIW1fcmVuZGVyaW5nUGFyZW50LT5jaGlsZFNob3VsZENyZWF0ZVJlbmRl
cmVyKCp0aGlzKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIHJldHVybiB0cnVlOwpAQCAt
MjA1LDIxICsxOTIsMzUgQEAgYm9vbCBOb2RlUmVuZGVyaW5nQ29udGV4dDo6c2hvdWxkQ3JlYXRl
UmVuZGVyZXIoKQogdm9pZCBOb2RlUmVuZGVyaW5nQ29udGV4dDo6bW92ZVRvRmxvd1RocmVhZElm
TmVlZGVkKCkKIHsKICAgICBBU1NFUlQobV9ub2RlLT5pc0VsZW1lbnROb2RlKCkpOworICAgIEFT
U0VSVChtX3N0eWxlKTsKKyAgICBpZiAoIW1fbm9kZS0+ZG9jdW1lbnQoKS0+Y3NzUmVnaW9uc0Vu
YWJsZWQoKSkKKyAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKCF0b0VsZW1lbnQobV9ub2RlKS0+
bW92ZVRvRmxvd1RocmVhZElzTmVlZGVkKG1fc3R5bGUpKQorICAgIGlmIChtX3N0eWxlLT5mbG93
VGhyZWFkKCkuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtb3ZlVG9GbG93VGhy
ZWFkKCk7Ci19CisgICAgLy8gQXMgcGVyIGh0dHA6Ly9kZXYudzMub3JnL2Nzc3dnL2NzczMtcmVn
aW9ucy8jZmxvdy1pbnRvLCBwc2V1ZG8tZWxlbWVudHMgc3VjaCBhcyA6OmZpcnN0LWxpbmUsIDo6
Zmlyc3QtbGV0dGVyLCA6OmJlZm9yZSBvciA6OmFmdGVyCisgICAgLy8gY2Fubm90IGJlIGRpcmVj
dGx5IGNvbGxlY3RlZCBpbnRvIGEgbmFtZWQgZmxvdy4KKyAgICBpZiAobV9ub2RlLT5pc1BzZXVk
b0VsZW1lbnQoKSkKKyAgICAgICAgcmV0dXJuOwogCi12b2lkIE5vZGVSZW5kZXJpbmdDb250ZXh0
Ojptb3ZlVG9GbG93VGhyZWFkKCkKLXsKLSAgICBBU1NFUlQobV9ub2RlLT5pc0VsZW1lbnROb2Rl
KCkpOwotICAgIEFTU0VSVCh0b0VsZW1lbnQobV9ub2RlKS0+bW92ZVRvRmxvd1RocmVhZElzTmVl
ZGVkKG1fc3R5bGUpKTsKKyAgICAvLyBGSVhNRTogRG8gbm90IGNvbGxlY3QgZWxlbWVudHMgaWYg
dGhleSBhcmUgaW4gc2hhZG93IHRyZWUuCisgICAgaWYgKG1fbm9kZS0+aXNJblNoYWRvd1RyZWUo
KSkKKyAgICAgICAgcmV0dXJuOworCisjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQorICAgIERv
Y3VtZW50KiBkb2N1bWVudCA9IG1fbm9kZS0+ZG9jdW1lbnQoKTsKKyAgICBpZiAoZG9jdW1lbnQt
PndlYmtpdElzRnVsbFNjcmVlbigpICYmIGRvY3VtZW50LT53ZWJraXRDdXJyZW50RnVsbFNjcmVl
bkVsZW1lbnQoKSA9PSBtX25vZGUpCisgICAgICAgIHJldHVybjsKKyNlbmRpZgorCisjaWYgRU5B
QkxFKFNWRykKKyAgICAvLyBBbGxvdyBvbmx5IHN2ZyByb290IGVsZW1lbnRzIHRvIGJlIGRpcmVj
dGx5IGNvbGxlY3RlZCBieSBhIHJlbmRlciBmbG93IHRocmVhZC4KKyAgICBpZiAobV9ub2RlLT5p
c1NWR0VsZW1lbnQoKQorICAgICAgICAmJiAoIShtX25vZGUtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6
OnN2Z1RhZykgJiYgbV9ub2RlLT5wYXJlbnROb2RlKCkgJiYgIW1fbm9kZS0+cGFyZW50Tm9kZSgp
LT5pc1NWR0VsZW1lbnQoKSkpKQorICAgICAgICByZXR1cm47CisjZW5kaWYKIAotICAgIGlmICgh
bV9zdHlsZSkKLSAgICAgICAgbV9zdHlsZSA9IHRvRWxlbWVudChtX25vZGUpLT5zdHlsZUZvclJl
bmRlcmVyKCk7Ci0gICAgQVNTRVJUKG1fc3R5bGUpOwogICAgIG1fZmxvd1RocmVhZCA9IG1fc3R5
bGUtPmZsb3dUaHJlYWQoKTsKICAgICBBU1NFUlQobV9ub2RlLT5kb2N1bWVudCgpLT5yZW5kZXJW
aWV3KCkpOwogICAgIEZsb3dUaHJlYWRDb250cm9sbGVyKiBmbG93VGhyZWFkQ29udHJvbGxlciA9
IG1fbm9kZS0+ZG9jdW1lbnQoKS0+cmVuZGVyVmlldygpLT5mbG93VGhyZWFkQ29udHJvbGxlcigp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGVSZW5kZXJpbmdDb250ZXh0Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZVJlbmRlcmluZ0NvbnRleHQuaAppbmRleCBjMTQ2YjEx
Li5jMDc5Nzc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZVJlbmRlcmluZ0Nv
bnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZVJlbmRlcmluZ0NvbnRleHQuaApA
QCAtNTUsNyArNTUsNyBAQCBwdWJsaWM6CiAgICAgTm9kZSogbm9kZSgpIGNvbnN0OwogICAgIENv
bnRhaW5lck5vZGUqIHBhcmVudE5vZGVGb3JSZW5kZXJpbmdBbmRTdHlsZSgpIGNvbnN0OwogICAg
IGJvb2wgcmVzZXRTdHlsZUluaGVyaXRhbmNlKCkgY29uc3Q7Ci0gICAgUmVuZGVyT2JqZWN0KiBw
YXJlbnRSZW5kZXJlcigpOyAvLyB0aGUgcmVuZGVyZXIgdGhhdCB3aWxsIGJlIHRoZSBwYXJlbnQg
Zm9yIHRoaXMgbm9kZSdzIHJlbmRlcmVyLiBJbiB0aGUgY2FzZSBvZiBSZW5kZXJGbG93VGhyZWFk
cywgaXQgbWF5IG5lZWQgdG8gY3JlYXRlIGl0LgorICAgIFJlbmRlck9iamVjdCogcGFyZW50UmVu
ZGVyZXIoKSBjb25zdDsKICAgICBSZW5kZXJPYmplY3QqIG5leHRSZW5kZXJlcigpIGNvbnN0Owog
ICAgIFJlbmRlck9iamVjdCogcHJldmlvdXNSZW5kZXJlcigpIGNvbnN0OwogICAgIEluc2VydGlv
blBvaW50KiBpbnNlcnRpb25Qb2ludCgpIGNvbnN0OwpAQCAtNjYsOCArNjYsNyBAQCBwdWJsaWM6
CiAgICAgYm9vbCBpc09uRW5jYXBzdWxhdGlvbkJvdW5kYXJ5KCkgY29uc3Q7CiAKIHByaXZhdGU6
Ci0gICAgYm9vbCBzaG91bGRDcmVhdGVSZW5kZXJlcigpOwotICAgIHZvaWQgbW92ZVRvRmxvd1Ro
cmVhZCgpOworICAgIGJvb2wgc2hvdWxkQ3JlYXRlUmVuZGVyZXIoKSBjb25zdDsKICAgICB2b2lk
IG1vdmVUb0Zsb3dUaHJlYWRJZk5lZWRlZCgpOwogCiAgICAgTm9kZSogbV9ub2RlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1BzZXVkb0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Qc2V1ZG9FbGVtZW50LmgKaW5kZXggZjA3MjUxYi4uMTJhMmEyMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL1BzZXVkb0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vUHNldWRvRWxlbWVudC5oCkBAIC00NiwxNCArNDYsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCB2b2lkIGF0dGFjaCgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCByZW5kZXJlcklzTmVl
ZGVkKGNvbnN0IE5vZGVSZW5kZXJpbmdDb250ZXh0JikgT1ZFUlJJREU7CiAKLSAgICAvLyBBcyBw
ZXIgaHR0cDovL2Rldi53My5vcmcvY3Nzd2cvY3NzMy1yZWdpb25zLyNmbG93LWludG8sIHBzZXVk
by1lbGVtZW50cyBzdWNoIGFzIDo6Zmlyc3QtbGluZSwgOjpmaXJzdC1sZXR0ZXIsIDo6YmVmb3Jl
IG9yIDo6YWZ0ZXIKLSAgICAvLyBjYW5ub3QgYmUgZGlyZWN0bHkgY29sbGVjdGVkIGludG8gYSBu
YW1lZCBmbG93LgotICAgIHZpcnR1YWwgYm9vbCBtb3ZlVG9GbG93VGhyZWFkSXNOZWVkZWQoUmVm
UHRyPFJlbmRlclN0eWxlPiYgY2FjaGVkU3R5bGUpIE9WRVJSSURFCi0gICAgewotICAgICAgICBV
TlVTRURfUEFSQU0oY2FjaGVkU3R5bGUpOwotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQot
CiAgICAgdmlydHVhbCBib29sIGNhblN0YXJ0U2VsZWN0aW9uKCkgY29uc3QgT1ZFUlJJREUgeyBy
ZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgY2FuQ29udGFpblJhbmdlRW5kUG9pbnQo
KSBjb25zdCBPVkVSUklERSB7IHJldHVybiBmYWxzZTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVGV4dC5jcHAKaW5kZXgg
MjgzYjhkNS4uZGJmMzVhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1RleHQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UZXh0LmNwcApAQCAtMTk3LDcgKzE5Nyw3IEBAIFBh
c3NSZWZQdHI8Tm9kZT4gVGV4dDo6Y2xvbmVOb2RlKGJvb2wgLypkZWVwKi8pCiAgICAgcmV0dXJu
IGNyZWF0ZShkb2N1bWVudCgpLCBkYXRhKCkpOwogfQogCi1ib29sIFRleHQ6OnRleHRSZW5kZXJl
cklzTmVlZGVkKE5vZGVSZW5kZXJpbmdDb250ZXh0JiBjb250ZXh0KQorYm9vbCBUZXh0Ojp0ZXh0
UmVuZGVyZXJJc05lZWRlZChjb25zdCBOb2RlUmVuZGVyaW5nQ29udGV4dCYgY29udGV4dCkKIHsK
ICAgICBpZiAoaXNFZGl0aW5nVGV4dCgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKQEAgLTMwMiwx
MiArMzAyLDcgQEAgdm9pZCBUZXh0Ojp1cGRhdGVUZXh0UmVuZGVyZXIodW5zaWduZWQgb2Zmc2V0
T2ZSZXBsYWNlZERhdGEsIHVuc2lnbmVkIGxlbmd0aE9mUmUKICAgICBpZiAoIWF0dGFjaGVkKCkp
CiAgICAgICAgIHJldHVybjsKICAgICBSZW5kZXJUZXh0KiB0ZXh0UmVuZGVyZXIgPSB0b1JlbmRl
clRleHQocmVuZGVyZXIoKSk7Ci0gICAgaWYgKCF0ZXh0UmVuZGVyZXIpIHsKLSAgICAgICAgcmVh
dHRhY2goKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICBOb2RlUmVuZGVyaW5nQ29udGV4
dCByZW5kZXJpbmdDb250ZXh0KHRoaXMsIHRleHRSZW5kZXJlci0+c3R5bGUoKSk7Ci0gICAgaWYg
KCF0ZXh0UmVuZGVyZXJJc05lZWRlZChyZW5kZXJpbmdDb250ZXh0KSkgeworICAgIGlmICghdGV4
dFJlbmRlcmVyIHx8ICF0ZXh0UmVuZGVyZXJJc05lZWRlZChOb2RlUmVuZGVyaW5nQ29udGV4dCh0
aGlzLCB0ZXh0UmVuZGVyZXItPnN0eWxlKCkpKSkgewogICAgICAgICByZWF0dGFjaCgpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1RleHQu
aCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UZXh0LmgKaW5kZXggOTcxNTNkMy4uNjdhYjE2OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1RleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vVGV4dC5oCkBAIC00Niw3ICs0Niw3IEBAIHB1YmxpYzoKICAgICAKICAgICB2b2lkIHJlY2Fs
Y1RleHRTdHlsZShTdHlsZUNoYW5nZSk7CiAgICAgdm9pZCBjcmVhdGVUZXh0UmVuZGVyZXJJZk5l
ZWRlZCgpOwotICAgIGJvb2wgdGV4dFJlbmRlcmVySXNOZWVkZWQoTm9kZVJlbmRlcmluZ0NvbnRl
eHQmKTsKKyAgICBib29sIHRleHRSZW5kZXJlcklzTmVlZGVkKGNvbnN0IE5vZGVSZW5kZXJpbmdD
b250ZXh0Jik7CiAgICAgUmVuZGVyVGV4dCogY3JlYXRlVGV4dFJlbmRlcmVyKFJlbmRlckFyZW5h
KiwgUmVuZGVyU3R5bGUqKTsKICAgICB2b2lkIHVwZGF0ZVRleHRSZW5kZXJlcih1bnNpZ25lZCBv
ZmZzZXRPZlJlcGxhY2VkRGF0YSwgdW5zaWduZWQgbGVuZ3RoT2ZSZXBsYWNlZERhdGEpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRmxvd1RocmVhZENvbnRyb2xsZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0Zsb3dUaHJlYWRDb250cm9sbGVyLmNwcApp
bmRleCBkZjE0YzMzLi42MmJiMzVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvRmxvd1RocmVhZENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9GbG93VGhyZWFkQ29udHJvbGxlci5jcHAKQEAgLTIyNywxMSArMjI3LDYgQEAgdm9pZCBGbG93
VGhyZWFkQ29udHJvbGxlcjo6dXBkYXRlRmxvd1RocmVhZHNJbnRvQ29uc3RyYWluZWRQaGFzZSgp
CiAgICAgfQogfQogCi1ib29sIEZsb3dUaHJlYWRDb250cm9sbGVyOjppc0NvbnRlbnROb2RlUmVn
aXN0ZXJlZFdpdGhBbnlOYW1lZEZsb3coTm9kZSogY29udGVudE5vZGUpIGNvbnN0Ci17Ci0gICAg
cmV0dXJuIG1fbWFwTmFtZWRGbG93Q29udGVudE5vZGVzLmNvbnRhaW5zKGNvbnRlbnROb2RlKTsK
LX0KLQogI2lmbmRlZiBOREVCVUcKIGJvb2wgRmxvd1RocmVhZENvbnRyb2xsZXI6OmlzQXV0b0xv
Z2ljYWxIZWlnaHRSZWdpb25zQ291bnRDb25zaXN0ZW50KCkgY29uc3QKIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9GbG93VGhyZWFkQ29udHJvbGxlci5oIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0Zsb3dUaHJlYWRDb250cm9sbGVyLmgKaW5kZXggNDU1MzRkNS4u
Y2Y1NTEwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0Zsb3dUaHJlYWRD
b250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0Zsb3dUaHJlYWRDb250
cm9sbGVyLmgKQEAgLTY2LDcgKzY2LDYgQEAgcHVibGljOgogCiAgICAgdm9pZCByZWdpc3Rlck5h
bWVkRmxvd0NvbnRlbnROb2RlKE5vZGUqLCBSZW5kZXJOYW1lZEZsb3dUaHJlYWQqKTsKICAgICB2
b2lkIHVucmVnaXN0ZXJOYW1lZEZsb3dDb250ZW50Tm9kZShOb2RlKik7Ci0gICAgYm9vbCBpc0Nv
bnRlbnROb2RlUmVnaXN0ZXJlZFdpdGhBbnlOYW1lZEZsb3coTm9kZSopIGNvbnN0OwogCiAgICAg
Ym9vbCBoYXNGbG93VGhyZWFkc1dpdGhBdXRvTG9naWNhbEhlaWdodFJlZ2lvbnMoKSBjb25zdCB7
IHJldHVybiBtX2Zsb3dUaHJlYWRzV2l0aEF1dG9Mb2dpY2FsSGVpZ2h0UmVnaW9uczsgfQogICAg
IHZvaWQgaW5jcmVtZW50Rmxvd1RocmVhZHNXaXRoQXV0b0xvZ2ljYWxIZWlnaHRSZWdpb25zKCkg
eyArK21fZmxvd1RocmVhZHNXaXRoQXV0b0xvZ2ljYWxIZWlnaHRSZWdpb25zOyB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKaW5kZXggYzViNTYxOC4uYjBhNGZlNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaApAQCAtMjUxLDcgKzI1MSw2IEBA
IHB1YmxpYzoKICAgICAvLyBSZW5kZXJPYmplY3QgdHJlZSBtYW5pcHVsYXRpb24KICAgICAvLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KICAgICB2aXJ0dWFsIGJvb2wg
Y2FuSGF2ZUNoaWxkcmVuKCkgY29uc3QgeyByZXR1cm4gdmlydHVhbENoaWxkcmVuKCk7IH0KLSAg
ICB2aXJ0dWFsIGJvb2wgY2FuRE9NQ2hpbGRyZW5IYXZlUmVuZGVyUGFyZW50KCkgY29uc3QgeyBy
ZXR1cm4gZmFsc2U7IH0gLy8gRXZlbiBpZiB0aGlzIHJlbmRlciBvYmplY3QgY2FuJ3QgaGF2ZSBy
ZW5kZXIgY2hpbGRyZW4sIHRoZSBjaGlsZHJlbiBpbiB0aGUgRE9NIHRyZWUgbWF5IGhhdmUgYSBy
ZW5kZXIgcGFyZW50ICh0aGF0IGlzIGRpZmZlcmVudCBmcm9tIHRoaXMgb2JqZWN0KS4KICAgICB2
aXJ0dWFsIGJvb2wgY2FuSGF2ZUdlbmVyYXRlZENoaWxkcmVuKCkgY29uc3Q7CiAgICAgdmlydHVh
bCBib29sIGlzQ2hpbGRBbGxvd2VkKFJlbmRlck9iamVjdCosIFJlbmRlclN0eWxlKikgY29uc3Qg
eyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgdm9pZCBhZGRDaGlsZChSZW5kZXJPYmplY3Qq
IG5ld0NoaWxkLCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkID0gMCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVnaW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyUmVnaW9uLmgKaW5kZXggMWQ2ZjY1Mi4uZTAzZDIyMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlZ2lvbi5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZWdpb24uaApAQCAtMTQ1LDcgKzE0NSw2IEBAIHByaXZh
dGU6CiAgICAgdmlydHVhbCBjb25zdCBjaGFyKiByZW5kZXJOYW1lKCkgY29uc3QgeyByZXR1cm4g
IlJlbmRlclJlZ2lvbiI7IH0KIAogICAgIHZpcnR1YWwgYm9vbCBjYW5IYXZlQ2hpbGRyZW4oKSBj
b25zdCBPVkVSUklERSB7IHJldHVybiBmYWxzZTsgfQotICAgIHZpcnR1YWwgYm9vbCBjYW5ET01D
aGlsZHJlbkhhdmVSZW5kZXJQYXJlbnQoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiB0cnVlOyB9
CiAKICAgICB2aXJ0dWFsIHZvaWQgaW5zZXJ0ZWRJbnRvVHJlZSgpIE9WRVJSSURFOwogICAgIHZp
cnR1YWwgdm9pZCB3aWxsQmVSZW1vdmVkRnJvbVRyZWUoKSBPVkVSUklERTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdFbGVtZW50LmNwcAppbmRleCA1MDgxMWJiLi5lYWY4YmM5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Vs
ZW1lbnQuY3BwCkBAIC00NTIsMTIgKzQ1Miw2IEBAIHN0YXRpYyBib29sIGhhc0xvYWRMaXN0ZW5l
cihFbGVtZW50KiBlbGVtZW50KQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotYm9vbCBTVkdFbGVt
ZW50Ojptb3ZlVG9GbG93VGhyZWFkSXNOZWVkZWQoUmVmUHRyPFJlbmRlclN0eWxlPiYgY2FjaGVk
U3R5bGUpCi17Ci0gICAgLy8gQWxsb3cgb25seSBzdmcgcm9vdCBlbGVtZW50cyB0byBiZSBkaXJl
Y3RseSBjb2xsZWN0ZWQgYnkgYSByZW5kZXIgZmxvdyB0aHJlYWQuCi0gICAgcmV0dXJuIHBhcmVu
dE5vZGUoKSAmJiAhcGFyZW50Tm9kZSgpLT5pc1NWR0VsZW1lbnQoKSAmJiBoYXNUYWdOYW1lKFNW
R05hbWVzOjpzdmdUYWcpICYmIEVsZW1lbnQ6Om1vdmVUb0Zsb3dUaHJlYWRJc05lZWRlZChjYWNo
ZWRTdHlsZSk7Ci19Ci0KIHZvaWQgU1ZHRWxlbWVudDo6c2VuZFNWR0xvYWRFdmVudElmUG9zc2li
bGUoYm9vbCBzZW5kUGFyZW50TG9hZEV2ZW50cykKIHsKICAgICBSZWZQdHI8U1ZHRWxlbWVudD4g
Y3VycmVudFRhcmdldCA9IHRoaXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuaAppbmRleCBiY2U0NmVh
Li5kYjc0YzI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmgKQEAgLTEyMCw4ICsxMjAsNiBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCBib29sIGFkZEV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbWljU3Ry
aW5nJiBldmVudFR5cGUsIFBhc3NSZWZQdHI8RXZlbnRMaXN0ZW5lcj4sIGJvb2wgdXNlQ2FwdHVy
ZSkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29sIHJlbW92ZUV2ZW50TGlzdGVuZXIoY29uc3Qg
QXRvbWljU3RyaW5nJiBldmVudFR5cGUsIEV2ZW50TGlzdGVuZXIqLCBib29sIHVzZUNhcHR1cmUp
IE9WRVJSSURFOwogCi0gICAgdmlydHVhbCBib29sIG1vdmVUb0Zsb3dUaHJlYWRJc05lZWRlZChS
ZWZQdHI8UmVuZGVyU3R5bGU+JiBjYWNoZWRTdHlsZSkgT1ZFUlJJREU7Ci0KIHByb3RlY3RlZDoK
ICAgICBTVkdFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCosIENvbnN0cnVj
dGlvblR5cGUgPSBDcmVhdGVTVkdFbGVtZW50KTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>196998</attachid>
            <date>2013-04-08 22:29:07 -0700</date>
            <delta_ts>2013-04-08 23:14:43 -0700</delta_ts>
            <desc>patch for landing.</desc>
            <filename>patch114176rollout74144.diff</filename>
            <type>text/plain</type>
            <size>23229</size>
            <attacher name="Mihai Maerean">mmaerean</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBmNDM1OWNkLi5jNjRhNTE2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTMtMDQt
MDggIE1paGFpIE1hZXJlYW4gIDxtbWFlcmVhbkBhZG9iZS5jb20+CisKKyAgICAgICAgUm9sbG91
dCByMTQ3NzU2OiBwZXJmb3JtYW5jZSByZWdyZXNzaW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTQxNzYKKworICAgICAgICBSZXZpZXdlZCBieSBB
bGV4aXMgTWVuYXJkLgorCisgICAgICAgICogZmFzdC9yZWdpb25zL2Zsb3ctYm9keS1pbi1odG1s
LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L3JlZ2lvbnMvZmxvdy1ib2R5
LWluLWh0bWwuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L3JlZ2lvbnMvcmVnaW9uLWNv
bnRlbnQtZmxvd24taW50by1yZWdpb24tZXhwZWN0ZWQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAg
KiBmYXN0L3JlZ2lvbnMvcmVnaW9uLWNvbnRlbnQtZmxvd24taW50by1yZWdpb24uaHRtbDogUmVt
b3ZlZC4KKyAgICAgICAgKiBmYXN0L3JlZ2lvbnMvdW5pdmVyc2FsLXNlbGVjdG9yLWNoaWxkcmVu
LXRvLXRoZS1zYW1lLXJlZ2lvbi1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFz
dC9yZWdpb25zL3VuaXZlcnNhbC1zZWxlY3Rvci1jaGlsZHJlbi10by10aGUtc2FtZS1yZWdpb24u
aHRtbDogUmVtb3ZlZC4KKwogMjAxMy0wNC0wOCAgQmVuamFtaW4gUG91bGFpbiAgPGJlbmphbWlu
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVtb3ZlIEhUTUwgTm90aWZpY2F0aW9uCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvZmxvdy1ib2R5LWluLWh0bWwtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL2Zsb3ctYm9keS1pbi1odG1sLWV4cGVjdGVk
LnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWU1MGZiZC4uMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvZmxvdy1ib2R5LWluLWh0bWwtZXhwZWN0ZWQudHh0
CisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1QQVNTOiB0aGUgYm9keSB0YWcgaGFzIGZs
b3ctaW50byB3aGlsZSB0aGUgaHRtbCBoYXMgZmxvdy1mcm9tLgotQnVnIDc0MTQ0IC0gW0NTUyBS
ZWdpb25zXSBFbGVtZW50cyBpbiBhIHJlZ2lvbiBzaG91bGQgYmUgYXNzaWduYWJsZSB0byBhIG5h
bWVkIGZsb3cKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9mbG93LWJvZHkt
aW4taHRtbC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL2Zsb3ctYm9keS1pbi1odG1s
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ3NTg0ZDkuLjAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL2Zsb3ctYm9keS1pbi1odG1sLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSwyMiArMCwwIEBACi08aHRtbD4KLSAgPGhlYWQ+Ci0gICAgPHRpdGxlPjEw
MzY4NSAtIFtDU1MgUmVnaW9uc10gVW5pdmVyc2FsIGNoaWxkIHNlbGVjdG9yIG9uIHJlZ2lvbiBi
cmVha3MgdGhlIHJlbmRlcmluZyBvZiBpdHMgY29udGVudDwvdGl0bGU+Ci0gICAgPHN0eWxlIHR5
cGU9InRleHQvY3NzIj4KLSAgICAgIGJvZHkgewotICAgICAgLXdlYmtpdC1mbG93LWludG86IGZv
bzsKLSAgICAgIH0KLSAgICAgIGh0bWwgewotICAgICAgIC13ZWJraXQtZmxvdy1mcm9tOiBmb287
Ci0gICAgICB9Ci0gICAgPC9zdHlsZT4KLSAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCI+Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpCi0gICAgPC9zY3JpcHQ+Ci0gIDwvaGVhZD4KLSAgPGJvZHk+Ci0gICAg
ICBQQVNTOiB0aGUgYm9keSB0YWcgaGFzIGZsb3ctaW50byB3aGlsZSB0aGUgaHRtbCBoYXMgZmxv
dy1mcm9tLgotCi0gICAgICA8cD48YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NzQxNDQiPkJ1ZyA3NDE0NDwvYT4gLSBbQ1NTIFJlZ2lvbnNdIEVsZW1lbnRz
IGluIGEgcmVnaW9uIHNob3VsZCBiZSBhc3NpZ25hYmxlIHRvIGEgbmFtZWQgZmxvdzwvcD4KLSAg
PC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZWdpb24tY29udGVudC1mbG93bi1pbnRvLXJlZ2lv
bi1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3JlZ2lvbi1jb250ZW50
LWZsb3duLWludG8tcmVnaW9uLWV4cGVjdGVkLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDNjYTZhYTYuLjAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3Jl
Z2lvbi1jb250ZW50LWZsb3duLWludG8tcmVnaW9uLWV4cGVjdGVkLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSwyMyArMCwwIEBACi08aHRtbD4KLSAgICA8aGVhZD4KLSAgICAgICAgPHN0eWxlIHR5
cGU9InRleHQvY3NzIj4KLSAgICAgICAgICAgIGRpdiB7Ci0gICAgICAgICAgICAgICAgcGFkZGlu
ZzogMXB4OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgLnJlZ2lvbiB7Ci0gICAgICAgICAg
ICAgICAgYm9yZGVyOnNvbGlkIDFweCAjYmJiOwotICAgICAgICAgICAgfQotICAgICAgICA8L3N0
eWxlPgotICAgIDwvaGVhZD4KLSAgICA8Ym9keT4KLSAgICAgICAgPGRpdiBjbGFzcz0icmVnaW9u
Ij48dGVtcGxhdGU+UEFTUyByMDogY29udGVudCB0aGF0IGdvZXMgaW4gdGhlIHJlZ2lvbi48L3Rl
bXBsYXRlPjwvZGl2PgotICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpb24iPgotICAgICAgICAgICAg
PGRpdj5QQVNTIHIxOiBjb250ZW50IGluIHRoZSByZWdpb24gdGhhdCBoYXMgZmxvdy1pbnRvLiAx
LjwvZGl2PgotICAgICAgICAgICAgPGRpdj5QQVNTIHIxOiAoZW5jbG9zZWQgaW4gYSBkaXYpIGNv
bnRlbnQgaW4gdGhlIHJlZ2lvbiB0aGF0IGhhcyBmbG93LWludG8uIDIuIDxiPlBBU1MgcjE6IChl
bmNsb3NlZCBpbiBhIGRpdikgY29udGVudCBpbiB0aGUgcmVnaW9uIHRoYXQgaGFzIGZsb3ctaW50
by4gMy48L2I+LjwvZGl2PgotICAgICAgICAgICAgPGRpdj5QQVNTIHIxOiAoZW5jbG9zZWQgaW4g
YSBkaXYpIGNvbnRlbnQgaW4gdGhlIHJlZ2lvbiB0aGF0IGhhcyBmbG93LWludG8uIDQgLjwvZGl2
PgotICAgICAgICAgICAgPGRpdj5QQVNTIHIxOiBjb250ZW50IGluIHRoZSByZWdpb24gdGhhdCBo
YXMgZmxvdy1pbnRvLiA1LjwvZGl2PgotICAgICAgICA8L2Rpdj4KLSAgICAgICAgPGRpdiBjbGFz
cz0icmVnaW9uIj48c3Bhbj5QQVNTIHIyOiBjb250ZW50IHRoYXQgaXMgYWxyZWFkeSBpbiBhIGZs
b3cgZ29lcyB0byBhbm90aGVyIGZsb3cgLjwvc3Bhbj48L2Rpdj4KLSAgICAgICAgPHA+PGEgaHJl
Zj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTQ0Ij5CdWcgNzQx
NDQ8L2E+IC0gW0NTUyBSZWdpb25zXSBFbGVtZW50cyBpbiBhIHJlZ2lvbiBzaG91bGQgYmUgYXNz
aWduYWJsZSB0byBhIG5hbWVkIGZsb3c8L3A+Ci0gICAgPC9ib2R5PgotPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9u
cy9yZWdpb24tY29udGVudC1mbG93bi1pbnRvLXJlZ2lvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9yZWdpb25zL3JlZ2lvbi1jb250ZW50LWZsb3duLWludG8tcmVnaW9uLmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRhMzdkOGQuLjAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9yZWdpb25zL3JlZ2lvbi1jb250ZW50LWZsb3duLWludG8tcmVnaW9uLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSw5MiArMCwwIEBACi08aHRtbD4KLSAgICA8aGVhZD4KLSAgICAgICAgPHRp
dGxlPjc0MTQ0IC0gW0NTUyBSZWdpb25zXSBFbGVtZW50cyBpbiBhIHJlZ2lvbiBzaG91bGQgYmUg
YXNzaWduYWJsZSB0byBhIG5hbWVkIGZsb3c8L3RpdGxlPgotICAgICAgICA8c3R5bGUgdHlwZT0i
dGV4dC9jc3MiPgotICAgICAgICAgICAgZGl2IHsKLSAgICAgICAgICAgICAgICBwYWRkaW5nOiAx
cHg7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAuY29udGVudCB7Ci0gICAgICAgICAgICAg
ICAgLXdlYmtpdC1mbG93LWludG86IGZsb3c7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAu
cmVnaW9uIHsKLSAgICAgICAgICAgICAgICAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzsKLSAgICAg
ICAgICAgICAgICBib3JkZXI6c29saWQgMXB4ICNiYmI7Ci0gICAgICAgICAgICB9Ci0KLSAgICAg
ICAgICAgIC5yZWRpcmVjdENvbnRlbnQgewotICAgICAgICAgICAgICAgIC13ZWJraXQtZmxvdy1p
bnRvOiByZWRpcmVjdEZsb3c7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAucmVkaXJlY3RS
ZWdpb24gewotICAgICAgICAgICAgICAgIC13ZWJraXQtZmxvdy1mcm9tOiByZWRpcmVjdEZsb3c7
Ci0gICAgICAgICAgICAgICAgYm9yZGVyOnNvbGlkIDFweCAjYmJiOwotICAgICAgICAgICAgfQot
Ci0gICAgICAgICAgICAucmVkaXJlY3RDb250ZW50MiB7Ci0gICAgICAgICAgICAgICAgLXdlYmtp
dC1mbG93LWludG86IHJlZGlyZWN0RmxvdzI7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAu
cmVkaXJlY3RSZWdpb24yIHsKLSAgICAgICAgICAgICAgICAtd2Via2l0LWZsb3ctZnJvbTogcmVk
aXJlY3RGbG93MjsKLSAgICAgICAgICAgICAgICBib3JkZXI6c29saWQgMXB4ICNiYmI7Ci0gICAg
ICAgICAgICB9Ci0KLSAgICAgICAgICAgIC5yZWRpcmVjdENvbnRlbnRUb05vd2hlcmUgewotICAg
ICAgICAgICAgICAgIC13ZWJraXQtZmxvdy1pbnRvOiByZWRpcmVjdFRvTm93aGVyZTsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgPC9zdHlsZT4KLSAgICAgICAgPHRlbXBsYXRlIGNsYXNzPSJjb250
ZW50Ij5QQVNTIHIwOiBjb250ZW50IHRoYXQgZ29lcyBpbiB0aGUgcmVnaW9uLjwvdGVtcGxhdGU+
Ci0gICAgPC9oZWFkPgotCi0gICAgPGJvZHk+Ci0gICAgICAgIDxkaXYgY2xhc3M9InJlZ2lvbiI+
Ci0gICAgICAgICAgICBGQUlMOiB0aGlzIHNob3VsZCBub3QgYmUgdmlzaWJsZSAxLgotCi0gICAg
ICAgICAgICA8c3BhbiBjbGFzcz0icmVkaXJlY3RDb250ZW50VG9Ob3doZXJlIj5GQUlMOiB0aGlz
IHNob3VsZCBub3QgYmUgdmlzaWJsZSAocmVkaXJlY3RlZCB0byBub3doZXJlKSAxLjwvc3Bhbj4K
LQotICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVkaXJlY3RDb250ZW50Ij5QQVNTIHIxOiBjb250
ZW50IGluIHRoZSByZWdpb24gdGhhdCBoYXMgZmxvdy1pbnRvLiAxLjwvZGl2PgotCi0gICAgICAg
ICAgICBGQUlMOiB0aGlzIHNob3VsZCBub3QgYmUgdmlzaWJsZSAyLgotCi0gICAgICAgICAgICA8
ZGl2PgotICAgICAgICAgICAgICAgIEZBSUw6IHRoaXMgc2hvdWxkIG5vdCBiZSB2aXNpYmxlIDMu
Ci0KLSAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWRpcmVjdENvbnRlbnQiPlBBU1MgcjE6
IChlbmNsb3NlZCBpbiBhIGRpdikgY29udGVudCBpbiB0aGUgcmVnaW9uIHRoYXQgaGFzIGZsb3ct
aW50by4gMi4KLSAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVkaXJlY3RDb250ZW50
VG9Ob3doZXJlIj5GQUlMOiB0aGlzIHNob3VsZCBub3QgYmUgdmlzaWJsZSAocmVkaXJlY3RlZCB0
byBub3doZXJlKSAyLjwvZGl2PgotICAgICAgICAgICAgICAgICAgICA8Yj5QQVNTIHIxOiAoZW5j
bG9zZWQgaW4gYSBkaXYpIGNvbnRlbnQgaW4gdGhlIHJlZ2lvbiB0aGF0IGhhcyBmbG93LWludG8u
IDMuPC9iPi4KLSAgICAgICAgICAgICAgICA8L2Rpdj4KLQotICAgICAgICAgICAgICAgIEZBSUw6
IHRoaXMgc2hvdWxkIG5vdCBiZSB2aXNpYmxlIDQuCi0gICAgICAgICAgICA8L2Rpdj4KLQotICAg
ICAgICAgICAgPGRpdj4KLSAgICAgICAgICAgICAgICBGQUlMOiB0aGlzIHNob3VsZCBub3QgYmUg
dmlzaWJsZSA1LgotCi0gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVkaXJlY3RDb250ZW50
Ij5QQVNTIHIxOiAoZW5jbG9zZWQgaW4gYSBkaXYpIGNvbnRlbnQgaW4gdGhlIHJlZ2lvbiB0aGF0
IGhhcyBmbG93LWludG8uIDQKLSAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InJlZGly
ZWN0Q29udGVudDIiPlBBU1MgcjI6IGNvbnRlbnQgdGhhdCBpcyBhbHJlYWR5IGluIGEgZmxvdyBn
b2VzIHRvIGFub3RoZXIgZmxvdwotICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9
InJlZGlyZWN0Q29udGVudFRvTm93aGVyZSI+RkFJTDogdGhpcyBzaG91bGQgbm90IGJlIHZpc2li
bGUgKHJlZGlyZWN0ZWQgdG8gbm93aGVyZSkgMy48L3NwYW4+LgotICAgICAgICAgICAgICAgICAg
ICA8L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgIC4KLSAgICAgICAgICAgICAgICA8L2Rpdj4K
LQotICAgICAgICAgICAgICAgIEZBSUw6IHRoaXMgc2hvdWxkIG5vdCBiZSB2aXNpYmxlIDcuCi0g
ICAgICAgICAgICA8L2Rpdj4KLQotICAgICAgICAgICAgRkFJTDogdGhpcyBzaG91bGQgbm90IGJl
IHZpc2libGUgOC4KLQotICAgICAgICAgICAgPHNwYW4gY2xhc3M9InJlZGlyZWN0Q29udGVudFRv
Tm93aGVyZSI+RkFJTDogdGhpcyBzaG91bGQgbm90IGJlIHZpc2libGUgKHJlZGlyZWN0ZWQgdG8g
bm93aGVyZSkgNC48L3NwYW4+Ci0KLSAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlZGlyZWN0Q29u
dGVudCI+UEFTUyByMTogY29udGVudCBpbiB0aGUgcmVnaW9uIHRoYXQgaGFzIGZsb3ctaW50by4g
NS48L2Rpdj4KLQotICAgICAgICAgICAgRkFJTDogdGhpcyBzaG91bGQgbm90IGJlIHZpc2libGUg
OS4KLSAgICAgICAgPC9kaXY+Ci0KLSAgICAgICAgPGRpdiBjbGFzcz0icmVkaXJlY3RSZWdpb24i
PgotICAgICAgICAgICAgRkFJTDogdGhpcyBzaG91bGQgbm90IGJlIHZpc2libGUgMTAuCi0gICAg
ICAgIDwvZGl2PgotCi0gICAgICAgIDxkaXYgY2xhc3M9InJlZGlyZWN0UmVnaW9uMiI+Ci0gICAg
ICAgICAgICBGQUlMOiB0aGlzIHNob3VsZCBub3QgYmUgdmlzaWJsZSAxMS4KLSAgICAgICAgPC9k
aXY+Ci0KLSAgICAgICAgPHA+PGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTc0MTQ0Ij5CdWcgNzQxNDQ8L2E+IC0gW0NTUyBSZWdpb25zXSBFbGVtZW50cyBp
biBhIHJlZ2lvbiBzaG91bGQgYmUgYXNzaWduYWJsZSB0byBhIG5hbWVkIGZsb3c8L3A+Ci0gICAg
PC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy91bml2ZXJzYWwtc2VsZWN0b3ItY2hpbGRyZW4tdG8t
dGhlLXNhbWUtcmVnaW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy91
bml2ZXJzYWwtc2VsZWN0b3ItY2hpbGRyZW4tdG8tdGhlLXNhbWUtcmVnaW9uLWV4cGVjdGVkLnR4
dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzI4MTI0OS4uMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvdW5pdmVyc2FsLXNlbGVjdG9yLWNoaWxkcmVuLXRvLXRo
ZS1zYW1lLXJlZ2lvbi1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAK
LVBBU1M6IHRoaXMgaXMgaW5saW5lCi1QQVNTOiBhbmQgYmxvY2sgY29udGVudCBpbnNpZGUgYSBy
ZWdpb24gdGhhdCBpcyBmbG93ZWQgaW50byB0aGUgc2FtZSByZWdpb24KLQotUEFTUzogYnV0dG9u
Ci1CdWcgNzQxNDQgLSBbQ1NTIFJlZ2lvbnNdIEVsZW1lbnRzIGluIGEgcmVnaW9uIHNob3VsZCBi
ZSBhc3NpZ25hYmxlIHRvIGEgbmFtZWQgZmxvdwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9yZWdpb25zL3VuaXZlcnNhbC1zZWxlY3Rvci1jaGlsZHJlbi10by10aGUtc2FtZS1yZWdpb24u
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy91bml2ZXJzYWwtc2VsZWN0b3ItY2hpbGRy
ZW4tdG8tdGhlLXNhbWUtcmVnaW9uLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGY4YzE2MWYuLjAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3VuaXZlcnNh
bC1zZWxlY3Rvci1jaGlsZHJlbi10by10aGUtc2FtZS1yZWdpb24uaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDIxICswLDAgQEAKLTxodG1sPgotICA8aGVhZD4KLSAgICA8dGl0bGU+MTAzNjg1IC0g
W0NTUyBSZWdpb25zXSBVbml2ZXJzYWwgY2hpbGQgc2VsZWN0b3Igb24gcmVnaW9uIGJyZWFrcyB0
aGUgcmVuZGVyaW5nIG9mIGl0cyBjb250ZW50PC90aXRsZT4KLSAgICA8c3R5bGUgdHlwZT0idGV4
dC9jc3MiPgotICAgICAgLnJlZ2lvbiA+ICogewotICAgICAgLXdlYmtpdC1mbG93LWludG86IGZv
bzsKLSAgICAgIH0KLSAgICAgIC5yZWdpb24gewotICAgICAgIC13ZWJraXQtZmxvdy1mcm9tOiBm
b287Ci0gICAgICB9Ci0gICAgPC9zdHlsZT4KLSAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCI+Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpCi0gICAgPC9zY3JpcHQ+Ci0gIDwvaGVhZD4KLSAgPGJvZHk+Ci0g
ICAgICA8ZGl2IGNsYXNzPSJyZWdpb24iPjxzcGFuPlBBU1M6IHRoaXMgaXMgaW5saW5lPC9zcGFu
PjxkaXY+PHA+UEFTUzogYW5kIGJsb2NrIGNvbnRlbnQgaW5zaWRlIGEgcmVnaW9uIHRoYXQgaXMg
Zmxvd2VkIGludG8gdGhlIHNhbWUgcmVnaW9uPC9wPjwvZGl2PjxidXR0b24+UEFTUzogYnV0dG9u
PC9idXR0b24+PC9kaXY+Ci0gICAgICA8cD48YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NzQxNDQiPkJ1ZyA3NDE0NDwvYT4gLSBbQ1NTIFJlZ2lvbnNdIEVs
ZW1lbnRzIGluIGEgcmVnaW9uIHNob3VsZCBiZSBhc3NpZ25hYmxlIHRvIGEgbmFtZWQgZmxvdzwv
cD4KLSAgPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwppbmRleCA4NzJjMDU0Li5mZGMwNGZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIw
MTMtMDQtMDggIE1paGFpIE1hZXJlYW4gIDxtbWFlcmVhbkBhZG9iZS5jb20+CisKKyAgICAgICAg
Um9sbG91dCByMTQ3NzU2OiBwZXJmb3JtYW5jZSByZWdyZXNzaW9uCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTQxNzYKKworICAgICAgICBSZXZpZXdl
ZCBieSBBbGV4aXMgTWVuYXJkLgorCisgICAgICAgIFJvbGxpbmcgb3V0IHRoZSBwYXRjaCBmb3Ig
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTQ0ICJbQ1NTIFJlZ2lv
bnNdIEVsZW1lbnRzIGluIGEgcmVnaW9uCisgICAgICAgIHNob3VsZCBiZSBhc3NpZ25hYmxlIHRv
IGEgbmFtZWQgZmxvdyIgYmVjYXVzZSBvZiB0aGUgcGVyZm9ybWFuY2UgcmVncmVzc2lvbiBpbiBQ
YXJzZXIvaHRtbDUtZnVsbC1yZW5kZXIuaHRtbCAuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChi
ZWNhdXNlIHRoaXMgaXMgYSByb2xsb3V0IHBhdGNoKS4KKworICAgICAgICAqIGRvbS9FbGVtZW50
LmNwcDoKKyAgICAgICAgKiBkb20vRWxlbWVudC5oOgorICAgICAgICAqIGRvbS9Ob2RlUmVuZGVy
aW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb2RlUmVuZGVyaW5nQ29udGV4dDo6
cGFyZW50UmVuZGVyZXIpOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZVJlbmRlcmluZ0NvbnRleHQ6
OnNob3VsZENyZWF0ZVJlbmRlcmVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGVSZW5kZXJpbmdD
b250ZXh0Ojptb3ZlVG9GbG93VGhyZWFkSWZOZWVkZWQpOgorICAgICAgICAqIGRvbS9Ob2RlUmVu
ZGVyaW5nQ29udGV4dC5oOgorICAgICAgICAqIGRvbS9Qc2V1ZG9FbGVtZW50Lmg6CisgICAgICAg
ICogZG9tL1RleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dDo6dGV4dFJlbmRlcmVySXNO
ZWVkZWQpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dDo6dXBkYXRlVGV4dFJlbmRlcmVyKToKKyAg
ICAgICAgKiBkb20vVGV4dC5oOgorICAgICAgICAqIHJlbmRlcmluZy9GbG93VGhyZWFkQ29udHJv
bGxlci5jcHA6CisgICAgICAgICogcmVuZGVyaW5nL0Zsb3dUaHJlYWRDb250cm9sbGVyLmg6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJSZWdpb24uaDoKKyAgICAgICAgKiBzdmcvU1ZHRWxlbWVudC5jcHA6CisgICAgICAgICog
c3ZnL1NWR0VsZW1lbnQuaDoKKyAgICAgICAgCiAyMDEzLTA0LTA4ICBCZW5qYW1pbiBQb3VsYWlu
ICA8YmVuamFtaW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1vdmUgSFRNTCBOb3RpZmljYXRp
b24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50LmNwcAppbmRleCA4MThlZjI5Li5iODk1NDAyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0VsZW1lbnQuY3BwCkBAIC0yNTU4LDMyICsyNTU4LDYgQEAgUmVuZGVyUmVnaW9uKiBFbGVtZW50
OjpyZW5kZXJSZWdpb24oKSBjb25zdAogICAgIHJldHVybiAwOwogfQogCi1ib29sIEVsZW1lbnQ6
Om1vdmVUb0Zsb3dUaHJlYWRJc05lZWRlZChSZWZQdHI8UmVuZGVyU3R5bGU+JiBjYWNoZWRTdHls
ZSkKLXsKLSAgICBEb2N1bWVudCogZG9jID0gZG9jdW1lbnQoKTsKLSAgICAKLSAgICBpZiAoIWRv
Yy0+Y3NzUmVnaW9uc0VuYWJsZWQoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0jaWYgRU5B
QkxFKEZVTExTQ1JFRU5fQVBJKQotICAgIGlmIChkb2MtPndlYmtpdElzRnVsbFNjcmVlbigpICYm
IGRvYy0+d2Via2l0Q3VycmVudEZ1bGxTY3JlZW5FbGVtZW50KCkgPT0gdGhpcykKLSAgICAgICAg
cmV0dXJuIGZhbHNlOwotI2VuZGlmCi0KLSAgICBpZiAoaXNJblNoYWRvd1RyZWUoKSkKLSAgICAg
ICAgcmV0dXJuIGZhbHNlOwotCi0gICAgaWYgKCFjYWNoZWRTdHlsZSkKLSAgICAgICAgY2FjaGVk
U3R5bGUgPSBzdHlsZUZvclJlbmRlcmVyKCk7Ci0gICAgaWYgKCFjYWNoZWRTdHlsZSkKLSAgICAg
ICAgcmV0dXJuIGZhbHNlOwotCi0gICAgaWYgKGNhY2hlZFN0eWxlLT5mbG93VGhyZWFkKCkuaXNF
bXB0eSgpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICByZXR1cm4gIWRvY3VtZW50KCkt
PnJlbmRlclZpZXcoKS0+Zmxvd1RocmVhZENvbnRyb2xsZXIoKS0+aXNDb250ZW50Tm9kZVJlZ2lz
dGVyZWRXaXRoQW55TmFtZWRGbG93KHRoaXMpOwotfQotCiAjaWYgRU5BQkxFKENTU19SRUdJT05T
KQogCiBjb25zdCBBdG9taWNTdHJpbmcmIEVsZW1lbnQ6OndlYmtpdFJlZ2lvbk92ZXJzZXQoKSBj
b25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50LmgKaW5kZXggZDBjOGZlYy4uNTE0ZjU4MCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxl
bWVudC5oCkBAIC02MDksNyArNjA5LDYgQEAgcHVibGljOgogICAgIFBhc3NSZWZQdHI8UmVuZGVy
U3R5bGU+IHN0eWxlRm9yUmVuZGVyZXIoKTsKIAogICAgIFJlbmRlclJlZ2lvbiogcmVuZGVyUmVn
aW9uKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBib29sIG1vdmVUb0Zsb3dUaHJlYWRJc05lZWRlZChS
ZWZQdHI8UmVuZGVyU3R5bGU+JiBjYWNoZWRTdHlsZSk7CiAjaWYgRU5BQkxFKENTU19SRUdJT05T
KQogICAgIGNvbnN0IEF0b21pY1N0cmluZyYgd2Via2l0UmVnaW9uT3ZlcnNldCgpIGNvbnN0Owog
ICAgIFZlY3RvcjxSZWZQdHI8UmFuZ2U+ID4gd2Via2l0R2V0UmVnaW9uRmxvd1JhbmdlcygpIGNv
bnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGVSZW5kZXJpbmdDb250ZXh0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmVuZGVyaW5nQ29udGV4dC5jcHAKaW5kZXgg
ZmQ2MWI0ZS4uZTg0YzVlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGVSZW5k
ZXJpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZVJlbmRlcmluZ0Nv
bnRleHQuY3BwCkBAIC0xNDgsNyArMTQ4LDcgQEAgUmVuZGVyT2JqZWN0KiBOb2RlUmVuZGVyaW5n
Q29udGV4dDo6cHJldmlvdXNSZW5kZXJlcigpIGNvbnN0CiAgICAgcmV0dXJuIDA7CiB9CiAKLVJl
bmRlck9iamVjdCogTm9kZVJlbmRlcmluZ0NvbnRleHQ6OnBhcmVudFJlbmRlcmVyKCkKK1JlbmRl
ck9iamVjdCogTm9kZVJlbmRlcmluZ0NvbnRleHQ6OnBhcmVudFJlbmRlcmVyKCkgY29uc3QKIHsK
ICAgICBpZiAoUmVuZGVyT2JqZWN0KiByZW5kZXJlciA9IG1fbm9kZS0+cmVuZGVyZXIoKSkKICAg
ICAgICAgcmV0dXJuIHJlbmRlcmVyLT5wYXJlbnQoKTsKQEAgLTE3MCwxNSArMTcwLDEwIEBAIFJl
bmRlck9iamVjdCogTm9kZVJlbmRlcmluZ0NvbnRleHQ6OnBhcmVudFJlbmRlcmVyKCkKICAgICBp
ZiAobV9wYXJlbnRGbG93UmVuZGVyZXIpCiAgICAgICAgIHJldHVybiBtX3BhcmVudEZsb3dSZW5k
ZXJlcjsKIAotICAgIGlmIChtX25vZGUtPmlzRWxlbWVudE5vZGUoKSAmJiB0b0VsZW1lbnQobV9u
b2RlKS0+bW92ZVRvRmxvd1RocmVhZElzTmVlZGVkKG1fc3R5bGUpKSB7Ci0gICAgICAgIG1vdmVU
b0Zsb3dUaHJlYWQoKTsKLSAgICAgICAgcmV0dXJuIG1fcGFyZW50Rmxvd1JlbmRlcmVyOwotICAg
IH0KLQogICAgIHJldHVybiBtX3JlbmRlcmluZ1BhcmVudCA/IG1fcmVuZGVyaW5nUGFyZW50LT5y
ZW5kZXJlcigpIDogMDsKIH0KIAotYm9vbCBOb2RlUmVuZGVyaW5nQ29udGV4dDo6c2hvdWxkQ3Jl
YXRlUmVuZGVyZXIoKQorYm9vbCBOb2RlUmVuZGVyaW5nQ29udGV4dDo6c2hvdWxkQ3JlYXRlUmVu
ZGVyZXIoKSBjb25zdAogewogICAgIGlmICghbV9ub2RlLT5kb2N1bWVudCgpLT5zaG91bGRDcmVh
dGVSZW5kZXJlcnMoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMTg3LDE2ICsxODIsOCBA
QCBib29sIE5vZGVSZW5kZXJpbmdDb250ZXh0OjpzaG91bGRDcmVhdGVSZW5kZXJlcigpCiAgICAg
UmVuZGVyT2JqZWN0KiBwYXJlbnRSZW5kZXJlciA9IHRoaXMtPnBhcmVudFJlbmRlcmVyKCk7CiAg
ICAgaWYgKCFwYXJlbnRSZW5kZXJlcikKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGlmICgh
cGFyZW50UmVuZGVyZXItPmNhbkhhdmVDaGlsZHJlbigpKSB7Ci0gICAgICAgIGlmIChwYXJlbnRS
ZW5kZXJlci0+Y2FuRE9NQ2hpbGRyZW5IYXZlUmVuZGVyUGFyZW50KCkpIHsKLSAgICAgICAgICAg
IC8vIEluIGEgcmVnaW9uLCBvbmx5IHRoZSBjaGlsZHJlbiB0aGF0IG5lZWQgdG8gYmUgaW4gYSBm
bG93IHRocmVhZCBzaG91bGQgaGF2ZSBhIHJlbmRlcmVyLgotICAgICAgICAgICAgYm9vbCBzaG91
bGRCZUluTmFtZWRGbG93ID0gbV9ub2RlLT5pc0VsZW1lbnROb2RlKCkgJiYgdG9FbGVtZW50KG1f
bm9kZSktPm1vdmVUb0Zsb3dUaHJlYWRJc05lZWRlZChtX3N0eWxlKTsKLSAgICAgICAgICAgIGlm
ICghc2hvdWxkQmVJbk5hbWVkRmxvdykKLSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0g
ICAgICAgIH0gZWxzZQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLQorICAgIGlm
ICghcGFyZW50UmVuZGVyZXItPmNhbkhhdmVDaGlsZHJlbigpKQorICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgaWYgKCFtX3JlbmRlcmluZ1BhcmVudC0+Y2hpbGRTaG91bGRDcmVhdGVSZW5kZXJl
cigqdGhpcykpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTIw
NSwyMSArMTkyLDM1IEBAIGJvb2wgTm9kZVJlbmRlcmluZ0NvbnRleHQ6OnNob3VsZENyZWF0ZVJl
bmRlcmVyKCkKIHZvaWQgTm9kZVJlbmRlcmluZ0NvbnRleHQ6Om1vdmVUb0Zsb3dUaHJlYWRJZk5l
ZWRlZCgpCiB7CiAgICAgQVNTRVJUKG1fbm9kZS0+aXNFbGVtZW50Tm9kZSgpKTsKKyAgICBBU1NF
UlQobV9zdHlsZSk7CisgICAgaWYgKCFtX25vZGUtPmRvY3VtZW50KCktPmNzc1JlZ2lvbnNFbmFi
bGVkKCkpCisgICAgICAgIHJldHVybjsKIAotICAgIGlmICghdG9FbGVtZW50KG1fbm9kZSktPm1v
dmVUb0Zsb3dUaHJlYWRJc05lZWRlZChtX3N0eWxlKSkKKyAgICBpZiAobV9zdHlsZS0+Zmxvd1Ro
cmVhZCgpLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbW92ZVRvRmxvd1RocmVh
ZCgpOwotfQorICAgIC8vIEFzIHBlciBodHRwOi8vZGV2LnczLm9yZy9jc3N3Zy9jc3MzLXJlZ2lv
bnMvI2Zsb3ctaW50bywgcHNldWRvLWVsZW1lbnRzIHN1Y2ggYXMgOjpmaXJzdC1saW5lLCA6OmZp
cnN0LWxldHRlciwgOjpiZWZvcmUgb3IgOjphZnRlcgorICAgIC8vIGNhbm5vdCBiZSBkaXJlY3Rs
eSBjb2xsZWN0ZWQgaW50byBhIG5hbWVkIGZsb3cuCisgICAgaWYgKG1fbm9kZS0+aXNQc2V1ZG9F
bGVtZW50KCkpCisgICAgICAgIHJldHVybjsKIAotdm9pZCBOb2RlUmVuZGVyaW5nQ29udGV4dDo6
bW92ZVRvRmxvd1RocmVhZCgpCi17Ci0gICAgQVNTRVJUKG1fbm9kZS0+aXNFbGVtZW50Tm9kZSgp
KTsKLSAgICBBU1NFUlQodG9FbGVtZW50KG1fbm9kZSktPm1vdmVUb0Zsb3dUaHJlYWRJc05lZWRl
ZChtX3N0eWxlKSk7CisgICAgLy8gRklYTUU6IERvIG5vdCBjb2xsZWN0IGVsZW1lbnRzIGlmIHRo
ZXkgYXJlIGluIHNoYWRvdyB0cmVlLgorICAgIGlmIChtX25vZGUtPmlzSW5TaGFkb3dUcmVlKCkp
CisgICAgICAgIHJldHVybjsKKworI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKKyAgICBEb2N1
bWVudCogZG9jdW1lbnQgPSBtX25vZGUtPmRvY3VtZW50KCk7CisgICAgaWYgKGRvY3VtZW50LT53
ZWJraXRJc0Z1bGxTY3JlZW4oKSAmJiBkb2N1bWVudC0+d2Via2l0Q3VycmVudEZ1bGxTY3JlZW5F
bGVtZW50KCkgPT0gbV9ub2RlKQorICAgICAgICByZXR1cm47CisjZW5kaWYKKworI2lmIEVOQUJM
RShTVkcpCisgICAgLy8gQWxsb3cgb25seSBzdmcgcm9vdCBlbGVtZW50cyB0byBiZSBkaXJlY3Rs
eSBjb2xsZWN0ZWQgYnkgYSByZW5kZXIgZmxvdyB0aHJlYWQuCisgICAgaWYgKG1fbm9kZS0+aXNT
VkdFbGVtZW50KCkKKyAgICAgICAgJiYgKCEobV9ub2RlLT5oYXNUYWdOYW1lKFNWR05hbWVzOjpz
dmdUYWcpICYmIG1fbm9kZS0+cGFyZW50Tm9kZSgpICYmICFtX25vZGUtPnBhcmVudE5vZGUoKS0+
aXNTVkdFbGVtZW50KCkpKSkKKyAgICAgICAgcmV0dXJuOworI2VuZGlmCiAKLSAgICBpZiAoIW1f
c3R5bGUpCi0gICAgICAgIG1fc3R5bGUgPSB0b0VsZW1lbnQobV9ub2RlKS0+c3R5bGVGb3JSZW5k
ZXJlcigpOwotICAgIEFTU0VSVChtX3N0eWxlKTsKICAgICBtX2Zsb3dUaHJlYWQgPSBtX3N0eWxl
LT5mbG93VGhyZWFkKCk7CiAgICAgQVNTRVJUKG1fbm9kZS0+ZG9jdW1lbnQoKS0+cmVuZGVyVmll
dygpKTsKICAgICBGbG93VGhyZWFkQ29udHJvbGxlciogZmxvd1RocmVhZENvbnRyb2xsZXIgPSBt
X25vZGUtPmRvY3VtZW50KCktPnJlbmRlclZpZXcoKS0+Zmxvd1RocmVhZENvbnRyb2xsZXIoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmVuZGVyaW5nQ29udGV4dC5oIGIv
U291cmNlL1dlYkNvcmUvZG9tL05vZGVSZW5kZXJpbmdDb250ZXh0LmgKaW5kZXggYzE0NmIxMS4u
YzA3OTc3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGVSZW5kZXJpbmdDb250
ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGVSZW5kZXJpbmdDb250ZXh0LmgKQEAg
LTU1LDcgKzU1LDcgQEAgcHVibGljOgogICAgIE5vZGUqIG5vZGUoKSBjb25zdDsKICAgICBDb250
YWluZXJOb2RlKiBwYXJlbnROb2RlRm9yUmVuZGVyaW5nQW5kU3R5bGUoKSBjb25zdDsKICAgICBi
b29sIHJlc2V0U3R5bGVJbmhlcml0YW5jZSgpIGNvbnN0OwotICAgIFJlbmRlck9iamVjdCogcGFy
ZW50UmVuZGVyZXIoKTsgLy8gdGhlIHJlbmRlcmVyIHRoYXQgd2lsbCBiZSB0aGUgcGFyZW50IGZv
ciB0aGlzIG5vZGUncyByZW5kZXJlci4gSW4gdGhlIGNhc2Ugb2YgUmVuZGVyRmxvd1RocmVhZHMs
IGl0IG1heSBuZWVkIHRvIGNyZWF0ZSBpdC4KKyAgICBSZW5kZXJPYmplY3QqIHBhcmVudFJlbmRl
cmVyKCkgY29uc3Q7CiAgICAgUmVuZGVyT2JqZWN0KiBuZXh0UmVuZGVyZXIoKSBjb25zdDsKICAg
ICBSZW5kZXJPYmplY3QqIHByZXZpb3VzUmVuZGVyZXIoKSBjb25zdDsKICAgICBJbnNlcnRpb25Q
b2ludCogaW5zZXJ0aW9uUG9pbnQoKSBjb25zdDsKQEAgLTY2LDggKzY2LDcgQEAgcHVibGljOgog
ICAgIGJvb2wgaXNPbkVuY2Fwc3VsYXRpb25Cb3VuZGFyeSgpIGNvbnN0OwogCiBwcml2YXRlOgot
ICAgIGJvb2wgc2hvdWxkQ3JlYXRlUmVuZGVyZXIoKTsKLSAgICB2b2lkIG1vdmVUb0Zsb3dUaHJl
YWQoKTsKKyAgICBib29sIHNob3VsZENyZWF0ZVJlbmRlcmVyKCkgY29uc3Q7CiAgICAgdm9pZCBt
b3ZlVG9GbG93VGhyZWFkSWZOZWVkZWQoKTsKIAogICAgIE5vZGUqIG1fbm9kZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Qc2V1ZG9FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9k
b20vUHNldWRvRWxlbWVudC5oCmluZGV4IGYwNzI1MWIuLjEyYTJhMjAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Qc2V1ZG9FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L1BzZXVkb0VsZW1lbnQuaApAQCAtNDYsMTQgKzQ2LDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
dm9pZCBhdHRhY2goKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgcmVuZGVyZXJJc05lZWRl
ZChjb25zdCBOb2RlUmVuZGVyaW5nQ29udGV4dCYpIE9WRVJSSURFOwogCi0gICAgLy8gQXMgcGVy
IGh0dHA6Ly9kZXYudzMub3JnL2Nzc3dnL2NzczMtcmVnaW9ucy8jZmxvdy1pbnRvLCBwc2V1ZG8t
ZWxlbWVudHMgc3VjaCBhcyA6OmZpcnN0LWxpbmUsIDo6Zmlyc3QtbGV0dGVyLCA6OmJlZm9yZSBv
ciA6OmFmdGVyCi0gICAgLy8gY2Fubm90IGJlIGRpcmVjdGx5IGNvbGxlY3RlZCBpbnRvIGEgbmFt
ZWQgZmxvdy4KLSAgICB2aXJ0dWFsIGJvb2wgbW92ZVRvRmxvd1RocmVhZElzTmVlZGVkKFJlZlB0
cjxSZW5kZXJTdHlsZT4mIGNhY2hlZFN0eWxlKSBPVkVSUklERQotICAgIHsKLSAgICAgICAgVU5V
U0VEX1BBUkFNKGNhY2hlZFN0eWxlKTsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLQog
ICAgIHZpcnR1YWwgYm9vbCBjYW5TdGFydFNlbGVjdGlvbigpIGNvbnN0IE9WRVJSSURFIHsgcmV0
dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGNhbkNvbnRhaW5SYW5nZUVuZFBvaW50KCkg
Y29uc3QgT1ZFUlJJREUgeyByZXR1cm4gZmFsc2U7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL1RleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1RleHQuY3BwCmluZGV4IDI4
M2I4ZDUuLmRiZjM1YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9UZXh0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVGV4dC5jcHAKQEAgLTE5Nyw3ICsxOTcsNyBAQCBQYXNz
UmVmUHRyPE5vZGU+IFRleHQ6OmNsb25lTm9kZShib29sIC8qZGVlcCovKQogICAgIHJldHVybiBj
cmVhdGUoZG9jdW1lbnQoKSwgZGF0YSgpKTsKIH0KIAotYm9vbCBUZXh0Ojp0ZXh0UmVuZGVyZXJJ
c05lZWRlZChOb2RlUmVuZGVyaW5nQ29udGV4dCYgY29udGV4dCkKK2Jvb2wgVGV4dDo6dGV4dFJl
bmRlcmVySXNOZWVkZWQoY29uc3QgTm9kZVJlbmRlcmluZ0NvbnRleHQmIGNvbnRleHQpCiB7CiAg
ICAgaWYgKGlzRWRpdGluZ1RleHQoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC0zMDIsMTIg
KzMwMiw3IEBAIHZvaWQgVGV4dDo6dXBkYXRlVGV4dFJlbmRlcmVyKHVuc2lnbmVkIG9mZnNldE9m
UmVwbGFjZWREYXRhLCB1bnNpZ25lZCBsZW5ndGhPZlJlCiAgICAgaWYgKCFhdHRhY2hlZCgpKQog
ICAgICAgICByZXR1cm47CiAgICAgUmVuZGVyVGV4dCogdGV4dFJlbmRlcmVyID0gdG9SZW5kZXJU
ZXh0KHJlbmRlcmVyKCkpOwotICAgIGlmICghdGV4dFJlbmRlcmVyKSB7Ci0gICAgICAgIHJlYXR0
YWNoKCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgTm9kZVJlbmRlcmluZ0NvbnRleHQg
cmVuZGVyaW5nQ29udGV4dCh0aGlzLCB0ZXh0UmVuZGVyZXItPnN0eWxlKCkpOwotICAgIGlmICgh
dGV4dFJlbmRlcmVySXNOZWVkZWQocmVuZGVyaW5nQ29udGV4dCkpIHsKKyAgICBpZiAoIXRleHRS
ZW5kZXJlciB8fCAhdGV4dFJlbmRlcmVySXNOZWVkZWQoTm9kZVJlbmRlcmluZ0NvbnRleHQodGhp
cywgdGV4dFJlbmRlcmVyLT5zdHlsZSgpKSkpIHsKICAgICAgICAgcmVhdHRhY2goKTsKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9UZXh0Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vVGV4dC5oCmluZGV4IDk3MTUzZDMuLjY3YWIxNjggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9UZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L1RleHQuaApAQCAtNDYsNyArNDYsNyBAQCBwdWJsaWM6CiAgICAgCiAgICAgdm9pZCByZWNhbGNU
ZXh0U3R5bGUoU3R5bGVDaGFuZ2UpOwogICAgIHZvaWQgY3JlYXRlVGV4dFJlbmRlcmVySWZOZWVk
ZWQoKTsKLSAgICBib29sIHRleHRSZW5kZXJlcklzTmVlZGVkKE5vZGVSZW5kZXJpbmdDb250ZXh0
Jik7CisgICAgYm9vbCB0ZXh0UmVuZGVyZXJJc05lZWRlZChjb25zdCBOb2RlUmVuZGVyaW5nQ29u
dGV4dCYpOwogICAgIFJlbmRlclRleHQqIGNyZWF0ZVRleHRSZW5kZXJlcihSZW5kZXJBcmVuYSos
IFJlbmRlclN0eWxlKik7CiAgICAgdm9pZCB1cGRhdGVUZXh0UmVuZGVyZXIodW5zaWduZWQgb2Zm
c2V0T2ZSZXBsYWNlZERhdGEsIHVuc2lnbmVkIGxlbmd0aE9mUmVwbGFjZWREYXRhKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0Zsb3dUaHJlYWRDb250cm9sbGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9GbG93VGhyZWFkQ29udHJvbGxlci5jcHAKaW5k
ZXggZGYxNGMzMy4uNjJiYjM1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L0Zsb3dUaHJlYWRDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
Rmxvd1RocmVhZENvbnRyb2xsZXIuY3BwCkBAIC0yMjcsMTEgKzIyNyw2IEBAIHZvaWQgRmxvd1Ro
cmVhZENvbnRyb2xsZXI6OnVwZGF0ZUZsb3dUaHJlYWRzSW50b0NvbnN0cmFpbmVkUGhhc2UoKQog
ICAgIH0KIH0KIAotYm9vbCBGbG93VGhyZWFkQ29udHJvbGxlcjo6aXNDb250ZW50Tm9kZVJlZ2lz
dGVyZWRXaXRoQW55TmFtZWRGbG93KE5vZGUqIGNvbnRlbnROb2RlKSBjb25zdAotewotICAgIHJl
dHVybiBtX21hcE5hbWVkRmxvd0NvbnRlbnROb2Rlcy5jb250YWlucyhjb250ZW50Tm9kZSk7Ci19
Ci0KICNpZm5kZWYgTkRFQlVHCiBib29sIEZsb3dUaHJlYWRDb250cm9sbGVyOjppc0F1dG9Mb2dp
Y2FsSGVpZ2h0UmVnaW9uc0NvdW50Q29uc2lzdGVudCgpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRmxvd1RocmVhZENvbnRyb2xsZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9GbG93VGhyZWFkQ29udHJvbGxlci5oCmluZGV4IDQ1NTM0ZDUuLmNm
NTUxMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9GbG93VGhyZWFkQ29u
dHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9GbG93VGhyZWFkQ29udHJv
bGxlci5oCkBAIC02Niw3ICs2Niw2IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgcmVnaXN0ZXJOYW1l
ZEZsb3dDb250ZW50Tm9kZShOb2RlKiwgUmVuZGVyTmFtZWRGbG93VGhyZWFkKik7CiAgICAgdm9p
ZCB1bnJlZ2lzdGVyTmFtZWRGbG93Q29udGVudE5vZGUoTm9kZSopOwotICAgIGJvb2wgaXNDb250
ZW50Tm9kZVJlZ2lzdGVyZWRXaXRoQW55TmFtZWRGbG93KE5vZGUqKSBjb25zdDsKIAogICAgIGJv
b2wgaGFzRmxvd1RocmVhZHNXaXRoQXV0b0xvZ2ljYWxIZWlnaHRSZWdpb25zKCkgY29uc3QgeyBy
ZXR1cm4gbV9mbG93VGhyZWFkc1dpdGhBdXRvTG9naWNhbEhlaWdodFJlZ2lvbnM7IH0KICAgICB2
b2lkIGluY3JlbWVudEZsb3dUaHJlYWRzV2l0aEF1dG9Mb2dpY2FsSGVpZ2h0UmVnaW9ucygpIHsg
KyttX2Zsb3dUaHJlYWRzV2l0aEF1dG9Mb2dpY2FsSGVpZ2h0UmVnaW9uczsgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCmluZGV4IGM1YjU2MTguLmIwYTRmZTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKQEAgLTI1MSw3ICsyNTEsNiBAQCBw
dWJsaWM6CiAgICAgLy8gUmVuZGVyT2JqZWN0IHRyZWUgbWFuaXB1bGF0aW9uCiAgICAgLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAgICAgdmlydHVhbCBib29sIGNh
bkhhdmVDaGlsZHJlbigpIGNvbnN0IHsgcmV0dXJuIHZpcnR1YWxDaGlsZHJlbigpOyB9Ci0gICAg
dmlydHVhbCBib29sIGNhbkRPTUNoaWxkcmVuSGF2ZVJlbmRlclBhcmVudCgpIGNvbnN0IHsgcmV0
dXJuIGZhbHNlOyB9IC8vIEV2ZW4gaWYgdGhpcyByZW5kZXIgb2JqZWN0IGNhbid0IGhhdmUgcmVu
ZGVyIGNoaWxkcmVuLCB0aGUgY2hpbGRyZW4gaW4gdGhlIERPTSB0cmVlIG1heSBoYXZlIGEgcmVu
ZGVyIHBhcmVudCAodGhhdCBpcyBkaWZmZXJlbnQgZnJvbSB0aGlzIG9iamVjdCkuCiAgICAgdmly
dHVhbCBib29sIGNhbkhhdmVHZW5lcmF0ZWRDaGlsZHJlbigpIGNvbnN0OwogICAgIHZpcnR1YWwg
Ym9vbCBpc0NoaWxkQWxsb3dlZChSZW5kZXJPYmplY3QqLCBSZW5kZXJTdHlsZSopIGNvbnN0IHsg
cmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIHZvaWQgYWRkQ2hpbGQoUmVuZGVyT2JqZWN0KiBu
ZXdDaGlsZCwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCA9IDApOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlZ2lvbi5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclJlZ2lvbi5oCmluZGV4IDFkNmY2NTIuLmUwM2QyMjAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZWdpb24uaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyUmVnaW9uLmgKQEAgLTE0NSw3ICsxNDUsNiBAQCBwcml2YXRl
OgogICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0IHsgcmV0dXJuICJS
ZW5kZXJSZWdpb24iOyB9CiAKICAgICB2aXJ0dWFsIGJvb2wgY2FuSGF2ZUNoaWxkcmVuKCkgY29u
c3QgT1ZFUlJJREUgeyByZXR1cm4gZmFsc2U7IH0KLSAgICB2aXJ0dWFsIGJvb2wgY2FuRE9NQ2hp
bGRyZW5IYXZlUmVuZGVyUGFyZW50KCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gdHJ1ZTsgfQog
CiAgICAgdmlydHVhbCB2b2lkIGluc2VydGVkSW50b1RyZWUoKSBPVkVSUklERTsKICAgICB2aXJ0
dWFsIHZvaWQgd2lsbEJlUmVtb3ZlZEZyb21UcmVlKCkgT1ZFUlJJREU7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RWxlbWVudC5jcHAKaW5kZXggNTA4MTFiYi4uZWFmOGJjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVt
ZW50LmNwcApAQCAtNDUyLDEyICs0NTIsNiBAQCBzdGF0aWMgYm9vbCBoYXNMb2FkTGlzdGVuZXIo
RWxlbWVudCogZWxlbWVudCkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wgU1ZHRWxlbWVu
dDo6bW92ZVRvRmxvd1RocmVhZElzTmVlZGVkKFJlZlB0cjxSZW5kZXJTdHlsZT4mIGNhY2hlZFN0
eWxlKQotewotICAgIC8vIEFsbG93IG9ubHkgc3ZnIHJvb3QgZWxlbWVudHMgdG8gYmUgZGlyZWN0
bHkgY29sbGVjdGVkIGJ5IGEgcmVuZGVyIGZsb3cgdGhyZWFkLgotICAgIHJldHVybiBwYXJlbnRO
b2RlKCkgJiYgIXBhcmVudE5vZGUoKS0+aXNTVkdFbGVtZW50KCkgJiYgaGFzVGFnTmFtZShTVkdO
YW1lczo6c3ZnVGFnKSAmJiBFbGVtZW50Ojptb3ZlVG9GbG93VGhyZWFkSXNOZWVkZWQoY2FjaGVk
U3R5bGUpOwotfQotCiB2b2lkIFNWR0VsZW1lbnQ6OnNlbmRTVkdMb2FkRXZlbnRJZlBvc3NpYmxl
KGJvb2wgc2VuZFBhcmVudExvYWRFdmVudHMpCiB7CiAgICAgUmVmUHRyPFNWR0VsZW1lbnQ+IGN1
cnJlbnRUYXJnZXQgPSB0aGlzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Vs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmgKaW5kZXggYmNlNDZlYS4u
ZGI3NGMyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5oCkBAIC0xMjAsOCArMTIwLDYgQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgYm9vbCBhZGRFdmVudExpc3RlbmVyKGNvbnN0IEF0b21pY1N0cmlu
ZyYgZXZlbnRUeXBlLCBQYXNzUmVmUHRyPEV2ZW50TGlzdGVuZXI+LCBib29sIHVzZUNhcHR1cmUp
IE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCByZW1vdmVFdmVudExpc3RlbmVyKGNvbnN0IEF0
b21pY1N0cmluZyYgZXZlbnRUeXBlLCBFdmVudExpc3RlbmVyKiwgYm9vbCB1c2VDYXB0dXJlKSBP
VkVSUklERTsKIAotICAgIHZpcnR1YWwgYm9vbCBtb3ZlVG9GbG93VGhyZWFkSXNOZWVkZWQoUmVm
UHRyPFJlbmRlclN0eWxlPiYgY2FjaGVkU3R5bGUpIE9WRVJSSURFOwotCiBwcm90ZWN0ZWQ6CiAg
ICAgU1ZHRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqLCBDb25zdHJ1Y3Rp
b25UeXBlID0gQ3JlYXRlU1ZHRWxlbWVudCk7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>