<?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>100486</bug_id>
          
          <creation_ts>2012-10-26 02:44:44 -0700</creation_ts>
          <short_desc>REGRESSION(r132552): Makes typeahead tests crash in debug. (Requested by pfeldman on #webkit).</short_desc>
          <delta_ts>2012-10-26 03:00:47 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>100344</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>abarth</cc>
    
    <cc>jochen</cc>
    
    <cc>pfeldman</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>751739</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-26 02:44:44 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/132552 broke the build:
Makes typeahead tests crash in debug. (Requested by pfeldman 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>751741</commentid>
    <comment_count>1</comment_count>
      <attachid>170858</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-26 02:45:22 -0700</bug_when>
    <thetext>Created attachment 170858
ROLLOUT of r132552

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

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751742</commentid>
    <comment_count>2</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-10-26 02:45:58 -0700</bug_when>
    <thetext>crash log for DumpRenderTree (pid 31319):
STDOUT: &lt;empty&gt;
STDERR: SHOULD NEVER BE REACHED
STDERR: third_party/WebKit/Tools/DumpRenderTree/chromium/TestRunner/src/KeyCodeMapping.cpp(240) : int WebTestRunner::NativeKeyCodeForWindowsKeyCode(int)
STDERR: 1   0x504561
STDERR: 2   0x4ff5d9
STDERR: 3   0x504388
STDERR: 4   0x4e844c
STDERR: 5   0x4e7b2b
STDERR: 6   0x7f2f04a2bac7
STDERR: 7   0x7f2f04a2bc6e
STDERR: 8   0x7f2f018dc56e
STDERR: 9   0x7f2f018d71cd
STDERR: 10  0x7f2f018d719e
STDERR: 11  0x39d199a0618e
STDERR: [31319:31319:18706350811508:ERROR:process_util_posix.cc(144)] Received signal 11
STDERR: 	base::debug::StackTrace::StackTrace() [0x7f2f0145467e]
STDERR: 	base::(anonymous namespace)::StackDumpSignalHandler() [0x7f2f014c07e9]
STDERR: 	0x7f2efa34caf0
STDERR: 	WebTestRunner::NativeKeyCodeForWindowsKeyCode() [0x50456b]
STDERR: 	WebTestRunner::EventSender::keyDown() [0x4ff5d9]
STDERR: 	CppBoundClass::MemberCallback&lt;&gt;::run() [0x504388]
STDERR: 	CppBoundClass::invoke() [0x4e844c]
STDERR: 	CppNPObject::invoke() [0x4e7b2b]
STDERR: 	WebCore::npObjectInvokeImpl() [0x7f2f04a2bac7]
STDERR: 	WebCore::npObjectMethodHandler() [0x7f2f04a2bc6e]
STDERR: 	v8::internal::HandleApiCallHelper&lt;&gt;() [0x7f2f018dc56e]
STDERR: 	v8::internal::Builtin_Impl_HandleApiCall() [0x7f2f018d71cd]
STDERR: 	v8::internal::Builtin_HandleApiCall() [0x7f2f018d719e]
STDERR: 	0x39d199a0618e</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751756</commentid>
    <comment_count>3</comment_count>
      <attachid>170858</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-26 03:00:43 -0700</bug_when>
    <thetext>Comment on attachment 170858
ROLLOUT of r132552

Clearing flags on attachment: 170858

Committed r132597: &lt;http://trac.webkit.org/changeset/132597&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751757</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-26 03:00:47 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170858</attachid>
            <date>2012-10-26 02:45:22 -0700</date>
            <delta_ts>2012-10-26 03:00:43 -0700</delta_ts>
            <desc>ROLLOUT of r132552</desc>
            <filename>bug-100486-20121026095147.patch</filename>
            <type>text/plain</type>
            <size>33881</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyNTk1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNjlhOTJjZWZjOTQ0NzIxODQxOWVjYjViMTI3ZjllZjEw
M2M0OWZmMi4uMDg1MDc1Yzk3ZDMxY2YzOWNkNTk2ZjYxNWFjMWE3MjllZjcwYTEwNiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3
IEBACisyMDEyLTEwLTI2ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNv
bT4KKworICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTMyNTUyLgorICAgICAgICBo
dHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xMzI1NTIKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDQ4NgorCisgICAgICAgIE1ha2VzIHR5
cGVhaGVhZCB0ZXN0cyBjcmFzaCBpbiBkZWJ1Zy4gKFJlcXVlc3RlZCBieSBwZmVsZG1hbgorICAg
ICAgICBvbiAjd2Via2l0KS4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJU
cmVlLmd5cGk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJUVGVzdFJ1bm5l
ci5oOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvcHVibGlj
L1dlYlRlc3REZWxlZ2F0ZS5oOgorICAgICAgICAoV2ViVGVzdERlbGVnYXRlKToKKyAgICAgICAg
KiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVyL3NyYy9DcHBWYXJpYW50Lmg6Cisg
ICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9zcmMvRXZlbnRTZW5k
ZXIuY3BwOgorICAgICAgICAoV2ViVGVzdFJ1bm5lcik6CisgICAgICAgIChXZWJUZXN0UnVubmVy
OjpFdmVudFNlbmRlcjo6ZG9EcmFnRHJvcCk6CisgICAgICAgIChXZWJUZXN0UnVubmVyOjpFdmVu
dFNlbmRlcjo6dXBkYXRlQ2xpY2tDb3VudEZvckJ1dHRvbik6CisgICAgICAgIChXZWJUZXN0UnVu
bmVyOjpFdmVudFNlbmRlcjo6bW91c2VEb3duKToKKyAgICAgICAgKFdlYlRlc3RSdW5uZXI6OkV2
ZW50U2VuZGVyOjptb3VzZVVwKToKKyAgICAgICAgKFdlYlRlc3RSdW5uZXI6OkV2ZW50U2VuZGVy
Ojptb3VzZU1vdmVUbyk6CisgICAgICAgIChXZWJUZXN0UnVubmVyOjpFdmVudFNlbmRlcjo6a2V5
RG93bik6CisgICAgICAgIChXZWJUZXN0UnVubmVyOjpFdmVudFNlbmRlcjo6cmVwbGF5U2F2ZWRF
dmVudHMpOgorICAgICAgICAoV2ViVGVzdFJ1bm5lcjo6RXZlbnRTZW5kZXI6OmNvbnRleHRDbGlj
ayk6CisgICAgICAgIChXZWJUZXN0UnVubmVyOjpFdmVudFNlbmRlcjo6YmVnaW5EcmFnV2l0aEZp
bGVzKToKKyAgICAgICAgKFdlYlRlc3RSdW5uZXI6OkV2ZW50U2VuZGVyOjpzZW5kQ3VycmVudFRv
dWNoRXZlbnQpOgorICAgICAgICAoV2ViVGVzdFJ1bm5lcjo6RXZlbnRTZW5kZXI6OmhhbmRsZU1v
dXNlV2hlZWwpOgorICAgICAgICAoV2ViVGVzdFJ1bm5lcjo6RXZlbnRTZW5kZXI6Omdlc3R1cmVF
dmVudCk6CisgICAgICAgIChXZWJUZXN0UnVubmVyOjpFdmVudFNlbmRlcjo6Z2VzdHVyZUZsaW5n
Q2FuY2VsKToKKyAgICAgICAgKFdlYlRlc3RSdW5uZXI6OkV2ZW50U2VuZGVyOjpnZXN0dXJlRmxp
bmdTdGFydCk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9z
cmMvS2V5Q29kZU1hcHBpbmcuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIER1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1Rlc3RSdW5uZXIvc3JjL0tleUNvZGVNYXBwaW5nLmg6IFJlbW92ZWQuCisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9zcmMvVGVzdERlbGVnYXRl
Lmg6CisgICAgICAgIChUZXN0RGVsZWdhdGUpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2No
cm9taXVtL1Rlc3RSdW5uZXIvc3JjL1Rlc3RSdW5uZXIuY3BwOgorICAgICAgICAqIER1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvc3JjL1Rlc3RSdW5uZXIuaDoKKyAgICAgICAgKFdl
YktpdCk6CisgICAgICAgICh3ZWJraXRfc3VwcG9ydCk6CisgICAgICAgICogRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9zcmMvV2ViVGVzdEludGVyZmFjZXMuY3BwOgorICAgICAg
ICAoV2ViVGVzdEludGVyZmFjZXM6OkludGVybmFsKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHA6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vV2ViVmlld0hvc3QuaDoKKyAgICAgICAgKFdlYlZpZXdIb3N0KToKKwogMjAxMi0xMC0y
NiAgWGlhb2JvIFdhbmcgIDx4YndhbmdAdG9yY2htb2JpbGUuY29tLmNuPgogCiAgICAgICAgIFtC
bGFja0JlcnJ5XSBTdXBwb3J0IHBpeGVsIHRlc3RzIGZvciBCbGFja0JlcnJ5IERSVApkaWZmIC0t
Z2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUuZ3lwaSBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLmd5cGkKaW5kZXggOTkxNzMyOGE2YTFiZjhhMDY5
YTlhZjlmZDUyZDg4YmY0OGQzNmM2ZS4uMjY3MjJlY2U3Mjk2ZWVlZjhiMWM4ZmYzODBmNmM4NGE2
ZTQ4MGVlMCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUu
Z3lwaQorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS5neXBpCkBAIC04
Myw4ICs4Myw2IEBACiAgICAgICAgICAgICAnY2hyb21pdW0vVGVzdFJ1bm5lci9zcmMvRXZlbnRT
ZW5kZXIuaCcsCiAgICAgICAgICAgICAnY2hyb21pdW0vVGVzdFJ1bm5lci9zcmMvR2FtZXBhZENv
bnRyb2xsZXIuY3BwJywKICAgICAgICAgICAgICdjaHJvbWl1bS9UZXN0UnVubmVyL3NyYy9HYW1l
cGFkQ29udHJvbGxlci5oJywKLSAgICAgICAgICAgICdjaHJvbWl1bS9UZXN0UnVubmVyL3NyYy9L
ZXlDb2RlTWFwcGluZy5jcHAnLAotICAgICAgICAgICAgJ2Nocm9taXVtL1Rlc3RSdW5uZXIvc3Jj
L0tleUNvZGVNYXBwaW5nLmgnLAogICAgICAgICAgICAgJ2Nocm9taXVtL1Rlc3RSdW5uZXIvc3Jj
L1Rlc3RJbnRlcmZhY2VzLmNwcCcsCiAgICAgICAgICAgICAnY2hyb21pdW0vVGVzdFJ1bm5lci9z
cmMvVGVzdEludGVyZmFjZXMuaCcsCiAgICAgICAgICAgICAnY2hyb21pdW0vVGVzdFJ1bm5lci9z
cmMvVGV4dElucHV0Q29udHJvbGxlci5jcHAnLApkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vRFJUVGVzdFJ1bm5lci5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vRFJUVGVzdFJ1bm5lci5oCmluZGV4IGNjZGZjNDM5NGRmNmRkYzllMDRiZjE1M2Y1OTU3
MDdjMWI3NmYwYjEuLmVjNDc3OGZkNWM0NmY4ZjMyODc1OGExNTdhMzI4MjE0NTRiNWIyMjEgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVFRlc3RSdW5uZXIuaAor
KysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlRUZXN0UnVubmVyLmgKQEAgLTQz
LDIzICs0Myw3IEBACiAjZGVmaW5lIERSVFRlc3RSdW5uZXJfaAogCiAjaW5jbHVkZSAiVGVzdFJ1
bm5lci9zcmMvVGVzdFJ1bm5lci5oIgotI2luY2x1ZGUgIldlYkRlbGl2ZXJlZEludGVudENsaWVu
dC5oIgogI2luY2x1ZGUgIldlYlRhc2suaCIKLSNpbmNsdWRlICJXZWJUZXh0RGlyZWN0aW9uLmgi
Ci0jaW5jbHVkZSAicGxhdGZvcm0vV2ViQXJyYXlCdWZmZXJWaWV3LmgiCi0jaW5jbHVkZSAicGxh
dGZvcm0vV2ViU3RyaW5nLmgiCi0jaW5jbHVkZSAicGxhdGZvcm0vV2ViVVJMLmgiCi0jaW5jbHVk
ZSA8d3RmL0RlcXVlLmg+Ci0jaW5jbHVkZSA8d3RmL093blB0ci5oPgotCi1uYW1lc3BhY2UgV2Vi
S2l0IHsKLWNsYXNzIFdlYkdlb2xvY2F0aW9uQ2xpZW50TW9jazsKLX0KLQotbmFtZXNwYWNlIHdl
YmtpdF9zdXBwb3J0IHsKLWNsYXNzIFNjb3BlZFRlbXBEaXJlY3Rvcnk7Ci19Ci0KIAogY2xhc3Mg
VGVzdFNoZWxsOwogCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9U
ZXN0UnVubmVyL3B1YmxpYy9XZWJUZXN0RGVsZWdhdGUuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1Rlc3RSdW5uZXIvcHVibGljL1dlYlRlc3REZWxlZ2F0ZS5oCmluZGV4IGFiNDdk
NGY5ZGNlYTZkN2VjOTE4YmRkMWUyZWY0ZGVmMmM1ODJlMGUuLjZlMjE4ODEwN2JhOTc0NWJlNmQ5
NTMzODkyZTRhNzRmN2YzZTYwMDUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL1Rlc3RSdW5uZXIvcHVibGljL1dlYlRlc3REZWxlZ2F0ZS5oCisrKyBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvcHVibGljL1dlYlRlc3REZWxlZ2F0ZS5o
CkBAIC01OSw4ICs1OSw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgcG9zdERlbGF5ZWRU
YXNrKFdlYlRhc2sqLCBsb25nIGxvbmcgbXMpID0gMDsKIAogICAgIHZpcnR1YWwgV2ViS2l0OjpX
ZWJTdHJpbmcgcmVnaXN0ZXJJc29sYXRlZEZpbGVTeXN0ZW0oY29uc3QgV2ViS2l0OjpXZWJWZWN0
b3I8V2ViS2l0OjpXZWJTdHJpbmc+JiBhYnNvbHV0ZUZpbGVuYW1lcykgPSAwOwotICAgIHZpcnR1
YWwgbG9uZyBsb25nIGdldEN1cnJlbnRUaW1lSW5NaWxsaXNlY29uZCgpID0gMDsKLSAgICB2aXJ0
dWFsIFdlYktpdDo6V2ViU3RyaW5nIGdldEFic29sdXRlV2ViU3RyaW5nRnJvbVVURjhQYXRoKGNv
bnN0IHN0ZDo6c3RyaW5nJiBwYXRoKSA9IDA7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Ub29scy9E
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVyL3NyYy9DcHBWYXJpYW50LmggYi9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVyL3NyYy9DcHBWYXJpYW50LmgKaW5k
ZXggNDdmZDQ2NmFmZjMyZDc5Y2VjYjQ3MDY2YTczYjdhNWVjNWNjMDBiOS4uNjBjYzYyNzFlY2Zh
ZDllZDY4YmRlNDI4ODUxNTM4NDI2ZDZiODQwMyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9zcmMvQ3BwVmFyaWFudC5oCisrKyBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvc3JjL0NwcFZhcmlhbnQuaApAQCAtNDMs
NiArNDMsNyBAQAogI2RlZmluZSBDcHBWYXJpYW50X2gKIAogI2luY2x1ZGUgIldlYkJpbmRpbmdz
LmgiCisjaW5jbHVkZSAid2Via2l0L3N1cHBvcnQvd2Via2l0X3N1cHBvcnQuaCIKICNpbmNsdWRl
IDxzdHJpbmc+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCmRpZmYgLS1naXQgYS9Ub29scy9E
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVyL3NyYy9FdmVudFNlbmRlci5jcHAgYi9U
b29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVyL3NyYy9FdmVudFNlbmRlci5j
cHAKaW5kZXggMmEzMDBhODAwZmI4NzllOTEyNjQzMDgyYWQ0NWQwY2U3ZDBiOWYxMy4uMmY0YTA1
NTRjNWMzNmQzZWZiNjkwZjQ3ZThjMmY4OTNjYmZhZjkzZSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9zcmMvRXZlbnRTZW5kZXIuY3BwCisrKyBi
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvc3JjL0V2ZW50U2VuZGVy
LmNwcApAQCAtNDMsMTcgKzQzLDE2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAi
RXZlbnRTZW5kZXIuaCIKIAotI2luY2x1ZGUgIktleUNvZGVNYXBwaW5nLmgiCiAjaW5jbHVkZSAi
VGVzdERlbGVnYXRlLmgiCiAjaW5jbHVkZSAiV2ViQ29udGV4dE1lbnVEYXRhLmgiCiAjaW5jbHVk
ZSAiV2ViRHJhZ09wZXJhdGlvbi5oIgotI2luY2x1ZGUgIldlYkV2ZW50U2VuZGVyLmgiCiAjaW5j
bHVkZSAiV2ViVG91Y2hQb2ludC5oIgogI2luY2x1ZGUgIldlYlZpZXcuaCIKICNpbmNsdWRlICJw
bGF0Zm9ybS9XZWJEcmFnRGF0YS5oIgogI2luY2x1ZGUgInBsYXRmb3JtL1dlYlBvaW50LmgiCiAj
aW5jbHVkZSAicGxhdGZvcm0vV2ViU3RyaW5nLmgiCiAjaW5jbHVkZSAicGxhdGZvcm0vV2ViVmVj
dG9yLmgiCisjaW5jbHVkZSAid2Via2l0L3N1cHBvcnQvd2Via2l0X3N1cHBvcnQuaCIKICNpbmNs
dWRlIDx3dGYvRGVxdWUuaD4KICNpbmNsdWRlIDx3dGYvU3RyaW5nRXh0cmFzLmg+CiAKQEAgLTEy
Niw5ICsxMjUsOSBAQCBpbmxpbmUgYm9vbCBvdXRzaWRlTXVsdGlDbGlja1JhZGl1cyhjb25zdCBX
ZWJQb2ludCYgYSwgY29uc3QgV2ViUG9pbnQmIGIpCiAvLyBkZXBlbmRlbnQgKGUuZy4sIGRyYWdn
aW5nIGhhcyBhIHRpbWVvdXQgdnMgc2VsZWN0aW9uKS4KIHVpbnQzMiB0aW1lT2Zmc2V0TXMgPSAw
OwogCi1kb3VibGUgZ2V0Q3VycmVudEV2ZW50VGltZVNlYyhUZXN0RGVsZWdhdGUqIGRlbGVnYXRl
KQorZG91YmxlIGdldEN1cnJlbnRFdmVudFRpbWVTZWMoKQogewotICAgIHJldHVybiAoZGVsZWdh
dGUtPmdldEN1cnJlbnRUaW1lSW5NaWxsaXNlY29uZCgpICsgdGltZU9mZnNldE1zKSAvIDEwMDAu
MDsKKyAgICByZXR1cm4gKHdlYmtpdF9zdXBwb3J0OjpHZXRDdXJyZW50VGltZUluTWlsbGlzZWNv
bmQoKSArIHRpbWVPZmZzZXRNcykgLyAxMDAwLjA7CiB9CiAKIHZvaWQgYWR2YW5jZUV2ZW50VGlt
ZShpbnQzMl90IGRlbHRhTXMpCkBAIC0xMzYsNyArMTM1LDcgQEAgdm9pZCBhZHZhbmNlRXZlbnRU
aW1lKGludDMyX3QgZGVsdGFNcykKICAgICB0aW1lT2Zmc2V0TXMgKz0gZGVsdGFNczsKIH0KIAot
dm9pZCBpbml0TW91c2VFdmVudChXZWJJbnB1dEV2ZW50OjpUeXBlIHQsIFdlYk1vdXNlRXZlbnQ6
OkJ1dHRvbiBiLCBjb25zdCBXZWJQb2ludCYgcG9zLCBXZWJNb3VzZUV2ZW50KiBlLCBkb3VibGUg
dHMpCit2b2lkIGluaXRNb3VzZUV2ZW50KFdlYklucHV0RXZlbnQ6OlR5cGUgdCwgV2ViTW91c2VF
dmVudDo6QnV0dG9uIGIsIGNvbnN0IFdlYlBvaW50JiBwb3MsIFdlYk1vdXNlRXZlbnQqIGUpCiB7
CiAgICAgZS0+dHlwZSA9IHQ7CiAgICAgZS0+YnV0dG9uID0gYjsKQEAgLTE0NSw3ICsxNDQsNyBA
QCB2b2lkIGluaXRNb3VzZUV2ZW50KFdlYklucHV0RXZlbnQ6OlR5cGUgdCwgV2ViTW91c2VFdmVu
dDo6QnV0dG9uIGIsIGNvbnN0IFdlYlBvaQogICAgIGUtPnkgPSBwb3MueTsKICAgICBlLT5nbG9i
YWxYID0gcG9zLng7CiAgICAgZS0+Z2xvYmFsWSA9IHBvcy55OwotICAgIGUtPnRpbWVTdGFtcFNl
Y29uZHMgPSB0czsKKyAgICBlLT50aW1lU3RhbXBTZWNvbmRzID0gZ2V0Q3VycmVudEV2ZW50VGlt
ZVNlYygpOwogICAgIGUtPmNsaWNrQ291bnQgPSBjbGlja0NvdW50OwogfQogCkBAIC0yMTUsMTYg
KzIxNCwxNiBAQCBib29sIGdldEVkaXRDb21tYW5kKGNvbnN0IFdlYktleWJvYXJkRXZlbnQmIGV2
ZW50LCBzdHJpbmcqIG5hbWUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIHN3aXRjaCAo
ZXZlbnQud2luZG93c0tleUNvZGUpIHsKLSAgICBjYXNlIFZLRVlfTEVGVDoKKyAgICBjYXNlIHdl
YmtpdF9zdXBwb3J0OjpWS0VZX0xFRlQ6CiAgICAgICAgICpuYW1lID0gIk1vdmVUb0JlZ2lubmlu
Z09mTGluZSI7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgVktFWV9SSUdIVDoKKyAgICBjYXNl
IHdlYmtpdF9zdXBwb3J0OjpWS0VZX1JJR0hUOgogICAgICAgICAqbmFtZSA9ICJNb3ZlVG9FbmRP
ZkxpbmUiOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIFZLRVlfVVA6CisgICAgY2FzZSB3ZWJr
aXRfc3VwcG9ydDo6VktFWV9VUDoKICAgICAgICAgKm5hbWUgPSAiTW92ZVRvQmVnaW5uaW5nT2ZE
b2N1bWVudCI7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgVktFWV9ET1dOOgorICAgIGNhc2Ug
d2Via2l0X3N1cHBvcnQ6OlZLRVlfRE9XTjoKICAgICAgICAgKm5hbWUgPSAiTW92ZVRvRW5kT2ZE
b2N1bWVudCI7CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CkBAIC0zNTAsNyArMzQ5LDcg
QEAgdm9pZCBFdmVudFNlbmRlcjo6cmVzZXQoKQogdm9pZCBFdmVudFNlbmRlcjo6ZG9EcmFnRHJv
cChjb25zdCBXZWJEcmFnRGF0YSYgZHJhZ0RhdGEsIFdlYkRyYWdPcGVyYXRpb25zTWFzayBtYXNr
KQogewogICAgIFdlYk1vdXNlRXZlbnQgZXZlbnQ7Ci0gICAgaW5pdE1vdXNlRXZlbnQoV2ViSW5w
dXRFdmVudDo6TW91c2VEb3duLCBwcmVzc2VkQnV0dG9uLCBsYXN0TW91c2VQb3MsICZldmVudCwg
Z2V0Q3VycmVudEV2ZW50VGltZVNlYyhtX2RlbGVnYXRlKSk7CisgICAgaW5pdE1vdXNlRXZlbnQo
V2ViSW5wdXRFdmVudDo6TW91c2VEb3duLCBwcmVzc2VkQnV0dG9uLCBsYXN0TW91c2VQb3MsICZl
dmVudCk7CiAgICAgV2ViUG9pbnQgY2xpZW50UG9pbnQoZXZlbnQueCwgZXZlbnQueSk7CiAgICAg
V2ViUG9pbnQgc2NyZWVuUG9pbnQoZXZlbnQuZ2xvYmFsWCwgZXZlbnQuZ2xvYmFsWSk7CiAgICAg
Y3VycmVudERyYWdEYXRhID0gZHJhZ0RhdGE7CkBAIC0zOTMsNyArMzkyLDcgQEAgaW50IEV2ZW50
U2VuZGVyOjpnZXRCdXR0b25OdW1iZXJGcm9tU2luZ2xlQXJnKGNvbnN0IENwcEFyZ3VtZW50TGlz
dCYgYXJndW1lbnRzKQogCiB2b2lkIEV2ZW50U2VuZGVyOjp1cGRhdGVDbGlja0NvdW50Rm9yQnV0
dG9uKFdlYk1vdXNlRXZlbnQ6OkJ1dHRvbiBidXR0b25UeXBlKQogewotICAgIGlmICgoZ2V0Q3Vy
cmVudEV2ZW50VGltZVNlYyhtX2RlbGVnYXRlKSAtIGxhc3RDbGlja1RpbWVTZWMgPCBtdWx0aXBs
ZUNsaWNrVGltZVNlYykKKyAgICBpZiAoKGdldEN1cnJlbnRFdmVudFRpbWVTZWMoKSAtIGxhc3RD
bGlja1RpbWVTZWMgPCBtdWx0aXBsZUNsaWNrVGltZVNlYykKICAgICAgICAgJiYgKCFvdXRzaWRl
TXVsdGlDbGlja1JhZGl1cyhsYXN0TW91c2VQb3MsIGxhc3RDbGlja1BvcykpCiAgICAgICAgICYm
IChidXR0b25UeXBlID09IGxhc3RCdXR0b25UeXBlKSkKICAgICAgICAgKytjbGlja0NvdW50OwpA
QCAtNDIzLDcgKzQyMiw3IEBAIHZvaWQgRXZlbnRTZW5kZXI6Om1vdXNlRG93bihjb25zdCBDcHBB
cmd1bWVudExpc3QmIGFyZ3VtZW50cywgQ3BwVmFyaWFudCogcmVzdWx0CiAKICAgICBXZWJNb3Vz
ZUV2ZW50IGV2ZW50OwogICAgIHByZXNzZWRCdXR0b24gPSBidXR0b25UeXBlOwotICAgIGluaXRN
b3VzZUV2ZW50KFdlYklucHV0RXZlbnQ6Ok1vdXNlRG93biwgYnV0dG9uVHlwZSwgbGFzdE1vdXNl
UG9zLCAmZXZlbnQsIGdldEN1cnJlbnRFdmVudFRpbWVTZWMobV9kZWxlZ2F0ZSkpOworICAgIGlu
aXRNb3VzZUV2ZW50KFdlYklucHV0RXZlbnQ6Ok1vdXNlRG93biwgYnV0dG9uVHlwZSwgbGFzdE1v
dXNlUG9zLCAmZXZlbnQpOwogICAgIGlmIChhcmd1bWVudHMuc2l6ZSgpID49IDIgJiYgKGFyZ3Vt
ZW50c1sxXS5pc09iamVjdCgpIHx8IGFyZ3VtZW50c1sxXS5pc1N0cmluZygpKSkKICAgICAgICAg
YXBwbHlLZXlNb2RpZmllcnMoJihhcmd1bWVudHNbMV0pLCAmZXZlbnQpOwogICAgIHdlYnZpZXco
KS0+aGFuZGxlSW5wdXRFdmVudChldmVudCk7CkBAIC00NDksNyArNDQ4LDcgQEAgdm9pZCBFdmVu
dFNlbmRlcjo6bW91c2VVcChjb25zdCBDcHBBcmd1bWVudExpc3QmIGFyZ3VtZW50cywgQ3BwVmFy
aWFudCogcmVzdWx0KQogICAgICAgICByZXBsYXlTYXZlZEV2ZW50cygpOwogICAgIH0gZWxzZSB7
CiAgICAgICAgIFdlYk1vdXNlRXZlbnQgZXZlbnQ7Ci0gICAgICAgIGluaXRNb3VzZUV2ZW50KFdl
YklucHV0RXZlbnQ6Ok1vdXNlVXAsIGJ1dHRvblR5cGUsIGxhc3RNb3VzZVBvcywgJmV2ZW50LCBn
ZXRDdXJyZW50RXZlbnRUaW1lU2VjKG1fZGVsZWdhdGUpKTsKKyAgICAgICAgaW5pdE1vdXNlRXZl
bnQoV2ViSW5wdXRFdmVudDo6TW91c2VVcCwgYnV0dG9uVHlwZSwgbGFzdE1vdXNlUG9zLCAmZXZl
bnQpOwogICAgICAgICBpZiAoYXJndW1lbnRzLnNpemUoKSA+PSAyICYmIChhcmd1bWVudHNbMV0u
aXNPYmplY3QoKSB8fCBhcmd1bWVudHNbMV0uaXNTdHJpbmcoKSkpCiAgICAgICAgICAgICBhcHBs
eUtleU1vZGlmaWVycygmKGFyZ3VtZW50c1sxXSksICZldmVudCk7CiAgICAgICAgIGRvTW91c2VV
cChldmVudCk7CkBAIC00OTgsNyArNDk3LDcgQEAgdm9pZCBFdmVudFNlbmRlcjo6bW91c2VNb3Zl
VG8oY29uc3QgQ3BwQXJndW1lbnRMaXN0JiBhcmd1bWVudHMsIENwcFZhcmlhbnQqIHJlc3UKICAg
ICAgICAgbW91c2VFdmVudFF1ZXVlLmFwcGVuZChzYXZlZEV2ZW50KTsKICAgICB9IGVsc2Ugewog
ICAgICAgICBXZWJNb3VzZUV2ZW50IGV2ZW50OwotICAgICAgICBpbml0TW91c2VFdmVudChXZWJJ
bnB1dEV2ZW50OjpNb3VzZU1vdmUsIHByZXNzZWRCdXR0b24sIG1vdXNlUG9zLCAmZXZlbnQsIGdl
dEN1cnJlbnRFdmVudFRpbWVTZWMobV9kZWxlZ2F0ZSkpOworICAgICAgICBpbml0TW91c2VFdmVu
dChXZWJJbnB1dEV2ZW50OjpNb3VzZU1vdmUsIHByZXNzZWRCdXR0b24sIG1vdXNlUG9zLCAmZXZl
bnQpOwogICAgICAgICBkb01vdXNlTW92ZShldmVudCk7CiAgICAgfQogfQpAQCAtNTM2LDQzICs1
MzUsNTAgQEAgdm9pZCBFdmVudFNlbmRlcjo6a2V5RG93bihjb25zdCBDcHBBcmd1bWVudExpc3Qm
IGFyZ3VtZW50cywgQ3BwVmFyaWFudCogcmVzdWx0KQogICAgIGJvb2wgbmVlZHNTaGlmdEtleU1v
ZGlmaWVyID0gZmFsc2U7CiAgICAgaWYgKCJcbiIgPT0gY29kZVN0cikgewogICAgICAgICBnZW5l
cmF0ZUNoYXIgPSB0cnVlOwotICAgICAgICB0ZXh0ID0gY29kZSA9IFZLRVlfUkVUVVJOOworICAg
ICAgICB0ZXh0ID0gY29kZSA9IHdlYmtpdF9zdXBwb3J0OjpWS0VZX1JFVFVSTjsKICAgICB9IGVs
c2UgaWYgKCJyaWdodEFycm93IiA9PSBjb2RlU3RyKQotICAgICAgICBjb2RlID0gVktFWV9SSUdI
VDsKKyAgICAgICAgY29kZSA9IHdlYmtpdF9zdXBwb3J0OjpWS0VZX1JJR0hUOwogICAgIGVsc2Ug
aWYgKCJkb3duQXJyb3ciID09IGNvZGVTdHIpCi0gICAgICAgIGNvZGUgPSBWS0VZX0RPV047Cisg
ICAgICAgIGNvZGUgPSB3ZWJraXRfc3VwcG9ydDo6VktFWV9ET1dOOwogICAgIGVsc2UgaWYgKCJs
ZWZ0QXJyb3ciID09IGNvZGVTdHIpCi0gICAgICAgIGNvZGUgPSBWS0VZX0xFRlQ7CisgICAgICAg
IGNvZGUgPSB3ZWJraXRfc3VwcG9ydDo6VktFWV9MRUZUOwogICAgIGVsc2UgaWYgKCJ1cEFycm93
IiA9PSBjb2RlU3RyKQotICAgICAgICBjb2RlID0gVktFWV9VUDsKKyAgICAgICAgY29kZSA9IHdl
YmtpdF9zdXBwb3J0OjpWS0VZX1VQOwogICAgIGVsc2UgaWYgKCJpbnNlcnQiID09IGNvZGVTdHIp
Ci0gICAgICAgIGNvZGUgPSBWS0VZX0lOU0VSVDsKKyAgICAgICAgY29kZSA9IHdlYmtpdF9zdXBw
b3J0OjpWS0VZX0lOU0VSVDsKICAgICBlbHNlIGlmICgiZGVsZXRlIiA9PSBjb2RlU3RyKQotICAg
ICAgICBjb2RlID0gVktFWV9ERUxFVEU7CisgICAgICAgIGNvZGUgPSB3ZWJraXRfc3VwcG9ydDo6
VktFWV9ERUxFVEU7CiAgICAgZWxzZSBpZiAoInBhZ2VVcCIgPT0gY29kZVN0cikKLSAgICAgICAg
Y29kZSA9IFZLRVlfUFJJT1I7CisgICAgICAgIGNvZGUgPSB3ZWJraXRfc3VwcG9ydDo6VktFWV9Q
UklPUjsKICAgICBlbHNlIGlmICgicGFnZURvd24iID09IGNvZGVTdHIpCi0gICAgICAgIGNvZGUg
PSBWS0VZX05FWFQ7CisgICAgICAgIGNvZGUgPSB3ZWJraXRfc3VwcG9ydDo6VktFWV9ORVhUOwog
ICAgIGVsc2UgaWYgKCJob21lIiA9PSBjb2RlU3RyKQotICAgICAgICBjb2RlID0gVktFWV9IT01F
OworICAgICAgICBjb2RlID0gd2Via2l0X3N1cHBvcnQ6OlZLRVlfSE9NRTsKICAgICBlbHNlIGlm
ICgiZW5kIiA9PSBjb2RlU3RyKQotICAgICAgICBjb2RlID0gVktFWV9FTkQ7CisgICAgICAgIGNv
ZGUgPSB3ZWJraXRfc3VwcG9ydDo6VktFWV9FTkQ7CiAgICAgZWxzZSBpZiAoInByaW50U2NyZWVu
IiA9PSBjb2RlU3RyKQotICAgICAgICBjb2RlID0gVktFWV9TTkFQU0hPVDsKKyAgICAgICAgY29k
ZSA9IHdlYmtpdF9zdXBwb3J0OjpWS0VZX1NOQVBTSE9UOwogICAgIGVsc2UgaWYgKCJtZW51IiA9
PSBjb2RlU3RyKQotICAgICAgICBjb2RlID0gVktFWV9BUFBTOworICAgICAgICAvLyBGSVhNRTog
Q2hhbmdlIHRoaXMgdG8gd2Via2l0X3N1cHBvcnQ6OlZLRVlfQVBQUy4KKyAgICAgICAgY29kZSA9
IDB4NUQ7CiAgICAgZWxzZSBpZiAoImxlZnRDb250cm9sIiA9PSBjb2RlU3RyKQotICAgICAgICBj
b2RlID0gVktFWV9MQ09OVFJPTDsKKyAgICAgICAgLy8gRklYTUU6IENoYW5nZSB0aGlzIHRvIHdl
YmtpdF9zdXBwb3J0OjpWS0VZX0xDT05UUk9MLgorICAgICAgICBjb2RlID0gMHhBMjsKICAgICBl
bHNlIGlmICgicmlnaHRDb250cm9sIiA9PSBjb2RlU3RyKQotICAgICAgICBjb2RlID0gVktFWV9S
Q09OVFJPTDsKKyAgICAgICAgLy8gRklYTUU6IENoYW5nZSB0aGlzIHRvIHdlYmtpdF9zdXBwb3J0
OjpWS0VZX1JDT05UUk9MLgorICAgICAgICBjb2RlID0gMHhBMzsKICAgICBlbHNlIGlmICgibGVm
dFNoaWZ0IiA9PSBjb2RlU3RyKQotICAgICAgICBjb2RlID0gVktFWV9MU0hJRlQ7CisgICAgICAg
IC8vIEZJWE1FOiBDaGFuZ2UgdGhpcyB0byB3ZWJraXRfc3VwcG9ydDo6VktFWV9MU0hJRlQuCisg
ICAgICAgIGNvZGUgPSAweEEwOwogICAgIGVsc2UgaWYgKCJyaWdodFNoaWZ0IiA9PSBjb2RlU3Ry
KQotICAgICAgICBjb2RlID0gVktFWV9SU0hJRlQ7CisgICAgICAgIC8vIEZJWE1FOiBDaGFuZ2Ug
dGhpcyB0byB3ZWJraXRfc3VwcG9ydDo6VktFWV9SU0hJRlQuCisgICAgICAgIGNvZGUgPSAweEEx
OwogICAgIGVsc2UgaWYgKCJsZWZ0QWx0IiA9PSBjb2RlU3RyKQotICAgICAgICBjb2RlID0gVktF
WV9MTUVOVTsKKyAgICAgICAgLy8gRklYTUU6IENoYW5nZSB0aGlzIHRvIHdlYmtpdF9zdXBwb3J0
OjpWS0VZX0xNRU5VLgorICAgICAgICBjb2RlID0gMHhBNDsKICAgICBlbHNlIGlmICgicmlnaHRB
bHQiID09IGNvZGVTdHIpCi0gICAgICAgIGNvZGUgPSBWS0VZX1JNRU5VOworICAgICAgICAvLyBG
SVhNRTogQ2hhbmdlIHRoaXMgdG8gd2Via2l0X3N1cHBvcnQ6OlZLRVlfUk1FTlUuCisgICAgICAg
IGNvZGUgPSAweEE1OwogICAgIGVsc2UgewogICAgICAgICAvLyBDb21wYXJlIHRoZSBpbnB1dCBz
dHJpbmcgd2l0aCB0aGUgZnVuY3Rpb24ta2V5IG5hbWVzIGRlZmluZWQgYnkgdGhlCiAgICAgICAg
IC8vIERPTSBzcGVjIChpLmUuICJGMSIsLi4uLCJGMjQiKS4gSWYgdGhlIGlucHV0IHN0cmluZyBp
cyBhIGZ1bmN0aW9uLWtleQpAQCAtNTgyLDcgKzU4OCw3IEBAIHZvaWQgRXZlbnRTZW5kZXI6Omtl
eURvd24oY29uc3QgQ3BwQXJndW1lbnRMaXN0JiBhcmd1bWVudHMsIENwcFZhcmlhbnQqIHJlc3Vs
dCkKICAgICAgICAgICAgIHNucHJpbnRmKGZ1bmN0aW9uQ2hhcnMsIDEwLCAiRiVkIiwgaSk7CiAg
ICAgICAgICAgICBzdHJpbmcgZnVuY3Rpb25LZXlOYW1lKGZ1bmN0aW9uQ2hhcnMpOwogICAgICAg
ICAgICAgaWYgKGZ1bmN0aW9uS2V5TmFtZSA9PSBjb2RlU3RyKSB7Ci0gICAgICAgICAgICAgICAg
Y29kZSA9IFZLRVlfRjEgKyAoaSAtIDEpOworICAgICAgICAgICAgICAgIGNvZGUgPSB3ZWJraXRf
c3VwcG9ydDo6VktFWV9GMSArIChpIC0gMSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgICAgICB9CiAgICAgICAgIH0KQEAgLTYwNyw3ICs2MTMsNyBAQCB2b2lkIEV2ZW50U2VuZGVy
OjprZXlEb3duKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYgYXJndW1lbnRzLCBDcHBWYXJpYW50KiBy
ZXN1bHQpCiAgICAgZXZlbnREb3duLm1vZGlmaWVycyA9IDA7CiAgICAgZXZlbnREb3duLndpbmRv
d3NLZXlDb2RlID0gY29kZTsKICNpZiBPUyhMSU5VWCkgJiYgVVNFKEdUSykKLSAgICBldmVudERv
d24ubmF0aXZlS2V5Q29kZSA9IE5hdGl2ZUtleUNvZGVGb3JXaW5kb3dzS2V5Q29kZShjb2RlKTsK
KyAgICBldmVudERvd24ubmF0aXZlS2V5Q29kZSA9IHdlYmtpdF9zdXBwb3J0OjpOYXRpdmVLZXlD
b2RlRm9yV2luZG93c0tleUNvZGUoY29kZSwgbmVlZHNTaGlmdEtleU1vZGlmaWVyKTsKICNlbmRp
ZgogCiAgICAgaWYgKGdlbmVyYXRlQ2hhcikgewpAQCAtNzY5LDcgKzc3NSw3IEBAIHZvaWQgRXZl
bnRTZW5kZXI6OnJlcGxheVNhdmVkRXZlbnRzKCkKICAgICAgICAgc3dpdGNoIChlLnR5cGUpIHsK
ICAgICAgICAgY2FzZSBTYXZlZEV2ZW50OjpNb3VzZU1vdmU6IHsKICAgICAgICAgICAgIFdlYk1v
dXNlRXZlbnQgZXZlbnQ7Ci0gICAgICAgICAgICBpbml0TW91c2VFdmVudChXZWJJbnB1dEV2ZW50
OjpNb3VzZU1vdmUsIHByZXNzZWRCdXR0b24sIGUucG9zLCAmZXZlbnQsIGdldEN1cnJlbnRFdmVu
dFRpbWVTZWMobV9kZWxlZ2F0ZSkpOworICAgICAgICAgICAgaW5pdE1vdXNlRXZlbnQoV2ViSW5w
dXRFdmVudDo6TW91c2VNb3ZlLCBwcmVzc2VkQnV0dG9uLCBlLnBvcywgJmV2ZW50KTsKICAgICAg
ICAgICAgIGRvTW91c2VNb3ZlKGV2ZW50KTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9
CkBAIC03NzgsNyArNzg0LDcgQEAgdm9pZCBFdmVudFNlbmRlcjo6cmVwbGF5U2F2ZWRFdmVudHMo
KQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgU2F2ZWRFdmVudDo6TW91c2VVcDog
ewogICAgICAgICAgICAgV2ViTW91c2VFdmVudCBldmVudDsKLSAgICAgICAgICAgIGluaXRNb3Vz
ZUV2ZW50KFdlYklucHV0RXZlbnQ6Ok1vdXNlVXAsIGUuYnV0dG9uVHlwZSwgbGFzdE1vdXNlUG9z
LCAmZXZlbnQsIGdldEN1cnJlbnRFdmVudFRpbWVTZWMobV9kZWxlZ2F0ZSkpOworICAgICAgICAg
ICAgaW5pdE1vdXNlRXZlbnQoV2ViSW5wdXRFdmVudDo6TW91c2VVcCwgZS5idXR0b25UeXBlLCBs
YXN0TW91c2VQb3MsICZldmVudCk7CiAgICAgICAgICAgICBkb01vdXNlVXAoZXZlbnQpOwogICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KQEAgLTgzNywxMCArODQzLDEwIEBAIHZvaWQgRXZl
bnRTZW5kZXI6OmNvbnRleHRDbGljayhjb25zdCBDcHBBcmd1bWVudExpc3QmIGFyZ3VtZW50cywg
Q3BwVmFyaWFudCogcmVzCiAgICAgLy8gR2VuZXJhdGUgcmlnaHQgbW91c2UgZG93biBhbmQgdXAu
CiAgICAgV2ViTW91c2VFdmVudCBldmVudDsKICAgICBwcmVzc2VkQnV0dG9uID0gV2ViTW91c2VF
dmVudDo6QnV0dG9uUmlnaHQ7Ci0gICAgaW5pdE1vdXNlRXZlbnQoV2ViSW5wdXRFdmVudDo6TW91
c2VEb3duLCBXZWJNb3VzZUV2ZW50OjpCdXR0b25SaWdodCwgbGFzdE1vdXNlUG9zLCAmZXZlbnQs
IGdldEN1cnJlbnRFdmVudFRpbWVTZWMobV9kZWxlZ2F0ZSkpOworICAgIGluaXRNb3VzZUV2ZW50
KFdlYklucHV0RXZlbnQ6Ok1vdXNlRG93biwgV2ViTW91c2VFdmVudDo6QnV0dG9uUmlnaHQsIGxh
c3RNb3VzZVBvcywgJmV2ZW50KTsKICAgICB3ZWJ2aWV3KCktPmhhbmRsZUlucHV0RXZlbnQoZXZl
bnQpOwogCi0gICAgaW5pdE1vdXNlRXZlbnQoV2ViSW5wdXRFdmVudDo6TW91c2VVcCwgV2ViTW91
c2VFdmVudDo6QnV0dG9uUmlnaHQsIGxhc3RNb3VzZVBvcywgJmV2ZW50LCBnZXRDdXJyZW50RXZl
bnRUaW1lU2VjKG1fZGVsZWdhdGUpKTsKKyAgICBpbml0TW91c2VFdmVudChXZWJJbnB1dEV2ZW50
OjpNb3VzZVVwLCBXZWJNb3VzZUV2ZW50OjpCdXR0b25SaWdodCwgbGFzdE1vdXNlUG9zLCAmZXZl
bnQpOwogICAgIHdlYnZpZXcoKS0+aGFuZGxlSW5wdXRFdmVudChldmVudCk7CiAKICAgICBwcmVz
c2VkQnV0dG9uID0gV2ViTW91c2VFdmVudDo6QnV0dG9uTm9uZTsKQEAgLTkwMCw3ICs5MDYsNyBA
QCB2b2lkIEV2ZW50U2VuZGVyOjpiZWdpbkRyYWdXaXRoRmlsZXMoY29uc3QgQ3BwQXJndW1lbnRM
aXN0JiBhcmd1bWVudHMsIENwcFZhcmlhbgogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgZmls
ZXMuc2l6ZSgpOyArK2kpIHsKICAgICAgICAgV2ViRHJhZ0RhdGE6Okl0ZW0gaXRlbTsKICAgICAg
ICAgaXRlbS5zdG9yYWdlVHlwZSA9IFdlYkRyYWdEYXRhOjpJdGVtOjpTdG9yYWdlVHlwZUZpbGVu
YW1lOwotICAgICAgICBpdGVtLmZpbGVuYW1lRGF0YSA9IG1fZGVsZWdhdGUtPmdldEFic29sdXRl
V2ViU3RyaW5nRnJvbVVURjhQYXRoKGZpbGVzW2ldKTsKKyAgICAgICAgaXRlbS5maWxlbmFtZURh
dGEgPSB3ZWJraXRfc3VwcG9ydDo6R2V0QWJzb2x1dGVXZWJTdHJpbmdGcm9tVVRGOFBhdGgoZmls
ZXNbaV0pOwogICAgICAgICBjdXJyZW50RHJhZ0RhdGEuYWRkSXRlbShpdGVtKTsKICAgICAgICAg
YWJzb2x1dGVGaWxlbmFtZXNbaV0gPSBpdGVtLmZpbGVuYW1lRGF0YTsKICAgICB9CkBAIC0xMDA4
LDcgKzEwMTQsNyBAQCB2b2lkIEV2ZW50U2VuZGVyOjpzZW5kQ3VycmVudFRvdWNoRXZlbnQoY29u
c3QgV2ViSW5wdXRFdmVudDo6VHlwZSB0eXBlKQogICAgIFdlYlRvdWNoRXZlbnQgdG91Y2hFdmVu
dDsKICAgICB0b3VjaEV2ZW50LnR5cGUgPSB0eXBlOwogICAgIHRvdWNoRXZlbnQubW9kaWZpZXJz
ID0gdG91Y2hNb2RpZmllcnM7Ci0gICAgdG91Y2hFdmVudC50aW1lU3RhbXBTZWNvbmRzID0gZ2V0
Q3VycmVudEV2ZW50VGltZVNlYyhtX2RlbGVnYXRlKTsKKyAgICB0b3VjaEV2ZW50LnRpbWVTdGFt
cFNlY29uZHMgPSBnZXRDdXJyZW50RXZlbnRUaW1lU2VjKCk7CiAgICAgdG91Y2hFdmVudC50b3Vj
aGVzTGVuZ3RoID0gdG91Y2hQb2ludHMuc2l6ZSgpOwogICAgIGZvciAodW5zaWduZWQgaSA9IDA7
IGkgPCB0b3VjaFBvaW50cy5zaXplKCk7ICsraSkKICAgICAgICAgdG91Y2hFdmVudC50b3VjaGVz
W2ldID0gdG91Y2hQb2ludHNbaV07CkBAIC0xMDQ4LDcgKzEwNTQsNyBAQCB2b2lkIEV2ZW50U2Vu
ZGVyOjpoYW5kbGVNb3VzZVdoZWVsKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYgYXJndW1lbnRzLCBD
cHBWYXJpYW50KgogICAgICAgICBoYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzID0gYXJndW1lbnRz
WzNdLnRvQm9vbGVhbigpOwogCiAgICAgV2ViTW91c2VXaGVlbEV2ZW50IGV2ZW50OwotICAgIGlu
aXRNb3VzZUV2ZW50KFdlYklucHV0RXZlbnQ6Ok1vdXNlV2hlZWwsIHByZXNzZWRCdXR0b24sIGxh
c3RNb3VzZVBvcywgJmV2ZW50LCBnZXRDdXJyZW50RXZlbnRUaW1lU2VjKG1fZGVsZWdhdGUpKTsK
KyAgICBpbml0TW91c2VFdmVudChXZWJJbnB1dEV2ZW50OjpNb3VzZVdoZWVsLCBwcmVzc2VkQnV0
dG9uLCBsYXN0TW91c2VQb3MsICZldmVudCk7CiAgICAgZXZlbnQud2hlZWxUaWNrc1ggPSBzdGF0
aWNfY2FzdDxmbG9hdD4oaG9yaXpvbnRhbCk7CiAgICAgZXZlbnQud2hlZWxUaWNrc1kgPSBzdGF0
aWNfY2FzdDxmbG9hdD4odmVydGljYWwpOwogICAgIGV2ZW50LmRlbHRhWCA9IGV2ZW50LndoZWVs
VGlja3NYOwpAQCAtMTIxMSw3ICsxMjE3LDcgQEAgdm9pZCBFdmVudFNlbmRlcjo6Z2VzdHVyZUV2
ZW50KFdlYklucHV0RXZlbnQ6OlR5cGUgdHlwZSwgY29uc3QgQ3BwQXJndW1lbnRMaXN0JgogCiAg
ICAgZXZlbnQuZ2xvYmFsWCA9IGV2ZW50Lng7CiAgICAgZXZlbnQuZ2xvYmFsWSA9IGV2ZW50Lnk7
Ci0gICAgZXZlbnQudGltZVN0YW1wU2Vjb25kcyA9IGdldEN1cnJlbnRFdmVudFRpbWVTZWMobV9k
ZWxlZ2F0ZSk7CisgICAgZXZlbnQudGltZVN0YW1wU2Vjb25kcyA9IGdldEN1cnJlbnRFdmVudFRp
bWVTZWMoKTsKICAgICB3ZWJ2aWV3KCktPmhhbmRsZUlucHV0RXZlbnQoZXZlbnQpOwogfQogCkBA
IC0xMjIzLDcgKzEyMjksNyBAQCB2b2lkIEV2ZW50U2VuZGVyOjpnZXN0dXJlRmxpbmdDYW5jZWwo
Y29uc3QgQ3BwQXJndW1lbnRMaXN0JiBhcmd1bWVudHMsIENwcFZhcmlhbgogCiAgICAgV2ViR2Vz
dHVyZUV2ZW50IGV2ZW50OwogICAgIGV2ZW50LnR5cGUgPSBXZWJJbnB1dEV2ZW50OjpHZXN0dXJl
RmxpbmdDYW5jZWw7Ci0gICAgZXZlbnQudGltZVN0YW1wU2Vjb25kcyA9IGdldEN1cnJlbnRFdmVu
dFRpbWVTZWMobV9kZWxlZ2F0ZSk7CisgICAgZXZlbnQudGltZVN0YW1wU2Vjb25kcyA9IGdldEN1
cnJlbnRFdmVudFRpbWVTZWMoKTsKICAgICB3ZWJ2aWV3KCktPmhhbmRsZUlucHV0RXZlbnQoZXZl
bnQpOwogfQogCkBAIC0xMjQ3LDcgKzEyNTMsNyBAQCB2b2lkIEV2ZW50U2VuZGVyOjpnZXN0dXJl
RmxpbmdTdGFydChjb25zdCBDcHBBcmd1bWVudExpc3QmIGFyZ3VtZW50cywgQ3BwVmFyaWFudAog
CiAgICAgZXZlbnQuZGF0YS5mbGluZ1N0YXJ0LnZlbG9jaXR5WCA9IHN0YXRpY19jYXN0PGZsb2F0
Pihhcmd1bWVudHNbMl0udG9Eb3VibGUoKSk7CiAgICAgZXZlbnQuZGF0YS5mbGluZ1N0YXJ0LnZl
bG9jaXR5WSA9IHN0YXRpY19jYXN0PGZsb2F0Pihhcmd1bWVudHNbM10udG9Eb3VibGUoKSk7Ci0g
ICAgZXZlbnQudGltZVN0YW1wU2Vjb25kcyA9IGdldEN1cnJlbnRFdmVudFRpbWVTZWMobV9kZWxl
Z2F0ZSk7CisgICAgZXZlbnQudGltZVN0YW1wU2Vjb25kcyA9IGdldEN1cnJlbnRFdmVudFRpbWVT
ZWMoKTsKICAgICB3ZWJ2aWV3KCktPmhhbmRsZUlucHV0RXZlbnQoZXZlbnQpOwogfQogCmRpZmYg
LS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVyL3NyYy9LZXlD
b2RlTWFwcGluZy5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVy
L3NyYy9LZXlDb2RlTWFwcGluZy5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA0
ZjhhY2M4ODA0Y2VkNTZiOTVmOWU3MzFjMGZiYmIzYzQ2ODE3OTguLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vVGVzdFJ1bm5lci9zcmMvS2V5Q29kZU1hcHBpbmcuY3BwCisrKyAvZGV2L251bGwKQEAgLTEs
MjQ5ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1l
dDoKLSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
cgotICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiS2V5Q29kZU1hcHBpbmcu
aCIKLQotI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgotCi1uYW1lc3BhY2UgV2ViVGVzdFJ1
bm5lciB7Ci0KLWludCBOYXRpdmVLZXlDb2RlRm9yV2luZG93c0tleUNvZGUoaW50IGtleXN5bSkK
LXsKLSNpZiBPUyhMSU5VWCkgJiYgVVNFKEdUSykKLSAgICAvLyBTZWUgL3Vzci9zaGFyZS9YMTEv
eGtiL2tleWNvZGVzLyoKLSAgICBzdGF0aWMgY29uc3QgaW50IGFzY2lpVG9LZXlDb2RlW10gPSB7
Ci0gICAgICAgIDAsCi0gICAgICAgIDAsCi0gICAgICAgIDAsCi0gICAgICAgIDAsCi0gICAgICAg
IDAsCi0gICAgICAgIDAsCi0gICAgICAgIDAsCi0gICAgICAgIDAsCi0gICAgICAgIDIyLAotICAg
ICAgICAyMywKLSAgICAgICAgMCwKLSAgICAgICAgMCwKLSAgICAgICAgMCwKLSAgICAgICAgMzYs
Ci0gICAgICAgIDAsCi0gICAgICAgIDAsCi0gICAgICAgIDUwLAotICAgICAgICAzNywKLSAgICAg
ICAgNjQsCi0gICAgICAgIDEyNywKLSAgICAgICAgNjYsCi0gICAgICAgIDAsCi0gICAgICAgIDAs
Ci0gICAgICAgIDAsCi0gICAgICAgIDAsCi0gICAgICAgIDEzMSwKLSAgICAgICAgMCwKLSAgICAg
ICAgOSwKLSAgICAgICAgMTAwLAotICAgICAgICAxMDIsCi0gICAgICAgIDAsCi0gICAgICAgIDAs
Ci0gICAgICAgIDY1LCAvLyAnICcKLSAgICAgICAgMTEyLCAvLyAnIScKLSAgICAgICAgMTE3LCAv
LyAnIicKLSAgICAgICAgMTE1LCAvLyAnIycKLSAgICAgICAgMTEwLCAvLyAnJCcKLSAgICAgICAg
MTEzLCAvLyAnJScKLSAgICAgICAgMTExLCAvLyAnJicKLSAgICAgICAgMTE0LCAvLyAnJycKLSAg
ICAgICAgMTE2LCAvLyAnKCcKLSAgICAgICAgMCwgLy8gJyknCi0gICAgICAgIDEwNywgLy8gJyon
Ci0gICAgICAgIDAsIC8vICcrJwotICAgICAgICAwLCAvLyAnLCcKLSAgICAgICAgMTE4LCAvLyAn
LScKLSAgICAgICAgMTE5LCAvLyAnLicKLSAgICAgICAgMTQ2LCAvLyAnLycKLSAgICAgICAgMTks
IC8vICcwJwotICAgICAgICAxMCwgLy8gJzEnCi0gICAgICAgIDExLCAvLyAnMicKLSAgICAgICAg
MTIsIC8vICczJwotICAgICAgICAxMywgLy8gJzQnCi0gICAgICAgIDE0LCAvLyAnNScKLSAgICAg
ICAgMTUsIC8vICc2JwotICAgICAgICAxNiwgLy8gJzcnCi0gICAgICAgIDE3LCAvLyAnOCcKLSAg
ICAgICAgMTgsIC8vICc5JwotICAgICAgICAwLCAvLyAnOicKLSAgICAgICAgMCwgLy8gJzsnCi0g
ICAgICAgIDAsIC8vICc8JwotICAgICAgICAwLCAvLyAnPScKLSAgICAgICAgMCwgLy8gJz4nCi0g
ICAgICAgIDAsIC8vICc/JwotICAgICAgICAwLCAvLyAnQCcKLSAgICAgICAgMzgsIC8vICdBJwot
ICAgICAgICA1NiwgLy8gJ0InCi0gICAgICAgIDU0LCAvLyAnQycKLSAgICAgICAgNDAsIC8vICdE
JwotICAgICAgICAyNiwgLy8gJ0UnCi0gICAgICAgIDQxLCAvLyAnRicKLSAgICAgICAgNDIsIC8v
ICdHJwotICAgICAgICA0MywgLy8gJ0gnCi0gICAgICAgIDMxLCAvLyAnSScKLSAgICAgICAgNDQs
IC8vICdKJwotICAgICAgICA0NSwgLy8gJ0snCi0gICAgICAgIDQ2LCAvLyAnTCcKLSAgICAgICAg
NTgsIC8vICdNJwotICAgICAgICA1NywgLy8gJ04nCi0gICAgICAgIDMyLCAvLyAnTycKLSAgICAg
ICAgMzMsIC8vICdQJwotICAgICAgICAyNCwgLy8gJ1EnCi0gICAgICAgIDI3LCAvLyAnUicKLSAg
ICAgICAgMzksIC8vICdTJwotICAgICAgICAyOCwgLy8gJ1QnCi0gICAgICAgIDMwLCAvLyAnVScK
LSAgICAgICAgNTUsIC8vICdWJwotICAgICAgICAyNSwgLy8gJ1cnCi0gICAgICAgIDUzLCAvLyAn
WCcKLSAgICAgICAgMjksIC8vICdZJwotICAgICAgICA1MiwgLy8gJ1onCi0gICAgICAgIDEzMywg
Ly8gJ1snCi0gICAgICAgIDEzNCwgLy8gJ1wnCi0gICAgICAgIDEzNSwgLy8gJ10nCi0gICAgICAg
IDAsIC8vICdeJwotICAgICAgICAwLCAvLyAnXycKLSAgICAgICAgOTAsIC8vICdgJwotICAgICAg
ICAzOCwgLy8gJ2EnCi0gICAgICAgIDU2LCAvLyAnYicKLSAgICAgICAgNTQsIC8vICdjJwotICAg
ICAgICA0MCwgLy8gJ2QnCi0gICAgICAgIDI2LCAvLyAnZScKLSAgICAgICAgNDEsIC8vICdmJwot
ICAgICAgICA0MiwgLy8gJ2cnCi0gICAgICAgIDQzLCAvLyAnaCcKLSAgICAgICAgMzEsIC8vICdp
JwotICAgICAgICA0NCwgLy8gJ2onCi0gICAgICAgIDQ1LCAvLyAnaycKLSAgICAgICAgNDYsIC8v
ICdsJwotICAgICAgICA1OCwgLy8gJ20nCi0gICAgICAgIDU3LCAvLyAnbicKLSAgICAgICAgMzIs
IC8vICdvJwotICAgICAgICAzMywgLy8gJ3AnCi0gICAgICAgIDI0LCAvLyAncScKLSAgICAgICAg
MjcsIC8vICdyJwotICAgICAgICAzOSwgLy8gJ3MnCi0gICAgICAgIDI4LCAvLyAndCcKLSAgICAg
ICAgMzAsIC8vICd1JwotICAgICAgICA1NSwgLy8gJ3YnCi0gICAgICAgIDI1LCAvLyAndycKLSAg
ICAgICAgNTMsIC8vICd4JwotICAgICAgICAyOSwgLy8gJ3knCi0gICAgICAgIDUyLCAvLyAneicK
LSAgICAgICAgOTYsIC8vICd7JwotICAgICAgICAwLCAvLyAnfCcKLSAgICAgICAgMCwgLy8gJ30n
Ci0gICAgICAgIDAsIC8vICd+JwotICAgICAgICAwLCAvLyBERUwKLSAgICB9OwotCi0gICAgaWYg
KGtleXN5bSA8PSAxMjcpCi0gICAgICAgIHJldHVybiBhc2NpaVRvS2V5Q29kZVtrZXlzeW1dOwot
Ci0gICAgc3dpdGNoIChrZXlzeW0pIHsKLSAgICBjYXNlIFZLRVlfUFJJT1I6Ci0gICAgICAgIHJl
dHVybiAxMTI7Ci0gICAgY2FzZSBWS0VZX05FWFQ6Ci0gICAgICAgIHJldHVybiAxMTc7Ci0gICAg
Y2FzZSBWS0VZX0VORDoKLSAgICAgICAgcmV0dXJuIDExNTsKLSAgICBjYXNlIFZLRVlfSE9NRToK
LSAgICAgICAgcmV0dXJuIDExMDsKLSAgICBjYXNlIFZLRVlfTEVGVDoKLSAgICAgICAgcmV0dXJu
IDExMzsKLSAgICBjYXNlIFZLRVlfVVA6Ci0gICAgICAgIHJldHVybiAxMTE7Ci0gICAgY2FzZSBW
S0VZX1JJR0hUOgotICAgICAgICByZXR1cm4gMTE0OwotICAgIGNhc2UgVktFWV9ET1dOOgotICAg
ICAgICByZXR1cm4gMTE2OwotICAgIGNhc2UgVktFWV9TTkFQU0hPVDoKLSAgICAgICAgcmV0dXJu
IDEwNzsKLSAgICBjYXNlIFZLRVlfSU5TRVJUOgotICAgICAgICByZXR1cm4gMTE4OwotICAgIGNh
c2UgVktFWV9ERUxFVEU6Ci0gICAgICAgIHJldHVybiAxMTk7Ci0gICAgY2FzZSBWS0VZX0FQUFM6
Ci0gICAgICAgIHJldHVybiAxMzU7Ci0gICAgY2FzZSBWS0VZX0YxOgotICAgIGNhc2UgVktFWV9G
MSArIDE6Ci0gICAgY2FzZSBWS0VZX0YxICsgMjoKLSAgICBjYXNlIFZLRVlfRjEgKyAzOgotICAg
IGNhc2UgVktFWV9GMSArIDQ6Ci0gICAgY2FzZSBWS0VZX0YxICsgNToKLSAgICBjYXNlIFZLRVlf
RjEgKyA2OgotICAgIGNhc2UgVktFWV9GMSArIDc6Ci0gICAgY2FzZSBWS0VZX0YxICsgODoKLSAg
ICBjYXNlIFZLRVlfRjEgKyA5OgotICAgIGNhc2UgVktFWV9GMSArIDEwOgotICAgIGNhc2UgVktF
WV9GMSArIDExOgotICAgIGNhc2UgVktFWV9GMSArIDEyOgotICAgIGNhc2UgVktFWV9GMSArIDEz
OgotICAgIGNhc2UgVktFWV9GMSArIDE0OgotICAgIGNhc2UgVktFWV9GMSArIDE1OgotICAgIGNh
c2UgVktFWV9GMSArIDE2OgotICAgIGNhc2UgVktFWV9GMSArIDE3OgotICAgIGNhc2UgVktFWV9G
MSArIDE4OgotICAgIGNhc2UgVktFWV9GMSArIDE5OgotICAgIGNhc2UgVktFWV9GMSArIDIwOgot
ICAgIGNhc2UgVktFWV9GMSArIDIxOgotICAgIGNhc2UgVktFWV9GMSArIDIyOgotICAgIGNhc2Ug
VktFWV9GMSArIDIzOgotICAgICAgICByZXR1cm4gNjcgKyAoa2V5c3ltIC0gVktFWV9GMSk7Ci0g
ICAgY2FzZSBWS0VZX0xTSElGVDoKLSAgICAgICAgcmV0dXJuIDUwOwotICAgIGNhc2UgVktFWV9S
U0hJRlQ6Ci0gICAgICAgIHJldHVybiA2MjsKLSAgICBjYXNlIFZLRVlfTENPTlRST0w6Ci0gICAg
ICAgIHJldHVybiAzNzsKLSAgICBjYXNlIFZLRVlfUkNPTlRST0w6Ci0gICAgICAgIHJldHVybiAx
MDU7Ci0gICAgY2FzZSBWS0VZX0xNRU5VOgotICAgICAgICByZXR1cm4gNjQ7Ci0gICAgY2FzZSBW
S0VZX1JNRU5VOgotICAgICAgICByZXR1cm4gMTA4OwotCi0gICAgZGVmYXVsdDoKLSAgICAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIHJldHVybiAwOwotICAgIH0KLSNlbHNlCi0g
ICAgVU5VU0VEX1BBUkFNKGtleXN5bSk7Ci0gICAgcmV0dXJuIDA7Ci0jZW5kaWYKLX0KLQotfQpk
aWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9zcmMv
S2V5Q29kZU1hcHBpbmcuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5u
ZXIvc3JjL0tleUNvZGVNYXBwaW5nLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg3
NDY5ZmFjNGE1YzExNTAyYzkzNWUxZGQyOGRmZTc0MmI4YjZhZTMuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vVGVzdFJ1bm5lci9zcmMvS2V5Q29kZU1hcHBpbmcuaAorKysgL2Rldi9udWxsCkBAIC0xLDY1
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1ldDoK
LSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgot
ICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBH
b29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
LSAqLwotCi0jaWZuZGVmIEtleUNvZGVNYXBwaW5nX2gKLSNkZWZpbmUgS2V5Q29kZU1hcHBpbmdf
aAotCi1uYW1lc3BhY2UgV2ViVGVzdFJ1bm5lciB7Ci0KLS8vIFRoZSBrZXljb2RlcyBtYXRjaCB0
aGUgdmFsdWVzIG9mIHRoZSB2aXJ0dWFsIGtleWNvZGVzIGZvdW5kIGhlcmUgaHR0cDovL21zZG4u
bWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L3dpbmRvd3MvZGVza3RvcC9kZDM3NTczMSh2PXZz
Ljg1KS5hc3B4Ci1lbnVtIHsKLSAgICBWS0VZX1JFVFVSTiAgID0gMHgwRCwKLSAgICBWS0VZX1BS
SU9SICAgID0gMHgyMSwKLSAgICBWS0VZX05FWFQgICAgID0gMHgyMiwKLSAgICBWS0VZX0VORCAg
ICAgID0gMHgyMywKLSAgICBWS0VZX0hPTUUgICAgID0gMHgyNCwKLSAgICBWS0VZX0xFRlQgICAg
ID0gMHgyNSwKLSAgICBWS0VZX1VQICAgICAgID0gMHgyNiwKLSAgICBWS0VZX1JJR0hUICAgID0g
MHgyNywKLSAgICBWS0VZX0RPV04gICAgID0gMHgyOCwKLSAgICBWS0VZX1NOQVBTSE9UID0gMHgy
QywKLSAgICBWS0VZX0lOU0VSVCAgID0gMHgyRCwKLSAgICBWS0VZX0RFTEVURSAgID0gMHgyRSwK
LSAgICBWS0VZX0FQUFMgICAgID0gMHg1RCwKLSAgICBWS0VZX0YxICAgICAgID0gMHg3MCwKLSAg
ICBWS0VZX0xTSElGVCAgID0gMHhBMCwKLSAgICBWS0VZX1JTSElGVCAgID0gMHhBMSwKLSAgICBW
S0VZX0xDT05UUk9MID0gMHhBMiwKLSAgICBWS0VZX1JDT05UUk9MID0gMHhBMywKLSAgICBWS0VZ
X0xNRU5VICAgID0gMHhBNCwKLSAgICBWS0VZX1JNRU5VICAgID0gMHhBNSwKLX07Ci0KLS8vIE1h
cCBhIHdpbmRvd3Mga2V5Y29kZSB0byBhIG5hdGl2ZSBrZXljb2RlIG9uIE9TKExJTlVYKSAmJiBV
U0UoR1RLKS4KLWludCBOYXRpdmVLZXlDb2RlRm9yV2luZG93c0tleUNvZGUoaW50IGtleXN5bSk7
Ci0KLX0KLQotI2VuZGlmIC8vIEtleUNvZGVNYXBwaW5nX2gKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvc3JjL1Rlc3REZWxlZ2F0ZS5oIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9zcmMvVGVzdERlbGVnYXRlLmgK
aW5kZXggMDQ5OGZjYjNmM2YxMzY0OTYzM2Q1MmUxNmFhMThmYTIzOWEyMDc1Mi4uZTYyNmVjY2Qw
MWUyMDYwOTczNzIyYzA0NzgzYzNiMTNlMzFjMDgyMyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9zcmMvVGVzdERlbGVnYXRlLmgKKysrIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9zcmMvVGVzdERlbGVnYXRlLmgK
QEAgLTU1LDggKzU1LDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBwb3N0VGFzayhXZWJU
ZXN0UnVubmVyOjpXZWJUYXNrKikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBwb3N0RGVsYXllZFRh
c2soV2ViVGVzdFJ1bm5lcjo6V2ViVGFzayosIGxvbmcgbG9uZyBtcykgPSAwOwogICAgIHZpcnR1
YWwgV2ViS2l0OjpXZWJTdHJpbmcgcmVnaXN0ZXJJc29sYXRlZEZpbGVTeXN0ZW0oY29uc3QgV2Vi
S2l0OjpXZWJWZWN0b3I8V2ViS2l0OjpXZWJTdHJpbmc+JiBhYnNvbHV0ZUZpbGVuYW1lcykgPSAw
OwotICAgIHZpcnR1YWwgbG9uZyBsb25nIGdldEN1cnJlbnRUaW1lSW5NaWxsaXNlY29uZCgpID0g
MDsKLSAgICB2aXJ0dWFsIFdlYktpdDo6V2ViU3RyaW5nIGdldEFic29sdXRlV2ViU3RyaW5nRnJv
bVVURjhQYXRoKGNvbnN0IHN0ZDo6c3RyaW5nJiBwYXRoKSA9IDA7CiB9OwogCiAjZW5kaWYgLy8g
VGVzdERlbGVnYXRlX2gKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVt
L1Rlc3RSdW5uZXIvc3JjL1Rlc3RSdW5uZXIuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vVGVzdFJ1bm5lci9zcmMvVGVzdFJ1bm5lci5jcHAKaW5kZXggZjBkYTc5ODMxMTdlYzM4
MTI3NmI1YTc4YTU1ZTQ4ZWFkZGQ3MWUyMC4uZTZlYWQxNTUxNTdhMWIwMzUxZWY5MTUyNGZiNzRm
YWE4NGU1ZTViZSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVz
dFJ1bm5lci9zcmMvVGVzdFJ1bm5lci5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vVGVzdFJ1bm5lci9zcmMvVGVzdFJ1bm5lci5jcHAKQEAgLTMyLDYgKzMyLDUxIEBACiAj
aW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiVGVzdFJ1bm5lci5oIgogCisjaW5jbHVkZSAi
V2ViQW5pbWF0aW9uQ29udHJvbGxlci5oIgorI2luY2x1ZGUgIldlYkJpbmRpbmdzLmgiCisjaW5j
bHVkZSAiV2ViQ29uc29sZU1lc3NhZ2UuaCIKKyNpbmNsdWRlICJXZWJEZXZpY2VPcmllbnRhdGlv
bi5oIgorI2luY2x1ZGUgIldlYkRldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jay5oIgorI2luY2x1
ZGUgIldlYkRvY3VtZW50LmgiCisjaW5jbHVkZSAiV2ViRWxlbWVudC5oIgorI2luY2x1ZGUgIldl
YkZpbmRPcHRpb25zLmgiCisjaW5jbHVkZSAiV2ViRnJhbWUuaCIKKyNpbmNsdWRlICJXZWJHZW9s
b2NhdGlvbkNsaWVudE1vY2suaCIKKyNpbmNsdWRlICJXZWJJREJGYWN0b3J5LmgiCisjaW5jbHVk
ZSAiV2ViSW5wdXRFbGVtZW50LmgiCisjaW5jbHVkZSAiV2ViSW50ZW50LmgiCisjaW5jbHVkZSAi
V2ViSW50ZW50UmVxdWVzdC5oIgorI2luY2x1ZGUgIldlYktpdC5oIgorI2luY2x1ZGUgIldlYk5v
dGlmaWNhdGlvblByZXNlbnRlci5oIgorI2luY2x1ZGUgIldlYlByaW50UGFyYW1zLmgiCisjaW5j
bHVkZSAiV2ViU2NyaXB0U291cmNlLmgiCisjaW5jbHVkZSAiV2ViU2VjdXJpdHlQb2xpY3kuaCIK
KyNpbmNsdWRlICJXZWJTZXR0aW5ncy5oIgorI2luY2x1ZGUgIldlYlN1cnJvdW5kaW5nVGV4dC5o
IgorI2luY2x1ZGUgIldlYlZpZXcuaCIKKyNpbmNsdWRlICJXZWJXb3JrZXJJbmZvLmgiCisjaW5j
bHVkZSAicGxhdGZvcm0vV2ViRGF0YS5oIgorI2luY2x1ZGUgInBsYXRmb3JtL1dlYlNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZS5oIgorI2luY2x1ZGUgInBsYXRmb3JtL1dlYlNpemUuaCIKKyNpbmNsdWRl
ICJwbGF0Zm9ybS9XZWJVUkwuaCIKKyNpbmNsdWRlICJ2OC9pbmNsdWRlL3Y4LmgiCisjaW5jbHVk
ZSAid2Via2l0L3N1cHBvcnQvd2Via2l0X3N1cHBvcnQuaCIKKyNpbmNsdWRlIDxhbGdvcml0aG0+
CisjaW5jbHVkZSA8Y2xvY2FsZT4KKyNpbmNsdWRlIDxjc3RkbGliPgorI2luY2x1ZGUgPGxpbWl0
cz4KKyNpbmNsdWRlIDxzc3RyZWFtPgorI2luY2x1ZGUgPHd0Zi9Pd25BcnJheVB0ci5oPgorI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCisjaWYgT1MoTElOVVgpIHx8IE9TKEFORFJP
SUQpCisjaW5jbHVkZSAibGludXgvV2ViRm9udFJlbmRlcmluZy5oIgorI2VuZGlmCisKK3VzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOwordXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKK3VzaW5nIG5hbWVz
cGFjZSBzdGQ7CisKIFRlc3RSdW5uZXI6OlRlc3RSdW5uZXIoKQogewogfQpkaWZmIC0tZ2l0IGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9zcmMvVGVzdFJ1bm5lci5o
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9zcmMvVGVzdFJ1bm5l
ci5oCmluZGV4IDUwMzI3MWI1ZDliNWNlZTA5OThiY2E4NTJjM2NhMDkzNzUwYTY1ZTIuLjM5ZTE5
ZDU3MzY1ZDAzYzY2ODQxZjg3ZjI2YWNmNDU0MWVlMDdkN2EgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvc3JjL1Rlc3RSdW5uZXIuaAorKysgYi9U
b29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVyL3NyYy9UZXN0UnVubmVyLmgK
QEAgLTMzLDYgKzMzLDIxIEBACiAjZGVmaW5lIFRlc3RSdW5uZXJfaAogCiAjaW5jbHVkZSAiQ3Bw
Qm91bmRDbGFzcy5oIgorI2luY2x1ZGUgIldlYkRlbGl2ZXJlZEludGVudENsaWVudC5oIgorI2lu
Y2x1ZGUgIldlYlRleHREaXJlY3Rpb24uaCIKKyNpbmNsdWRlICJwbGF0Zm9ybS9XZWJBcnJheUJ1
ZmZlclZpZXcuaCIKKyNpbmNsdWRlICJwbGF0Zm9ybS9XZWJTdHJpbmcuaCIKKyNpbmNsdWRlICJw
bGF0Zm9ybS9XZWJVUkwuaCIKKyNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KKyNpbmNsdWRlIDx3dGYv
T3duUHRyLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworY2xhc3MgV2ViR2VvbG9jYXRpb25DbGll
bnRNb2NrOworfQorCituYW1lc3BhY2Ugd2Via2l0X3N1cHBvcnQgeworY2xhc3MgU2NvcGVkVGVt
cERpcmVjdG9yeTsKK30KIAogY2xhc3MgVGVzdFJ1bm5lciA6IHB1YmxpYyBDcHBCb3VuZENsYXNz
IHsKIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rl
c3RSdW5uZXIvc3JjL1dlYlRlc3RJbnRlcmZhY2VzLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1Rlc3RSdW5uZXIvc3JjL1dlYlRlc3RJbnRlcmZhY2VzLmNwcAppbmRleCA5YTg2
OTUzYzNjYjg1Mzc0MGVhYTc4YmFmZmExODhjNGI3MjcyOGY4Li5mN2RiMTcxOThlNjdmOGE4ZDgz
MjBkZTY1ZWE0YjQwOWI2MTkwYjNmIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9UZXN0UnVubmVyL3NyYy9XZWJUZXN0SW50ZXJmYWNlcy5jcHAKKysrIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9zcmMvV2ViVGVzdEludGVyZmFjZXMu
Y3BwCkBAIC02Nyw4ICs2Nyw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgcG9zdFRhc2so
V2ViVGFzayopOwogICAgIHZpcnR1YWwgdm9pZCBwb3N0RGVsYXllZFRhc2soV2ViVGFzayosIGxv
bmcgbG9uZyBtcyk7CiAgICAgdmlydHVhbCBXZWJTdHJpbmcgcmVnaXN0ZXJJc29sYXRlZEZpbGVT
eXN0ZW0oY29uc3QgV2ViVmVjdG9yPFdlYlN0cmluZz4mIGFic29sdXRlRmlsZW5hbWVzKTsKLSAg
ICB2aXJ0dWFsIGxvbmcgbG9uZyBnZXRDdXJyZW50VGltZUluTWlsbGlzZWNvbmQoKTsKLSAgICB2
aXJ0dWFsIFdlYktpdDo6V2ViU3RyaW5nIGdldEFic29sdXRlV2ViU3RyaW5nRnJvbVVURjhQYXRo
KGNvbnN0IHN0ZDo6c3RyaW5nJiBwYXRoKTsKIAogcHJpdmF0ZToKICAgICBUZXN0SW50ZXJmYWNl
cyBtX2ludGVyZmFjZXM7CkBAIC0xNDksMTYgKzE0Nyw2IEBAIFdlYlN0cmluZyBXZWJUZXN0SW50
ZXJmYWNlczo6SW50ZXJuYWw6OnJlZ2lzdGVySXNvbGF0ZWRGaWxlU3lzdGVtKGNvbnN0IFdlYlZl
Y3RvCiAgICAgcmV0dXJuIG1fZGVsZWdhdGUtPnJlZ2lzdGVySXNvbGF0ZWRGaWxlU3lzdGVtKGFi
c29sdXRlRmlsZW5hbWVzKTsKIH0KIAotbG9uZyBsb25nIFdlYlRlc3RJbnRlcmZhY2VzOjpJbnRl
cm5hbDo6Z2V0Q3VycmVudFRpbWVJbk1pbGxpc2Vjb25kKCkKLXsKLSAgICByZXR1cm4gbV9kZWxl
Z2F0ZS0+Z2V0Q3VycmVudFRpbWVJbk1pbGxpc2Vjb25kKCk7Ci19Ci0KLVdlYktpdDo6V2ViU3Ry
aW5nIFdlYlRlc3RJbnRlcmZhY2VzOjpJbnRlcm5hbDo6Z2V0QWJzb2x1dGVXZWJTdHJpbmdGcm9t
VVRGOFBhdGgoY29uc3Qgc3RkOjpzdHJpbmcmIHBhdGgpCi17Ci0gICAgcmV0dXJuIG1fZGVsZWdh
dGUtPmdldEFic29sdXRlV2ViU3RyaW5nRnJvbVVURjhQYXRoKHBhdGgpOwotfQotCiBXZWJUZXN0
SW50ZXJmYWNlczo6V2ViVGVzdEludGVyZmFjZXMoKQogewogICAgIG1faW50ZXJuYWwgPSBuZXcg
SW50ZXJuYWw7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJW
aWV3SG9zdC5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5j
cHAKaW5kZXggODdlYjI1MDhiYzQ0MzY1ZjYzMTZiMjdmNTIwOWFmODQ5MTFkNzkzOS4uZDM3NjIy
ZGI5OTU4OGY3OTE1YjI0NGVmOWNiN2QwNWUyMTJmYzczMSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcApAQCAtMTUwMCwxNiArMTUwMCw2IEBAIFdl
YlN0cmluZyBXZWJWaWV3SG9zdDo6cmVnaXN0ZXJJc29sYXRlZEZpbGVTeXN0ZW0oY29uc3QgV2Vi
VmVjdG9yPFdlYlN0cmluZz4mIGFiCiAgICAgcmV0dXJuIHdlYmtpdF9zdXBwb3J0OjpSZWdpc3Rl
cklzb2xhdGVkRmlsZVN5c3RlbShhYnNvbHV0ZUZpbGVuYW1lcyk7CiB9CiAKLWxvbmcgbG9uZyBX
ZWJWaWV3SG9zdDo6Z2V0Q3VycmVudFRpbWVJbk1pbGxpc2Vjb25kKCkKLXsKLSAgICByZXR1cm4g
d2Via2l0X3N1cHBvcnQ6OkdldEN1cnJlbnRUaW1lSW5NaWxsaXNlY29uZCgpOwotfQotCi1XZWJL
aXQ6OldlYlN0cmluZyBXZWJWaWV3SG9zdDo6Z2V0QWJzb2x1dGVXZWJTdHJpbmdGcm9tVVRGOFBh
dGgoY29uc3Qgc3RkOjpzdHJpbmcmIHBhdGgpCi17Ci0gICAgcmV0dXJuIHdlYmtpdF9zdXBwb3J0
OjpHZXRBYnNvbHV0ZVdlYlN0cmluZ0Zyb21VVEY4UGF0aChwYXRoKTsKLX0KLQogLy8gUHVibGlj
IGZ1bmN0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQogCiBXZWJWaWV3SG9zdDo6V2ViVmlld0hvc3QoVGVzdFNoZWxsKiBzaGVs
bCkKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0
LmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5oCmluZGV4IDg2
MDA3MTk0YjA0MzU2NzJjMDE0OTk5ZDU4NjA1M2VjZmY1ZjhiNGYuLjlhZjQ3ZTA3OGY3NmFmMDdj
NDQwMDg3NmZhOTdhYjlhODU0ZDk1MjcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1dlYlZpZXdIb3N0LmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vV2ViVmlld0hvc3QuaApAQCAtMTM5LDggKzEzOSw2IEBAIGNsYXNzIFdlYlZpZXdIb3N0IDog
cHVibGljIFdlYktpdDo6V2ViVmlld0NsaWVudCwgcHVibGljIFdlYktpdDo6V2ViRnJhbWVDbGll
bnQsCiAgICAgdmlydHVhbCB2b2lkIHBvc3RUYXNrKFdlYlRlc3RSdW5uZXI6OldlYlRhc2sqKSBP
VkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgcG9zdERlbGF5ZWRUYXNrKFdlYlRlc3RSdW5uZXI6
OldlYlRhc2sqLCBsb25nIGxvbmcgbXMpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgV2ViS2l0OjpX
ZWJTdHJpbmcgcmVnaXN0ZXJJc29sYXRlZEZpbGVTeXN0ZW0oY29uc3QgV2ViS2l0OjpXZWJWZWN0
b3I8V2ViS2l0OjpXZWJTdHJpbmc+JiBhYnNvbHV0ZUZpbGVuYW1lcykgT1ZFUlJJREU7Ci0gICAg
dmlydHVhbCBsb25nIGxvbmcgZ2V0Q3VycmVudFRpbWVJbk1pbGxpc2Vjb25kKCkgT1ZFUlJJREU7
Ci0gICAgdmlydHVhbCBXZWJLaXQ6OldlYlN0cmluZyBnZXRBYnNvbHV0ZVdlYlN0cmluZ0Zyb21V
VEY4UGF0aChjb25zdCBzdGQ6OnN0cmluZyYgcGF0aCkgT1ZFUlJJREU7CiAKICAgICAvLyBOYXZp
Z2F0aW9uSG9zdAogICAgIHZpcnR1YWwgYm9vbCBuYXZpZ2F0ZShjb25zdCBUZXN0TmF2aWdhdGlv
bkVudHJ5JiwgYm9vbCByZWxvYWQpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>