<?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>111959</bug_id>
          
          <creation_ts>2013-03-11 01:10:30 -0700</creation_ts>
          <short_desc>Rename DefinitelyProcessingUserGesture to DefinitelyProcessingNewUserGesture</short_desc>
          <delta_ts>2013-03-11 18:18:12 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>111923</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter>jochen</reporter>
          <assigned_to>jochen</assigned_to>
          <cc>abarth</cc>
    
    <cc>aboxhall</cc>
    
    <cc>apinheiro</cc>
    
    <cc>ap</cc>
    
    <cc>cfleizach</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>jdiggs</cc>
    
    <cc>mifenton</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>852099</commentid>
    <comment_count>0</comment_count>
    <who name="">jochen</who>
    <bug_when>2013-03-11 01:10:30 -0700</bug_when>
    <thetext>Replace DefinitelyProcessingUserGesture with DefinitelyProcessingNewUserGesture</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>852101</commentid>
    <comment_count>1</comment_count>
      <attachid>192419</attachid>
    <who name="">jochen</who>
    <bug_when>2013-03-11 01:12:32 -0700</bug_when>
    <thetext>Created attachment 192419
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>852102</commentid>
    <comment_count>2</comment_count>
    <who name="">jochen</who>
    <bug_when>2013-03-11 01:15:02 -0700</bug_when>
    <thetext>Adam, what do you think about this?

Some background:

In EventHandler.cpp when processing e.g. a mouse press event, we pass on the event to a subframe&apos;s EventHandler if it wasn&apos;t handled. The subframe creates another UserGestureIndicator which currently increases the consumable gestures count.

That way, a web page can create arbitrarily many gestures by stacking iframes on top of each other.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>852649</commentid>
    <comment_count>3</comment_count>
    <who name="">jochen</who>
    <bug_when>2013-03-11 13:24:44 -0700</bug_when>
    <thetext>Alexey, this change touches WebKit2, can you please review it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>852663</commentid>
    <comment_count>4</comment_count>
      <attachid>192419</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-03-11 13:34:48 -0700</bug_when>
    <thetext>Comment on attachment 192419
Patch

LGTM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>852669</commentid>
    <comment_count>5</comment_count>
      <attachid>192419</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-03-11 13:39:36 -0700</bug_when>
    <thetext>Comment on attachment 192419
Patch

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

rs=me on WebKit2 part.

&gt; Source/WebCore/ChangeLog:3
&gt; +        Replace DefinitelyProcessingUserGesture with DefinitelyProcessingNewUserGesture

I&apos;d say &quot;rename&quot; to make it more clear why there is no behavior change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>852718</commentid>
    <comment_count>6</comment_count>
      <attachid>192556</attachid>
    <who name="">jochen</who>
    <bug_when>2013-03-11 14:16:42 -0700</bug_when>
    <thetext>Created attachment 192556
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>852949</commentid>
    <comment_count>7</comment_count>
      <attachid>192556</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-11 18:18:08 -0700</bug_when>
    <thetext>Comment on attachment 192556
Patch for landing

Clearing flags on attachment: 192556

Committed r145453: &lt;http://trac.webkit.org/changeset/145453&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>852950</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-11 18:18:12 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>192419</attachid>
            <date>2013-03-11 01:12:32 -0700</date>
            <delta_ts>2013-03-11 14:16:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-111959-20130311090831.patch</filename>
            <type>text/plain</type>
            <size>38182</size>
            <attacher>jochen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1MzQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGQ0ZjRmODVlNTM5ODFl
ODNmZWE4MWJhZDczZDEyNGJkZGNlNGU4ZS4uNDg4YjIyODA3ODczZjJjMTFhMGM2ZGM1MDVjYmNi
YmJmZmEwMDIxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDEzLTAzLTExICBKb2No
ZW4gRWlzaW5nZXIgIDxqb2NoZW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlcGxhY2UgRGVm
aW5pdGVseVByb2Nlc3NpbmdVc2VyR2VzdHVyZSB3aXRoIERlZmluaXRlbHlQcm9jZXNzaW5nTmV3
VXNlckdlc3R1cmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTExMTk1OQorCisgICAgICAgIFRoZSByYXRpb25hbGUgaXMgdGhhdCB0aGUgVXNlckdlc3R1
cmVJbmRpY2F0b3Igd2lsbCBpbmNyZWFzZSB0aGUgbnVtYmVyCisgICAgICAgIG9mIGNvbnN1bWFi
bGUgdXNlciBnZXN0dXJlcyB3aGVuIGl0J3MgaW52b2tlZCB3aXRoIHdoYXQgaXMgbm93CisgICAg
ICAgIERlZmluaXRlbHlQcm9jZXNzaW5nTmV3VXNlckdlc3R1cmUuCisKKyAgICAgICAgSW4gYSBm
b2xsb3ctdXAgY2hhbmdlIEkgd2lsbCByZWludHJvZHVjZSBEZWZpbml0ZWx5UHJvY2Vzc2luZ1Vz
ZXJHZXN0dXJlCisgICAgICAgIHdoaWNoIHdpbGwgb25seSBpbmNyZWFzZSB0aGUgY29uc3VtYWJs
ZSB1c2VyIGdlc3R1cmUgY291bnQgaWYgd2UgYXJlCisgICAgICAgIG5vdCBhbHJlYWR5IHByb2Nl
c3NpbmcgYSB1c2VyIGdlc3R1cmUuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBubyBjaGFuZ2Ug
aW4gZnVuY3Rpb25hbGl0eS4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eU5vZGVPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU5vZGVPYmpl
Y3Q6OmluY3JlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5Tm9kZU9iamVj
dDo6ZGVjcmVtZW50KToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmpl
Y3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdDo6cHJlc3MpOgor
ICAgICAgICAqIGJpbmRpbmdzL1NjcmlwdENvbnRyb2xsZXJCYXNlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNjcmlwdENvbnRyb2xsZXI6OmV4ZWN1dGVTY3JpcHQpOgorICAgICAgICAqIGJpbmRp
bmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0Q29u
dHJvbGxlcjo6ZXhlY3V0ZVNjcmlwdEluV29ybGQpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L05Q
VjhPYmplY3QuY3BwOgorICAgICAgICAoX05QTl9FdmFsdWF0ZUhlbHBlcik6CisgICAgICAgICog
ZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmlzRGVmaW5p
dGUpOgorICAgICAgICAoV2ViQ29yZTo6VXNlckdlc3R1cmVJbmRpY2F0b3I6OlVzZXJHZXN0dXJl
SW5kaWNhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OlVzZXJHZXN0dXJlSW5kaWNhdG9yOjpwcm9j
ZXNzaW5nVXNlckdlc3R1cmUpOgorICAgICAgICAqIGRvbS9Vc2VyR2VzdHVyZUluZGljYXRvci5o
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWw6Om9wZW5Jbk5l
d1RhYik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpGcm9udGVuZE1lbnVQcm92aWRlcjo6Y29udGV4dE1lbnVJdGVtU2Vs
ZWN0ZWQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUGFnZUFnZW50OjpuYXZpZ2F0ZSk6CisgICAgICAgICog
bG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NoZWR1
bGVkVVJMTmF2aWdhdGlvbjo6ZmlyZSk6CisgICAgICAgIChXZWJDb3JlOjpTY2hlZHVsZWRVUkxO
YXZpZ2F0aW9uOjpkaWRTdGFydFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlNjaGVkdWxlZFJl
ZGlyZWN0OjpmaXJlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjaGVkdWxlZFJlZnJlc2g6OmZpcmUp
OgorICAgICAgICAoV2ViQ29yZTo6U2NoZWR1bGVkSGlzdG9yeU5hdmlnYXRpb246OmZpcmUpOgor
ICAgICAgICAoV2ViQ29yZTo6U2NoZWR1bGVkRm9ybVN1Ym1pc3Npb246OmZpcmUpOgorICAgICAg
ICAoV2ViQ29yZTo6U2NoZWR1bGVkRm9ybVN1Ym1pc3Npb246OmRpZFN0YXJ0VGltZXIpOgorICAg
ICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFu
ZGxlcjo6aGFuZGxlTW91c2VQcmVzc0V2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFu
ZGxlcjo6aGFuZGxlTW91c2VEb3VibGVDbGlja0V2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkV2
ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VSZWxlYXNlRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6
RXZlbnRIYW5kbGVyOjprZXlFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6
OmhhbmRsZVRvdWNoRXZlbnQpOgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1BvcHVwQ29u
dGFpbmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBvcHVwQ29udGFpbmVyOjpoYW5kbGVNb3Vz
ZURvd25FdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpQb3B1cENvbnRhaW5lcjo6aGFuZGxlTW91
c2VNb3ZlRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6UG9wdXBDb250YWluZXI6OmhhbmRsZU1v
dXNlUmVsZWFzZUV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlBvcHVwQ29udGFpbmVyOjpoYW5k
bGVXaGVlbEV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlBvcHVwQ29udGFpbmVyOjpoYW5kbGVL
ZXlFdmVudCk6CisKIDIwMTMtMDMtMDcgIEFsZXhhbmRlciBQYXZsb3YgIDxhcGF2bG92QGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBbRWxlbWVudHNdIFhTTFQgdHJhbnNm
b3JtYXRpb24gcmVzdWx0IGZyb20gdGhlIHhtbC1zdHlsZXNoZWV0IFBJIG5vdCByZW5kZXJlZApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKaW5kZXggZmI4MDY5ZjQ1YjgyYmM1NTk3MmFlNzFl
ODNhMTI3N2I3ZTZhNDNlNi4uY2E4Nzk1NDcxZjE5OGI3MDA2ODk4NzY4ZGU4OGZkYWFhN2MxZjVk
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTMt
MDMtMTEgIEpvY2hlbiBFaXNpbmdlciAgPGpvY2hlbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
UmVwbGFjZSBEZWZpbml0ZWx5UHJvY2Vzc2luZ1VzZXJHZXN0dXJlIHdpdGggRGVmaW5pdGVseVBy
b2Nlc3NpbmdOZXdVc2VyR2VzdHVyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTExOTU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBXZWJLaXRTdXBwb3J0L05vdGlmaWNhdGlvbk1hbmFnZXIuY3BwOgor
ICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpOb3RpZmljYXRpb25NYW5hZ2VyOjpub3RpZmlj
YXRpb25DbGlja2VkKToKKwogMjAxMy0wMy0wNyAgT3R0byBEZXJlayBDaGV1bmcgIDxvdGNoZXVu
Z0ByaW0uY29tPgogCiAgICAgICAgIFtCbGFja0JlcnJ5XSBSZWZDb3VudGluZyBQYXJzZWRDb29r
aWUgdG8gYXZvaWQgU2VnRmF1bHRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IGEyMDI3
YTc4MjQzNTJkZTk3MjUyYWU2OWExZTZhN2I3NThjYzE5ZDYuLmJlYjVhMGY5MzhiYmEwYmZlMDQ4
ZTVjNGNkODdlNTk2NzFhMGZhZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjIgQEAKKzIwMTMtMDMtMTEgIEpvY2hlbiBFaXNpbmdlciAgPGpvY2hlbkBjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgUmVwbGFjZSBEZWZpbml0ZWx5UHJvY2Vzc2luZ1VzZXJHZXN0dXJlIHdp
dGggRGVmaW5pdGVseVByb2Nlc3NpbmdOZXdVc2VyR2VzdHVyZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTExOTU5CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzcmMvV2ViRnJhbWVJbXBsLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViRnJhbWVJbXBsOjpleGVjdXRlU2NyaXB0QW5kUmV0dXJuVmFsdWUp
OgorICAgICAgICAqIHNyYy9XZWJOb3RpZmljYXRpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJOb3RpZmljYXRpb246OmRpc3BhdGNoQ2xpY2tFdmVudCk6CisgICAgICAgICogc3JjL1dlYlBs
dWdpbkNvbnRhaW5lckltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQbHVnaW5Db250YWlu
ZXJJbXBsOjpoYW5kbGVFdmVudCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBsdWdpbkNvbnRhaW5l
ckltcGw6OmxvYWRGcmFtZVJlcXVlc3QpOgorICAgICAgICAqIHNyYy9XZWJTY29wZWRVc2VyR2Vz
dHVyZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlNjb3BlZFVzZXJHZXN0dXJlOjppbml0aWFs
aXplKToKKyAgICAgICAgKiB0ZXN0cy9XZWJVc2VyR2VzdHVyZVRva2VuVGVzdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpURVNUKToKKwogMjAxMy0wMy0wOSAgU2FkcnVsIEhhYmliIENob3dkaHVy
eSAgPHNhZHJ1bEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBSZW1vdmUgZGVw
cmVjYXRlZCBmbGluZ1N0YXJ0LnNvdXJjZURldmljZSBmcm9tIFdlYkdlc3R1cmVFdmVudApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMv
Q2hhbmdlTG9nCmluZGV4IDdkOTFjNTI0NDRkNDMxMGVlZjEyNTU3Y2RiMjI1YjdkNTA0Mjg4MTIu
LmE4MjMwMDExY2U0NzdlZTkwYTIwZTllMzhlMWUyYjcyZWQ3ZDBiNGEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMy0wMy0xMSAgSm9jaGVuIEVpc2luZ2VyICA8am9jaGVu
QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXBsYWNlIERlZmluaXRlbHlQcm9jZXNzaW5nVXNl
ckdlc3R1cmUgd2l0aCBEZWZpbml0ZWx5UHJvY2Vzc2luZ05ld1VzZXJHZXN0dXJlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTE5NTkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFBsdWdpbnMvSG9zdGVk
L05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5tbToKKyAgICAgICAgKFdlYktpdDo6TmV0c2Nh
cGVQbHVnaW5JbnN0YW5jZVByb3h5OjpldmFsdWF0ZSk6CisgICAgICAgICogUGx1Z2lucy9XZWJO
ZXRzY2FwZVBsdWdpblZpZXcubW06CisgICAgICAgICgtW1dlYk5ldHNjYXBlUGx1Z2luVmlldyBz
ZW5kRXZlbnQ6aXNEcmF3UmVjdDpdKToKKwogMjAxMy0wMy0wNyAgQW5kZXJzIENhcmxzc29uICA8
YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBkaWRGb2N1c1RleHRGaWVsZDppbkZy
YW1lIHRvIFdlYkZvcm1EZWxlZ2F0ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCBkMTJkMjAzYmQ1YTNkMjFm
ODAxOGI1NTg3ZGE4NWZlZTgwZGNjMTE2Li41M2Q5N2M3MGQ5OTQ1YmE1YWUzNGRlMDM1OTk4Y2Fj
MDNhNDgxYmMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEzLTAzLTExICBK
b2NoZW4gRWlzaW5nZXIgIDxqb2NoZW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlcGxhY2Ug
RGVmaW5pdGVseVByb2Nlc3NpbmdVc2VyR2VzdHVyZSB3aXRoIERlZmluaXRlbHlQcm9jZXNzaW5n
TmV3VXNlckdlc3R1cmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTExMTk1OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQ6Om5vdGlm
aWNhdGlvbkNsaWNrZWQpOgorCiAyMDEzLTAzLTA4ICBBcnVucHJhc2FkIFJhamt1bWFyICA8YXJ1
bnByYXNhZHJAbmRzLmNvbT4KIAogICAgICAgICBbUXRdIFFXZWJTZXR0aW5nczo6Y2xlYXJNZW1v
cnlDYWNoZXMgc2hvdWxkIHJlbGVhc2UgRmFzdE1hbGxvYydzIGZyZWUgcGFnZXMgdG8gT1MKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2lu
L0NoYW5nZUxvZwppbmRleCA4YWRlMzhkMjZkZGQ5NGM3MzVmMjFjN2RlNTFkOWZmNzhlMDM0YjAz
Li5jOTJhZWM1N2JkMGM2ODk3ODcxNjAzODEzZDg5NTljZDM5NTlhN2RkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTMtMDMtMTEgIEpvY2hlbiBFaXNpbmdlciAgPGpvY2hl
bkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVwbGFjZSBEZWZpbml0ZWx5UHJvY2Vzc2luZ1Vz
ZXJHZXN0dXJlIHdpdGggRGVmaW5pdGVseVByb2Nlc3NpbmdOZXdVc2VyR2VzdHVyZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTExOTU5CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9y
dC9XZWJDb250ZXh0TWVudUNsaWVudC5jcHA6CisgICAgICAgIChXZWJDb250ZXh0TWVudUNsaWVu
dDo6c2VhcmNoV2l0aEdvb2dsZSk6CisKIDIwMTMtMDMtMDMgIFJ5b3N1a2UgTml3YSAgPHJuaXdh
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgV2luZG93cyBidWlsZCBmaXggYXR0ZW1wdCBhZnRlciBy
MTQ0NTQ3LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCmluZGV4IGMzYzNmY2VjMjQ5ZGJjOTZhNjcxNTQxMThjNDczZjMzNWE5
NjU5MTguLjMxNjlmYjRjZTdjYmYyMDI2MDVkNTRlYjM4YmY0YzEyYjZkMzFiZWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMy0wMy0xMSAgSm9jaGVuIEVpc2luZ2VyICA8am9jaGVu
QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXBsYWNlIERlZmluaXRlbHlQcm9jZXNzaW5nVXNl
ckdlc3R1cmUgd2l0aCBEZWZpbml0ZWx5UHJvY2Vzc2luZ05ld1VzZXJHZXN0dXJlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTE5NTkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlByb2Nlc3MvTm90
aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6ZGlkQ2xpY2tOb3RpZmljYXRpb24pOgorICAgICAgICAq
IFdlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGx1
Z2luVmlldzo6ZXZhbHVhdGUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViQ29udGV4dE1lbnVDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDb250ZXh0TWVu
dUNsaWVudDo6c2VhcmNoV2l0aEdvb2dsZSk6CisKIDIwMTMtMDMtMTAgIFRpbSBIb3J0b24gIDx0
aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViUGFnZTo6c2NhbGVkU25hcHNo
b3RXaXRoT3B0aW9ucyByZXR1cm5zIGEgY29ycnVwdCBzbmFwc2hvdCBpZiB5b3UgcmVxdWVzdCBh
IHJlY3QgbGFyZ2VyIHRoYW4gdGhlIEZyYW1lVmlld+KAmXMgc2l6ZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcApp
bmRleCA4ZTQxNGQ3MjU2ODhhNDUxNzcxMzE0ZDg0MDJjN2E5Y2FhZTA0YWI2Li5lYzBkOTExMTNl
MmJlMWYxZjRhZGQ4MTIyZGEwMmQ1ZmNkOTM4OTE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcApAQCAtOTg5
LDEzICs5ODksMTMgQEAgdm9pZCBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6YWx0ZXJTbGlkZXJW
YWx1ZShib29sIGluY3JlYXNlKQogICAgIAogdm9pZCBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6
aW5jcmVtZW50KCkKIHsKLSAgICBVc2VyR2VzdHVyZUluZGljYXRvciBnZXN0dXJlSW5kaWNhdG9y
KERlZmluaXRlbHlQcm9jZXNzaW5nVXNlckdlc3R1cmUpOworICAgIFVzZXJHZXN0dXJlSW5kaWNh
dG9yIGdlc3R1cmVJbmRpY2F0b3IoRGVmaW5pdGVseVByb2Nlc3NpbmdOZXdVc2VyR2VzdHVyZSk7
CiAgICAgYWx0ZXJTbGlkZXJWYWx1ZSh0cnVlKTsKIH0KIAogdm9pZCBBY2Nlc3NpYmlsaXR5Tm9k
ZU9iamVjdDo6ZGVjcmVtZW50KCkKIHsKLSAgICBVc2VyR2VzdHVyZUluZGljYXRvciBnZXN0dXJl
SW5kaWNhdG9yKERlZmluaXRlbHlQcm9jZXNzaW5nVXNlckdlc3R1cmUpOworICAgIFVzZXJHZXN0
dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3IoRGVmaW5pdGVseVByb2Nlc3NpbmdOZXdVc2Vy
R2VzdHVyZSk7CiAgICAgYWx0ZXJTbGlkZXJWYWx1ZShmYWxzZSk7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCmluZGV4
IDIzNjI1ZTNjMWViZTYzMjNjNjU0ZjkxOTgyZWI1NjhjNTk3YWE1YzUuLmQzMjkwZjI5OTlmNDYw
NjQxYjMxM2IzN2U5OWE3YmU1NzZmZTRjMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcApAQCAtNTYxLDcgKzU2MSw3IEBA
IGJvb2wgQWNjZXNzaWJpbGl0eU9iamVjdDo6cHJlc3MoKSBjb25zdAogICAgIGlmIChGcmFtZSog
ZiA9IGFjdGlvbkVsZW0tPmRvY3VtZW50KCktPmZyYW1lKCkpCiAgICAgICAgIGYtPmxvYWRlcigp
LT5yZXNldE11bHRpcGxlRm9ybVN1Ym1pc3Npb25Qcm90ZWN0aW9uKCk7CiAgICAgCi0gICAgVXNl
ckdlc3R1cmVJbmRpY2F0b3IgZ2VzdHVyZUluZGljYXRvcihEZWZpbml0ZWx5UHJvY2Vzc2luZ1Vz
ZXJHZXN0dXJlKTsKKyAgICBVc2VyR2VzdHVyZUluZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKERl
ZmluaXRlbHlQcm9jZXNzaW5nTmV3VXNlckdlc3R1cmUpOwogICAgIGFjdGlvbkVsZW0tPmFjY2Vz
c0tleUFjdGlvbih0cnVlKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL1NjcmlwdENvbnRyb2xsZXJCYXNlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL1NjcmlwdENvbnRyb2xsZXJCYXNlLmNwcAppbmRleCBlM2NmOGJmNTg1ZTRl
MGI1ZDllZTY4MGU4MmNiYmUxNTQ3NjVhNDM4Li4wNTgwNWQ5ZDFhOWM5MjAxMTk5YTVkNDY2ZmFk
YzE3NmE2MjA4YThhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9TY3JpcHRD
b250cm9sbGVyQmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvU2NyaXB0Q29u
dHJvbGxlckJhc2UuY3BwCkBAIC02MCw3ICs2MCw3IEBAIGJvb2wgU2NyaXB0Q29udHJvbGxlcjo6
Y2FuRXhlY3V0ZVNjcmlwdHMoUmVhc29uRm9yQ2FsbGluZ0NhbkV4ZWN1dGVTY3JpcHRzIHJlYXNv
CiAKIFNjcmlwdFZhbHVlIFNjcmlwdENvbnRyb2xsZXI6OmV4ZWN1dGVTY3JpcHQoY29uc3QgU3Ry
aW5nJiBzY3JpcHQsIGJvb2wgZm9yY2VVc2VyR2VzdHVyZSkKIHsKLSAgICBVc2VyR2VzdHVyZUlu
ZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKGZvcmNlVXNlckdlc3R1cmUgPyBEZWZpbml0ZWx5UHJv
Y2Vzc2luZ1VzZXJHZXN0dXJlIDogUG9zc2libHlQcm9jZXNzaW5nVXNlckdlc3R1cmUpOworICAg
IFVzZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3IoZm9yY2VVc2VyR2VzdHVyZSA/
IERlZmluaXRlbHlQcm9jZXNzaW5nTmV3VXNlckdlc3R1cmUgOiBQb3NzaWJseVByb2Nlc3NpbmdV
c2VyR2VzdHVyZSk7CiAgICAgcmV0dXJuIGV4ZWN1dGVTY3JpcHQoU2NyaXB0U291cmNlQ29kZShz
Y3JpcHQsIG1fZnJhbWUtPmRvY3VtZW50KCktPnVybCgpKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5jcHAKaW5kZXggYTYwNWU2MzhmNTAx
OWQ5NDdjZWNjZDVjMmJhNGIzMWM0ZTNlNWQ2OC4uMTBlYzk0YTEyODY1YmQ4ZGY3OTljODk2ZDZm
OGU5MWVkYWUxOGEwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2Ny
aXB0Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0
Q29udHJvbGxlci5jcHAKQEAgLTQ2Miw3ICs0NjIsNyBAQCB2b2lkIFNjcmlwdENvbnRyb2xsZXI6
OmNsZWFyU2NyaXB0T2JqZWN0cygpCiAKIFNjcmlwdFZhbHVlIFNjcmlwdENvbnRyb2xsZXI6OmV4
ZWN1dGVTY3JpcHRJbldvcmxkKERPTVdyYXBwZXJXb3JsZCogd29ybGQsIGNvbnN0IFN0cmluZyYg
c2NyaXB0LCBib29sIGZvcmNlVXNlckdlc3R1cmUpCiB7Ci0gICAgVXNlckdlc3R1cmVJbmRpY2F0
b3IgZ2VzdHVyZUluZGljYXRvcihmb3JjZVVzZXJHZXN0dXJlID8gRGVmaW5pdGVseVByb2Nlc3Np
bmdVc2VyR2VzdHVyZSA6IFBvc3NpYmx5UHJvY2Vzc2luZ1VzZXJHZXN0dXJlKTsKKyAgICBVc2Vy
R2VzdHVyZUluZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKGZvcmNlVXNlckdlc3R1cmUgPyBEZWZp
bml0ZWx5UHJvY2Vzc2luZ05ld1VzZXJHZXN0dXJlIDogUG9zc2libHlQcm9jZXNzaW5nVXNlckdl
c3R1cmUpOwogICAgIFNjcmlwdFNvdXJjZUNvZGUgc291cmNlQ29kZShzY3JpcHQsIG1fZnJhbWUt
PmRvY3VtZW50KCktPnVybCgpKTsKIAogICAgIGlmICghY2FuRXhlY3V0ZVNjcmlwdHMoQWJvdXRU
b0V4ZWN1dGVTY3JpcHQpIHx8IGlzUGF1c2VkKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9OUFY4T2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L05QVjhPYmplY3QuY3BwCmluZGV4IDVhODZmNjRiMTdjY2QzNjZiZjdhZmNkNzA4MjRlNzFjYmU1
YWRhZmIuLjVkMTNhOGYyMmIwYzNiYjZiYzNhOWIwOGYzNzM4ZWFlNDQ2YTk5MzkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L05QVjhPYmplY3QuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L05QVjhPYmplY3QuY3BwCkBAIC0zMzMsNyArMzMzLDcgQEAg
Ym9vbCBfTlBOX0V2YWx1YXRlSGVscGVyKE5QUCBucHAsIGJvb2wgcG9wdXBzQWxsb3dlZCwgTlBP
YmplY3QqIG5wT2JqZWN0LCBOUFN0cmkKIAogICAgIFN0cmluZyBzY3JpcHQgPSBTdHJpbmc6OmZy
b21VVEY4KG5wU2NyaXB0LT5VVEY4Q2hhcmFjdGVycywgbnBTY3JpcHQtPlVURjhMZW5ndGgpOwog
Ci0gICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgZ2VzdHVyZUluZGljYXRvcihwb3B1cHNBbGxvd2Vk
ID8gRGVmaW5pdGVseVByb2Nlc3NpbmdVc2VyR2VzdHVyZSA6IFBvc3NpYmx5UHJvY2Vzc2luZ1Vz
ZXJHZXN0dXJlKTsKKyAgICBVc2VyR2VzdHVyZUluZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKHBv
cHVwc0FsbG93ZWQgPyBEZWZpbml0ZWx5UHJvY2Vzc2luZ05ld1VzZXJHZXN0dXJlIDogUG9zc2li
bHlQcm9jZXNzaW5nVXNlckdlc3R1cmUpOwogICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHY4cmVz
dWx0ID0gZnJhbWUtPnNjcmlwdCgpLT5jb21waWxlQW5kUnVuU2NyaXB0KFNjcmlwdFNvdXJjZUNv
ZGUoc2NyaXB0LCBLVVJMKFBhcnNlZFVSTFN0cmluZywgZmlsZW5hbWUpKSk7CiAKICAgICBpZiAo
djhyZXN1bHQuSXNFbXB0eSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1VzZXJH
ZXN0dXJlSW5kaWNhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Vc2VyR2VzdHVyZUluZGlj
YXRvci5jcHAKaW5kZXggY2FmNmVlNmRlYmYzNGQzOGUwZjgzODExOGI1MTQ1MTU5NzA1ODI5Zi4u
ODA4NjAzNmNiYWM4MjMyN2ExNjFlMDY4Yzc4NTc3ZjFmMWQxYjBjYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuY3BwCkBAIC01OSw3ICs1OSw3IEBAIHByaXZh
dGU6CiAKIHN0YXRpYyBib29sIGlzRGVmaW5pdGUoUHJvY2Vzc2luZ1VzZXJHZXN0dXJlU3RhdGUg
c3RhdGUpCiB7Ci0gICAgcmV0dXJuIHN0YXRlID09IERlZmluaXRlbHlQcm9jZXNzaW5nVXNlckdl
c3R1cmUgfHwgc3RhdGUgPT0gRGVmaW5pdGVseU5vdFByb2Nlc3NpbmdVc2VyR2VzdHVyZTsKKyAg
ICByZXR1cm4gc3RhdGUgPT0gRGVmaW5pdGVseVByb2Nlc3NpbmdOZXdVc2VyR2VzdHVyZSB8fCBz
dGF0ZSA9PSBEZWZpbml0ZWx5Tm90UHJvY2Vzc2luZ1VzZXJHZXN0dXJlOwogfQogCiBQcm9jZXNz
aW5nVXNlckdlc3R1cmVTdGF0ZSBVc2VyR2VzdHVyZUluZGljYXRvcjo6c19zdGF0ZSA9IERlZmlu
aXRlbHlOb3RQcm9jZXNzaW5nVXNlckdlc3R1cmU7CkBAIC03OCw3ICs3OCw3IEBAIFVzZXJHZXN0
dXJlSW5kaWNhdG9yOjpVc2VyR2VzdHVyZUluZGljYXRvcihQcm9jZXNzaW5nVXNlckdlc3R1cmVT
dGF0ZSBzdGF0ZSkKICAgICAgICAgc19zdGF0ZSA9IHN0YXRlOwogICAgIH0KIAotICAgIGlmIChz
dGF0ZSA9PSBEZWZpbml0ZWx5UHJvY2Vzc2luZ1VzZXJHZXN0dXJlKQorICAgIGlmIChzdGF0ZSA9
PSBEZWZpbml0ZWx5UHJvY2Vzc2luZ05ld1VzZXJHZXN0dXJlKQogICAgICAgICBzdGF0aWNfY2Fz
dDxHZXN0dXJlVG9rZW4qPihtX3Rva2VuLmdldCgpKS0+YWRkR2VzdHVyZSgpOwogICAgIEFTU0VS
VChpc0RlZmluaXRlKHNfc3RhdGUpKTsKIH0KQEAgLTk1LDcgKzk1LDcgQEAgVXNlckdlc3R1cmVJ
bmRpY2F0b3I6OlVzZXJHZXN0dXJlSW5kaWNhdG9yKFBhc3NSZWZQdHI8VXNlckdlc3R1cmVUb2tl
bj4gdG9rZW4pCiAgICAgICAgICAgICBzdGF0aWNfY2FzdDxHZXN0dXJlVG9rZW4qPihtX3Rva2Vu
LmdldCgpKS0+YWRkR2VzdHVyZSgpOwogICAgICAgICAgICAgc3RhdGljX2Nhc3Q8R2VzdHVyZVRv
a2VuKj4odG9rZW4uZ2V0KCkpLT5jb25zdW1lR2VzdHVyZSgpOwogICAgICAgICB9Ci0gICAgICAg
IHNfc3RhdGUgPSBEZWZpbml0ZWx5UHJvY2Vzc2luZ1VzZXJHZXN0dXJlOworICAgICAgICBzX3N0
YXRlID0gRGVmaW5pdGVseVByb2Nlc3NpbmdOZXdVc2VyR2VzdHVyZTsKICAgICB9CiAKICAgICBB
U1NFUlQoaXNEZWZpbml0ZShzX3N0YXRlKSk7CkBAIC0xMTEsNyArMTExLDcgQEAgVXNlckdlc3R1
cmVJbmRpY2F0b3I6On5Vc2VyR2VzdHVyZUluZGljYXRvcigpCiAKIGJvb2wgVXNlckdlc3R1cmVJ
bmRpY2F0b3I6OnByb2Nlc3NpbmdVc2VyR2VzdHVyZSgpCiB7Ci0gICAgcmV0dXJuIHNfdG9wbW9z
dEluZGljYXRvciAmJiBzdGF0aWNfY2FzdDxHZXN0dXJlVG9rZW4qPihzX3RvcG1vc3RJbmRpY2F0
b3ItPmN1cnJlbnRUb2tlbigpKS0+aGFzR2VzdHVyZXMoKSAmJiBzX3N0YXRlID09IERlZmluaXRl
bHlQcm9jZXNzaW5nVXNlckdlc3R1cmU7CisgICAgcmV0dXJuIHNfdG9wbW9zdEluZGljYXRvciAm
JiBzdGF0aWNfY2FzdDxHZXN0dXJlVG9rZW4qPihzX3RvcG1vc3RJbmRpY2F0b3ItPmN1cnJlbnRU
b2tlbigpKS0+aGFzR2VzdHVyZXMoKSAmJiBzX3N0YXRlID09IERlZmluaXRlbHlQcm9jZXNzaW5n
TmV3VXNlckdlc3R1cmU7CiB9CiAKIGJvb2wgVXNlckdlc3R1cmVJbmRpY2F0b3I6OmNvbnN1bWVV
c2VyR2VzdHVyZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVXNlckdlc3R1cmVJ
bmRpY2F0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Vc2VyR2VzdHVyZUluZGljYXRvci5oCmlu
ZGV4IDRiMzE0OWIwMDE0ODI3OTVkMWI4ZGM3ODk2YzgwM2I2ODAyMzkwNDUuLjhkMzI1OWJmMjRl
NjAxYzc3OTgyZWExOGI2NTBlMTg1NjlmYzczYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Vc2VyR2VzdHVyZUluZGljYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Vc2Vy
R2VzdHVyZUluZGljYXRvci5oCkBAIC0zMyw3ICszMyw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIGVudW0gUHJvY2Vzc2luZ1VzZXJHZXN0dXJlU3RhdGUgewotICAgIERlZmluaXRlbHlQcm9j
ZXNzaW5nVXNlckdlc3R1cmUsCisgICAgRGVmaW5pdGVseVByb2Nlc3NpbmdOZXdVc2VyR2VzdHVy
ZSwKICAgICBQb3NzaWJseVByb2Nlc3NpbmdVc2VyR2VzdHVyZSwKICAgICBEZWZpbml0ZWx5Tm90
UHJvY2Vzc2luZ1VzZXJHZXN0dXJlCiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwCmluZGV4IDA3ODczOWMw
ZDA5YWI5MTg4YjdmMDMzMGM1YzgwMmI4NzhjNTBhMDkuLjEwYTRhYmFlOWNlNmYxZTUzYjQ5ZWY5
MzM5ZTM4ZTg4YjY1MWIzOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHAKQEAgLTE4Nyw3ICsxODcsNyBA
QCB2b2lkIEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWw6OmNoYW5nZUF0dGFjaGVkV2luZG93
SGVpZ2h0KHVuc2lnbmVkIGhlaWdodCkKIAogdm9pZCBJbnNwZWN0b3JGcm9udGVuZENsaWVudExv
Y2FsOjpvcGVuSW5OZXdUYWIoY29uc3QgU3RyaW5nJiB1cmwpCiB7Ci0gICAgVXNlckdlc3R1cmVJ
bmRpY2F0b3IgaW5kaWNhdG9yKERlZmluaXRlbHlQcm9jZXNzaW5nVXNlckdlc3R1cmUpOworICAg
IFVzZXJHZXN0dXJlSW5kaWNhdG9yIGluZGljYXRvcihEZWZpbml0ZWx5UHJvY2Vzc2luZ05ld1Vz
ZXJHZXN0dXJlKTsKICAgICBQYWdlKiBwYWdlID0gbV9pbnNwZWN0b3JDb250cm9sbGVyLT5pbnNw
ZWN0ZWRQYWdlKCk7CiAgICAgRnJhbWUqIG1haW5GcmFtZSA9IHBhZ2UtPm1haW5GcmFtZSgpOwog
ICAgIEZyYW1lTG9hZFJlcXVlc3QgcmVxdWVzdChtYWluRnJhbWUtPmRvY3VtZW50KCktPnNlY3Vy
aXR5T3JpZ2luKCksIFJlc291cmNlUmVxdWVzdCgpLCAiX2JsYW5rIik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwCmluZGV4IDVkZTll
NDFiNjY5Y2RiZjYwMTZlZjNhMzgxZjE1ZTM2ZGM1ZDcxMGYuLjgxOGVjMjIxNzJjODdmZWJhNmQ0
NjlmMmUzODc4Nzg3ODY0MTRjZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwCkBAIC05NSw3ICs5NSw3IEBAIHByaXZhdGU6CiAg
ICAgdmlydHVhbCB2b2lkIGNvbnRleHRNZW51SXRlbVNlbGVjdGVkKENvbnRleHRNZW51SXRlbSog
aXRlbSkKICAgICB7CiAgICAgICAgIGlmIChtX2Zyb250ZW5kSG9zdCkgewotICAgICAgICAgICAg
VXNlckdlc3R1cmVJbmRpY2F0b3IgZ2VzdHVyZUluZGljYXRvcihEZWZpbml0ZWx5UHJvY2Vzc2lu
Z1VzZXJHZXN0dXJlKTsKKyAgICAgICAgICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJ
bmRpY2F0b3IoRGVmaW5pdGVseVByb2Nlc3NpbmdOZXdVc2VyR2VzdHVyZSk7CiAgICAgICAgICAg
ICBpbnQgaXRlbU51bWJlciA9IGl0ZW0tPmFjdGlvbigpIC0gQ29udGV4dE1lbnVJdGVtQmFzZUN1
c3RvbVRhZzsKIAogICAgICAgICAgICAgU2NyaXB0RnVuY3Rpb25DYWxsIGZ1bmN0aW9uKG1fZnJv
bnRlbmRBcGlPYmplY3QsICJjb250ZXh0TWVudUl0ZW1TZWxlY3RlZCIpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcAppbmRleCA2YzE0N2Q1MzQy
ZjVlODhiMDIxZGQ3MGY4MmFiNzJiY2QwMDBhODI2Li4zN2Y3MzRlOTlkMDJiMjQ3YjExYjRiMmYx
N2QwMjM2NzMzOGYzYTE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yUGFnZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yUGFnZUFnZW50LmNwcApAQCAtNDY0LDcgKzQ2NCw3IEBAIHZvaWQgSW5zcGVjdG9yUGFnZUFn
ZW50OjpyZWxvYWQoRXJyb3JTdHJpbmcqLCBjb25zdCBib29sKiBjb25zdCBvcHRpb25hbElnbm9y
ZUNhCiAKIHZvaWQgSW5zcGVjdG9yUGFnZUFnZW50OjpuYXZpZ2F0ZShFcnJvclN0cmluZyosIGNv
bnN0IFN0cmluZyYgdXJsKQogewotICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGluZGljYXRvcihE
ZWZpbml0ZWx5UHJvY2Vzc2luZ1VzZXJHZXN0dXJlKTsKKyAgICBVc2VyR2VzdHVyZUluZGljYXRv
ciBpbmRpY2F0b3IoRGVmaW5pdGVseVByb2Nlc3NpbmdOZXdVc2VyR2VzdHVyZSk7CiAgICAgRnJh
bWUqIGZyYW1lID0gbV9wYWdlLT5tYWluRnJhbWUoKTsKICAgICBmcmFtZS0+bG9hZGVyKCktPmNo
YW5nZUxvY2F0aW9uKGZyYW1lLT5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpLCBmcmFtZS0+
ZG9jdW1lbnQoKS0+Y29tcGxldGVVUkwodXJsKSwgIiIsIGZhbHNlLCBmYWxzZSk7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAKaW5kZXggZjgwNDk4
OGZiMmU5MGY2YTNjZWQ5YWVmZWE4ZWE3YmQxMzJhODM1Yi4uYzdmMjU1YTQ2MWM2NDU0N2M1NzBj
NzVjYjliYTI3NjI0YWQ4OGFkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL05h
dmlnYXRpb25TY2hlZHVsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0
aW9uU2NoZWR1bGVyLmNwcApAQCAtMTA2LDcgKzEwNiw3IEBAIHByb3RlY3RlZDoKIAogICAgIHZp
cnR1YWwgdm9pZCBmaXJlKEZyYW1lKiBmcmFtZSkKICAgICB7Ci0gICAgICAgIFVzZXJHZXN0dXJl
SW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3Iod2FzVXNlckdlc3R1cmUoKSA/IERlZmluaXRlbHlQ
cm9jZXNzaW5nVXNlckdlc3R1cmUgOiBEZWZpbml0ZWx5Tm90UHJvY2Vzc2luZ1VzZXJHZXN0dXJl
KTsKKyAgICAgICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgZ2VzdHVyZUluZGljYXRvcih3YXNVc2Vy
R2VzdHVyZSgpID8gRGVmaW5pdGVseVByb2Nlc3NpbmdOZXdVc2VyR2VzdHVyZSA6IERlZmluaXRl
bHlOb3RQcm9jZXNzaW5nVXNlckdlc3R1cmUpOwogICAgICAgICBmcmFtZS0+bG9hZGVyKCktPmNo
YW5nZUxvY2F0aW9uKG1fc2VjdXJpdHlPcmlnaW4uZ2V0KCksIEtVUkwoUGFyc2VkVVJMU3RyaW5n
LCBtX3VybCksIG1fcmVmZXJyZXIsIGxvY2tIaXN0b3J5KCksIGxvY2tCYWNrRm9yd2FyZExpc3Qo
KSwgZmFsc2UpOwogICAgIH0KIApAQCAtMTE2LDcgKzExNiw3IEBAIHByb3RlY3RlZDoKICAgICAg
ICAgICAgIHJldHVybjsKICAgICAgICAgbV9oYXZlVG9sZENsaWVudCA9IHRydWU7CiAKLSAgICAg
ICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgZ2VzdHVyZUluZGljYXRvcih3YXNVc2VyR2VzdHVyZSgp
ID8gRGVmaW5pdGVseVByb2Nlc3NpbmdVc2VyR2VzdHVyZSA6IERlZmluaXRlbHlOb3RQcm9jZXNz
aW5nVXNlckdlc3R1cmUpOworICAgICAgICBVc2VyR2VzdHVyZUluZGljYXRvciBnZXN0dXJlSW5k
aWNhdG9yKHdhc1VzZXJHZXN0dXJlKCkgPyBEZWZpbml0ZWx5UHJvY2Vzc2luZ05ld1VzZXJHZXN0
dXJlIDogRGVmaW5pdGVseU5vdFByb2Nlc3NpbmdVc2VyR2VzdHVyZSk7CiAgICAgICAgIGZyYW1l
LT5sb2FkZXIoKS0+Y2xpZW50UmVkaXJlY3RlZChLVVJMKFBhcnNlZFVSTFN0cmluZywgbV91cmwp
LCBkZWxheSgpLCBjdXJyZW50VGltZSgpICsgdGltZXItPm5leHRGaXJlSW50ZXJ2YWwoKSwgbG9j
a0JhY2tGb3J3YXJkTGlzdCgpKTsKICAgICB9CiAKQEAgLTE1Nyw3ICsxNTcsNyBAQCBwdWJsaWM6
CiAKICAgICB2aXJ0dWFsIHZvaWQgZmlyZShGcmFtZSogZnJhbWUpCiAgICAgewotICAgICAgICBV
c2VyR2VzdHVyZUluZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKHdhc1VzZXJHZXN0dXJlKCkgPyBE
ZWZpbml0ZWx5UHJvY2Vzc2luZ1VzZXJHZXN0dXJlIDogRGVmaW5pdGVseU5vdFByb2Nlc3NpbmdV
c2VyR2VzdHVyZSk7CisgICAgICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0
b3Iod2FzVXNlckdlc3R1cmUoKSA/IERlZmluaXRlbHlQcm9jZXNzaW5nTmV3VXNlckdlc3R1cmUg
OiBEZWZpbml0ZWx5Tm90UHJvY2Vzc2luZ1VzZXJHZXN0dXJlKTsKICAgICAgICAgYm9vbCByZWZy
ZXNoID0gZXF1YWxJZ25vcmluZ0ZyYWdtZW50SWRlbnRpZmllcihmcmFtZS0+ZG9jdW1lbnQoKS0+
dXJsKCksIEtVUkwoUGFyc2VkVVJMU3RyaW5nLCB1cmwoKSkpOwogICAgICAgICBmcmFtZS0+bG9h
ZGVyKCktPmNoYW5nZUxvY2F0aW9uKHNlY3VyaXR5T3JpZ2luKCksIEtVUkwoUGFyc2VkVVJMU3Ry
aW5nLCB1cmwoKSksIHJlZmVycmVyKCksIGxvY2tIaXN0b3J5KCksIGxvY2tCYWNrRm9yd2FyZExp
c3QoKSwgcmVmcmVzaCk7CiAgICAgfQpAQCAtMTc4LDcgKzE3OCw3IEBAIHB1YmxpYzoKIAogICAg
IHZpcnR1YWwgdm9pZCBmaXJlKEZyYW1lKiBmcmFtZSkKICAgICB7Ci0gICAgICAgIFVzZXJHZXN0
dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3Iod2FzVXNlckdlc3R1cmUoKSA/IERlZmluaXRl
bHlQcm9jZXNzaW5nVXNlckdlc3R1cmUgOiBEZWZpbml0ZWx5Tm90UHJvY2Vzc2luZ1VzZXJHZXN0
dXJlKTsKKyAgICAgICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgZ2VzdHVyZUluZGljYXRvcih3YXNV
c2VyR2VzdHVyZSgpID8gRGVmaW5pdGVseVByb2Nlc3NpbmdOZXdVc2VyR2VzdHVyZSA6IERlZmlu
aXRlbHlOb3RQcm9jZXNzaW5nVXNlckdlc3R1cmUpOwogICAgICAgICBmcmFtZS0+bG9hZGVyKCkt
PmNoYW5nZUxvY2F0aW9uKHNlY3VyaXR5T3JpZ2luKCksIEtVUkwoUGFyc2VkVVJMU3RyaW5nLCB1
cmwoKSksIHJlZmVycmVyKCksIGxvY2tIaXN0b3J5KCksIGxvY2tCYWNrRm9yd2FyZExpc3QoKSwg
dHJ1ZSk7CiAgICAgfQogfTsKQEAgLTE5Myw3ICsxOTMsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0
dWFsIHZvaWQgZmlyZShGcmFtZSogZnJhbWUpCiAgICAgewotICAgICAgICBVc2VyR2VzdHVyZUlu
ZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKHdhc1VzZXJHZXN0dXJlKCkgPyBEZWZpbml0ZWx5UHJv
Y2Vzc2luZ1VzZXJHZXN0dXJlIDogRGVmaW5pdGVseU5vdFByb2Nlc3NpbmdVc2VyR2VzdHVyZSk7
CisgICAgICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3Iod2FzVXNlckdl
c3R1cmUoKSA/IERlZmluaXRlbHlQcm9jZXNzaW5nTmV3VXNlckdlc3R1cmUgOiBEZWZpbml0ZWx5
Tm90UHJvY2Vzc2luZ1VzZXJHZXN0dXJlKTsKIAogICAgICAgICBpZiAoIW1faGlzdG9yeVN0ZXBz
KSB7CiAgICAgICAgICAgICAvLyBTcGVjaWFsIGNhc2UgZm9yIGdvKDApIGZyb20gYSBmcmFtZSAt
PiByZWxvYWQgb25seSB0aGUgZnJhbWUKQEAgLTIyMiw3ICsyMjIsNyBAQCBwdWJsaWM6CiAKICAg
ICB2aXJ0dWFsIHZvaWQgZmlyZShGcmFtZSogZnJhbWUpCiAgICAgewotICAgICAgICBVc2VyR2Vz
dHVyZUluZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKHdhc1VzZXJHZXN0dXJlKCkgPyBEZWZpbml0
ZWx5UHJvY2Vzc2luZ1VzZXJHZXN0dXJlIDogRGVmaW5pdGVseU5vdFByb2Nlc3NpbmdVc2VyR2Vz
dHVyZSk7CisgICAgICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3Iod2Fz
VXNlckdlc3R1cmUoKSA/IERlZmluaXRlbHlQcm9jZXNzaW5nTmV3VXNlckdlc3R1cmUgOiBEZWZp
bml0ZWx5Tm90UHJvY2Vzc2luZ1VzZXJHZXN0dXJlKTsKIAogICAgICAgICAvLyBUaGUgc3VibWl0
Rm9ybSBmdW5jdGlvbiB3aWxsIGZpbmQgYSB0YXJnZXQgZnJhbWUgYmVmb3JlIHVzaW5nIHRoZSBy
ZWRpcmVjdGlvbiB0aW1lci4KICAgICAgICAgLy8gTm93IHRoYXQgdGhlIHRpbWVyIGhhcyBmaXJl
ZCwgd2UgbmVlZCB0byByZXBlYXQgdGhlIHNlY3VyaXR5IGNoZWNrIHdoaWNoIG5vcm1hbGx5IGlz
IGRvbmUgd2hlbgpAQCAtMjQyLDcgKzI0Miw3IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHJldHVy
bjsKICAgICAgICAgbV9oYXZlVG9sZENsaWVudCA9IHRydWU7CiAKLSAgICAgICAgVXNlckdlc3R1
cmVJbmRpY2F0b3IgZ2VzdHVyZUluZGljYXRvcih3YXNVc2VyR2VzdHVyZSgpID8gRGVmaW5pdGVs
eVByb2Nlc3NpbmdVc2VyR2VzdHVyZSA6IERlZmluaXRlbHlOb3RQcm9jZXNzaW5nVXNlckdlc3R1
cmUpOworICAgICAgICBVc2VyR2VzdHVyZUluZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKHdhc1Vz
ZXJHZXN0dXJlKCkgPyBEZWZpbml0ZWx5UHJvY2Vzc2luZ05ld1VzZXJHZXN0dXJlIDogRGVmaW5p
dGVseU5vdFByb2Nlc3NpbmdVc2VyR2VzdHVyZSk7CiAgICAgICAgIGZyYW1lLT5sb2FkZXIoKS0+
Y2xpZW50UmVkaXJlY3RlZChtX3N1Ym1pc3Npb24tPnJlcXVlc3RVUkwoKSwgZGVsYXkoKSwgY3Vy
cmVudFRpbWUoKSArIHRpbWVyLT5uZXh0RmlyZUludGVydmFsKCksIGxvY2tCYWNrRm9yd2FyZExp
c3QoKSk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFu
ZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKaW5kZXggOTRh
ODQwMjRjMzI0YjdmYmE1MTAzZjAwZGE2ZGRmZmEyNDY0ZjdhZS4uZjc0MjkyMDNiNjc4ZmJmMDk0
NzU1MGM3M2RiMDQ3MWVhNjMxNDkwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9F
dmVudEhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNw
cApAQCAtMTQ1NCw3ICsxNDU0LDcgQEAgYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlUHJl
c3NFdmVudChjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIG1vdXNlRXZlbnQpCiAgICAgICAgIHJl
dHVybiB0cnVlOwogI2VuZGlmCiAKLSAgICBVc2VyR2VzdHVyZUluZGljYXRvciBnZXN0dXJlSW5k
aWNhdG9yKERlZmluaXRlbHlQcm9jZXNzaW5nVXNlckdlc3R1cmUpOworICAgIFVzZXJHZXN0dXJl
SW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3IoRGVmaW5pdGVseVByb2Nlc3NpbmdOZXdVc2VyR2Vz
dHVyZSk7CiAgICAgbV9sYXN0TW91c2VEb3duVXNlckdlc3R1cmVUb2tlbiA9IGdlc3R1cmVJbmRp
Y2F0b3IuY3VycmVudFRva2VuKCk7CiAKICAgICAvLyBGSVhNRSAoYnVnIDY4MTg1KTogdGhpcyBj
YWxsIHNob3VsZCBiZSBtYWRlIGF0IGFub3RoZXIgYWJzdHJhY3Rpb24gbGF5ZXIKQEAgLTE1ODgs
NyArMTU4OCw3IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZURvdWJsZUNsaWNrRXZl
bnQoY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBtb3VzZUV2CiAKICAgICBtX2ZyYW1lLT5zZWxl
Y3Rpb24oKS0+c2V0Q2FyZXRCbGlua2luZ1N1c3BlbmRlZChmYWxzZSk7CiAKLSAgICBVc2VyR2Vz
dHVyZUluZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKERlZmluaXRlbHlQcm9jZXNzaW5nVXNlckdl
c3R1cmUpOworICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3IoRGVmaW5p
dGVseVByb2Nlc3NpbmdOZXdVc2VyR2VzdHVyZSk7CiAKICAgICAvLyBXZSBnZXQgdGhpcyBpbnN0
ZWFkIG9mIGEgc2Vjb25kIG1vdXNlLXVwIAogICAgIG1fbW91c2VQcmVzc2VkID0gZmFsc2U7CkBA
IC0xODMxLDcgKzE4MzEsNyBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VSZWxlYXNl
RXZlbnQoY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBtb3VzZUV2ZW50KQogICAgIGlmIChtX2xh
c3RNb3VzZURvd25Vc2VyR2VzdHVyZVRva2VuKQogICAgICAgICBnZXN0dXJlSW5kaWNhdG9yID0g
YWRvcHRQdHIobmV3IFVzZXJHZXN0dXJlSW5kaWNhdG9yKG1fbGFzdE1vdXNlRG93blVzZXJHZXN0
dXJlVG9rZW4ucmVsZWFzZSgpKSk7CiAgICAgZWxzZQotICAgICAgICBnZXN0dXJlSW5kaWNhdG9y
ID0gYWRvcHRQdHIobmV3IFVzZXJHZXN0dXJlSW5kaWNhdG9yKERlZmluaXRlbHlQcm9jZXNzaW5n
VXNlckdlc3R1cmUpKTsKKyAgICAgICAgZ2VzdHVyZUluZGljYXRvciA9IGFkb3B0UHRyKG5ldyBV
c2VyR2VzdHVyZUluZGljYXRvcihEZWZpbml0ZWx5UHJvY2Vzc2luZ05ld1VzZXJHZXN0dXJlKSk7
CiAKICNpZiBFTkFCTEUoUEFOX1NDUk9MTElORykKICAgICBtX2F1dG9zY3JvbGxDb250cm9sbGVy
LT5oYW5kbGVNb3VzZVJlbGVhc2VFdmVudChtb3VzZUV2ZW50KTsKQEAgLTMxNTYsNyArMzE1Niw3
IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjprZXlFdmVudChjb25zdCBQbGF0Zm9ybUtleWJvYXJkRXZl
bnQmIGluaXRpYWxLZXlFdmVudCkKICAgICBpZiAoIW5vZGUpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKIAotICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3IoRGVmaW5pdGVs
eVByb2Nlc3NpbmdVc2VyR2VzdHVyZSk7CisgICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgZ2VzdHVy
ZUluZGljYXRvcihEZWZpbml0ZWx5UHJvY2Vzc2luZ05ld1VzZXJHZXN0dXJlKTsKICAgICBVc2Vy
VHlwaW5nR2VzdHVyZUluZGljYXRvciB0eXBpbmdHZXN0dXJlSW5kaWNhdG9yKG1fZnJhbWUpOwog
CiAgICAgaWYgKEZyYW1lVmlldyogdmlldyA9IG1fZnJhbWUtPnZpZXcoKSkKQEAgLTM4NTMsNyAr
Mzg1Myw3IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVUb3VjaEV2ZW50KGNvbnN0IFBsYXRm
b3JtVG91Y2hFdmVudCYgZXZlbnQpCiAKICAgICBjb25zdCBWZWN0b3I8UGxhdGZvcm1Ub3VjaFBv
aW50PiYgcG9pbnRzID0gZXZlbnQudG91Y2hQb2ludHMoKTsKIAotICAgIFVzZXJHZXN0dXJlSW5k
aWNhdG9yIGdlc3R1cmVJbmRpY2F0b3IoRGVmaW5pdGVseVByb2Nlc3NpbmdVc2VyR2VzdHVyZSk7
CisgICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgZ2VzdHVyZUluZGljYXRvcihEZWZpbml0ZWx5UHJv
Y2Vzc2luZ05ld1VzZXJHZXN0dXJlKTsKIAogICAgIHVuc2lnbmVkIGk7CiAgICAgYm9vbCBmcmVz
aFRvdWNoRXZlbnRzID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2Nocm9taXVtL1BvcHVwQ29udGFpbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2No
cm9taXVtL1BvcHVwQ29udGFpbmVyLmNwcAppbmRleCA0OTI1ZTA0NDJlZDJkNDMwZmI2ZGUyMzcx
MzEwODE0ZDk3ZDJkODhiLi45ZmI0M2MzOTY2NGZiMWZiOGVhYmRlZmQ0NjcwMWNkMDFkYmYzMDJi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cENvbnRh
aW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBDb250
YWluZXIuY3BwCkBAIC0yNzEsMTQgKzI3MSwxNCBAQCBpbnQgUG9wdXBDb250YWluZXI6OmxheW91
dEFuZEdldFJUTE9mZnNldCgpCiAKIGJvb2wgUG9wdXBDb250YWluZXI6OmhhbmRsZU1vdXNlRG93
bkV2ZW50KGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYgZXZlbnQpCiB7Ci0gICAgVXNlckdlc3R1
cmVJbmRpY2F0b3IgZ2VzdHVyZUluZGljYXRvcihEZWZpbml0ZWx5UHJvY2Vzc2luZ1VzZXJHZXN0
dXJlKTsKKyAgICBVc2VyR2VzdHVyZUluZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKERlZmluaXRl
bHlQcm9jZXNzaW5nTmV3VXNlckdlc3R1cmUpOwogICAgIHJldHVybiBtX2xpc3RCb3gtPmhhbmRs
ZU1vdXNlRG93bkV2ZW50KAogICAgICAgICBjb25zdHJ1Y3RSZWxhdGl2ZU1vdXNlRXZlbnQoZXZl
bnQsIHRoaXMsIG1fbGlzdEJveC5nZXQoKSkpOwogfQogCiBib29sIFBvcHVwQ29udGFpbmVyOjpo
YW5kbGVNb3VzZU1vdmVFdmVudChjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIGV2ZW50KQogewot
ICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3IoRGVmaW5pdGVseVByb2Nl
c3NpbmdVc2VyR2VzdHVyZSk7CisgICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgZ2VzdHVyZUluZGlj
YXRvcihEZWZpbml0ZWx5UHJvY2Vzc2luZ05ld1VzZXJHZXN0dXJlKTsKICAgICByZXR1cm4gbV9s
aXN0Qm94LT5oYW5kbGVNb3VzZU1vdmVFdmVudCgKICAgICAgICAgY29uc3RydWN0UmVsYXRpdmVN
b3VzZUV2ZW50KGV2ZW50LCB0aGlzLCBtX2xpc3RCb3guZ2V0KCkpKTsKIH0KQEAgLTI4NiwxNCAr
Mjg2LDE0IEBAIGJvb2wgUG9wdXBDb250YWluZXI6OmhhbmRsZU1vdXNlTW92ZUV2ZW50KGNvbnN0
IFBsYXRmb3JtTW91c2VFdmVudCYgZXZlbnQpCiBib29sIFBvcHVwQ29udGFpbmVyOjpoYW5kbGVN
b3VzZVJlbGVhc2VFdmVudChjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIGV2ZW50KQogewogICAg
IFJlZlB0cjxQb3B1cENvbnRhaW5lcj4gcHJvdGVjdCh0aGlzKTsKLSAgICBVc2VyR2VzdHVyZUlu
ZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKERlZmluaXRlbHlQcm9jZXNzaW5nVXNlckdlc3R1cmUp
OworICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3IoRGVmaW5pdGVseVBy
b2Nlc3NpbmdOZXdVc2VyR2VzdHVyZSk7CiAgICAgcmV0dXJuIG1fbGlzdEJveC0+aGFuZGxlTW91
c2VSZWxlYXNlRXZlbnQoCiAgICAgICAgIGNvbnN0cnVjdFJlbGF0aXZlTW91c2VFdmVudChldmVu
dCwgdGhpcywgbV9saXN0Qm94LmdldCgpKSk7CiB9CiAKIGJvb2wgUG9wdXBDb250YWluZXI6Omhh
bmRsZVdoZWVsRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiBldmVudCkKIHsKLSAgICBV
c2VyR2VzdHVyZUluZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKERlZmluaXRlbHlQcm9jZXNzaW5n
VXNlckdlc3R1cmUpOworICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3Io
RGVmaW5pdGVseVByb2Nlc3NpbmdOZXdVc2VyR2VzdHVyZSk7CiAgICAgcmV0dXJuIG1fbGlzdEJv
eC0+aGFuZGxlV2hlZWxFdmVudCgKICAgICAgICAgY29uc3RydWN0UmVsYXRpdmVXaGVlbEV2ZW50
KGV2ZW50LCB0aGlzLCBtX2xpc3RCb3guZ2V0KCkpKTsKIH0KQEAgLTM0MCw3ICszNDAsNyBAQCBi
b29sIFBvcHVwQ29udGFpbmVyOjpoYW5kbGVHZXN0dXJlRXZlbnQoY29uc3QgUGxhdGZvcm1HZXN0
dXJlRXZlbnQmIGdlc3R1cmVFdmVudAogCiBib29sIFBvcHVwQ29udGFpbmVyOjpoYW5kbGVLZXlF
dmVudChjb25zdCBQbGF0Zm9ybUtleWJvYXJkRXZlbnQmIGV2ZW50KQogewotICAgIFVzZXJHZXN0
dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3IoRGVmaW5pdGVseVByb2Nlc3NpbmdVc2VyR2Vz
dHVyZSk7CisgICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgZ2VzdHVyZUluZGljYXRvcihEZWZpbml0
ZWx5UHJvY2Vzc2luZ05ld1VzZXJHZXN0dXJlKTsKICAgICByZXR1cm4gbV9saXN0Qm94LT5oYW5k
bGVLZXlFdmVudChldmVudCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2ti
ZXJyeS9XZWJLaXRTdXBwb3J0L05vdGlmaWNhdGlvbk1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktp
dC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvTm90aWZpY2F0aW9uTWFuYWdlci5jcHAKaW5kZXgg
MjRlN2IyYzkyZmMzMGY3NzZiYmFmMTQzNGVmZDIyYWFjY2QyOGQ4OC4uYmY4OTQwOWQwZWMwYWNh
YjU0MDQzZGRiOWFkYjAzYjZmNTc3ZTY5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFj
a2JlcnJ5L1dlYktpdFN1cHBvcnQvTm90aWZpY2F0aW9uTWFuYWdlci5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvTm90aWZpY2F0aW9uTWFuYWdlci5jcHAK
QEAgLTE4MCw3ICsxODAsNyBAQCB2b2lkIE5vdGlmaWNhdGlvbk1hbmFnZXI6Om5vdGlmaWNhdGlv
bkNsaWNrZWQoY29uc3QgU3RyaW5nJiBub3RpZmljYXRpb25JRCkKICAgICAgICAgcmV0dXJuOwog
CiAgICAgLy8gSW5kaWNhdGUgdGhhdCB0aGlzIGV2ZW50IGlzIGJlaW5nIGRpc3BhdGNoZWQgaW4g
cmVhY3Rpb24gdG8gYSB1c2VyJ3MgaW50ZXJhY3Rpb24gd2l0aCBhIHBsYXRmb3JtIG5vdGlmaWNh
dGlvbi4KLSAgICBVc2VyR2VzdHVyZUluZGljYXRvciBpbmRpY2F0b3IoRGVmaW5pdGVseVByb2Nl
c3NpbmdVc2VyR2VzdHVyZSk7CisgICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgaW5kaWNhdG9yKERl
ZmluaXRlbHlQcm9jZXNzaW5nTmV3VXNlckdlc3R1cmUpOwogICAgIG5vdGlmaWNhdGlvbi0+ZGlz
cGF0Y2hDbGlja0V2ZW50KCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJG
cmFtZUltcGwuY3BwCmluZGV4IDBhOTM5OWE5MmQzODBjNTg5MzMyNjE2MDI3NzExYmI5MzY0ODJk
MTcuLmU2YTUwZmQ1YzNkYzU1MWYxYjRjZmYyNDRiYTc1YTQ4NThjOWU5ZTAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcApAQCAtODYzLDcgKzg2Myw3IEBA
IHY4OjpIYW5kbGU8djg6OlZhbHVlPiBXZWJGcmFtZUltcGw6OmV4ZWN1dGVTY3JpcHRBbmRSZXR1
cm5WYWx1ZShjb25zdCBXZWJTY3JpcHRTCiAgICAgLy8gdGVzdHMgcGFzcy4gSWYgdGhpcyBpc24n
dCBuZWVkZWQgaW4gbm9uLXRlc3Qgc2l0dWF0aW9ucywgd2Ugc2hvdWxkCiAgICAgLy8gY29uc2lk
ZXIgcmVtb3ZpbmcgdGhpcyBjb2RlIGFuZCBjaGFuZ2luZyB0aGUgdGVzdHMuCiAgICAgLy8gaHR0
cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9ODYzOTcKLSAg
ICBVc2VyR2VzdHVyZUluZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKERlZmluaXRlbHlQcm9jZXNz
aW5nVXNlckdlc3R1cmUpOworICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0
b3IoRGVmaW5pdGVseVByb2Nlc3NpbmdOZXdVc2VyR2VzdHVyZSk7CiAKICAgICBUZXh0UG9zaXRp
b24gcG9zaXRpb24oT3JkaW5hbE51bWJlcjo6ZnJvbU9uZUJhc2VkSW50KHNvdXJjZS5zdGFydExp
bmUpLCBPcmRpbmFsTnVtYmVyOjpmaXJzdCgpKTsKICAgICByZXR1cm4gZnJhbWUoKS0+c2NyaXB0
KCktPmV4ZWN1dGVTY3JpcHQoU2NyaXB0U291cmNlQ29kZShzb3VyY2UuY29kZSwgc291cmNlLnVy
bCwgcG9zaXRpb24pKS52OFZhbHVlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJOb3RpZmljYXRpb24uY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViTm90aWZpY2F0aW9uLmNwcAppbmRleCBjOGZlODE1YzQ5MDM3N2U3YzYxMzJkMGQyOWJiOTc1
YmU3ZTMwMTdjLi5iYjQ3ZmI3NGY2YWFhNzE4YmE3NDNjZGEyNDQ2ODI0NDkwMmYwN2U3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJOb3RpZmljYXRpb24uY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk5vdGlmaWNhdGlvbi5jcHAKQEAgLTEz
NSw3ICsxMzUsNyBAQCB2b2lkIFdlYk5vdGlmaWNhdGlvbjo6ZGlzcGF0Y2hDbG9zZUV2ZW50KGJv
b2wgLyogYnlVc2VyICovKQogCiB2b2lkIFdlYk5vdGlmaWNhdGlvbjo6ZGlzcGF0Y2hDbGlja0V2
ZW50KCkKIHsKLSAgICBVc2VyR2VzdHVyZUluZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKERlZmlu
aXRlbHlQcm9jZXNzaW5nVXNlckdlc3R1cmUpOworICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGdl
c3R1cmVJbmRpY2F0b3IoRGVmaW5pdGVseVByb2Nlc3NpbmdOZXdVc2VyR2VzdHVyZSk7CiAgICAg
V2luZG93Rm9jdXNBbGxvd2VkSW5kaWNhdG9yIHdpbmRvd0ZvY3VzQWxsb3dlZDsKICAgICBkaXNw
YXRjaEV2ZW50KGV2ZW50TmFtZXMoKS5jbGlja0V2ZW50KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBsdWdpbkNvbnRhaW5lckltcGwuY3BwIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luQ29udGFpbmVySW1wbC5jcHAKaW5kZXggNmU0
ZGRlNjI3N2Y3NzZlNDIwZDdiMTY3ZmVhYzJhYmY3ZjYzNzBjYy4uOTEwMzQ5NjQ3MjBhNzI3NTk4
ZDk2Nzk5NjNjMjJlMDlmZDUwOGFmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViUGx1Z2luQ29udGFpbmVySW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViUGx1Z2luQ29udGFpbmVySW1wbC5jcHAKQEAgLTE4Niw3ICsxODYsNyBAQCB2
b2lkIFdlYlBsdWdpbkNvbnRhaW5lckltcGw6OmhhbmRsZUV2ZW50KEV2ZW50KiBldmVudCkKICAg
ICAgICAgcmV0dXJuOwogCiAgICAgY29uc3QgV2ViSW5wdXRFdmVudCogY3VycmVudElucHV0RXZl
bnQgPSBXZWJWaWV3SW1wbDo6Y3VycmVudElucHV0RXZlbnQoKTsKLSAgICBVc2VyR2VzdHVyZUlu
ZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKGN1cnJlbnRJbnB1dEV2ZW50ICYmIFdlYklucHV0RXZl
bnQ6OmlzVXNlckdlc3R1cmVFdmVudFR5cGUoY3VycmVudElucHV0RXZlbnQtPnR5cGUpID8gRGVm
aW5pdGVseVByb2Nlc3NpbmdVc2VyR2VzdHVyZSA6IFBvc3NpYmx5UHJvY2Vzc2luZ1VzZXJHZXN0
dXJlKTsKKyAgICBVc2VyR2VzdHVyZUluZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKGN1cnJlbnRJ
bnB1dEV2ZW50ICYmIFdlYklucHV0RXZlbnQ6OmlzVXNlckdlc3R1cmVFdmVudFR5cGUoY3VycmVu
dElucHV0RXZlbnQtPnR5cGUpID8gRGVmaW5pdGVseVByb2Nlc3NpbmdOZXdVc2VyR2VzdHVyZSA6
IFBvc3NpYmx5UHJvY2Vzc2luZ1VzZXJHZXN0dXJlKTsKIAogICAgIFJlZlB0cjxXZWJQbHVnaW5D
b250YWluZXJJbXBsPiBwcm90ZWN0b3IodGhpcyk7CiAgICAgLy8gVGhlIGV2ZW50cyB3ZSBwYXNz
IGFyZSBkZWZpbmVkIGF0OgpAQCAtNDQ1LDcgKzQ0NSw3IEBAIHZvaWQgV2ViUGx1Z2luQ29udGFp
bmVySW1wbDo6bG9hZEZyYW1lUmVxdWVzdChjb25zdCBXZWJVUkxSZXF1ZXN0JiByZXF1ZXN0LCBj
b25zCiAgICAgfQogCiAgICAgRnJhbWVMb2FkUmVxdWVzdCBmcmFtZVJlcXVlc3QoZnJhbWUtPmRv
Y3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCksIHJlcXVlc3QudG9SZXNvdXJjZVJlcXVlc3QoKSwg
dGFyZ2V0KTsKLSAgICBVc2VyR2VzdHVyZUluZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKHJlcXVl
c3QuaGFzVXNlckdlc3R1cmUoKSA/IERlZmluaXRlbHlQcm9jZXNzaW5nVXNlckdlc3R1cmUgOiBQ
b3NzaWJseVByb2Nlc3NpbmdVc2VyR2VzdHVyZSk7CisgICAgVXNlckdlc3R1cmVJbmRpY2F0b3Ig
Z2VzdHVyZUluZGljYXRvcihyZXF1ZXN0Lmhhc1VzZXJHZXN0dXJlKCkgPyBEZWZpbml0ZWx5UHJv
Y2Vzc2luZ05ld1VzZXJHZXN0dXJlIDogUG9zc2libHlQcm9jZXNzaW5nVXNlckdlc3R1cmUpOwog
ICAgIGZyYW1lLT5sb2FkZXIoKS0+bG9hZEZyYW1lUmVxdWVzdChmcmFtZVJlcXVlc3QsIGZhbHNl
LCBmYWxzZSwgMCwgMCwgTWF5YmVTZW5kUmVmZXJyZXIpOwogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTY29wZWRVc2VyR2VzdHVyZS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTY29wZWRVc2VyR2VzdHVyZS5jcHAKaW5kZXggN2FiOTEy
NWVlMDBhYTEwZmU1YjFkZjk1OTA1MDIyNzI1MmNjNjdlNy4uYjcwNmVhNzFlYzJjZDI1ZTQwYWVh
NzIxOTY1NjAxOWJjNGI3YTI5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViU2NvcGVkVXNlckdlc3R1cmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYlNjb3BlZFVzZXJHZXN0dXJlLmNwcApAQCAtMzgsNyArMzgsNyBAQCBuYW1lc3BhY2Ug
V2ViS2l0IHsKIAogdm9pZCBXZWJTY29wZWRVc2VyR2VzdHVyZTo6aW5pdGlhbGl6ZSgpCiB7Ci0g
ICAgbV9pbmRpY2F0b3IucmVzZXQobmV3IFdlYkNvcmU6OlVzZXJHZXN0dXJlSW5kaWNhdG9yKFdl
YkNvcmU6OkRlZmluaXRlbHlQcm9jZXNzaW5nVXNlckdlc3R1cmUpKTsKKyAgICBtX2luZGljYXRv
ci5yZXNldChuZXcgV2ViQ29yZTo6VXNlckdlc3R1cmVJbmRpY2F0b3IoV2ViQ29yZTo6RGVmaW5p
dGVseVByb2Nlc3NpbmdOZXdVc2VyR2VzdHVyZSkpOwogfQogCiB2b2lkIFdlYlNjb3BlZFVzZXJH
ZXN0dXJlOjppbml0aWFsaXplV2l0aFRva2VuKGNvbnN0IFdlYlVzZXJHZXN0dXJlVG9rZW4mIHRv
a2VuKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9XZWJVc2VyR2Vz
dHVyZVRva2VuVGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1dlYlVzZXJH
ZXN0dXJlVG9rZW5UZXN0LmNwcAppbmRleCBjZTlhMWU2OTE0ZjNmOGE1Y2UwNDA0NDliOTE4Y2Mw
MzFmODZhMDRkLi45Yjc0YzdkOGZlMTE4MGI3NjY4YzgxMzI2NjM3MzI4ZDRhNTMzYzMwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1dlYlVzZXJHZXN0dXJlVG9rZW5U
ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1dlYlVzZXJHZXN0dXJl
VG9rZW5UZXN0LmNwcApAQCAtNTIsNyArNTIsNyBAQCBURVNUKFdlYlVzZXJHZXN0dXJlVG9rZW5U
ZXN0LCBCYXNpYykKICAgICB9CiAKICAgICB7Ci0gICAgICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9y
IGluZGljYXRvcihEZWZpbml0ZWx5UHJvY2Vzc2luZ1VzZXJHZXN0dXJlKTsKKyAgICAgICAgVXNl
ckdlc3R1cmVJbmRpY2F0b3IgaW5kaWNhdG9yKERlZmluaXRlbHlQcm9jZXNzaW5nTmV3VXNlckdl
c3R1cmUpOwogICAgICAgICBFWFBFQ1RfVFJVRShXZWJVc2VyR2VzdHVyZUluZGljYXRvcjo6aXNQ
cm9jZXNzaW5nVXNlckdlc3R1cmUoKSk7CiAgICAgICAgIHRva2VuID0gV2ViVXNlckdlc3R1cmVJ
bmRpY2F0b3I6OmN1cnJlbnRVc2VyR2VzdHVyZVRva2VuKCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVBy
b3h5Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5J
bnN0YW5jZVByb3h5Lm1tCmluZGV4IDc3ZGIxNDg5YjNjOTQ0YmFjZjVhNjgwYjFmZmRjOGJkODFi
YjhlMmIuLjZjOWIzMmFjOGQxNWQyODA5YTExYTBkODUzN2ZjNDIyNzFiMjZmMmIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFu
Y2VQcm94eS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2Fw
ZVBsdWdpbkluc3RhbmNlUHJveHkubW0KQEAgLTg3Myw3ICs4NzMsNyBAQCBib29sIE5ldHNjYXBl
UGx1Z2luSW5zdGFuY2VQcm94eTo6ZXZhbHVhdGUodWludDMyX3Qgb2JqZWN0SUQsIGNvbnN0IFN0
cmluZyYgc2NyaQogCiAgICAgZ2xvYmFsT2JqZWN0LT5nbG9iYWxEYXRhKCkudGltZW91dENoZWNr
ZXIuc3RhcnQoKTsKIAotICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3Io
YWxsb3dQb3B1cHMgPyBEZWZpbml0ZWx5UHJvY2Vzc2luZ1VzZXJHZXN0dXJlIDogUG9zc2libHlQ
cm9jZXNzaW5nVXNlckdlc3R1cmUpOworICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJ
bmRpY2F0b3IoYWxsb3dQb3B1cHMgPyBEZWZpbml0ZWx5UHJvY2Vzc2luZ05ld1VzZXJHZXN0dXJl
IDogUG9zc2libHlQcm9jZXNzaW5nVXNlckdlc3R1cmUpOwogICAgIAogICAgIEpTVmFsdWUgcmVz
dWx0ID0gSlNDOjpldmFsdWF0ZShleGVjLCBtYWtlU291cmNlKHNjcmlwdCkpOwogICAgIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcu
bW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbQpp
bmRleCAxZTFiZDM4NWI2ZWQwYjU2MDczOGU1NzE4ZTdkZGNiYWQ2YTQzOGZhLi4wODI2ZTkzOGI3
MTRkZDA3Y2U3ZjA3YWRhMTg3ODljZTJkMjExNWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbQpAQCAtNjcwLDcgKzY3MCw3IEBA
IC0gKEJPT0wpc2VuZEV2ZW50Oih2b2lkKilldmVudCBpc0RyYXdSZWN0OihCT09MKWV2ZW50SXNE
cmF3UmVjdAogICAgIEFTU0VSVChfZXZlbnRIYW5kbGVyKTsKICAgICB7CiAgICAgICAgIEpTQzo6
SlNMb2NrOjpEcm9wQWxsTG9ja3MgZHJvcEFsbExvY2tzKEpTRE9NV2luZG93QmFzZTo6Y29tbW9u
SlNHbG9iYWxEYXRhKCkpOwotICAgICAgICBVc2VyR2VzdHVyZUluZGljYXRvciBnZXN0dXJlSW5k
aWNhdG9yKF9ldmVudEhhbmRsZXItPmN1cnJlbnRFdmVudElzVXNlckdlc3R1cmUoKSA/IERlZmlu
aXRlbHlQcm9jZXNzaW5nVXNlckdlc3R1cmUgOiBQb3NzaWJseVByb2Nlc3NpbmdVc2VyR2VzdHVy
ZSk7CisgICAgICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3IoX2V2ZW50
SGFuZGxlci0+Y3VycmVudEV2ZW50SXNVc2VyR2VzdHVyZSgpID8gRGVmaW5pdGVseVByb2Nlc3Np
bmdOZXdVc2VyR2VzdHVyZSA6IFBvc3NpYmx5UHJvY2Vzc2luZ1VzZXJHZXN0dXJlKTsKICAgICAg
ICAgYWNjZXB0ZWRFdmVudCA9IFtfcGx1Z2luUGFja2FnZS5nZXQoKSBwbHVnaW5GdW5jc10tPmV2
ZW50KHBsdWdpbiwgZXZlbnQpOwogICAgIH0KICAgICBbc2VsZiBkaWRDYWxsUGx1Z0luRnVuY3Rp
b25dOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9Ob3RpZmlj
YXRpb25QcmVzZW50ZXJDbGllbnRRdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBw
b3J0L05vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0LmNwcAppbmRleCAxMWIwZjI2NTgzOWEz
ZmI0MTEzYzZkOTJlNWEyN2VjNTM1MGU4NGIwLi4wODM3MzlkZmJiNTZhYWRmZjkyNzFhZTlhYjJm
MGYxNWY2NWEwOWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0
L05vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0
L1dlYkNvcmVTdXBwb3J0L05vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0LmNwcApAQCAtMjU1
LDcgKzI1NSw3IEBAIHZvaWQgTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQ6Om5vdGlmaWNh
dGlvbkNsaWNrZWQoTm90aWZpY2F0aW9uV3JhcHBlciogd3JhCiAgICAgTm90aWZpY2F0aW9uKiBu
b3RpZmljYXRpb24gPSAgbm90aWZpY2F0aW9uRm9yV3JhcHBlcih3cmFwcGVyKTsKICAgICBpZiAo
bm90aWZpY2F0aW9uKSB7CiAgICAgICAgIC8vIE1ha2Ugc3VyZSBjbGlja3Mgb24gbm90aWZpY2F0
aW9ucyBhcmUgdHJlYXRlZCBhcyB1c2VyIGdlc3R1cmVzLgotICAgICAgICBVc2VyR2VzdHVyZUlu
ZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKERlZmluaXRlbHlQcm9jZXNzaW5nVXNlckdlc3R1cmUp
OworICAgICAgICBVc2VyR2VzdHVyZUluZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKERlZmluaXRl
bHlQcm9jZXNzaW5nTmV3VXNlckdlc3R1cmUpOwogICAgICAgICBzZW5kRXZlbnQobm90aWZpY2F0
aW9uLCBldmVudE5hbWVzKCkuY2xpY2tFdmVudCk7CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGllbnQuY3BwIGIv
U291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGllbnQuY3Bw
CmluZGV4IGVhYjk0ZWFlNTVlMWQ0ODYxZGRiMGVlODk0ZTk3NjQ1NjU4NDMwNTIuLjdhNzdhYzdi
YjIzOTgxZDYwOGM5MGQwMDExOGFkODkyNzRiNjI1ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNvbnRleHRNZW51Q2xpZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDb250ZXh0TWVudUNsaWVudC5jcHAKQEAg
LTEyMCw3ICsxMjAsNyBAQCB2b2lkIFdlYkNvbnRleHRNZW51Q2xpZW50OjpzZWFyY2hXaXRoR29v
Z2xlKGNvbnN0IEZyYW1lKiBmcmFtZSkKICAgICB1cmwuYXBwZW5kKCImaWU9VVRGLTgmb2U9VVRG
LTgiKTsKIAogICAgIGlmIChQYWdlKiBwYWdlID0gZnJhbWUtPnBhZ2UoKSkgewotICAgICAgICBV
c2VyR2VzdHVyZUluZGljYXRvciBpbmRpY2F0b3IoRGVmaW5pdGVseVByb2Nlc3NpbmdVc2VyR2Vz
dHVyZSk7CisgICAgICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGluZGljYXRvcihEZWZpbml0ZWx5
UHJvY2Vzc2luZ05ld1VzZXJHZXN0dXJlKTsKICAgICAgICAgcGFnZS0+bWFpbkZyYW1lKCktPmxv
YWRlcigpLT51cmxTZWxlY3RlZChLVVJMKFBhcnNlZFVSTFN0cmluZywgdXJsKSwgU3RyaW5nKCks
IDAsIGZhbHNlLCBmYWxzZSwgTWF5YmVTZW5kUmVmZXJyZXIpOwogICAgIH0KIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRp
b25NYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9X
ZWJOb3RpZmljYXRpb25NYW5hZ2VyLmNwcAppbmRleCAyNTQwMjM4NjFjMmI0ZjlmNmU5YTAwNjNm
ZDg1MDY0NjMwNjgwYmFmLi45NTc1MGUxOTY2OTQzNDU3NmQ5ZTZhYTkwMzUwNmE5YzFlMjIzYTQ4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2Vi
Tm90aWZpY2F0aW9uTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9O
b3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXIuY3BwCkBAIC0yNTAsNyArMjUwLDcg
QEAgdm9pZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpkaWRDbGlja05vdGlmaWNhdGlvbih1aW50
NjRfdCBub3RpZmljYXRpb25JRCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgLy8gSW5kaWNhdGUg
dGhhdCB0aGlzIGV2ZW50IGlzIGJlaW5nIGRpc3BhdGNoZWQgaW4gcmVhY3Rpb24gdG8gYSB1c2Vy
J3MgaW50ZXJhY3Rpb24gd2l0aCBhIHBsYXRmb3JtIG5vdGlmaWNhdGlvbi4KLSAgICBVc2VyR2Vz
dHVyZUluZGljYXRvciBpbmRpY2F0b3IoRGVmaW5pdGVseVByb2Nlc3NpbmdVc2VyR2VzdHVyZSk7
CisgICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgaW5kaWNhdG9yKERlZmluaXRlbHlQcm9jZXNzaW5n
TmV3VXNlckdlc3R1cmUpOwogICAgIG5vdGlmaWNhdGlvbi0+ZGlzcGF0Y2hDbGlja0V2ZW50KCk7
CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShub3RpZmljYXRpb25JRCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAKaW5kZXggYWI5NWZhZmJi
MmNlNWNiNzhlNjAzNGQwZWJhMmU2MDYxMWIxMTQ2NC4uNTZjZDgwMjIyM2ZkZjI2ODU0OTMyYWUz
YWY5ODQ2NzM3NWFkMjQxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Q
bHVnaW5zL1BsdWdpblZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1
Z2lucy9QbHVnaW5WaWV3LmNwcApAQCAtMTM0NCw3ICsxMzQ0LDcgQEAgYm9vbCBQbHVnaW5WaWV3
OjpldmFsdWF0ZShOUE9iamVjdCogbnBPYmplY3QsIGNvbnN0IFN0cmluZyYgc2NyaXB0U3RyaW5n
LCBOUFZhcmkKICAgICAvLyBwcm90ZWN0IHRoZSBwbHVnLWluIHZpZXcgZnJvbSBkZXN0cnVjdGlv
bi4KICAgICBOUFJ1bnRpbWVPYmplY3RNYXA6OlBsdWdpblByb3RlY3RvciBwbHVnaW5Qcm90ZWN0
b3IoJm1fbnBSdW50aW1lT2JqZWN0TWFwKTsKIAotICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGdl
c3R1cmVJbmRpY2F0b3IoYWxsb3dQb3B1cHMgPyBEZWZpbml0ZWx5UHJvY2Vzc2luZ1VzZXJHZXN0
dXJlIDogUG9zc2libHlQcm9jZXNzaW5nVXNlckdlc3R1cmUpOworICAgIFVzZXJHZXN0dXJlSW5k
aWNhdG9yIGdlc3R1cmVJbmRpY2F0b3IoYWxsb3dQb3B1cHMgPyBEZWZpbml0ZWx5UHJvY2Vzc2lu
Z05ld1VzZXJHZXN0dXJlIDogUG9zc2libHlQcm9jZXNzaW5nVXNlckdlc3R1cmUpOwogICAgIHJl
dHVybiBtX25wUnVudGltZU9iamVjdE1hcC5ldmFsdWF0ZShucE9iamVjdCwgc2NyaXB0U3RyaW5n
LCByZXN1bHQpOwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNvbnRleHRNZW51Q2xpZW50LmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGllbnQuY3BwCmlu
ZGV4IGUyMTI4MGU5YTk4ODQ1NDUyZDY2Y2Q4MDVlZTljOGRhY2Q4N2ZlZjIuLjBkMjA0MGZlMGNl
NmQ1MTBjMGRkMjYxYjJhNTFkMDhjYWE1OTQ1ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGllbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVD
bGllbnQuY3BwCkBAIC04Niw3ICs4Niw3IEBAIHZvaWQgV2ViQ29udGV4dE1lbnVDbGllbnQ6OnNl
YXJjaFdpdGhHb29nbGUoY29uc3QgRnJhbWUqIGZyYW1lKQogICAgIFN0cmluZyB1cmwgPSAiaHR0
cDovL3d3dy5nb29nbGUuY29tL3NlYXJjaD9xPSIgKyBlbmNvZGVkICsgIiZpZT1VVEYtOCZvZT1V
VEYtOCI7CiAKICAgICBpZiAoUGFnZSogcGFnZSA9IGZyYW1lLT5wYWdlKCkpIHsKLSAgICAgICAg
VXNlckdlc3R1cmVJbmRpY2F0b3IgaW5kaWNhdG9yKERlZmluaXRlbHlQcm9jZXNzaW5nVXNlckdl
c3R1cmUpOworICAgICAgICBVc2VyR2VzdHVyZUluZGljYXRvciBpbmRpY2F0b3IoRGVmaW5pdGVs
eVByb2Nlc3NpbmdOZXdVc2VyR2VzdHVyZSk7CiAgICAgICAgIHBhZ2UtPm1haW5GcmFtZSgpLT5s
b2FkZXIoKS0+dXJsU2VsZWN0ZWQoS1VSTChQYXJzZWRVUkxTdHJpbmcsIHVybCksIFN0cmluZygp
LCAwLCBmYWxzZSwgZmFsc2UsIE1heWJlU2VuZFJlZmVycmVyKTsKICAgICB9CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>192556</attachid>
            <date>2013-03-11 14:16:42 -0700</date>
            <delta_ts>2013-03-11 18:18:08 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-111959-20130311221241.patch</filename>
            <type>text/plain</type>
            <size>38235</size>
            <attacher>jochen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1MzQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGQ0ZjRmODVlNTM5ODFl
ODNmZWE4MWJhZDczZDEyNGJkZGNlNGU4ZS4uMjBmYTBjYmNmMGZkMTMzYTU2ODcwMjMyMmQ3OWVk
MmMzMThkOTY2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDEzLTAzLTExICBKb2No
ZW4gRWlzaW5nZXIgIDxqb2NoZW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlbmFtZSBEZWZp
bml0ZWx5UHJvY2Vzc2luZ1VzZXJHZXN0dXJlIHRvIERlZmluaXRlbHlQcm9jZXNzaW5nTmV3VXNl
ckdlc3R1cmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTExMTk1OQorCisgICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBQcm9za3VyeWFrb3YuCisKKyAg
ICAgICAgVGhlIHJhdGlvbmFsZSBpcyB0aGF0IHRoZSBVc2VyR2VzdHVyZUluZGljYXRvciB3aWxs
IGluY3JlYXNlIHRoZSBudW1iZXIKKyAgICAgICAgb2YgY29uc3VtYWJsZSB1c2VyIGdlc3R1cmVz
IHdoZW4gaXQncyBpbnZva2VkIHdpdGggd2hhdCBpcyBub3cKKyAgICAgICAgRGVmaW5pdGVseVBy
b2Nlc3NpbmdOZXdVc2VyR2VzdHVyZS4KKworICAgICAgICBJbiBhIGZvbGxvdy11cCBjaGFuZ2Ug
SSB3aWxsIHJlaW50cm9kdWNlIERlZmluaXRlbHlQcm9jZXNzaW5nVXNlckdlc3R1cmUKKyAgICAg
ICAgd2hpY2ggd2lsbCBvbmx5IGluY3JlYXNlIHRoZSBjb25zdW1hYmxlIHVzZXIgZ2VzdHVyZSBj
b3VudCBpZiB3ZSBhcmUKKyAgICAgICAgbm90IGFscmVhZHkgcHJvY2Vzc2luZyBhIHVzZXIgZ2Vz
dHVyZS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIG5vIGNoYW5nZSBpbiBmdW5jdGlvbmFsaXR5
LgorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6aW5jcmVtZW50KToK
KyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0OjpkZWNyZW1lbnQpOgor
ICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0OjpwcmVzcyk6CisgICAgICAgICogYmluZGlu
Z3MvU2NyaXB0Q29udHJvbGxlckJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0Q29u
dHJvbGxlcjo6ZXhlY3V0ZVNjcmlwdCk6CisgICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0Q29u
dHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRDb250cm9sbGVyOjpleGVjdXRl
U2NyaXB0SW5Xb3JsZCk6CisgICAgICAgICogYmluZGluZ3MvdjgvTlBWOE9iamVjdC5jcHA6Cisg
ICAgICAgIChfTlBOX0V2YWx1YXRlSGVscGVyKToKKyAgICAgICAgKiBkb20vVXNlckdlc3R1cmVJ
bmRpY2F0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aXNEZWZpbml0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpVc2VyR2VzdHVyZUluZGljYXRvcjo6VXNlckdlc3R1cmVJbmRpY2F0b3IpOgorICAg
ICAgICAoV2ViQ29yZTo6VXNlckdlc3R1cmVJbmRpY2F0b3I6OnByb2Nlc3NpbmdVc2VyR2VzdHVy
ZSk6CisgICAgICAgICogZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9yLmg6CisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDo6b3BlbkluTmV3VGFiKToKKyAgICAgICAg
KiBpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkZyb250ZW5kTWVudVByb3ZpZGVyOjpjb250ZXh0TWVudUl0ZW1TZWxlY3RlZCk6CisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JQYWdlQWdlbnQ6Om5hdmlnYXRlKToKKyAgICAgICAgKiBsb2FkZXIvTmF2aWdhdGlv
blNjaGVkdWxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY2hlZHVsZWRVUkxOYXZpZ2F0aW9u
OjpmaXJlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjaGVkdWxlZFVSTE5hdmlnYXRpb246OmRpZFN0
YXJ0VGltZXIpOgorICAgICAgICAoV2ViQ29yZTo6U2NoZWR1bGVkUmVkaXJlY3Q6OmZpcmUpOgor
ICAgICAgICAoV2ViQ29yZTo6U2NoZWR1bGVkUmVmcmVzaDo6ZmlyZSk6CisgICAgICAgIChXZWJD
b3JlOjpTY2hlZHVsZWRIaXN0b3J5TmF2aWdhdGlvbjo6ZmlyZSk6CisgICAgICAgIChXZWJDb3Jl
OjpTY2hlZHVsZWRGb3JtU3VibWlzc2lvbjo6ZmlyZSk6CisgICAgICAgIChXZWJDb3JlOjpTY2hl
ZHVsZWRGb3JtU3VibWlzc2lvbjo6ZGlkU3RhcnRUaW1lcik6CisgICAgICAgICogcGFnZS9FdmVu
dEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpoYW5kbGVNb3Vz
ZVByZXNzRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpoYW5kbGVNb3Vz
ZURvdWJsZUNsaWNrRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpoYW5k
bGVNb3VzZVJlbGVhc2VFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6Omtl
eUV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6aGFuZGxlVG91Y2hFdmVu
dCk6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBDb250YWluZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UG9wdXBDb250YWluZXI6OmhhbmRsZU1vdXNlRG93bkV2ZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OlBvcHVwQ29udGFpbmVyOjpoYW5kbGVNb3VzZU1vdmVFdmVudCk6Cisg
ICAgICAgIChXZWJDb3JlOjpQb3B1cENvbnRhaW5lcjo6aGFuZGxlTW91c2VSZWxlYXNlRXZlbnQp
OgorICAgICAgICAoV2ViQ29yZTo6UG9wdXBDb250YWluZXI6OmhhbmRsZVdoZWVsRXZlbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6UG9wdXBDb250YWluZXI6OmhhbmRsZUtleUV2ZW50KToKKwogMjAx
My0wMy0wNyAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFdlYiBJbnNwZWN0b3I6IFtFbGVtZW50c10gWFNMVCB0cmFuc2Zvcm1hdGlvbiByZXN1bHQg
ZnJvbSB0aGUgeG1sLXN0eWxlc2hlZXQgUEkgbm90IHJlbmRlcmVkCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5
L0NoYW5nZUxvZwppbmRleCBmYjgwNjlmNDViODJiYzU1OTcyYWU3MWU4M2ExMjc3YjdlNmE0M2U2
Li5iNGUxNGQwMWM1ZTRlN2NkODk4NDhhMjFkYzczNzdiNTAxNmMzNzVlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxh
Y2tiZXJyeS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMy0wMy0xMSAgSm9jaGVuIEVp
c2luZ2VyICA8am9jaGVuQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZW5hbWUgRGVmaW5pdGVs
eVByb2Nlc3NpbmdVc2VyR2VzdHVyZSB0byBEZWZpbml0ZWx5UHJvY2Vzc2luZ05ld1VzZXJHZXN0
dXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTE5
NTkKKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4ZXkgUHJvc2t1cnlha292LgorCisgICAgICAg
ICogV2ViS2l0U3VwcG9ydC9Ob3RpZmljYXRpb25NYW5hZ2VyLmNwcDoKKyAgICAgICAgKEJsYWNr
QmVycnk6OldlYktpdDo6Tm90aWZpY2F0aW9uTWFuYWdlcjo6bm90aWZpY2F0aW9uQ2xpY2tlZCk6
CisKIDIwMTMtMDMtMDcgIE90dG8gRGVyZWsgQ2hldW5nICA8b3RjaGV1bmdAcmltLmNvbT4KIAog
ICAgICAgICBbQmxhY2tCZXJyeV0gUmVmQ291bnRpbmcgUGFyc2VkQ29va2llIHRvIGF2b2lkIFNl
Z0ZhdWx0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBhMjAyN2E3ODI0MzUyZGU5NzI1
MmFlNjlhMWU2YTdiNzU4Y2MxOWQ2Li41NWE5ZDgwNzIxYmE5ZDdlZjYyMmRjN2Y3YmIzMGI0MmEw
MGQzNDM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEz
LTAzLTExICBKb2NoZW4gRWlzaW5nZXIgIDxqb2NoZW5AY2hyb21pdW0ub3JnPgorCisgICAgICAg
IFJlbmFtZSBEZWZpbml0ZWx5UHJvY2Vzc2luZ1VzZXJHZXN0dXJlIHRvIERlZmluaXRlbHlQcm9j
ZXNzaW5nTmV3VXNlckdlc3R1cmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTExMTk1OQorCisgICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBQcm9za3Vy
eWFrb3YuCisKKyAgICAgICAgKiBzcmMvV2ViRnJhbWVJbXBsLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViRnJhbWVJbXBsOjpleGVjdXRlU2NyaXB0QW5kUmV0dXJuVmFsdWUpOgorICAgICAgICAq
IHNyYy9XZWJOb3RpZmljYXRpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJOb3RpZmljYXRp
b246OmRpc3BhdGNoQ2xpY2tFdmVudCk6CisgICAgICAgICogc3JjL1dlYlBsdWdpbkNvbnRhaW5l
ckltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQbHVnaW5Db250YWluZXJJbXBsOjpoYW5k
bGVFdmVudCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBsdWdpbkNvbnRhaW5lckltcGw6OmxvYWRG
cmFtZVJlcXVlc3QpOgorICAgICAgICAqIHNyYy9XZWJTY29wZWRVc2VyR2VzdHVyZS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlNjb3BlZFVzZXJHZXN0dXJlOjppbml0aWFsaXplKToKKyAgICAg
ICAgKiB0ZXN0cy9XZWJVc2VyR2VzdHVyZVRva2VuVGVzdC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpURVNUKToKKwogMjAxMy0wMy0wOSAgU2FkcnVsIEhhYmliIENob3dkaHVyeSAgPHNhZHJ1bEBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBSZW1vdmUgZGVwcmVjYXRlZCBmbGlu
Z1N0YXJ0LnNvdXJjZURldmljZSBmcm9tIFdlYkdlc3R1cmVFdmVudApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmlu
ZGV4IDdkOTFjNTI0NDRkNDMxMGVlZjEyNTU3Y2RiMjI1YjdkNTA0Mjg4MTIuLmU3ZDEzZGMxZDll
NWM0OTI3NjNlZWEwZTMxMjExNmExMGVhZTgxOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
bWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNSBAQAorMjAxMy0wMy0xMSAgSm9jaGVuIEVpc2luZ2VyICA8am9jaGVuQGNocm9taXVtLm9y
Zz4KKworICAgICAgICBSZW5hbWUgRGVmaW5pdGVseVByb2Nlc3NpbmdVc2VyR2VzdHVyZSB0byBE
ZWZpbml0ZWx5UHJvY2Vzc2luZ05ld1VzZXJHZXN0dXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTE5NTkKKworICAgICAgICBSZXZpZXdlZCBieSBB
bGV4ZXkgUHJvc2t1cnlha292LgorCisgICAgICAgICogUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQ
bHVnaW5JbnN0YW5jZVByb3h5Lm1tOgorICAgICAgICAoV2ViS2l0OjpOZXRzY2FwZVBsdWdpbklu
c3RhbmNlUHJveHk6OmV2YWx1YXRlKToKKyAgICAgICAgKiBQbHVnaW5zL1dlYk5ldHNjYXBlUGx1
Z2luVmlldy5tbToKKyAgICAgICAgKC1bV2ViTmV0c2NhcGVQbHVnaW5WaWV3IHNlbmRFdmVudDpp
c0RyYXdSZWN0Ol0pOgorCiAyMDEzLTAzLTA3ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBh
cHBsZS5jb20+CiAKICAgICAgICAgQWRkIGRpZEZvY3VzVGV4dEZpZWxkOmluRnJhbWUgdG8gV2Vi
Rm9ybURlbGVnYXRlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IGQxMmQyMDNiZDVhM2QyMWY4MDE4YjU1ODdk
YTg1ZmVlODBkY2MxMTYuLjBlNGU2NzJhODlkYjgxODA5NmJkNWFkMWI4MDBhMWU4YzVjYzRjZjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTMtMDMtMTEgIEpvY2hlbiBFaXNp
bmdlciAgPGpvY2hlbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVuYW1lIERlZmluaXRlbHlQ
cm9jZXNzaW5nVXNlckdlc3R1cmUgdG8gRGVmaW5pdGVseVByb2Nlc3NpbmdOZXdVc2VyR2VzdHVy
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTExOTU5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleGV5IFByb3NrdXJ5YWtvdi4KKworICAgICAgICAq
IFdlYkNvcmVTdXBwb3J0L05vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0Ojpub3RpZmljYXRpb25D
bGlja2VkKToKKwogMjAxMy0wMy0wOCAgQXJ1bnByYXNhZCBSYWprdW1hciAgPGFydW5wcmFzYWRy
QG5kcy5jb20+CiAKICAgICAgICAgW1F0XSBRV2ViU2V0dGluZ3M6OmNsZWFyTWVtb3J5Q2FjaGVz
IHNob3VsZCByZWxlYXNlIEZhc3RNYWxsb2MncyBmcmVlIHBhZ2VzIHRvIE9TCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VM
b2cKaW5kZXggOGFkZTM4ZDI2ZGRkOTRjNzM1ZjIxYzdkZTUxZDlmZjc4ZTAzNGIwMy4uNzM1M2Ix
ODc5ZDRlY2U1OWMwY2Y2NWM4ZTZkY2VhYjIwYmQ1NjIwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDEzIEBACisyMDEzLTAzLTExICBKb2NoZW4gRWlzaW5nZXIgIDxqb2NoZW5AY2hyb21p
dW0ub3JnPgorCisgICAgICAgIFJlbmFtZSBEZWZpbml0ZWx5UHJvY2Vzc2luZ1VzZXJHZXN0dXJl
IHRvIERlZmluaXRlbHlQcm9jZXNzaW5nTmV3VXNlckdlc3R1cmUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMTk1OQorCisgICAgICAgIFJldmlld2Vk
IGJ5IEFsZXhleSBQcm9za3VyeWFrb3YuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJD
b250ZXh0TWVudUNsaWVudC5jcHA6CisgICAgICAgIChXZWJDb250ZXh0TWVudUNsaWVudDo6c2Vh
cmNoV2l0aEdvb2dsZSk6CisKIDIwMTMtMDMtMDMgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgV2luZG93cyBidWlsZCBmaXggYXR0ZW1wdCBhZnRlciByMTQ0NTQ3
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCmluZGV4IGMzYzNmY2VjMjQ5ZGJjOTZhNjcxNTQxMThjNDczZjMzNWE5NjU5MTgu
LmQ0ZTYyNTZlZWQ2YmZmZDZhODIxM2Y1OGE2ZWM4YjhhN2NhZDUyYzIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNyBAQAorMjAxMy0wMy0xMSAgSm9jaGVuIEVpc2luZ2VyICA8am9jaGVuQGNocm9t
aXVtLm9yZz4KKworICAgICAgICBSZW5hbWUgRGVmaW5pdGVseVByb2Nlc3NpbmdVc2VyR2VzdHVy
ZSB0byBEZWZpbml0ZWx5UHJvY2Vzc2luZ05ld1VzZXJHZXN0dXJlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTE5NTkKKworICAgICAgICBSZXZpZXdl
ZCBieSBBbGV4ZXkgUHJvc2t1cnlha292LgorCisgICAgICAgICogV2ViUHJvY2Vzcy9Ob3RpZmlj
YXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJO
b3RpZmljYXRpb25NYW5hZ2VyOjpkaWRDbGlja05vdGlmaWNhdGlvbik6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuY3BwOgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5W
aWV3OjpldmFsdWF0ZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJD
b250ZXh0TWVudUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHRNZW51Q2xp
ZW50OjpzZWFyY2hXaXRoR29vZ2xlKToKKwogMjAxMy0wMy0xMCAgVGltIEhvcnRvbiAgPHRpbW90
aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWJQYWdlOjpzY2FsZWRTbmFwc2hvdFdp
dGhPcHRpb25zIHJldHVybnMgYSBjb3JydXB0IHNuYXBzaG90IGlmIHlvdSByZXF1ZXN0IGEgcmVj
dCBsYXJnZXIgdGhhbiB0aGUgRnJhbWVWaWV34oCZcyBzaXplCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwCmluZGV4
IDhlNDE0ZDcyNTY4OGE0NTE3NzEzMTRkODQwMmM3YTljYWFlMDRhYjYuLmVjMGQ5MTExM2UyYmUx
ZjFmNGFkZDgxMjJkYTAyZDVmY2Q5Mzg5MTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwCkBAIC05ODksMTMg
Kzk4OSwxMyBAQCB2b2lkIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0OjphbHRlclNsaWRlclZhbHVl
KGJvb2wgaW5jcmVhc2UpCiAgICAgCiB2b2lkIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0OjppbmNy
ZW1lbnQoKQogewotICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3IoRGVm
aW5pdGVseVByb2Nlc3NpbmdVc2VyR2VzdHVyZSk7CisgICAgVXNlckdlc3R1cmVJbmRpY2F0b3Ig
Z2VzdHVyZUluZGljYXRvcihEZWZpbml0ZWx5UHJvY2Vzc2luZ05ld1VzZXJHZXN0dXJlKTsKICAg
ICBhbHRlclNsaWRlclZhbHVlKHRydWUpOwogfQogCiB2b2lkIEFjY2Vzc2liaWxpdHlOb2RlT2Jq
ZWN0OjpkZWNyZW1lbnQoKQogewotICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRp
Y2F0b3IoRGVmaW5pdGVseVByb2Nlc3NpbmdVc2VyR2VzdHVyZSk7CisgICAgVXNlckdlc3R1cmVJ
bmRpY2F0b3IgZ2VzdHVyZUluZGljYXRvcihEZWZpbml0ZWx5UHJvY2Vzc2luZ05ld1VzZXJHZXN0
dXJlKTsKICAgICBhbHRlclNsaWRlclZhbHVlKGZhbHNlKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKaW5kZXggMjM2
MjVlM2MxZWJlNjMyM2M2NTRmOTE5ODJlYjU2OGM1OTdhYTVjNS4uZDMyOTBmMjk5OWY0NjA2NDFi
MzEzYjM3ZTk5YTdiZTU3NmZlNGMwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCkBAIC01NjEsNyArNTYxLDcgQEAgYm9v
bCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpwcmVzcygpIGNvbnN0CiAgICAgaWYgKEZyYW1lKiBmID0g
YWN0aW9uRWxlbS0+ZG9jdW1lbnQoKS0+ZnJhbWUoKSkKICAgICAgICAgZi0+bG9hZGVyKCktPnJl
c2V0TXVsdGlwbGVGb3JtU3VibWlzc2lvblByb3RlY3Rpb24oKTsKICAgICAKLSAgICBVc2VyR2Vz
dHVyZUluZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKERlZmluaXRlbHlQcm9jZXNzaW5nVXNlckdl
c3R1cmUpOworICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3IoRGVmaW5p
dGVseVByb2Nlc3NpbmdOZXdVc2VyR2VzdHVyZSk7CiAgICAgYWN0aW9uRWxlbS0+YWNjZXNzS2V5
QWN0aW9uKHRydWUpOwogICAgIHJldHVybiB0cnVlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvU2NyaXB0Q29udHJvbGxlckJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvU2NyaXB0Q29udHJvbGxlckJhc2UuY3BwCmluZGV4IGUzY2Y4YmY1ODVlNGUwYjVk
OWVlNjgwZTgyY2JiZTE1NDc2NWE0MzguLjA1ODA1ZDlkMWE5YzkyMDExOTlhNWQ0NjZmYWRjMTc2
YTYyMDhhOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL1NjcmlwdENvbnRy
b2xsZXJCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9TY3JpcHRDb250cm9s
bGVyQmFzZS5jcHAKQEAgLTYwLDcgKzYwLDcgQEAgYm9vbCBTY3JpcHRDb250cm9sbGVyOjpjYW5F
eGVjdXRlU2NyaXB0cyhSZWFzb25Gb3JDYWxsaW5nQ2FuRXhlY3V0ZVNjcmlwdHMgcmVhc28KIAog
U2NyaXB0VmFsdWUgU2NyaXB0Q29udHJvbGxlcjo6ZXhlY3V0ZVNjcmlwdChjb25zdCBTdHJpbmcm
IHNjcmlwdCwgYm9vbCBmb3JjZVVzZXJHZXN0dXJlKQogewotICAgIFVzZXJHZXN0dXJlSW5kaWNh
dG9yIGdlc3R1cmVJbmRpY2F0b3IoZm9yY2VVc2VyR2VzdHVyZSA/IERlZmluaXRlbHlQcm9jZXNz
aW5nVXNlckdlc3R1cmUgOiBQb3NzaWJseVByb2Nlc3NpbmdVc2VyR2VzdHVyZSk7CisgICAgVXNl
ckdlc3R1cmVJbmRpY2F0b3IgZ2VzdHVyZUluZGljYXRvcihmb3JjZVVzZXJHZXN0dXJlID8gRGVm
aW5pdGVseVByb2Nlc3NpbmdOZXdVc2VyR2VzdHVyZSA6IFBvc3NpYmx5UHJvY2Vzc2luZ1VzZXJH
ZXN0dXJlKTsKICAgICByZXR1cm4gZXhlY3V0ZVNjcmlwdChTY3JpcHRTb3VyY2VDb2RlKHNjcmlw
dCwgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+dXJsKCkpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcAppbmRleCBhNjA1ZTYzOGY1MDE5ZDk0
N2NlY2NkNWMyYmE0YjMxYzRlM2U1ZDY4Li4xMGVjOTRhMTI4NjViZDhkZjc5OWM4OTZkNmY4ZTkx
ZWRhZTE4YTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRD
b250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250
cm9sbGVyLmNwcApAQCAtNDYyLDcgKzQ2Miw3IEBAIHZvaWQgU2NyaXB0Q29udHJvbGxlcjo6Y2xl
YXJTY3JpcHRPYmplY3RzKCkKIAogU2NyaXB0VmFsdWUgU2NyaXB0Q29udHJvbGxlcjo6ZXhlY3V0
ZVNjcmlwdEluV29ybGQoRE9NV3JhcHBlcldvcmxkKiB3b3JsZCwgY29uc3QgU3RyaW5nJiBzY3Jp
cHQsIGJvb2wgZm9yY2VVc2VyR2VzdHVyZSkKIHsKLSAgICBVc2VyR2VzdHVyZUluZGljYXRvciBn
ZXN0dXJlSW5kaWNhdG9yKGZvcmNlVXNlckdlc3R1cmUgPyBEZWZpbml0ZWx5UHJvY2Vzc2luZ1Vz
ZXJHZXN0dXJlIDogUG9zc2libHlQcm9jZXNzaW5nVXNlckdlc3R1cmUpOworICAgIFVzZXJHZXN0
dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3IoZm9yY2VVc2VyR2VzdHVyZSA/IERlZmluaXRl
bHlQcm9jZXNzaW5nTmV3VXNlckdlc3R1cmUgOiBQb3NzaWJseVByb2Nlc3NpbmdVc2VyR2VzdHVy
ZSk7CiAgICAgU2NyaXB0U291cmNlQ29kZSBzb3VyY2VDb2RlKHNjcmlwdCwgbV9mcmFtZS0+ZG9j
dW1lbnQoKS0+dXJsKCkpOwogCiAgICAgaWYgKCFjYW5FeGVjdXRlU2NyaXB0cyhBYm91dFRvRXhl
Y3V0ZVNjcmlwdCkgfHwgaXNQYXVzZWQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L05QVjhPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvTlBW
OE9iamVjdC5jcHAKaW5kZXggNWE4NmY2NGIxN2NjZDM2NmJmN2FmY2Q3MDgyNGU3MWNiZTVhZGFm
Yi4uNWQxM2E4ZjIyYjBjM2JiNmJjM2E5YjA4ZjM3MzhlYWU0NDZhOTkzOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvTlBWOE9iamVjdC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvTlBWOE9iamVjdC5jcHAKQEAgLTMzMyw3ICszMzMsNyBAQCBib29s
IF9OUE5fRXZhbHVhdGVIZWxwZXIoTlBQIG5wcCwgYm9vbCBwb3B1cHNBbGxvd2VkLCBOUE9iamVj
dCogbnBPYmplY3QsIE5QU3RyaQogCiAgICAgU3RyaW5nIHNjcmlwdCA9IFN0cmluZzo6ZnJvbVVU
RjgobnBTY3JpcHQtPlVURjhDaGFyYWN0ZXJzLCBucFNjcmlwdC0+VVRGOExlbmd0aCk7CiAKLSAg
ICBVc2VyR2VzdHVyZUluZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKHBvcHVwc0FsbG93ZWQgPyBE
ZWZpbml0ZWx5UHJvY2Vzc2luZ1VzZXJHZXN0dXJlIDogUG9zc2libHlQcm9jZXNzaW5nVXNlckdl
c3R1cmUpOworICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3IocG9wdXBz
QWxsb3dlZCA/IERlZmluaXRlbHlQcm9jZXNzaW5nTmV3VXNlckdlc3R1cmUgOiBQb3NzaWJseVBy
b2Nlc3NpbmdVc2VyR2VzdHVyZSk7CiAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdjhyZXN1bHQg
PSBmcmFtZS0+c2NyaXB0KCktPmNvbXBpbGVBbmRSdW5TY3JpcHQoU2NyaXB0U291cmNlQ29kZShz
Y3JpcHQsIEtVUkwoUGFyc2VkVVJMU3RyaW5nLCBmaWxlbmFtZSkpKTsKIAogICAgIGlmICh2OHJl
c3VsdC5Jc0VtcHR5KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVXNlckdlc3R1
cmVJbmRpY2F0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9y
LmNwcAppbmRleCBjYWY2ZWU2ZGViZjM0ZDM4ZTBmODM4MTE4YjUxNDUxNTk3MDU4MjlmLi44MDg2
MDM2Y2JhYzgyMzI3YTE2MWUwNjhjNzg1NzdmMWYxZDFiMGNhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Vc2VyR2VzdHVyZUluZGljYXRvci5jcHAKQEAgLTU5LDcgKzU5LDcgQEAgcHJpdmF0ZToK
IAogc3RhdGljIGJvb2wgaXNEZWZpbml0ZShQcm9jZXNzaW5nVXNlckdlc3R1cmVTdGF0ZSBzdGF0
ZSkKIHsKLSAgICByZXR1cm4gc3RhdGUgPT0gRGVmaW5pdGVseVByb2Nlc3NpbmdVc2VyR2VzdHVy
ZSB8fCBzdGF0ZSA9PSBEZWZpbml0ZWx5Tm90UHJvY2Vzc2luZ1VzZXJHZXN0dXJlOworICAgIHJl
dHVybiBzdGF0ZSA9PSBEZWZpbml0ZWx5UHJvY2Vzc2luZ05ld1VzZXJHZXN0dXJlIHx8IHN0YXRl
ID09IERlZmluaXRlbHlOb3RQcm9jZXNzaW5nVXNlckdlc3R1cmU7CiB9CiAKIFByb2Nlc3NpbmdV
c2VyR2VzdHVyZVN0YXRlIFVzZXJHZXN0dXJlSW5kaWNhdG9yOjpzX3N0YXRlID0gRGVmaW5pdGVs
eU5vdFByb2Nlc3NpbmdVc2VyR2VzdHVyZTsKQEAgLTc4LDcgKzc4LDcgQEAgVXNlckdlc3R1cmVJ
bmRpY2F0b3I6OlVzZXJHZXN0dXJlSW5kaWNhdG9yKFByb2Nlc3NpbmdVc2VyR2VzdHVyZVN0YXRl
IHN0YXRlKQogICAgICAgICBzX3N0YXRlID0gc3RhdGU7CiAgICAgfQogCi0gICAgaWYgKHN0YXRl
ID09IERlZmluaXRlbHlQcm9jZXNzaW5nVXNlckdlc3R1cmUpCisgICAgaWYgKHN0YXRlID09IERl
ZmluaXRlbHlQcm9jZXNzaW5nTmV3VXNlckdlc3R1cmUpCiAgICAgICAgIHN0YXRpY19jYXN0PEdl
c3R1cmVUb2tlbio+KG1fdG9rZW4uZ2V0KCkpLT5hZGRHZXN0dXJlKCk7CiAgICAgQVNTRVJUKGlz
RGVmaW5pdGUoc19zdGF0ZSkpOwogfQpAQCAtOTUsNyArOTUsNyBAQCBVc2VyR2VzdHVyZUluZGlj
YXRvcjo6VXNlckdlc3R1cmVJbmRpY2F0b3IoUGFzc1JlZlB0cjxVc2VyR2VzdHVyZVRva2VuPiB0
b2tlbikKICAgICAgICAgICAgIHN0YXRpY19jYXN0PEdlc3R1cmVUb2tlbio+KG1fdG9rZW4uZ2V0
KCkpLT5hZGRHZXN0dXJlKCk7CiAgICAgICAgICAgICBzdGF0aWNfY2FzdDxHZXN0dXJlVG9rZW4q
Pih0b2tlbi5nZXQoKSktPmNvbnN1bWVHZXN0dXJlKCk7CiAgICAgICAgIH0KLSAgICAgICAgc19z
dGF0ZSA9IERlZmluaXRlbHlQcm9jZXNzaW5nVXNlckdlc3R1cmU7CisgICAgICAgIHNfc3RhdGUg
PSBEZWZpbml0ZWx5UHJvY2Vzc2luZ05ld1VzZXJHZXN0dXJlOwogICAgIH0KIAogICAgIEFTU0VS
VChpc0RlZmluaXRlKHNfc3RhdGUpKTsKQEAgLTExMSw3ICsxMTEsNyBAQCBVc2VyR2VzdHVyZUlu
ZGljYXRvcjo6flVzZXJHZXN0dXJlSW5kaWNhdG9yKCkKIAogYm9vbCBVc2VyR2VzdHVyZUluZGlj
YXRvcjo6cHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkKIHsKLSAgICByZXR1cm4gc190b3Btb3N0SW5k
aWNhdG9yICYmIHN0YXRpY19jYXN0PEdlc3R1cmVUb2tlbio+KHNfdG9wbW9zdEluZGljYXRvci0+
Y3VycmVudFRva2VuKCkpLT5oYXNHZXN0dXJlcygpICYmIHNfc3RhdGUgPT0gRGVmaW5pdGVseVBy
b2Nlc3NpbmdVc2VyR2VzdHVyZTsKKyAgICByZXR1cm4gc190b3Btb3N0SW5kaWNhdG9yICYmIHN0
YXRpY19jYXN0PEdlc3R1cmVUb2tlbio+KHNfdG9wbW9zdEluZGljYXRvci0+Y3VycmVudFRva2Vu
KCkpLT5oYXNHZXN0dXJlcygpICYmIHNfc3RhdGUgPT0gRGVmaW5pdGVseVByb2Nlc3NpbmdOZXdV
c2VyR2VzdHVyZTsKIH0KIAogYm9vbCBVc2VyR2VzdHVyZUluZGljYXRvcjo6Y29uc3VtZVVzZXJH
ZXN0dXJlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Vc2VyR2VzdHVyZUluZGlj
YXRvci5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9yLmgKaW5kZXgg
NGIzMTQ5YjAwMTQ4Mjc5NWQxYjhkYzc4OTZjODAzYjY4MDIzOTA0NS4uOGQzMjU5YmYyNGU2MDFj
Nzc5ODJlYTE4YjY1MGUxODU2OWZjNzNhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L1VzZXJHZXN0dXJlSW5kaWNhdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1VzZXJHZXN0
dXJlSW5kaWNhdG9yLmgKQEAgLTMzLDcgKzMzLDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
ZW51bSBQcm9jZXNzaW5nVXNlckdlc3R1cmVTdGF0ZSB7Ci0gICAgRGVmaW5pdGVseVByb2Nlc3Np
bmdVc2VyR2VzdHVyZSwKKyAgICBEZWZpbml0ZWx5UHJvY2Vzc2luZ05ld1VzZXJHZXN0dXJlLAog
ICAgIFBvc3NpYmx5UHJvY2Vzc2luZ1VzZXJHZXN0dXJlLAogICAgIERlZmluaXRlbHlOb3RQcm9j
ZXNzaW5nVXNlckdlc3R1cmUKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHAKaW5kZXggMDc4NzM5YzBkMDlh
YjkxODhiN2YwMzMwYzVjODAyYjg3OGM1MGEwOS4uMTBhNGFiYWU5Y2U2ZjFlNTNiNDllZjkzMzll
MzhlODhiNjUxYjM5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcApAQCAtMTg3LDcgKzE4Nyw3IEBAIHZv
aWQgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDo6Y2hhbmdlQXR0YWNoZWRXaW5kb3dIZWln
aHQodW5zaWduZWQgaGVpZ2h0KQogCiB2b2lkIEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWw6
Om9wZW5Jbk5ld1RhYihjb25zdCBTdHJpbmcmIHVybCkKIHsKLSAgICBVc2VyR2VzdHVyZUluZGlj
YXRvciBpbmRpY2F0b3IoRGVmaW5pdGVseVByb2Nlc3NpbmdVc2VyR2VzdHVyZSk7CisgICAgVXNl
ckdlc3R1cmVJbmRpY2F0b3IgaW5kaWNhdG9yKERlZmluaXRlbHlQcm9jZXNzaW5nTmV3VXNlckdl
c3R1cmUpOwogICAgIFBhZ2UqIHBhZ2UgPSBtX2luc3BlY3RvckNvbnRyb2xsZXItPmluc3BlY3Rl
ZFBhZ2UoKTsKICAgICBGcmFtZSogbWFpbkZyYW1lID0gcGFnZS0+bWFpbkZyYW1lKCk7CiAgICAg
RnJhbWVMb2FkUmVxdWVzdCByZXF1ZXN0KG1haW5GcmFtZS0+ZG9jdW1lbnQoKS0+c2VjdXJpdHlP
cmlnaW4oKSwgUmVzb3VyY2VSZXF1ZXN0KCksICJfYmxhbmsiKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAKaW5kZXggNWRlOWU0MWI2
NjljZGJmNjAxNmVmM2EzODFmMTVlMzZkYzVkNzEwZi4uODE4ZWMyMjE3MmM4N2ZlYmE2ZDQ2OWYy
ZTM4Nzg3ODc4NjQxNGNlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckZyb250ZW5kSG9zdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckZyb250ZW5kSG9zdC5jcHAKQEAgLTk1LDcgKzk1LDcgQEAgcHJpdmF0ZToKICAgICB2
aXJ0dWFsIHZvaWQgY29udGV4dE1lbnVJdGVtU2VsZWN0ZWQoQ29udGV4dE1lbnVJdGVtKiBpdGVt
KQogICAgIHsKICAgICAgICAgaWYgKG1fZnJvbnRlbmRIb3N0KSB7Ci0gICAgICAgICAgICBVc2Vy
R2VzdHVyZUluZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKERlZmluaXRlbHlQcm9jZXNzaW5nVXNl
ckdlc3R1cmUpOworICAgICAgICAgICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgZ2VzdHVyZUluZGlj
YXRvcihEZWZpbml0ZWx5UHJvY2Vzc2luZ05ld1VzZXJHZXN0dXJlKTsKICAgICAgICAgICAgIGlu
dCBpdGVtTnVtYmVyID0gaXRlbS0+YWN0aW9uKCkgLSBDb250ZXh0TWVudUl0ZW1CYXNlQ3VzdG9t
VGFnOwogCiAgICAgICAgICAgICBTY3JpcHRGdW5jdGlvbkNhbGwgZnVuY3Rpb24obV9mcm9udGVu
ZEFwaU9iamVjdCwgImNvbnRleHRNZW51SXRlbVNlbGVjdGVkIik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwCmluZGV4IDZjMTQ3ZDUzNDJmNWU4
OGIwMjFkZDcwZjgyYWI3MmJjZDAwMGE4MjYuLjM3ZjczNGU5OWQwMmIyNDdiMTFiNGIyZjE3ZDAy
MzY3MzM4ZjNhMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JQYWdlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQ
YWdlQWdlbnQuY3BwCkBAIC00NjQsNyArNDY0LDcgQEAgdm9pZCBJbnNwZWN0b3JQYWdlQWdlbnQ6
OnJlbG9hZChFcnJvclN0cmluZyosIGNvbnN0IGJvb2wqIGNvbnN0IG9wdGlvbmFsSWdub3JlQ2EK
IAogdm9pZCBJbnNwZWN0b3JQYWdlQWdlbnQ6Om5hdmlnYXRlKEVycm9yU3RyaW5nKiwgY29uc3Qg
U3RyaW5nJiB1cmwpCiB7Ci0gICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgaW5kaWNhdG9yKERlZmlu
aXRlbHlQcm9jZXNzaW5nVXNlckdlc3R1cmUpOworICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGlu
ZGljYXRvcihEZWZpbml0ZWx5UHJvY2Vzc2luZ05ld1VzZXJHZXN0dXJlKTsKICAgICBGcmFtZSog
ZnJhbWUgPSBtX3BhZ2UtPm1haW5GcmFtZSgpOwogICAgIGZyYW1lLT5sb2FkZXIoKS0+Y2hhbmdl
TG9jYXRpb24oZnJhbWUtPmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCksIGZyYW1lLT5kb2N1
bWVudCgpLT5jb21wbGV0ZVVSTCh1cmwpLCAiIiwgZmFsc2UsIGZhbHNlKTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcAppbmRleCBmODA0OTg4ZmIy
ZTkwZjZhM2NlZDlhZWZlYThlYTdiZDEzMmE4MzViLi5jN2YyNTVhNDYxYzY0NTQ3YzU3MGM3NWNi
OWJhMjc2MjRhZDg4YWRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdh
dGlvblNjaGVkdWxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25T
Y2hlZHVsZXIuY3BwCkBAIC0xMDYsNyArMTA2LDcgQEAgcHJvdGVjdGVkOgogCiAgICAgdmlydHVh
bCB2b2lkIGZpcmUoRnJhbWUqIGZyYW1lKQogICAgIHsKLSAgICAgICAgVXNlckdlc3R1cmVJbmRp
Y2F0b3IgZ2VzdHVyZUluZGljYXRvcih3YXNVc2VyR2VzdHVyZSgpID8gRGVmaW5pdGVseVByb2Nl
c3NpbmdVc2VyR2VzdHVyZSA6IERlZmluaXRlbHlOb3RQcm9jZXNzaW5nVXNlckdlc3R1cmUpOwor
ICAgICAgICBVc2VyR2VzdHVyZUluZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKHdhc1VzZXJHZXN0
dXJlKCkgPyBEZWZpbml0ZWx5UHJvY2Vzc2luZ05ld1VzZXJHZXN0dXJlIDogRGVmaW5pdGVseU5v
dFByb2Nlc3NpbmdVc2VyR2VzdHVyZSk7CiAgICAgICAgIGZyYW1lLT5sb2FkZXIoKS0+Y2hhbmdl
TG9jYXRpb24obV9zZWN1cml0eU9yaWdpbi5nZXQoKSwgS1VSTChQYXJzZWRVUkxTdHJpbmcsIG1f
dXJsKSwgbV9yZWZlcnJlciwgbG9ja0hpc3RvcnkoKSwgbG9ja0JhY2tGb3J3YXJkTGlzdCgpLCBm
YWxzZSk7CiAgICAgfQogCkBAIC0xMTYsNyArMTE2LDcgQEAgcHJvdGVjdGVkOgogICAgICAgICAg
ICAgcmV0dXJuOwogICAgICAgICBtX2hhdmVUb2xkQ2xpZW50ID0gdHJ1ZTsKIAotICAgICAgICBV
c2VyR2VzdHVyZUluZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKHdhc1VzZXJHZXN0dXJlKCkgPyBE
ZWZpbml0ZWx5UHJvY2Vzc2luZ1VzZXJHZXN0dXJlIDogRGVmaW5pdGVseU5vdFByb2Nlc3NpbmdV
c2VyR2VzdHVyZSk7CisgICAgICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0
b3Iod2FzVXNlckdlc3R1cmUoKSA/IERlZmluaXRlbHlQcm9jZXNzaW5nTmV3VXNlckdlc3R1cmUg
OiBEZWZpbml0ZWx5Tm90UHJvY2Vzc2luZ1VzZXJHZXN0dXJlKTsKICAgICAgICAgZnJhbWUtPmxv
YWRlcigpLT5jbGllbnRSZWRpcmVjdGVkKEtVUkwoUGFyc2VkVVJMU3RyaW5nLCBtX3VybCksIGRl
bGF5KCksIGN1cnJlbnRUaW1lKCkgKyB0aW1lci0+bmV4dEZpcmVJbnRlcnZhbCgpLCBsb2NrQmFj
a0ZvcndhcmRMaXN0KCkpOwogICAgIH0KIApAQCAtMTU3LDcgKzE1Nyw3IEBAIHB1YmxpYzoKIAog
ICAgIHZpcnR1YWwgdm9pZCBmaXJlKEZyYW1lKiBmcmFtZSkKICAgICB7Ci0gICAgICAgIFVzZXJH
ZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3Iod2FzVXNlckdlc3R1cmUoKSA/IERlZmlu
aXRlbHlQcm9jZXNzaW5nVXNlckdlc3R1cmUgOiBEZWZpbml0ZWx5Tm90UHJvY2Vzc2luZ1VzZXJH
ZXN0dXJlKTsKKyAgICAgICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgZ2VzdHVyZUluZGljYXRvcih3
YXNVc2VyR2VzdHVyZSgpID8gRGVmaW5pdGVseVByb2Nlc3NpbmdOZXdVc2VyR2VzdHVyZSA6IERl
ZmluaXRlbHlOb3RQcm9jZXNzaW5nVXNlckdlc3R1cmUpOwogICAgICAgICBib29sIHJlZnJlc2gg
PSBlcXVhbElnbm9yaW5nRnJhZ21lbnRJZGVudGlmaWVyKGZyYW1lLT5kb2N1bWVudCgpLT51cmwo
KSwgS1VSTChQYXJzZWRVUkxTdHJpbmcsIHVybCgpKSk7CiAgICAgICAgIGZyYW1lLT5sb2FkZXIo
KS0+Y2hhbmdlTG9jYXRpb24oc2VjdXJpdHlPcmlnaW4oKSwgS1VSTChQYXJzZWRVUkxTdHJpbmcs
IHVybCgpKSwgcmVmZXJyZXIoKSwgbG9ja0hpc3RvcnkoKSwgbG9ja0JhY2tGb3J3YXJkTGlzdCgp
LCByZWZyZXNoKTsKICAgICB9CkBAIC0xNzgsNyArMTc4LDcgQEAgcHVibGljOgogCiAgICAgdmly
dHVhbCB2b2lkIGZpcmUoRnJhbWUqIGZyYW1lKQogICAgIHsKLSAgICAgICAgVXNlckdlc3R1cmVJ
bmRpY2F0b3IgZ2VzdHVyZUluZGljYXRvcih3YXNVc2VyR2VzdHVyZSgpID8gRGVmaW5pdGVseVBy
b2Nlc3NpbmdVc2VyR2VzdHVyZSA6IERlZmluaXRlbHlOb3RQcm9jZXNzaW5nVXNlckdlc3R1cmUp
OworICAgICAgICBVc2VyR2VzdHVyZUluZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKHdhc1VzZXJH
ZXN0dXJlKCkgPyBEZWZpbml0ZWx5UHJvY2Vzc2luZ05ld1VzZXJHZXN0dXJlIDogRGVmaW5pdGVs
eU5vdFByb2Nlc3NpbmdVc2VyR2VzdHVyZSk7CiAgICAgICAgIGZyYW1lLT5sb2FkZXIoKS0+Y2hh
bmdlTG9jYXRpb24oc2VjdXJpdHlPcmlnaW4oKSwgS1VSTChQYXJzZWRVUkxTdHJpbmcsIHVybCgp
KSwgcmVmZXJyZXIoKSwgbG9ja0hpc3RvcnkoKSwgbG9ja0JhY2tGb3J3YXJkTGlzdCgpLCB0cnVl
KTsKICAgICB9CiB9OwpAQCAtMTkzLDcgKzE5Myw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwg
dm9pZCBmaXJlKEZyYW1lKiBmcmFtZSkKICAgICB7Ci0gICAgICAgIFVzZXJHZXN0dXJlSW5kaWNh
dG9yIGdlc3R1cmVJbmRpY2F0b3Iod2FzVXNlckdlc3R1cmUoKSA/IERlZmluaXRlbHlQcm9jZXNz
aW5nVXNlckdlc3R1cmUgOiBEZWZpbml0ZWx5Tm90UHJvY2Vzc2luZ1VzZXJHZXN0dXJlKTsKKyAg
ICAgICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgZ2VzdHVyZUluZGljYXRvcih3YXNVc2VyR2VzdHVy
ZSgpID8gRGVmaW5pdGVseVByb2Nlc3NpbmdOZXdVc2VyR2VzdHVyZSA6IERlZmluaXRlbHlOb3RQ
cm9jZXNzaW5nVXNlckdlc3R1cmUpOwogCiAgICAgICAgIGlmICghbV9oaXN0b3J5U3RlcHMpIHsK
ICAgICAgICAgICAgIC8vIFNwZWNpYWwgY2FzZSBmb3IgZ28oMCkgZnJvbSBhIGZyYW1lIC0+IHJl
bG9hZCBvbmx5IHRoZSBmcmFtZQpAQCAtMjIyLDcgKzIyMiw3IEBAIHB1YmxpYzoKIAogICAgIHZp
cnR1YWwgdm9pZCBmaXJlKEZyYW1lKiBmcmFtZSkKICAgICB7Ci0gICAgICAgIFVzZXJHZXN0dXJl
SW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3Iod2FzVXNlckdlc3R1cmUoKSA/IERlZmluaXRlbHlQ
cm9jZXNzaW5nVXNlckdlc3R1cmUgOiBEZWZpbml0ZWx5Tm90UHJvY2Vzc2luZ1VzZXJHZXN0dXJl
KTsKKyAgICAgICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgZ2VzdHVyZUluZGljYXRvcih3YXNVc2Vy
R2VzdHVyZSgpID8gRGVmaW5pdGVseVByb2Nlc3NpbmdOZXdVc2VyR2VzdHVyZSA6IERlZmluaXRl
bHlOb3RQcm9jZXNzaW5nVXNlckdlc3R1cmUpOwogCiAgICAgICAgIC8vIFRoZSBzdWJtaXRGb3Jt
IGZ1bmN0aW9uIHdpbGwgZmluZCBhIHRhcmdldCBmcmFtZSBiZWZvcmUgdXNpbmcgdGhlIHJlZGly
ZWN0aW9uIHRpbWVyLgogICAgICAgICAvLyBOb3cgdGhhdCB0aGUgdGltZXIgaGFzIGZpcmVkLCB3
ZSBuZWVkIHRvIHJlcGVhdCB0aGUgc2VjdXJpdHkgY2hlY2sgd2hpY2ggbm9ybWFsbHkgaXMgZG9u
ZSB3aGVuCkBAIC0yNDIsNyArMjQyLDcgQEAgcHVibGljOgogICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICBtX2hhdmVUb2xkQ2xpZW50ID0gdHJ1ZTsKIAotICAgICAgICBVc2VyR2VzdHVyZUlu
ZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKHdhc1VzZXJHZXN0dXJlKCkgPyBEZWZpbml0ZWx5UHJv
Y2Vzc2luZ1VzZXJHZXN0dXJlIDogRGVmaW5pdGVseU5vdFByb2Nlc3NpbmdVc2VyR2VzdHVyZSk7
CisgICAgICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3Iod2FzVXNlckdl
c3R1cmUoKSA/IERlZmluaXRlbHlQcm9jZXNzaW5nTmV3VXNlckdlc3R1cmUgOiBEZWZpbml0ZWx5
Tm90UHJvY2Vzc2luZ1VzZXJHZXN0dXJlKTsKICAgICAgICAgZnJhbWUtPmxvYWRlcigpLT5jbGll
bnRSZWRpcmVjdGVkKG1fc3VibWlzc2lvbi0+cmVxdWVzdFVSTCgpLCBkZWxheSgpLCBjdXJyZW50
VGltZSgpICsgdGltZXItPm5leHRGaXJlSW50ZXJ2YWwoKSwgbG9ja0JhY2tGb3J3YXJkTGlzdCgp
KTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAppbmRleCA5NGE4NDAy
NGMzMjRiN2ZiYTUxMDNmMDBkYTZkZGZmYTI0NjRmN2FlLi5mNzQyOTIwM2I2NzhmYmYwOTQ3NTUw
YzczZGIwNDcxZWE2MzE0OTBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50
SGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBA
IC0xNDU0LDcgKzE0NTQsNyBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VQcmVzc0V2
ZW50KGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYgbW91c2VFdmVudCkKICAgICAgICAgcmV0dXJu
IHRydWU7CiAjZW5kaWYKIAotICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0
b3IoRGVmaW5pdGVseVByb2Nlc3NpbmdVc2VyR2VzdHVyZSk7CisgICAgVXNlckdlc3R1cmVJbmRp
Y2F0b3IgZ2VzdHVyZUluZGljYXRvcihEZWZpbml0ZWx5UHJvY2Vzc2luZ05ld1VzZXJHZXN0dXJl
KTsKICAgICBtX2xhc3RNb3VzZURvd25Vc2VyR2VzdHVyZVRva2VuID0gZ2VzdHVyZUluZGljYXRv
ci5jdXJyZW50VG9rZW4oKTsKIAogICAgIC8vIEZJWE1FIChidWcgNjgxODUpOiB0aGlzIGNhbGwg
c2hvdWxkIGJlIG1hZGUgYXQgYW5vdGhlciBhYnN0cmFjdGlvbiBsYXllcgpAQCAtMTU4OCw3ICsx
NTg4LDcgQEAgYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlRG91YmxlQ2xpY2tFdmVudChj
b25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIG1vdXNlRXYKIAogICAgIG1fZnJhbWUtPnNlbGVjdGlv
bigpLT5zZXRDYXJldEJsaW5raW5nU3VzcGVuZGVkKGZhbHNlKTsKIAotICAgIFVzZXJHZXN0dXJl
SW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3IoRGVmaW5pdGVseVByb2Nlc3NpbmdVc2VyR2VzdHVy
ZSk7CisgICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgZ2VzdHVyZUluZGljYXRvcihEZWZpbml0ZWx5
UHJvY2Vzc2luZ05ld1VzZXJHZXN0dXJlKTsKIAogICAgIC8vIFdlIGdldCB0aGlzIGluc3RlYWQg
b2YgYSBzZWNvbmQgbW91c2UtdXAgCiAgICAgbV9tb3VzZVByZXNzZWQgPSBmYWxzZTsKQEAgLTE4
MzEsNyArMTgzMSw3IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVJlbGVhc2VFdmVu
dChjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIG1vdXNlRXZlbnQpCiAgICAgaWYgKG1fbGFzdE1v
dXNlRG93blVzZXJHZXN0dXJlVG9rZW4pCiAgICAgICAgIGdlc3R1cmVJbmRpY2F0b3IgPSBhZG9w
dFB0cihuZXcgVXNlckdlc3R1cmVJbmRpY2F0b3IobV9sYXN0TW91c2VEb3duVXNlckdlc3R1cmVU
b2tlbi5yZWxlYXNlKCkpKTsKICAgICBlbHNlCi0gICAgICAgIGdlc3R1cmVJbmRpY2F0b3IgPSBh
ZG9wdFB0cihuZXcgVXNlckdlc3R1cmVJbmRpY2F0b3IoRGVmaW5pdGVseVByb2Nlc3NpbmdVc2Vy
R2VzdHVyZSkpOworICAgICAgICBnZXN0dXJlSW5kaWNhdG9yID0gYWRvcHRQdHIobmV3IFVzZXJH
ZXN0dXJlSW5kaWNhdG9yKERlZmluaXRlbHlQcm9jZXNzaW5nTmV3VXNlckdlc3R1cmUpKTsKIAog
I2lmIEVOQUJMRShQQU5fU0NST0xMSU5HKQogICAgIG1fYXV0b3Njcm9sbENvbnRyb2xsZXItPmhh
bmRsZU1vdXNlUmVsZWFzZUV2ZW50KG1vdXNlRXZlbnQpOwpAQCAtMzE1Niw3ICszMTU2LDcgQEAg
Ym9vbCBFdmVudEhhbmRsZXI6OmtleUV2ZW50KGNvbnN0IFBsYXRmb3JtS2V5Ym9hcmRFdmVudCYg
aW5pdGlhbEtleUV2ZW50KQogICAgIGlmICghbm9kZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
Ci0gICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgZ2VzdHVyZUluZGljYXRvcihEZWZpbml0ZWx5UHJv
Y2Vzc2luZ1VzZXJHZXN0dXJlKTsKKyAgICBVc2VyR2VzdHVyZUluZGljYXRvciBnZXN0dXJlSW5k
aWNhdG9yKERlZmluaXRlbHlQcm9jZXNzaW5nTmV3VXNlckdlc3R1cmUpOwogICAgIFVzZXJUeXBp
bmdHZXN0dXJlSW5kaWNhdG9yIHR5cGluZ0dlc3R1cmVJbmRpY2F0b3IobV9mcmFtZSk7CiAKICAg
ICBpZiAoRnJhbWVWaWV3KiB2aWV3ID0gbV9mcmFtZS0+dmlldygpKQpAQCAtMzg1Myw3ICszODUz
LDcgQEAgYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZVRvdWNoRXZlbnQoY29uc3QgUGxhdGZvcm1U
b3VjaEV2ZW50JiBldmVudCkKIAogICAgIGNvbnN0IFZlY3RvcjxQbGF0Zm9ybVRvdWNoUG9pbnQ+
JiBwb2ludHMgPSBldmVudC50b3VjaFBvaW50cygpOwogCi0gICAgVXNlckdlc3R1cmVJbmRpY2F0
b3IgZ2VzdHVyZUluZGljYXRvcihEZWZpbml0ZWx5UHJvY2Vzc2luZ1VzZXJHZXN0dXJlKTsKKyAg
ICBVc2VyR2VzdHVyZUluZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKERlZmluaXRlbHlQcm9jZXNz
aW5nTmV3VXNlckdlc3R1cmUpOwogCiAgICAgdW5zaWduZWQgaTsKICAgICBib29sIGZyZXNoVG91
Y2hFdmVudHMgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hy
b21pdW0vUG9wdXBDb250YWluZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21p
dW0vUG9wdXBDb250YWluZXIuY3BwCmluZGV4IDQ5MjVlMDQ0MmVkMmQ0MzBmYjZkZTIzNzEzMTA4
MTRkOTdkMmQ4OGIuLjlmYjQzYzM5NjY0ZmIxZmI4ZWFiZGVmZDQ2NzAxY2QwMWRiZjMwMmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BvcHVwQ29udGFpbmVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cENvbnRhaW5l
ci5jcHAKQEAgLTI3MSwxNCArMjcxLDE0IEBAIGludCBQb3B1cENvbnRhaW5lcjo6bGF5b3V0QW5k
R2V0UlRMT2Zmc2V0KCkKIAogYm9vbCBQb3B1cENvbnRhaW5lcjo6aGFuZGxlTW91c2VEb3duRXZl
bnQoY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBldmVudCkKIHsKLSAgICBVc2VyR2VzdHVyZUlu
ZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKERlZmluaXRlbHlQcm9jZXNzaW5nVXNlckdlc3R1cmUp
OworICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3IoRGVmaW5pdGVseVBy
b2Nlc3NpbmdOZXdVc2VyR2VzdHVyZSk7CiAgICAgcmV0dXJuIG1fbGlzdEJveC0+aGFuZGxlTW91
c2VEb3duRXZlbnQoCiAgICAgICAgIGNvbnN0cnVjdFJlbGF0aXZlTW91c2VFdmVudChldmVudCwg
dGhpcywgbV9saXN0Qm94LmdldCgpKSk7CiB9CiAKIGJvb2wgUG9wdXBDb250YWluZXI6OmhhbmRs
ZU1vdXNlTW92ZUV2ZW50KGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYgZXZlbnQpCiB7Ci0gICAg
VXNlckdlc3R1cmVJbmRpY2F0b3IgZ2VzdHVyZUluZGljYXRvcihEZWZpbml0ZWx5UHJvY2Vzc2lu
Z1VzZXJHZXN0dXJlKTsKKyAgICBVc2VyR2VzdHVyZUluZGljYXRvciBnZXN0dXJlSW5kaWNhdG9y
KERlZmluaXRlbHlQcm9jZXNzaW5nTmV3VXNlckdlc3R1cmUpOwogICAgIHJldHVybiBtX2xpc3RC
b3gtPmhhbmRsZU1vdXNlTW92ZUV2ZW50KAogICAgICAgICBjb25zdHJ1Y3RSZWxhdGl2ZU1vdXNl
RXZlbnQoZXZlbnQsIHRoaXMsIG1fbGlzdEJveC5nZXQoKSkpOwogfQpAQCAtMjg2LDE0ICsyODYs
MTQgQEAgYm9vbCBQb3B1cENvbnRhaW5lcjo6aGFuZGxlTW91c2VNb3ZlRXZlbnQoY29uc3QgUGxh
dGZvcm1Nb3VzZUV2ZW50JiBldmVudCkKIGJvb2wgUG9wdXBDb250YWluZXI6OmhhbmRsZU1vdXNl
UmVsZWFzZUV2ZW50KGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYgZXZlbnQpCiB7CiAgICAgUmVm
UHRyPFBvcHVwQ29udGFpbmVyPiBwcm90ZWN0KHRoaXMpOwotICAgIFVzZXJHZXN0dXJlSW5kaWNh
dG9yIGdlc3R1cmVJbmRpY2F0b3IoRGVmaW5pdGVseVByb2Nlc3NpbmdVc2VyR2VzdHVyZSk7Cisg
ICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgZ2VzdHVyZUluZGljYXRvcihEZWZpbml0ZWx5UHJvY2Vz
c2luZ05ld1VzZXJHZXN0dXJlKTsKICAgICByZXR1cm4gbV9saXN0Qm94LT5oYW5kbGVNb3VzZVJl
bGVhc2VFdmVudCgKICAgICAgICAgY29uc3RydWN0UmVsYXRpdmVNb3VzZUV2ZW50KGV2ZW50LCB0
aGlzLCBtX2xpc3RCb3guZ2V0KCkpKTsKIH0KIAogYm9vbCBQb3B1cENvbnRhaW5lcjo6aGFuZGxl
V2hlZWxFdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIGV2ZW50KQogewotICAgIFVzZXJH
ZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3IoRGVmaW5pdGVseVByb2Nlc3NpbmdVc2Vy
R2VzdHVyZSk7CisgICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgZ2VzdHVyZUluZGljYXRvcihEZWZp
bml0ZWx5UHJvY2Vzc2luZ05ld1VzZXJHZXN0dXJlKTsKICAgICByZXR1cm4gbV9saXN0Qm94LT5o
YW5kbGVXaGVlbEV2ZW50KAogICAgICAgICBjb25zdHJ1Y3RSZWxhdGl2ZVdoZWVsRXZlbnQoZXZl
bnQsIHRoaXMsIG1fbGlzdEJveC5nZXQoKSkpOwogfQpAQCAtMzQwLDcgKzM0MCw3IEBAIGJvb2wg
UG9wdXBDb250YWluZXI6OmhhbmRsZUdlc3R1cmVFdmVudChjb25zdCBQbGF0Zm9ybUdlc3R1cmVF
dmVudCYgZ2VzdHVyZUV2ZW50CiAKIGJvb2wgUG9wdXBDb250YWluZXI6OmhhbmRsZUtleUV2ZW50
KGNvbnN0IFBsYXRmb3JtS2V5Ym9hcmRFdmVudCYgZXZlbnQpCiB7Ci0gICAgVXNlckdlc3R1cmVJ
bmRpY2F0b3IgZ2VzdHVyZUluZGljYXRvcihEZWZpbml0ZWx5UHJvY2Vzc2luZ1VzZXJHZXN0dXJl
KTsKKyAgICBVc2VyR2VzdHVyZUluZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKERlZmluaXRlbHlQ
cm9jZXNzaW5nTmV3VXNlckdlc3R1cmUpOwogICAgIHJldHVybiBtX2xpc3RCb3gtPmhhbmRsZUtl
eUV2ZW50KGV2ZW50KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5
L1dlYktpdFN1cHBvcnQvTm90aWZpY2F0aW9uTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Js
YWNrYmVycnkvV2ViS2l0U3VwcG9ydC9Ob3RpZmljYXRpb25NYW5hZ2VyLmNwcAppbmRleCAyNGU3
YjJjOTJmYzMwZjc3NmJiYWYxNDM0ZWZkMjJhYWNjZDI4ZDg4Li5iZjg5NDA5ZDBlYzBhY2FiNTQw
NDNkZGI5YWRiMDNiNmY1NzdlNjk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVy
cnkvV2ViS2l0U3VwcG9ydC9Ob3RpZmljYXRpb25NYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9Ob3RpZmljYXRpb25NYW5hZ2VyLmNwcApAQCAt
MTgwLDcgKzE4MCw3IEBAIHZvaWQgTm90aWZpY2F0aW9uTWFuYWdlcjo6bm90aWZpY2F0aW9uQ2xp
Y2tlZChjb25zdCBTdHJpbmcmIG5vdGlmaWNhdGlvbklEKQogICAgICAgICByZXR1cm47CiAKICAg
ICAvLyBJbmRpY2F0ZSB0aGF0IHRoaXMgZXZlbnQgaXMgYmVpbmcgZGlzcGF0Y2hlZCBpbiByZWFj
dGlvbiB0byBhIHVzZXIncyBpbnRlcmFjdGlvbiB3aXRoIGEgcGxhdGZvcm0gbm90aWZpY2F0aW9u
LgotICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGluZGljYXRvcihEZWZpbml0ZWx5UHJvY2Vzc2lu
Z1VzZXJHZXN0dXJlKTsKKyAgICBVc2VyR2VzdHVyZUluZGljYXRvciBpbmRpY2F0b3IoRGVmaW5p
dGVseVByb2Nlc3NpbmdOZXdVc2VyR2VzdHVyZSk7CiAgICAgbm90aWZpY2F0aW9uLT5kaXNwYXRj
aENsaWNrRXZlbnQoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViRnJhbWVJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1l
SW1wbC5jcHAKaW5kZXggMGE5Mzk5YTkyZDM4MGM1ODkzMzI2MTYwMjc3MTFiYjkzNjQ4MmQxNy4u
ZTZhNTBmZDVjM2RjNTUxZjFiNGNmZjI0NGJhNzVhNDg1OGM5ZTllMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCkBAIC04NjMsNyArODYzLDcgQEAgdjg6
OkhhbmRsZTx2ODo6VmFsdWU+IFdlYkZyYW1lSW1wbDo6ZXhlY3V0ZVNjcmlwdEFuZFJldHVyblZh
bHVlKGNvbnN0IFdlYlNjcmlwdFMKICAgICAvLyB0ZXN0cyBwYXNzLiBJZiB0aGlzIGlzbid0IG5l
ZWRlZCBpbiBub24tdGVzdCBzaXR1YXRpb25zLCB3ZSBzaG91bGQKICAgICAvLyBjb25zaWRlciBy
ZW1vdmluZyB0aGlzIGNvZGUgYW5kIGNoYW5naW5nIHRoZSB0ZXN0cy4KICAgICAvLyBodHRwOi8v
Y29kZS5nb29nbGUuY29tL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD04NjM5NwotICAgIFVz
ZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3IoRGVmaW5pdGVseVByb2Nlc3NpbmdV
c2VyR2VzdHVyZSk7CisgICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgZ2VzdHVyZUluZGljYXRvcihE
ZWZpbml0ZWx5UHJvY2Vzc2luZ05ld1VzZXJHZXN0dXJlKTsKIAogICAgIFRleHRQb3NpdGlvbiBw
b3NpdGlvbihPcmRpbmFsTnVtYmVyOjpmcm9tT25lQmFzZWRJbnQoc291cmNlLnN0YXJ0TGluZSks
IE9yZGluYWxOdW1iZXI6OmZpcnN0KCkpOwogICAgIHJldHVybiBmcmFtZSgpLT5zY3JpcHQoKS0+
ZXhlY3V0ZVNjcmlwdChTY3JpcHRTb3VyY2VDb2RlKHNvdXJjZS5jb2RlLCBzb3VyY2UudXJsLCBw
b3NpdGlvbikpLnY4VmFsdWUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYk5vdGlmaWNhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJO
b3RpZmljYXRpb24uY3BwCmluZGV4IGM4ZmU4MTVjNDkwMzc3ZTdjNjEzMmQwZDI5YmI5NzViZTdl
MzAxN2MuLmJiNDdmYjc0ZjZhYWE3MThiYTc0M2NkYTI0NDY4MjQ0OTAyZjA3ZTcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk5vdGlmaWNhdGlvbi5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTm90aWZpY2F0aW9uLmNwcApAQCAtMTM1LDcg
KzEzNSw3IEBAIHZvaWQgV2ViTm90aWZpY2F0aW9uOjpkaXNwYXRjaENsb3NlRXZlbnQoYm9vbCAv
KiBieVVzZXIgKi8pCiAKIHZvaWQgV2ViTm90aWZpY2F0aW9uOjpkaXNwYXRjaENsaWNrRXZlbnQo
KQogewotICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3IoRGVmaW5pdGVs
eVByb2Nlc3NpbmdVc2VyR2VzdHVyZSk7CisgICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgZ2VzdHVy
ZUluZGljYXRvcihEZWZpbml0ZWx5UHJvY2Vzc2luZ05ld1VzZXJHZXN0dXJlKTsKICAgICBXaW5k
b3dGb2N1c0FsbG93ZWRJbmRpY2F0b3Igd2luZG93Rm9jdXNBbGxvd2VkOwogICAgIGRpc3BhdGNo
RXZlbnQoZXZlbnROYW1lcygpLmNsaWNrRXZlbnQpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luQ29udGFpbmVySW1wbC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJQbHVnaW5Db250YWluZXJJbXBsLmNwcAppbmRleCA2ZTRkZGU2
Mjc3Zjc3NmU0MjBkN2IxNjdmZWFjMmFiZjdmNjM3MGNjLi45MTAzNDk2NDcyMGE3Mjc1OThkOTY3
OTk2M2MyMmUwOWZkNTA4YWZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJQbHVnaW5Db250YWluZXJJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJQbHVnaW5Db250YWluZXJJbXBsLmNwcApAQCAtMTg2LDcgKzE4Niw3IEBAIHZvaWQg
V2ViUGx1Z2luQ29udGFpbmVySW1wbDo6aGFuZGxlRXZlbnQoRXZlbnQqIGV2ZW50KQogICAgICAg
ICByZXR1cm47CiAKICAgICBjb25zdCBXZWJJbnB1dEV2ZW50KiBjdXJyZW50SW5wdXRFdmVudCA9
IFdlYlZpZXdJbXBsOjpjdXJyZW50SW5wdXRFdmVudCgpOwotICAgIFVzZXJHZXN0dXJlSW5kaWNh
dG9yIGdlc3R1cmVJbmRpY2F0b3IoY3VycmVudElucHV0RXZlbnQgJiYgV2ViSW5wdXRFdmVudDo6
aXNVc2VyR2VzdHVyZUV2ZW50VHlwZShjdXJyZW50SW5wdXRFdmVudC0+dHlwZSkgPyBEZWZpbml0
ZWx5UHJvY2Vzc2luZ1VzZXJHZXN0dXJlIDogUG9zc2libHlQcm9jZXNzaW5nVXNlckdlc3R1cmUp
OworICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3IoY3VycmVudElucHV0
RXZlbnQgJiYgV2ViSW5wdXRFdmVudDo6aXNVc2VyR2VzdHVyZUV2ZW50VHlwZShjdXJyZW50SW5w
dXRFdmVudC0+dHlwZSkgPyBEZWZpbml0ZWx5UHJvY2Vzc2luZ05ld1VzZXJHZXN0dXJlIDogUG9z
c2libHlQcm9jZXNzaW5nVXNlckdlc3R1cmUpOwogCiAgICAgUmVmUHRyPFdlYlBsdWdpbkNvbnRh
aW5lckltcGw+IHByb3RlY3Rvcih0aGlzKTsKICAgICAvLyBUaGUgZXZlbnRzIHdlIHBhc3MgYXJl
IGRlZmluZWQgYXQ6CkBAIC00NDUsNyArNDQ1LDcgQEAgdm9pZCBXZWJQbHVnaW5Db250YWluZXJJ
bXBsOjpsb2FkRnJhbWVSZXF1ZXN0KGNvbnN0IFdlYlVSTFJlcXVlc3QmIHJlcXVlc3QsIGNvbnMK
ICAgICB9CiAKICAgICBGcmFtZUxvYWRSZXF1ZXN0IGZyYW1lUmVxdWVzdChmcmFtZS0+ZG9jdW1l
bnQoKS0+c2VjdXJpdHlPcmlnaW4oKSwgcmVxdWVzdC50b1Jlc291cmNlUmVxdWVzdCgpLCB0YXJn
ZXQpOwotICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3IocmVxdWVzdC5o
YXNVc2VyR2VzdHVyZSgpID8gRGVmaW5pdGVseVByb2Nlc3NpbmdVc2VyR2VzdHVyZSA6IFBvc3Np
Ymx5UHJvY2Vzc2luZ1VzZXJHZXN0dXJlKTsKKyAgICBVc2VyR2VzdHVyZUluZGljYXRvciBnZXN0
dXJlSW5kaWNhdG9yKHJlcXVlc3QuaGFzVXNlckdlc3R1cmUoKSA/IERlZmluaXRlbHlQcm9jZXNz
aW5nTmV3VXNlckdlc3R1cmUgOiBQb3NzaWJseVByb2Nlc3NpbmdVc2VyR2VzdHVyZSk7CiAgICAg
ZnJhbWUtPmxvYWRlcigpLT5sb2FkRnJhbWVSZXF1ZXN0KGZyYW1lUmVxdWVzdCwgZmFsc2UsIGZh
bHNlLCAwLCAwLCBNYXliZVNlbmRSZWZlcnJlcik7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNjb3BlZFVzZXJHZXN0dXJlLmNwcCBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYlNjb3BlZFVzZXJHZXN0dXJlLmNwcAppbmRleCA3YWI5MTI1ZWUw
MGFhMTBmZTViMWRmOTU5MDUwMjI3MjUyY2M2N2U3Li5iNzA2ZWE3MWVjMmNkMjVlNDBhZWE3MjE5
NjU2MDE5YmM0YjdhMjkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJTY29wZWRVc2VyR2VzdHVyZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViU2NvcGVkVXNlckdlc3R1cmUuY3BwCkBAIC0zOCw3ICszOCw3IEBAIG5hbWVzcGFjZSBXZWJL
aXQgewogCiB2b2lkIFdlYlNjb3BlZFVzZXJHZXN0dXJlOjppbml0aWFsaXplKCkKIHsKLSAgICBt
X2luZGljYXRvci5yZXNldChuZXcgV2ViQ29yZTo6VXNlckdlc3R1cmVJbmRpY2F0b3IoV2ViQ29y
ZTo6RGVmaW5pdGVseVByb2Nlc3NpbmdVc2VyR2VzdHVyZSkpOworICAgIG1faW5kaWNhdG9yLnJl
c2V0KG5ldyBXZWJDb3JlOjpVc2VyR2VzdHVyZUluZGljYXRvcihXZWJDb3JlOjpEZWZpbml0ZWx5
UHJvY2Vzc2luZ05ld1VzZXJHZXN0dXJlKSk7CiB9CiAKIHZvaWQgV2ViU2NvcGVkVXNlckdlc3R1
cmU6OmluaXRpYWxpemVXaXRoVG9rZW4oY29uc3QgV2ViVXNlckdlc3R1cmVUb2tlbiYgdG9rZW4p
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1dlYlVzZXJHZXN0dXJl
VG9rZW5UZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvV2ViVXNlckdlc3R1
cmVUb2tlblRlc3QuY3BwCmluZGV4IGNlOWExZTY5MTRmM2Y4YTVjZTA0MDQ0OWI5MThjYzAzMWY4
NmEwNGQuLjliNzRjN2Q4ZmUxMTgwYjc2NjhjODEzMjY2MzczMjhkNGE1MzNjMzAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvV2ViVXNlckdlc3R1cmVUb2tlblRlc3Qu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvV2ViVXNlckdlc3R1cmVUb2tl
blRlc3QuY3BwCkBAIC01Miw3ICs1Miw3IEBAIFRFU1QoV2ViVXNlckdlc3R1cmVUb2tlblRlc3Qs
IEJhc2ljKQogICAgIH0KIAogICAgIHsKLSAgICAgICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgaW5k
aWNhdG9yKERlZmluaXRlbHlQcm9jZXNzaW5nVXNlckdlc3R1cmUpOworICAgICAgICBVc2VyR2Vz
dHVyZUluZGljYXRvciBpbmRpY2F0b3IoRGVmaW5pdGVseVByb2Nlc3NpbmdOZXdVc2VyR2VzdHVy
ZSk7CiAgICAgICAgIEVYUEVDVF9UUlVFKFdlYlVzZXJHZXN0dXJlSW5kaWNhdG9yOjppc1Byb2Nl
c3NpbmdVc2VyR2VzdHVyZSgpKTsKICAgICAgICAgdG9rZW4gPSBXZWJVc2VyR2VzdHVyZUluZGlj
YXRvcjo6Y3VycmVudFVzZXJHZXN0dXJlVG9rZW4oKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHku
bW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3Rh
bmNlUHJveHkubW0KaW5kZXggNzdkYjE0ODliM2M5NDRiYWNmNWE2ODBiMWZmZGM4YmQ4MWJiOGUy
Yi4uNmM5YjMyYWM4ZDE1ZDI4MDlhMTFhMGQ4NTM3ZmM0MjI3MWIyNmYyYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVBy
b3h5Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1
Z2luSW5zdGFuY2VQcm94eS5tbQpAQCAtODczLDcgKzg3Myw3IEBAIGJvb2wgTmV0c2NhcGVQbHVn
aW5JbnN0YW5jZVByb3h5OjpldmFsdWF0ZSh1aW50MzJfdCBvYmplY3RJRCwgY29uc3QgU3RyaW5n
JiBzY3JpCiAKICAgICBnbG9iYWxPYmplY3QtPmdsb2JhbERhdGEoKS50aW1lb3V0Q2hlY2tlci5z
dGFydCgpOwogCi0gICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgZ2VzdHVyZUluZGljYXRvcihhbGxv
d1BvcHVwcyA/IERlZmluaXRlbHlQcm9jZXNzaW5nVXNlckdlc3R1cmUgOiBQb3NzaWJseVByb2Nl
c3NpbmdVc2VyR2VzdHVyZSk7CisgICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgZ2VzdHVyZUluZGlj
YXRvcihhbGxvd1BvcHVwcyA/IERlZmluaXRlbHlQcm9jZXNzaW5nTmV3VXNlckdlc3R1cmUgOiBQ
b3NzaWJseVByb2Nlc3NpbmdVc2VyR2VzdHVyZSk7CiAgICAgCiAgICAgSlNWYWx1ZSByZXN1bHQg
PSBKU0M6OmV2YWx1YXRlKGV4ZWMsIG1ha2VTb3VyY2Uoc2NyaXB0KSk7CiAgICAgCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbSBi
L1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCmluZGV4
IDFlMWJkMzg1YjZlZDBiNTYwNzM4ZTU3MThlN2RkY2JhZDZhNDM4ZmEuLjA4MjZlOTM4YjcxNGRk
MDdjZTdmMDdhZGExODc4OWNlMmQyMTE1YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFj
L1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFj
L1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCkBAIC02NzAsNyArNjcwLDcgQEAgLSAo
Qk9PTClzZW5kRXZlbnQ6KHZvaWQqKWV2ZW50IGlzRHJhd1JlY3Q6KEJPT0wpZXZlbnRJc0RyYXdS
ZWN0CiAgICAgQVNTRVJUKF9ldmVudEhhbmRsZXIpOwogICAgIHsKICAgICAgICAgSlNDOjpKU0xv
Y2s6OkRyb3BBbGxMb2NrcyBkcm9wQWxsTG9ja3MoSlNET01XaW5kb3dCYXNlOjpjb21tb25KU0ds
b2JhbERhdGEoKSk7Ci0gICAgICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0
b3IoX2V2ZW50SGFuZGxlci0+Y3VycmVudEV2ZW50SXNVc2VyR2VzdHVyZSgpID8gRGVmaW5pdGVs
eVByb2Nlc3NpbmdVc2VyR2VzdHVyZSA6IFBvc3NpYmx5UHJvY2Vzc2luZ1VzZXJHZXN0dXJlKTsK
KyAgICAgICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgZ2VzdHVyZUluZGljYXRvcihfZXZlbnRIYW5k
bGVyLT5jdXJyZW50RXZlbnRJc1VzZXJHZXN0dXJlKCkgPyBEZWZpbml0ZWx5UHJvY2Vzc2luZ05l
d1VzZXJHZXN0dXJlIDogUG9zc2libHlQcm9jZXNzaW5nVXNlckdlc3R1cmUpOwogICAgICAgICBh
Y2NlcHRlZEV2ZW50ID0gW19wbHVnaW5QYWNrYWdlLmdldCgpIHBsdWdpbkZ1bmNzXS0+ZXZlbnQo
cGx1Z2luLCBldmVudCk7CiAgICAgfQogICAgIFtzZWxmIGRpZENhbGxQbHVnSW5GdW5jdGlvbl07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L05vdGlmaWNhdGlv
blByZXNlbnRlckNsaWVudFF0LmNwcCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQv
Tm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQuY3BwCmluZGV4IDExYjBmMjY1ODM5YTNmYjQx
MTNjNmQ5MmU1YTI3ZWM1MzUwZTg0YjAuLjA4MzczOWRmYmI1NmFhZGZmOTI3MWFlOWFiMmYwZjE1
ZjY1YTA5YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvTm90
aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2Vi
Q29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQuY3BwCkBAIC0yNTUsNyAr
MjU1LDcgQEAgdm9pZCBOb3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdDo6bm90aWZpY2F0aW9u
Q2xpY2tlZChOb3RpZmljYXRpb25XcmFwcGVyKiB3cmEKICAgICBOb3RpZmljYXRpb24qIG5vdGlm
aWNhdGlvbiA9ICBub3RpZmljYXRpb25Gb3JXcmFwcGVyKHdyYXBwZXIpOwogICAgIGlmIChub3Rp
ZmljYXRpb24pIHsKICAgICAgICAgLy8gTWFrZSBzdXJlIGNsaWNrcyBvbiBub3RpZmljYXRpb25z
IGFyZSB0cmVhdGVkIGFzIHVzZXIgZ2VzdHVyZXMuCi0gICAgICAgIFVzZXJHZXN0dXJlSW5kaWNh
dG9yIGdlc3R1cmVJbmRpY2F0b3IoRGVmaW5pdGVseVByb2Nlc3NpbmdVc2VyR2VzdHVyZSk7Cisg
ICAgICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3IoRGVmaW5pdGVseVBy
b2Nlc3NpbmdOZXdVc2VyR2VzdHVyZSk7CiAgICAgICAgIHNlbmRFdmVudChub3RpZmljYXRpb24s
IGV2ZW50TmFtZXMoKS5jbGlja0V2ZW50KTsKICAgICB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDb250ZXh0TWVudUNsaWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDb250ZXh0TWVudUNsaWVudC5jcHAKaW5k
ZXggZWFiOTRlYWU1NWUxZDQ4NjFkZGIwZWU4OTRlOTc2NDU2NTg0MzA1Mi4uN2E3N2FjN2JiMjM5
ODFkNjA4YzkwZDAwMTE4YWQ4OTI3NGI2MjVkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93
aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNvbnRleHRNZW51Q2xpZW50LmNwcApAQCAtMTIw
LDcgKzEyMCw3IEBAIHZvaWQgV2ViQ29udGV4dE1lbnVDbGllbnQ6OnNlYXJjaFdpdGhHb29nbGUo
Y29uc3QgRnJhbWUqIGZyYW1lKQogICAgIHVybC5hcHBlbmQoIiZpZT1VVEYtOCZvZT1VVEYtOCIp
OwogCiAgICAgaWYgKFBhZ2UqIHBhZ2UgPSBmcmFtZS0+cGFnZSgpKSB7Ci0gICAgICAgIFVzZXJH
ZXN0dXJlSW5kaWNhdG9yIGluZGljYXRvcihEZWZpbml0ZWx5UHJvY2Vzc2luZ1VzZXJHZXN0dXJl
KTsKKyAgICAgICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgaW5kaWNhdG9yKERlZmluaXRlbHlQcm9j
ZXNzaW5nTmV3VXNlckdlc3R1cmUpOwogICAgICAgICBwYWdlLT5tYWluRnJhbWUoKS0+bG9hZGVy
KCktPnVybFNlbGVjdGVkKEtVUkwoUGFyc2VkVVJMU3RyaW5nLCB1cmwpLCBTdHJpbmcoKSwgMCwg
ZmFsc2UsIGZhbHNlLCBNYXliZVNlbmRSZWZlcnJlcik7CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1h
bmFnZXIuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5v
dGlmaWNhdGlvbk1hbmFnZXIuY3BwCmluZGV4IDI1NDAyMzg2MWMyYjRmOWY2ZTlhMDA2M2ZkODUw
NjQ2MzA2ODBiYWYuLjk1NzUwZTE5NjY5NDM0NTc2ZDllNmFhOTAzNTA2YTljMWUyMjNhNDggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3Rp
ZmljYXRpb25NYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlm
aWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlci5jcHAKQEAgLTI1MCw3ICsyNTAsNyBAQCB2
b2lkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OmRpZENsaWNrTm90aWZpY2F0aW9uKHVpbnQ2NF90
IG5vdGlmaWNhdGlvbklEKQogICAgICAgICByZXR1cm47CiAKICAgICAvLyBJbmRpY2F0ZSB0aGF0
IHRoaXMgZXZlbnQgaXMgYmVpbmcgZGlzcGF0Y2hlZCBpbiByZWFjdGlvbiB0byBhIHVzZXIncyBp
bnRlcmFjdGlvbiB3aXRoIGEgcGxhdGZvcm0gbm90aWZpY2F0aW9uLgotICAgIFVzZXJHZXN0dXJl
SW5kaWNhdG9yIGluZGljYXRvcihEZWZpbml0ZWx5UHJvY2Vzc2luZ1VzZXJHZXN0dXJlKTsKKyAg
ICBVc2VyR2VzdHVyZUluZGljYXRvciBpbmRpY2F0b3IoRGVmaW5pdGVseVByb2Nlc3NpbmdOZXdV
c2VyR2VzdHVyZSk7CiAgICAgbm90aWZpY2F0aW9uLT5kaXNwYXRjaENsaWNrRXZlbnQoKTsKICNl
bHNlCiAgICAgVU5VU0VEX1BBUkFNKG5vdGlmaWNhdGlvbklEKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcAppbmRleCBhYjk1ZmFmYmIyY2U1
Y2I3OGU2MDM0ZDBlYmEyZTYwNjExYjExNDY0Li41NmNkODAyMjIzZmRmMjY4NTQ5MzJhZTNhZjk4
NDY3Mzc1YWQyNDFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdp
bnMvUGx1Z2luVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5z
L1BsdWdpblZpZXcuY3BwCkBAIC0xMzQ0LDcgKzEzNDQsNyBAQCBib29sIFBsdWdpblZpZXc6OmV2
YWx1YXRlKE5QT2JqZWN0KiBucE9iamVjdCwgY29uc3QgU3RyaW5nJiBzY3JpcHRTdHJpbmcsIE5Q
VmFyaQogICAgIC8vIHByb3RlY3QgdGhlIHBsdWctaW4gdmlldyBmcm9tIGRlc3RydWN0aW9uLgog
ICAgIE5QUnVudGltZU9iamVjdE1hcDo6UGx1Z2luUHJvdGVjdG9yIHBsdWdpblByb3RlY3Rvcigm
bV9ucFJ1bnRpbWVPYmplY3RNYXApOwogCi0gICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgZ2VzdHVy
ZUluZGljYXRvcihhbGxvd1BvcHVwcyA/IERlZmluaXRlbHlQcm9jZXNzaW5nVXNlckdlc3R1cmUg
OiBQb3NzaWJseVByb2Nlc3NpbmdVc2VyR2VzdHVyZSk7CisgICAgVXNlckdlc3R1cmVJbmRpY2F0
b3IgZ2VzdHVyZUluZGljYXRvcihhbGxvd1BvcHVwcyA/IERlZmluaXRlbHlQcm9jZXNzaW5nTmV3
VXNlckdlc3R1cmUgOiBQb3NzaWJseVByb2Nlc3NpbmdVc2VyR2VzdHVyZSk7CiAgICAgcmV0dXJu
IG1fbnBSdW50aW1lT2JqZWN0TWFwLmV2YWx1YXRlKG5wT2JqZWN0LCBzY3JpcHRTdHJpbmcsIHJl
c3VsdCk7CiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDb250ZXh0TWVudUNsaWVudC5jcHAKaW5kZXgg
ZTIxMjgwZTlhOTg4NDU0NTJkNjZjZDgwNWVlOWM4ZGFjZDg3ZmVmMi4uMGQyMDQwZmUwY2U2ZDUx
MGMwZGQyNjFiMmE1MWQwOGNhYTU5NDVlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDb250ZXh0TWVudUNsaWVudC5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDb250ZXh0TWVudUNsaWVu
dC5jcHAKQEAgLTg2LDcgKzg2LDcgQEAgdm9pZCBXZWJDb250ZXh0TWVudUNsaWVudDo6c2VhcmNo
V2l0aEdvb2dsZShjb25zdCBGcmFtZSogZnJhbWUpCiAgICAgU3RyaW5nIHVybCA9ICJodHRwOi8v
d3d3Lmdvb2dsZS5jb20vc2VhcmNoP3E9IiArIGVuY29kZWQgKyAiJmllPVVURi04Jm9lPVVURi04
IjsKIAogICAgIGlmIChQYWdlKiBwYWdlID0gZnJhbWUtPnBhZ2UoKSkgewotICAgICAgICBVc2Vy
R2VzdHVyZUluZGljYXRvciBpbmRpY2F0b3IoRGVmaW5pdGVseVByb2Nlc3NpbmdVc2VyR2VzdHVy
ZSk7CisgICAgICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGluZGljYXRvcihEZWZpbml0ZWx5UHJv
Y2Vzc2luZ05ld1VzZXJHZXN0dXJlKTsKICAgICAgICAgcGFnZS0+bWFpbkZyYW1lKCktPmxvYWRl
cigpLT51cmxTZWxlY3RlZChLVVJMKFBhcnNlZFVSTFN0cmluZywgdXJsKSwgU3RyaW5nKCksIDAs
IGZhbHNlLCBmYWxzZSwgTWF5YmVTZW5kUmVmZXJyZXIpOwogICAgIH0KIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>