<?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>48838</bug_id>
          
          <creation_ts>2010-11-02 08:38:21 -0700</creation_ts>
          <short_desc>Add a way to send startup messages on the context which can be posted when a process launches</short_desc>
          <delta_ts>2010-11-02 15:08:31 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>303376</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-11-02 08:38:21 -0700</bug_when>
    <thetext>We should have a way to register &quot;startup messages&quot; on the context that are posted to the WebProcess each time it launches.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303674</commentid>
    <comment_count>1</comment_count>
      <attachid>72738</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-11-02 14:35:50 -0700</bug_when>
    <thetext>Created attachment 72738
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303702</commentid>
    <comment_count>2</comment_count>
      <attachid>72738</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-11-02 15:00:17 -0700</bug_when>
    <thetext>Comment on attachment 72738
Patch

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

&gt; WebKit2/ChangeLog:9
&gt; +        APIObject on WebContext to be sent to the InjectedBundle&apos;s  WKBundleInitialize

extra space.

&gt; WebKitTools/ChangeLog:23
&gt; +        each tests bundle.

test&apos;s ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303709</commentid>
    <comment_count>3</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-11-02 15:08:31 -0700</bug_when>
    <thetext>Landed in r71175.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>72738</attachid>
            <date>2010-11-02 14:35:50 -0700</date>
            <delta_ts>2010-11-02 15:00:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>initial.diff</filename>
            <type>text/plain</type>
            <size>19456</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MTExNykKKysrIFdlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzggQEAKKzIwMTAtMTEtMDIgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSB3
YXkgdG8gc2VuZCBzdGFydHVwIG1lc3NhZ2VzIG9uIHRoZSBjb250ZXh0IHdoaWNoIGNhbiBiZSBw
b3N0ZWQgd2hlbiBhIHByb2Nlc3MgbGF1bmNoZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTQ4ODM4CisKKyAgICAgICAgQWRkcyBXS0NvbnRleHRTZXRJ
bml0aWFsaXphdGlvblVzZXJEYXRhRm9ySW5qZWN0ZWRCdW5kbGUgd2hpY2ggc2V0cyBhbgorICAg
ICAgICBBUElPYmplY3Qgb24gV2ViQ29udGV4dCB0byBiZSBzZW50IHRvIHRoZSBJbmplY3RlZEJ1
bmRsZSdzICBXS0J1bmRsZUluaXRpYWxpemUKKyAgICAgICAgZnVuY3Rpb24gZWFjaCB0aW1lIGEg
cHJvY2VzcyBzdGFydHMgdXAuIFRoaXMgY2FuIGhlbHAgaW4gY2FzZXMgd2hlcmUKKyAgICAgICAg
dGhlIFdlYlByb2Nlc3MgZGllcywgYW5kIHdpbGwgYmUgaGVscGZ1bCBpbiB0aGUgd29ybGQgd2hl
cmUgdGhlcmUgYXJlCisgICAgICAgIG11bHRpcGxlIFdlYlByb2Nlc3MncyBwZXIgY29udGV4dC4K
KworICAgICAgICAqIFNjcmlwdHMvd2Via2l0Mi9tZXNzYWdlcy5weToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL0MvV0tDb250ZXh0LmNwcDoKKyAgICAgICAgKFdLQ29udGV4dFNldEluaXRpYWxp
emF0aW9uVXNlckRhdGFGb3JJbmplY3RlZEJ1bmRsZSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9DL1dLQ29udGV4dC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViQ29udGV4dDo6ZW5zdXJlV2ViUHJvY2Vzcyk6CisgICAgICAgICog
VUlQcm9jZXNzL1dlYkNvbnRleHQuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4dDo6c2V0
SW5qZWN0ZWRCdW5kbGVJbml0aWFsaXphdGlvblVzZXJEYXRhKToKKyAgICAgICAgKFdlYktpdDo6
V2ViQ29udGV4dDo6aW5qZWN0ZWRCdW5kbGVJbml0aWFsaXphdGlvblVzZXJEYXRhKToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlSW5pdGlhbGl6ZS5o
OgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaDoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL21hYy9JbmplY3RlZEJ1bmRsZU1h
Yy5jcHA6CisgICAgICAgIChXZWJLaXQ6OkluamVjdGVkQnVuZGxlOjpsb2FkKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL3F0L0luamVjdGVkQnVuZGxlUXQuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZTo6bG9hZCk6CisgICAgICAgICogV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS93aW4vSW5qZWN0ZWRCdW5kbGVXaW4uY3BwOgorICAgICAgICAoV2Vi
S2l0OjpJbmplY3RlZEJ1bmRsZTo6bG9hZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6aW5pdGlhbGl6ZVdlYlByb2Nl
c3MpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKwogMjAxMC0xMS0wMiAgVGltb3RoeSBIYXRj
aGVyICA8dGltb3RoeUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIFdLSW5zcGVjdG9yIHB1Ymxp
YyBBUElzLgpJbmRleDogV2ViS2l0Mi9TY3JpcHRzL3dlYmtpdDIvbWVzc2FnZXMucHkKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViS2l0Mi9TY3JpcHRzL3dlYmtpdDIvbWVzc2FnZXMucHkJKHJldmlzaW9uIDcx
MTAyKQorKysgV2ViS2l0Mi9TY3JpcHRzL3dlYmtpdDIvbWVzc2FnZXMucHkJKHdvcmtpbmcgY29w
eSkKQEAgLTE0OSw2ICsxNDksNyBAQCBkZWYgbWVzc2FnZXNfdG9fa2luZF9lbnVtKG1lc3NhZ2Vz
KToKIGRlZiBwYXJhbWV0ZXJfdHlwZV9pc192YXJpYWRpYyh0eXBlKToKICAgICB2YXJpYWRpY190
eXBlcyA9IGZyb3plbnNldChbCiAgICAgICAgICdXZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNlck1l
c3NhZ2VFbmNvZGVyJywKKyAgICAgICAgJ1dlYktpdDo6V2ViQ29udGV4dFVzZXJNZXNzYWdlRW5j
b2RlcicsCiAgICAgXSkKIAogICAgIHJldHVybiB0eXBlIGluIHZhcmlhZGljX3R5cGVzCkBAIC0z
ODAsNiArMzgxLDcgQEAgZGVmIGFyZ3VtZW50X2NvZGVyX2hlYWRlcnNfZm9yX3R5cGUodHlwZQog
ICAgIHNwZWNpYWxfY2FzZXMgPSB7CiAgICAgICAgICdXVEY6OlN0cmluZyc6ICciQXJndW1lbnRD
b2RlcnMuaCInLAogICAgICAgICAnV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5j
b2Rlcic6ICciSW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUNvZGVycy5oIicsCisgICAgICAgICdX
ZWJLaXQ6OldlYkNvbnRleHRVc2VyTWVzc2FnZUVuY29kZXInOiAnIldlYkNvbnRleHRVc2VyTWVz
c2FnZUNvZGVycy5oIicsCiAgICAgfQogCiAgICAgaWYgdHlwZSBpbiBzcGVjaWFsX2Nhc2VzOgpJ
bmRleDogV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAJKHJldmlzaW9uIDcxMTAyKQorKysgV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3OSw3ICsxNzks
NyBAQCB2b2lkIFdlYkNvbnRleHQ6OmVuc3VyZVdlYlByb2Nlc3MoKQogICAgIC8vIEFkZCBhbnkg
cGxhdGZvcm0gc3BlY2lmaWMgcGFyYW1ldGVycwogICAgIHBsYXRmb3JtSW5pdGlhbGl6ZVdlYlBy
b2Nlc3MocGFyYW1ldGVycyk7CiAKLSAgICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBy
b2Nlc3M6OkluaXRpYWxpemVXZWJQcm9jZXNzKHBhcmFtZXRlcnMpLCAwKTsKKyAgICBtX3Byb2Nl
c3MtPnNlbmQoTWVzc2FnZXM6OldlYlByb2Nlc3M6OkluaXRpYWxpemVXZWJQcm9jZXNzKHBhcmFt
ZXRlcnMsIFdlYkNvbnRleHRVc2VyTWVzc2FnZUVuY29kZXIobV9pbmplY3RlZEJ1bmRsZUluaXRp
YWxpemF0aW9uVXNlckRhdGEuZ2V0KCkpKSwgMCk7CiAKICAgICBmb3IgKHNpemVfdCBpID0gMDsg
aSAhPSBtX3BlbmRpbmdNZXNzYWdlc1RvUG9zdFRvSW5qZWN0ZWRCdW5kbGUuc2l6ZSgpOyArK2kp
IHsKICAgICAgICAgcGFpcjxTdHJpbmcsIFJlZlB0cjxBUElPYmplY3Q+ID4mIG1lc3NhZ2UgPSBt
X3BlbmRpbmdNZXNzYWdlc1RvUG9zdFRvSW5qZWN0ZWRCdW5kbGVbaV07CkluZGV4OiBXZWJLaXQy
L1VJUHJvY2Vzcy9XZWJDb250ZXh0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViQ29udGV4dC5oCShyZXZpc2lvbiA3MTEwMikKKysrIFdlYktpdDIvVUlQcm9jZXNzL1dlYkNv
bnRleHQuaAkod29ya2luZyBjb3B5KQpAQCAtODMsNiArODMsOSBAQCBwdWJsaWM6CiAKICAgICBj
b25zdCBTdHJpbmcmIGluamVjdGVkQnVuZGxlUGF0aCgpIGNvbnN0IHsgcmV0dXJuIG1faW5qZWN0
ZWRCdW5kbGVQYXRoOyB9CiAKKyAgICB2b2lkIHNldEluamVjdGVkQnVuZGxlSW5pdGlhbGl6YXRp
b25Vc2VyRGF0YShQYXNzUmVmUHRyPEFQSU9iamVjdD4gdXNlckRhdGEpIHsgbV9pbmplY3RlZEJ1
bmRsZUluaXRpYWxpemF0aW9uVXNlckRhdGEgPSB1c2VyRGF0YTsgfQorICAgIEFQSU9iamVjdCog
aW5qZWN0ZWRCdW5kbGVJbml0aWFsaXphdGlvblVzZXJEYXRhKCkgY29uc3QgeyByZXR1cm4gbV9p
bmplY3RlZEJ1bmRsZUluaXRpYWxpemF0aW9uVXNlckRhdGEuZ2V0KCk7IH0KKwogICAgIHZvaWQg
cG9zdE1lc3NhZ2VUb0luamVjdGVkQnVuZGxlKGNvbnN0IFN0cmluZyYsIEFQSU9iamVjdCopOwog
CiAgICAgLy8gSW5qZWN0ZWRCdW5kbGUgY2xpZW50CkBAIC0xNDIsNiArMTQ1LDcgQEAgcHJpdmF0
ZToKICAgICBIYXNoU2V0PFdlYlBhZ2VOYW1lc3BhY2UqPiBtX3BhZ2VOYW1lc3BhY2VzOwogICAg
IFJlZlB0cjxXZWJQcmVmZXJlbmNlcz4gbV9wcmVmZXJlbmNlczsKIAorICAgIFJlZlB0cjxBUElP
YmplY3Q+IG1faW5qZWN0ZWRCdW5kbGVJbml0aWFsaXphdGlvblVzZXJEYXRhOwogICAgIFN0cmlu
ZyBtX2luamVjdGVkQnVuZGxlUGF0aDsKICAgICBXZWJDb250ZXh0SW5qZWN0ZWRCdW5kbGVDbGll
bnQgbV9pbmplY3RlZEJ1bmRsZUNsaWVudDsKIApJbmRleDogV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvV0tDb250ZXh0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9X
S0NvbnRleHQuY3BwCShyZXZpc2lvbiA3MTEwMikKKysrIFdlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L1dLQ29udGV4dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg2LDYgKzg2LDExIEBAIHZvaWQgV0tD
b250ZXh0U2V0SGlzdG9yeUNsaWVudChXS0NvbnRleHQKICAgICB0b0ltcGwoY29udGV4dFJlZikt
PmluaXRpYWxpemVIaXN0b3J5Q2xpZW50KHdrQ2xpZW50KTsKIH0KIAordm9pZCBXS0NvbnRleHRT
ZXRJbml0aWFsaXphdGlvblVzZXJEYXRhRm9ySW5qZWN0ZWRCdW5kbGUoV0tDb250ZXh0UmVmIGNv
bnRleHRSZWYsICBXS1R5cGVSZWYgdXNlckRhdGFSZWYpCit7CisgICAgdG9JbXBsKGNvbnRleHRS
ZWYpLT5zZXRJbmplY3RlZEJ1bmRsZUluaXRpYWxpemF0aW9uVXNlckRhdGEodG9JbXBsKHVzZXJE
YXRhUmVmKSk7Cit9CisKIHZvaWQgV0tDb250ZXh0UG9zdE1lc3NhZ2VUb0luamVjdGVkQnVuZGxl
KFdLQ29udGV4dFJlZiBjb250ZXh0UmVmLCBXS1N0cmluZ1JlZiBtZXNzYWdlTmFtZVJlZiwgV0tU
eXBlUmVmIG1lc3NhZ2VCb2R5UmVmKQogewogICAgIHRvSW1wbChjb250ZXh0UmVmKS0+cG9zdE1l
c3NhZ2VUb0luamVjdGVkQnVuZGxlKHRvSW1wbChtZXNzYWdlTmFtZVJlZiktPnN0cmluZygpLCB0
b0ltcGwobWVzc2FnZUJvZHlSZWYpKTsKSW5kZXg6IFdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
Q29udGV4dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4
dC5oCShyZXZpc2lvbiA3MTEwMikKKysrIFdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4
dC5oCSh3b3JraW5nIGNvcHkpCkBAIC04MSw2ICs4MSw3IEBAIFdLX0VYUE9SVCBXS1ByZWZlcmVu
Y2VzUmVmIFdLQ29udGV4dEdldFAKIFdLX0VYUE9SVCB2b2lkIFdLQ29udGV4dFNldEhpc3RvcnlD
bGllbnQoV0tDb250ZXh0UmVmIGNvbnRleHQsIGNvbnN0IFdLQ29udGV4dEhpc3RvcnlDbGllbnQq
IGNsaWVudCk7CiBXS19FWFBPUlQgdm9pZCBXS0NvbnRleHRTZXRJbmplY3RlZEJ1bmRsZUNsaWVu
dChXS0NvbnRleHRSZWYgY29udGV4dCwgY29uc3QgV0tDb250ZXh0SW5qZWN0ZWRCdW5kbGVDbGll
bnQqIGNsaWVudCk7CiAKK1dLX0VYUE9SVCB2b2lkIFdLQ29udGV4dFNldEluaXRpYWxpemF0aW9u
VXNlckRhdGFGb3JJbmplY3RlZEJ1bmRsZShXS0NvbnRleHRSZWYgY29udGV4dCwgV0tUeXBlUmVm
IHVzZXJEYXRhKTsKIFdLX0VYUE9SVCB2b2lkIFdLQ29udGV4dFBvc3RNZXNzYWdlVG9JbmplY3Rl
ZEJ1bmRsZShXS0NvbnRleHRSZWYgY29udGV4dCwgV0tTdHJpbmdSZWYgbWVzc2FnZU5hbWUsIFdL
VHlwZVJlZiBtZXNzYWdlQm9keSk7CiAKIFdLX0VYUE9SVCB2b2lkIFdLQ29udGV4dEFkZFZpc2l0
ZWRMaW5rKFdLQ29udGV4dFJlZiBjb250ZXh0LCBXS1N0cmluZ1JlZiB2aXNpdGVkVVJMKTsKSW5k
ZXg6IFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAJKHJldmlzaW9uIDcxMTAyKQorKysgV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw2ICsyNyw3
IEBACiAKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZS5oIgogI2luY2x1ZGUgIkluamVjdGVkQnVu
ZGxlTWVzc2FnZUtpbmRzLmgiCisjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUNv
ZGVycy5oIgogI2luY2x1ZGUgIlJ1bkxvb3AuaCIKICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRD
b2RlcnMuaCIKICNpbmNsdWRlICJXZWJGcmFtZS5oIgpAQCAtMTE0LDI0ICsxMTUsMjkgQEAgdm9p
ZCBXZWJQcm9jZXNzOjppbml0aWFsaXplKENvcmVJUEM6OkNvbgogICAgIHN0YXJ0UmFuZG9tQ3Jh
c2hUaHJlYWRJZlJlcXVlc3RlZCgpOwogfQogCi12b2lkIFdlYlByb2Nlc3M6OmluaXRpYWxpemVX
ZWJQcm9jZXNzKGNvbnN0IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMp
Cit2b2lkIFdlYlByb2Nlc3M6OmluaXRpYWxpemVXZWJQcm9jZXNzKGNvbnN0IFdlYlByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMsIENvcmVJUEM6OkFyZ3VtZW50RGVjb2Rlciog
YXJndW1lbnRzKQogewogICAgIEFTU0VSVChtX3BhZ2VNYXAuaXNFbXB0eSgpKTsKIAotICAgIGlm
ICghcGFyYW1ldGVycy5hcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5LmlzRW1wdHkoKSkKLSAgICAg
ICAgY2FjaGVTdG9yYWdlKCkuc2V0Q2FjaGVEaXJlY3RvcnkocGFyYW1ldGVycy5hcHBsaWNhdGlv
bkNhY2hlRGlyZWN0b3J5KTsKKyAgICBSZWZQdHI8QVBJT2JqZWN0PiBpbmplY3RlZEJ1bmRsZUlu
aXRpYWxpemF0aW9uVXNlckRhdGE7CisgICAgSW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZURlY29k
ZXIgbWVzc2FnZURlY29kZXIoaW5qZWN0ZWRCdW5kbGVJbml0aWFsaXphdGlvblVzZXJEYXRhKTsK
KyAgICBpZiAoIWFyZ3VtZW50cy0+ZGVjb2RlKG1lc3NhZ2VEZWNvZGVyKSkKKyAgICAgICAgcmV0
dXJuOwogCiAgICAgaWYgKCFwYXJhbWV0ZXJzLmluamVjdGVkQnVuZGxlUGF0aC5pc0VtcHR5KCkp
IHsKICAgICAgICAgbV9pbmplY3RlZEJ1bmRsZSA9IEluamVjdGVkQnVuZGxlOjpjcmVhdGUocGFy
YW1ldGVycy5pbmplY3RlZEJ1bmRsZVBhdGgpOwogI2lmIEVOQUJMRShXRUJfUFJPQ0VTU19TQU5E
Qk9YKQogICAgICAgICBtX2luamVjdGVkQnVuZGxlLT5zZXRTYW5kYm94VG9rZW4ocGFyYW1ldGVy
cy5pbmplY3RlZEJ1bmRsZVBhdGhUb2tlbik7CiAjZW5kaWYKLSAgICAgICAgaWYgKCFtX2luamVj
dGVkQnVuZGxlLT5sb2FkKCkpIHsKKyAgICAgICAgaWYgKCFtX2luamVjdGVkQnVuZGxlLT5sb2Fk
KGluamVjdGVkQnVuZGxlSW5pdGlhbGl6YXRpb25Vc2VyRGF0YS5nZXQoKSkpIHsKICAgICAgICAg
ICAgIC8vIERvbid0IGtlZXAgYXJvdW5kIHRoZSBJbmplY3RlZEJ1bmRsZSByZWZlcmVuY2UgaWYg
dGhlIGxvYWQgZmFpbHMuCiAgICAgICAgICAgICBtX2luamVjdGVkQnVuZGxlLmNsZWFyKCk7CiAg
ICAgICAgIH0KICAgICB9CiAKKyAgICBpZiAoIXBhcmFtZXRlcnMuYXBwbGljYXRpb25DYWNoZURp
cmVjdG9yeS5pc0VtcHR5KCkpCisgICAgICAgIGNhY2hlU3RvcmFnZSgpLnNldENhY2hlRGlyZWN0
b3J5KHBhcmFtZXRlcnMuYXBwbGljYXRpb25DYWNoZURpcmVjdG9yeSk7CisKICAgICBzZXRTaG91
bGRUcmFja1Zpc2l0ZWRMaW5rcyhwYXJhbWV0ZXJzLnNob3VsZFRyYWNrVmlzaXRlZExpbmtzKTsK
ICAgICBzZXRDYWNoZU1vZGVsKHN0YXRpY19jYXN0PHVpbnQzMl90PihwYXJhbWV0ZXJzLmNhY2hl
TW9kZWwpKTsKIApJbmRleDogV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCShyZXZpc2lvbiA3MTEwMikK
KysrIFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgJKHdvcmtpbmcgY29weSkKQEAgLTg3
LDcgKzg3LDcgQEAgcHJpdmF0ZToKICAgICBXZWJQcm9jZXNzKCk7CiAgICAgdm9pZCBzaHV0ZG93
bigpOwogCi0gICAgdm9pZCBpbml0aWFsaXplV2ViUHJvY2Vzcyhjb25zdCBXZWJQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzJik7CisgICAgdm9pZCBpbml0aWFsaXplV2ViUHJvY2Vzcyhjb25zdCBX
ZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiwgQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKik7
CiAgICAgdm9pZCBzZXRTaG91bGRUcmFja1Zpc2l0ZWRMaW5rcyhib29sKTsKICAgICB2b2lkIHJl
Z2lzdGVyVVJMU2NoZW1lQXNFbXB0eURvY3VtZW50KGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQg
cmVnaXN0ZXJVUkxTY2hlbWVBc1NlY3VyZShjb25zdCBTdHJpbmcmKSBjb25zdDsKSW5kZXg6IFdl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCShyZXZpc2lvbiA3MTEwMikK
KysrIFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCSh3b3JraW5nIGNv
cHkpCkBAIC0yMiw3ICsyMiw3IEBACiAKIG1lc3NhZ2VzIC0+IFdlYlByb2Nlc3MgewogICAgICMg
SW5pdGlhbGl6ZSB0aGUgV2ViUHJvY2Vzcy4gCi0gICAgSW5pdGlhbGl6ZVdlYlByb2Nlc3MoV2Vi
S2l0OjpXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHByb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnMpCisgICAgSW5pdGlhbGl6ZVdlYlByb2Nlc3MoV2ViS2l0OjpXZWJQcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzIHByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMsIFdlYktpdDo6V2ViQ29udGV4dFVz
ZXJNZXNzYWdlRW5jb2RlciBpbml0aWFsaXphdGlvblVzZXJEYXRhKQogCiAgICAgIyBDcmVhdGUg
YSBuZXcgcGFnZS4KICAgICBDcmVhdGVXZWJQYWdlKHVpbnQ2NF90IG5ld1BhZ2VJRCwgV2ViS2l0
OjpXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzIHBhZ2VDcmVhdGlvblBhcmFtZXRlcnMpCkluZGV4
OiBXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5k
bGUuaAkocmV2aXNpb24gNzExMDIpCisrKyBXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvSW5qZWN0ZWRCdW5kbGUuaAkod29ya2luZyBjb3B5KQpAQCAtNjcsNyArNjcsNyBAQCBwdWJs
aWM6CiAgICAgfQogICAgIH5JbmplY3RlZEJ1bmRsZSgpOwogCi0gICAgYm9vbCBsb2FkKCk7Cisg
ICAgYm9vbCBsb2FkKEFQSU9iamVjdCogaW5pdGlhbGl6YXRpb25Vc2VyRGF0YSk7CiAKICNpZiBF
TkFCTEUoV0VCX1BST0NFU1NfU0FOREJPWCkKICAgICB2b2lkIHNldFNhbmRib3hUb2tlbihjb25z
dCBTdHJpbmcmIHNhbmRib3hUb2tlbikgeyBtX3NhbmRib3hUb2tlbiA9IHNhbmRib3hUb2tlbjsg
fQpJbmRleDogV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxl
SW5pdGlhbGl6ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9BUEkvYy9XS0J1bmRsZUluaXRpYWxpemUuaAkocmV2aXNpb24gNzExMDIpCisrKyBXZWJL
aXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVJbml0aWFsaXplLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTMzLDcgKzMzLDcgQEAgZXh0ZXJuICJDIiB7CiAjZW5kaWYKIAog
Ly8gTk9URTogTXVzdCBiZSBpbXBsZW1lbnRlZCBieSBJbmplY3RlZEJ1bmRsZSdzIGFzIGEgZnVu
Y3Rpb24gbmFtZWQgIldLQnVuZGxlSW5pdGlhbGl6ZSIuCi10eXBlZGVmIHZvaWQgKCpXS0J1bmRs
ZUluaXRpYWxpemVGdW5jdGlvblB0cikoV0tCdW5kbGVSZWYpOwordHlwZWRlZiB2b2lkICgqV0tC
dW5kbGVJbml0aWFsaXplRnVuY3Rpb25QdHIpKFdLQnVuZGxlUmVmLCBXS1R5cGVSZWYpOwogCiAj
aWZkZWYgX19jcGx1c3BsdXMKIH0KSW5kZXg6IFdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9tYWMvSW5qZWN0ZWRCdW5kbGVNYWMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9tYWMvSW5qZWN0ZWRCdW5kbGVNYWMuY3BwCShyZXZpc2lv
biA3MTEwMikKKysrIFdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9tYWMvSW5qZWN0
ZWRCdW5kbGVNYWMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOSw3ICszOSw3IEBAIHVzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotYm9vbCBJbmplY3RlZEJ1
bmRsZTo6bG9hZCgpCitib29sIEluamVjdGVkQnVuZGxlOjpsb2FkKEFQSU9iamVjdCogaW5pdGlh
bGl6YXRpb25Vc2VyRGF0YSkKIHsKICNpZiBFTkFCTEUoV0VCX1BST0NFU1NfU0FOREJPWCkKICAg
ICBpZiAoIW1fc2FuZGJveFRva2VuLmlzRW1wdHkoKSkgewpAQCAtODIsNyArODIsNyBAQCBib29s
IEluamVjdGVkQnVuZGxlOjpsb2FkKCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAot
ICAgIGluaXRpYWxpemVGdW5jdGlvbih0b0FQSSh0aGlzKSk7CisgICAgaW5pdGlhbGl6ZUZ1bmN0
aW9uKHRvQVBJKHRoaXMpLCB0b0FQSShpbml0aWFsaXphdGlvblVzZXJEYXRhKSk7CiAgICAgcmV0
dXJuIHRydWU7CiB9CiAKSW5kZXg6IFdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9x
dC9JbmplY3RlZEJ1bmRsZVF0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvcXQvSW5qZWN0ZWRCdW5kbGVRdC5jcHAJKHJldmlzaW9uIDcxMTAyKQor
KysgV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL3F0L0luamVjdGVkQnVuZGxlUXQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw3ICszMyw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJD
b3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotYm9vbCBJbmplY3RlZEJ1bmRsZTo6bG9hZCgp
Citib29sIEluamVjdGVkQnVuZGxlOjpsb2FkKEFQSU9iamVjdCogaW5pdGlhbGl6YXRpb25Vc2Vy
RGF0YSkKIHsKICAgICBtX3BsYXRmb3JtQnVuZGxlLnNldEZpbGVOYW1lKHN0YXRpY19jYXN0PFFT
dHJpbmc+KG1fcGF0aCkpOwogICAgIGlmICghbV9wbGF0Zm9ybUJ1bmRsZS5sb2FkKCkpIHsKQEAg
LTQ5LDcgKzQ5LDcgQEAgYm9vbCBJbmplY3RlZEJ1bmRsZTo6bG9hZCgpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKICAgICB9CiAKLSAgICBpbml0aWFsaXplRnVuY3Rpb24odG9BUEkodGhpcykpOwor
ICAgIGluaXRpYWxpemVGdW5jdGlvbih0b0FQSSh0aGlzKSwgdG9BUEkoaW5pdGlhbGl6YXRpb25V
c2VyRGF0YSkpOwogICAgIHJldHVybiB0cnVlOwogfQogCkluZGV4OiBXZWJLaXQyL1dlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvd2luL0luamVjdGVkQnVuZGxlV2luLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvd2luL0luamVjdGVkQnVuZGxlV2lu
LmNwcAkocmV2aXNpb24gNzExMDIpCisrKyBXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvd2luL0luamVjdGVkQnVuZGxlV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTMsNyArNTMs
NyBAQCBzdGF0aWMgU3RyaW5nIGRpcmVjdG9yeU5hbWUoY29uc3QgU3RyaW5nCiAgICAgcmV0dXJu
IGRpck5hbWU7CiB9CiAKLWJvb2wgSW5qZWN0ZWRCdW5kbGU6OmxvYWQoKQorYm9vbCBJbmplY3Rl
ZEJ1bmRsZTo6bG9hZChBUElPYmplY3QqIGluaXRpYWxpemF0aW9uVXNlckRhdGEpCiB7CiAgICAg
V0NIQVIgY3VycmVudFBhdGhbTUFYX1BBVEhdOwogICAgIGlmICghOjpHZXRDdXJyZW50RGlyZWN0
b3J5VyhNQVhfUEFUSCwgY3VycmVudFBhdGgpKQpAQCAtNzYsNyArNzYsNyBAQCBib29sIEluamVj
dGVkQnVuZGxlOjpsb2FkKCkKICAgICBpZiAoIWluaXRpYWxpemVGdW5jdGlvbikKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCi0gICAgaW5pdGlhbGl6ZUZ1bmN0aW9uKHRvQVBJKHRoaXMpKTsKKyAg
ICBpbml0aWFsaXplRnVuY3Rpb24odG9BUEkodGhpcyksIHRvQVBJKGluaXRpYWxpemF0aW9uVXNl
ckRhdGEpKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApJbmRleDogV2ViS2l0VG9vbHMvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gNzExMTcp
CisrKyBXZWJLaXRUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyNyBA
QAorMjAxMC0xMS0wMiAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIHdheSB0byBzZW5kIHN0
YXJ0dXAgbWVzc2FnZXMgb24gdGhlIGNvbnRleHQgd2hpY2ggY2FuIGJlIHBvc3RlZCB3aGVuIGEg
cHJvY2VzcyBsYXVuY2hlcworICAgICAgICA8cmRhcjovL3Byb2JsZW0vODYxNzkyOD4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ4ODM4CisKKyAgICAg
ICAgKiBNaW5pQnJvd3Nlci9tYWMvV2ViQnVuZGxlL1dlYkJ1bmRsZU1haW4ubToKKyAgICAgICAg
KFdLQnVuZGxlSW5pdGlhbGl6ZSk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9JbmplY3RlZEJ1
bmRsZUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6SW5qZWN0ZWRCdW5k
bGVDb250cm9sbGVyOjppbml0aWFsaXplKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OkluamVj
dGVkQnVuZGxlQ29udHJvbGxlcjo6ZGlkUmVjZWl2ZU1lc3NhZ2UpOgorICAgICAgICAqIFRlc3RX
ZWJLaXRBUEkvSW5qZWN0ZWRCdW5kbGVDb250cm9sbGVyLmg6CisgICAgICAgICogVGVzdFdlYktp
dEFQSS9JbmplY3RlZEJ1bmRsZU1haW4uY3BwOgorICAgICAgICAoV0tCdW5kbGVJbml0aWFsaXpl
KToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1BsYXRmb3JtVXRpbGl0aWVzLmNwcDoKKyAgICAg
ICAgKFRlc3RXZWJLaXRBUEk6OlV0aWw6OmNyZWF0ZUNvbnRleHRGb3JJbmplY3RlZEJ1bmRsZVRl
c3QpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRC
dW5kbGVNYWluLmNwcDoKKyAgICAgICAgKFdLQnVuZGxlSW5pdGlhbGl6ZSk6CisgICAgICAgIFVw
ZGF0ZSBpbXBsZW1lbnRhdGlvbnMgb2YgV0tCdW5kbGVJbml0aWFsaXplIHRvIHRha2UgYW4gaW5p
dGlhbCB1c2VyRGF0YQorICAgICAgICBhcmd1bWVudC4gIENoYW5nZSBUZXN0V2ViS2l0QVBJIHRv
IHVzZSB0aGUgbmV3IGluaXRpYWwgdXNlckRhdGEgdG8gaW5pdGlhbGl6ZQorICAgICAgICBlYWNo
IHRlc3RzIGJ1bmRsZS4KKwogMjAxMC0xMS0wMiAgQWRhbSBSb2JlbiAgPGFyb2JlbkBhcHBsZS5j
b20+CiAKICAgICAgICAgT25seSB0cmFjayByZXNvdXJjZSBpZGVudGlmaWVycyBpbiBEUlQgd2hl
biBkdW1wUmVzb3VyY2VMb2FkQ2FsbGJhY2tzCkluZGV4OiBXZWJLaXRUb29scy9NaW5pQnJvd3Nl
ci9tYWMvV2ViQnVuZGxlL1dlYkJ1bmRsZU1haW4ubQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29s
cy9NaW5pQnJvd3Nlci9tYWMvV2ViQnVuZGxlL1dlYkJ1bmRsZU1haW4ubQkocmV2aXNpb24gNzEx
MDIpCisrKyBXZWJLaXRUb29scy9NaW5pQnJvd3Nlci9tYWMvV2ViQnVuZGxlL1dlYkJ1bmRsZU1h
aW4ubQkod29ya2luZyBjb3B5KQpAQCAtODgsNyArODgsNyBAQCB2b2lkIGRpZFJlY2lldmVNZXNz
YWdlKFdLQnVuZGxlUmVmIGJ1bmRsCiAgICAgQ0ZSZWxlYXNlKGNmTWVzc2FnZU5hbWUpOwogfQog
Ci12b2lkIFdLQnVuZGxlSW5pdGlhbGl6ZShXS0J1bmRsZVJlZiBidW5kbGUpCit2b2lkIFdLQnVu
ZGxlSW5pdGlhbGl6ZShXS0J1bmRsZVJlZiBidW5kbGUsIFdLVHlwZVJlZiBpbml0aWFsaXphdGlv
blVzZXJEYXRhKQogewogICAgIGdsb2JhbEJ1bmRsZSA9IGJ1bmRsZTsKIApJbmRleDogV2ViS2l0
VG9vbHMvVGVzdFdlYktpdEFQSS9JbmplY3RlZEJ1bmRsZUNvbnRyb2xsZXIuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYktpdFRvb2xzL1Rlc3RXZWJLaXRBUEkvSW5qZWN0ZWRCdW5kbGVDb250cm9sbGVy
LmNwcAkocmV2aXNpb24gNzExMDIpCisrKyBXZWJLaXRUb29scy9UZXN0V2ViS2l0QVBJL0luamVj
dGVkQnVuZGxlQ29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDcgKzQ1LDcgQEAg
SW5qZWN0ZWRCdW5kbGVDb250cm9sbGVyOjpJbmplY3RlZEJ1bmRsZQogewogfQogCi12b2lkIElu
amVjdGVkQnVuZGxlQ29udHJvbGxlcjo6aW5pdGlhbGl6ZShXS0J1bmRsZVJlZiBidW5kbGUpCit2
b2lkIEluamVjdGVkQnVuZGxlQ29udHJvbGxlcjo6aW5pdGlhbGl6ZShXS0J1bmRsZVJlZiBidW5k
bGUsIFdLVHlwZVJlZiBpbml0aWFsaXphdGlvblVzZXJEYXRhKQogewogICAgIG1fYnVuZGxlID0g
YnVuZGxlOwogCkBAIC01Nyw2ICs1NywxMiBAQCB2b2lkIEluamVjdGVkQnVuZGxlQ29udHJvbGxl
cjo6aW5pdGlhbGl6CiAgICAgICAgIGRpZFJlY2VpdmVNZXNzYWdlCiAgICAgfTsKICAgICBXS0J1
bmRsZVNldENsaWVudChtX2J1bmRsZSwgJmNsaWVudCk7CisKKyAgICAvLyBJbml0aWFsaXplIHRo
ZSB0ZXN0IGZyb20gdGhlICJpbml0aWFsaXphdGlvblVzZXJEYXRhIi4KKyAgICBhc3NlcnQoV0tH
ZXRUeXBlSUQoaW5pdGlhbGl6YXRpb25Vc2VyRGF0YSkgPT0gV0tTdHJpbmdHZXRUeXBlSUQoKSk7
CisgICAgV0tTdHJpbmdSZWYgdGVzdE5hbWUgPSBzdGF0aWNfY2FzdDxXS1N0cmluZ1JlZj4oaW5p
dGlhbGl6YXRpb25Vc2VyRGF0YSk7CisKKyAgICBpbml0aWFsaXplVGVzdE5hbWVkKGJ1bmRsZSwg
VXRpbDo6dG9TVEQodGVzdE5hbWUpKTsKIH0KIAogdm9pZCBJbmplY3RlZEJ1bmRsZUNvbnRyb2xs
ZXI6OmRpZENyZWF0ZVBhZ2UoV0tCdW5kbGVSZWYgYnVuZGxlLCBXS0J1bmRsZVBhZ2VSZWYgcGFn
ZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKQEAgLTc2LDE2ICs4Miw2IEBAIHZvaWQgSW5qZWN0
ZWRCdW5kbGVDb250cm9sbGVyOjp3aWxsRGVzdHIKIHZvaWQgSW5qZWN0ZWRCdW5kbGVDb250cm9s
bGVyOjpkaWRSZWNlaXZlTWVzc2FnZShXS0J1bmRsZVJlZiBidW5kbGUsIFdLU3RyaW5nUmVmIG1l
c3NhZ2VOYW1lLCBXS1R5cGVSZWYgbWVzc2FnZUJvZHksIGNvbnN0IHZvaWQqIGNsaWVudEluZm8p
CiB7CiAgICAgSW5qZWN0ZWRCdW5kbGVDb250cm9sbGVyKiBzZWxmID0gc3RhdGljX2Nhc3Q8SW5q
ZWN0ZWRCdW5kbGVDb250cm9sbGVyKj4oY29uc3RfY2FzdDx2b2lkKj4oY2xpZW50SW5mbykpOwot
Ci0gICAgaWYgKFdLU3RyaW5nSXNFcXVhbFRvVVRGOENTdHJpbmcobWVzc2FnZU5hbWUsICJCdW5k
bGVUZXN0SW5zdGFudGlhdG9yIikpIHsKLSAgICAgICAgYXNzZXJ0KFdLR2V0VHlwZUlEKG1lc3Nh
Z2VCb2R5KSA9PSBXS1N0cmluZ0dldFR5cGVJRCgpKTsKLSAgICAgICAgV0tTdHJpbmdSZWYgbWVz
c2FnZUJvZHlTdHJpbmcgPSBzdGF0aWNfY2FzdDxXS1N0cmluZ1JlZj4obWVzc2FnZUJvZHkpOwot
Ci0gICAgICAgIHNlbGYtPmluaXRpYWxpemVUZXN0TmFtZWQoYnVuZGxlLCBVdGlsOjp0b1NURCht
ZXNzYWdlQm9keVN0cmluZykpOwotCi0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KICAgICBhc3Nl
cnQoc2VsZi0+bV9jdXJyZW50VGVzdCk7CiAgICAgc2VsZi0+bV9jdXJyZW50VGVzdC0+ZGlkUmVj
ZWl2ZU1lc3NhZ2UoYnVuZGxlLCBtZXNzYWdlTmFtZSwgbWVzc2FnZUJvZHkpOwogfQpJbmRleDog
V2ViS2l0VG9vbHMvVGVzdFdlYktpdEFQSS9JbmplY3RlZEJ1bmRsZUNvbnRyb2xsZXIuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJLaXRUb29scy9UZXN0V2ViS2l0QVBJL0luamVjdGVkQnVuZGxlQ29udHJv
bGxlci5oCShyZXZpc2lvbiA3MTEwMikKKysrIFdlYktpdFRvb2xzL1Rlc3RXZWJLaXRBUEkvSW5q
ZWN0ZWRCdW5kbGVDb250cm9sbGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTM4LDcgKzM4LDcgQEAg
Y2xhc3MgSW5qZWN0ZWRCdW5kbGVDb250cm9sbGVyIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgSW5q
ZWN0ZWRCdW5kbGVDb250cm9sbGVyJiBzaGFyZWQoKTsKIAotICAgIHZvaWQgaW5pdGlhbGl6ZShX
S0J1bmRsZVJlZik7CisgICAgdm9pZCBpbml0aWFsaXplKFdLQnVuZGxlUmVmLCBXS1R5cGVSZWYp
OwogCiAgICAgdm9pZCBkdW1wVGVzdE5hbWVzKCk7CiAgICAgdm9pZCBpbml0aWFsaXplVGVzdE5h
bWVkKFdLQnVuZGxlUmVmIGJ1bmRsZSwgY29uc3Qgc3RkOjpzdHJpbmcmKTsKSW5kZXg6IFdlYktp
dFRvb2xzL1Rlc3RXZWJLaXRBUEkvSW5qZWN0ZWRCdW5kbGVNYWluLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJLaXRUb29scy9UZXN0V2ViS2l0QVBJL0luamVjdGVkQnVuZGxlTWFpbi5jcHAJKHJldmlz
aW9uIDcxMTAyKQorKysgV2ViS2l0VG9vbHMvVGVzdFdlYktpdEFQSS9JbmplY3RlZEJ1bmRsZU1h
aW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw3IEBAIGV4dGVybiAiQyIgX19kZWNs
c3BlYyhkbGxleHBvcnQpIAogI2Vsc2UKIGV4dGVybiAiQyIKICNlbmRpZgotdm9pZCBXS0J1bmRs
ZUluaXRpYWxpemUoV0tCdW5kbGVSZWYgYnVuZGxlKQordm9pZCBXS0J1bmRsZUluaXRpYWxpemUo
V0tCdW5kbGVSZWYgYnVuZGxlLCBXS1R5cGVSZWYgaW5pdGlhbGl6YXRpb25Vc2VyRGF0YSkKIHsK
LSAgICBUZXN0V2ViS2l0QVBJOjpJbmplY3RlZEJ1bmRsZUNvbnRyb2xsZXI6OnNoYXJlZCgpLmlu
aXRpYWxpemUoYnVuZGxlKTsKKyAgICBUZXN0V2ViS2l0QVBJOjpJbmplY3RlZEJ1bmRsZUNvbnRy
b2xsZXI6OnNoYXJlZCgpLmluaXRpYWxpemUoYnVuZGxlLCBpbml0aWFsaXphdGlvblVzZXJEYXRh
KTsKIH0KSW5kZXg6IFdlYktpdFRvb2xzL1Rlc3RXZWJLaXRBUEkvUGxhdGZvcm1VdGlsaXRpZXMu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL1Rlc3RXZWJLaXRBUEkvUGxhdGZvcm1VdGls
aXRpZXMuY3BwCShyZXZpc2lvbiA3MTEwMikKKysrIFdlYktpdFRvb2xzL1Rlc3RXZWJLaXRBUEkv
UGxhdGZvcm1VdGlsaXRpZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNywxMyArMzcsMTAgQEAg
V0tDb250ZXh0UmVmIGNyZWF0ZUNvbnRleHRGb3JJbmplY3RlZEJ1bgogewogICAgIFdLUmV0YWlu
UHRyPFdLU3RyaW5nUmVmPiBpbmplY3RlZEJ1bmRsZVBhdGgoQWRvcHRXSywgY3JlYXRlSW5qZWN0
ZWRCdW5kbGVQYXRoKCkpOwogICAgIFdLQ29udGV4dFJlZiBjb250ZXh0ID0gV0tDb250ZXh0Q3Jl
YXRlV2l0aEluamVjdGVkQnVuZGxlUGF0aChpbmplY3RlZEJ1bmRsZVBhdGguZ2V0KCkpOwotICAg
IAotICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBtZXNzYWdlTmFtZShBZG9wdFdLLCBXS1N0
cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiQnVuZGxlVGVzdEluc3RhbnRpYXRvciIpKTsKLSAg
ICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gbWVzc2FnZUJvZHkoQWRvcHRXSywgV0tTdHJpbmdD
cmVhdGVXaXRoVVRGOENTdHJpbmcodGVzdE5hbWUuY19zdHIoKSkpOwogCi0gICAgLy8gRW5xdWV1
ZSBtZXNzYWdlIHRvIGluc3RhbnRpYXRlIHRoZSBidW5kbGUgdGVzdC4gCi0gICAgV0tDb250ZXh0
UG9zdE1lc3NhZ2VUb0luamVjdGVkQnVuZGxlKGNvbnRleHQsIG1lc3NhZ2VOYW1lLmdldCgpLCBt
ZXNzYWdlQm9keS5nZXQoKSk7Ci0gICAgCisgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IHRl
c3ROYW1lU3RyaW5nKEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKHRlc3RO
YW1lLmNfc3RyKCkpKTsKKyAgICBXS0NvbnRleHRTZXRJbml0aWFsT2JqZWN0Rm9ySW5qZWN0ZWRC
dW5kbGUoY29udGV4dCwgdGVzdE5hbWVTdHJpbmcuZ2V0KCkpOworCiAgICAgcmV0dXJuIGNvbnRl
eHQ7CiB9CiAKSW5kZXg6IFdlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvSW5qZWN0ZWRCdW5kbGVNYWluLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlTWFpbi5jcHAJKHJldmlz
aW9uIDcxMTAyKQorKysgV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9JbmplY3RlZEJ1bmRsZU1haW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw3IEBA
IGV4dGVybiAiQyIgX19kZWNsc3BlYyhkbGxleHBvcnQpIAogI2Vsc2UKIGV4dGVybiAiQyIKICNl
bmRpZgotdm9pZCBXS0J1bmRsZUluaXRpYWxpemUoV0tCdW5kbGVSZWYgYnVuZGxlKQordm9pZCBX
S0J1bmRsZUluaXRpYWxpemUoV0tCdW5kbGVSZWYgYnVuZGxlLCBXS1R5cGVSZWYgaW5pdGlhbGl6
YXRpb25Vc2VyRGF0YSkKIHsKICAgICBXVFI6OkluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5pbml0
aWFsaXplKGJ1bmRsZSk7CiB9Cg==
</data>
<flag name="review"
          id="63040"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>