<?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>135250</bug_id>
          
          <creation_ts>2014-07-24 13:03:57 -0700</creation_ts>
          <short_desc>Creating a JSGlobalObject with a custom JSClassRef results in a JSProxy with the wrong prototype</short_desc>
          <delta_ts>2014-08-05 16:54:40 -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>JavaScriptCore</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Hahnenberg">mhahnenberg</reporter>
          <assigned_to name="Mark Hahnenberg">mhahnenberg</assigned_to>
          <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1024566</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2014-07-24 13:03:57 -0700</bug_when>
    <thetext>JSGlobalObject::resetPrototype (which is called from JSGlobalContextCreateInGroup) doesn&apos;t change its JSProxy&apos;s prototype as well. This results in a JSProxy where no properties in the original prototype chain (as created from the JSClassRef hierarchy) are accessible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1024573</commentid>
    <comment_count>1</comment_count>
      <attachid>235452</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2014-07-24 13:13:21 -0700</bug_when>
    <thetext>Created attachment 235452
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1024574</commentid>
    <comment_count>2</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2014-07-24 13:14:06 -0700</bug_when>
    <thetext>&lt;rdar://problem/17706699&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1024576</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-07-24 13:14:54 -0700</bug_when>
    <thetext>Attachment 235452 did not pass style-queue:


ERROR: Source/JavaScriptCore/API/tests/CustomGlobalObjectClassTest.c:26:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
ERROR: Source/JavaScriptCore/API/tests/CustomGlobalObjectClassTest.c:79:  Declaration has space between * and variable name in char* buffer  [whitespace/declaration] [3]
Total errors found: 2 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1024588</commentid>
    <comment_count>4</comment_count>
      <attachid>235452</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2014-07-24 13:40:32 -0700</bug_when>
    <thetext>Comment on attachment 235452
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1024636</commentid>
    <comment_count>5</comment_count>
      <attachid>235466</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2014-07-24 15:33:57 -0700</bug_when>
    <thetext>Created attachment 235466
Windows fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1024638</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-07-24 15:35:17 -0700</bug_when>
    <thetext>Attachment 235466 did not pass style-queue:


ERROR: Source/JavaScriptCore/API/tests/CustomGlobalObjectClassTest.c:26:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
ERROR: Source/JavaScriptCore/API/tests/CustomGlobalObjectClassTest.c:79:  Declaration has space between * and variable name in char* buffer  [whitespace/declaration] [3]
Total errors found: 2 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1024646</commentid>
    <comment_count>7</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2014-07-24 15:56:29 -0700</bug_when>
    <thetext>Committed r171543: &lt;http://trac.webkit.org/changeset/171543&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>235452</attachid>
            <date>2014-07-24 13:13:21 -0700</date>
            <delta_ts>2014-07-24 15:33:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-135250-20140724131307.patch</filename>
            <type>text/plain</type>
            <size>16255</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTcxNTE3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBA
CisyMDE0LTA3LTI0ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CisK
KyAgICAgICAgQ3JlYXRpbmcgYSBKU0dsb2JhbE9iamVjdCB3aXRoIGEgY3VzdG9tIEpTQ2xhc3NS
ZWYgcmVzdWx0cyBpbiBhIEpTUHJveHkgd2l0aCB0aGUgd3JvbmcgcHJvdG90eXBlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzUyNTAKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBKU0dsb2JhbE9iamVjdDo6
cmVzZXRQcm90b3R5cGUgKHdoaWNoIGlzIGNhbGxlZCBmcm9tIEpTR2xvYmFsQ29udGV4dENyZWF0
ZUluR3JvdXApIGRvZXNuJ3QgY2hhbmdlIGl0cyAKKyAgICAgICAgSlNQcm94eSdzIHByb3RvdHlw
ZSBhcyB3ZWxsLiBUaGlzIHJlc3VsdHMgaW4gYSBKU1Byb3h5IHdoZXJlIG5vIHByb3BlcnRpZXMg
aW4gdGhlIG9yaWdpbmFsIHByb3RvdHlwZSAKKyAgICAgICAgY2hhaW4gKGFzIGNyZWF0ZWQgZnJv
bSB0aGUgSlNDbGFzc1JlZiBoaWVyYXJjaHkpIGFyZSBhY2Nlc3NpYmxlLiBDaGFuZ2luZyByZXNl
dFByb3RvdHlwZSB0byBhbHNvIGNoYW5nZQorICAgICAgICB0aGUgSlNQcm94eSdzIHByb3RvdHlw
ZSBmaXhlcyB0aGUgaXNzdWUuCisKKyAgICAgICAgKiBBUEkvSlNWYWx1ZVJlZi5jcHA6CisgICAg
ICAgIChKU1ZhbHVlSXNPYmplY3RPZkNsYXNzKTogQWxzbyBmaXhlZCBhIGJ1ZyB3aGVyZSBhIEpT
UHJveHkgZm9yIGEgSlNHbG9iYWxPYmplY3Qgd2l0aCBhIGN1c3RvbSBKU0NsYXNzUmVmCisgICAg
ICAgIHdvdWxkIGNsYWltIGl0IHdhc24ndCBvZiB0aGUgc3BlY2lmaWVkIGNsYXNzLCBldmVuIGlm
IHRoZSB0YXJnZXQgd2FzIG9mIHRoZSBzcGVjaWZpZWQgY2xhc3MuCisgICAgICAgICogQVBJL3Rl
c3RzL0N1c3RvbUdsb2JhbE9iamVjdENsYXNzVGVzdC5jOiBBZGRlZC4KKyAgICAgICAgKGpzRG9T
b21ldGhpbmcpOgorICAgICAgICAoY3VzdG9tR2xvYmFsT2JqZWN0Q2xhc3NUZXN0KToKKyAgICAg
ICAgKiBBUEkvdGVzdHMvQ3VzdG9tR2xvYmFsT2JqZWN0Q2xhc3NUZXN0Lmg6IEFkZGVkLgorICAg
ICAgICAqIEFQSS90ZXN0cy90ZXN0YXBpLmM6CisgICAgICAgIChhc3NlcnRUcnVlKToKKyAgICAg
ICAgKG1haW4pOgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnZjeHByb2ovdGVzdGFwaS90ZXN0
YXBpLnZjeHByb2o6CisgICAgICAgICogSmF2YVNjcmlwdENvcmUudmN4cHJvai90ZXN0YXBpL3Rl
c3RhcGkudmN4cHJvai5maWx0ZXJzOgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHA6
CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0OjpyZXNldFByb3RvdHlwZSk6CisKIDIwMTQt
MDctMjMgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAgICAgICAgQnVp
bGQgZml4IGFmdGVyIHIxNzE0ODIuCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pT
VmFsdWVSZWYuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNW
YWx1ZVJlZi5jcHAJKHJldmlzaW9uIDE3MTUwNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9B
UEkvSlNWYWx1ZVJlZi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3OSw2ICsxNzksOSBAQCBib29s
IEpTVmFsdWVJc09iamVjdE9mQ2xhc3MoSlNDb250ZXh0UmVmCiAgICAgSlNWYWx1ZSBqc1ZhbHVl
ID0gdG9KUyhleGVjLCB2YWx1ZSk7CiAgICAgCiAgICAgaWYgKEpTT2JqZWN0KiBvID0ganNWYWx1
ZS5nZXRPYmplY3QoKSkgeworICAgICAgICBpZiAoby0+aW5oZXJpdHMoSlNQcm94eTo6aW5mbygp
KSkKKyAgICAgICAgICAgIG8gPSBqc0Nhc3Q8SlNQcm94eSo+KG8pLT50YXJnZXQoKTsKKwogICAg
ICAgICBpZiAoby0+aW5oZXJpdHMoSlNDYWxsYmFja09iamVjdDxKU0dsb2JhbE9iamVjdD46Omlu
Zm8oKSkpCiAgICAgICAgICAgICByZXR1cm4ganNDYXN0PEpTQ2FsbGJhY2tPYmplY3Q8SlNHbG9i
YWxPYmplY3Q+Kj4obyktPmluaGVyaXRzKGpzQ2xhc3MpOwogICAgICAgICBpZiAoby0+aW5oZXJp
dHMoSlNDYWxsYmFja09iamVjdDxKU0Rlc3RydWN0aWJsZU9iamVjdD46OmluZm8oKSkpCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL3Rlc3RzL0N1c3RvbUdsb2JhbE9iamVjdENsYXNz
VGVzdC5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvdGVzdHMvQ3Vz
dG9tR2xvYmFsT2JqZWN0Q2xhc3NUZXN0LmMJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvQVBJL3Rlc3RzL0N1c3RvbUdsb2JhbE9iamVjdENsYXNzVGVzdC5jCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMTAwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2luY2x1ZGUgIkN1c3RvbUdsb2JhbE9iamVjdENsYXNzVGVzdC5oIgor
CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuaD4KKyNpbmNsdWRlIDxz
dGRpby5oPgorCitleHRlcm4gYm9vbCBhc3NlcnRUcnVlKGJvb2wgdmFsdWUsIGNvbnN0IGNoYXIq
IG1lc3NhZ2UpOworCitzdGF0aWMgYm9vbCBleGVjdXRlZENhbGxiYWNrID0gZmFsc2U7CisKK3N0
YXRpYyBKU1ZhbHVlUmVmIGpzRG9Tb21ldGhpbmcoSlNDb250ZXh0UmVmIGN0eCwgSlNPYmplY3RS
ZWYgZnVuY3Rpb24sIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIHNpemVfdCBhcmdjLCBjb25zdCBK
U1ZhbHVlUmVmIGFyZ3NbXSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQoreworICAgICh2b2lkKWZ1
bmN0aW9uOworICAgICh2b2lkKXRoaXNPYmplY3Q7CisgICAgKHZvaWQpYXJnYzsKKyAgICAodm9p
ZClhcmdzOworICAgICh2b2lkKWV4Y2VwdGlvbjsKKyAgICBleGVjdXRlZENhbGxiYWNrID0gdHJ1
ZTsKKyAgICByZXR1cm4gSlNWYWx1ZU1ha2VOdWxsKGN0eCk7Cit9CisKK3N0YXRpYyBKU1N0YXRp
Y0Z1bmN0aW9uIGJyaWRnZWRGdW5jdGlvbnNbXSA9IHsKKyAgICB7ImRvU29tZXRoaW5nIiwganNE
b1NvbWV0aGluZywga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlfSwKKyAgICB7MCwgMCwg
MH0sCit9OworCitzdGF0aWMgSlNDbGFzc1JlZiBicmlkZ2VkT2JqZWN0Q2xhc3MgPSBOVUxMOwor
c3RhdGljIEpTQ2xhc3NEZWZpbml0aW9uIGJyaWRnZWRDbGFzc0RlZjsKKworc3RhdGljIEpTQ2xh
c3NSZWYganNDbGFzc1JlZigpCit7CisgICAgaWYgKCFicmlkZ2VkT2JqZWN0Q2xhc3MpIHsKKyAg
ICAgICAgYnJpZGdlZENsYXNzRGVmID0ga0pTQ2xhc3NEZWZpbml0aW9uRW1wdHk7CisgICAgICAg
IGJyaWRnZWRDbGFzc0RlZi5jbGFzc05hbWUgPSAiQnJpZGdlZE9iamVjdCI7CisgICAgICAgIGJy
aWRnZWRDbGFzc0RlZi5zdGF0aWNGdW5jdGlvbnMgPSBicmlkZ2VkRnVuY3Rpb25zOworICAgICAg
ICBicmlkZ2VkT2JqZWN0Q2xhc3MgPSBKU0NsYXNzQ3JlYXRlKCZicmlkZ2VkQ2xhc3NEZWYpOwor
ICAgIH0KKyAgICByZXR1cm4gYnJpZGdlZE9iamVjdENsYXNzOworfQorCit2b2lkIGN1c3RvbUds
b2JhbE9iamVjdENsYXNzVGVzdCgpCit7CisgICAgSlNDbGFzc1JlZiBicmlkZ2VkT2JqZWN0SnND
bGFzc1JlZiA9IGpzQ2xhc3NSZWYoKTsKKyAgICBKU0dsb2JhbENvbnRleHRSZWYgZ2xvYmFsQ29u
dGV4dCA9IEpTR2xvYmFsQ29udGV4dENyZWF0ZShicmlkZ2VkT2JqZWN0SnNDbGFzc1JlZik7Cisg
ICAgCisgICAgSlNPYmplY3RSZWYgZ2xvYmFsT2JqID0gSlNDb250ZXh0R2V0R2xvYmFsT2JqZWN0
KGdsb2JhbENvbnRleHQpOworICAgIAorICAgIEpTUHJvcGVydHlOYW1lQXJyYXlSZWYgcHJvcGVy
dHlOYW1lcyA9IEpTT2JqZWN0Q29weVByb3BlcnR5TmFtZXMoZ2xvYmFsQ29udGV4dCwgZ2xvYmFs
T2JqKTsKKyAgICBzaXplX3QgcHJvcGVydHlDb3VudCA9IEpTUHJvcGVydHlOYW1lQXJyYXlHZXRD
b3VudChwcm9wZXJ0eU5hbWVzKTsKKyAgICBhc3NlcnRUcnVlKHByb3BlcnR5Q291bnQgPT0gMSwg
IlByb3BlcnR5IGNvdW50ID09IDEiKTsKKyAgICAKKyAgICBKU1N0cmluZ1JlZiBwcm9wZXJ0eU5h
bWVSZWYgPSBKU1Byb3BlcnR5TmFtZUFycmF5R2V0TmFtZUF0SW5kZXgocHJvcGVydHlOYW1lcywg
MCk7CisgICAgc2l6ZV90IHByb3BlcnR5TmFtZUxlbmd0aCA9IEpTU3RyaW5nR2V0TGVuZ3RoKHBy
b3BlcnR5TmFtZVJlZik7CisgICAgc2l6ZV90IGJ1ZmZlclNpemUgPSBzaXplb2YoY2hhcikgKiAo
cHJvcGVydHlOYW1lTGVuZ3RoICsgMSk7CisgICAgY2hhciogYnVmZmVyID0gbWFsbG9jKGJ1ZmZl
clNpemUpOworICAgIEpTU3RyaW5nR2V0VVRGOENTdHJpbmcocHJvcGVydHlOYW1lUmVmLCBidWZm
ZXIsIGJ1ZmZlclNpemUpOworICAgIGJ1ZmZlcltwcm9wZXJ0eU5hbWVMZW5ndGhdID0gJ1wwJzsK
KyAgICBhc3NlcnRUcnVlKCFzdHJuY21wKGJ1ZmZlciwgImRvU29tZXRoaW5nIiwgcHJvcGVydHlO
YW1lTGVuZ3RoKSwgIkZpcnN0IHByb3BlcnR5IG5hbWUgaXMgZG9Tb21ldGhpbmciKTsKKyAgICBm
cmVlKGJ1ZmZlcik7CisgICAgCisgICAgYm9vbCBoYXNNZXRob2QgPSBKU09iamVjdEhhc1Byb3Bl
cnR5KGdsb2JhbENvbnRleHQsIGdsb2JhbE9iaiwgcHJvcGVydHlOYW1lUmVmKTsKKyAgICBhc3Nl
cnRUcnVlKGhhc01ldGhvZCwgIlByb3BlcnR5IGZvdW5kIGJ5IG5hbWUiKTsKKyAgICAKKyAgICBK
U1ZhbHVlUmVmIGRvU29tZXRoaW5nUHJvcGVydHkgPQorICAgIEpTT2JqZWN0R2V0UHJvcGVydHko
Z2xvYmFsQ29udGV4dCwgZ2xvYmFsT2JqLCBwcm9wZXJ0eU5hbWVSZWYsIE5VTEwpOworICAgIGFz
c2VydFRydWUoIUpTVmFsdWVJc1VuZGVmaW5lZChnbG9iYWxDb250ZXh0LCBkb1NvbWV0aGluZ1By
b3BlcnR5KSwgIlByb3BlcnR5IGlzIGRlZmluZWQiKTsKKyAgICAKKyAgICBib29sIGdsb2JhbE9i
amVjdENsYXNzTWF0Y2hlc0NsYXNzUmVmID0gSlNWYWx1ZUlzT2JqZWN0T2ZDbGFzcyhnbG9iYWxD
b250ZXh0LCBnbG9iYWxPYmosIGJyaWRnZWRPYmplY3RKc0NsYXNzUmVmKTsKKyAgICBhc3NlcnRU
cnVlKGdsb2JhbE9iamVjdENsYXNzTWF0Y2hlc0NsYXNzUmVmLCAiR2xvYmFsIG9iamVjdCBpcyB0
aGUgcmlnaHQgY2xhc3MiKTsKKyAgICAKKyAgICBKU1N0cmluZ1JlZiBzY3JpcHQgPSBKU1N0cmlu
Z0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiZG9Tb21ldGhpbmcoKTsiKTsKKyAgICBKU0V2YWx1YXRl
U2NyaXB0KGdsb2JhbENvbnRleHQsIHNjcmlwdCwgTlVMTCwgTlVMTCwgMSwgTlVMTCk7CisgICAg
SlNTdHJpbmdSZWxlYXNlKHNjcmlwdCk7CisKKyAgICBhc3NlcnRUcnVlKGV4ZWN1dGVkQ2FsbGJh
Y2ssICJFeGVjdXRlZCBjdXN0b20gZ2xvYmFsIG9iamVjdCBjYWxsYmFjayIpOworfQpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy9DdXN0b21HbG9iYWxPYmplY3RDbGFzc1Rl
c3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL3Rlc3RzL0N1c3Rv
bUdsb2JhbE9iamVjdENsYXNzVGVzdC5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL0FQSS90ZXN0cy9DdXN0b21HbG9iYWxPYmplY3RDbGFzc1Rlc3QuaAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDMxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisg
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2lmbmRlZiBDdXN0b21HbG9iYWxPYmplY3RDbGFzc1Rlc3RfaAorI2RlZmlu
ZSBDdXN0b21HbG9iYWxPYmplY3RDbGFzc1Rlc3RfaAorCit2b2lkIGN1c3RvbUdsb2JhbE9iamVj
dENsYXNzVGVzdCh2b2lkKTsKKworI2VuZGlmIC8vIEN1c3RvbUdsb2JhbE9iamVjdENsYXNzVGVz
dF9oCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL3Rlc3RzL3Rlc3RhcGkuYwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL3Rlc3RzL3Rlc3RhcGkuYwkocmV2
aXNpb24gMTcxNTA0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy90ZXN0YXBp
LmMJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDEwICs0NSwxMyBAQAogI2luY2x1ZGUgPHdpbmRvd3Mu
aD4KICNlbmRpZgogCisjaW5jbHVkZSAiQ3VzdG9tR2xvYmFsT2JqZWN0Q2xhc3NUZXN0LmgiCisK
ICNpZiBKU0NfT0JKQ19BUElfRU5BQkxFRAogdm9pZCB0ZXN0T2JqZWN0aXZlQ0FQSSh2b2lkKTsK
ICNlbmRpZgogCitib29sIGFzc2VydFRydWUoYm9vbCB2YWx1ZSwgY29uc3QgY2hhciogbWVzc2Fn
ZSk7CiBleHRlcm4gdm9pZCBKU1N5bmNocm9ub3VzR2FyYmFnZUNvbGxlY3RGb3JEZWJ1Z2dpbmco
SlNDb250ZXh0UmVmKTsKIAogc3RhdGljIEpTR2xvYmFsQ29udGV4dFJlZiBjb250ZXh0OwpAQCAt
OTc1LDcgKzk3OCw3IEBAIHN0YXRpYyB2b2lkIG1ha2VHbG9iYWxOdW1iZXJWYWx1ZShKU0NvbnQK
ICAgICB2ID0gTlVMTDsKIH0KIAotc3RhdGljIGJvb2wgYXNzZXJ0VHJ1ZShib29sIHZhbHVlLCBj
b25zdCBjaGFyKiBtZXNzYWdlKQorYm9vbCBhc3NlcnRUcnVlKGJvb2wgdmFsdWUsIGNvbnN0IGNo
YXIqIG1lc3NhZ2UpCiB7CiAgICAgaWYgKCF2YWx1ZSkgewogICAgICAgICBpZiAobWVzc2FnZSkK
QEAgLTIwNzUsNiArMjA3OCw4IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyKiBhcmd2W10pCiAg
ICAgaWYgKGdsb2JhbENvbnRleHROYW1lVGVzdCgpKQogICAgICAgICBwcmludGYoIlBBU1M6IGds
b2JhbCBjb250ZXh0IG5hbWUgYmVoYXZlcyBhcyBleHBlY3RlZC5cbiIpOwogCisgICAgY3VzdG9t
R2xvYmFsT2JqZWN0Q2xhc3NUZXN0KCk7CisKICAgICBpZiAoZmFpbGVkKSB7CiAgICAgICAgIHBy
aW50ZigiRkFJTDogU29tZSB0ZXN0cyBmYWlsZWQuXG4iKTsKICAgICAgICAgcmV0dXJuIDE7Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai90ZXN0YXBp
L3Rlc3RhcGkudmN4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUudmN4cHJvai90ZXN0YXBpL3Rlc3RhcGkudmN4cHJvagkocmV2aXNpb24gMTcx
NTA0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovdGVz
dGFwaS90ZXN0YXBpLnZjeHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTI5Miw4ICsyOTIsMTAgQEAK
ICAgPC9JdGVtR3JvdXA+CiAgIDxJdGVtR3JvdXA+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
LlwuLlxBUElcdGVzdHNcdGVzdGFwaS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
Li5cQVBJXHRlc3RzXEN1c3RvbUdsb2JhbE9iamVjdENsYXNzVGVzdC5jIiAvPgorICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5cLi5cQVBJXHRlc3RzXEN1c3RvbUdsb2JhbE9iamVjdENsYXNzVGVz
dC5oIiAvPgogICA8L0l0ZW1Hcm91cD4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1Bh
dGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4KICAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRl
bnNpb25UYXJnZXRzIj4KICAgPC9JbXBvcnRHcm91cD4KLTwvUHJvamVjdD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCis8L1Byb2plY3Q+CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUudmN4cHJvai90ZXN0YXBpL3Rlc3RhcGkudmN4cHJvai5maWx0ZXJzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9q
L3Rlc3RhcGkvdGVzdGFwaS52Y3hwcm9qLmZpbHRlcnMJKHJldmlzaW9uIDE3MTUwNCkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL3Rlc3RhcGkvdGVzdGFw
aS52Y3hwcm9qLmZpbHRlcnMJKHdvcmtpbmcgY29weSkKQEAgLTgsNSArOCw3IEBACiAgIDwvSXRl
bUdyb3VwPgogICA8SXRlbUdyb3VwPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cQVBJ
XHRlc3RzXHRlc3RhcGkuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXEFQSVx0
ZXN0c1xDdXN0b21HbG9iYWxPYmplY3RDbGFzc1Rlc3QuYyIgLz4KKyAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXC4uXEFQSVx0ZXN0c1xDdXN0b21HbG9iYWxPYmplY3RDbGFzc1Rlc3QuaCIgLz4K
ICAgPC9JdGVtR3JvdXA+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQor
PC9Qcm9qZWN0PgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDE3
MTUwNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xOTc3LDYgKzE5NzcsNyBAQAogCQlC
Q0Y2MDUxNDBFMjAzRUY4MDBCOUE2NEQgLyogQXJnTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGNjA1MTIwRTIwM0VGODAwQjlBNjREIC8qIEFy
Z0xpc3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQlCQ0ZEOEM5MjBFRUIyRUU3MDAyODM4NDggLyogSnVtcFRhYmxlLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRkQ4QzkwMEVFQjJFRTcwMDI4Mzg0
OCAvKiBKdW1wVGFibGUuY3BwICovOyB9OwogCQlCQ0ZEOEM5MzBFRUIyRUU3MDAyODM4NDggLyog
SnVtcFRhYmxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCQ0ZEOEM5MTBFRUIyRUU3MDAyODM4NDggLyogSnVtcFRhYmxlLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQzIwMzI4MjAxOTgxOTc5RDAwODhC
NDk5IC8qIEN1c3RvbUdsb2JhbE9iamVjdENsYXNzVGVzdC5jIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzIwMzI4MUUxOTgxOTc5RDAwODhCNDk5IC8qIEN1
c3RvbUdsb2JhbE9iamVjdENsYXNzVGVzdC5jICovOyB9OwogCQlDMjBCMjU5OTE3MDY1MzYyMDBD
MjFGNEUgLyogUmVnaW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDMjBCMjU5ODE3MDY1MzYyMDBDMjFGNEUgLyogUmVnaW9uLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQzIwQkE5MkQxNkJCMUMxNTAw
QjNBRUEyIC8qIFN0cnVjdHVyZVJhcmVEYXRhSW5saW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzIwQkE5MkMxNkJCMUMxNTAwQjNBRUEyIC8qIFN0
cnVjdHVyZVJhcmVEYXRhSW5saW5lcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCUMyMTEyMkUxMTVERDlBQjMwMDc5MEUzQSAvKiBHQ1RocmVhZFNo
YXJlZERhdGEuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQzIxMTIyREUxNUREOUFCMzAwNzkwRTNBIC8qIEdDVGhyZWFkU2hhcmVkRGF0YS5jcHAgKi87
IH07CkBAIC0zNjExLDYgKzM2MTIsOCBAQAogCQlCQ0Y2MDUxMjBFMjAzRUY4MDBCOUE2NEQgLyog
QXJnTGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBcmdMaXN0Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDRkQ4QzkwMEVFQjJFRTcwMDI4Mzg0OCAvKiBK
dW1wVGFibGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSnVtcFRh
YmxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNGRDhDOTEwRUVCMkVFNzAw
MjgzODQ4IC8qIEp1bXBUYWJsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBK
dW1wVGFibGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzIwMzI4MUUxOTgxOTc5
RDAwODhCNDk5IC8qIEN1c3RvbUdsb2JhbE9iamVjdENsYXNzVGVzdC5jICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmM7IG5hbWUgPSBDdXN0b21HbG9iYWxPYmplY3RDbGFzc1Rlc3QuYzsgcGF0aCA9
IEFQSS90ZXN0cy9DdXN0b21HbG9iYWxPYmplY3RDbGFzc1Rlc3QuYzsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQzIwMzI4MUYxOTgxOTc5RDAwODhCNDk5IC8qIEN1c3RvbUdsb2JhbE9i
amVjdENsYXNzVGVzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBDdXN0b21H
bG9iYWxPYmplY3RDbGFzc1Rlc3QuaDsgcGF0aCA9IEFQSS90ZXN0cy9DdXN0b21HbG9iYWxPYmpl
Y3RDbGFzc1Rlc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzIwQjI1OTgxNzA2
NTM2MjAwQzIxRjRFIC8qIFJlZ2lvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBSZWdpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzIwQkE5MkMxNkJCMUMx
NTAwQjNBRUEyIC8qIFN0cnVjdHVyZVJhcmVEYXRhSW5saW5lcy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBTdHJ1Y3R1cmVSYXJlRGF0YUlubGluZXMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQzIxMTIyREUxNUREOUFCMzAwNzkwRTNBIC8qIEdDVGhyZWFkU2hh
cmVkRGF0YS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBHQ1RocmVh
ZFNoYXJlZERhdGEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNDA3Myw2ICs0
MDc2LDggQEAKIAkJMTQxMjExMDAwQTQ4NzcyNjAwNDgwMjU1IC8qIHRlc3RzICovID0gewogCQkJ
aXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlDMjAzMjgxRTE5ODE5NzlEMDA4
OEI0OTkgLyogQ3VzdG9tR2xvYmFsT2JqZWN0Q2xhc3NUZXN0LmMgKi8sCisJCQkJQzIwMzI4MUYx
OTgxOTc5RDAwODhCNDk5IC8qIEN1c3RvbUdsb2JhbE9iamVjdENsYXNzVGVzdC5oICovLAogCQkJ
CUMyOUVDQjAyMTgwNEQwRUQwMEQyQ0JCNCAvKiBDdXJyZW50VGhpc0luc2lkZUJsb2NrR2V0dGVy
VGVzdC5oICovLAogCQkJCUMyOUVDQjAxMTgwNEQwRUQwMEQyQ0JCNCAvKiBDdXJyZW50VGhpc0lu
c2lkZUJsb2NrR2V0dGVyVGVzdC5tbSAqLywKIAkJCQlDMjg4QjJEQzE4QTU0RDNFMDA3QkU0MEIg
LyogRGF0ZVRlc3RzLmggKi8sCkBAIC03NDUzLDYgKzc0NTgsNyBAQAogCQkJYnVpbGRBY3Rpb25N
YXNrID0gMjE0NzQ4MzY0NzsKIAkJCWZpbGVzID0gKAogCQkJCUMyOUVDQjAzMTgwNEQwRUQwMEQy
Q0JCNCAvKiBDdXJyZW50VGhpc0luc2lkZUJsb2NrR2V0dGVyVGVzdC5tbSBpbiBTb3VyY2VzICov
LAorCQkJCUMyMDMyODIwMTk4MTk3OUQwMDg4QjQ5OSAvKiBDdXN0b21HbG9iYWxPYmplY3RDbGFz
c1Rlc3QuYyBpbiBTb3VyY2VzICovLAogCQkJCUMyODhCMkRFMThBNTREM0UwMDdCRTQwQiAvKiBE
YXRlVGVzdHMubW0gaW4gU291cmNlcyAqLywKIAkJCQlDMjE4MUZDMjE4QTk0OEZCMDAyNUEyMzUg
LyogSlNFeHBvcnRUZXN0cy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTE0NDBGNjEwMEE0Rjg1Njcw
MDA1RjA2MSAvKiB0ZXN0YXBpLmMgaW4gU291cmNlcyAqLywKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAJKHJldmlzaW9uIDE3MTUw
NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNjIzLDYgKzYyMyw5IEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6OnJl
c2V0UHJvdG90eXBlKFZNJiAKICAgICBKU09iamVjdCogb2JqZWN0UHJvdG90eXBlID0gbV9vYmpl
Y3RQcm90b3R5cGUuZ2V0KCk7CiAgICAgaWYgKG9sZExhc3RJblByb3RvdHlwZUNoYWluICE9IG9i
amVjdFByb3RvdHlwZSkKICAgICAgICAgb2xkTGFzdEluUHJvdG90eXBlQ2hhaW4tPnNldFByb3Rv
dHlwZSh2bSwgb2JqZWN0UHJvdG90eXBlKTsKKworICAgIC8vIFdoZW5ldmVyIHdlIGNoYW5nZSB0
aGUgcHJvdG90eXBlIG9mIHRoZSBnbG9iYWwgb2JqZWN0LCB3ZSBuZWVkIHRvIGNyZWF0ZSBhIG5l
dyBKU1Byb3h5IHdpdGggdGhlIGNvcnJlY3QgcHJvdG90eXBlLgorICAgIHNldEdsb2JhbFRoaXMo
dm0sIEpTUHJveHk6OmNyZWF0ZSh2bSwgSlNQcm94eTo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlz
LCBwcm90b3R5cGUsIFB1cmVGb3J3YXJkaW5nUHJveHlUeXBlKSwgdGhpcykpOwogfQogCiB2b2lk
IEpTR2xvYmFsT2JqZWN0Ojp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3Im
IHZpc2l0b3IpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>235466</attachid>
            <date>2014-07-24 15:33:57 -0700</date>
            <delta_ts>2014-08-05 16:54:40 -0700</delta_ts>
            <desc>Windows fix</desc>
            <filename>bug-135250-20140724153342.patch</filename>
            <type>text/plain</type>
            <size>16314</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTcxNTM0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBA
CisyMDE0LTA3LTI0ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CisK
KyAgICAgICAgQ3JlYXRpbmcgYSBKU0dsb2JhbE9iamVjdCB3aXRoIGEgY3VzdG9tIEpTQ2xhc3NS
ZWYgcmVzdWx0cyBpbiBhIEpTUHJveHkgd2l0aCB0aGUgd3JvbmcgcHJvdG90eXBlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzUyNTAKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBKU0dsb2JhbE9iamVjdDo6
cmVzZXRQcm90b3R5cGUgKHdoaWNoIGlzIGNhbGxlZCBmcm9tIEpTR2xvYmFsQ29udGV4dENyZWF0
ZUluR3JvdXApIGRvZXNuJ3QgY2hhbmdlIGl0cyAKKyAgICAgICAgSlNQcm94eSdzIHByb3RvdHlw
ZSBhcyB3ZWxsLiBUaGlzIHJlc3VsdHMgaW4gYSBKU1Byb3h5IHdoZXJlIG5vIHByb3BlcnRpZXMg
aW4gdGhlIG9yaWdpbmFsIHByb3RvdHlwZSAKKyAgICAgICAgY2hhaW4gKGFzIGNyZWF0ZWQgZnJv
bSB0aGUgSlNDbGFzc1JlZiBoaWVyYXJjaHkpIGFyZSBhY2Nlc3NpYmxlLiBDaGFuZ2luZyByZXNl
dFByb3RvdHlwZSB0byBhbHNvIGNoYW5nZQorICAgICAgICB0aGUgSlNQcm94eSdzIHByb3RvdHlw
ZSBmaXhlcyB0aGUgaXNzdWUuCisKKyAgICAgICAgKiBBUEkvSlNWYWx1ZVJlZi5jcHA6CisgICAg
ICAgIChKU1ZhbHVlSXNPYmplY3RPZkNsYXNzKTogQWxzbyBmaXhlZCBhIGJ1ZyB3aGVyZSBhIEpT
UHJveHkgZm9yIGEgSlNHbG9iYWxPYmplY3Qgd2l0aCBhIGN1c3RvbSBKU0NsYXNzUmVmCisgICAg
ICAgIHdvdWxkIGNsYWltIGl0IHdhc24ndCBvZiB0aGUgc3BlY2lmaWVkIGNsYXNzLCBldmVuIGlm
IHRoZSB0YXJnZXQgd2FzIG9mIHRoZSBzcGVjaWZpZWQgY2xhc3MuCisgICAgICAgICogQVBJL3Rl
c3RzL0N1c3RvbUdsb2JhbE9iamVjdENsYXNzVGVzdC5jOiBBZGRlZC4KKyAgICAgICAgKGpzRG9T
b21ldGhpbmcpOgorICAgICAgICAoY3VzdG9tR2xvYmFsT2JqZWN0Q2xhc3NUZXN0KToKKyAgICAg
ICAgKiBBUEkvdGVzdHMvQ3VzdG9tR2xvYmFsT2JqZWN0Q2xhc3NUZXN0Lmg6IEFkZGVkLgorICAg
ICAgICAqIEFQSS90ZXN0cy90ZXN0YXBpLmM6CisgICAgICAgIChhc3NlcnRUcnVlKToKKyAgICAg
ICAgKG1haW4pOgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnZjeHByb2ovdGVzdGFwaS90ZXN0
YXBpLnZjeHByb2o6CisgICAgICAgICogSmF2YVNjcmlwdENvcmUudmN4cHJvai90ZXN0YXBpL3Rl
c3RhcGkudmN4cHJvai5maWx0ZXJzOgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHA6
CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0OjpyZXNldFByb3RvdHlwZSk6CisKIDIwMTQt
MDctMjQgIEJyaWFuIEouIEJ1cmcgIDxidXJnQGNzLndhc2hpbmd0b24uZWR1PgogCiAgICAgICAg
IFdlYiBSZXBsYXk6IGRvbid0IGVuY29kZS9kZWNvZGUgcHJpbWl0aXZlIHR5cGVzIHRoYXQgbGFj
ayBleHBsaWNpdCBzaXplcwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1ZhbHVl
UmVmLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTVmFsdWVS
ZWYuY3BwCShyZXZpc2lvbiAxNzE1MzQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pT
VmFsdWVSZWYuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzksNiArMTc5LDkgQEAgYm9vbCBKU1Zh
bHVlSXNPYmplY3RPZkNsYXNzKEpTQ29udGV4dFJlZgogICAgIEpTVmFsdWUganNWYWx1ZSA9IHRv
SlMoZXhlYywgdmFsdWUpOwogICAgIAogICAgIGlmIChKU09iamVjdCogbyA9IGpzVmFsdWUuZ2V0
T2JqZWN0KCkpIHsKKyAgICAgICAgaWYgKG8tPmluaGVyaXRzKEpTUHJveHk6OmluZm8oKSkpCisg
ICAgICAgICAgICBvID0ganNDYXN0PEpTUHJveHkqPihvKS0+dGFyZ2V0KCk7CisKICAgICAgICAg
aWYgKG8tPmluaGVyaXRzKEpTQ2FsbGJhY2tPYmplY3Q8SlNHbG9iYWxPYmplY3Q+OjppbmZvKCkp
KQogICAgICAgICAgICAgcmV0dXJuIGpzQ2FzdDxKU0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFsT2Jq
ZWN0Pio+KG8pLT5pbmhlcml0cyhqc0NsYXNzKTsKICAgICAgICAgaWYgKG8tPmluaGVyaXRzKEpT
Q2FsbGJhY2tPYmplY3Q8SlNEZXN0cnVjdGlibGVPYmplY3Q+OjppbmZvKCkpKQpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy9DdXN0b21HbG9iYWxPYmplY3RDbGFzc1Rlc3Qu
Ywo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL3Rlc3RzL0N1c3RvbUds
b2JhbE9iamVjdENsYXNzVGVzdC5jCShyZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL0FQSS90ZXN0cy9DdXN0b21HbG9iYWxPYmplY3RDbGFzc1Rlc3QuYwkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDEwMCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJDdXN0b21HbG9iYWxPYmplY3RDbGFzc1Rlc3QuaCIKKworI2lu
Y2x1ZGUgPEphdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmg+CisjaW5jbHVkZSA8c3RkaW8u
aD4KKworZXh0ZXJuIGJvb2wgYXNzZXJ0VHJ1ZShib29sIHZhbHVlLCBjb25zdCBjaGFyKiBtZXNz
YWdlKTsKKworc3RhdGljIGJvb2wgZXhlY3V0ZWRDYWxsYmFjayA9IGZhbHNlOworCitzdGF0aWMg
SlNWYWx1ZVJlZiBqc0RvU29tZXRoaW5nKEpTQ29udGV4dFJlZiBjdHgsIEpTT2JqZWN0UmVmIGZ1
bmN0aW9uLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJnYywgY29uc3QgSlNWYWx1
ZVJlZiBhcmdzW10sIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKK3sKKyAgICAodm9pZClmdW5jdGlv
bjsKKyAgICAodm9pZCl0aGlzT2JqZWN0OworICAgICh2b2lkKWFyZ2M7CisgICAgKHZvaWQpYXJn
czsKKyAgICAodm9pZClleGNlcHRpb247CisgICAgZXhlY3V0ZWRDYWxsYmFjayA9IHRydWU7Cisg
ICAgcmV0dXJuIEpTVmFsdWVNYWtlTnVsbChjdHgpOworfQorCitzdGF0aWMgSlNTdGF0aWNGdW5j
dGlvbiBicmlkZ2VkRnVuY3Rpb25zW10gPSB7CisgICAgeyJkb1NvbWV0aGluZyIsIGpzRG9Tb21l
dGhpbmcsIGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZX0sCisgICAgezAsIDAsIDB9LAor
fTsKKworc3RhdGljIEpTQ2xhc3NSZWYgYnJpZGdlZE9iamVjdENsYXNzID0gTlVMTDsKK3N0YXRp
YyBKU0NsYXNzRGVmaW5pdGlvbiBicmlkZ2VkQ2xhc3NEZWY7CisKK3N0YXRpYyBKU0NsYXNzUmVm
IGpzQ2xhc3NSZWYoKQoreworICAgIGlmICghYnJpZGdlZE9iamVjdENsYXNzKSB7CisgICAgICAg
IGJyaWRnZWRDbGFzc0RlZiA9IGtKU0NsYXNzRGVmaW5pdGlvbkVtcHR5OworICAgICAgICBicmlk
Z2VkQ2xhc3NEZWYuY2xhc3NOYW1lID0gIkJyaWRnZWRPYmplY3QiOworICAgICAgICBicmlkZ2Vk
Q2xhc3NEZWYuc3RhdGljRnVuY3Rpb25zID0gYnJpZGdlZEZ1bmN0aW9uczsKKyAgICAgICAgYnJp
ZGdlZE9iamVjdENsYXNzID0gSlNDbGFzc0NyZWF0ZSgmYnJpZGdlZENsYXNzRGVmKTsKKyAgICB9
CisgICAgcmV0dXJuIGJyaWRnZWRPYmplY3RDbGFzczsKK30KKwordm9pZCBjdXN0b21HbG9iYWxP
YmplY3RDbGFzc1Rlc3QoKQoreworICAgIEpTQ2xhc3NSZWYgYnJpZGdlZE9iamVjdEpzQ2xhc3NS
ZWYgPSBqc0NsYXNzUmVmKCk7CisgICAgSlNHbG9iYWxDb250ZXh0UmVmIGdsb2JhbENvbnRleHQg
PSBKU0dsb2JhbENvbnRleHRDcmVhdGUoYnJpZGdlZE9iamVjdEpzQ2xhc3NSZWYpOworICAgIAor
ICAgIEpTT2JqZWN0UmVmIGdsb2JhbE9iaiA9IEpTQ29udGV4dEdldEdsb2JhbE9iamVjdChnbG9i
YWxDb250ZXh0KTsKKyAgICAKKyAgICBKU1Byb3BlcnR5TmFtZUFycmF5UmVmIHByb3BlcnR5TmFt
ZXMgPSBKU09iamVjdENvcHlQcm9wZXJ0eU5hbWVzKGdsb2JhbENvbnRleHQsIGdsb2JhbE9iaik7
CisgICAgc2l6ZV90IHByb3BlcnR5Q291bnQgPSBKU1Byb3BlcnR5TmFtZUFycmF5R2V0Q291bnQo
cHJvcGVydHlOYW1lcyk7CisgICAgYXNzZXJ0VHJ1ZShwcm9wZXJ0eUNvdW50ID09IDEsICJQcm9w
ZXJ0eSBjb3VudCA9PSAxIik7CisgICAgCisgICAgSlNTdHJpbmdSZWYgcHJvcGVydHlOYW1lUmVm
ID0gSlNQcm9wZXJ0eU5hbWVBcnJheUdldE5hbWVBdEluZGV4KHByb3BlcnR5TmFtZXMsIDApOwor
ICAgIHNpemVfdCBwcm9wZXJ0eU5hbWVMZW5ndGggPSBKU1N0cmluZ0dldExlbmd0aChwcm9wZXJ0
eU5hbWVSZWYpOworICAgIHNpemVfdCBidWZmZXJTaXplID0gc2l6ZW9mKGNoYXIpICogKHByb3Bl
cnR5TmFtZUxlbmd0aCArIDEpOworICAgIGNoYXIqIGJ1ZmZlciA9IChjaGFyKiltYWxsb2MoYnVm
ZmVyU2l6ZSk7CisgICAgSlNTdHJpbmdHZXRVVEY4Q1N0cmluZyhwcm9wZXJ0eU5hbWVSZWYsIGJ1
ZmZlciwgYnVmZmVyU2l6ZSk7CisgICAgYnVmZmVyW3Byb3BlcnR5TmFtZUxlbmd0aF0gPSAnXDAn
OworICAgIGFzc2VydFRydWUoIXN0cm5jbXAoYnVmZmVyLCAiZG9Tb21ldGhpbmciLCBwcm9wZXJ0
eU5hbWVMZW5ndGgpLCAiRmlyc3QgcHJvcGVydHkgbmFtZSBpcyBkb1NvbWV0aGluZyIpOworICAg
IGZyZWUoYnVmZmVyKTsKKyAgICAKKyAgICBib29sIGhhc01ldGhvZCA9IEpTT2JqZWN0SGFzUHJv
cGVydHkoZ2xvYmFsQ29udGV4dCwgZ2xvYmFsT2JqLCBwcm9wZXJ0eU5hbWVSZWYpOworICAgIGFz
c2VydFRydWUoaGFzTWV0aG9kLCAiUHJvcGVydHkgZm91bmQgYnkgbmFtZSIpOworICAgIAorICAg
IEpTVmFsdWVSZWYgZG9Tb21ldGhpbmdQcm9wZXJ0eSA9CisgICAgSlNPYmplY3RHZXRQcm9wZXJ0
eShnbG9iYWxDb250ZXh0LCBnbG9iYWxPYmosIHByb3BlcnR5TmFtZVJlZiwgTlVMTCk7CisgICAg
YXNzZXJ0VHJ1ZSghSlNWYWx1ZUlzVW5kZWZpbmVkKGdsb2JhbENvbnRleHQsIGRvU29tZXRoaW5n
UHJvcGVydHkpLCAiUHJvcGVydHkgaXMgZGVmaW5lZCIpOworICAgIAorICAgIGJvb2wgZ2xvYmFs
T2JqZWN0Q2xhc3NNYXRjaGVzQ2xhc3NSZWYgPSBKU1ZhbHVlSXNPYmplY3RPZkNsYXNzKGdsb2Jh
bENvbnRleHQsIGdsb2JhbE9iaiwgYnJpZGdlZE9iamVjdEpzQ2xhc3NSZWYpOworICAgIGFzc2Vy
dFRydWUoZ2xvYmFsT2JqZWN0Q2xhc3NNYXRjaGVzQ2xhc3NSZWYsICJHbG9iYWwgb2JqZWN0IGlz
IHRoZSByaWdodCBjbGFzcyIpOworICAgIAorICAgIEpTU3RyaW5nUmVmIHNjcmlwdCA9IEpTU3Ry
aW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJkb1NvbWV0aGluZygpOyIpOworICAgIEpTRXZhbHVh
dGVTY3JpcHQoZ2xvYmFsQ29udGV4dCwgc2NyaXB0LCBOVUxMLCBOVUxMLCAxLCBOVUxMKTsKKyAg
ICBKU1N0cmluZ1JlbGVhc2Uoc2NyaXB0KTsKKworICAgIGFzc2VydFRydWUoZXhlY3V0ZWRDYWxs
YmFjaywgIkV4ZWN1dGVkIGN1c3RvbSBnbG9iYWwgb2JqZWN0IGNhbGxiYWNrIik7Cit9CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL3Rlc3RzL0N1c3RvbUdsb2JhbE9iamVjdENsYXNz
VGVzdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvdGVzdHMvQ3Vz
dG9tR2xvYmFsT2JqZWN0Q2xhc3NUZXN0LmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvQVBJL3Rlc3RzL0N1c3RvbUdsb2JhbE9iamVjdENsYXNzVGVzdC5oCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
KyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaWZuZGVmIEN1c3RvbUdsb2JhbE9iamVjdENsYXNzVGVzdF9oCisjZGVm
aW5lIEN1c3RvbUdsb2JhbE9iamVjdENsYXNzVGVzdF9oCisKK3ZvaWQgY3VzdG9tR2xvYmFsT2Jq
ZWN0Q2xhc3NUZXN0KHZvaWQpOworCisjZW5kaWYgLy8gQ3VzdG9tR2xvYmFsT2JqZWN0Q2xhc3NU
ZXN0X2gKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvdGVzdHMvdGVzdGFwaS5jCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvdGVzdHMvdGVzdGFwaS5jCShy
ZXZpc2lvbiAxNzE1MzQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL3Rlc3RzL3Rlc3Rh
cGkuYwkod29ya2luZyBjb3B5KQpAQCAtNDUsMTAgKzQ1LDEzIEBACiAjaW5jbHVkZSA8d2luZG93
cy5oPgogI2VuZGlmCiAKKyNpbmNsdWRlICJDdXN0b21HbG9iYWxPYmplY3RDbGFzc1Rlc3QuaCIK
KwogI2lmIEpTQ19PQkpDX0FQSV9FTkFCTEVECiB2b2lkIHRlc3RPYmplY3RpdmVDQVBJKHZvaWQp
OwogI2VuZGlmCiAKK2Jvb2wgYXNzZXJ0VHJ1ZShib29sIHZhbHVlLCBjb25zdCBjaGFyKiBtZXNz
YWdlKTsKIGV4dGVybiB2b2lkIEpTU3luY2hyb25vdXNHYXJiYWdlQ29sbGVjdEZvckRlYnVnZ2lu
ZyhKU0NvbnRleHRSZWYpOwogCiBzdGF0aWMgSlNHbG9iYWxDb250ZXh0UmVmIGNvbnRleHQ7CkBA
IC05NzUsNyArOTc4LDcgQEAgc3RhdGljIHZvaWQgbWFrZUdsb2JhbE51bWJlclZhbHVlKEpTQ29u
dAogICAgIHYgPSBOVUxMOwogfQogCi1zdGF0aWMgYm9vbCBhc3NlcnRUcnVlKGJvb2wgdmFsdWUs
IGNvbnN0IGNoYXIqIG1lc3NhZ2UpCitib29sIGFzc2VydFRydWUoYm9vbCB2YWx1ZSwgY29uc3Qg
Y2hhciogbWVzc2FnZSkKIHsKICAgICBpZiAoIXZhbHVlKSB7CiAgICAgICAgIGlmIChtZXNzYWdl
KQpAQCAtMjA3NSw2ICsyMDc4LDggQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkK
ICAgICBpZiAoZ2xvYmFsQ29udGV4dE5hbWVUZXN0KCkpCiAgICAgICAgIHByaW50ZigiUEFTUzog
Z2xvYmFsIGNvbnRleHQgbmFtZSBiZWhhdmVzIGFzIGV4cGVjdGVkLlxuIik7CiAKKyAgICBjdXN0
b21HbG9iYWxPYmplY3RDbGFzc1Rlc3QoKTsKKwogICAgIGlmIChmYWlsZWQpIHsKICAgICAgICAg
cHJpbnRmKCJGQUlMOiBTb21lIHRlc3RzIGZhaWxlZC5cbiIpOwogICAgICAgICByZXR1cm4gMTsK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL3Rlc3Rh
cGkvdGVzdGFwaS52Y3hwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS52Y3hwcm9qL3Rlc3RhcGkvdGVzdGFwaS52Y3hwcm9qCShyZXZpc2lvbiAx
NzE1MzQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai90
ZXN0YXBpL3Rlc3RhcGkudmN4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMjkyLDggKzI5MiwxMCBA
QAogICA8L0l0ZW1Hcm91cD4KICAgPEl0ZW1Hcm91cD4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9
Ii4uXC4uXEFQSVx0ZXN0c1x0ZXN0YXBpLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
LlwuLlxBUElcdGVzdHNcQ3VzdG9tR2xvYmFsT2JqZWN0Q2xhc3NUZXN0LmMiIC8+CisgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlwuLlxBUElcdGVzdHNcQ3VzdG9tR2xvYmFsT2JqZWN0Q2xhc3NU
ZXN0LmgiIC8+CiAgIDwvSXRlbUdyb3VwPgogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRz
UGF0aClcTWljcm9zb2Z0LkNwcC50YXJnZXRzIiAvPgogICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4
dGVuc2lvblRhcmdldHMiPgogICA8L0ltcG9ydEdyb3VwPgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKKzwvUHJvamVjdD4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL3Rlc3RhcGkvdGVzdGFwaS52Y3hwcm9qLmZpbHRlcnMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHBy
b2ovdGVzdGFwaS90ZXN0YXBpLnZjeHByb2ouZmlsdGVycwkocmV2aXNpb24gMTcxNTM0KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovdGVzdGFwaS90ZXN0
YXBpLnZjeHByb2ouZmlsdGVycwkod29ya2luZyBjb3B5KQpAQCAtOCw1ICs4LDcgQEAKICAgPC9J
dGVtR3JvdXA+CiAgIDxJdGVtR3JvdXA+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxB
UElcdGVzdHNcdGVzdGFwaS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cQVBJ
XHRlc3RzXEN1c3RvbUdsb2JhbE9iamVjdENsYXNzVGVzdC5jIiAvPgorICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5cLi5cQVBJXHRlc3RzXEN1c3RvbUdsb2JhbE9iamVjdENsYXNzVGVzdC5oIiAv
PgogICA8L0l0ZW1Hcm91cD4KLTwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
Cis8L1Byb2plY3Q+CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24g
MTcxNTM0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTE5NzcsNiArMTk3Nyw3IEBACiAJ
CUJDRjYwNTE0MEUyMDNFRjgwMEI5QTY0RCAvKiBBcmdMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y2MDUxMjBFMjAzRUY4MDBCOUE2NEQgLyog
QXJnTGlzdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCUJDRkQ4QzkyMEVFQjJFRTcwMDI4Mzg0OCAvKiBKdW1wVGFibGUuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGRDhDOTAwRUVCMkVFNzAwMjgz
ODQ4IC8qIEp1bXBUYWJsZS5jcHAgKi87IH07CiAJCUJDRkQ4QzkzMEVFQjJFRTcwMDI4Mzg0OCAv
KiBKdW1wVGFibGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEJDRkQ4QzkxMEVFQjJFRTcwMDI4Mzg0OCAvKiBKdW1wVGFibGUuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDMjAzMjgyMDE5ODE5NzlEMDA4
OEI0OTkgLyogQ3VzdG9tR2xvYmFsT2JqZWN0Q2xhc3NUZXN0LmMgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMjAzMjgxRTE5ODE5NzlEMDA4OEI0OTkgLyog
Q3VzdG9tR2xvYmFsT2JqZWN0Q2xhc3NUZXN0LmMgKi87IH07CiAJCUMyMEIyNTk5MTcwNjUzNjIw
MEMyMUY0RSAvKiBSZWdpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEMyMEIyNTk4MTcwNjUzNjIwMEMyMUY0RSAvKiBSZWdpb24uaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDMjBCQTkyRDE2QkIxQzE1
MDBCM0FFQTIgLyogU3RydWN0dXJlUmFyZURhdGFJbmxpbmVzLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMjBCQTkyQzE2QkIxQzE1MDBCM0FFQTIgLyog
U3RydWN0dXJlUmFyZURhdGFJbmxpbmVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJQzIxMTIyRTExNUREOUFCMzAwNzkwRTNBIC8qIEdDVGhyZWFk
U2hhcmVkRGF0YS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDMjExMjJERTE1REQ5QUIzMDA3OTBFM0EgLyogR0NUaHJlYWRTaGFyZWREYXRhLmNwcCAq
LzsgfTsKQEAgLTM2MTEsNiArMzYxMiw4IEBACiAJCUJDRjYwNTEyMEUyMDNFRjgwMEI5QTY0RCAv
KiBBcmdMaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFyZ0xpc3QuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNGRDhDOTAwRUVCMkVFNzAwMjgzODQ4IC8q
IEp1bXBUYWJsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKdW1w
VGFibGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0ZEOEM5MTBFRUIyRUU3
MDAyODM4NDggLyogSnVtcFRhYmxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEp1bXBUYWJsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDMjAzMjgxRTE5ODE5
NzlEMDA4OEI0OTkgLyogQ3VzdG9tR2xvYmFsT2JqZWN0Q2xhc3NUZXN0LmMgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuYzsgbmFtZSA9IEN1c3RvbUdsb2JhbE9iamVjdENsYXNzVGVzdC5jOyBwYXRo
ID0gQVBJL3Rlc3RzL0N1c3RvbUdsb2JhbE9iamVjdENsYXNzVGVzdC5jOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlDMjAzMjgxRjE5ODE5NzlEMDA4OEI0OTkgLyogQ3VzdG9tR2xvYmFs
T2JqZWN0Q2xhc3NUZXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEN1c3Rv
bUdsb2JhbE9iamVjdENsYXNzVGVzdC5oOyBwYXRoID0gQVBJL3Rlc3RzL0N1c3RvbUdsb2JhbE9i
amVjdENsYXNzVGVzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMjBCMjU5ODE3
MDY1MzYyMDBDMjFGNEUgLyogUmVnaW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFJlZ2lvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMjBCQTkyQzE2QkIx
QzE1MDBCM0FFQTIgLyogU3RydWN0dXJlUmFyZURhdGFJbmxpbmVzLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFN0cnVjdHVyZVJhcmVEYXRhSW5saW5lcy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlDMjExMjJERTE1REQ5QUIzMDA3OTBFM0EgLyogR0NUaHJlYWRT
aGFyZWREYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdDVGhy
ZWFkU2hhcmVkRGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00MDczLDYg
KzQwNzYsOCBAQAogCQkxNDEyMTEwMDBBNDg3NzI2MDA0ODAyNTUgLyogdGVzdHMgKi8gPSB7CiAJ
CQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCUMyMDMyODFFMTk4MTk3OUQw
MDg4QjQ5OSAvKiBDdXN0b21HbG9iYWxPYmplY3RDbGFzc1Rlc3QuYyAqLywKKwkJCQlDMjAzMjgx
RjE5ODE5NzlEMDA4OEI0OTkgLyogQ3VzdG9tR2xvYmFsT2JqZWN0Q2xhc3NUZXN0LmggKi8sCiAJ
CQkJQzI5RUNCMDIxODA0RDBFRDAwRDJDQkI0IC8qIEN1cnJlbnRUaGlzSW5zaWRlQmxvY2tHZXR0
ZXJUZXN0LmggKi8sCiAJCQkJQzI5RUNCMDExODA0RDBFRDAwRDJDQkI0IC8qIEN1cnJlbnRUaGlz
SW5zaWRlQmxvY2tHZXR0ZXJUZXN0Lm1tICovLAogCQkJCUMyODhCMkRDMThBNTREM0UwMDdCRTQw
QiAvKiBEYXRlVGVzdHMuaCAqLywKQEAgLTc0NTMsNiArNzQ1OCw3IEBACiAJCQlidWlsZEFjdGlv
bk1hc2sgPSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCiAJCQkJQzI5RUNCMDMxODA0RDBFRDAw
RDJDQkI0IC8qIEN1cnJlbnRUaGlzSW5zaWRlQmxvY2tHZXR0ZXJUZXN0Lm1tIGluIFNvdXJjZXMg
Ki8sCisJCQkJQzIwMzI4MjAxOTgxOTc5RDAwODhCNDk5IC8qIEN1c3RvbUdsb2JhbE9iamVjdENs
YXNzVGVzdC5jIGluIFNvdXJjZXMgKi8sCiAJCQkJQzI4OEIyREUxOEE1NEQzRTAwN0JFNDBCIC8q
IERhdGVUZXN0cy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUMyMTgxRkMyMThBOTQ4RkIwMDI1QTIz
NSAvKiBKU0V4cG9ydFRlc3RzLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMTQ0MEY2MTAwQTRGODU2
NzAwMDVGMDYxIC8qIHRlc3RhcGkuYyBpbiBTb3VyY2VzICovLApJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAkocmV2aXNpb24gMTcx
NTM0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC02MjMsNiArNjIzLDkgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6
cmVzZXRQcm90b3R5cGUoVk0mIAogICAgIEpTT2JqZWN0KiBvYmplY3RQcm90b3R5cGUgPSBtX29i
amVjdFByb3RvdHlwZS5nZXQoKTsKICAgICBpZiAob2xkTGFzdEluUHJvdG90eXBlQ2hhaW4gIT0g
b2JqZWN0UHJvdG90eXBlKQogICAgICAgICBvbGRMYXN0SW5Qcm90b3R5cGVDaGFpbi0+c2V0UHJv
dG90eXBlKHZtLCBvYmplY3RQcm90b3R5cGUpOworCisgICAgLy8gV2hlbmV2ZXIgd2UgY2hhbmdl
IHRoZSBwcm90b3R5cGUgb2YgdGhlIGdsb2JhbCBvYmplY3QsIHdlIG5lZWQgdG8gY3JlYXRlIGEg
bmV3IEpTUHJveHkgd2l0aCB0aGUgY29ycmVjdCBwcm90b3R5cGUuCisgICAgc2V0R2xvYmFsVGhp
cyh2bSwgSlNQcm94eTo6Y3JlYXRlKHZtLCBKU1Byb3h5OjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRo
aXMsIHByb3RvdHlwZSwgUHVyZUZvcndhcmRpbmdQcm94eVR5cGUpLCB0aGlzKSk7CiB9CiAKIHZv
aWQgSlNHbG9iYWxPYmplY3Q6OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRv
ciYgdmlzaXRvcikK
</data>

          </attachment>
      

    </bug>

</bugzilla>