<?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>57071</bug_id>
          
          <creation_ts>2011-03-24 18:40:45 -0700</creation_ts>
          <short_desc>REGRESSION(r81916): broke a test on platforms that do not have QuickTime installed (Requested by estes on #webkit).</short_desc>
          <delta_ts>2011-03-24 19:54:41 -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>Other</rep_platform>
          <op_sys>OS X 10.5</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>49016</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>aestes</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>373255</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-03-24 18:40:45 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/81916 broke the build:
broke a test on platforms that do not have QuickTime installed (Requested by estes on #webkit).

This is an automatic bug report generated by the sheriff-bot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>373256</commentid>
    <comment_count>1</comment_count>
      <attachid>86868</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-03-24 18:41:09 -0700</bug_when>
    <thetext>Created attachment 86868
ROLLOUT of r81916

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID --ignore-builders

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>373277</commentid>
    <comment_count>2</comment_count>
      <attachid>86868</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-03-24 19:54:35 -0700</bug_when>
    <thetext>Comment on attachment 86868
ROLLOUT of r81916

Clearing flags on attachment: 86868

Committed r81933: &lt;http://trac.webkit.org/changeset/81933&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>373278</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-03-24 19:54:41 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86868</attachid>
            <date>2011-03-24 18:41:09 -0700</date>
            <delta_ts>2011-03-24 19:54:35 -0700</delta_ts>
            <desc>ROLLOUT of r81916</desc>
            <filename>bug-57071-20110325013904.patch</filename>
            <type>text/plain</type>
            <size>73089</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODE5MjgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhZjIwNjY1MDFkYWJmZDA5YzcwMDll
NDcxYTYzMDg0MDQxOWQ0OWY1Li5kMmE5MjcwODk4YWM2Yzc2NzgzODZmZDQ3OGU5NjUzNGFjZjgx
YzdjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMDMtMjQgIFNoZXJpZmYgQm90ICA8d2Vi
a2l0LnJldmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcg
b3V0IHI4MTkxNiBhbmQgcjgxOTE3LgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2No
YW5nZXNldC84MTkxNgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC84
MTkxNworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTcw
NzEKKworICAgICAgICBicm9rZSBhIHRlc3Qgb24gcGxhdGZvcm1zIHRoYXQgZG8gbm90IGhhdmUg
UXVpY2tUaW1lIGluc3RhbGxlZAorICAgICAgICAoUmVxdWVzdGVkIGJ5IGVzdGVzIG9uICN3ZWJr
aXQpLgorCisgICAgICAgICogZmFzdC9pbWFnZXMvZW1iZWQtaW1hZ2UtcGx1Z2lucy1kaXNhYmxl
ZC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2ltYWdlcy9lbWJl
ZC1pbWFnZS1leHBlY3RlZC5jaGVja3N1bToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9p
bWFnZXMvZW1iZWQtaW1hZ2UtZXhwZWN0ZWQucG5nOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9m
YXN0L2ltYWdlcy9lbWJlZC1pbWFnZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0v
bWFjL2Zhc3QvaW1hZ2VzL2VtYmVkLWltYWdlLXBsdWdpbnMtZGlzYWJsZWQtZXhwZWN0ZWQuY2hl
Y2tzdW06IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvaW1hZ2VzL2VtYmVk
LWltYWdlLXBsdWdpbnMtZGlzYWJsZWQtZXhwZWN0ZWQucG5nOiBSZW1vdmVkLgorICAgICAgICAq
IHBsYXRmb3JtL21hYy9mYXN0L2ltYWdlcy9lbWJlZC1pbWFnZS1wbHVnaW5zLWRpc2FibGVkLWV4
cGVjdGVkLnR4dDogUmVtb3ZlZC4KKwogMjAxMS0wMy0yNCAgUmlrIENhYmFuaWVyICA8Y2FiYW5p
ZXJAYWRvYmUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhdmlkIEh5YXR0LgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvZW1iZWQtaW1hZ2UtcGx1Z2lucy1kaXNhYmxl
ZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvZW1iZWQtaW1hZ2UtcGx1Z2lucy1kaXNh
YmxlZC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZDgyZTg0N2FlNjU5NDA0
MjMyOWQwMGRkMjQyNzZjYzc2NDA5YThiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2VtYmVkLWltYWdlLXBsdWdp
bnMtZGlzYWJsZWQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotPHNjcmlwdD4K
LSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5zZXRQbHVnaW5zRW5hYmxlZChmYWxzZSk7Ci08L3NjcmlwdD4KLTxlbWJlZCBz
cmM9Ii4uL2JvcmRlcnMvcmVzb3VyY2VzL0JhbGxvb25fODEwNzUwMi50aWZmIiB3aWR0aD0iMzgi
IGhlaWdodD0iMjQiIHR5cGU9ImltYWdlL3RpZmYiPjwvZW1iZWQ+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9pbWFnZXMvZW1iZWQtaW1hZ2UtZXhwZWN0ZWQuY2hl
Y2tzdW0gYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9pbWFnZXMvZW1iZWQtaW1hZ2Ut
ZXhwZWN0ZWQuY2hlY2tzdW0KaW5kZXggMTU2ZGIxODE5OWY0NDg1Y2RkOGExYzQyODdmYzY1ZmM5
ZTBjMDZlNC4uMGU2N2RlY2I4ZjY0Y2ZiOGE1MjU2YjFjOGUwOGI2MjZmYWU4M2I0NCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvaW1hZ2VzL2VtYmVkLWltYWdlLWV4
cGVjdGVkLmNoZWNrc3VtCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2ltYWdl
cy9lbWJlZC1pbWFnZS1leHBlY3RlZC5jaGVja3N1bQpAQCAtMSArMSBAQAotZjg1YjZjMjZlMzc3
Y2IwYzJmM2RhN2MzZWFkNDVhMDMKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCithZDViYjMw
YzdiZTM2NTVhNTI1ZDVmNTdmODczMWQ1OApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2ltYWdlcy9lbWJlZC1pbWFn
ZS1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9pbWFnZXMvZW1i
ZWQtaW1hZ2UtZXhwZWN0ZWQucG5nCmluZGV4IDE4Y2JiYmMzZWE3NTE3NGI4OTI2NjQxZTExMDIx
NTRjYzBiNWEwMGMuLmY5M2E4NTNkNTJiYjYyZjcyMzBhOTdlN2Y4NjVjYmRiYzBmOTYzNTQgMTAw
NjQ0CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAxMjE5MAp6Y21lSE5geTxuUEFPRnMhYlI4PGtF
cHtaeSR8QHB9eGtRJDBrd1IoYlM/Jj5iTForRUk8VGd2OD1uUkRybDYjVE0KenFobF4qcytHR1li
Nz9VbldESStAUV4pKVImbzlzTy1CMF58elRlT0xfSVpFYW0pR1lMVmBwPD4lU1FRKTAwMy0zCnpT
c1h0TjBIUURlNUlIQllqejV3WGJpPCFOcHptZEJZS0ptNGgxbXNPYXJlNkgxXl4rRCRSdGI4NHxk
ejVjPTNDMAp6bDs2bSFrVnpVZWk3VmYyXyVfekEmI1Ime0YraTY0Ujs1Szc+bWhIZ2J1ZCo8SW9p
VXdmNUFDY0t7K34zVzV9ZjEKeiZPY3tVcVJGXz1EWTFZWW0xcTspKC1mVz4lU3l1JHB9RylBNGV1
Q18wP3Q2fjZFSjRsPXglQ0Y+KGppVEZIP2xkCno1Um8lXiMpcUd1anY2YzlCaDlgMyp3SnZUbXwx
MCk/TipBUyNMbiUhJm5mcXZUZWMrcWkjP3dIZUtDRHVAIUZOYwp6biVoS1QmQnRSZUhATkpFdTZ1
ZCpUa0ZmYXh1ZW1TRnpVJV9gb3JjYGR3UHVQajl0XlZPcnhWfGphcX4hSV5LYSUKemo2Kmg7Izkh
b2lVVUdZTHM/O3luYGhtZjJtUkU9RDxFVWtHZTJkZHROLV95ajxVPXEreiQrbjgrMWdFbyZLRkEj
CnplfUtUYjVoZVJ+Xm1Tdy1tMi1tblV0aksteE1sdyZ0QmA0JEtaYHh+ajNhKmxUajgqSHdaSXxt
TVowMWxCaF90dAp6fEQkNUotYGUxP0psKmJnUE9GfUNedigzSkduQFNIVmthKCZ7R3x6V0F3PzlG
Zlkte1JHNGghbj5zN3tqe1FPNm4Kel9FTj5hd0NMcXQoOSUhcChpdlkyRGs3aE5tOzNkM2BoN1Re
bEN6KmBpO2RqVnxId2lZKTItbzhVMiYlMUR4VHE+CnotJiQ4eCN7UV9ucjZlYyp7XlZ9aWFqbXxe
SjJLPiZSXmwqRDRye0NYQkJJTklHQykmIVJ7SEt1QFZ1Qkp2I2pWeQp6aG5jc14pJGl5ZkFhIzFq
JEpQQGcyQ0FmeHJralR6VXFQbnktaCp8fihoYnQlUH1ja0JFNkgrU0tnKiNVMyQ7dmwKelBDTWFR
R0l0S0trOXRvWU4jVjdaUmttT2lxckBUR2JsNXVEc18hRHooKl8mTncjdFFDWDs/WXVUenU9QF8t
ZVhkCnpXNH4lISV8NENsc1peWEg3aVd7JUZtTVIzezNzd15KN3QmV3FXPCFPNzQhT2hgbiE3OWUx
eGB4IUxHP3VHfS16awp6YSk2dD02RVItbGdGNTROKzZ+VVMwXmkmJmxhJFdpVCNhcEFvI0AtMllH
Tit0QlhIV09yc3Z+clomaCE5WGt7JlgKeiQpS2xWcVJ5Z3txcVk9PT9VNn1Tc3o2VzteOXpQVXZs
NGN1N1VCYlImVHNNSWxAKn1obWxqTTc2S2B1OF8mamBpCnpNbUstSkpGWiRadD1pSnAtc1BpQjlt
YD88VWhyKDdxbmJeci1AVDh5LThZR31TeDF9ZExvUS1HOFRgUXwjTUtRaAp6Jm1UVyo0Zmt3cGNl
QXFPQm4qQzY0el5mOEVOeXtBPyR7RCRzam0rSkZhVU1qKmRZWU04dDVSQXVrSThkV1J2TnYKejUw
JlQkNWg9KkZJSkhJLVZvVkkyQHV9OF9yfWZMXmg1S0lgQzFVPUhlM3pMaV49fURAJUkkbFRQd0pE
SWJHM0prCnoyb2hScHNWPnlpVC01OE4kezlRcj55OGJ+Q0hJNmE+Vilrd0FeO0UoRiRxYlM1dXJn
XiVyUndaR2x+Q0tJOTVsMQp6NDJlZHBKXzhYczgpUlhZUz5JdGxDa2Z0Y21RKXR+TEVgVzRfRXxS
b1BWeUQmckckamcxZGdvbSRxNE53dmFhUVEKei1tJk80YlNxdi1QeE16R1BHNGNnRihTSkAkLSYy
U0RmZiV3dnY/YS1XKTQxfSVobC1YUVcqMUJOTm9IfU9pNjkrCnpfM214VWhIR1JuV1FkZiMzajRM
dWhkJmokKCFfMn5SdyRiJD1QRGBCcnlvMSE5KjU+NDZ8WGstZ3A1KHpye0F6JAp6bTBWXk44MCth
Y1p2JWdOV0VNVnB7PV4hVUZHd0VvQ3JxJGRNQ0lrI0U9RXVOZkQlMSk9PHtAQis8ZH0tZWx4ZDsK
eio1JkJWWHNaWnJFPX57a0olMUYzVTdGKDNtMFZuMGYrTCFEWjRnLVVoZ3dIWU11O05DJEQhZSYw
WlhJRjQ9fSNtCnojKnBBVEo9ZllHdUJfcVEqUWBXJDhYUjV+KUpnZnUjOEViI3JPUzVrN0skMDt3
KWx+KGBxcXhXbSpmWWI9eHV5fgp6bVpvI2dIaXZQQ3h7cVNuJnpDOytKYGVSIzxOPkwmXlA+ZUFa
MFA5WFhsRHA+dH03UUo/SjxzQ1labz5ETDEzWSkKektBNkpuN3xgbGB7T2ZeP203I15ucHxhd0g1
akgrLXFMZko9PnBlIyVlemFHPmMjSXtKbUxGd0V1V0E2aHQ8SW5BCno2bjY5ajdqYlFabyF9TnZm
PzZzcUJQLUBVJnJrWlU7Z1hfMEk4TjluKXQ0b2RgcEA0WHFRbHdZVmxCMy1yYldsXwp6bXRESCNT
blRTdUg9dXF3VX1VcCtnMExqP3BBPmNVZjBJOzFKWT1aZ1ZhNj1VZXFuWDNQS3RHSVo3WnAmKGVK
Yl4Kek4rMSU2Mmk7JXkhT05KPmRTK2tzZXgwU1RNdmwkSHAhR0paaVZ6eGoyKTwkVCFiN2pXKWEl
PXNUVitkSElRVVkhCnpMe15eMT5Lb3p9K2J9UX5VJC1+R1I1bFY8Y319JSUlfSRWbjMpYlRzMjE9
fjJVbTg2VUtBQmo4PDlAOzctKUVuQAp6T2lYNVNeTz0kTiRiSGF3VUNzSyNPNFQ4c3pkKXl5Ul5e
bkNKZVNzUklySSE+I21semwrUlB9WXdGOXNCXmc+OHIKektkPHtIVy0tMW5WMnFsKDlQP19xY2g2
UTVsWX1zJmBDTHNpaHR1Mz45XnU0eENUc29ecjx2MitSNVUjcElkY21+CnpwcXM3SCRpcnJeMGFF
JiReWXZvXlc2VHoqQTJmLSg2dD9wMkx+fDtSJTdYcWVqZS13Sjk7RVpLbCUwPz9UYmJoMAp6Xldv
emVqSkF1ZWlaeGcyXns5UnNhXm9+UXZQU2BxIVBNIzJPQEJsWDVyJCNZbEQxUFdMWUkpXzZtQyVU
Q2hTWTcKeiEhSXZ9T3VpVlNqOHFqOSQ7e29pbzhuKz5RZ3FoRjNaKGdIRnJ7fnZhKCNATlYwbGxJ
U1g1TDV7akB5UGwmMGxECnpqYzsjblhDbV5IPVYtYH5jLT1LKmtFbGhNTFRAK0N1JnJLVWYpXkRG
WWluemx0NE5IOyQ7cnRqb0kzdUdNYHdnWQp6Jjc7PDZKMFFpJFNsMlMzX3MpS2VhWHFEYCNDNHEw
bDVWZDByeEFld2srIT9EUDU0b3tnZSt7b2IoYEBqRXRwWFEKenV0Qnt3TShEdUtWdy1RTHNFcjdC
a3Q3VUY1SzlfOUY1RUV0TWI9cVotVkdHUzNKSipyTWp8SHpSc007XkshZ2xMCnpHJj17U0NzYjM2
JmwkMj9GSHRDNTkwQnRGZVlUPklHZH5wSENmeGJjVnBYX0l2ailKKz4tMUozWDklQ081ejBwTwp6
cENBUSR0QVp3IVl3dWt6PFAxUFdSV251aDIqWkc8KUJ6KlZFVENFVno2ZzRZVX5ocSZoIyRHWSpk
bUM7Vjk0ZD8KeklVX0k9QGlRISNwIXIxd1Nob21qRXdHI3VxKUQqSzx5VEIjQGg/YnxVe0EhYW43
fiQxJn00IWd3NGg9RmZkemg9CnoxYzMhWCNSTEtpQWg3VGcyP1QpITVMb3okOC11X0MyclQ+cj18
TiFPe34xXnEzIVN3Q2ZYJmleeTh6JnM1cU9qYQp6Y0dDaWM0ZVh8VzlQKXpRR311bDVKbmpkKFh8
UzZYVjY5KmA0UitKdTZgPXE1bl43RVMjKHQobiFEYUdtez1JdHUKTldvQzJ5c1J7YlZlKm5aUm9Q
X2BZCgpsaXRlcmFsIDEyMDI3CnpjbWVITmRwTU5hOGxNPnhRKkkqXzJ7VXdZPjZGXiNHOHI9P2d2
ekIhRCgjSj1aRmkkVlY9IWgkbCUkUDlFO31adwp6KHtebF5va3h0QVFQSFR4Jkx6b2hHR1lfUGtq
QzhpJTt8KGImVTJwZ156MSpzS2lCJWNeP3R3YWVjI18mQEF8RWsKej9DdDVReHghIXQybjVufWNY
UCZyS3FeUU8yeXo2YnNfNGxoVU9jYThPcjNJYUBeKkp9TFZBYVh7ZG5yXk5mM3d4Cnp6VTAkKE0l
UXRiJXFGej40Xng9bThMYkRUYldgYEVCfG9geitETFZSJlM+LV45PWZDbD97SSQ7WVYmYndRYE5t
SQp6ISRZcXYyVjVvIykjTm5lbkNXMXZ5X2Z1NCVtKyUkZzlgUHdATHpAUWV8VEBhcF9NV19WOVNk
T0JNeVF6IWBwWXgKeihWKVljWTwhVzxzazd3V3J6S1pGc1lTfmpjV3lrP0pLPyFPKWlFSkw3KDRu
bE1tenFQQDYlWHUpUHR6ZnkhTUJBCnpZS2MtRCQyRzZWdlZ4fmFTYUViRTxPK0pRKDFJTmE4fDEj
N25NZ3g8TXcxPl9YPldGREpaZWhEUyNOMmpkZWpfegp6d1hwLTI7QVdST041RXJsYipFJUA4PnlX
TntxYjJkeXh1R1FwTzBGbU5gZVkrZDRBU1B1aDBLUEB2SSFjSlRaQnEKenpQMSMqcns/RV54b2No
NnEydXJHang9NiZGeDBwSEcjfExTK01zeWVgcEsjUXhRQUpoNTIwdFBDT0BaND5OflVkCno7YHd5
RDdzMURBNXFAcjctVE9vNVltPTc2WlIqeDdBQnlybEBJRT9DSClObypwWGMlcFFvYz5nTlcoeFFQ
dChtQwp6P2dCbFlRe2ohZmo1Z1Q1XkZjVXZlVG5NMmpNKG9rWSZpV1dHUlhPTiQ1QCpfaHcxfSZg
X1ZGVVEkblV3NzNfd0AKelFEI35HLTBNVE1AYTZYdlorISlzck44OVcmVCNDVEtJQWVDakpyRlV4
ZSpAejxnODkmIyRuZit6ZVVIPzx4TG8xCnpDa3woQ0FHdjZxKSktTUM9NUduZVlSUl5ed3lLR0hY
bSkmRztzdzkkd3VBSnVSQ3xZXnQhLVBZLWI5b3ByYFk9Ygp6a3t1I0Y/SXhjM1M2Iy0pQSklTjU5
QTZVaHNgMTItI3I5M2F0RGAyIyotY3lkSHtSfG1RNkNDQyRBO3grVUFBYUgKemNVYG9oRD07dnha
cURpbD5AaWFQOTsoTE5meX1pbj9MTnJAPkohVzBvJXN4e0ZpfjFCVGNTNUN4SD9LVmhnaEJFCnpI
MFJjeUo0b1FjM3MycSlqVk9jWXYwbGViS01YeHtoaGlzejl6bUNeRGFCalVrIyU1MFZwNUZwcEI2
YkNIKmRafAp6O2drTUImIWA9SDVybDg/P3NkWkJ5RWteOStfJERPX2ZYSW5Ab2pGMFFLKEBkWVBY
PkF7QCMtcnFIP31ZZ3xxQE0KejYjajxxcD9EZytpTyZ7PUhQbEk2OGJ+UzBBUF5HZD8oRkQ4MCNF
ayRyYCU4YTtvMThUZjE5NE9FOFJXdntPfkN6CnpZbD5oNz1zJEZJS0pgKG5JTTxQdU1NLS0kR182
fGtgJn1RdUo2anFmR2wreEZhPnZ+cnFpajVnbDA+bj1rPTs0agp6cWNWUjE0ezV1ajYyKyg/K3Q9
d0phV29KWjApQGVtSUYyZ1JHbU52PSptMHFVMjh5U3Y+bSZWUHw5PHxaeUR4X1oKejRuTlVwPzdh
OUU0TG9HTVhvbEFDXkt5TnA/VmRAO0M4SEVaUkYqWFZpOylJbDF7X1ZFcEM8OTcyeEY/V1JtPmpp
CnoqfT5qdCNYT0pSZ15JbzVDR0E4KyNQRngqcl9IYl5qQnElRT5vcTc2QGtjJWUqdGZQOHZ7cXMr
KndMM18ydzc+egp6bjQmdDl0VDhnI0JvKUlIWTlrQztiRTUzRExGdSNaKVFwI1chYzRCUWM7MVV5
THk5RGVBSVhWeihuJiFZUnhHdGIKelAtbGBAQSZLYU1tZX1QQXVZQ0RVdkkoP0lzP3t1RCVGRWZk
Z0VDSHljelN7KSVxbG07JlFGaDFaXjx+dDIqR0JTCno9bW1pJWFiP3E0UVV0cihVcG1EZjMxYnBh
PGJzaWo9eTl7P3VZT2l8SDlHIWBUSnhaXmdKcD1kbSR3cn1uP308Ugp6MH1pUGo+K30oYU9WUEVH
Mj1Ub0RkKmNEfHtDcUUhJSR0QXFrd3YmZzRfR0d7S1VsdmNWKGBeOXBJTHVXcihZKjwKejhRSUs4
XmxWRUNUWXdkalN0XjlOdH0tVGxoRmIzKzd+MDJmTj5HQFdrRSpmbnhFe2BFVD0kPUZEfU84P1NQ
Nyk1CnpYXmlsMzt0aGZGYWFgfGw3P0prPFZAeGYxYDF4MmRjKmNkMl8xdHFJKGl8I09WcU5GSTso
dGYtWiVLIzAjWWx0agp6MCNyez1rM0JYZns2TWRLc3FNZytkVyE4NW1vd2lyUzw/eU9MTEVCcVYw
clpJREJaN05oOWpwdHA9Q3pNWUErcl8Kem59PzM9dEJuJkVDKSZsZSlZZ2JUd35SZ0MhRVEzTUdT
bygzJGQrdmFtJk5wZSpQeFYrKys1OHcoKUw2Y3dlP2QqCnpXQFcwKXsySUReN2xTPDdXZndnJUx5
ekxnTVNRTHtITjF9ekY9fmczWlY2KGJZYHNodXZ6Qygkd19gfGpPNHpiaAp6b3NXM1RTVj5iZ0M5
LWJEbypIP3B6bjEpaj4tK1JSPzBvO1ZuaXpSYzdsPEs9cGFAU0soWmp+Yj1lZjI0Nz1RQm4Kelck
VDl6K0tJaXR1dnI8ampZPzRVdjRUe1ZxPWJjSE0pNnd0VURZeFU9YCo4RW1ZOzZjdm4+aSs4IUhq
VjR4JFBpCnp1PWIoIWZVV2U3NCh7V0E/WCtydGAzcnQ7N2BZIzJRR1llcVdDNyFKQkJXYUB5YCs0
JGdEKDMtOHFKU05qYmhGWQp6NUQyM30/IUBPeF9FPVo3USRlc2hgZ3BvclJeaUgpKCkrUGYwalgm
elkxbXhAcXskTD9OalghYjlgTEBaK3V6PXcKekJLKkxXTlohJG4jaDJQPHQoSyZlTTZRbTA0UHNt
c2F2bXBleG9LRjspSWZifkFCIXJsODhORy1qSisoUXUoQHdhCnprNzRDO1k0WFZeT3hYYUhOU3cw
YGs2eW9rNjMwb3xHfks4Jm9JPWQwVFZuVlY2ZUI8c2pwdil8RVRPPF51KiUpYAp6TThuMGBSR31L
X0BpKzNfN1A5YGZYJn11ZkZGaiNfellSMVJfJmVfaHh7TEFtUUg8SEU4QEAxSSExZHdWYUhATlcK
enJWQWc2emUpcStQd20hUDQyfXYhd0hmIV5iSGY1Xlo9RyM4T09OS289e0ZHOTA5dEZfbGV+ens1
fkF2TVojaGFpCnpUWXJKNDBuPG1TWV96fD1mRFB4OzA0bTtUcVBGOzlGanl0e2NDZ3ZYdVM0TCFE
I20xTzhlVjg0dzs9Oyo4a3JOJAp6aWBXM0MwOFVZNDlnciFZY3pgfU1VYH5PO2ZRYzNZMXkmeSV1
cTRCZ0slRH1IMEwyPiFzQXlxOG5YbEx+MERCKUEKenVwdmFeZkwkXkszUD1aRjJwfUIqKGc3ZUhE
OCk1RUk9fShhZnVjWUhxeXM9WVB6ZCZiYk8xO1AlMHJ1UGtQZT5pCnpLZHJiN3FoNj1IM2puQmEw
RnsmbmZgQUo1TztpSHQxSkRQYyZ6SDBSWiYtLXtgVCtDKz1tWEc0bkZDNlIxR3ZAbgpmfEQ2SEpt
O0RzfTtAOUMxd05rflVjOTZTXnIqcWx2ej45d1lKbihhUwoKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9mYXN0L2ltYWdlcy9lbWJlZC1pbWFnZS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9pbWFnZXMvZW1iZWQtaW1hZ2UtZXhwZWN0ZWQu
dHh0CmluZGV4IDlkOTMxM2E4NGIzOTgxNmU5ZWM4NWM2YzJkYzA5MGIxZWIxNGQ4ODAuLjUxY2Fm
NWVmMzMzMzE1Mjk0NTZjMDcyYTE3OGQzZDQ2NTg1MTI1YTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9mYXN0L2ltYWdlcy9lbWJlZC1pbWFnZS1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvaW1hZ2VzL2VtYmVkLWltYWdlLWV4cGVj
dGVkLnR4dApAQCAtMyw2ICszLDUgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNp
emUgODAweDYwMAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAor
ICAgICAgUmVuZGVySW1hZ2Uge0VNQkVEfSBhdCAoMCwwKSBzaXplIDM4eDI0CiAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKLWxheWVyIGF0ICg4LDgpIHNpemUgMzh4
MjQKLSAgUmVuZGVyRW1iZWRkZWRPYmplY3Qge0VNQkVEfSBhdCAoMCwwKSBzaXplIDM4eDI0CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9pbWFnZXMvZW1iZWQtaW1h
Z2UtcGx1Z2lucy1kaXNhYmxlZC1leHBlY3RlZC5jaGVja3N1bSBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9mYXN0L2ltYWdlcy9lbWJlZC1pbWFnZS1wbHVnaW5zLWRpc2FibGVkLWV4cGVjdGVk
LmNoZWNrc3VtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwZTY3ZGVjYjhmNjRjZmI4
YTUyNTZiMWM4ZTA4YjYyNmZhZTgzYjQ0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2ltYWdlcy9lbWJl
ZC1pbWFnZS1wbHVnaW5zLWRpc2FibGVkLWV4cGVjdGVkLmNoZWNrc3VtCisrKyAvZGV2L251bGwK
QEAgLTEgKzAsMCBAQAotYWQ1YmIzMGM3YmUzNjU1YTUyNWQ1ZjU3Zjg3MzFkNTgKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC9pbWFnZXMvZW1iZWQtaW1hZ2UtcGx1Z2lucy1kaXNhYmxlZC1leHBlY3RlZC5wbmcgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9pbWFnZXMvZW1iZWQtaW1hZ2UtcGx1Z2lucy1k
aXNhYmxlZC1leHBlY3RlZC5wbmcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk3ZTNm
MDk1OTdiYTY1NDkzMmNhOThmNmMwYjRmZjQ5NzMzZDA3ZGYuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDAKSGNtVj9kMDAw
MDEKCmxpdGVyYWwgMTIxMTMKemNtZUhOYHk8blBBTzgtcTNMQVBOaTZ4MUlKbXElOENkc1hrTi1r
WCVBLVRuaHh5QDl7Vnk0YChsN3lUZCQ/YyVyCnprOSVAQ1FMWnM8cH1FYiUqPDhsaVA5NV9QSmlr
MjhjUiVnKHtlRDAxK3ZvanhVdFhVTiFQZVNMWT5Wc2AwMDZgKwp6JSNZYXRmRko/QDFSUzhrKyRa
Rn5UaTNhUjhCWUB2VE1IOHRnbCZNSXlRakFzMEFMfGVYRjkjNGpKS2BvX2BkdUAKejUkZmI2VVdB
UVR2fmJNNVlXaCkhQmpNc0RJO2M9OzhoXz1HTVVTdH08Y3hBamNKeD4zaHlCQiooLXxVYmM9P2Rv
CnpFMUgmM1BOcGl1eGhnSWgoKDI1MS14SDxUNlNXPDx4blcmS3hMK1V6NURWeCF5bnErX0QlTmNH
VCpBe2s/Qzc8WAp6WGR2JFNYNSsocSZranltRCt3Rmwjdz49OF9sM1lCbyRjI0dteEdGZV4ybEFL
V1JXYEApUUIwbWV9NGYoK0pCM3EKenEoSmwkTmBgOWw0SmRgeV9rRF9fWnlrKk55IyVJYSp4O3hi
aFNGQj1oJmNKP2JvPF9KKU5PT1UjMDdzbHFiSSNGCnppTV9pLUpibTRwVEhzWVNAaD5YY1deIUZK
bz4+MVc5JCVGPGtGemN3SG1jaVF3ez1Hel43dEYjKH1tYmlOYjJQOwp6U3pgQCU0ZHJDQz1oXjZn
bUMzJGpZdTliTjFWNmQmYDVGSXk0S2UxVSpCdHhybWJiM1E+JFA2RmpLP15jK3dgOUIKeld0WlJF
NnQzSldsfWA8X0tsTFM7QjtfJnVhZm8zJEFkcjdoZTN6KUtDfFMoaDdIJXFaYEI4eF8+aDJMKXQ7
MG5ECnokVVY4akl9PHx4ZU4qWEwjU05FWmd+cCplcEFFfVNXZXB1IVJaO1gkRyUwflRUcnBuVnBh
MEhnRzxmbS1gR1Apcwp6UiR8XmBhezJjV2dUflIreDNjb1ItN1BmQyQlfG8wOXxJSDRuSSpwcDR5
aHpoJHModURyRCU9YShrMy12M1lNQWIKem15KzYyUkFhWF8oJDNDSlNsemtscUBfenFfbF9feXEt
dTAobD1OV28ycjtfJGs1ZkUyKlVYbl57IV5KU2M2UU9gCno7c1NIVXFySmhFcztaP05jej05MUEq
RTQrYExORl9jUGthYCgrb3taeH50bWReSSVFbzZCPHBmVCtxQ0xiakRVNAp6an1Ub3JtQUlwPT5r
TlN2UU1kb2Y7azM4bmVvTGdtPGB3QyR0byE1WERndjZgQlEyQHJLQnhUfEBDPihYVSg5TygKej42
I0RXdiElWFhuSy09X0ElYFFtK3c8KFMoLUQ7cnh4amxOXjUwWStidGZtYz4pWUtza2UqT1paKntT
MnZtRz9DCnp2K0xkND50P21SSVE2VXhKK0xwZWR6WV9WaFc9NGpMeW8wZSFjc217cUpVRml4NDhK
cXR7LVBEK1lfMHg8WDJuQwp6RnxFYk01Qzh4SFNSNkF4Z01+fkZiJn1GPD8lRmlNTlRXPURFSmE1
T05JO313bDxTVFgyP1JDVGFGeTVFQT9jWTUKemtHfERHMkBPI25vO3tRSjlTU1lvcmtaNEZrVmFw
cU48aVZFaHNkZVU5alE0TT8tTlZzYTIqKFRPaDhVcmY3cF52CnoqZDchZmZDdmFkO1JxRElSI00x
NWN+K0Zme21Ydz1qZllTTEJpRn0zV2NGcW1nak1GQmhAWD5xWiQjaz1mPEgrNwp6e29SMyt3U2My
K2lISFFCNUV7Png7ZzMqZ1BYWGJVdTNydEtIXyREcW16P0BzdUtqZCVJKSliMkpHP199R048V0wK
elVUbyZ0N1I1UU8kQ01vdjJEKGkmbUxHfE1uPEVyZlJmWUZTYWZ+KnxVXz11cnRgRk4/PWYkMGhU
eTExREMrI2R8Cnpyc2M+aHUkfiRreTJxZkdrI2FaZGBteTZwP2FWZ0RNUzE3Qm9pcV9qPShRdSlE
TiZpWVhxTVJxbGBwe2N1SCZicwp6ci09JWpgQ2VMbyY1JTRMZyErWFU2fmxAZkdINzBJP0MhTzly
P3IqQEhSbkgjQEh6aVdDfXc0TG5JaUEoPj5MIT8KenlrfDRkbDBWZWF2eTJvKFprbUtlZyFyJEZC
fFVjYVMrMnRkUnFKMUAzUzU+a1RBMFh1O05HcEtSdTxVUEcoaXQtCnorSW8mNik0OF5vUG4pI0Nq
Yl8lbz4tPjkzZWhgWTU7dEk2RiVzJHJ+d29MOCYxO2NvPUdDYzRtIzdrfXNOUj9yWQp6PCtAQCoj
K0pyPHU9SXVBOUVoYUhCem1KPWwmX0JmaUBofkxQNHYjOExwPzhjQTUzNFJGM3dQa15XI1B0eFVp
YHIKekklUnlvQSZ2T3leaUVmZ0BneCVHZEFqN2YyOGVoUz9yZ2BmVXBfOHQyMlV+SysrcztFRHxy
c0dXWj9eSSMlQllVCnpXUjtPZ2B+aXU8T3VwMWxaYUBVVFc8PzBLKnNQbHRQMmV1T1dURH54Xjx9
VE1rVW9nQVVOWGI0QGNrIVExXndTNwp6NiZWWW09NFBiTmxUSShMdWElYHhrOWNjZ1MlcEU1Tzxv
KzROWXJ3RktkNHFyRlgqNElBREViTG5qU1N8QXooR3UKej54JHJPKkVHMz8oVEBsVHVoYnZobH5a
T3pUR1huUEVSPk81bjt4WEQ8eStIU1U0N2l6Zjt0JDsmezdBYj5KMipxCnp1RXR4QkAyKVVuUDBo
LWZVY302VSFxRFkhNytoRERnRXVqV3pXa0NObTZBM0hpYENWcihVdmRBZSkkSFFtMHk8PQp6M1U/
c2FkV1cyS1VHPW83MiVafmJ6dzU7NXpyS0pDX2BLRzQralN9U21IJjgwNHU/P0I4UTNSSXFMVmFA
eTFqMGEKemtFP2FOYiRkaCordihHK1ZSa2NucGZRZyo1O2I9KDZpK2VUcHBsMzVORyt1MzRTVjhL
RV5YV2ZYJUlMUWRMP1oyCnpnSVJOR1h2Wnx7NCUwJTczZkgybldoeXUjeUtUMVQ3b0Nyb09zQlA4
eCtxdVNTRUp3SW80I1lSbn1ZMSRzcGpmaAp6dHl8NmZxKUY1PzNTK2A7V31XI2kwY1hHM0VPIWxt
QWcmdDZTO0VlfDlkODtmJU98R01fcl5FSUFRK19SJXE9Q3oKejw2fVdoMU1eTWM7fmpCVURIX0RR
eWdiLTJodVRPITxrMW5eLXJpMnZ7OGVHMDg7T244LTlUMVBJbm8zYy0jRXVPCnpRU1RiR0I9QFNT
cyl8IWFxUDw4O04tQVZtYkFNfFQ4dWwqQlZ1UTlyNjZ8IzBtTGRIUXIjQmUpcz5KTGo5VmM/KQp6
P1JFYnw7cWVlaitsTnk4a0E4IzdBazxIYDhuNHFycGxYNTVEKD90PDJYK3o/alphbns8P2tYbTAq
eDAre0NiU1AKelZibGVMJjgtcHdfXnw+Q0tacHtyM3tkPGg3Nlh5bkElYT1pN1cjWk9nfTlze2Qt
V2dpZ15SJk15MUtJRF8/KT8rCnpJM0VBLWlUUyM0JnJFOXBQZnQ1Pks0JUQqR3M/blI+N084bF8o
S3RtfEx3NDwyJWo/bTVtYjdudzJ2UEt1MVh3NAp6Zm8xe0MhdTNWYVRYPWc1Kyhne1MxOyFSJEJu
Q3ErSF94SEtPdktId1YxbmlyNj0yPU10Rl4jI2orWjlFRHdrVV4KemZ5RjtCT0BjaVV3XypaWU1Q
OEUkY0Y/P3YyP1EzblglWWskY29oPX1FUCVrbVBiM2ZvN0M+TyhDdkZTXjNtfnhZCno2UWw9JGg1
dShAVkxXOHM3NjMjZ2QzT1E4R2I4WFE0ZVh8UTJwaVo8fDJYNll5SkBoU3soME9GY0dGLXQmQkkj
MwptWldgPlMhN0Qpal5FYWN8dXlsMzBkOUhXYmQrdD92ensxcX0qejJSe1RZbXcmSShSJCkKCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9pbWFnZXMvZW1iZWQtaW1h
Z2UtcGx1Z2lucy1kaXNhYmxlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC9pbWFnZXMvZW1iZWQtaW1hZ2UtcGx1Z2lucy1kaXNhYmxlZC1leHBlY3RlZC50eHQK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUxY2FmNWVmMzMzMzE1Mjk0NTZjMDcyYTE3
OGQzZDQ2NTg1MTI1YTYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvaW1hZ2VzL2VtYmVkLWltYWdlLXBs
dWdpbnMtZGlzYWJsZWQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBA
Ci1sYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAotICBSZW5kZXJCbG9jayB7SFRN
TH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi0gICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkg
c2l6ZSA3ODR4NTg0Ci0gICAgICBSZW5kZXJJbWFnZSB7RU1CRUR9IGF0ICgwLDApIHNpemUgMzh4
MjQKLSAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IDc4Y2I4OGFjMTBjNDY0MmI5ZDA3N2Q3MTM2YTY4ZjQ0ZGMyZmFmOWYuLjEyMTQ0YTRlODBj
ZjZmNjAyMjZkZWQ1M2MyZWViNWIyY2Q0ZmFhOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNSBA
QAorMjAxMS0wMy0yNCAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+
CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjgxOTE2IGFuZCByODE5MTcuCisg
ICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzgxOTE2CisgICAgICAgIGh0
dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzgxOTE3CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NzA3MQorCisgICAgICAgIGJyb2tlIGEgdGVz
dCBvbiBwbGF0Zm9ybXMgdGhhdCBkbyBub3QgaGF2ZSBRdWlja1RpbWUgaW5zdGFsbGVkCisgICAg
ICAgIChSZXF1ZXN0ZWQgYnkgZXN0ZXMgb24gI3dlYmtpdCkuCisKKyAgICAgICAgKiBodG1sL0hU
TUxFbWJlZEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEVtYmVkRWxlbWVudDo6
SFRNTEVtYmVkRWxlbWVudCk6CisgICAgICAgICogaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MT2JqZWN0RWxlbWVudDo6SFRNTE9iamVjdEVsZW1lbnQp
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTE9iamVjdEVsZW1lbnQ6OnBhcmFtZXRlcnNGb3JQbHVn
aW4pOgorICAgICAgICAqIGh0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MUGx1Z0luSW1hZ2VFbGVtZW50OjpIVE1MUGx1Z0luSW1hZ2VFbGVtZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ6OmlzSW1hZ2VUeXBl
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ6OndvdWxkTG9hZEFz
TmV0c2NhcGVQbHVnaW4pOgorICAgICAgICAqIGh0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5o
OgorICAgICAgICAqIGxvYWRlci9FbXB0eUNsaWVudHMuaDoKKyAgICAgICAgKFdlYkNvcmU6OkVt
cHR5RnJhbWVMb2FkZXJDbGllbnQ6Om9iamVjdENvbnRlbnRUeXBlKToKKyAgICAgICAgKiBsb2Fk
ZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmRlZmF1
bHRPYmplY3RDb250ZW50VHlwZSk6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmg6Cisg
ICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50Lmg6CisgICAgICAgICogbG9hZGVyL1N1
YmZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN1YmZyYW1lTG9hZGVyOjpyZXNv
dXJjZVdpbGxVc2VQbHVnaW4pOgorICAgICAgICAoV2ViQ29yZTo6U3ViZnJhbWVMb2FkZXI6OnJl
cXVlc3RPYmplY3QpOgorICAgICAgICAoV2ViQ29yZTo6U3ViZnJhbWVMb2FkZXI6OnNob3VsZFVz
ZVBsdWdpbik6CisgICAgICAgICogbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmg6CisKIDIwMTEtMDMt
MjQgIFJpayBDYWJhbmllciAgPGNhYmFuaWVyQGFkb2JlLmNvbT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBEYXZpZCBIeWF0dC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVt
YmVkRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbWJlZEVsZW1lbnQuY3Bw
CmluZGV4IDg1MWRlYjhmNTY2OTZmZTkyMjcwMjVlOGEwMDU4MzcxODA2M2M0ODkuLmFlZjJlMDRk
ZmU3OWZjMWE4OWE2NzI1MjY0NWNkODgyNDAxOTg3MTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEVtYmVkRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MRW1iZWRFbGVtZW50LmNwcApAQCAtMiw3ICsyLDcgQEAKICAqIENvcHlyaWdodCAoQykgMTk5
OSBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQogICogICAgICAgICAgIChDKSAxOTk5IEFudHRp
IEtvaXZpc3RvIChrb2l2aXN0b0BrZGUub3JnKQogICogICAgICAgICAgIChDKSAyMDAwIFN0ZWZh
biBTY2hpbWFuc2tpICgxU3RlaW5AZ214LmRlKQotICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1
LCAyMDA2LCAyMDA4LCAyMDA5LCAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwOCwgMjAwOSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDggTm9raWEgQ29ycG9y
YXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCiAgKgogICogVGhpcyBsaWJyYXJ5IGlz
IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgpAQCAtNDYsNyAr
NDYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwog
CiBpbmxpbmUgSFRNTEVtYmVkRWxlbWVudDo6SFRNTEVtYmVkRWxlbWVudChjb25zdCBRdWFsaWZp
ZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQsIGJvb2wgY3JlYXRlZEJ5UGFyc2Vy
KQotICAgIDogSFRNTFBsdWdJbkltYWdlRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCwgY3JlYXRl
ZEJ5UGFyc2VyLCBTaG91bGRQcmVmZXJQbHVnSW5zRm9ySW1hZ2VzKQorICAgIDogSFRNTFBsdWdJ
bkltYWdlRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCwgY3JlYXRlZEJ5UGFyc2VyKQogewogICAg
IEFTU0VSVChoYXNUYWdOYW1lKGVtYmVkVGFnKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TE9iamVjdEVsZW1lbnQuY3BwCmluZGV4IDRmNGQwYTFlNmVmYzhjYjc5ZGNlYzhjZGE0NmQ3YTQ3
NTUwMDI0MjUuLmMyNjcwZmFiNTkyYjYwZDUwZTZmZGFhMzg1MGRiYWFjN2ZiMjEwYTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuY3BwCkBAIC0yLDcgKzIsNyBAQAog
ICogQ29weXJpZ2h0IChDKSAxOTk5IExhcnMgS25vbGwgKGtub2xsQGtkZS5vcmcpCiAgKiAgICAg
ICAgICAgKEMpIDE5OTkgQW50dGkgS29pdmlzdG8gKGtvaXZpc3RvQGtkZS5vcmcpCiAgKiAgICAg
ICAgICAgKEMpIDIwMDAgU3RlZmFuIFNjaGltYW5za2kgKDFTdGVpbkBnbXguZGUpCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDksIDIwMTEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAy
MDA2LCAyMDA3LCAyMDA4LCAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAq
IENvcHlyaWdodCAoQykgMjAwOCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlh
cnkoLWllcykKICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy
ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCkBAIC00OCw3ICs0OCw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKIGlubGluZSBIVE1MT2JqZWN0RWxlbWVu
dDo6SFRNTE9iamVjdEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1l
bnQqIGRvY3VtZW50LCBIVE1MRm9ybUVsZW1lbnQqIGZvcm0sIGJvb2wgY3JlYXRlZEJ5UGFyc2Vy
KSAKLSAgICA6IEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQsIGNyZWF0
ZWRCeVBhcnNlciwgU2hvdWxkTm90UHJlZmVyUGx1Z0luc0ZvckltYWdlcykKKyAgICA6IEhUTUxQ
bHVnSW5JbWFnZUVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQsIGNyZWF0ZWRCeVBhcnNlcikKICAg
ICAsIEZvcm1Bc3NvY2lhdGVkRWxlbWVudChmb3JtKQogICAgICwgbV9kb2NOYW1lZEl0ZW0odHJ1
ZSkKICAgICAsIG1fdXNlRmFsbGJhY2tDb250ZW50KGZhbHNlKQpAQCAtMjE3LDcgKzIxNyw3IEBA
IHZvaWQgSFRNTE9iamVjdEVsZW1lbnQ6OnBhcmFtZXRlcnNGb3JQbHVnaW4oVmVjdG9yPFN0cmlu
Zz4mIHBhcmFtTmFtZXMsIFZlY3RvcjxTCiAgICAgLy8gaWYgd2Uga25vdyB0aGF0IHJlc291cmNl
IHBvaW50cyB0byBhIHBsdWctaW4uCiAgICAgaWYgKHVybC5pc0VtcHR5KCkgJiYgIXVybFBhcmFt
ZXRlci5pc0VtcHR5KCkpIHsKICAgICAgICAgU3ViZnJhbWVMb2FkZXIqIGxvYWRlciA9IGRvY3Vt
ZW50KCktPmZyYW1lKCktPmxvYWRlcigpLT5zdWJmcmFtZUxvYWRlcigpOwotICAgICAgICBpZiAo
bG9hZGVyLT5yZXNvdXJjZVdpbGxVc2VQbHVnaW4odXJsUGFyYW1ldGVyLCBzZXJ2aWNlVHlwZSwg
c2hvdWxkUHJlZmVyUGx1Z0luc0ZvckltYWdlcygpKSkKKyAgICAgICAgaWYgKGxvYWRlci0+cmVz
b3VyY2VXaWxsVXNlUGx1Z2luKHVybFBhcmFtZXRlciwgc2VydmljZVR5cGUpKQogICAgICAgICAg
ICAgdXJsID0gdXJsUGFyYW1ldGVyOwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuY3BwCmluZGV4IGYzYTk5ZGQ2MzE0MzkxMTJlODMzODZi
M2VkODdhNjE2MDZhNzU0NDYuLmRiMDczMzQwOGExODE0OTgyZmJjOWNhYmUxOTY2Mzc5ZWE3NmJh
ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNw
cApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMTEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA4IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMjUsNyArMjUs
NiBAQAogI2luY2x1ZGUgIkZyYW1lTG9hZGVyLmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXJDbGll
bnQuaCIKICNpbmNsdWRlICJIVE1MSW1hZ2VMb2FkZXIuaCIKLSNpbmNsdWRlICJIVE1MTmFtZXMu
aCIKICNpbmNsdWRlICJJbWFnZS5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJSZW5k
ZXJFbWJlZGRlZE9iamVjdC5oIgpAQCAtMzMsMTQgKzMyLDEzIEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotSFRNTFBsdWdJbkltYWdlRWxlbWVudDo6SFRNTFBsdWdJbkltYWdlRWxlbWVudChj
b25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQsIGJvb2wgY3Jl
YXRlZEJ5UGFyc2VyLCBQcmVmZXJQbHVnSW5zRm9ySW1hZ2VzT3B0aW9uIHByZWZlclBsdWdJbnNG
b3JJbWFnZXNPcHRpb24pCitIVE1MUGx1Z0luSW1hZ2VFbGVtZW50OjpIVE1MUGx1Z0luSW1hZ2VF
bGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCwg
Ym9vbCBjcmVhdGVkQnlQYXJzZXIpCiAgICAgOiBIVE1MUGx1Z0luRWxlbWVudCh0YWdOYW1lLCBk
b2N1bWVudCkKICAgICAvLyBtX25lZWRzV2lkZ2V0VXBkYXRlKCFjcmVhdGVkQnlQYXJzZXIpIGFs
bG93cyBIVE1MT2JqZWN0RWxlbWVudCB0byBkZWxheQogICAgIC8vIHdpZGdldCB1cGRhdGVzIHVu
dGlsIGFmdGVyIGFsbCBjaGlsZHJlbiBhcmUgcGFyc2VkLiAgRm9yIEhUTUxFbWJlZEVsZW1lbnQK
ICAgICAvLyB0aGlzIGRlbGF5IGlzIHVubmVjZXNzYXJ5LCBidXQgaXQgaXMgc2ltcGxlciB0byBt
YWtlIGJvdGggY2xhc3NlcyBzaGFyZQogICAgIC8vIHRoZSBzYW1lIGNvZGVwYXRoIGluIHRoaXMg
Y2xhc3MuCiAgICAgLCBtX25lZWRzV2lkZ2V0VXBkYXRlKCFjcmVhdGVkQnlQYXJzZXIpCi0gICAg
LCBtX3Nob3VsZFByZWZlclBsdWdJbnNGb3JJbWFnZXMocHJlZmVyUGx1Z0luc0ZvckltYWdlc09w
dGlvbiA9PSBTaG91bGRQcmVmZXJQbHVnSW5zRm9ySW1hZ2VzKQogewogfQogCkBAIC02MCw3ICs1
OCw3IEBAIGJvb2wgSFRNTFBsdWdJbkltYWdlRWxlbWVudDo6aXNJbWFnZVR5cGUoKQogCiAgICAg
aWYgKEZyYW1lKiBmcmFtZSA9IGRvY3VtZW50KCktPmZyYW1lKCkpIHsKICAgICAgICAgS1VSTCBj
b21wbGV0ZWRVUkwgPSBmcmFtZS0+bG9hZGVyKCktPmNvbXBsZXRlVVJMKG1fdXJsKTsKLSAgICAg
ICAgcmV0dXJuIGZyYW1lLT5sb2FkZXIoKS0+Y2xpZW50KCktPm9iamVjdENvbnRlbnRUeXBlKGNv
bXBsZXRlZFVSTCwgbV9zZXJ2aWNlVHlwZSwgc2hvdWxkUHJlZmVyUGx1Z0luc0ZvckltYWdlcygp
KSA9PSBPYmplY3RDb250ZW50SW1hZ2U7CisgICAgICAgIHJldHVybiBmcmFtZS0+bG9hZGVyKCkt
PmNsaWVudCgpLT5vYmplY3RDb250ZW50VHlwZShjb21wbGV0ZWRVUkwsIG1fc2VydmljZVR5cGUp
ID09IE9iamVjdENvbnRlbnRJbWFnZTsKICAgICB9CiAKICAgICByZXR1cm4gSW1hZ2U6OnN1cHBv
cnRzVHlwZShtX3NlcnZpY2VUeXBlKTsKQEAgLTEwMSw3ICs5OSw3IEBAIGJvb2wgSFRNTFBsdWdJ
bkltYWdlRWxlbWVudDo6d291bGRMb2FkQXNOZXRzY2FwZVBsdWdpbihjb25zdCBTdHJpbmcmIHVy
bCwgY29uc3QKICAgICBpZiAoIXVybC5pc0VtcHR5KCkpCiAgICAgICAgIGNvbXBsZXRlZFVSTCA9
IGZyYW1lTG9hZGVyLT5jb21wbGV0ZVVSTCh1cmwpOwogCi0gICAgaWYgKGZyYW1lTG9hZGVyLT5j
bGllbnQoKS0+b2JqZWN0Q29udGVudFR5cGUoY29tcGxldGVkVVJMLCBzZXJ2aWNlVHlwZSwgc2hv
dWxkUHJlZmVyUGx1Z0luc0ZvckltYWdlcygpKSA9PSBPYmplY3RDb250ZW50TmV0c2NhcGVQbHVn
aW4pCisgICAgaWYgKGZyYW1lTG9hZGVyLT5jbGllbnQoKS0+b2JqZWN0Q29udGVudFR5cGUoY29t
cGxldGVkVVJMLCBzZXJ2aWNlVHlwZSkgPT0gT2JqZWN0Q29udGVudE5ldHNjYXBlUGx1Z2luKQog
ICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICByZXR1cm4gZmFsc2U7CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5oCmluZGV4IGMyN2MwZjhjNzE3ZWI3NzBi
MTdhNmM2YzAzOWE2MjRmODM2OWFlODguLjM2NDI2MmIwMGE4Mzc2MGMwZjM4ZjRiYjA0YmZjYjE3
M2FkOWRhZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkltYWdl
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVu
dC5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOCwgMjAwOSwgMjAx
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDgs
IDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1v
ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
CkBAIC0zMywxMSArMzMsNiBAQCBlbnVtIFBsdWdpbkNyZWF0aW9uT3B0aW9uIHsKICAgICBDcmVh
dGVBbnlXaWRnZXRUeXBlLAogICAgIENyZWF0ZU9ubHlOb25OZXRzY2FwZVBsdWdpbnMsCiB9Owot
ICAgIAotZW51bSBQcmVmZXJQbHVnSW5zRm9ySW1hZ2VzT3B0aW9uIHsKLSAgICBTaG91bGRQcmVm
ZXJQbHVnSW5zRm9ySW1hZ2VzLAotICAgIFNob3VsZE5vdFByZWZlclBsdWdJbnNGb3JJbWFnZXMK
LX07CiAKIC8vIEJhc2UgY2xhc3MgZm9yIEhUTUxPYmplY3RFbGVtZW50IGFuZCBIVE1MRW1iZWRF
bGVtZW50CiBjbGFzcyBIVE1MUGx1Z0luSW1hZ2VFbGVtZW50IDogcHVibGljIEhUTUxQbHVnSW5F
bGVtZW50IHsKQEAgLTQ4LDEwICs0Myw5IEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IFN0cmluZyYg
c2VydmljZVR5cGUoKSBjb25zdCB7IHJldHVybiBtX3NlcnZpY2VUeXBlOyB9CiAgICAgY29uc3Qg
U3RyaW5nJiB1cmwoKSBjb25zdCB7IHJldHVybiBtX3VybDsgfQotICAgIGJvb2wgc2hvdWxkUHJl
ZmVyUGx1Z0luc0ZvckltYWdlcygpIGNvbnN0IHsgcmV0dXJuIG1fc2hvdWxkUHJlZmVyUGx1Z0lu
c0ZvckltYWdlczsgfQogCiBwcm90ZWN0ZWQ6Ci0gICAgSFRNTFBsdWdJbkltYWdlRWxlbWVudChj
b25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCosIGJvb2wgY3JlYXRlZEJ5UGFy
c2VyLCBQcmVmZXJQbHVnSW5zRm9ySW1hZ2VzT3B0aW9uKTsKKyAgICBIVE1MUGx1Z0luSW1hZ2VF
bGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiwgYm9vbCBjcmVh
dGVkQnlQYXJzZXIpOwogCiAgICAgYm9vbCBpc0ltYWdlVHlwZSgpOwogCkBAIC04MSw3ICs3NSw2
IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBib29sIHVzZUZhbGxiYWNrQ29udGVudCgpIGNvbnN0
IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgCiAgICAgYm9vbCBtX25lZWRzV2lkZ2V0VXBkYXRlOwot
ICAgIGJvb2wgbV9zaG91bGRQcmVmZXJQbHVnSW5zRm9ySW1hZ2VzOwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xp
ZW50cy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCmluZGV4IDU5ZmQ4
OTc5Y2JlZWZjY2ZlOTA1YWRlN2QyNmZmYjFkZGFlNmU5YTMuLjJjMTA4M2M1MTg2NzJiNDIyZmIw
NTFjYWQ5NzY3NTc5NzQwODI1YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9F
bXB0eUNsaWVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgK
QEAgLTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA2IEVyaWMgU2VpZGVsIChl
cmljQHdlYmtpdC5vcmcpCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMDksIDIwMTAsIDIwMTEg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA4LCAy
MDA5LCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAo
QykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykuCiAg
KgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CkBAIC0zNzAsNyArMzcwLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
dm9pZCBzaG93TWVkaWFQbGF5ZXJQcm94eVBsdWdpbihXaWRnZXQqKSB7IH0KICNlbmRpZgogCi0g
ICAgdmlydHVhbCBPYmplY3RDb250ZW50VHlwZSBvYmplY3RDb250ZW50VHlwZShjb25zdCBLVVJM
JiwgY29uc3QgU3RyaW5nJiwgYm9vbCkgeyByZXR1cm4gT2JqZWN0Q29udGVudFR5cGUoKTsgfQor
ICAgIHZpcnR1YWwgT2JqZWN0Q29udGVudFR5cGUgb2JqZWN0Q29udGVudFR5cGUoY29uc3QgS1VS
TCYsIGNvbnN0IFN0cmluZyYpIHsgcmV0dXJuIE9iamVjdENvbnRlbnRUeXBlKCk7IH0KICAgICB2
aXJ0dWFsIFN0cmluZyBvdmVycmlkZU1lZGlhVHlwZSgpIGNvbnN0IHsgcmV0dXJuIFN0cmluZygp
OyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgcmVkaXJlY3REYXRhVG9QbHVnaW4oV2lkZ2V0KikgeyB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRleCBlNzMyMTc2MjNlYjkzYWE5
YTk2MWE3NTc1OGQ4NTcxODMxOWQ1MmU5Li41Y2NlNWQ4ZWUyMzgwMmY2MjE5ZTg1OTBhMDQ4MDNh
NjkwZDI3YTgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTEsNSAr
MSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5LCAyMDEw
LCAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAwNiwgMjAwNywgMjAwOCwgMjAwOSwgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDggTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBz
dWJzaWRpYXJ5KC1pZXMpCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMDkgVG9yY2ggTW9iaWxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKGh0dHA6Ly93d3cudG9yY2htb2JpbGUuY29tLykK
ICAqIENvcHlyaWdodCAoQykgMjAwOCBBbHAgVG9rZXIgPGFscEBhdG9rZXIuY29tPgpAQCAtOTgz
LDcgKzk4Myw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmxvYWRBcmNoaXZlKFBhc3NSZWZQdHI8QXJj
aGl2ZT4gcHJwQXJjaGl2ZSkKIH0KICNlbmRpZiAvLyBFTkFCTEUoV0VCX0FSQ0hJVkUpCiAKLU9i
amVjdENvbnRlbnRUeXBlIEZyYW1lTG9hZGVyOjpkZWZhdWx0T2JqZWN0Q29udGVudFR5cGUoY29u
c3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlSW4sIGJvb2wgc2hvdWxkUHJlZmVy
UGx1Z0luc0ZvckltYWdlcykKK09iamVjdENvbnRlbnRUeXBlIEZyYW1lTG9hZGVyOjpkZWZhdWx0
T2JqZWN0Q29udGVudFR5cGUoY29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBl
SW4pCiB7CiAgICAgU3RyaW5nIG1pbWVUeXBlID0gbWltZVR5cGVJbjsKICAgICBTdHJpbmcgZXh0
ZW5zaW9uID0gdXJsLnBhdGgoKS5zdWJzdHJpbmcodXJsLnBhdGgoKS5yZXZlcnNlRmluZCgnLicp
ICsgMSk7CkBAIC0xMDAwLDE3ICsxMDAwLDEzIEBAIE9iamVjdENvbnRlbnRUeXBlIEZyYW1lTG9h
ZGVyOjpkZWZhdWx0T2JqZWN0Q29udGVudFR5cGUoY29uc3QgS1VSTCYgdXJsLCBjb25zdCBTCiAg
ICAgaWYgKG1pbWVUeXBlLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIE9iamVjdENvbnRlbnRG
cmFtZTsgLy8gR28gYWhlYWQgYW5kIGhvcGUgdGhhdCB3ZSBjYW4gZGlzcGxheSB0aGUgY29udGVu
dC4KIAotI2lmICFQTEFURk9STShNQUMpICYmICFQTEFURk9STShDSFJPTUlVTSkgJiYgIVBMQVRG
T1JNKEVGTCkgLy8gTWFjIGhhcyBubyBQbHVnaW5EYXRhYmFzZSwgbm9yIGRvZXMgQ2hyb21pdW0g
b3IgRUZMCi0gICAgYm9vbCBwbHVnSW5TdXBwb3J0c01JTUVUeXBlID0gUGx1Z2luRGF0YWJhc2U6
Omluc3RhbGxlZFBsdWdpbnMoKS0+aXNNSU1FVHlwZVJlZ2lzdGVyZWQobWltZVR5cGUpOwotI2Vs
c2UKLSAgICBib29sIHBsdWdJblN1cHBvcnRzTUlNRVR5cGUgPSBmYWxzZTsKLSNlbmRpZgotCiAg
ICAgaWYgKE1JTUVUeXBlUmVnaXN0cnk6OmlzU3VwcG9ydGVkSW1hZ2VNSU1FVHlwZShtaW1lVHlw
ZSkpCi0gICAgICAgIHJldHVybiBzaG91bGRQcmVmZXJQbHVnSW5zRm9ySW1hZ2VzICYmIHBsdWdJ
blN1cHBvcnRzTUlNRVR5cGUgPyBXZWJDb3JlOjpPYmplY3RDb250ZW50TmV0c2NhcGVQbHVnaW4g
OiBXZWJDb3JlOjpPYmplY3RDb250ZW50SW1hZ2U7CisgICAgICAgIHJldHVybiBXZWJDb3JlOjpP
YmplY3RDb250ZW50SW1hZ2U7CiAKLSAgICBpZiAocGx1Z0luU3VwcG9ydHNNSU1FVHlwZSkKKyNp
ZiAhUExBVEZPUk0oTUFDKSAmJiAhUExBVEZPUk0oQ0hST01JVU0pICYmICFQTEFURk9STShFRkwp
IC8vIE1hYyBoYXMgbm8gUGx1Z2luRGF0YWJhc2UsIG5vciBkb2VzIENocm9taXVtIG9yIEVGTAor
ICAgIGlmIChQbHVnaW5EYXRhYmFzZTo6aW5zdGFsbGVkUGx1Z2lucygpLT5pc01JTUVUeXBlUmVn
aXN0ZXJlZChtaW1lVHlwZSkpCiAgICAgICAgIHJldHVybiBXZWJDb3JlOjpPYmplY3RDb250ZW50
TmV0c2NhcGVQbHVnaW47CisjZW5kaWYKIAogICAgIGlmIChNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1
cHBvcnRlZE5vbkltYWdlTUlNRVR5cGUobWltZVR5cGUpKQogICAgICAgICByZXR1cm4gV2ViQ29y
ZTo6T2JqZWN0Q29udGVudEZyYW1lOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0ZyYW1lTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAppbmRl
eCAxZmI5ZTNjNDVmNDkwZTI5OWZhZmM1NGY0ZDM1ZTY3ZTRlYjEyOTVjLi4zNzgxZDhkZGEyZmU1
ODM2OTI3N2U3NjgxNmQ4ZDVmYTA3MzRiMTIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRnJhbWVMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2Fk
ZXIuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIw
MDgsIDIwMDksIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJp
Z2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAwOCwgMjAwOSBUb3JjaCBNb2JpbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLiAoaHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20vKQogICogQ29weXJp
Z2h0IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZCAyMDA5LiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICoKQEAgLTMyMyw3ICszMjMsNyBAQCBwdWJsaWM6CiAgICAgCiAgICAgYm9vbCBzdXBw
cmVzc09wZW5lckluTmV3RnJhbWUoKSBjb25zdCB7IHJldHVybiBtX3N1cHByZXNzT3BlbmVySW5O
ZXdGcmFtZTsgfQogCi0gICAgc3RhdGljIE9iamVjdENvbnRlbnRUeXBlIGRlZmF1bHRPYmplY3RD
b250ZW50VHlwZShjb25zdCBLVVJMJiwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgYm9vbCBzaG91
bGRQcmVmZXJQbHVnSW5zRm9ySW1hZ2VzKTsKKyAgICBzdGF0aWMgT2JqZWN0Q29udGVudFR5cGUg
ZGVmYXVsdE9iamVjdENvbnRlbnRUeXBlKGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBt
aW1lVHlwZSk7CiAKICAgICB2b2lkIGNsZWFyKGJvb2wgY2xlYXJXaW5kb3dQcm9wZXJ0aWVzID0g
dHJ1ZSwgYm9vbCBjbGVhclNjcmlwdE9iamVjdHMgPSB0cnVlLCBib29sIGNsZWFyRnJhbWVWaWV3
ID0gdHJ1ZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ckNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50LmgKaW5k
ZXggN2Q2NDkxMmJkYjQxM2FlOTU5YWIwZThmNWFjY2FhYzY2MmZmZjk5My4uOGRiYTU5Y2Q5YzZj
ZWFlZjE3NmI3NWMxMzEyOTg3ZmIwNTM0OGNiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zy
YW1lTG9hZGVyQ2xpZW50LmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAy
MDA2LCAyMDA3LCAyMDA4LCAyMDA5LCAyMDEwLCAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSwgMjAxMCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKQEAgLTI1OSw3ICsyNTksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZp
cnR1YWwgdm9pZCBzaG93TWVkaWFQbGF5ZXJQcm94eVBsdWdpbihXaWRnZXQqKSA9IDA7CiAjZW5k
aWYKIAotICAgICAgICB2aXJ0dWFsIE9iamVjdENvbnRlbnRUeXBlIG9iamVjdENvbnRlbnRUeXBl
KGNvbnN0IEtVUkwmLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBib29sIHNob3VsZFByZWZlclBs
dWdJbnNGb3JJbWFnZXMpID0gMDsKKyAgICAgICAgdmlydHVhbCBPYmplY3RDb250ZW50VHlwZSBv
YmplY3RDb250ZW50VHlwZShjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUp
ID0gMDsKICAgICAgICAgdmlydHVhbCBTdHJpbmcgb3ZlcnJpZGVNZWRpYVR5cGUoKSBjb25zdCA9
IDA7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkQ2xlYXJXaW5kb3dPYmplY3RJ
bldvcmxkKERPTVdyYXBwZXJXb3JsZCopID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9TdWJmcmFtZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3ViZnJh
bWVMb2FkZXIuY3BwCmluZGV4IGU3Zjg1MWYzZWVkYTRhYzc3M2MyNjNmZjBjOWViNGVjODIxNmY3
Y2EuLjhiZmQ0NzQ0YTk0YTUyOTMzNGMxOTMxODMyZGYwNGNkODc4MGRmMjEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDksIDIwMTAsIDIwMTEgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4
LCAyMDA5LCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdo
dCAoQykgMjAwOCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykK
ICAqIENvcHlyaWdodCAoQykgMjAwOCwgMjAwOSBUb3JjaCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLiAoaHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20vKQogICogQ29weXJpZ2h0IChD
KSAyMDA4IEFscCBUb2tlciA8YWxwQGF0b2tlci5jb20+CkBAIC04OCwzNSArODgsMTcgQEAgYm9v
bCBTdWJmcmFtZUxvYWRlcjo6cmVxdWVzdEZyYW1lKEhUTUxGcmFtZU93bmVyRWxlbWVudCogb3du
ZXJFbGVtZW50LCBjb25zdCBTdHIKICAgICByZXR1cm4gdHJ1ZTsKIH0KICAgICAKLWJvb2wgU3Vi
ZnJhbWVMb2FkZXI6OnJlc291cmNlV2lsbFVzZVBsdWdpbihjb25zdCBTdHJpbmcmIHVybCwgY29u
c3QgU3RyaW5nJiBtaW1lVHlwZSwgYm9vbCBzaG91bGRQcmVmZXJQbHVnSW5zRm9ySW1hZ2VzKQor
Ym9vbCBTdWJmcmFtZUxvYWRlcjo6cmVzb3VyY2VXaWxsVXNlUGx1Z2luKGNvbnN0IFN0cmluZyYg
dXJsLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlKQogewogICAgIEtVUkwgY29tcGxldGVkVVJMOwog
ICAgIGlmICghdXJsLmlzRW1wdHkoKSkKICAgICAgICAgY29tcGxldGVkVVJMID0gY29tcGxldGVV
UkwodXJsKTsKLQogICAgIGJvb2wgdXNlRmFsbGJhY2s7Ci0gICAgcmV0dXJuIHNob3VsZFVzZVBs
dWdpbihjb21wbGV0ZWRVUkwsIG1pbWVUeXBlLCBzaG91bGRQcmVmZXJQbHVnSW5zRm9ySW1hZ2Vz
LCBmYWxzZSwgdXNlRmFsbGJhY2spOworICAgIHJldHVybiBzaG91bGRVc2VQbHVnaW4oY29tcGxl
dGVkVVJMLCBtaW1lVHlwZSwgZmFsc2UsIHVzZUZhbGxiYWNrKTsKIH0KIAotYm9vbCBTdWJmcmFt
ZUxvYWRlcjo6cmVxdWVzdFBsdWdpbihIVE1MUGx1Z0luSW1hZ2VFbGVtZW50KiBvd25lckVsZW1l
bnQsIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgY29uc3QgVmVjdG9y
PFN0cmluZz4mIHBhcmFtTmFtZXMsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBwYXJhbVZhbHVlcywg
Ym9vbCB1c2VGYWxsYmFjaykKLXsKLSAgICBTZXR0aW5ncyogc2V0dGluZ3MgPSBtX2ZyYW1lLT5z
ZXR0aW5ncygpOwotICAgIGlmICgoIWFsbG93UGx1Z2lucyhBYm91dFRvSW5zdGFudGlhdGVQbHVn
aW4pCi0gICAgICAgICAvLyBBcHBsaWNhdGlvbiBwbHVnLWlucyBhcmUgcGx1Zy1pbnMgaW1wbGVt
ZW50ZWQgYnkgdGhlIHVzZXIgYWdlbnQsIGZvciBleGFtcGxlIFF0IHBsdWctaW5zLAotICAgICAg
ICAgLy8gYXMgb3Bwb3NlZCB0byB0aGlyZC1wYXJ0eSBjb2RlIHN1Y2ggYXMgRmxhc2guIFRoZSB1
c2VyIGFnZW50IGRlY2lkZXMgd2hldGhlciBvciBub3QgdGhleSBhcmUKLSAgICAgICAgIC8vIHBl
cm1pdHRlZCwgcmF0aGVyIHRoYW4gV2ViS2l0LgotICAgICAgICAgJiYgIU1JTUVUeXBlUmVnaXN0
cnk6OmlzQXBwbGljYXRpb25QbHVnaW5NSU1FVHlwZShtaW1lVHlwZSkpCi0gICAgICAgIHx8ICgh
c2V0dGluZ3MtPmlzSmF2YUVuYWJsZWQoKSAmJiBNSU1FVHlwZVJlZ2lzdHJ5Ojppc0phdmFBcHBs
ZXRNSU1FVHlwZShtaW1lVHlwZSkpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBpZiAo
bV9mcmFtZS0+ZG9jdW1lbnQoKSAmJiBtX2ZyYW1lLT5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdp
bigpLT5pc1NhbmRib3hlZChTYW5kYm94UGx1Z2lucykpCi0gICAgICAgIHJldHVybiBmYWxzZTsK
LQotICAgIEFTU0VSVChvd25lckVsZW1lbnQtPmhhc1RhZ05hbWUob2JqZWN0VGFnKSB8fCBvd25l
ckVsZW1lbnQtPmhhc1RhZ05hbWUoZW1iZWRUYWcpKTsKLSAgICByZXR1cm4gbG9hZFBsdWdpbihv
d25lckVsZW1lbnQsIHVybCwgbWltZVR5cGUsIHBhcmFtTmFtZXMsIHBhcmFtVmFsdWVzLCB1c2VG
YWxsYmFjayk7Ci19Ci0gCi1ib29sIFN1YmZyYW1lTG9hZGVyOjpyZXF1ZXN0T2JqZWN0KEhUTUxQ
bHVnSW5JbWFnZUVsZW1lbnQqIG93bmVyRWxlbWVudCwgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0
IEF0b21pY1N0cmluZyYgZnJhbWVOYW1lLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBjb25zdCBW
ZWN0b3I8U3RyaW5nPiYgcGFyYW1OYW1lcywgY29uc3QgVmVjdG9yPFN0cmluZz4mIHBhcmFtVmFs
dWVzKQorYm9vbCBTdWJmcmFtZUxvYWRlcjo6cmVxdWVzdE9iamVjdChIVE1MUGx1Z0luSW1hZ2VF
bGVtZW50KiBvd25lckVsZW1lbnQsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBBdG9taWNTdHJp
bmcmIGZyYW1lTmFtZSwKKyAgICBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBjb25zdCBWZWN0b3I8
U3RyaW5nPiYgcGFyYW1OYW1lcywgY29uc3QgVmVjdG9yPFN0cmluZz4mIHBhcmFtVmFsdWVzKQog
ewogICAgIGlmICh1cmwuaXNFbXB0eSgpICYmIG1pbWVUeXBlLmlzRW1wdHkoKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwpAQCAtMTMyLDggKzExNCwyMyBAQCBib29sIFN1YmZyYW1lTG9hZGVyOjpy
ZXF1ZXN0T2JqZWN0KEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQqIG93bmVyRWxlbWVudCwgY29uc3Qg
UwogICAgICAgICBjb21wbGV0ZWRVUkwgPSBjb21wbGV0ZVVSTCh1cmwpOwogCiAgICAgYm9vbCB1
c2VGYWxsYmFjazsKLSAgICBpZiAoc2hvdWxkVXNlUGx1Z2luKGNvbXBsZXRlZFVSTCwgbWltZVR5
cGUsIG93bmVyRWxlbWVudC0+c2hvdWxkUHJlZmVyUGx1Z0luc0ZvckltYWdlcygpLCByZW5kZXJl
ci0+aGFzRmFsbGJhY2tDb250ZW50KCksIHVzZUZhbGxiYWNrKSkKLSAgICAgICAgcmV0dXJuIHJl
cXVlc3RQbHVnaW4ob3duZXJFbGVtZW50LCBjb21wbGV0ZWRVUkwsIG1pbWVUeXBlLCBwYXJhbU5h
bWVzLCBwYXJhbVZhbHVlcywgdXNlRmFsbGJhY2spOworICAgIGlmIChzaG91bGRVc2VQbHVnaW4o
Y29tcGxldGVkVVJMLCBtaW1lVHlwZSwgcmVuZGVyZXItPmhhc0ZhbGxiYWNrQ29udGVudCgpLCB1
c2VGYWxsYmFjaykpIHsKKyAgICAgICAgU2V0dGluZ3MqIHNldHRpbmdzID0gbV9mcmFtZS0+c2V0
dGluZ3MoKTsKKyAgICAgICAgaWYgKCghYWxsb3dQbHVnaW5zKEFib3V0VG9JbnN0YW50aWF0ZVBs
dWdpbikKKyAgICAgICAgICAgICAvLyBBcHBsaWNhdGlvbiBwbHVnaW5zIGFyZSBwbHVnaW5zIGlt
cGxlbWVudGVkIGJ5IHRoZSB1c2VyIGFnZW50LCBmb3IgZXhhbXBsZSBRdCBwbHVnaW5zLAorICAg
ICAgICAgICAgIC8vIGFzIG9wcG9zZWQgdG8gdGhpcmQtcGFydHkgY29kZSBzdWNoIGFzIGZsYXNo
LiBUaGUgdXNlciBhZ2VudCBkZWNpZGVzIHdoZXRoZXIgb3Igbm90IHRoZXkgYXJlCisgICAgICAg
ICAgICAgLy8gcGVybWl0dGVkLCByYXRoZXIgdGhhbiBXZWJLaXQuCisgICAgICAgICAgICAgJiYg
IU1JTUVUeXBlUmVnaXN0cnk6OmlzQXBwbGljYXRpb25QbHVnaW5NSU1FVHlwZShtaW1lVHlwZSkp
CisgICAgICAgICAgICB8fCAoIXNldHRpbmdzLT5pc0phdmFFbmFibGVkKCkgJiYgTUlNRVR5cGVS
ZWdpc3RyeTo6aXNKYXZhQXBwbGV0TUlNRVR5cGUobWltZVR5cGUpKSkKKyAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICAgICAgaWYgKG1fZnJhbWUtPmRvY3VtZW50KCkgJiYgbV9mcmFtZS0+
ZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+aXNTYW5kYm94ZWQoU2FuZGJveFBsdWdpbnMp
KQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIEFTU0VSVChvd25lckVsZW1l
bnQtPmhhc1RhZ05hbWUob2JqZWN0VGFnKSB8fCBvd25lckVsZW1lbnQtPmhhc1RhZ05hbWUoZW1i
ZWRUYWcpKTsKKyAgICAgICAgSFRNTFBsdWdJbkltYWdlRWxlbWVudCogcGx1Z2luRWxlbWVudCA9
IHN0YXRpY19jYXN0PEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQqPihvd25lckVsZW1lbnQpOworCisg
ICAgICAgIHJldHVybiBsb2FkUGx1Z2luKHBsdWdpbkVsZW1lbnQsIGNvbXBsZXRlZFVSTCwgbWlt
ZVR5cGUsIHBhcmFtTmFtZXMsIHBhcmFtVmFsdWVzLCB1c2VGYWxsYmFjayk7CisgICAgfQogCiAg
ICAgLy8gSWYgdGhlIHBsdWctaW4gZWxlbWVudCBhbHJlYWR5IGNvbnRhaW5zIGEgc3ViZnJhbWUs
IGxvYWRPclJlZGlyZWN0U3ViZnJhbWUgd2lsbCByZS11c2UgaXQuIE90aGVyd2lzZSwKICAgICAv
LyBpdCB3aWxsIGNyZWF0ZSBhIG5ldyBmcmFtZSBhbmQgc2V0IGl0IGFzIHRoZSBSZW5kZXJQYXJ0
J3Mgd2lkZ2V0LCBjYXVzaW5nIHdoYXQgd2FzIHByZXZpb3VzbHkgCkBAIC0yOTIsNyArMjg5LDcg
QEAgYm9vbCBTdWJmcmFtZUxvYWRlcjo6YWxsb3dQbHVnaW5zKFJlYXNvbkZvckNhbGxpbmdBbGxv
d1BsdWdpbnMgcmVhc29uKQogICAgIHJldHVybiBhbGxvd2VkOwogfQogCi1ib29sIFN1YmZyYW1l
TG9hZGVyOjpzaG91bGRVc2VQbHVnaW4oY29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIG1p
bWVUeXBlLCBib29sIHNob3VsZFByZWZlclBsdWdJbnNGb3JJbWFnZXMsIGJvb2wgaGFzRmFsbGJh
Y2ssIGJvb2wmIHVzZUZhbGxiYWNrKQorYm9vbCBTdWJmcmFtZUxvYWRlcjo6c2hvdWxkVXNlUGx1
Z2luKGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgYm9vbCBoYXNGYWxs
YmFjaywgYm9vbCYgdXNlRmFsbGJhY2spCiB7CiAgICAgaWYgKG1fZnJhbWUtPmxvYWRlcigpLT5j
bGllbnQoKS0+c2hvdWxkVXNlUGx1Z2luRG9jdW1lbnQobWltZVR5cGUpKSB7CiAgICAgICAgIHVz
ZUZhbGxiYWNrID0gZmFsc2U7CkBAIC0zMDgsNyArMzA1LDcgQEAgYm9vbCBTdWJmcmFtZUxvYWRl
cjo6c2hvdWxkVXNlUGx1Z2luKGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBtaW1lVHlw
ZSwgYm8KICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KICAgICAgICAgCi0gICAgT2Jq
ZWN0Q29udGVudFR5cGUgb2JqZWN0VHlwZSA9IG1fZnJhbWUtPmxvYWRlcigpLT5jbGllbnQoKS0+
b2JqZWN0Q29udGVudFR5cGUodXJsLCBtaW1lVHlwZSwgc2hvdWxkUHJlZmVyUGx1Z0luc0Zvcklt
YWdlcyk7CisgICAgT2JqZWN0Q29udGVudFR5cGUgb2JqZWN0VHlwZSA9IG1fZnJhbWUtPmxvYWRl
cigpLT5jbGllbnQoKS0+b2JqZWN0Q29udGVudFR5cGUodXJsLCBtaW1lVHlwZSk7CiAgICAgLy8g
SWYgYW4gb2JqZWN0J3MgY29udGVudCBjYW4ndCBiZSBoYW5kbGVkIGFuZCBpdCBoYXMgbm8gZmFs
bGJhY2ssIGxldAogICAgIC8vIGl0IGJlIGhhbmRsZWQgYXMgYSBwbHVnaW4gdG8gc2hvdyB0aGUg
YnJva2VuIHBsdWdpbiBpY29uLgogICAgIHVzZUZhbGxiYWNrID0gb2JqZWN0VHlwZSA9PSBPYmpl
Y3RDb250ZW50Tm9uZSAmJiBoYXNGYWxsYmFjazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9TdWJmcmFtZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1l
TG9hZGVyLmgKaW5kZXggMDFjNTllNjI3MmMwMDY3MTliMTk1M2RkYWI3NGJiNTM5Mjk3YjU3Zi4u
YmE2M2E1Y2Y3OTAwZmRkMTdhM2IxNjEzZDIwMzQ0NzU4ZTAzODIwNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1N1YmZyYW1lTG9hZGVyLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0
IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5LCAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMDkgVG9y
Y2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKGh0dHA6Ly93d3cudG9yY2htb2Jp
bGUuY29tLykKICAqIENvcHlyaWdodCAoQykgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQgMjAw
OS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCkBAIC03NywxNiArNzcsMTUgQEAgcHVibGljOgog
CiAgICAgYm9vbCBjb250YWluc1BsdWdpbnMoKSBjb25zdCB7IHJldHVybiBtX2NvbnRhaW5zUGx1
Z2luczsgfQogICAgIAotICAgIGJvb2wgcmVzb3VyY2VXaWxsVXNlUGx1Z2luKGNvbnN0IFN0cmlu
ZyYgdXJsLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBib29sIHNob3VsZFByZWZlclBsdWdJbnNG
b3JJbWFnZXMpOworICAgIGJvb2wgcmVzb3VyY2VXaWxsVXNlUGx1Z2luKGNvbnN0IFN0cmluZyYg
dXJsLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlKTsKIAogcHJpdmF0ZToKLSAgICBib29sIHJlcXVl
c3RQbHVnaW4oSFRNTFBsdWdJbkltYWdlRWxlbWVudCosIGNvbnN0IEtVUkwmLCBjb25zdCBTdHJp
bmcmIHNlcnZpY2VUeXBlLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgcGFyYW1OYW1lcywgY29uc3Qg
VmVjdG9yPFN0cmluZz4mIHBhcmFtVmFsdWVzLCBib29sIHVzZUZhbGxiYWNrKTsKICAgICBGcmFt
ZSogbG9hZE9yUmVkaXJlY3RTdWJmcmFtZShIVE1MRnJhbWVPd25lckVsZW1lbnQqLCBjb25zdCBL
VVJMJiwgY29uc3QgQXRvbWljU3RyaW5nJiBmcmFtZU5hbWUsIGJvb2wgbG9ja0hpc3RvcnksIGJv
b2wgbG9ja0JhY2tGb3J3YXJkTGlzdCk7CiAgICAgRnJhbWUqIGxvYWRTdWJmcmFtZShIVE1MRnJh
bWVPd25lckVsZW1lbnQqLCBjb25zdCBLVVJMJiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBT
dHJpbmcmIHJlZmVycmVyKTsKICAgICBib29sIGxvYWRQbHVnaW4oSFRNTFBsdWdJbkltYWdlRWxl
bWVudCosIGNvbnN0IEtVUkwmLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLAogICAgICAgICBjb25z
dCBWZWN0b3I8U3RyaW5nPiYgcGFyYW1OYW1lcywgY29uc3QgVmVjdG9yPFN0cmluZz4mIHBhcmFt
VmFsdWVzLCBib29sIHVzZUZhbGxiYWNrKTsKIAotICAgIGJvb2wgc2hvdWxkVXNlUGx1Z2luKGNv
bnN0IEtVUkwmLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBib29sIHNob3VsZFByZWZlclBsdWdJ
bnNGb3JJbWFnZXMsIGJvb2wgaGFzRmFsbGJhY2ssIGJvb2wmIHVzZUZhbGxiYWNrKTsKKyAgICBi
b29sIHNob3VsZFVzZVBsdWdpbihjb25zdCBLVVJMJiwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwg
Ym9vbCBoYXNGYWxsYmFjaywgYm9vbCYgdXNlRmFsbGJhY2spOwogCiAgICAgRG9jdW1lbnQqIGRv
Y3VtZW50KCkgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggMGNlNTI4Zjdk
MjUxYjE2MGI3M2U4Zjk1NThkOWZlNjRiZTMzODVjYS4uMDBlM2Y4OTlmOGE5ZjZiN2JiNjg2NmUw
MGZmNmYzM2U1NTk2ODU4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NyBAQAorMjAxMS0wMy0yNCAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5j
b20+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjgxOTE2IGFuZCByODE5MTcu
CisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzgxOTE2CisgICAgICAg
IGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzgxOTE3CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NzA3MQorCisgICAgICAgIGJyb2tlIGEg
dGVzdCBvbiBwbGF0Zm9ybXMgdGhhdCBkbyBub3QgaGF2ZSBRdWlja1RpbWUgaW5zdGFsbGVkCisg
ICAgICAgIChSZXF1ZXN0ZWQgYnkgZXN0ZXMgb24gI3dlYmtpdCkuCisKKyAgICAgICAgKiBzcmMv
RnJhbWVMb2FkZXJDbGllbnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RnJhbWVMb2FkZXJD
bGllbnRJbXBsOjpvYmplY3RDb250ZW50VHlwZSk6CisgICAgICAgICogc3JjL0ZyYW1lTG9hZGVy
Q2xpZW50SW1wbC5oOgorCiAyMDExLTAzLTIzICBKb2huIEFiZC1FbC1NYWxlayAgPGphbUBjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgVG9ueSBDaGFuZy4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5jcHAgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuY3BwCmluZGV4
IDY0N2E3MGMyODViNjdjZTBkNTRhM2FlMDg4MTQ5OGUxMTQzNmQ2NTMuLmRjNDc5MjM0NDVjNWYz
OTcyM2M1NmQ1MGJhM2FhMmFiYzBjZTQyZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmNwcApAQCAtMSw2ICsxLDUgQEAKIC8q
CiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LSAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAg
KgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0xNDgwLDggKzE0NzksNyBAQCBQ
YXNzUmVmUHRyPFdpZGdldD4gRnJhbWVMb2FkZXJDbGllbnRJbXBsOjpjcmVhdGVKYXZhQXBwbGV0
V2lkZ2V0KAogCiBPYmplY3RDb250ZW50VHlwZSBGcmFtZUxvYWRlckNsaWVudEltcGw6Om9iamVj
dENvbnRlbnRUeXBlKAogICAgIGNvbnN0IEtVUkwmIHVybCwKLSAgICBjb25zdCBTdHJpbmcmIGV4
cGxpY2l0TWltZVR5cGUsCi0gICAgYm9vbCBzaG91bGRQcmVmZXJQbHVnSW5zRm9ySW1hZ2VzKQor
ICAgIGNvbnN0IFN0cmluZyYgZXhwbGljaXRNaW1lVHlwZSkKIHsKICAgICAvLyBUaGlzIGNvZGUg
aXMgYmFzZWQgb24gQXBwbGUncyBpbXBsZW1lbnRhdGlvbiBmcm9tCiAgICAgLy8gV2ViQ29yZVN1
cHBvcnQvV2ViRnJhbWVCcmlkZ2UubW0uCkBAIC0xNTA1LDE0ICsxNTAzLDEyIEBAIE9iamVjdENv
bnRlbnRUeXBlIEZyYW1lTG9hZGVyQ2xpZW50SW1wbDo6b2JqZWN0Q29udGVudFR5cGUoCiAgICAg
ICAgICAgICByZXR1cm4gT2JqZWN0Q29udGVudEZyYW1lOwogICAgIH0KIAotICAgIC8vIElmIENo
cm9tZSBpcyBzdGFydGVkIHdpdGggdGhlIC0tZGlzYWJsZS1wbHVnaW5zIHN3aXRjaCwgcGx1Z2lu
RGF0YSBpcyAwLgotICAgIFBsdWdpbkRhdGEqIHBsdWdpbkRhdGEgPSBtX3dlYkZyYW1lLT5mcmFt
ZSgpLT5wYWdlKCktPnBsdWdpbkRhdGEoKTsKLSAgICBib29sIHBsdWdJblN1cHBvcnRzTUlNRVR5
cGUgPSBwbHVnaW5EYXRhICYmIHBsdWdpbkRhdGEtPnN1cHBvcnRzTWltZVR5cGUobWltZVR5cGUp
OwotCiAgICAgaWYgKE1JTUVUeXBlUmVnaXN0cnk6OmlzU3VwcG9ydGVkSW1hZ2VNSU1FVHlwZSht
aW1lVHlwZSkpCi0gICAgICAgIHJldHVybiBzaG91bGRQcmVmZXJQbHVnSW5zRm9ySW1hZ2VzICYm
IHBsdWdJblN1cHBvcnRzTUlNRVR5cGUgPyBPYmplY3RDb250ZW50TmV0c2NhcGVQbHVnaW4gOiBP
YmplY3RDb250ZW50SW1hZ2U7CisgICAgICAgIHJldHVybiBPYmplY3RDb250ZW50SW1hZ2U7CiAK
LSAgICBpZiAocGx1Z0luU3VwcG9ydHNNSU1FVHlwZSkKKyAgICAvLyBJZiBDaHJvbWUgaXMgc3Rh
cnRlZCB3aXRoIHRoZSAtLWRpc2FibGUtcGx1Z2lucyBzd2l0Y2gsIHBsdWdpbkRhdGEgaXMgMC4K
KyAgICBQbHVnaW5EYXRhKiBwbHVnaW5EYXRhID0gbV93ZWJGcmFtZS0+ZnJhbWUoKS0+cGFnZSgp
LT5wbHVnaW5EYXRhKCk7CisgICAgaWYgKHBsdWdpbkRhdGEgJiYgcGx1Z2luRGF0YS0+c3VwcG9y
dHNNaW1lVHlwZShtaW1lVHlwZSkpCiAgICAgICAgIHJldHVybiBPYmplY3RDb250ZW50TmV0c2Nh
cGVQbHVnaW47CiAKICAgICBpZiAoTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWROb25JbWFn
ZU1JTUVUeXBlKG1pbWVUeXBlKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
RnJhbWVMb2FkZXJDbGllbnRJbXBsLmgKaW5kZXggZjE5YzI2YzUzOWExYzFiNWEyNjU3YjdhYTI1
ODk1YzFiMmY1MjEyNi4uN2FiZjYxNzFiYjFlZjE5YTI0OGRmYmI0ZGJmNjAwYTI0NmUwM2NjNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJ
bXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJ
bXBsLmgKQEAgLTEsNiArMSw1IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZQpAQCAtMTk4LDcgKzE5Nyw3IEBAIHB1YmxpYzoKICAgICAgICAgY29uc3QgVmVjdG9yPFdURjo6
U3RyaW5nPiYgcGFyYW1OYW1lcywKICAgICAgICAgY29uc3QgVmVjdG9yPFdURjo6U3RyaW5nPiYg
cGFyYW1WYWx1ZXMpOwogICAgIHZpcnR1YWwgV2ViQ29yZTo6T2JqZWN0Q29udGVudFR5cGUgb2Jq
ZWN0Q29udGVudFR5cGUoCi0gICAgICAgIGNvbnN0IFdlYkNvcmU6OktVUkwmLCBjb25zdCBXVEY6
OlN0cmluZyYgbWltZVR5cGUsIGJvb2wgc2hvdWxkUHJlZmVyUGx1Z0luc0ZvckltYWdlcyk7Cisg
ICAgICAgIGNvbnN0IFdlYkNvcmU6OktVUkwmIHVybCwgY29uc3QgV1RGOjpTdHJpbmcmIG1pbWVU
eXBlKTsKICAgICB2aXJ0dWFsIFdURjo6U3RyaW5nIG92ZXJyaWRlTWVkaWFUeXBlKCkgY29uc3Q7
CiAgICAgdmlydHVhbCB2b2lkIGRpZFBlcmZvcm1GaXJzdE5hdmlnYXRpb24oKSBjb25zdDsKICAg
ICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJGb3JJY29uTm90aWZpY2F0aW9uKGJvb2wgbGlzdGVuID0g
dHJ1ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKaW5kZXggMjhlZDZmM2IwNTNkYzY2MWM2YjUyNGJiOWI3Yzgx
OGNmNjE3MDIwNC4uMTA2ZjYwZmFkZTQzZjFmYjU3M2E3Y2JjOWQ1ZDZhZGI2MzcwNTFkNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDExLTAzLTI0ICBTaGVyaWZmIEJvdCAg
PHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmlld2VkLCByb2xs
aW5nIG91dCByODE5MTYgYW5kIHI4MTkxNy4KKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9y
Zy9jaGFuZ2VzZXQvODE5MTYKKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2Vz
ZXQvODE5MTcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTU3MDcxCisKKyAgICAgICAgYnJva2UgYSB0ZXN0IG9uIHBsYXRmb3JtcyB0aGF0IGRvIG5vdCBo
YXZlIFF1aWNrVGltZSBpbnN0YWxsZWQKKyAgICAgICAgKFJlcXVlc3RlZCBieSBlc3RlcyBvbiAj
d2Via2l0KS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50RWZs
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50RWZsOjpvYmplY3RDb250
ZW50VHlwZSk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwu
aDoKKwogMjAxMS0wMy0yNCAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0
L2VmbC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHAKaW5kZXggOTNkNWQ2
NmM2YzliMzM0Y2Y4NmRlYTc1N2U3MGU5M2Y0ZDcyNGJlZi4uM2VhOGMyYTE1NmJlNTFlMDA5NmU1
NGI1NGQzNTlmOWNhYTlhNDY3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29y
ZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZs
L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50RWZsLmNwcApAQCAtMSw2ICsxLDYgQEAK
IC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgWmFjayBSdXNpbiA8emFja0BrZGUub3JnPgotICog
Q29weXJpZ2h0IChDKSAyMDA2LCAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLiAgQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAwOCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3Ig
aXRzIHN1YnNpZGlhcnkoLWllcykKICAqIENvcHlyaWdodCAoQykgMjAwOCBDb2xsYWJvcmEgTHRk
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDA4IEhvbGdlciBIYW5z
IFBldGVyIEZyZXl0aGVyCkBAIC0zOTksMTIgKzM5OSw4IEBAIFBhc3NSZWZQdHI8V2lkZ2V0PiBG
cmFtZUxvYWRlckNsaWVudEVmbDo6Y3JlYXRlSmF2YUFwcGxldFdpZGdldChjb25zdCBJbnRTaXpl
JiwKICAgICByZXR1cm4gMDsKIH0KIAotT2JqZWN0Q29udGVudFR5cGUgRnJhbWVMb2FkZXJDbGll
bnRFZmw6Om9iamVjdENvbnRlbnRUeXBlKGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBt
aW1lVHlwZSwgYm9vbCBzaG91bGRQcmVmZXJQbHVnSW5zRm9ySW1hZ2VzKQorT2JqZWN0Q29udGVu
dFR5cGUgRnJhbWVMb2FkZXJDbGllbnRFZmw6Om9iamVjdENvbnRlbnRUeXBlKGNvbnN0IEtVUkwm
IHVybCwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSkKIHsKLSAgICAvLyBGSVhNRTogb25jZSBwbHVn
aW4gc3VwcG9ydCBpcyBlbmFibGVkLCB0aGlzIG1ldGhvZCBuZWVkcyB0byBjb3JyZWN0bHkgaGFu
ZGxlIHRoZSAnc2hvdWxkUHJlZmVyUGx1Z0luc0ZvckltYWdlcycgZmxhZy4gU2VlCi0gICAgLy8g
V2ViQ29yZTo6RnJhbWVMb2FkZXI6OmRlZmF1bHRPYmplY3RDb250ZW50VHlwZSgpIGZvciBhbiBl
eGFtcGxlLgotICAgIFVOVVNFRF9QQVJBTShzaG91bGRQcmVmZXJQbHVnSW5zRm9ySW1hZ2VzKTsK
LQogICAgIGlmICh1cmwuaXNFbXB0eSgpICYmIG1pbWVUeXBlLmlzRW1wdHkoKSkKICAgICAgICAg
cmV0dXJuIE9iamVjdENvbnRlbnROb25lOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5oIGIvU291cmNlL1dlYktpdC9l
ZmwvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuaAppbmRleCA1ZWE0ZThjYWM5
N2MwYmE5ZThlZTY5YzkyMjc3MzljZTE3ODFhNDBjLi40MjRjNjZiNGIzNmE5MjA3OTZmMWZmMGYw
OTE1NThjMzc1ODczMjBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3Vw
cG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNv
cmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50RWZsLmgKQEAgLTEsNiArMSw2IEBACiAvKgogICog
Q29weXJpZ2h0IChDKSAyMDA2IFphY2sgUnVzaW4gPHphY2tAa2RlLm9yZz4KLSAqIENvcHlyaWdo
dCAoQykgMjAwNiwgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAgKiBDb3B5cmlnaHQgKEMpIDIwMDggQ29sbGFib3JhIEx0ZC4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqIENvcHlyaWdodCAoQykgMjAwOCBJTmRUIC0gSW5zdGl0dXRvIE5va2lhIGRlIFRlY25v
bG9naWEKICAqIENvcHlyaWdodCAoQykgMjAwOS0yMDEwIFByb0ZVU0lPTiBlbWJlZGRlZCBzeXN0
ZW1zCkBAIC0xNDksNyArMTQ5LDcgQEAgY2xhc3MgRnJhbWVMb2FkZXJDbGllbnRFZmwgOiBwdWJs
aWMgRnJhbWVMb2FkZXJDbGllbnQgewogCiAgICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyRm9ySWNv
bk5vdGlmaWNhdGlvbihib29sKTsKIAotICAgIHZpcnR1YWwgT2JqZWN0Q29udGVudFR5cGUgb2Jq
ZWN0Q29udGVudFR5cGUoY29uc3QgS1VSTCYsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIGJvb2wg
c2hvdWxkUHJlZmVyUGx1Z0luc0ZvckltYWdlcyk7CisgICAgdmlydHVhbCBPYmplY3RDb250ZW50
VHlwZSBvYmplY3RDb250ZW50VHlwZShjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgbWlt
ZVR5cGUpOwogCiAgICAgdmlydHVhbCB2b2lkIHNldE1haW5GcmFtZURvY3VtZW50UmVhZHkoYm9v
bCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCBjYmM2YjQ4MjEzNGFkNDhlZGRmNmQ5OWM2NDY0YzZj
ZWVjNTUzMjI1Li45MWIzOTA3ZGQzYzI2ZTQ5Y2E3MjRmMzIwMjM5ZDJkNmRiMzU4OGMxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9n
dGsvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDMtMjQgIFNoZXJpZmYgQm90ICA8
d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxp
bmcgb3V0IHI4MTkxNiBhbmQgcjgxOTE3LgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC84MTkxNgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNl
dC84MTkxNworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NTcwNzEKKworICAgICAgICBicm9rZSBhIHRlc3Qgb24gcGxhdGZvcm1zIHRoYXQgZG8gbm90IGhh
dmUgUXVpY2tUaW1lIGluc3RhbGxlZAorICAgICAgICAoUmVxdWVzdGVkIGJ5IGVzdGVzIG9uICN3
ZWJraXQpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpGcmFtZUxvYWRlckNsaWVudDo6b2JqZWN0Q29udGVudFR5
cGUpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmg6CisK
IDIwMTEtMDMtMjQgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IERhcmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2Vi
Q29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwIGIvU291cmNlL1dlYktpdC9ndGsv
V2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwCmluZGV4IGNhOGJmOWEwODlh
ZDczODNjOGQ0NTMyN2E4N2Q4NTM0Yjg1ZGUwOTcuLjc5ZTNiYzRjZGQ2MTFmOTE3MDhkMGI4MWVi
YzMxMjY1MGI3ZTNjNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBw
b3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJD
b3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEd0ay5jcHAKQEAgLTYsNyArNiw2IEBACiAgKiAg
Q29weXJpZ2h0IChDKSAyMDA5LCAyMDEwIEd1c3Rhdm8gTm9yb25oYSBTaWx2YSA8Z25zQGdub21l
Lm9yZz4KICAqICBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMDku
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiAgQ29weXJpZ2h0IChDKSAyMDEwIElnYWxpYSBTLkwu
Ci0gKiAgQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqCiAgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli
dXRlIGl0IGFuZC9vcgogICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM
ZXNzZXIgR2VuZXJhbCBQdWJsaWMKQEAgLTcxMiw5ICs3MTEsOSBAQCBQYXNzUmVmUHRyPFdpZGdl
dD4gRnJhbWVMb2FkZXJDbGllbnQ6OmNyZWF0ZUphdmFBcHBsZXRXaWRnZXQoY29uc3QgSW50U2l6
ZSYgcGx1ZwogICAgIHJldHVybiBGcmFtZUxvYWRlckNsaWVudDo6Y3JlYXRlUGx1Z2luKHBsdWdp
blNpemUsIGVsZW1lbnQsIGJhc2VVUkwsIHBhcmFtTmFtZXMsIHBhcmFtVmFsdWVzLCAiYXBwbGlj
YXRpb24veC1qYXZhLWFwcGxldCIsIGZhbHNlKTsKIH0KIAotT2JqZWN0Q29udGVudFR5cGUgRnJh
bWVMb2FkZXJDbGllbnQ6Om9iamVjdENvbnRlbnRUeXBlKGNvbnN0IEtVUkwmIHVybCwgY29uc3Qg
U3RyaW5nJiBtaW1lVHlwZSwgYm9vbCBzaG91bGRQcmVmZXJQbHVnSW5zRm9ySW1hZ2VzKQorT2Jq
ZWN0Q29udGVudFR5cGUgRnJhbWVMb2FkZXJDbGllbnQ6Om9iamVjdENvbnRlbnRUeXBlKGNvbnN0
IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSkKIHsKLSAgICByZXR1cm4gRnJhbWVM
b2FkZXI6OmRlZmF1bHRPYmplY3RDb250ZW50VHlwZSh1cmwsIG1pbWVUeXBlLCBzaG91bGRQcmVm
ZXJQbHVnSW5zRm9ySW1hZ2VzKTsKKyAgICByZXR1cm4gRnJhbWVMb2FkZXI6OmRlZmF1bHRPYmpl
Y3RDb250ZW50VHlwZSh1cmwsIG1pbWVUeXBlKTsKIH0KIAogU3RyaW5nIEZyYW1lTG9hZGVyQ2xp
ZW50OjpvdmVycmlkZU1lZGlhVHlwZSgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEd0ay5oIGIvU291cmNlL1dlYktp
dC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuaAppbmRleCBiN2VhZDdh
ZjVlYmI5ZTY3NjVjOTQ2YzM1NWFjOTllODljMWU5NTQxLi4zMzQwODM3ZThjYTc4ZDE5OWIzOGFk
ODI1M2I3OTQ2OGE4ZjM1MTBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3Jl
U3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEd0ay5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dl
YkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmgKQEAgLTEsNiArMSw2IEBACiAvKgog
ICogQ29weXJpZ2h0IChDKSAyMDA2IFphY2sgUnVzaW4gPHphY2tAa2RlLm9yZz4KLSAqIENvcHly
aWdodCAoQykgMjAwNiwgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDggQ29sbGFib3JhIEx0ZC4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICAqCiAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgpAQCAtMTI2LDcgKzEyNiw3IEBAIG5h
bWVzcGFjZSBXZWJLaXQgewogCiAgICAgICAgIHZpcnR1YWwgdm9pZCByZWdpc3RlckZvckljb25O
b3RpZmljYXRpb24oYm9vbCk7CiAKLSAgICAgICAgdmlydHVhbCBXZWJDb3JlOjpPYmplY3RDb250
ZW50VHlwZSBvYmplY3RDb250ZW50VHlwZShjb25zdCBXZWJDb3JlOjpLVVJMJiwgY29uc3QgV1RG
OjpTdHJpbmcmIG1pbWVUeXBlLCBib29sIHNob3VsZFByZWZlclBsdWdJbnNGb3JJbWFnZXMpOwor
ICAgICAgICB2aXJ0dWFsIFdlYkNvcmU6Ok9iamVjdENvbnRlbnRUeXBlIG9iamVjdENvbnRlbnRU
eXBlKGNvbnN0IFdlYkNvcmU6OktVUkwmIHVybCwgY29uc3QgV1RGOjpTdHJpbmcmIG1pbWVUeXBl
KTsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0TWFpbkZyYW1lRG9jdW1lbnRSZWFkeShib29s
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9oYWlrdS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L2hhaWt1L0NoYW5nZUxvZwppbmRleCA0ZjUyNmNmNWU3MTRiMmM5YjUwYzJhZGY4OWFk
ZGE2ODQ0MjljYjFjLi5jOGRlYzczNWNlNmE2ZjhjODBkNjJhZWJhMmJiNjRmNjU1OWZlN2RmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2hhaWt1L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L2hhaWt1L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDExLTAzLTI0ICBTaGVyaWZm
IEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByODE5MTYgYW5kIHI4MTkxNy4KKyAgICAgICAgaHR0cDovL3RyYWMud2Vi
a2l0Lm9yZy9jaGFuZ2VzZXQvODE5MTYKKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9j
aGFuZ2VzZXQvODE5MTcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTU3MDcxCisKKyAgICAgICAgYnJva2UgYSB0ZXN0IG9uIHBsYXRmb3JtcyB0aGF0IGRv
IG5vdCBoYXZlIFF1aWNrVGltZSBpbnN0YWxsZWQKKyAgICAgICAgKFJlcXVlc3RlZCBieSBlc3Rl
cyBvbiAjd2Via2l0KS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xp
ZW50SGFpa3UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnRIYWlrdTo6
b2JqZWN0Q29udGVudFR5cGUpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVy
Q2xpZW50SGFpa3UuaDoKKwogMjAxMS0wMy0yNCAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5j
b20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2hhaWt1L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50SGFpa3UuY3Bw
IGIvU291cmNlL1dlYktpdC9oYWlrdS9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEhh
aWt1LmNwcAppbmRleCAyNGE5OGQ1NjM0Mjg2ZTdiNDQ5YzExMGIzZTFkYjUzYmE4NWUwZDBiLi44
YzQyMTMyN2RjMjZkNWY1NTI2MTVmY2MzNWEyYTc3MjEwNDA5NDM3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2hhaWt1L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50SGFpa3UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvaGFpa3UvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGll
bnRIYWlrdS5jcHAKQEAgLTEsNyArMSw3IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA2IERv
biBHaWJzb24gPGRnaWJzb243N0BnbWFpbC5jb20+CiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgWmFj
ayBSdXNpbiA8emFja0BrZGUub3JnPgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDExIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBD
b21wdXRlciwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAw
NyBUcm9sbHRlY2ggQVNBCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDcgUnlhbiBMZWF2ZW5nb29kIDxs
ZWF2ZW5nb29kQGdtYWlsLmNvbT4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAo
QykgMjAwOSBNYXhpbWUgU2ltb24gPHNpbW9uLm1heGltZUBnbWFpbC5jb20+IEFsbCByaWdodHMg
cmVzZXJ2ZWQuCkBAIC03NTQsNyArNzU0LDcgQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudEhhaWt1
Ojp0cmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKHVuc2lnbmVkIGxvbmcsIERvY3UKIHsK
IH0KIAotT2JqZWN0Q29udGVudFR5cGUgRnJhbWVMb2FkZXJDbGllbnRIYWlrdTo6b2JqZWN0Q29u
dGVudFR5cGUoY29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBib29sIHNo
b3VsZFByZWZlclBsdWdJbnNGb3JJbWFnZXMpCitPYmplY3RDb250ZW50VHlwZSBGcmFtZUxvYWRl
ckNsaWVudEhhaWt1OjpvYmplY3RDb250ZW50VHlwZShjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0
cmluZyYgbWltZVR5cGUpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKICAgICByZXR1cm4gT2Jq
ZWN0Q29udGVudFR5cGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvaGFpa3UvV2ViQ29y
ZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRIYWlrdS5oIGIvU291cmNlL1dlYktpdC9oYWlrdS9X
ZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEhhaWt1LmgKaW5kZXggZGJkMzA4NGNhNGNi
N2YyOWFlYjc2ZDI0NGZkZGQ5MzBlOTg5NzBiMi4uM2U5OTVhMTM5ZjkzMGMzMmNmNmJjNTA5ZWY2
M2Q2ZTg3N2U5ZWNhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9oYWlrdS9XZWJDb3JlU3Vw
cG9ydC9GcmFtZUxvYWRlckNsaWVudEhhaWt1LmgKKysrIGIvU291cmNlL1dlYktpdC9oYWlrdS9X
ZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEhhaWt1LmgKQEAgLTEsNiArMSw2IEBACiAv
KgogICogQ29weXJpZ2h0IChDKSAyMDA2IFphY2sgUnVzaW4gPHphY2tAa2RlLm9yZz4KLSAqIENv
cHlyaWdodCAoQykgMjAwNiwgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4gIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDcgUnlhbiBMZWF2ZW5nb29kIDxsZWF2ZW5nb29k
QGdtYWlsLmNvbT4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKgpAQCAtMjM5LDcgKzIzOSw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBLVVJMJiBiYXNlVVJMLCBjb25zdCBWZWN0
b3I8U3RyaW5nPiYgcGFyYW1OYW1lcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBWZWN0b3I8U3RyaW5nPiYgcGFyYW1WYWx1
ZXMpOwogCi0gICAgICAgIHZpcnR1YWwgT2JqZWN0Q29udGVudFR5cGUgb2JqZWN0Q29udGVudFR5
cGUoY29uc3QgS1VSTCYsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIGJvb2wgc2hvdWxkUHJlZmVy
UGx1Z0luc0ZvckltYWdlcyk7CisgICAgICAgIHZpcnR1YWwgT2JqZWN0Q29udGVudFR5cGUgb2Jq
ZWN0Q29udGVudFR5cGUoY29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlKTsK
ICAgICAgICAgdmlydHVhbCBTdHJpbmcgb3ZlcnJpZGVNZWRpYVR5cGUoKSBjb25zdDsKIAogICAg
ICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRDbGVhcldpbmRvd09iamVjdEluV29ybGQoRE9N
V3JhcHBlcldvcmxkKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggOGYxNTFhNjJiMTNmMzRjYTE4N2Yz
MWMwOGYzMDk4NjA4MGZkMDg4ZC4uNjdlNTAyMDRjNWE0MTBkMDQwMWZjY2E5OTIyNDg4OThjNDNm
ZmQ2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDExLTAzLTI0ICBTaGVy
aWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByODE5MTYgYW5kIHI4MTkxNy4KKyAgICAgICAgaHR0cDovL3RyYWMu
d2Via2l0Lm9yZy9jaGFuZ2VzZXQvODE5MTYKKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9y
Zy9jaGFuZ2VzZXQvODE5MTcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTU3MDcxCisKKyAgICAgICAgYnJva2UgYSB0ZXN0IG9uIHBsYXRmb3JtcyB0aGF0
IGRvIG5vdCBoYXZlIFF1aWNrVGltZSBpbnN0YWxsZWQKKyAgICAgICAgKFJlcXVlc3RlZCBieSBl
c3RlcyBvbiAjd2Via2l0KS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9h
ZGVyQ2xpZW50Lmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGll
bnQubW06CisgICAgICAgIChXZWJGcmFtZUxvYWRlckNsaWVudDo6b2JqZWN0Q29udGVudFR5cGUp
OgorCiAyMDExLTAzLTI0ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5oCmluZGV4IDRmZTU2NjRkZDYw
NTE2YzExODZlODU1ZGIyM2IzN2U1MjRkMzgzNjYuLmM0ODQ3MjkyNWE5MjI0ZjU5ODMyMmQzM2I3
MjIwMGFjNzM4MTVkNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBw
b3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29y
ZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAt
MjE2LDcgKzIxNiw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHNob3dNZWRpYVBsYXll
clByb3h5UGx1Z2luKFdlYkNvcmU6OldpZGdldCopOwogI2VuZGlmCiAgICAgCi0gICAgdmlydHVh
bCBXZWJDb3JlOjpPYmplY3RDb250ZW50VHlwZSBvYmplY3RDb250ZW50VHlwZShjb25zdCBXZWJD
b3JlOjpLVVJMJiwgY29uc3QgV1RGOjpTdHJpbmcmIG1pbWVUeXBlLCBib29sIHNob3VsZFByZWZl
clBsdWdJbnNGb3JJbWFnZXMpOworICAgIHZpcnR1YWwgV2ViQ29yZTo6T2JqZWN0Q29udGVudFR5
cGUgb2JqZWN0Q29udGVudFR5cGUoY29uc3QgV2ViQ29yZTo6S1VSTCYgdXJsLCBjb25zdCBXVEY6
OlN0cmluZyYgbWltZVR5cGUpOwogICAgIHZpcnR1YWwgV1RGOjpTdHJpbmcgb3ZlcnJpZGVNZWRp
YVR5cGUoKSBjb25zdDsKICAgICAKICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRDbGVhcldp
bmRvd09iamVjdEluV29ybGQoV2ViQ29yZTo6RE9NV3JhcHBlcldvcmxkKik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5t
bSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50
Lm1tCmluZGV4IDkyYzJiMDNiMWM5Y2YwYzhiYmVmMTExMTdhMDA4ZmRiOTM2M2UwYzAuLmE1NThk
ODM1NThjMDE1YTcwMzE2NjEzOWFjMGY0N2I5MDFhMDI3YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50Lm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50Lm1tCkBA
IC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCwgMjAw
OSwgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMDYsIDIwMDcsIDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0xNDU0LDcgKzE0NTQsNyBAQCB2b2lk
IFdlYkZyYW1lTG9hZGVyQ2xpZW50Ojp0cmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKHVu
c2lnbmVkIGxvbmcgaWRlbnRpZgogICAgIFtraXQob2xkUGFnZSkgX3JlbW92ZU9iamVjdEZvcklk
ZW50aWZpZXI6aWRlbnRpZmllcl07CiB9CiAKLU9iamVjdENvbnRlbnRUeXBlIFdlYkZyYW1lTG9h
ZGVyQ2xpZW50OjpvYmplY3RDb250ZW50VHlwZShjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0cmlu
ZyYgbWltZVR5cGUsIGJvb2wgc2hvdWxkUHJlZmVyUGx1Z0luc0ZvckltYWdlcykKK09iamVjdENv
bnRlbnRUeXBlIFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpvYmplY3RDb250ZW50VHlwZShjb25zdCBL
VVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUpCiB7CiAgICAgQkVHSU5fQkxPQ0tfT0JK
Q19FWENFUFRJT05TOwogCkBAIC0xNDkxLDI1ICsxNDkxLDE4IEBAIE9iamVjdENvbnRlbnRUeXBl
IFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpvYmplY3RDb250ZW50VHlwZShjb25zdCBLVVJMJiB1cmws
IGNvbnN0CiAgICAgaWYgKHR5cGUuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gT2JqZWN0Q29u
dGVudEZyYW1lOyAvLyBHbyBhaGVhZCBhbmQgaG9wZSB0aGF0IHdlIGNhbiBkaXNwbGF5IHRoZSBj
b250ZW50LgogCisgICAgaWYgKE1JTUVUeXBlUmVnaXN0cnk6OmlzU3VwcG9ydGVkSW1hZ2VNSU1F
VHlwZSh0eXBlKSkKKyAgICAgICAgcmV0dXJuIE9iamVjdENvbnRlbnRJbWFnZTsKKwogICAgIFdl
YkJhc2VQbHVnaW5QYWNrYWdlICpwYWNrYWdlID0gW2dldFdlYlZpZXcobV93ZWJGcmFtZS5nZXQo
KSkgX3BsdWdpbkZvck1JTUVUeXBlOnR5cGVdOwotICAgIE9iamVjdENvbnRlbnRUeXBlIHBsdWdJ
blR5cGUgPSBPYmplY3RDb250ZW50Tm9uZTsKICAgICBpZiAocGFja2FnZSkgewogI2lmIEVOQUJM
RShORVRTQ0FQRV9QTFVHSU5fQVBJKQogICAgICAgICBpZiAoW3BhY2thZ2UgaXNLaW5kT2ZDbGFz
czpbV2ViTmV0c2NhcGVQbHVnaW5QYWNrYWdlIGNsYXNzXV0pCi0gICAgICAgICAgICBwbHVnSW5U
eXBlID0gT2JqZWN0Q29udGVudE5ldHNjYXBlUGx1Z2luOwotICAgICAgICBlbHNlCisgICAgICAg
ICAgICByZXR1cm4gT2JqZWN0Q29udGVudE5ldHNjYXBlUGx1Z2luOwogI2VuZGlmCi0gICAgICAg
IHsKLSAgICAgICAgICAgIEFTU0VSVChbcGFja2FnZSBpc0tpbmRPZkNsYXNzOltXZWJQbHVnaW5Q
YWNrYWdlIGNsYXNzXV0pOwotICAgICAgICAgICAgcGx1Z0luVHlwZSA9IE9iamVjdENvbnRlbnRP
dGhlclBsdWdpbjsKLSAgICAgICAgfQorICAgICAgICBBU1NFUlQoW3BhY2thZ2UgaXNLaW5kT2ZD
bGFzczpbV2ViUGx1Z2luUGFja2FnZSBjbGFzc11dKTsKKyAgICAgICAgcmV0dXJuIE9iamVjdENv
bnRlbnRPdGhlclBsdWdpbjsKICAgICB9Ci0gICAgCi0gICAgaWYgKE1JTUVUeXBlUmVnaXN0cnk6
OmlzU3VwcG9ydGVkSW1hZ2VNSU1FVHlwZSh0eXBlKSkKLSAgICAgICAgcmV0dXJuIHNob3VsZFBy
ZWZlclBsdWdJbnNGb3JJbWFnZXMgJiYgcGx1Z0luVHlwZSAhPSBPYmplY3RDb250ZW50Tm9uZSA/
IHBsdWdJblR5cGUgOiBPYmplY3RDb250ZW50SW1hZ2U7Ci0KLSAgICBpZiAocGx1Z0luVHlwZSAh
PSBPYmplY3RDb250ZW50Tm9uZSkKLSAgICAgICAgcmV0dXJuIHBsdWdJblR5cGU7CiAKICAgICBp
ZiAoW21fd2ViRnJhbWUtPl9wcml2YXRlLT53ZWJGcmFtZVZpZXcgX3ZpZXdDbGFzc0Zvck1JTUVU
eXBlOnR5cGVdKQogICAgICAgICByZXR1cm4gT2JqZWN0Q29udGVudEZyYW1lOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxv
ZwppbmRleCBkYzI3N2JlODVkNGZiZmRmZmU0NWI2YWE5YjRmZjBkYjlhZjg0MWEwLi5iYmJlNmEx
MjdmNDFjODNhZDc0YjRjYmZhOTE3Njg0NjQwODA3NGY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L3F0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE3IEBACisyMDExLTAzLTI0ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdt
YWlsLmNvbT4KKworICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByODE5MTYgYW5kIHI4
MTkxNy4KKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvODE5MTYKKyAg
ICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvODE5MTcKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU3MDcxCisKKyAgICAgICAgYnJv
a2UgYSB0ZXN0IG9uIHBsYXRmb3JtcyB0aGF0IGRvIG5vdCBoYXZlIFF1aWNrVGltZSBpbnN0YWxs
ZWQKKyAgICAgICAgKFJlcXVlc3RlZCBieSBlc3RlcyBvbiAjd2Via2l0KS4KKworICAgICAgICAq
IFdlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RnJhbWVMb2FkZXJDbGllbnRRdDo6b2JqZWN0Q29udGVudFR5cGUpOgorICAgICAgICAqIFdl
YkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuaDoKKwogMjAxMS0wMy0yNCAgQW5keSBF
c3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRs
ZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9h
ZGVyQ2xpZW50UXQuY3BwIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxv
YWRlckNsaWVudFF0LmNwcAppbmRleCA0OGIwOTdkNTM3ZWE3OTRmYjUzYThmMmUzZThlMTY4NTcx
NjViNDZlLi5iOTQyMzkwM2ZlNjllNDJkYThkMzFlZWUxYTk1NTlmNmRlNmMxZTFmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGll
bnRRdC5jcHAKQEAgLTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA2IFphY2sg
UnVzaW4gPHphY2tAa2RlLm9yZz4KLSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAxMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUgQ29t
cHV0ZXIsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkg
Tm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCiAgKiBDb3B5cmln
aHQgKEMpIDIwMDggQ29sbGFib3JhIEx0ZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENveXBy
aWdodCAoQykgMjAwOCBIb2xnZXIgSGFucyBQZXRlciBGcmV5dGhlcgpAQCAtMTMxMiwxOCArMTMx
MiwxOCBAQCB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50UXQ6OnRyYW5zZmVyTG9hZGluZ1Jlc291cmNl
RnJvbVBhZ2UodW5zaWduZWQgbG9uZywgRG9jdW1lbgogewogfQogCi1PYmplY3RDb250ZW50VHlw
ZSBGcmFtZUxvYWRlckNsaWVudFF0OjpvYmplY3RDb250ZW50VHlwZShjb25zdCBLVVJMJiB1cmws
IGNvbnN0IFN0cmluZyYgbWltZVR5cGVJbiwgYm9vbCBzaG91bGRQcmVmZXJQbHVnSW5zRm9ySW1h
Z2VzKQorT2JqZWN0Q29udGVudFR5cGUgRnJhbWVMb2FkZXJDbGllbnRRdDo6b2JqZWN0Q29udGVu
dFR5cGUoY29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIF9taW1lVHlwZSkKIHsKLS8vICAg
IHFEZWJ1ZygpPDwiICsrKysrKysrKysrKysrKysgdXJsIGlzICI8PHVybC5wcmV0dHlVUkwoKTw8
IiwgbWltZSA9ICI8PG1pbWVUeXBlSW47CisvLyAgICBxRGVidWcoKTw8IiArKysrKysrKysrKysr
KysrIHVybCBpcyAiPDx1cmwucHJldHR5VVJMKCk8PCIsIG1pbWUgPSAiPDxfbWltZVR5cGU7CiAg
ICAgUUZpbGVJbmZvIGZpKHVybC5wYXRoKCkpOwogICAgIFN0cmluZyBleHRlbnNpb24gPSBmaS5z
dWZmaXgoKTsKLSAgICBpZiAobWltZVR5cGVJbiA9PSAiYXBwbGljYXRpb24veC1xdC1wbHVnaW4i
IHx8IG1pbWVUeXBlSW4gPT0gImFwcGxpY2F0aW9uL3gtcXQtc3R5bGVkLXdpZGdldCIpCisgICAg
aWYgKF9taW1lVHlwZSA9PSAiYXBwbGljYXRpb24veC1xdC1wbHVnaW4iIHx8IF9taW1lVHlwZSA9
PSAiYXBwbGljYXRpb24veC1xdC1zdHlsZWQtd2lkZ2V0IikKICAgICAgICAgcmV0dXJuIE9iamVj
dENvbnRlbnRPdGhlclBsdWdpbjsKIAotICAgIGlmICh1cmwuaXNFbXB0eSgpICYmICFtaW1lVHlw
ZUluLmxlbmd0aCgpKQorICAgIGlmICh1cmwuaXNFbXB0eSgpICYmICFfbWltZVR5cGUubGVuZ3Ro
KCkpCiAgICAgICAgIHJldHVybiBPYmplY3RDb250ZW50Tm9uZTsKIAotICAgIFN0cmluZyBtaW1l
VHlwZSA9IG1pbWVUeXBlSW47CisgICAgU3RyaW5nIG1pbWVUeXBlID0gX21pbWVUeXBlOwogICAg
IGlmICghbWltZVR5cGUubGVuZ3RoKCkpCiAgICAgICAgIG1pbWVUeXBlID0gTUlNRVR5cGVSZWdp
c3RyeTo6Z2V0TUlNRVR5cGVGb3JFeHRlbnNpb24oZXh0ZW5zaW9uKTsKIApAQCAtMTMzMywxNyAr
MTMzMywxNCBAQCBPYmplY3RDb250ZW50VHlwZSBGcmFtZUxvYWRlckNsaWVudFF0OjpvYmplY3RD
b250ZW50VHlwZShjb25zdCBLVVJMJiB1cmwsIGNvbnN0CiAgICAgaWYgKCFtaW1lVHlwZS5sZW5n
dGgoKSkKICAgICAgICAgcmV0dXJuIE9iamVjdENvbnRlbnRGcmFtZTsKIAotICAgIE9iamVjdENv
bnRlbnRUeXBlIHBsdWdJblR5cGUgPSBPYmplY3RDb250ZW50Tm9uZTsKLSAgICBpZiAoUGx1Z2lu
RGF0YWJhc2U6Omluc3RhbGxlZFBsdWdpbnMoKS0+aXNNSU1FVHlwZVJlZ2lzdGVyZWQobWltZVR5
cGUpKQotICAgICAgICBwbHVnSW5UeXBlID0gT2JqZWN0Q29udGVudE5ldHNjYXBlUGx1Z2luOwot
ICAgIGVsc2UgaWYgKG1fZnJhbWUtPnBhZ2UoKSAmJiBtX2ZyYW1lLT5wYWdlKCktPnBsdWdpbkRh
dGEoKSAmJiBtX2ZyYW1lLT5wYWdlKCktPnBsdWdpbkRhdGEoKS0+c3VwcG9ydHNNaW1lVHlwZSht
aW1lVHlwZSkpCi0gICAgICAgIHBsdWdJblR5cGUgPSBPYmplY3RDb250ZW50T3RoZXJQbHVnaW47
Ci0gICAgICAgIAogICAgIGlmIChNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBvcnRlZEltYWdlTUlN
RVR5cGUobWltZVR5cGUpKQotICAgICAgICByZXR1cm4gc2hvdWxkUHJlZmVyUGx1Z0luc0Zvcklt
YWdlcyAmJiBwbHVnSW5UeXBlICE9IE9iamVjdENvbnRlbnROb25lID8gcGx1Z0luVHlwZSA6IE9i
amVjdENvbnRlbnRJbWFnZTsKLSAgICAKLSAgICBpZiAocGx1Z0luVHlwZSAhPSBPYmplY3RDb250
ZW50Tm9uZSkKLSAgICAgICAgcmV0dXJuIHBsdWdJblR5cGU7CisgICAgICAgIHJldHVybiBPYmpl
Y3RDb250ZW50SW1hZ2U7CisKKyAgICBpZiAoUGx1Z2luRGF0YWJhc2U6Omluc3RhbGxlZFBsdWdp
bnMoKS0+aXNNSU1FVHlwZVJlZ2lzdGVyZWQobWltZVR5cGUpKQorICAgICAgICByZXR1cm4gT2Jq
ZWN0Q29udGVudE5ldHNjYXBlUGx1Z2luOworCisgICAgaWYgKG1fZnJhbWUtPnBhZ2UoKSAmJiBt
X2ZyYW1lLT5wYWdlKCktPnBsdWdpbkRhdGEoKSAmJiBtX2ZyYW1lLT5wYWdlKCktPnBsdWdpbkRh
dGEoKS0+c3VwcG9ydHNNaW1lVHlwZShtaW1lVHlwZSkpCisgICAgICAgIHJldHVybiBPYmplY3RD
b250ZW50T3RoZXJQbHVnaW47CiAKICAgICBpZiAoTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0
ZWROb25JbWFnZU1JTUVUeXBlKG1pbWVUeXBlKSkKICAgICAgICAgcmV0dXJuIE9iamVjdENvbnRl
bnRGcmFtZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnJh
bWVMb2FkZXJDbGllbnRRdC5oIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFt
ZUxvYWRlckNsaWVudFF0LmgKaW5kZXggZGI5NjRmYWJjNjVkZTQ3OWQwMzQ3YzMyMmI5MWUxNzY0
ZDEzNTExNC4uMDMzMzU5OWMzN2RkYjhmMzU5ODZiYTEyN2Y3OTg1NzljNzVlZGZhZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0
LmgKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVu
dFF0LmgKQEAgLTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA2IFphY2sgUnVz
aW4gPHphY2tAa2RlLm9yZz4KLSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAxMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUgQ29tcHV0
ZXIsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDggTm9r
aWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCiAgKiBDb3B5cmlnaHQg
KEMpIDIwMDggQ29sbGFib3JhIEx0ZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCkBAIC0yMTEs
NyArMjExLDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPFdpZGdldD4gY3Jl
YXRlSmF2YUFwcGxldFdpZGdldChjb25zdCBJbnRTaXplJiwgSFRNTEFwcGxldEVsZW1lbnQqLCBj
b25zdCBLVVJMJiBiYXNlVVJMLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgcGFyYW1OYW1lcywgY29u
c3QgVmVjdG9yPFN0cmluZz4mIHBhcmFtVmFsdWVzKTsKIAotICAgIHZpcnR1YWwgT2JqZWN0Q29u
dGVudFR5cGUgb2JqZWN0Q29udGVudFR5cGUoY29uc3QgS1VSTCYsIGNvbnN0IFN0cmluZyYgbWlt
ZVR5cGVJbiwgYm9vbCBzaG91bGRQcmVmZXJQbHVnSW5zRm9ySW1hZ2VzKTsKKyAgICB2aXJ0dWFs
IE9iamVjdENvbnRlbnRUeXBlIG9iamVjdENvbnRlbnRUeXBlKGNvbnN0IEtVUkwmIHVybCwgY29u
c3QgU3RyaW5nJiBtaW1lVHlwZSk7CiAgICAgdmlydHVhbCBTdHJpbmcgb3ZlcnJpZGVNZWRpYVR5
cGUoKSBjb25zdDsKIAogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZENsZWFyV2luZG93T2Jq
ZWN0SW5Xb3JsZChET01XcmFwcGVyV29ybGQqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
d2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCBjMTk0YTQ3
ZjQwMjBjMmRlMTY1OGQ2NDU4MWQ5ODY2MGI4MmIyOGJlLi44MjRhMGU3MGM5NDQ3YjNkNDIzYTg3
NjZiMjkwYTAyNzA1MjFiZjQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIw
MTEtMDMtMjQgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgorCisg
ICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI4MTkxNiBhbmQgcjgxOTE3LgorICAgICAg
ICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC84MTkxNgorICAgICAgICBodHRwOi8v
dHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC84MTkxNworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTcwNzEKKworICAgICAgICBicm9rZSBhIHRlc3Qgb24g
cGxhdGZvcm1zIHRoYXQgZG8gbm90IGhhdmUgUXVpY2tUaW1lIGluc3RhbGxlZAorICAgICAgICAo
UmVxdWVzdGVkIGJ5IGVzdGVzIG9uICN3ZWJraXQpLgorCisgICAgICAgICogV2ViRnJhbWUuY3Bw
OgorICAgICAgICAoV2ViRnJhbWU6Om9iamVjdENvbnRlbnRUeXBlKToKKyAgICAgICAgKiBXZWJG
cmFtZS5oOgorCiAyMDExLTAzLTI0ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvd2luL1dlYkZyYW1lLmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkZyYW1lLmNwcAppbmRl
eCBhYjkwOGU1NmYxYThmZWRkMjA5ZjI5NDdiYzQ5NmFiMzU4YWM3MTA2Li5lNDEyNTQzOTM5OWZl
M2Y4NzAzYzZjZmNlYjliZDA1YmNkZDQxOWJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dp
bi9XZWJGcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViRnJhbWUuY3BwCkBAIC0x
LDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSwg
MjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MDYsIDIwMDcsIDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICog
Q29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZCAyMDA5LiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAtMTg5OSw5ICsxODk5LDkgQEAgUGFzc1Jl
ZlB0cjxXaWRnZXQ+IFdlYkZyYW1lOjpjcmVhdGVKYXZhQXBwbGV0V2lkZ2V0KGNvbnN0IEludFNp
emUmIHBsdWdpblNpemUsIEgKICAgICByZXR1cm4gcGx1Z2luVmlldzsKIH0KIAotT2JqZWN0Q29u
dGVudFR5cGUgV2ViRnJhbWU6Om9iamVjdENvbnRlbnRUeXBlKGNvbnN0IEtVUkwmIHVybCwgY29u
c3QgU3RyaW5nJiBtaW1lVHlwZSwgYm9vbCBzaG91bGRQcmVmZXJQbHVnSW5zRm9ySW1hZ2VzKQor
T2JqZWN0Q29udGVudFR5cGUgV2ViRnJhbWU6Om9iamVjdENvbnRlbnRUeXBlKGNvbnN0IEtVUkwm
IHVybCwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSkKIHsKLSAgICByZXR1cm4gV2ViQ29yZTo6RnJh
bWVMb2FkZXI6OmRlZmF1bHRPYmplY3RDb250ZW50VHlwZSh1cmwsIG1pbWVUeXBlLCBzaG91bGRQ
cmVmZXJQbHVnSW5zRm9ySW1hZ2VzKTsKKyAgICByZXR1cm4gV2ViQ29yZTo6RnJhbWVMb2FkZXI6
OmRlZmF1bHRPYmplY3RDb250ZW50VHlwZSh1cmwsIG1pbWVUeXBlKTsKIH0KIAogU3RyaW5nIFdl
YkZyYW1lOjpvdmVycmlkZU1lZGlhVHlwZSgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L3dpbi9XZWJGcmFtZS5oIGIvU291cmNlL1dlYktpdC93aW4vV2ViRnJhbWUuaAppbmRleCA1
MTEyZjY5MTgyM2YxMjIxM2M4ZGE0NjQxYjViZjRmYmNhOGE0ZjgyLi41OWMwYWVjNDA3YmZiMjRk
ODk1MjFhYjZkOTAwMmIxODU0ZGEwODE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9X
ZWJGcmFtZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkZyYW1lLmgKQEAgLTEsNSArMSw1
IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDExIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNyBBcHBsZSBJbmMu
ICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBA
IC0zNDEsNyArMzQxLDcgQEAgcHVibGljOgogICAgICAgICAKICAgICB2aXJ0dWFsIFBhc3NSZWZQ
dHI8V2ViQ29yZTo6V2lkZ2V0PiBjcmVhdGVKYXZhQXBwbGV0V2lkZ2V0KGNvbnN0IFdlYkNvcmU6
OkludFNpemUmLCBXZWJDb3JlOjpIVE1MQXBwbGV0RWxlbWVudCosIGNvbnN0IFdlYkNvcmU6OktV
UkwmIGJhc2VVUkwsIGNvbnN0IFZlY3RvcjxXVEY6OlN0cmluZz4mIHBhcmFtTmFtZXMsIGNvbnN0
IFZlY3RvcjxXVEY6OlN0cmluZz4mIHBhcmFtVmFsdWVzKTsKIAotICAgIHZpcnR1YWwgV2ViQ29y
ZTo6T2JqZWN0Q29udGVudFR5cGUgb2JqZWN0Q29udGVudFR5cGUoY29uc3QgV2ViQ29yZTo6S1VS
TCYsIGNvbnN0IFdURjo6U3RyaW5nJiBtaW1lVHlwZSwgYm9vbCBzaG91bGRQcmVmZXJQbHVnSW5z
Rm9ySW1hZ2VzKTsKKyAgICB2aXJ0dWFsIFdlYkNvcmU6Ok9iamVjdENvbnRlbnRUeXBlIG9iamVj
dENvbnRlbnRUeXBlKGNvbnN0IFdlYkNvcmU6OktVUkwmIHVybCwgY29uc3QgV1RGOjpTdHJpbmcm
IG1pbWVUeXBlKTsKICAgICB2aXJ0dWFsIFdURjo6U3RyaW5nIG92ZXJyaWRlTWVkaWFUeXBlKCkg
Y29uc3Q7CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRDbGVhcldpbmRvd09iamVjdElu
V29ybGQoV2ViQ29yZTo6RE9NV3JhcHBlcldvcmxkKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L3dpbmNlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9nCmluZGV4
IDU3ZTg5MTU4ODU3ODE5MGExODQwMzNiNTZiOGZkZWJlOWExNjNlNTEuLmFkMGQ0NmRiMWZjYWI3
ZjEzMDI5NjYxYzBjYjQ1YWU2NDI0ZTM5NmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2lu
Y2UvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTcgQEAKKzIwMTEtMDMtMjQgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21h
aWwuY29tPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI4MTkxNiBhbmQgcjgx
OTE3LgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC84MTkxNgorICAg
ICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC84MTkxNworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTcwNzEKKworICAgICAgICBicm9r
ZSBhIHRlc3Qgb24gcGxhdGZvcm1zIHRoYXQgZG8gbm90IGhhdmUgUXVpY2tUaW1lIGluc3RhbGxl
ZAorICAgICAgICAoUmVxdWVzdGVkIGJ5IGVzdGVzIG9uICN3ZWJraXQpLgorCisgICAgICAgICog
V2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRXaW5DRS5jcHA6CisgICAgICAgIChXZWJL
aXQ6OkZyYW1lTG9hZGVyQ2xpZW50V2luQ0U6Om9iamVjdENvbnRlbnRUeXBlKToKKyAgICAgICAg
KiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFdpbkNFLmg6CisKIDIwMTEtMDMtMjQg
IEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERh
cmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9y
dC9GcmFtZUxvYWRlckNsaWVudFdpbkNFLmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29y
ZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRXaW5DRS5jcHAKaW5kZXggMWY4YmRkOWYzNjE5ZmEx
NWJlZDcwZjhiYmNlNzBjZmMzYTUwNTAwYi4uM2ZiZWQyYjRmOGNjNGI5OWM1M2NlZTQ1ZTAwNjIw
N2Y0NzNlZTE4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9y
dC9GcmFtZUxvYWRlckNsaWVudFdpbkNFLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dl
YkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50V2luQ0UuY3BwCkBAIC0xLDYgKzEsNSBAQAog
LyoKICAqIENvcHlyaWdodCAoQykgMjAxMCBQYXRyaWNrIEdhbnN0ZXJlciA8cGFyb2dhQHBhcm9n
YS5jb20+Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0xODMsOSArMTgyLDkgQEAg
UGFzc1JlZlB0cjxXaWRnZXQ+IEZyYW1lTG9hZGVyQ2xpZW50V2luQ0U6OmNyZWF0ZUphdmFBcHBs
ZXRXaWRnZXQoY29uc3QgSW50U2l6ZSYKICAgICByZXR1cm4gMDsKIH0KIAotT2JqZWN0Q29udGVu
dFR5cGUgRnJhbWVMb2FkZXJDbGllbnRXaW5DRTo6b2JqZWN0Q29udGVudFR5cGUoY29uc3QgS1VS
TCYgdXJsLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBib29sIHNob3VsZFByZWZlclBsdWdJbnNG
b3JJbWFnZXMpCitPYmplY3RDb250ZW50VHlwZSBGcmFtZUxvYWRlckNsaWVudFdpbkNFOjpvYmpl
Y3RDb250ZW50VHlwZShjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUpCiB7
Ci0gICAgcmV0dXJuIEZyYW1lTG9hZGVyOjpkZWZhdWx0T2JqZWN0Q29udGVudFR5cGUodXJsLCBt
aW1lVHlwZSwgc2hvdWxkUHJlZmVyUGx1Z0luc0ZvckltYWdlcyk7CisgICAgcmV0dXJuIEZyYW1l
TG9hZGVyOjpkZWZhdWx0T2JqZWN0Q29udGVudFR5cGUodXJsLCBtaW1lVHlwZSk7CiB9CiAKIFN0
cmluZyBGcmFtZUxvYWRlckNsaWVudFdpbkNFOjpvdmVycmlkZU1lZGlhVHlwZSgpIGNvbnN0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVy
Q2xpZW50V2luQ0UuaCBiL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvRnJhbWVM
b2FkZXJDbGllbnRXaW5DRS5oCmluZGV4IDQwMTIyNWQyMjllODY5M2M5ZTZhZDFiOWQ1ZTRmMTVm
N2MyYjlmYmUuLmNlM2E2MjA4NDg0MTVkMzU5ZGFkMzRlNzhlOTM3OTc2NmZiYTA1NjQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGll
bnRXaW5DRS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvRnJhbWVM
b2FkZXJDbGllbnRXaW5DRS5oCkBAIC0xLDYgKzEsNSBAQAogLyoKICAqIENvcHlyaWdodCAoQykg
MjAxMCBQYXRyaWNrIEdhbnN0ZXJlciA8cGFyb2dhQHBhcm9nYS5jb20+Ci0gKiBDb3B5cmlnaHQg
KEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCkBAIC0xMjEsNyArMTIwLDcgQEAgcHVibGljOgogCiAgICAgdmlydHVh
bCB2b2lkIHJlZ2lzdGVyRm9ySWNvbk5vdGlmaWNhdGlvbihib29sKTsKIAotICAgIHZpcnR1YWwg
V2ViQ29yZTo6T2JqZWN0Q29udGVudFR5cGUgb2JqZWN0Q29udGVudFR5cGUoY29uc3QgV2ViQ29y
ZTo6S1VSTCYsIGNvbnN0IFdURjo6U3RyaW5nJiBtaW1lVHlwZSwgYm9vbCBzaG91bGRQcmVmZXJQ
bHVnSW5zRm9ySW1hZ2VzKTsKKyAgICB2aXJ0dWFsIFdlYkNvcmU6Ok9iamVjdENvbnRlbnRUeXBl
IG9iamVjdENvbnRlbnRUeXBlKGNvbnN0IFdlYkNvcmU6OktVUkwmIHVybCwgY29uc3QgV1RGOjpT
dHJpbmcmIG1pbWVUeXBlKTsKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRNYWluRnJhbWVEb2N1bWVu
dFJlYWR5KGJvb2wpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3d4L0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvd3gvQ2hhbmdlTG9nCmluZGV4IDlhYTZmNTUxNmZjMmU2ZTlmODYzNzcz
M2MxNmI5ZTBmM2I3NWIwYjQuLjM1ZTVjOTM3ZjdjOTU1ZmNmMDBkMzEwMjY0NDRlYjI2YmQ2ZTA3
MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd3gvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvd3gvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDMtMjQgIFNoZXJpZmYg
Qm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3ZWQs
IHJvbGxpbmcgb3V0IHI4MTkxNiBhbmQgcjgxOTE3LgorICAgICAgICBodHRwOi8vdHJhYy53ZWJr
aXQub3JnL2NoYW5nZXNldC84MTkxNgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2No
YW5nZXNldC84MTkxNworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NTcwNzEKKworICAgICAgICBicm9rZSBhIHRlc3Qgb24gcGxhdGZvcm1zIHRoYXQgZG8g
bm90IGhhdmUgUXVpY2tUaW1lIGluc3RhbGxlZAorICAgICAgICAoUmVxdWVzdGVkIGJ5IGVzdGVz
IG9uICN3ZWJraXQpLgorCisgICAgICAgICogV2ViS2l0U3VwcG9ydC9GcmFtZUxvYWRlckNsaWVu
dFd4LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50V3g6Om9iamVjdENv
bnRlbnRUeXBlKToKKyAgICAgICAgKiBXZWJLaXRTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50V3gu
aDoKKwogMjAxMS0wMy0yNCAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3d4
L1dlYktpdFN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRXeC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3d4
L1dlYktpdFN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRXeC5jcHAKaW5kZXggYWZjMjU1Y2NhY2Y5
NGI3NGJkNDMyMjlkMzY2Y2NiYWNiMDE2ZjIwOC4uNjhlMWU3MGNiOWIzYjgwM2U3YWJkZmUzMTU3
NzA3Nzg2NWIxODMzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0
L0ZyYW1lTG9hZGVyQ2xpZW50V3guY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3Vw
cG9ydC9GcmFtZUxvYWRlckNsaWVudFd4LmNwcApAQCAtMSw2ICsxLDUgQEAKIC8qCiAgKiBDb3B5
cmlnaHQgKEMpIDIwMDcgS2V2aW4gT2xsaXZpZXIgPGtldmlub0B0aGVvbGxpdmllcnMuY29tPgot
ICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAq
CiAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKQEAgLTg3MSw3ICs4NzAsNyBAQCB2b2lkIEZy
YW1lTG9hZGVyQ2xpZW50V3g6OnRyYW5zZmVyTG9hZGluZ1Jlc291cmNlRnJvbVBhZ2UodW5zaWdu
ZWQgbG9uZywgRG9jdW1lbgogewogfQogCi1PYmplY3RDb250ZW50VHlwZSBGcmFtZUxvYWRlckNs
aWVudFd4OjpvYmplY3RDb250ZW50VHlwZShjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYg
bWltZVR5cGUsIGJvb2wgc2hvdWxkUHJlZmVyUGx1Z0luc0ZvckltYWdlcykKK09iamVjdENvbnRl
bnRUeXBlIEZyYW1lTG9hZGVyQ2xpZW50V3g6Om9iamVjdENvbnRlbnRUeXBlKGNvbnN0IEtVUkwm
IHVybCwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSkKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwog
ICAgIHJldHVybiBPYmplY3RDb250ZW50VHlwZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC93eC9XZWJLaXRTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50V3guaCBiL1NvdXJjZS9XZWJLaXQv
d3gvV2ViS2l0U3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFd4LmgKaW5kZXggMjU0Zjk1YzQyYzQy
Mjk0ZmNkZTI2OGU4NjBkZWNmYmUxZmVjYzc2YS4uOGYxZTY5ZTA4NjE3YzU3MTUzMTBiYmJhYTE0
MzBlNjdmZjI0YWY1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0
L0ZyYW1lTG9hZGVyQ2xpZW50V3guaAorKysgYi9Tb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBv
cnQvRnJhbWVMb2FkZXJDbGllbnRXeC5oCkBAIC0xLDYgKzEsNSBAQAogLyoKICAqIENvcHlyaWdo
dCAoQykgMjAwNyBLZXZpbiBPbGxpdmllciA8a2V2aW5vQHRoZW9sbGl2aWVycy5jb20+Ci0gKiBD
b3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAq
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgpAQCAtMjE4LDcgKzIxNyw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgCiAgICAgICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxXaWRnZXQ+IGNy
ZWF0ZUphdmFBcHBsZXRXaWRnZXQoY29uc3QgSW50U2l6ZSYsIEhUTUxBcHBsZXRFbGVtZW50Kiwg
Y29uc3QgS1VSTCYgYmFzZVVSTCwgY29uc3QgVmVjdG9yPFN0cmluZz4mIHBhcmFtTmFtZXMsIGNv
bnN0IFZlY3RvcjxTdHJpbmc+JiBwYXJhbVZhbHVlcyk7CiAKLSAgICAgICAgdmlydHVhbCBPYmpl
Y3RDb250ZW50VHlwZSBvYmplY3RDb250ZW50VHlwZShjb25zdCBLVVJMJiwgY29uc3QgU3RyaW5n
JiBtaW1lVHlwZSwgYm9vbCBzaG91bGRQcmVmZXJQbHVnSW5zRm9ySW1hZ2VzKTsKKyAgICAgICAg
dmlydHVhbCBPYmplY3RDb250ZW50VHlwZSBvYmplY3RDb250ZW50VHlwZShjb25zdCBLVVJMJiB1
cmwsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUpOwogICAgICAgICB2aXJ0dWFsIFN0cmluZyBvdmVy
cmlkZU1lZGlhVHlwZSgpIGNvbnN0OwogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERp
ZENsZWFyV2luZG93T2JqZWN0SW5Xb3JsZChET01XcmFwcGVyV29ybGQqKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRl
eCA4YTc4YzczNWE3ZmY3NzVlNzQzYjQ2OWE0ODkzZDUwMjVlZTcyY2FmLi42ZTM2Mjc4ZTdkMWY5
ZTA0NGM2MDJjZTY0YTJjZGY2NDJhZGMzYzE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAK
KzIwMTEtMDMtMjQgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgor
CisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI4MTkxNiBhbmQgcjgxOTE3LgorICAg
ICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC84MTkxNgorICAgICAgICBodHRw
Oi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC84MTkxNworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTcwNzEKKworICAgICAgICBicm9rZSBhIHRlc3Qg
b24gcGxhdGZvcm1zIHRoYXQgZG8gbm90IGhhdmUgUXVpY2tUaW1lIGluc3RhbGxlZAorICAgICAg
ICAoUmVxdWVzdGVkIGJ5IGVzdGVzIG9uICN3ZWJraXQpLgorCisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYkZyYW1lTG9hZGVyQ2xpZW50OjpvYmplY3RDb250ZW50VHlwZSk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5oOgorCiAyMDEx
LTAzLTI0ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKaW5k
ZXggY2I0ZjgxMzBmOGZiNjA0NDUwOGZhMGZkZTg5YTkzY2IzZTQyZGU3NC4uOGFlMTM2OTRiMjM3
NTI1M2IyYWRiYzc0NzQ0MzFkMWYxNWViODEwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNs
aWVudC5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDEx
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKQEAgLTEyNjgsNyArMTI2OCw3IEBAIHN0YXRpYyBib29sIHBsdWdpblN1cHBvcnRzRXh0
ZW5zaW9uKFBsdWdpbkRhdGEqIHBsdWdpbkRhdGEsIGNvbnN0IFN0cmluZyYgZXh0ZW5zCiAgICAg
cmV0dXJuIGZhbHNlOwogfQogCi1PYmplY3RDb250ZW50VHlwZSBXZWJGcmFtZUxvYWRlckNsaWVu
dDo6b2JqZWN0Q29udGVudFR5cGUoY29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIG1pbWVU
eXBlSW4sIGJvb2wgc2hvdWxkUHJlZmVyUGx1Z0luc0ZvckltYWdlcykKK09iamVjdENvbnRlbnRU
eXBlIFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpvYmplY3RDb250ZW50VHlwZShjb25zdCBLVVJMJiB1
cmwsIGNvbnN0IFN0cmluZyYgbWltZVR5cGVJbikKIHsKICAgICAvLyBGSVhNRTogVGhpcyBzaG91
bGQgYmUgbWVyZ2VkIHdpdGggV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmRlZmF1bHRPYmplY3RDb250
ZW50VHlwZSB3aGVuIHRoZSBwbHVnaW4gY29kZQogICAgIC8vIGlzIGNvbnNvbGlkYXRlZC4KQEAg
LTEyOTQsMTkgKzEyOTQsMTUgQEAgT2JqZWN0Q29udGVudFR5cGUgV2ViRnJhbWVMb2FkZXJDbGll
bnQ6Om9iamVjdENvbnRlbnRUeXBlKGNvbnN0IEtVUkwmIHVybCwgY29uc3QKICAgICBpZiAobWlt
ZVR5cGUuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gT2JqZWN0Q29udGVudEZyYW1lOwogCi0g
ICAgYm9vbCBwbHVnSW5TdXBwb3J0c01JTUVUeXBlID0gZmFsc2U7CisgICAgaWYgKE1JTUVUeXBl
UmVnaXN0cnk6OmlzU3VwcG9ydGVkSW1hZ2VNSU1FVHlwZShtaW1lVHlwZSkpCisgICAgICAgIHJl
dHVybiBXZWJDb3JlOjpPYmplY3RDb250ZW50SW1hZ2U7CisKICAgICBpZiAoV2ViUGFnZSogd2Vi
UGFnZSA9IG1fZnJhbWUtPnBhZ2UoKSkgewogICAgICAgICBpZiAoUGx1Z2luRGF0YSogcGx1Z2lu
RGF0YSA9IHdlYlBhZ2UtPmNvcmVQYWdlKCktPnBsdWdpbkRhdGEoKSkgewogICAgICAgICAgICAg
aWYgKHBsdWdpbkRhdGEtPnN1cHBvcnRzTWltZVR5cGUobWltZVR5cGUpKQotICAgICAgICAgICAg
ICAgIHBsdWdJblN1cHBvcnRzTUlNRVR5cGUgPSB0cnVlOworICAgICAgICAgICAgICAgIHJldHVy
biBPYmplY3RDb250ZW50TmV0c2NhcGVQbHVnaW47CiAgICAgICAgIH0KICAgICB9Ci0gICAgCi0g
ICAgaWYgKE1JTUVUeXBlUmVnaXN0cnk6OmlzU3VwcG9ydGVkSW1hZ2VNSU1FVHlwZShtaW1lVHlw
ZSkpCi0gICAgICAgIHJldHVybiBzaG91bGRQcmVmZXJQbHVnSW5zRm9ySW1hZ2VzICYmIHBsdWdJ
blN1cHBvcnRzTUlNRVR5cGUgPyBPYmplY3RDb250ZW50TmV0c2NhcGVQbHVnaW4gOiBPYmplY3RD
b250ZW50SW1hZ2U7Ci0KLSAgICBpZiAocGx1Z0luU3VwcG9ydHNNSU1FVHlwZSkKLSAgICAgICAg
cmV0dXJuIE9iamVjdENvbnRlbnROZXRzY2FwZVBsdWdpbjsKIAogICAgIGlmIChNSU1FVHlwZVJl
Z2lzdHJ5Ojppc1N1cHBvcnRlZE5vbkltYWdlTUlNRVR5cGUobWltZVR5cGUpKQogICAgICAgICBy
ZXR1cm4gT2JqZWN0Q29udGVudEZyYW1lOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5oIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5oCmlu
ZGV4IDE5NDg1NDE5MjA3MzEwMmQwZTdkZTcyODJiYTc0MDNkZjZhOTg1MWIuLjljYTlhNzViZjEx
YjAwNjdkZTdmZWZjOWMxNTA0MDYyYTVlMDNhMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xp
ZW50LmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDExIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKQEAgLTE5MSw3ICsxOTEsNyBAQCBwcml2YXRlOgogICAgIAogICAgIHZpcnR1YWwgUGFzc1Jl
ZlB0cjxXZWJDb3JlOjpXaWRnZXQ+IGNyZWF0ZUphdmFBcHBsZXRXaWRnZXQoY29uc3QgV2ViQ29y
ZTo6SW50U2l6ZSYsIFdlYkNvcmU6OkhUTUxBcHBsZXRFbGVtZW50KiwgY29uc3QgV2ViQ29yZTo6
S1VSTCYgYmFzZVVSTCwgY29uc3QgVmVjdG9yPFN0cmluZz4mIHBhcmFtTmFtZXMsIGNvbnN0IFZl
Y3RvcjxTdHJpbmc+JiBwYXJhbVZhbHVlcyk7CiAgICAgCi0gICAgdmlydHVhbCBXZWJDb3JlOjpP
YmplY3RDb250ZW50VHlwZSBvYmplY3RDb250ZW50VHlwZShjb25zdCBXZWJDb3JlOjpLVVJMJiwg
Y29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgYm9vbCBzaG91bGRQcmVmZXJQbHVnSW5zRm9ySW1hZ2Vz
KTsKKyAgICB2aXJ0dWFsIFdlYkNvcmU6Ok9iamVjdENvbnRlbnRUeXBlIG9iamVjdENvbnRlbnRU
eXBlKGNvbnN0IFdlYkNvcmU6OktVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSk7CiAg
ICAgdmlydHVhbCBTdHJpbmcgb3ZlcnJpZGVNZWRpYVR5cGUoKSBjb25zdDsKIAogICAgIHZpcnR1
YWwgdm9pZCBkaXNwYXRjaERpZENsZWFyV2luZG93T2JqZWN0SW5Xb3JsZChXZWJDb3JlOjpET01X
cmFwcGVyV29ybGQqKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>