<?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>43475</bug_id>
          
          <creation_ts>2010-08-04 02:41:34 -0700</creation_ts>
          <short_desc>Web Inspector: serialize CPU profiles to InspectorValues</short_desc>
          <delta_ts>2010-08-04 05:23:05 -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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yury Semikhatsky">yurys</reporter>
          <assigned_to name="Yury Semikhatsky">yurys</assigned_to>
          <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>mnaganov</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>259940</commentid>
    <comment_count>0</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-08-04 02:41:34 -0700</bug_when>
    <thetext>Web Inspector: serialize CPU profiles to InspectorValues when passing them to the frontend.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>259948</commentid>
    <comment_count>1</comment_count>
      <attachid>63435</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-08-04 03:16:58 -0700</bug_when>
    <thetext>Created attachment 63435
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>259951</commentid>
    <comment_count>2</comment_count>
      <attachid>63435</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-08-04 03:26:06 -0700</bug_when>
    <thetext>Comment on attachment 63435
Patch

WebCore/inspector/InspectorController.cpp:1499
 +  #if USE(JSC)
Do you still need this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>259952</commentid>
    <comment_count>3</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-08-04 03:30:07 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 63435 [details])
&gt; WebCore/inspector/InspectorController.cpp:1499
&gt;  +  #if USE(JSC)
&gt; Do you still need this?

No, removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>259977</commentid>
    <comment_count>4</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-08-04 05:23:05 -0700</bug_when>
    <thetext>Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	WebCore/Android.jscbindings.mk
	M	WebCore/CMakeLists.txt
	M	WebCore/ChangeLog
	M	WebCore/GNUmakefile.am
	M	WebCore/WebCore.pro
	M	WebCore/WebCore.vcproj/WebCore.vcproj
	M	WebCore/WebCore.xcodeproj/project.pbxproj
	A	WebCore/bindings/js/ScriptProfile.cpp
	M	WebCore/bindings/js/ScriptProfile.h
	M	WebCore/bindings/js/ScriptProfiler.cpp
	M	WebCore/bindings/scripts/CodeGeneratorJS.pm
	M	WebCore/bindings/v8/ScriptProfile.cpp
	M	WebCore/bindings/v8/ScriptProfile.h
	M	WebCore/inspector/Inspector.idl
	M	WebCore/inspector/InspectorController.cpp
	M	WebCore/inspector/InspectorController.h
	M	WebCore/inspector/InspectorFrontend.cpp
	M	WebCore/inspector/InspectorFrontend.h
Committed r64642</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63435</attachid>
            <date>2010-08-04 03:16:58 -0700</date>
            <delta_ts>2010-08-04 03:26:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-43475-20100804141655.patch</filename>
            <type>text/plain</type>
            <size>24678</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQW5kcm9pZC5qc2NiaW5kaW5ncy5tayBiL1dlYkNvcmUvQW5k
cm9pZC5qc2NiaW5kaW5ncy5tawppbmRleCAyZWU0Mjc2YmE0YmNmNDMyZjJmZWNmYTBmMWEzNjFi
OGViYWVlNGIxLi4wMWI1YTE2ODQ4MzI1OTA0MzFjOGZjNDE2MTVjNDYyZmJjNjI0MDIzIDEwMDY0
NAotLS0gYS9XZWJDb3JlL0FuZHJvaWQuanNjYmluZGluZ3MubWsKKysrIGIvV2ViQ29yZS9BbmRy
b2lkLmpzY2JpbmRpbmdzLm1rCkBAIC0xNzAsNiArMTcwLDcgQEAgTE9DQUxfU1JDX0ZJTEVTICs9
IFwKIAliaW5kaW5ncy9qcy9TY3JpcHRFdmVudExpc3RlbmVyLmNwcCBcCiAJYmluZGluZ3MvanMv
U2NyaXB0RnVuY3Rpb25DYWxsLmNwcCBcCiAJYmluZGluZ3MvanMvU2NyaXB0T2JqZWN0LmNwcCBc
CisJYmluZGluZ3MvanMvU2NyaXB0UHJvZmlsZS5jcHAgXAogCWJpbmRpbmdzL2pzL1NjcmlwdFN0
YXRlLmNwcCBcCiAJYmluZGluZ3MvanMvU2NyaXB0VmFsdWUuY3BwIFwKIAliaW5kaW5ncy9qcy9T
ZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQgYi9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGRjMmFkMTc5YzYxMWJjMzE3YzE3
MjJiNjRkM2JmZjNiZGY5ZWUyN2YuLmY2MTE1OTRmMzJiNGZiZWIzOWNlZDU2ODZhZTBjNDYzMzY3
MjczMzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dApAQCAtNjg0LDYgKzY4NCw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAg
ICBiaW5kaW5ncy9qcy9TY3JpcHRGdW5jdGlvbkNhbGwuY3BwCiAgICAgYmluZGluZ3MvanMvU2Ny
aXB0R0NFdmVudC5jcHAKICAgICBiaW5kaW5ncy9qcy9TY3JpcHRPYmplY3QuY3BwCisgICAgYmlu
ZGluZ3MvanMvU2NyaXB0UHJvZmlsZS5jcHAKICAgICBiaW5kaW5ncy9qcy9TY3JpcHRQcm9maWxl
ci5jcHAKICAgICBiaW5kaW5ncy9qcy9TY3JpcHRTdGF0ZS5jcHAKICAgICBiaW5kaW5ncy9qcy9T
Y3JpcHRWYWx1ZS5jcHAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9D
aGFuZ2VMb2cKaW5kZXggZDczOGQ2YWIzNmJkYzExMmI2MjdlMmZmZTIwODFiNDQ2Y2RiMjM3Mi4u
ZmI1MDE4MjdlYTU5NTk3ZjMyNWRkYjNjZWMzODc5NDI5NGU4NmJiMCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNiBAQAor
MjAxMC0wOC0wNCAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBzZXJpYWxpemUgQ1BVIHByb2ZpbGVzIHRvIEluc3BlY3RvclZhbHVlcyBpbnN0ZWFkIG9mCisg
ICAgICAgIHVzaW5nIEpTIHdyYXBwZXJzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NDM0NzUKKworICAgICAgICAqIEFuZHJvaWQuanNjYmluZGluZ3Mu
bWs6CisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogR05VbWFrZWZpbGUuYW06
CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgor
ICAgICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdFByb2ZpbGUuaDoKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9TY3JpcHRQcm9maWxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRQcm9maWxl
cjo6c3RvcCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06
CisgICAgICAgICogYmluZGluZ3MvdjgvU2NyaXB0UHJvZmlsZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpidWlsZEluc3BlY3Rvck9iamVjdEZvcik6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRQ
cm9maWxlOjpidWlsZEluc3BlY3Rvck9iamVjdEZvckhlYWQpOgorICAgICAgICAqIGJpbmRpbmdz
L3Y4L1NjcmlwdFByb2ZpbGUuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yLmlkbDoK
KyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjphZGRQcm9maWxlKToKKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmFkZFByb2ZpbGVGaW5pc2hlZE1lc3NhZ2VUb0NvbnNv
bGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6Z2V0UHJvZmlsZUhl
YWRlcnMpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6Z2V0UHJvZmls
ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpjcmVhdGVQcm9maWxl
SGVhZGVyKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oOgorICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZC5jcHA6CisgICAgICAgICogaW5zcGVj
dG9yL0luc3BlY3RvckZyb250ZW5kLmg6CisKIDIwMTAtMDgtMDMgIEdhdmluIEJhcnJhY2xvdWdo
ICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgogCiAgICAgICAgIEJ1aWxkIGZpeCBmb2xsb3dpbmcg
cjY0NjI0LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBiL1dlYkNvcmUvR05V
bWFrZWZpbGUuYW0KaW5kZXggOTE5YTM1NGM2Yzc1YmM4MTQ4MmRiYjk0M2Q0YjFjMWJiNWFhYWQw
Mi4uM2YzYzBkYmZmYjFiNDY0ZjRiZWY2OTgyMGQ1YjNmZTVjMjE4OGIwMSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC03
NzYsNiArNzc2LDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pz
L1NjcmlwdEluc3RhbmNlLmggXAogCVdlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0T2JqZWN0LmNw
cCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRPYmplY3QuaCBcCisJV2ViQ29yZS9iaW5k
aW5ncy9qcy9TY3JpcHRQcm9maWxlLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRQ
cm9maWxlLmggXAogCVdlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0UHJvZmlsZU5vZGUuaCBcCiAJ
V2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRQcm9maWxlci5jcHAgXApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9XZWJDb3JlLnBybyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggZWQ1ZTJkYTZiYzYx
YWE4MzJmMmFjODBjMjkxYzY0YzVkYzMwMmZmMS4uODgyNDJmOWNlNDg3NjRjNTY1Njk3OGU3OTQw
MmQ0ZDUwZjQ4NzUwYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9XZWJD
b3JlL1dlYkNvcmUucHJvCkBAIC0zNzgsNiArMzc4LDcgQEAgU09VUkNFUyArPSBcCiAgICAgYmlu
ZGluZ3MvanMvU2NyaXB0RnVuY3Rpb25DYWxsLmNwcCBcCiAgICAgYmluZGluZ3MvanMvU2NyaXB0
R0NFdmVudC5jcHAgXAogICAgIGJpbmRpbmdzL2pzL1NjcmlwdE9iamVjdC5jcHAgXAorICAgIGJp
bmRpbmdzL2pzL1NjcmlwdFByb2ZpbGUuY3BwIFwKICAgICBiaW5kaW5ncy9qcy9TY3JpcHRTdGF0
ZS5jcHAgXAogICAgIGJpbmRpbmdzL2pzL1NjcmlwdFZhbHVlLmNwcCBcCiAgICAgYmluZGluZ3Mv
anMvU2NoZWR1bGVkQWN0aW9uLmNwcCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
agppbmRleCBkYTJkNDNkNTRjZDljNDRlODU4ZTdiM2YyYWVkNTFmODI0ODhkYzA3Li4xNjg1MjYx
NTg4MzAzM2IzYmZjZjI4YTFhZTYwYTBhZWJmNDEwMDkxIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2oKQEAgLTQ4MjQ4LDYgKzQ4MjQ4LDEwIEBACiAJCQkJCT4NCiAJCQkJPC9G
aWxlPg0KIAkJCQk8RmlsZQ0KKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xTY3Jp
cHRQcm9maWxlLmNwcCINCisJCQkJCT4NCisJCQkJPC9GaWxlPg0KKwkJCQk8RmlsZQ0KIAkJCQkJ
UmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xTY3JpcHRTb3VyY2VDb2RlLmgiDQogCQkJCQk+
DQogCQkJCTwvRmlsZT4NCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IDM0ZTNiOThkNGE4NTMyODFlYTZjMWNiNzUzOTcxZDViYzZmMWY0YmIuLmJmYjU1MjU4
OGE0NDJhZjA3NTZjMDZhZGY2NjI5NDcyNzRlN2FlYTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01MTg3LDYgKzUxODcsNyBAQAogCQlFRDUwMURDNjBC
MjQ5RjI5MDBBRTE4RDkgLyogRWRpdG9yTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRUQ1MDFEQzUwQjI0OUYyOTAwQUUxOEQ5IC8qIEVkaXRvck1h
Yy5tbSAqLzsgfTsKIAkJRURFM0E1MDAwQzdBNDMwNjAwOTU2QTM3IC8qIENvbG9yTWFjLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFREUzQTRGRjBDN0E0
MzA2MDA5NTZBMzcgLyogQ29sb3JNYWMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQlFREVDOTgwMzBBRUQ3RTE3MDA1OTEzN0YgLyogV2ViQ29yZVBy
ZWZpeC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRURF
Qzk4MDIwQUVEN0UxNzAwNTkxMzdGIC8qIFdlYkNvcmVQcmVmaXguaCAqLzsgfTsKKwkJRjMzRjAy
ODIxMjA5NDdGMjAwRTU3NDNBIC8qIFNjcmlwdFByb2ZpbGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjMzRjAyODExMjA5NDdGMjAwRTU3NDNBIC8q
IFNjcmlwdFByb2ZpbGUuY3BwICovOyB9OwogCQlGMzQ0QzcxNDExMjVCODJDMDBGMjZFRUUgLyog
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEYzNDRDNzEyMTEyNUI4MkMwMEYyNkVFRSAvKiBJbnNwZWN0b3JGcm9u
dGVuZENsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCUYzNDRDNzUzMTEyOTREOUQwMEYyNkVFRSAvKiBJbnNwZWN0b3JGcm9udGVuZENsaWVu
dExvY2FsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBG
MzQ0Qzc1MjExMjk0RDlEMDBGMjZFRUUgLyogSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUYzNDRD
NzU4MTEyOTRGRjYwMEYyNkVFRSAvKiBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYzNDRDNzU3MTEy
OTRGRjYwMEYyNkVFRSAvKiBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcCAqLzsgfTsK
QEAgLTEwOTIwLDYgKzEwOTIxLDcgQEAKIAkJRUQ1MDFEQzUwQjI0OUYyOTAwQUUxOEQ5IC8qIEVk
aXRvck1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAz
MDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBFZGl0
b3JNYWMubW07IHBhdGggPSBtYWMvRWRpdG9yTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlFREUzQTRGRjBDN0E0MzA2MDA5NTZBMzcgLyogQ29sb3JNYWMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29sb3JNYWMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRURFQzk4MDIwQUVEN0UxNzAwNTkxMzdGIC8qIFdlYkNvcmVQcmVmaXguaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNvcmVQcmVmaXguaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA0OyB1c2VzVGFicyA9IDA7IH07CisJCUYzM0YwMjgx
MTIwOTQ3RjIwMEU1NzQzQSAvKiBTY3JpcHRQcm9maWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFNjcmlwdFByb2ZpbGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlGMzQ0QzcxMjExMjVCODJDMDBGMjZFRUUgLyogSW5zcGVjdG9yRnJvbnRlbmRD
bGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjM0NEM3NTIxMTI5NEQ5
RDAwRjI2RUVFIC8qIEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGMzQ0Qzc1NzExMjk0RkY2MDBGMjZFRUUgLyogSW5z
cGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTE1ODIyLDYgKzE1ODI0LDcgQEAKIAkJCQk5MzRDQzExNjBFRENB
QzczMDBBNjU4RjIgLyogU2NyaXB0SW5zdGFuY2UuaCAqLywKIAkJCQk0MUYwNjZFMzBGNjRCQ0Y2
MDBBMDdFQUMgLyogU2NyaXB0T2JqZWN0LmNwcCAqLywKIAkJCQk0MUYwNjZFMjBGNjRCQ0Y2MDBB
MDdFQUMgLyogU2NyaXB0T2JqZWN0LmggKi8sCisJCQkJRjMzRjAyODExMjA5NDdGMjAwRTU3NDNB
IC8qIFNjcmlwdFByb2ZpbGUuY3BwICovLAogCQkJCTlGNzIzMDRDMTExODRCNDEwMEFEMDEyNiAv
KiBTY3JpcHRQcm9maWxlLmggKi8sCiAJCQkJOUZBMzdFRTMxMTcyRkM4MDAwQzRDRDU1IC8qIFNj
cmlwdFByb2ZpbGVOb2RlLmggKi8sCiAJCQkJOUY3MjMwNEQxMTE4NEI0MTAwQUQwMTI2IC8qIFNj
cmlwdFByb2ZpbGVyLmNwcCAqLywKQEAgLTIyMzg3LDYgKzIyMzkwLDcgQEAKIAkJCQlFMUJFNTEy
RDBDRjZDNTEyMDAyRUE5NTkgLyogWFNMVFVuaWNvZGVTb3J0LmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTk3REQ0RDg2MEZERjRENkUwMEVDRjlBNCAvKiBYU1NBdWRpdG9yLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUMwNDZFMUFDMTIwOEE5RkUwMEJBMkNGNyAvKiBMb2NhbGl6ZWRTdHJpbmdzLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCUYzM0YwMjgyMTIwOTQ3RjIwMEU1NzQzQSAvKiBTY3JpcHRQ
cm9maWxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50
UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9q
cy9TY3JpcHRQcm9maWxlLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0UHJvZmlsZS5j
cHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMWZiZDA0MGRhZmIyNjNjYmUwY2U5YTBjZjc5ZGVmZTBmMWM0NmI3MQot
LS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0UHJvZmlsZS5jcHAK
QEAgLTAsMCArMSwxMDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUg
IlNjcmlwdFByb2ZpbGUuaCIKKworI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQorI2lu
Y2x1ZGUgIkluc3BlY3RvclZhbHVlcy5oIgorI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgorI2lu
Y2x1ZGUgPHByb2ZpbGVyL1Byb2ZpbGUuaD4KKyNpbmNsdWRlIDxwcm9maWxlci9Qcm9maWxlTm9k
ZS5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1Bhc3NSZWZQdHI8U2NyaXB0UHJvZmlsZT4g
U2NyaXB0UHJvZmlsZTo6Y3JlYXRlKFBhc3NSZWZQdHI8SlNDOjpQcm9maWxlPiBwcm9maWxlKQor
eworICAgIGlmICghcHJvZmlsZSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIGFkb3B0
UmVmKG5ldyBTY3JpcHRQcm9maWxlKHByb2ZpbGUpKTsKK30KKworU2NyaXB0UHJvZmlsZTo6U2Ny
aXB0UHJvZmlsZShQYXNzUmVmUHRyPEpTQzo6UHJvZmlsZT4gcHJvZmlsZSkKKyAgICA6IG1fcHJv
ZmlsZShwcm9maWxlKQoreworfQorCitTY3JpcHRQcm9maWxlOjp+U2NyaXB0UHJvZmlsZSgpCit7
Cit9CisKK1N0cmluZyBTY3JpcHRQcm9maWxlOjp0aXRsZSgpIGNvbnN0Cit7CisgICAgcmV0dXJu
IHVzdHJpbmdUb1N0cmluZyhtX3Byb2ZpbGUtPnRpdGxlKCkpOworfQorCit1bnNpZ25lZCBpbnQg
U2NyaXB0UHJvZmlsZTo6dWlkKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9wcm9maWxlLT51aWQo
KTsKK30KKworU2NyaXB0UHJvZmlsZU5vZGUqIFNjcmlwdFByb2ZpbGU6OmhlYWQoKSBjb25zdAor
eworICAgIHJldHVybiBtX3Byb2ZpbGUtPmhlYWQoKTsKK30KKworc3RhdGljIFBhc3NSZWZQdHI8
SW5zcGVjdG9yT2JqZWN0PiBidWlsZEluc3BlY3Rvck9iamVjdEZvcihjb25zdCBKU0M6OlByb2Zp
bGVOb2RlKiBub2RlKQoreworICAgIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IHJlc3VsdCA9IElu
c3BlY3Rvck9iamVjdDo6Y3JlYXRlKCk7CisKKyAgICByZXN1bHQtPnNldFN0cmluZygiZnVuY3Rp
b25OYW1lIiwgdXN0cmluZ1RvU3RyaW5nKG5vZGUtPmZ1bmN0aW9uTmFtZSgpKSk7CisgICAgcmVz
dWx0LT5zZXRTdHJpbmcoInVybCIsIHVzdHJpbmdUb1N0cmluZyhub2RlLT51cmwoKSkpOworICAg
IHJlc3VsdC0+c2V0TnVtYmVyKCJsaW5lTnVtYmVyIiwgbm9kZS0+bGluZU51bWJlcigpKTsKKyAg
ICByZXN1bHQtPnNldE51bWJlcigidG90YWxUaW1lIiwgbm9kZS0+dG90YWxUaW1lKCkpOworICAg
IHJlc3VsdC0+c2V0TnVtYmVyKCJzZWxmVGltZSIsIG5vZGUtPnNlbGZUaW1lKCkpOworICAgIHJl
c3VsdC0+c2V0TnVtYmVyKCJudW1iZXJPZkNhbGxzIiwgbm9kZS0+bnVtYmVyT2ZDYWxscygpKTsK
KyAgICByZXN1bHQtPnNldEJvb2woInZpc2libGUiLCBub2RlLT52aXNpYmxlKCkpOworICAgIHJl
c3VsdC0+c2V0TnVtYmVyKCJjYWxsVUlEIiwgbm9kZS0+Y2FsbElkZW50aWZpZXIoKS5oYXNoKCkp
OworCisgICAgUmVmUHRyPEluc3BlY3RvckFycmF5PiBjaGlsZHJlbkFycmF5ID0gSW5zcGVjdG9y
QXJyYXk6OmNyZWF0ZSgpOworICAgIHR5cGVkZWYgVmVjdG9yPFJlZlB0cjxKU0M6OlByb2ZpbGVO
b2RlPiA+IFByb2ZpbGVOb2Rlc0xpc3Q7CisgICAgY29uc3QgUHJvZmlsZU5vZGVzTGlzdCYgY2hp
bGRyZW4gPSBub2RlLT5jaGlsZHJlbigpOworICAgIFByb2ZpbGVOb2Rlc0xpc3Q6OmNvbnN0X2l0
ZXJhdG9yIGVuZCA9IGNoaWxkcmVuLmVuZCgpOworICAgIGZvciAoUHJvZmlsZU5vZGVzTGlzdDo6
Y29uc3RfaXRlcmF0b3IgaXRlciA9IGNoaWxkcmVuLmJlZ2luKCk7IGl0ZXIgIT0gZW5kOyArK2l0
ZXIpCisgICAgICAgIGNoaWxkcmVuQXJyYXktPnB1c2goYnVpbGRJbnNwZWN0b3JPYmplY3RGb3Io
aXRlci0+Z2V0KCkpKTsKKyAgICByZXN1bHQtPnNldCgiY2hpbGRyZW4iLCBjaGlsZHJlbkFycmF5
KTsKKworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK1Bhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0
PiBTY3JpcHRQcm9maWxlOjpidWlsZEluc3BlY3Rvck9iamVjdEZvckhlYWQoKSBjb25zdAorewor
ICAgIHJldHVybiBidWlsZEluc3BlY3Rvck9iamVjdEZvcihtX3Byb2ZpbGUtPmhlYWQoKSk7Cit9
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShKQVZBU0NSSVBU
X0RFQlVHR0VSKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRQcm9maWxl
LmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFByb2ZpbGUuaAppbmRleCAzMjA5NWUzY2Fj
OWQxNWEyMWZkMTVjNjBiZTA2MzI0ODg2MDQxZjgzLi44Yjk4ZTQ5NTBhNjI4MTczZjFhNjNlMGVj
OTQ0YzhlZDMyOGExMmYyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFBy
b2ZpbGUuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFByb2ZpbGUuaApAQCAtMjgs
MTEgKzI4LDM3IEBACiAjZGVmaW5lIFNjcmlwdFByb2ZpbGVfaAogCiAjaWYgRU5BQkxFKEpBVkFT
Q1JJUFRfREVCVUdHRVIpCi0jaW5jbHVkZSA8cHJvZmlsZXIvUHJvZmlsZS5oPgorI2luY2x1ZGUg
IlNjcmlwdFByb2ZpbGVOb2RlLmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNs
dWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKworbmFtZXNw
YWNlIEpTQyB7CitjbGFzcyBQcm9maWxlOworfQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXR5
cGVkZWYgSlNDOjpQcm9maWxlIFNjcmlwdFByb2ZpbGU7CitjbGFzcyBJbnNwZWN0b3JPYmplY3Q7
CitjbGFzcyBTdHJpbmc7CisKK2NsYXNzIFNjcmlwdFByb2ZpbGUgOiBwdWJsaWMgUmVmQ291bnRl
ZDxTY3JpcHRQcm9maWxlPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8U2NyaXB0
UHJvZmlsZT4gY3JlYXRlKFBhc3NSZWZQdHI8SlNDOjpQcm9maWxlPiBwcm9maWxlKTsKKyAgICB2
aXJ0dWFsIH5TY3JpcHRQcm9maWxlKCk7CisKKyAgICBTdHJpbmcgdGl0bGUoKSBjb25zdDsKKyAg
ICB1bnNpZ25lZCBpbnQgdWlkKCkgY29uc3Q7CisgICAgU2NyaXB0UHJvZmlsZU5vZGUqIGhlYWQo
KSBjb25zdDsKKworICAgIFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBidWlsZEluc3BlY3Rv
ck9iamVjdEZvckhlYWQoKSBjb25zdDsKKworcHJpdmF0ZToKKyAgICBTY3JpcHRQcm9maWxlKFBh
c3NSZWZQdHI8SlNDOjpQcm9maWxlPiBwcm9maWxlKTsKKworICAgIFJlZlB0cjxKU0M6OlByb2Zp
bGU+IG1fcHJvZmlsZTsKK307CisKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFByb2ZpbGVyLmNwcCBiL1dlYkNvcmUvYmlu
ZGluZ3MvanMvU2NyaXB0UHJvZmlsZXIuY3BwCmluZGV4IDUxMjEyMzJhZWFhOGI3ZTRlNzM2MzY0
ZDRhNmY2YzI3OThkNTc0OWEuLmYzNzJjM2MyYTZmNTdmMGYxOTc4MTc2MzJjNjUzMzljOGVkMzU1
NGEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0UHJvZmlsZXIuY3BwCisr
KyBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0UHJvZmlsZXIuY3BwCkBAIC00Miw3ICs0Miw4
IEBAIHZvaWQgU2NyaXB0UHJvZmlsZXI6OnN0YXJ0KFNjcmlwdFN0YXRlKiBzdGF0ZSwgY29uc3Qg
U3RyaW5nJiB0aXRsZSkKIAogUGFzc1JlZlB0cjxTY3JpcHRQcm9maWxlPiBTY3JpcHRQcm9maWxl
cjo6c3RvcChTY3JpcHRTdGF0ZSogc3RhdGUsIGNvbnN0IFN0cmluZyYgdGl0bGUpCiB7Ci0gICAg
cmV0dXJuIEpTQzo6UHJvZmlsZXI6OnByb2ZpbGVyKCktPnN0b3BQcm9maWxpbmcoc3RhdGUsIHN0
cmluZ1RvVVN0cmluZyh0aXRsZSkpOworICAgIFJlZlB0cjxKU0M6OlByb2ZpbGU+IHByb2ZpbGUg
PSBKU0M6OlByb2ZpbGVyOjpwcm9maWxlcigpLT5zdG9wUHJvZmlsaW5nKHN0YXRlLCBzdHJpbmdU
b1VTdHJpbmcodGl0bGUpKTsKKyAgICByZXR1cm4gU2NyaXB0UHJvZmlsZTo6Y3JlYXRlKHByb2Zp
bGUpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCAwZjE4NzhmMGE3Y2Y1ZWNiNDA3OTRlNzMxY2Ez
OTM4MjEyOGIyYzI2Li4zMzgyMGQ4ZTQ2MmUyNjU3MjY0MTUyNTcwMjRmZTE1ZTRhZDZkY2I0IDEw
MDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisr
KyBiL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTI5OSw3
ICsyOTksNyBAQCBzdWIgQWRkSW5jbHVkZXNGb3JTVkdBbmltYXRlZFR5cGUKIHN1YiBJc1Njcmlw
dFByb2ZpbGVUeXBlCiB7CiAgICAgbXkgJHR5cGUgPSBzaGlmdDsKLSAgICByZXR1cm4gMSBpZiAo
JHR5cGUgZXEgIlNjcmlwdFByb2ZpbGUiIG9yICR0eXBlIGVxICJTY3JpcHRQcm9maWxlTm9kZSIp
OworICAgIHJldHVybiAxIGlmICgkdHlwZSBlcSAiU2NyaXB0UHJvZmlsZU5vZGUiKTsKICAgICBy
ZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9m
aWxlLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0UHJvZmlsZS5jcHAKaW5kZXggM2I3
MWQ1ZmM2Y2Y5NjM4Mjg1NjUxODdiOTgxZmM2N2M3MGM3ZDhmMy4uMzJlMDA2NmY0MmM1OThmOTRh
YmY1MTM2NWRjMjg4YWVjOWQ2ZTRjZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9T
Y3JpcHRQcm9maWxlLmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFByb2ZpbGUu
Y3BwCkBAIC0yOSwxMiArMjksMTMgQEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCi0KICNp
bmNsdWRlICJTY3JpcHRQcm9maWxlLmgiCiAKKyNpbmNsdWRlICJJbnNwZWN0b3JWYWx1ZXMuaCIK
ICNpbmNsdWRlICJWOEJpbmRpbmcuaCIKLQogI2luY2x1ZGUgPHY4LXByb2ZpbGVyLmg+CisjaW5j
bHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIApAQCAtNTQsNCArNTUsMzIgQEAgUGFzc1JlZlB0cjxTY3JpcHRQcm9m
aWxlTm9kZT4gU2NyaXB0UHJvZmlsZTo6aGVhZCgpIGNvbnN0CiAgICAgcmV0dXJuIFNjcmlwdFBy
b2ZpbGVOb2RlOjpjcmVhdGUobV9wcm9maWxlLT5HZXRUb3BEb3duUm9vdCgpKTsKIH0KIAorc3Rh
dGljIFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBidWlsZEluc3BlY3Rvck9iamVjdEZvcihj
b25zdCB2ODo6Q3B1UHJvZmlsZU5vZGUqIG5vZGUpCit7CisgICAgdjg6OkhhbmRsZVNjb3BlIGhh
bmRsZVNjb3BlOworICAgIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IHJlc3VsdCA9IEluc3BlY3Rv
ck9iamVjdDo6Y3JlYXRlKCk7CisgICAgcmVzdWx0LT5zZXRTdHJpbmcoImZ1bmN0aW9uTmFtZSIs
IHRvV2ViQ29yZVN0cmluZyhub2RlLT5HZXRGdW5jdGlvbk5hbWUoKSkpOworICAgIHJlc3VsdC0+
c2V0U3RyaW5nKCJ1cmwiLCB0b1dlYkNvcmVTdHJpbmcobm9kZS0+R2V0U2NyaXB0UmVzb3VyY2VO
YW1lKCkpKTsKKyAgICByZXN1bHQtPnNldE51bWJlcigibGluZU51bWJlciIsIG5vZGUtPkdldExp
bmVOdW1iZXIoKSk7CisgICAgcmVzdWx0LT5zZXROdW1iZXIoInRvdGFsVGltZSIsIG5vZGUtPkdl
dFRvdGFsVGltZSgpKTsKKyAgICByZXN1bHQtPnNldE51bWJlcigic2VsZlRpbWUiLCBub2RlLT5H
ZXRTZWxmVGltZSgpKTsKKyAgICByZXN1bHQtPnNldE51bWJlcigibnVtYmVyT2ZDYWxscyIsIDAp
OworICAgIHJlc3VsdC0+c2V0Qm9vbCgidmlzaWJsZSIsIHRydWUpOworICAgIHJlc3VsdC0+c2V0
TnVtYmVyKCJjYWxsVUlEIiwgbm9kZS0+R2V0Q2FsbFVpZCgpKTsKKworICAgIFJlZlB0cjxJbnNw
ZWN0b3JBcnJheT4gY2hpbGRyZW4gPSBJbnNwZWN0b3JBcnJheTo6Y3JlYXRlKCk7CisgICAgY29u
c3QgaW50IGNoaWxkcmVuQ291bnQgPSBub2RlLT5HZXRDaGlsZHJlbkNvdW50KCk7CisgICAgZm9y
IChpbnQgaSA9IDA7IGkgPCBjaGlsZHJlbkNvdW50OyBpKyspIHsKKyAgICAgICAgY29uc3Qgdjg6
OkNwdVByb2ZpbGVOb2RlKiBjaGlsZCA9IG5vZGUtPkdldENoaWxkKGkpOworICAgICAgICBjaGls
ZHJlbi0+cHVzaChidWlsZEluc3BlY3Rvck9iamVjdEZvcihjaGlsZCkpOworICAgIH0KKyAgICBy
ZXN1bHQtPnNldCgiY2hpbGRyZW4iLCBjaGlsZHJlbik7CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
KworUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IFNjcmlwdFByb2ZpbGU6OmJ1aWxkSW5zcGVj
dG9yT2JqZWN0Rm9ySGVhZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGJ1aWxkSW5zcGVjdG9yT2Jq
ZWN0Rm9yKG1fcHJvZmlsZS0+R2V0VG9wRG93blJvb3QoKSk7Cit9CisKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0UHJvZmlsZS5o
IGIvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9maWxlLmgKaW5kZXggMmY0MmFkMmIzMzZm
ZDkxZmIxMDZiNjViMzgxZTc0NjY0YTYyYTNjMC4uMDE4MjY2OTA1OWUyOTdhOGY3NTQzODc3ODM4
YWI2YjNmYzNiNDFkNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9m
aWxlLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9maWxlLmgKQEAgLTQwLDYg
KzQwLDggQEAgY2xhc3MgQ3B1UHJvZmlsZTsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFz
cyBJbnNwZWN0b3JPYmplY3Q7CisKIGNsYXNzIFNjcmlwdFByb2ZpbGUgOiBwdWJsaWMgUmVmQ291
bnRlZDxTY3JpcHRQcm9maWxlPiB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8U2Ny
aXB0UHJvZmlsZT4gY3JlYXRlKGNvbnN0IHY4OjpDcHVQcm9maWxlKiBwcm9maWxlKQpAQCAtNTIs
MTIgKzU0LDEzIEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCBpbnQgdWlkKCkgY29uc3Q7CiAgICAg
UGFzc1JlZlB0cjxTY3JpcHRQcm9maWxlTm9kZT4gaGVhZCgpIGNvbnN0OwogCi1wcm90ZWN0ZWQ6
CisgICAgUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGJ1aWxkSW5zcGVjdG9yT2JqZWN0Rm9y
SGVhZCgpIGNvbnN0OworCitwcml2YXRlOgogICAgIFNjcmlwdFByb2ZpbGUoY29uc3Qgdjg6OkNw
dVByb2ZpbGUqIHByb2ZpbGUpCiAgICAgICAgIDogbV9wcm9maWxlKHByb2ZpbGUpCiAgICAge30K
IAotcHJpdmF0ZToKICAgICBjb25zdCB2ODo6Q3B1UHJvZmlsZSogbV9wcm9maWxlOwogfTsKIApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmlkbCBiL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvci5pZGwKaW5kZXggYzc3ZDZiZDU1NDg3MGUyMzc3ZGQ0MGI1MWQzZjU5
ZjViYjdmMzg4NC4uZGVhMWNkMGFjMTliMWZhYTk0N2Y1ODRjOGY5ZWU5ZmJmMWYyM2UyYiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmlkbAorKysgYi9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3IuaWRsCkBAIC00OSw2ICs0OSw3IEBAIG1vZHVsZSBjb3JlIHsKICNp
ZiBkZWZpbmVkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAmJiBFTkFCTEVfSkFWQVNDUklQ
VF9ERUJVR0dFUgogICAgICAgICBbbm90aWZ5XSB2b2lkIHBhdXNlZFNjcmlwdChvdXQgVmFsdWUg
Y2FsbEZyYW1lcyk7CiAgICAgICAgIFtub3RpZnldIHZvaWQgcmVzdW1lZFNjcmlwdCgpOworICAg
ICAgICBbbm90aWZ5XSB2b2lkIGFkZFByb2ZpbGVIZWFkZXIob3V0IE9iamVjdCBoZWFkZXIpOwog
I2VuZGlmCiAKICAgICAgICAgW2hhbmRsZXI9Q29udHJvbGxlcl0gdm9pZCBzdG9yZUxhc3RBY3Rp
dmVQYW5lbChpbiBTdHJpbmcgcGFuZWxOYW1lKTsKQEAgLTk3LDggKzk4LDggQEAgbW9kdWxlIGNv
cmUgewogICAgICAgICBbaGFuZGxlcj1Db250cm9sbGVyXSB2b2lkIHN0YXJ0UHJvZmlsaW5nKCk7
CiAgICAgICAgIFtoYW5kbGVyPUNvbnRyb2xsZXJdIHZvaWQgc3RvcFByb2ZpbGluZygpOwogCi0g
ICAgICAgIFtoYW5kbGVyPUNvbnRyb2xsZXJdIHZvaWQgZ2V0UHJvZmlsZUhlYWRlcnMoaW4gbG9u
ZyBjYWxsSWQpOwotICAgICAgICBbaGFuZGxlcj1Db250cm9sbGVyXSB2b2lkIGdldFByb2ZpbGUo
aW4gbG9uZyBjYWxsSWQsIGluIHVuc2lnbmVkIGxvbmcgdWlkKTsKKyAgICAgICAgW2hhbmRsZXI9
Q29udHJvbGxlcl0gdm9pZCBnZXRQcm9maWxlSGVhZGVycyhpbiBsb25nIGNhbGxJZCwgb3V0IEFy
cmF5IGhlYWRlcnMpOworICAgICAgICBbaGFuZGxlcj1Db250cm9sbGVyXSB2b2lkIGdldFByb2Zp
bGUoaW4gbG9uZyBjYWxsSWQsIGluIHVuc2lnbmVkIGxvbmcgdWlkLCBvdXQgT2JqZWN0IHByb2Zp
bGUpOwogCiAgICAgICAgIFtoYW5kbGVyPUNvbnRyb2xsZXJdIHZvaWQgcmVtb3ZlUHJvZmlsZShp
biB1bnNpZ25lZCBsb25nIHVpZCk7CiAgICAgICAgIFtoYW5kbGVyPUNvbnRyb2xsZXJdIHZvaWQg
Y2xlYXJQcm9maWxlcygpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
Q29udHJvbGxlci5jcHAgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNw
cAppbmRleCAxYzY0MDBjMzVkOGVhNDczMmViODE4MTZmZDE5ZDc5NTljYWM5YjE0Li4wODI5MzZk
NmMzMDZmNjAzYWU5ZDViODAyMDJmYTQ3NWZkMzJkZjg3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JDb250cm9sbGVyLmNwcApAQCAtMTEwLDExICsxMTAsOCBAQAogI2luY2x1ZGUgIlNj
cmlwdERlYnVnU2VydmVyLmgiCiAjaWYgVVNFKEpTQykKICNpbmNsdWRlIDxydW50aW1lL0pTTG9j
ay5oPgotI2luY2x1ZGUgPHJ1bnRpbWUvVVN0cmluZy5oPgotI2luY2x1ZGUgIkpTU2NyaXB0UHJv
ZmlsZS5oIgogI2Vsc2UKICNpbmNsdWRlICJTY3JpcHRTY29wZS5oIgotI2luY2x1ZGUgIlY4U2Ny
aXB0UHJvZmlsZS5oIgogI2VuZGlmCiAjZW5kaWYKIApAQCAtMTQ5OCwxMSArMTQ5NSwxMSBAQCB2
b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmFkZFByb2ZpbGUoUGFzc1JlZlB0cjxTY3JpcHRQcm9m
aWxlPiBwcnBQcm9maWxlLCB1bnNpZwogICAgIFJlZlB0cjxTY3JpcHRQcm9maWxlPiBwcm9maWxl
ID0gcHJwUHJvZmlsZTsKICAgICBtX3Byb2ZpbGVzLmFkZChwcm9maWxlLT51aWQoKSwgcHJvZmls
ZSk7CiAKLSAgICBpZiAobV9mcm9udGVuZCkgeworICAgIGlmIChtX3JlbW90ZUZyb250ZW5kKSB7
CiAjaWYgVVNFKEpTQykKICAgICAgICAgSlNDOjpKU0xvY2sgbG9jayhKU0M6OlNpbGVuY2VBc3Nl
cnRpb25zT25seSk7CiAjZW5kaWYKLSAgICAgICAgbV9mcm9udGVuZC0+YWRkUHJvZmlsZUhlYWRl
cihjcmVhdGVQcm9maWxlSGVhZGVyKCpwcm9maWxlKSk7CisgICAgICAgIG1fcmVtb3RlRnJvbnRl
bmQtPmFkZFByb2ZpbGVIZWFkZXIoY3JlYXRlUHJvZmlsZUhlYWRlcigqcHJvZmlsZSkpOwogICAg
IH0KIAogICAgIGFkZFByb2ZpbGVGaW5pc2hlZE1lc3NhZ2VUb0NvbnNvbGUocHJvZmlsZSwgbGlu
ZU51bWJlciwgc291cmNlVVJMKTsKQEAgLTE1MTIsMTEgKzE1MDksNyBAQCB2b2lkIEluc3BlY3Rv
ckNvbnRyb2xsZXI6OmFkZFByb2ZpbGVGaW5pc2hlZE1lc3NhZ2VUb0NvbnNvbGUoUGFzc1JlZlB0
cjxTY3JpcHRQcgogewogICAgIFJlZlB0cjxTY3JpcHRQcm9maWxlPiBwcm9maWxlID0gcHJwUHJv
ZmlsZTsKIAotI2lmIFVTRShKU0MpCi0gICAgU3RyaW5nIHRpdGxlID0gdXN0cmluZ1RvU3RyaW5n
KHByb2ZpbGUtPnRpdGxlKCkpOwotI2Vsc2UKICAgICBTdHJpbmcgdGl0bGUgPSBwcm9maWxlLT50
aXRsZSgpOwotI2VuZGlmCiAgICAgU3RyaW5nIG1lc3NhZ2UgPSBTdHJpbmc6OmZvcm1hdCgiUHJv
ZmlsZSBcIndlYmtpdC1wcm9maWxlOi8vJXMvJXMjJWRcIiBmaW5pc2hlZC4iLCBDUFVQcm9maWxl
VHlwZSwgZW5jb2RlV2l0aFVSTEVzY2FwZVNlcXVlbmNlcyh0aXRsZSkudXRmOCgpLmRhdGEoKSwg
cHJvZmlsZS0+dWlkKCkpOwogICAgIGFkZE1lc3NhZ2VUb0NvbnNvbGUoSlNNZXNzYWdlU291cmNl
LCBMb2dNZXNzYWdlVHlwZSwgTG9nTWVzc2FnZUxldmVsLCBtZXNzYWdlLCBsaW5lTnVtYmVyLCBz
b3VyY2VVUkwpOwogfQpAQCAtMTU0OCwxNCArMTU0MSwxMyBAQCB2b2lkIEluc3BlY3RvckNvbnRy
b2xsZXI6OmNsZWFyUHJvZmlsZXMoKQogCiB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmdldFBy
b2ZpbGVIZWFkZXJzKGxvbmcgY2FsbElkKQogewotICAgIGlmICghbV9mcm9udGVuZCkKKyAgICBp
ZiAoIW1fcmVtb3RlRnJvbnRlbmQpCiAgICAgICAgIHJldHVybjsKLSAgICBTY3JpcHRBcnJheSBy
ZXN1bHQgPSBtX2Zyb250ZW5kLT5uZXdTY3JpcHRBcnJheSgpOworICAgIFJlZlB0cjxJbnNwZWN0
b3JBcnJheT4gcmVzdWx0ID0gSW5zcGVjdG9yQXJyYXk6OmNyZWF0ZSgpOwogICAgIFByb2ZpbGVz
TWFwOjppdGVyYXRvciBwcm9maWxlc0VuZCA9IG1fcHJvZmlsZXMuZW5kKCk7Ci0gICAgaW50IGkg
PSAwOwogICAgIGZvciAoUHJvZmlsZXNNYXA6Oml0ZXJhdG9yIGl0ID0gbV9wcm9maWxlcy5iZWdp
bigpOyBpdCAhPSBwcm9maWxlc0VuZDsgKytpdCkKLSAgICAgICAgcmVzdWx0LnNldChpKyssIGNy
ZWF0ZVByb2ZpbGVIZWFkZXIoKml0LT5zZWNvbmQpKTsKLSAgICBtX2Zyb250ZW5kLT5kaWRHZXRQ
cm9maWxlSGVhZGVycyhjYWxsSWQsIHJlc3VsdCk7CisgICAgICAgIHJlc3VsdC0+cHVzaChjcmVh
dGVQcm9maWxlSGVhZGVyKCppdC0+c2Vjb25kKSk7CisgICAgbV9yZW1vdGVGcm9udGVuZC0+ZGlk
R2V0UHJvZmlsZUhlYWRlcnMoY2FsbElkLCByZXN1bHQpOwogfQogCiB2b2lkIEluc3BlY3RvckNv
bnRyb2xsZXI6OmdldFByb2ZpbGUobG9uZyBjYWxsSWQsIHVuc2lnbmVkIHVpZCkKQEAgLTE1NjQs
MjcgKzE1NTYsMTggQEAgdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpnZXRQcm9maWxlKGxvbmcg
Y2FsbElkLCB1bnNpZ25lZCB1aWQpCiAgICAgICAgIHJldHVybjsKICAgICBQcm9maWxlc01hcDo6
aXRlcmF0b3IgaXQgPSBtX3Byb2ZpbGVzLmZpbmQodWlkKTsKICAgICBpZiAoaXQgIT0gbV9wcm9m
aWxlcy5lbmQoKSkgewotI2lmIFVTRShKU0MpCi0gICAgICAgIG1fZnJvbnRlbmQtPmRpZEdldFBy
b2ZpbGUoY2FsbElkLCB0b0pTKG1fZnJvbnRlbmQtPnNjcmlwdFN0YXRlKCksIGl0LT5zZWNvbmQu
Z2V0KCkpKTsKLSNlbHNlCi0gICAgICAgIFNjcmlwdFNjb3BlIHNjb3BlKG1fZnJvbnRlbmQtPnNj
cmlwdFN0YXRlKCkpOwotICAgICAgICBtX2Zyb250ZW5kLT5kaWRHZXRQcm9maWxlKGNhbGxJZCwg
dG9WOChpdC0+c2Vjb25kLmdldCgpKSk7Ci0jZW5kaWYKKyAgICAgICAgUmVmUHRyPEluc3BlY3Rv
ck9iamVjdD4gcHJvZmlsZU9iamVjdCA9IGNyZWF0ZVByb2ZpbGVIZWFkZXIoKml0LT5zZWNvbmQp
OworICAgICAgICBwcm9maWxlT2JqZWN0LT5zZXQoImhlYWQiLCBpdC0+c2Vjb25kLT5idWlsZElu
c3BlY3Rvck9iamVjdEZvckhlYWQoKSk7CisgICAgICAgIG1fcmVtb3RlRnJvbnRlbmQtPmRpZEdl
dFByb2ZpbGUoY2FsbElkLCBwcm9maWxlT2JqZWN0KTsKICAgICB9CiB9CiAKLVNjcmlwdE9iamVj
dCBJbnNwZWN0b3JDb250cm9sbGVyOjpjcmVhdGVQcm9maWxlSGVhZGVyKGNvbnN0IFNjcmlwdFBy
b2ZpbGUmIHByb2ZpbGUpCitQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gSW5zcGVjdG9yQ29u
dHJvbGxlcjo6Y3JlYXRlUHJvZmlsZUhlYWRlcihjb25zdCBTY3JpcHRQcm9maWxlJiBwcm9maWxl
KQogewotI2lmIFVTRShKU0MpCi0gICAgU3RyaW5nIHRpdGxlID0gdXN0cmluZ1RvU3RyaW5nKHBy
b2ZpbGUudGl0bGUoKSk7Ci0jZWxzZQotICAgIFN0cmluZyB0aXRsZSA9IHByb2ZpbGUudGl0bGUo
KTsKLSNlbmRpZgotCi0gICAgU2NyaXB0T2JqZWN0IGhlYWRlciA9IG1fZnJvbnRlbmQtPm5ld1Nj
cmlwdE9iamVjdCgpOwotICAgIGhlYWRlci5zZXQoInRpdGxlIiwgdGl0bGUpOwotICAgIGhlYWRl
ci5zZXQoInVpZCIsIHByb2ZpbGUudWlkKCkpOwotICAgIGhlYWRlci5zZXQoInR5cGVJZCIsIFN0
cmluZyhDUFVQcm9maWxlVHlwZSkpOworICAgIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGhlYWRl
ciA9IEluc3BlY3Rvck9iamVjdDo6Y3JlYXRlKCk7CisgICAgaGVhZGVyLT5zZXRTdHJpbmcoInRp
dGxlIiwgcHJvZmlsZS50aXRsZSgpKTsKKyAgICBoZWFkZXItPnNldE51bWJlcigidWlkIiwgcHJv
ZmlsZS51aWQoKSk7CisgICAgaGVhZGVyLT5zZXRTdHJpbmcoInR5cGVJZCIsIFN0cmluZyhDUFVQ
cm9maWxlVHlwZSkpOwogICAgIHJldHVybiBoZWFkZXI7CiB9CiAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaCBiL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckNvbnRyb2xsZXIuaAppbmRleCA4OTBhZjMxNWE3Njk5OGQ3NGMwYjg1YjA2NjA2ZGUx
ZDU4NGQwZDUxLi5lYWU1ZDE2Y2JmNDBlN2ZmNzMxYWFhZDBlMmVkMzY1MTNiYzI1ZThhIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKKysrIGIvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCkBAIC0zMTgsNyArMzE4LDcgQEAg
cHJpdmF0ZToKICAgICB2b2lkIGVuYWJsZURlYnVnZ2VyRnJvbUZyb250ZW5kKGJvb2wgYWx3YXlz
KTsKICAgICB2b2lkIGdldFByb2ZpbGVIZWFkZXJzKGxvbmcgY2FsbElkKTsKICAgICB2b2lkIGdl
dFByb2ZpbGUobG9uZyBjYWxsSWQsIHVuc2lnbmVkIHVpZCk7Ci0gICAgU2NyaXB0T2JqZWN0IGNy
ZWF0ZVByb2ZpbGVIZWFkZXIoY29uc3QgU2NyaXB0UHJvZmlsZSYgcHJvZmlsZSk7CisgICAgUGFz
c1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGNyZWF0ZVByb2ZpbGVIZWFkZXIoY29uc3QgU2NyaXB0
UHJvZmlsZSYgcHJvZmlsZSk7CiAjZW5kaWYKICNpZiBFTkFCTEUoREFUQUJBU0UpCiAgICAgdm9p
ZCBzZWxlY3REYXRhYmFzZShEYXRhYmFzZSogZGF0YWJhc2UpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmQuY3BwIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yRnJvbnRlbmQuY3BwCmluZGV4IDI5NmYwMDg3OGMzZjFkMjFlMjM5Njk4MGYxNTRkMjFl
ZWIyYTJiN2QuLjY4ZWJlN2Q2ODcwYWYwMmJlY2IxODYyMzJkYWUxZWU3YWMyZGEyYjYgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kLmNwcAorKysgYi9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZC5jcHAKQEAgLTMxMCwxNCArMzEwLDYgQEAg
dm9pZCBJbnNwZWN0b3JGcm9udGVuZDo6cHJvZmlsZXJXYXNEaXNhYmxlZCgpCiAgICAgY2FsbFNp
bXBsZUZ1bmN0aW9uKCJwcm9maWxlcldhc0Rpc2FibGVkIik7CiB9CiAKLXZvaWQgSW5zcGVjdG9y
RnJvbnRlbmQ6OmFkZFByb2ZpbGVIZWFkZXIoY29uc3QgU2NyaXB0VmFsdWUmIHByb2ZpbGUpCi17
Ci0gICAgU2NyaXB0RnVuY3Rpb25DYWxsIGZ1bmN0aW9uKG1fd2ViSW5zcGVjdG9yLCAiZGlzcGF0
Y2giKTsgCi0gICAgZnVuY3Rpb24uYXBwZW5kQXJndW1lbnQoImFkZFByb2ZpbGVIZWFkZXIiKTsK
LSAgICBmdW5jdGlvbi5hcHBlbmRBcmd1bWVudChwcm9maWxlKTsKLSAgICBmdW5jdGlvbi5jYWxs
KCk7Ci19Ci0KIHZvaWQgSW5zcGVjdG9yRnJvbnRlbmQ6OnNldFJlY29yZGluZ1Byb2ZpbGUoYm9v
bCBpc1Byb2ZpbGluZykKIHsKICAgICBTY3JpcHRGdW5jdGlvbkNhbGwgZnVuY3Rpb24obV93ZWJJ
bnNwZWN0b3IsICJkaXNwYXRjaCIpOyAKQEAgLTMyNiwxNSArMzE4LDYgQEAgdm9pZCBJbnNwZWN0
b3JGcm9udGVuZDo6c2V0UmVjb3JkaW5nUHJvZmlsZShib29sIGlzUHJvZmlsaW5nKQogICAgIGZ1
bmN0aW9uLmNhbGwoKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JGcm9udGVuZDo6ZGlkR2V0UHJvZmls
ZUhlYWRlcnMobG9uZyBjYWxsSWQsIGNvbnN0IFNjcmlwdEFycmF5JiBoZWFkZXJzKQotewotICAg
IFNjcmlwdEZ1bmN0aW9uQ2FsbCBmdW5jdGlvbihtX3dlYkluc3BlY3RvciwgImRpc3BhdGNoIik7
IAotICAgIGZ1bmN0aW9uLmFwcGVuZEFyZ3VtZW50KCJkaWRHZXRQcm9maWxlSGVhZGVycyIpOwot
ICAgIGZ1bmN0aW9uLmFwcGVuZEFyZ3VtZW50KGNhbGxJZCk7Ci0gICAgZnVuY3Rpb24uYXBwZW5k
QXJndW1lbnQoaGVhZGVycyk7Ci0gICAgZnVuY3Rpb24uY2FsbCgpOwotfQotCiB2b2lkIEluc3Bl
Y3RvckZyb250ZW5kOjpkaWRHZXRQcm9maWxlKGxvbmcgY2FsbElkLCBjb25zdCBTY3JpcHRWYWx1
ZSYgcHJvZmlsZSkKIHsKICAgICBTY3JpcHRGdW5jdGlvbkNhbGwgZnVuY3Rpb24obV93ZWJJbnNw
ZWN0b3IsICJkaXNwYXRjaCIpOyAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckZyb250ZW5kLmggYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZC5oCmlu
ZGV4IDM4NDZiZDQ1ZWRjZTFkZmZkOWRhYjBmZGU5NmU5MDVmN2M2ODJiYmYuLjJhYjVhMWUxYjYw
YjczNmNmNGY2ZTAwZWIxY2VlZTJjYmQwMGRhZWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckZyb250ZW5kLmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RnJvbnRlbmQuaApAQCAtMTAyLDkgKzEwMiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAg
ICAgICB2b2lkIHByb2ZpbGVyV2FzRW5hYmxlZCgpOwogICAgICAgICB2b2lkIHByb2ZpbGVyV2Fz
RGlzYWJsZWQoKTsKLSAgICAgICAgdm9pZCBhZGRQcm9maWxlSGVhZGVyKGNvbnN0IFNjcmlwdFZh
bHVlJiBwcm9maWxlKTsKICAgICAgICAgdm9pZCBzZXRSZWNvcmRpbmdQcm9maWxlKGJvb2wgaXNQ
cm9maWxpbmcpOwotICAgICAgICB2b2lkIGRpZEdldFByb2ZpbGVIZWFkZXJzKGxvbmcgY2FsbElk
LCBjb25zdCBTY3JpcHRBcnJheSYgaGVhZGVycyk7CiAgICAgICAgIHZvaWQgZGlkR2V0UHJvZmls
ZShsb25nIGNhbGxJZCwgY29uc3QgU2NyaXB0VmFsdWUmIHByb2ZpbGUpOwogI2VuZGlmCiAK
</data>
<flag name="review"
          id="51783"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>