<?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>160191</bug_id>
          
          <creation_ts>2016-07-26 03:19:46 -0700</creation_ts>
          <short_desc>JS Built-ins should throw this-error messages consistently with binding generated code</short_desc>
          <delta_ts>2016-07-26 23:39:06 -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>WebCore Misc.</component>
          <version>WebKit 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="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>benjamin</cc>
    
    <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1214487</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-07-26 03:19:46 -0700</bug_when>
    <thetext>When checking &quot;this&quot;, the same error message should be used for JS built-ins and binding generated code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1214488</commentid>
    <comment_count>1</comment_count>
      <attachid>284571</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-07-26 03:32:48 -0700</bug_when>
    <thetext>Created attachment 284571
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1214489</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-26 03:34:46 -0700</bug_when>
    <thetext>Attachment 284571 did not pass style-queue:


ERROR: Source/WebCore/bindings/js/JSDOMGlobalObject.cpp:109:  When wrapping a line, only indent 4 spaces.  [whitespace/indent] [3]
ERROR: Source/WebCore/bindings/js/JSDOMGlobalObject.cpp:111:  When wrapping a line, only indent 4 spaces.  [whitespace/indent] [3]
Total errors found: 2 in 14 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>1214827</commentid>
    <comment_count>3</comment_count>
      <attachid>284571</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-26 23:39:02 -0700</bug_when>
    <thetext>Comment on attachment 284571
Patch

Clearing flags on attachment: 284571

Committed r203766: &lt;http://trac.webkit.org/changeset/203766&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1214828</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-26 23:39:06 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>284571</attachid>
            <date>2016-07-26 03:32:48 -0700</date>
            <delta_ts>2016-07-26 23:39:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-160191-20160726123137.patch</filename>
            <type>text/plain</type>
            <size>23985</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAzNjgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmE2ZGJmOTIzODAxOTFi
ZTk5ZThkZTlkYjNiOGRjNTY3YmY1MzIyMy4uMjQ2OTUyMjQxZWM0YWU2YjU1Y2E0YjAxODQ0ZDFk
NmU1ZTVjNGI3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDE2LTA3LTI2ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uZkBnbWFpbC5jb20+CisKKyAgICAgICAgSlMgQnVpbHQtaW5zIHNo
b3VsZCB0aHJvdyB0aGlzLWVycm9yIG1lc3NhZ2VzIGNvbnNpc3RlbnRseSB3aXRoIGJpbmRpbmcg
Z2VuZXJhdGVkIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE2MDE5MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEludHJvZHVjaW5nIEBtYWtlVGhpc1R5cGVFcnJvciBhbmQgQG1ha2VHZXR0ZXJUeXBl
RXJyb3IgdG8gY3JlYXRlIFR5cGVFcnJvciBvYmplY3RzIHdpdGggYSBjb25zaXN0ZW50IGVycm9y
IG1lc3NhZ2UuCisgICAgICAgIE1ha2luZyB1c2Ugb2YgdGhlc2UgZnVuY3Rpb25zIGluIHN0cmVh
bXMgQVBJIGFuZCBmZXRjaCBBUEkgcmVsYXRlZCBidWlsdC1pbiBjb2RlLgorCisgICAgICAgIFJl
ZmFjdG9yZWQgSlNET01CaW5kaW5nLmNwcCBjb2RlIGJ5IGFkZGluZyBtYWtlVGhpc1R5cGVFcnJv
ck1lc3NhZ2UgYW5kIG1ha2VHZXR0ZXJUeXBlRXJyb3JNZXNzYWdlIGhlbHBlciByb3V0aW5lcwor
ICAgICAgICBUaGVzZSByb3V0aW5lcyBhcmUgdXNlZCBieSBib3RoIG5ldyBidWlsdC1pbiBmdW5j
dGlvbnMgYXMgd2VsbCBhcyBiaW5kaW5nIGdlbmVyYXRlZCBjb2RlIGhlbHBlciByb3V0aW5lLgor
CisgICAgICAgIFRlc3RzOiBmZXRjaC9mZXRjaC1lcnJvci1tZXNzYWdlcy5odG1sCisgICAgICAg
ICAgICAgICBzdHJlYW1zL3JlYWRhYmxlLXN0cmVhbS1lcnJvci1tZXNzYWdlcy5odG1sCisKKyAg
ICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuanM6CisgICAgICAgIChib2R5KTog
QWRkaW5nIGFuIGV4cGxpY2l0IGNoZWNrIHNvIHRoYXQgdGhlIGVycm9yIG1lc3NhZ2UgaXMgcmln
aHQuIFRoZSBwcmV2aW91cyBlcnJvciBtZXNzYWdlIHdhcyByZWxhdGVkIHRvIHRoZSBjYWxsIG9m
IFJlc3BvbnNlLkBpc0Rpc3R1cmJlZC4KKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvUmVhZGFi
bGVTdHJlYW0uanM6CisgICAgICAgIChjYW5jZWwpOgorICAgICAgICAoZ2V0UmVhZGVyKToKKyAg
ICAgICAgKHBpcGVUbyk6CisgICAgICAgICh0ZWUpOgorICAgICAgICAobG9ja2VkKToKKyAgICAg
ICAgKiBNb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1Db250cm9sbGVyLmpzOgorICAgICAg
ICAoZW5xdWV1ZSk6CisgICAgICAgIChlcnJvcik6CisgICAgICAgIChjbG9zZSk6CisgICAgICAg
IChkZXNpcmVkU2l6ZSk6CisgICAgICAgICogTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFt
UmVhZGVyLmpzOgorICAgICAgICAoY2FuY2VsKToKKyAgICAgICAgKHJlYWQpOgorICAgICAgICAo
cmVsZWFzZUxvY2spOgorICAgICAgICAoY2xvc2VkKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9K
U0RPTUJpbmRpbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bWFrZUdldHRlclR5cGVFcnJvck1l
c3NhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6dGhyb3dHZXR0ZXJUeXBlRXJyb3IpOgorICAgICAg
ICAoV2ViQ29yZTo6bWFrZVRoaXNUeXBlRXJyb3JNZXNzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6
OnRocm93VGhpc1R5cGVFcnJvcik6CisgICAgICAgIChXZWJDb3JlOjp0aHJvd1NlcXVlbmNlVHlw
ZUVycm9yKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnRocm93U2V0dGVyVHlwZUVycm9y
KTogRGVsZXRlZC4KKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaDoKKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjptYWtlVGhpc1R5cGVFcnJvckZvckJ1aWx0aW5zKToKKyAgICAgICAgKFdlYkNvcmU6Om1ha2VH
ZXR0ZXJUeXBlRXJyb3JGb3JCdWlsdGlucyk6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTUdsb2Jh
bE9iamVjdDo6YWRkQnVpbHRpbkdsb2JhbHMpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNv
cmVCdWlsdGluTmFtZXMuaDoKKwogMjAxNi0wNy0yNSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxj
Z2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMjAwOTMxKTogSW52YWxp
ZCBjYXN0IGluIGhpZ2hlc3RBbmNlc3RvclRvV3JhcE1hcmt1cCgpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuanMgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuanMKaW5kZXggYzRhY2MwMTAxMWY0YzFlZTYz
NzBkYzMzNDEzMzlkYjY4NTgxOTAzZS4uM2I2ZDk1ZmU5NDI4YTc1NTViYWI4YzQxNzk1NGVmOWI4
YTgyZjI5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJl
c3BvbnNlLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25z
ZS5qcwpAQCAtNTYsNiArNTYsOSBAQCBmdW5jdGlvbiBpbml0aWFsaXplRmV0Y2hSZXNwb25zZShi
b2R5LCBpbml0KQogCiBmdW5jdGlvbiBib2R5KCkKIHsKKyAgICBpZiAoISh0aGlzIGluc3RhbmNl
b2YgQFJlc3BvbnNlKSkKKyAgICAgICAgdGhyb3cgQG1ha2VHZXR0ZXJUeXBlRXJyb3IoIlJlc3Bv
bnNlIiwgImJvZHkiKTsKKwogICAgIGlmICghdGhpcy5AYm9keSkgewogICAgICAgICBpZiAoQFJl
c3BvbnNlLnByb3RvdHlwZS5AaXNEaXN0dXJiZWQuQGNhbGwodGhpcykpIHsKICAgICAgICAgICAg
IHRoaXMuQGJvZHkgPSBuZXcgQFJlYWRhYmxlU3RyZWFtKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW0uanMgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW0uanMKaW5kZXggOWU2YTlkZjU2MWUzMTVj
ODQyM2JlMTIzNGFlOGU3ODNjNThiZGI3Zi4uNzJiZDUzMDcxMDkwNmE2M2JmMTZiY2Q0OTBhMzMw
YjBiYWQyOWJmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1Jl
YWRhYmxlU3RyZWFtLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFk
YWJsZVN0cmVhbS5qcwpAQCAtNzEsNyArNzEsNyBAQCBmdW5jdGlvbiBjYW5jZWwocmVhc29uKQog
ICAgICJ1c2Ugc3RyaWN0IjsKIAogICAgIGlmICghQGlzUmVhZGFibGVTdHJlYW0odGhpcykpCi0g
ICAgICAgIHJldHVybiBAUHJvbWlzZS5AcmVqZWN0KG5ldyBAVHlwZUVycm9yKCJGdW5jdGlvbiBz
aG91bGQgYmUgY2FsbGVkIG9uIGEgUmVhZGFibGVTdHJlYW0iKSk7CisgICAgICAgIHJldHVybiBA
UHJvbWlzZS5AcmVqZWN0KEBtYWtlVGhpc1R5cGVFcnJvcigiUmVhZGFibGVTdHJlYW0iLCAiY2Fu
Y2VsIikpOwogCiAgICAgaWYgKEBpc1JlYWRhYmxlU3RyZWFtTG9ja2VkKHRoaXMpKQogICAgICAg
ICByZXR1cm4gQFByb21pc2UuQHJlamVjdChuZXcgQFR5cGVFcnJvcigiUmVhZGFibGVTdHJlYW0g
aXMgbG9ja2VkIikpOwpAQCAtODQsNyArODQsNyBAQCBmdW5jdGlvbiBnZXRSZWFkZXIoKQogICAg
ICJ1c2Ugc3RyaWN0IjsKIAogICAgIGlmICghQGlzUmVhZGFibGVTdHJlYW0odGhpcykpCi0gICAg
ICAgIHRocm93IG5ldyBAVHlwZUVycm9yKCJGdW5jdGlvbiBzaG91bGQgYmUgY2FsbGVkIG9uIGEg
UmVhZGFibGVTdHJlYW0iKTsKKyAgICAgICAgdGhyb3cgQG1ha2VUaGlzVHlwZUVycm9yKCJSZWFk
YWJsZVN0cmVhbSIsICJnZXRSZWFkZXIiKTsKIAogICAgIHJldHVybiBuZXcgQFJlYWRhYmxlU3Ry
ZWFtUmVhZGVyKHRoaXMpOwogfQpAQCAtMTg2LDcgKzE4Niw3IEBAIGZ1bmN0aW9uIHBpcGVUbyhk
ZXN0aW5hdGlvbikKICAgICApOwogCiAgICAgZG9QaXBlKCk7Ci0gICAgCisKICAgICByZXR1cm4g
cHJvbWlzZUNhcGFiaWxpdHkuQHByb21pc2U7CiB9CiAKQEAgLTE5NSw3ICsxOTUsNyBAQCBmdW5j
dGlvbiB0ZWUoKQogICAgICJ1c2Ugc3RyaWN0IjsKIAogICAgIGlmICghQGlzUmVhZGFibGVTdHJl
YW0odGhpcykpCi0gICAgICAgIHRocm93IG5ldyBAVHlwZUVycm9yKCJGdW5jdGlvbiBzaG91bGQg
YmUgY2FsbGVkIG9uIGEgUmVhZGFibGVTdHJlYW0iKTsKKyAgICAgICAgdGhyb3cgQG1ha2VUaGlz
VHlwZUVycm9yKCJSZWFkYWJsZVN0cmVhbSIsICJ0ZWUiKTsKIAogICAgIHJldHVybiBAdGVlUmVh
ZGFibGVTdHJlYW0odGhpcywgZmFsc2UpOwogfQpAQCAtMjA1LDcgKzIwNSw3IEBAIGZ1bmN0aW9u
IGxvY2tlZCgpCiAgICAgInVzZSBzdHJpY3QiOwogCiAgICAgaWYgKCFAaXNSZWFkYWJsZVN0cmVh
bSh0aGlzKSkKLSAgICAgICAgdGhyb3cgbmV3IEBUeXBlRXJyb3IoIkZ1bmN0aW9uIHNob3VsZCBi
ZSBjYWxsZWQgb24gYSBSZWFkYWJsZVN0cmVhbSIpOworICAgICAgICB0aHJvdyBAbWFrZUdldHRl
clR5cGVFcnJvcigiUmVhZGFibGVTdHJlYW0iLCAibG9ja2VkIik7CiAKICAgICByZXR1cm4gQGlz
UmVhZGFibGVTdHJlYW1Mb2NrZWQodGhpcyk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1Db250cm9sbGVyLmpzIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtQ29udHJvbGxlci5qcwppbmRleCBm
MDFiNGE4OTQxMWUyZmE1ODRhNzg4ODBmZDdhZjViY2JmOTAyMGQ4Li44MGM1M2NlNzI5OTg5NzU1
ZjcyNjE2ZWJhZDg1YjliYmMzZDUyNWRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1Db250cm9sbGVyLmpzCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXIuanMKQEAgLTMwLDcg
KzMwLDcgQEAgZnVuY3Rpb24gZW5xdWV1ZShjaHVuaykKICAgICAidXNlIHN0cmljdCI7CiAKICAg
ICBpZiAoIUBpc1JlYWRhYmxlU3RyZWFtQ29udHJvbGxlcih0aGlzKSkKLSAgICAgICAgdGhyb3cg
bmV3IEBUeXBlRXJyb3IoIkZ1bmN0aW9uIHNob3VsZCBiZSBjYWxsZWQgb24gYSBSZWFkYWJsZVN0
cmVhbUNvbnRyb2xsZXIiKTsKKyAgICAgICAgdGhyb3cgQG1ha2VUaGlzVHlwZUVycm9yKCJSZWFk
YWJsZVN0cmVhbUNvbnRyb2xsZXIiLCAiZW5xdWV1ZSIpOwogCiAgICAgY29uc3Qgc3RyZWFtID0g
dGhpcy5AY29udHJvbGxlZFJlYWRhYmxlU3RyZWFtOwogCkBAIC00OCw3ICs0OCw3IEBAIGZ1bmN0
aW9uIGVycm9yKGVycm9yKQogICAgICJ1c2Ugc3RyaWN0IjsKIAogICAgIGlmICghQGlzUmVhZGFi
bGVTdHJlYW1Db250cm9sbGVyKHRoaXMpKQotICAgICAgICB0aHJvdyBuZXcgQFR5cGVFcnJvcigi
RnVuY3Rpb24gc2hvdWxkIGJlIGNhbGxlZCBvbiBhIFJlYWRhYmxlU3RyZWFtQ29udHJvbGxlciIp
OworICAgICAgICB0aHJvdyBAbWFrZVRoaXNUeXBlRXJyb3IoIlJlYWRhYmxlU3RyZWFtQ29udHJv
bGxlciIsICJlcnJvciIpOwogCiAgICAgY29uc3Qgc3RyZWFtID0gdGhpcy5AY29udHJvbGxlZFJl
YWRhYmxlU3RyZWFtOwogICAgIGlmIChzdHJlYW0uQHN0YXRlICE9PSBAc3RyZWFtUmVhZGFibGUp
CkBAIC02Miw3ICs2Miw3IEBAIGZ1bmN0aW9uIGNsb3NlKCkKICAgICAidXNlIHN0cmljdCI7CiAK
ICAgICBpZiAoIUBpc1JlYWRhYmxlU3RyZWFtQ29udHJvbGxlcih0aGlzKSkKLSAgICAgICAgdGhy
b3cgbmV3IEBUeXBlRXJyb3IoIkZ1bmN0aW9uIHNob3VsZCBiZSBjYWxsZWQgb24gYSBSZWFkYWJs
ZVN0cmVhbUNvbnRyb2xsZXIiKTsKKyAgICAgICAgdGhyb3cgQG1ha2VUaGlzVHlwZUVycm9yKCJS
ZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXIiLCAiY2xvc2UiKTsKIAogICAgIGNvbnN0IHN0cmVhbSA9
IHRoaXMuQGNvbnRyb2xsZWRSZWFkYWJsZVN0cmVhbTsKICAgICBpZiAoc3RyZWFtLkBjbG9zZVJl
cXVlc3RlZCkKQEAgLTc5LDcgKzc5LDcgQEAgZnVuY3Rpb24gZGVzaXJlZFNpemUoKQogICAgICJ1
c2Ugc3RyaWN0IjsKIAogICAgIGlmICghQGlzUmVhZGFibGVTdHJlYW1Db250cm9sbGVyKHRoaXMp
KQotICAgICAgICB0aHJvdyBuZXcgQFR5cGVFcnJvcigiRnVuY3Rpb24gc2hvdWxkIGJlIGNhbGxl
ZCBvbiBhIFJlYWRhYmxlU3RyZWFtQ29udHJvbGxlciIpOworICAgICAgICB0aHJvdyBAbWFrZUdl
dHRlclR5cGVFcnJvcigiUmVhZGFibGVTdHJlYW1Db250cm9sbGVyIiwgImRlc2lyZWRTaXplIik7
CiAKICAgICByZXR1cm4gQGdldFJlYWRhYmxlU3RyZWFtRGVzaXJlZFNpemUodGhpcy5AY29udHJv
bGxlZFJlYWRhYmxlU3RyZWFtKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbVJlYWRlci5qcyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbVJlYWRlci5qcwppbmRleCBjMjY0N2Q1ZWI2ZDFmZmE3
ZjBmMzIxZTlmNDhjN2I0MjFiZDc3ZTllLi5jYjIxMWI4ZjczNmJhZGY0OTg3MmVkYTc4ZTE5NjM5
OWQ0Y2Y5MmEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVh
ZGFibGVTdHJlYW1SZWFkZXIuanMKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1z
L1JlYWRhYmxlU3RyZWFtUmVhZGVyLmpzCkBAIC0zMCw3ICszMCw3IEBAIGZ1bmN0aW9uIGNhbmNl
bChyZWFzb24pCiAgICAgInVzZSBzdHJpY3QiOwogCiAgICAgaWYgKCFAaXNSZWFkYWJsZVN0cmVh
bVJlYWRlcih0aGlzKSkKLSAgICAgICAgcmV0dXJuIEBQcm9taXNlLkByZWplY3QobmV3IEBUeXBl
RXJyb3IoIkZ1bmN0aW9uIHNob3VsZCBiZSBjYWxsZWQgb24gYSBSZWFkYWJsZVN0cmVhbVJlYWRl
ciIpKTsKKyAgICAgICAgcmV0dXJuIEBQcm9taXNlLkByZWplY3QoQG1ha2VUaGlzVHlwZUVycm9y
KCJSZWFkYWJsZVN0cmVhbVJlYWRlciIsICJjYW5jZWwiKSk7CiAKICAgICBpZiAoIXRoaXMuQG93
bmVyUmVhZGFibGVTdHJlYW0pCiAgICAgICAgIHJldHVybiBAUHJvbWlzZS5AcmVqZWN0KG5ldyBA
VHlwZUVycm9yKCJjYW5jZWwoKSBjYWxsZWQgb24gYSByZWFkZXIgb3duZWQgYnkgbm8gcmVhZGFi
bGUgc3RyZWFtIikpOwpAQCAtNDMsNyArNDMsNyBAQCBmdW5jdGlvbiByZWFkKCkKICAgICAidXNl
IHN0cmljdCI7CiAKICAgICBpZiAoIUBpc1JlYWRhYmxlU3RyZWFtUmVhZGVyKHRoaXMpKQotICAg
ICAgICByZXR1cm4gQFByb21pc2UuQHJlamVjdChuZXcgQFR5cGVFcnJvcigiRnVuY3Rpb24gc2hv
dWxkIGJlIGNhbGxlZCBvbiBhIFJlYWRhYmxlU3RyZWFtUmVhZGVyIikpOworICAgICAgICByZXR1
cm4gQFByb21pc2UuQHJlamVjdChAbWFrZVRoaXNUeXBlRXJyb3IoIlJlYWRhYmxlU3RyZWFtUmVh
ZGVyIiwgInJlYWQiKSk7CiAgICAgaWYgKCF0aGlzLkBvd25lclJlYWRhYmxlU3RyZWFtKQogICAg
ICAgICByZXR1cm4gQFByb21pc2UuQHJlamVjdChuZXcgQFR5cGVFcnJvcigicmVhZCgpIGNhbGxl
ZCBvbiBhIHJlYWRlciBvd25lZCBieSBubyByZWFkYWJsZSBzdHJlYW0iKSk7CiAKQEAgLTU1LDcg
KzU1LDcgQEAgZnVuY3Rpb24gcmVsZWFzZUxvY2soKQogICAgICJ1c2Ugc3RyaWN0IjsKIAogICAg
IGlmICghQGlzUmVhZGFibGVTdHJlYW1SZWFkZXIodGhpcykpCi0gICAgICAgIHRocm93IG5ldyBA
VHlwZUVycm9yKCJGdW5jdGlvbiBzaG91bGQgYmUgY2FsbGVkIG9uIGEgUmVhZGFibGVTdHJlYW1S
ZWFkZXIiKTsKKyAgICAgICAgdGhyb3cgQG1ha2VUaGlzVHlwZUVycm9yKCJSZWFkYWJsZVN0cmVh
bVJlYWRlciIsICJyZWxlYXNlTG9jayIpOwogCiAgICAgY29uc3Qgc3RyZWFtID0gdGhpcy5Ab3du
ZXJSZWFkYWJsZVN0cmVhbTsKICAgICBpZiAoIXN0cmVhbSkKQEAgLTc4LDcgKzc4LDcgQEAgZnVu
Y3Rpb24gY2xvc2VkKCkKICAgICAidXNlIHN0cmljdCI7CiAKICAgICBpZiAoIUBpc1JlYWRhYmxl
U3RyZWFtUmVhZGVyKHRoaXMpKQotICAgICAgICByZXR1cm4gQFByb21pc2UuQHJlamVjdChuZXcg
QFR5cGVFcnJvcigiQ2FsbGVlIG9mIGNsb3NlZCBpcyBub3QgYSBSZWFkYWJsZVN0cmVhbVJlYWRl
ciIpKTsKKyAgICAgICAgcmV0dXJuIEBQcm9taXNlLkByZWplY3QoQG1ha2VHZXR0ZXJUeXBlRXJy
b3IoIlJlYWRhYmxlU3RyZWFtUmVhZGVyIiwgImNsb3NlZCIpKTsKIAogICAgIHJldHVybiB0aGlz
LkBjbG9zZWRQcm9taXNlQ2FwYWJpbGl0eS5AcHJvbWlzZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3BwCmluZGV4IGRkZjQ5YmVhYjhiNDYzYmFhZjQzZmE1
Y2Y3MDY0MTQ5MDgxZWQ1NGQuLjljOGJkMTQ2ODk4N2E0ZmM3OGI5ZmJlNWJjMTcyOWIzN2RlMTkw
OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmNwcApAQCAt
ODMzLDExICs4MzMsNiBAQCBKU0M6OkVuY29kZWRKU1ZhbHVlIHRocm93Q29uc3RydWN0b3JEb2N1
bWVudFVuYXZhaWxhYmxlRXJyb3IoSlNDOjpFeGVjU3RhdGUmIHN0YQogICAgIHJldHVybiB0aHJv
d1ZNRXJyb3IoJnN0YXRlLCBjcmVhdGVSZWZlcmVuY2VFcnJvcigmc3RhdGUsIG1ha2VTdHJpbmco
aW50ZXJmYWNlTmFtZSwgIiBjb25zdHJ1Y3RvciBhc3NvY2lhdGVkIGRvY3VtZW50IGlzIHVuYXZh
aWxhYmxlIikpKTsKIH0KIAotSlNDOjpFbmNvZGVkSlNWYWx1ZSB0aHJvd0dldHRlclR5cGVFcnJv
cihKU0M6OkV4ZWNTdGF0ZSYgc3RhdGUsIGNvbnN0IGNoYXIqIGludGVyZmFjZU5hbWUsIGNvbnN0
IGNoYXIqIGF0dHJpYnV0ZU5hbWUpCi17Ci0gICAgcmV0dXJuIHRocm93Vk1UeXBlRXJyb3IoJnN0
YXRlLCBtYWtlU3RyaW5nKCJUaGUgIiwgaW50ZXJmYWNlTmFtZSwgJy4nLCBhdHRyaWJ1dGVOYW1l
LCAiIGdldHRlciBjYW4gb25seSBiZSB1c2VkIG9uIGluc3RhbmNlcyBvZiAiLCBpbnRlcmZhY2VO
YW1lKSk7Ci19Ci0KIHZvaWQgdGhyb3dTZXF1ZW5jZVR5cGVFcnJvcihKU0M6OkV4ZWNTdGF0ZSYg
c3RhdGUpCiB7CiAgICAgdGhyb3dUeXBlRXJyb3Ioc3RhdGUsIEFTQ0lJTGl0ZXJhbCgiVmFsdWUg
aXMgbm90IGEgc2VxdWVuY2UiKSk7CkBAIC04NDgsMTUgKzg0MywzMCBAQCB2b2lkIHRocm93Tm9u
RmluaXRlVHlwZUVycm9yKEV4ZWNTdGF0ZSYgc3RhdGUpCiAgICAgdGhyb3dUeXBlRXJyb3IoJnN0
YXRlLCBBU0NJSUxpdGVyYWwoIlRoZSBwcm92aWRlZCB2YWx1ZSBpcyBub24tZmluaXRlIikpOwog
fQogCitTdHJpbmcgbWFrZUdldHRlclR5cGVFcnJvck1lc3NhZ2UoY29uc3QgY2hhciogaW50ZXJm
YWNlTmFtZSwgY29uc3QgY2hhciogYXR0cmlidXRlTmFtZSkKK3sKKyAgICByZXR1cm4gbWFrZVN0
cmluZygiVGhlICIsIGludGVyZmFjZU5hbWUsICcuJywgYXR0cmlidXRlTmFtZSwgIiBnZXR0ZXIg
Y2FuIG9ubHkgYmUgdXNlZCBvbiBpbnN0YW5jZXMgb2YgIiwgaW50ZXJmYWNlTmFtZSk7Cit9CisK
K0pTQzo6RW5jb2RlZEpTVmFsdWUgdGhyb3dHZXR0ZXJUeXBlRXJyb3IoSlNDOjpFeGVjU3RhdGUm
IHN0YXRlLCBjb25zdCBjaGFyKiBpbnRlcmZhY2VOYW1lLCBjb25zdCBjaGFyKiBhdHRyaWJ1dGVO
YW1lKQoreworICAgIHJldHVybiB0aHJvd1ZNVHlwZUVycm9yKCZzdGF0ZSwgbWFrZUdldHRlclR5
cGVFcnJvck1lc3NhZ2UoaW50ZXJmYWNlTmFtZSwgYXR0cmlidXRlTmFtZSkpOworfQorCiBib29s
IHRocm93U2V0dGVyVHlwZUVycm9yKEpTQzo6RXhlY1N0YXRlJiBzdGF0ZSwgY29uc3QgY2hhciog
aW50ZXJmYWNlTmFtZSwgY29uc3QgY2hhciogYXR0cmlidXRlTmFtZSkKIHsKICAgICB0aHJvd1R5
cGVFcnJvcihzdGF0ZSwgbWFrZVN0cmluZygiVGhlICIsIGludGVyZmFjZU5hbWUsICcuJywgYXR0
cmlidXRlTmFtZSwgIiBzZXR0ZXIgY2FuIG9ubHkgYmUgdXNlZCBvbiBpbnN0YW5jZXMgb2YgIiwg
aW50ZXJmYWNlTmFtZSkpOwogICAgIHJldHVybiBmYWxzZTsKIH0KIAorU3RyaW5nIG1ha2VUaGlz
VHlwZUVycm9yTWVzc2FnZShjb25zdCBjaGFyKiBpbnRlcmZhY2VOYW1lLCBjb25zdCBjaGFyKiBm
dW5jdGlvbk5hbWUpCit7CisgICAgcmV0dXJuIG1ha2VTdHJpbmcoIkNhbiBvbmx5IGNhbGwgIiwg
aW50ZXJmYWNlTmFtZSwgJy4nLCBmdW5jdGlvbk5hbWUsICIgb24gaW5zdGFuY2VzIG9mICIsIGlu
dGVyZmFjZU5hbWUpOworfQorCiBFbmNvZGVkSlNWYWx1ZSB0aHJvd1RoaXNUeXBlRXJyb3IoSlND
OjpFeGVjU3RhdGUmIHN0YXRlLCBjb25zdCBjaGFyKiBpbnRlcmZhY2VOYW1lLCBjb25zdCBjaGFy
KiBmdW5jdGlvbk5hbWUpCiB7Ci0gICAgcmV0dXJuIHRocm93Vk1UeXBlRXJyb3IoJnN0YXRlLCBt
YWtlU3RyaW5nKCJDYW4gb25seSBjYWxsICIsIGludGVyZmFjZU5hbWUsICcuJywgZnVuY3Rpb25O
YW1lLCAiIG9uIGluc3RhbmNlcyBvZiAiLCBpbnRlcmZhY2VOYW1lKSk7CisgICAgcmV0dXJuIHRo
cm93VHlwZUVycm9yKHN0YXRlLCBtYWtlVGhpc1R5cGVFcnJvck1lc3NhZ2UoaW50ZXJmYWNlTmFt
ZSwgZnVuY3Rpb25OYW1lKSk7CiB9CiAKIHZvaWQgY2FsbEZ1bmN0aW9uV2l0aEN1cnJlbnRBcmd1
bWVudHMoSlNDOjpFeGVjU3RhdGUmIHN0YXRlLCBKU0M6OkpTT2JqZWN0JiB0aGlzT2JqZWN0LCBK
U0M6OkpTRnVuY3Rpb24mIGZ1bmN0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01CaW5kaW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RP
TUJpbmRpbmcuaAppbmRleCA3MjZmYTcyOTIzNWI2MGM2ZjQzYThmMzZkMThhNGEwNjZjNmVlNjQz
Li4zNGEzMGU5YzlkYjU2Y2QwNjQ5NGRlZTYyM2ZmNmNkMGYwMjcyMmFjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaApAQCAtMTI1LDYgKzEyNSw5IEBAIFdFQkNP
UkVfRVhQT1JUIEpTQzo6RW5jb2RlZEpTVmFsdWUgdGhyb3dBcmd1bWVudE11c3RCZUVudW1FcnJv
cihKU0M6OkV4ZWNTdGF0ZSYsCiBKU0M6OkVuY29kZWRKU1ZhbHVlIHRocm93QXJndW1lbnRNdXN0
QmVGdW5jdGlvbkVycm9yKEpTQzo6RXhlY1N0YXRlJiwgdW5zaWduZWQgYXJndW1lbnRJbmRleCwg
Y29uc3QgY2hhciogYXJndW1lbnROYW1lLCBjb25zdCBjaGFyKiBmdW5jdGlvbkludGVyZmFjZU5h
bWUsIGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFtZSk7CiBXRUJDT1JFX0VYUE9SVCBKU0M6OkVuY29k
ZWRKU1ZhbHVlIHRocm93QXJndW1lbnRUeXBlRXJyb3IoSlNDOjpFeGVjU3RhdGUmLCB1bnNpZ25l
ZCBhcmd1bWVudEluZGV4LCBjb25zdCBjaGFyKiBhcmd1bWVudE5hbWUsIGNvbnN0IGNoYXIqIGZ1
bmN0aW9uSW50ZXJmYWNlTmFtZSwgY29uc3QgY2hhciogZnVuY3Rpb25OYW1lLCBjb25zdCBjaGFy
KiBleHBlY3RlZFR5cGUpOwogSlNDOjpFbmNvZGVkSlNWYWx1ZSB0aHJvd0NvbnN0cnVjdG9yRG9j
dW1lbnRVbmF2YWlsYWJsZUVycm9yKEpTQzo6RXhlY1N0YXRlJiwgY29uc3QgY2hhciogaW50ZXJm
YWNlTmFtZSk7CisKK1N0cmluZyBtYWtlR2V0dGVyVHlwZUVycm9yTWVzc2FnZShjb25zdCBjaGFy
KiBpbnRlcmZhY2VOYW1lLCBjb25zdCBjaGFyKiBhdHRyaWJ1dGVOYW1lKTsKK1N0cmluZyBtYWtl
VGhpc1R5cGVFcnJvck1lc3NhZ2UoY29uc3QgY2hhciogaW50ZXJmYWNlTmFtZSwgY29uc3QgY2hh
ciogYXR0cmlidXRlTmFtZSk7CiBXRUJDT1JFX0VYUE9SVCBKU0M6OkVuY29kZWRKU1ZhbHVlIHRo
cm93R2V0dGVyVHlwZUVycm9yKEpTQzo6RXhlY1N0YXRlJiwgY29uc3QgY2hhciogaW50ZXJmYWNl
TmFtZSwgY29uc3QgY2hhciogYXR0cmlidXRlTmFtZSk7CiBXRUJDT1JFX0VYUE9SVCBKU0M6OkVu
Y29kZWRKU1ZhbHVlIHRocm93VGhpc1R5cGVFcnJvcihKU0M6OkV4ZWNTdGF0ZSYsIGNvbnN0IGNo
YXIqIGludGVyZmFjZU5hbWUsIGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFtZSk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcAppbmRleCA1ZmQ1
ZTE4MTUyNTFlZGZlMjdiYjlmZDc4ZjQzNjM1NzMwMzExNmM2Li5mZGEyYzU5YTQ3ZjgwNWZjODNj
YjhjNTlhODAyODM2YzE1NmQyNzEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNET01HbG9iYWxPYmplY3QuY3BwCkBAIC00NSw2ICs0NSw5IEBAIHVzaW5nIG5hbWVzcGFj
ZSBKU0M7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBtYWtlVGhpc1R5cGVFcnJvckZvckJ1aWx0aW5zKEV4ZWNTdGF0ZSopOworRW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCBtYWtlR2V0dGVyVHlwZUVycm9yRm9yQnVpbHRpbnMoRXhlY1N0
YXRlKik7CisKIGNvbnN0IENsYXNzSW5mbyBKU0RPTUdsb2JhbE9iamVjdDo6c19pbmZvID0geyAi
RE9NR2xvYmFsT2JqZWN0IiwgJkpTR2xvYmFsT2JqZWN0OjpzX2luZm8sIDAsIENSRUFURV9NRVRI
T0RfVEFCTEUoSlNET01HbG9iYWxPYmplY3QpIH07CiAKIEpTRE9NR2xvYmFsT2JqZWN0OjpKU0RP
TUdsb2JhbE9iamVjdChWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBSZWY8RE9NV3JhcHBl
cldvcmxkPiYmIHdvcmxkLCBjb25zdCBHbG9iYWxPYmplY3RNZXRob2RUYWJsZSogZ2xvYmFsT2Jq
ZWN0TWV0aG9kVGFibGUpCkBAIC02MSw2ICs2NCwzMCBAQCB2b2lkIEpTRE9NR2xvYmFsT2JqZWN0
OjpkZXN0cm95KEpTQ2VsbCogY2VsbCkKICAgICBzdGF0aWNfY2FzdDxKU0RPTUdsb2JhbE9iamVj
dCo+KGNlbGwpLT5KU0RPTUdsb2JhbE9iamVjdDo6fkpTRE9NR2xvYmFsT2JqZWN0KCk7CiB9CiAK
K0VuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgbWFrZVRoaXNUeXBlRXJyb3JGb3JCdWlsdGlu
cyhFeGVjU3RhdGUqIGV4ZWNTdGF0ZSkKK3sKKyAgICBBU1NFUlQoZXhlY1N0YXRlKTsKKyAgICBB
U1NFUlQoZXhlY1N0YXRlLT5hcmd1bWVudENvdW50KCkgPT0gMik7CisKKyAgICBhdXRvIGludGVy
ZmFjZU5hbWUgPSBleGVjU3RhdGUtPnVuY2hlY2tlZEFyZ3VtZW50KDApLmdldFN0cmluZyhleGVj
U3RhdGUpOworICAgIEFTU0VSVCghZXhlY1N0YXRlLT5oYWRFeGNlcHRpb24oKSk7CisgICAgYXV0
byBmdW5jdGlvbk5hbWUgPSBleGVjU3RhdGUtPnVuY2hlY2tlZEFyZ3VtZW50KDEpLmdldFN0cmlu
ZyhleGVjU3RhdGUpOworICAgIEFTU0VSVCghZXhlY1N0YXRlLT5oYWRFeGNlcHRpb24oKSk7Cisg
ICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShjcmVhdGVUeXBlRXJyb3IoZXhlY1N0YXRlLCBtYWtl
VGhpc1R5cGVFcnJvck1lc3NhZ2UoaW50ZXJmYWNlTmFtZS51dGY4KCkuZGF0YSgpLCBmdW5jdGlv
bk5hbWUudXRmOCgpLmRhdGEoKSkpKTsKK30KKworRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBtYWtlR2V0dGVyVHlwZUVycm9yRm9yQnVpbHRpbnMoRXhlY1N0YXRlKiBleGVjU3RhdGUpCit7
CisgICAgQVNTRVJUKGV4ZWNTdGF0ZSk7CisgICAgQVNTRVJUKGV4ZWNTdGF0ZS0+YXJndW1lbnRD
b3VudCgpID09IDIpOworCisgICAgYXV0byBpbnRlcmZhY2VOYW1lID0gZXhlY1N0YXRlLT51bmNo
ZWNrZWRBcmd1bWVudCgwKS5nZXRTdHJpbmcoZXhlY1N0YXRlKTsKKyAgICBBU1NFUlQoIWV4ZWNT
dGF0ZS0+aGFkRXhjZXB0aW9uKCkpOworICAgIGF1dG8gYXR0cmlidXRlTmFtZSA9IGV4ZWNTdGF0
ZS0+dW5jaGVja2VkQXJndW1lbnQoMSkuZ2V0U3RyaW5nKGV4ZWNTdGF0ZSk7CisgICAgQVNTRVJU
KCFleGVjU3RhdGUtPmhhZEV4Y2VwdGlvbigpKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KGNyZWF0ZVR5cGVFcnJvcihleGVjU3RhdGUsIG1ha2VHZXR0ZXJUeXBlRXJyb3JNZXNzYWdlKGlu
dGVyZmFjZU5hbWUudXRmOCgpLmRhdGEoKSwgYXR0cmlidXRlTmFtZS51dGY4KCkuZGF0YSgpKSkp
OworfQorCiB2b2lkIEpTRE9NR2xvYmFsT2JqZWN0OjphZGRCdWlsdGluR2xvYmFscyhWTSYgdm0p
CiB7CiAgICAgbV9idWlsdGluSW50ZXJuYWxGdW5jdGlvbnMuaW5pdGlhbGl6ZSgqdGhpcyk7CkBA
IC03NCw5ICsxMDEsMTUgQEAgdm9pZCBKU0RPTUdsb2JhbE9iamVjdDo6YWRkQnVpbHRpbkdsb2Jh
bHMoVk0mIHZtKQogICAgIEpTQzo6V3JpdGVCYXJyaWVyPEpTQzo6SlNPYmplY3Q+IHRlbXA7CiAg
ICAgY29uc3RydWN0b3JzKCkuYWRkKHByaXZhdGVSZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXJDb25z
dHJ1Y3Rvci0+aW5mbygpLCB0ZW1wKS5pdGVyYXRvci0+dmFsdWUuc2V0KHZtLCB0aGlzLCBwcml2
YXRlUmVhZGFibGVTdHJlYW1Db250cm9sbGVyQ29uc3RydWN0b3IpOwogICAgIGNvbnN0cnVjdG9y
cygpLmFkZChwcml2YXRlUmVhZGFibGVTdHJlYW1SZWFkZXJDb25zdHJ1Y3Rvci0+aW5mbygpLCB0
ZW1wKS5pdGVyYXRvci0+dmFsdWUuc2V0KHZtLCB0aGlzLCBwcml2YXRlUmVhZGFibGVTdHJlYW1S
ZWFkZXJDb25zdHJ1Y3Rvcik7CisjZW5kaWYKIAogICAgIEpTVk1DbGllbnREYXRhJiBjbGllbnRE
YXRhID0gKnN0YXRpY19jYXN0PEpTVk1DbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSk7CiAgICAg
SlNET01HbG9iYWxPYmplY3Q6Okdsb2JhbFByb3BlcnR5SW5mbyBzdGF0aWNHbG9iYWxzW10gPSB7
CisgICAgICAgIEpTRE9NR2xvYmFsT2JqZWN0OjpHbG9iYWxQcm9wZXJ0eUluZm8oY2xpZW50RGF0
YS5idWlsdGluTmFtZXMoKS5tYWtlVGhpc1R5cGVFcnJvclByaXZhdGVOYW1lKCksCisgICAgICAg
ICAgICAgICAgSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCB0aGlzLCAyLCBTdHJpbmcoKSwgbWFrZVRo
aXNUeXBlRXJyb3JGb3JCdWlsdGlucyksIERvbnREZWxldGUgfCBSZWFkT25seSksCisgICAgICAg
IEpTRE9NR2xvYmFsT2JqZWN0OjpHbG9iYWxQcm9wZXJ0eUluZm8oY2xpZW50RGF0YS5idWlsdGlu
TmFtZXMoKS5tYWtlR2V0dGVyVHlwZUVycm9yUHJpdmF0ZU5hbWUoKSwKKyAgICAgICAgICAgICAg
ICBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIHRoaXMsIDIsIFN0cmluZygpLCBtYWtlR2V0dGVyVHlw
ZUVycm9yRm9yQnVpbHRpbnMpLCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAorI2lmIEVOQUJMRShT
VFJFQU1TX0FQSSkKICAgICAgICAgSlNET01HbG9iYWxPYmplY3Q6Okdsb2JhbFByb3BlcnR5SW5m
byhjbGllbnREYXRhLmJ1aWx0aW5OYW1lcygpLnN0cmVhbUNsb3NlZFByaXZhdGVOYW1lKCksIGpz
TnVtYmVyKDEpLCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAogICAgICAgICBKU0RPTUdsb2JhbE9i
amVjdDo6R2xvYmFsUHJvcGVydHlJbmZvKGNsaWVudERhdGEuYnVpbHRpbk5hbWVzKCkuc3RyZWFt
Q2xvc2luZ1ByaXZhdGVOYW1lKCksIGpzTnVtYmVyKDIpLCBEb250RGVsZXRlIHwgUmVhZE9ubHkp
LAogICAgICAgICBKU0RPTUdsb2JhbE9iamVjdDo6R2xvYmFsUHJvcGVydHlJbmZvKGNsaWVudERh
dGEuYnVpbHRpbk5hbWVzKCkuc3RyZWFtRXJyb3JlZFByaXZhdGVOYW1lKCksIGpzTnVtYmVyKDMp
LCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLApAQCAtODUsMTEgKzExOCw5IEBAIHZvaWQgSlNET01H
bG9iYWxPYmplY3Q6OmFkZEJ1aWx0aW5HbG9iYWxzKFZNJiB2bSkKICAgICAgICAgSlNET01HbG9i
YWxPYmplY3Q6Okdsb2JhbFByb3BlcnR5SW5mbyhjbGllbnREYXRhLmJ1aWx0aW5OYW1lcygpLnN0
cmVhbVdyaXRhYmxlUHJpdmF0ZU5hbWUoKSwganNOdW1iZXIoNiksIERvbnREZWxldGUgfCBSZWFk
T25seSksCiAgICAgICAgIEpTRE9NR2xvYmFsT2JqZWN0OjpHbG9iYWxQcm9wZXJ0eUluZm8oY2xp
ZW50RGF0YS5idWlsdGluTmFtZXMoKS5SZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXJQcml2YXRlTmFt
ZSgpLCBwcml2YXRlUmVhZGFibGVTdHJlYW1Db250cm9sbGVyQ29uc3RydWN0b3IsIERvbnREZWxl
dGUgfCBSZWFkT25seSksCiAgICAgICAgIEpTRE9NR2xvYmFsT2JqZWN0OjpHbG9iYWxQcm9wZXJ0
eUluZm8oY2xpZW50RGF0YS5idWlsdGluTmFtZXMoKS5SZWFkYWJsZVN0cmVhbVJlYWRlclByaXZh
dGVOYW1lKCksIHByaXZhdGVSZWFkYWJsZVN0cmVhbVJlYWRlckNvbnN0cnVjdG9yLCBEb250RGVs
ZXRlIHwgUmVhZE9ubHkpLAorI2VuZGlmCiAgICAgfTsKICAgICBhZGRTdGF0aWNHbG9iYWxzKHN0
YXRpY0dsb2JhbHMsIFdURl9BUlJBWV9MRU5HVEgoc3RhdGljR2xvYmFscykpOwotI2Vsc2UKLSAg
ICBVTlVTRURfUEFSQU0odm0pOwotI2VuZGlmCiB9CiAKIHZvaWQgSlNET01HbG9iYWxPYmplY3Q6
OmZpbmlzaENyZWF0aW9uKFZNJiB2bSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1dlYkNvcmVCdWlsdGluTmFtZXMuaAppbmRleCBhNWFkZDk0YjIwOWEyNjkzYmVjMzUxYzk4ZmZj
NWNlMjhhNzYxYmUyLi4xZjQ1NTcyNTk1NGVjMGE2ZGEwM2IzNTQyYjdkMzY5MTFkYWY4Y2MzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVz
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5o
CkBAIC01MSw2ICs1MSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhpbml0aWFs
aXplV2l0aCkgXAogICAgIG1hY3JvKGlzRGlzdHVyYmVkKSBcCiAgICAgbWFjcm8obG9jYWxTdHJl
YW1zKSBcCisgICAgbWFjcm8obWFrZVRoaXNUeXBlRXJyb3IpIFwKKyAgICBtYWNybyhtYWtlR2V0
dGVyVHlwZUVycm9yKSBcCiAgICAgbWFjcm8ob3BlcmF0aW9ucykgXAogICAgIG1hY3JvKG93bmVy
UmVhZGFibGVTdHJlYW0pIFwKICAgICBtYWNybyhwcml2YXRlR2V0U3RhdHMpIFwKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBm
NjhkZWY0M2IxYjZiNzdiY2M4OWRhY2QxYzFlMjY3M2JhOTNkZTE0Li5iNWQ4ZDY3MzY0YjliMDI1
NjlmN2FlMTE0ODU4MWU4Yjc2ZTg5Yzc1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTYtMDct
MjYgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5mQGdtYWlsLmNvbT4KKworICAgICAgICBKUyBCdWls
dC1pbnMgc2hvdWxkIHRocm93IHRoaXMtZXJyb3IgbWVzc2FnZXMgY29uc2lzdGVudGx5IHdpdGgg
YmluZGluZyBnZW5lcmF0ZWQgY29kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTYwMTkxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBmZXRjaC9mZXRjaC1lcnJvci1tZXNzYWdlcy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGZldGNoL2ZldGNoLWVycm9yLW1lc3NhZ2VzLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHN0cmVhbXMvcmVhZGFibGUtc3RyZWFtLWVycm9yLW1lc3NhZ2VzLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW0tZXJyb3It
bWVzc2FnZXMuaHRtbDogQWRkZWQuCisKIDIwMTYtMDctMjUgIFNlcmdpbyBWaWxsYXIgU2VuaW4g
IDxzdmlsbGFyQGlnYWxpYS5jb20+CiAKICAgICAgICAgW2Nzcy1ncmlkXSBJbXBsZW1lbnQgcmVw
ZWF0KGF1dG8tZml0KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmV0Y2gvZmV0Y2gtZXJyb3It
bWVzc2FnZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmV0Y2gvZmV0Y2gtZXJyb3ItbWVz
c2FnZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU5YmUwY2MzOTc1MjY0ODM5YzUyOWFjYjFm
OGQ2ZjQ3NzA0ODZjNDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mZXRjaC9mZXRj
aC1lcnJvci1tZXNzYWdlcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitDT05TT0xFIE1F
U1NBR0U6IGxpbmUgMTE6IFR5cGVFcnJvcjogVGhlIFJlc3BvbnNlLmJvZHkgZ2V0dGVyIGNhbiBv
bmx5IGJlIHVzZWQgb24gaW5zdGFuY2VzIG9mIFJlc3BvbnNlCisKK1BBU1MgRXhlcmNpc2luZyBU
eXBlRXJyb3IgbWVzc2FnZXMgaW4gRmV0Y2ggUmVzcG9uc2UgCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ZldGNoL2ZldGNoLWVycm9yLW1lc3NhZ2VzLmh0bWwgYi9MYXlvdXRUZXN0cy9mZXRj
aC9mZXRjaC1lcnJvci1tZXNzYWdlcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI0NjlkNGQwYjU2MjQ4ZTAz
ZDg0MmI2NTc3MDAxMTdlZjNiYzAxODYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
ZXRjaC9mZXRjaC1lcnJvci1tZXNzYWdlcy5odG1sCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPHNjcmlwdCBzcmM9Jy4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyc+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0nLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzJz48L3Nj
cmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBwcmludE1ldGhvZEVycm9yKG1ldGhvZCwgdGFyZ2V0
KQoreworICAgIHRyeSB7CisgICAgICAgIG1ldGhvZC5jYWxsKHRhcmdldCk7CisgICAgICAgIGFz
c2VydF91bnJlYWNoZWQoKTsKKyAgICB9IGNhdGNoKGUpIHsKKyAgICAgICAgIGNvbnNvbGUubG9n
KGUpOworICAgIH0KK30KKworZnVuY3Rpb24gcHJpbnRHZXR0ZXJFcnJvcihvYmplY3QsIGdldHRl
ck5hbWUsIHRhcmdldCkKK3sKKyAgICBjb25zdCBnZXR0ZXIgPSBPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKE9iamVjdC5nZXRQcm90b3R5cGVPZihvYmplY3QpLCBnZXR0ZXJOYW1lKS5n
ZXQ7CisgICAgcHJpbnRNZXRob2RFcnJvcihnZXR0ZXIsIHRhcmdldCk7Cit9CisKK3Rlc3QoZnVu
Y3Rpb24odGVzdCkgeworICAgIC8vIFRoaXMgdGVzdCBwcmludHMgZXhjZXB0aW9ucyB0byBjaGVj
ayB0aGUgZm9ybWF0IG9mIHRoZWlyIG1lc3NhZ2VzLgorCisgICAgdmFyIHJlcXVlc3QgPSBuZXcg
UmVxdWVzdCgiIik7CisgICAgdmFyIHJlc3BvbnNlID0gbmV3IFJlc3BvbnNlKCIiKTsKKworICAg
IHByaW50R2V0dGVyRXJyb3IocmVzcG9uc2UsICJib2R5IiwgcmVxdWVzdCk7CisKK30sICJFeGVy
Y2lzaW5nIFR5cGVFcnJvciBtZXNzYWdlcyBpbiBGZXRjaCBSZXNwb25zZSIpOworPC9zY3JpcHQ+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbS1lcnJvci1t
ZXNzYWdlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVh
bS1lcnJvci1tZXNzYWdlcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWE3NzUwYzU2YmRmOWMw
YThmNjc2ZjRhZGNhNzkxNDJhYzAxMTMwZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3N0cmVhbXMvcmVhZGFibGUtc3RyZWFtLWVycm9yLW1lc3NhZ2VzLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDE1IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTE6IFR5cGVFcnJvcjogQ2FuIG9u
bHkgY2FsbCBSZWFkYWJsZVN0cmVhbS5nZXRSZWFkZXIgb24gaW5zdGFuY2VzIG9mIFJlYWRhYmxl
U3RyZWFtCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTE6IFR5cGVFcnJvcjogQ2FuIG9ubHkgY2Fs
bCBSZWFkYWJsZVN0cmVhbS50ZWUgb24gaW5zdGFuY2VzIG9mIFJlYWRhYmxlU3RyZWFtCitDT05T
T0xFIE1FU1NBR0U6IGxpbmUgMTE6IFR5cGVFcnJvcjogVGhlIFJlYWRhYmxlU3RyZWFtLmxvY2tl
ZCBnZXR0ZXIgY2FuIG9ubHkgYmUgdXNlZCBvbiBpbnN0YW5jZXMgb2YgUmVhZGFibGVTdHJlYW0K
K0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMTogVHlwZUVycm9yOiBDYW4gb25seSBjYWxsIFJlYWRh
YmxlU3RyZWFtQ29udHJvbGxlci5lbnF1ZXVlIG9uIGluc3RhbmNlcyBvZiBSZWFkYWJsZVN0cmVh
bUNvbnRyb2xsZXIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMTogVHlwZUVycm9yOiBDYW4gb25s
eSBjYWxsIFJlYWRhYmxlU3RyZWFtQ29udHJvbGxlci5lcnJvciBvbiBpbnN0YW5jZXMgb2YgUmVh
ZGFibGVTdHJlYW1Db250cm9sbGVyCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTE6IFR5cGVFcnJv
cjogQ2FuIG9ubHkgY2FsbCBSZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXIuY2xvc2Ugb24gaW5zdGFu
Y2VzIG9mIFJlYWRhYmxlU3RyZWFtQ29udHJvbGxlcgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEx
OiBUeXBlRXJyb3I6IFRoZSBSZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXIuZGVzaXJlZFNpemUgZ2V0
dGVyIGNhbiBvbmx5IGJlIHVzZWQgb24gaW5zdGFuY2VzIG9mIFJlYWRhYmxlU3RyZWFtQ29udHJv
bGxlcgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDExOiBUeXBlRXJyb3I6IENhbiBvbmx5IGNhbGwg
UmVhZGFibGVTdHJlYW1SZWFkZXIucmVsZWFzZUxvY2sgb24gaW5zdGFuY2VzIG9mIFJlYWRhYmxl
U3RyZWFtUmVhZGVyCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTg6IFR5cGVFcnJvcjogQ2FuIG9u
bHkgY2FsbCBSZWFkYWJsZVN0cmVhbS5jYW5jZWwgb24gaW5zdGFuY2VzIG9mIFJlYWRhYmxlU3Ry
ZWFtCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTg6IFR5cGVFcnJvcjogQ2FuIG9ubHkgY2FsbCBS
ZWFkYWJsZVN0cmVhbVJlYWRlci5jYW5jZWwgb24gaW5zdGFuY2VzIG9mIFJlYWRhYmxlU3RyZWFt
UmVhZGVyCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTg6IFR5cGVFcnJvcjogQ2FuIG9ubHkgY2Fs
bCBSZWFkYWJsZVN0cmVhbVJlYWRlci5yZWFkIG9uIGluc3RhbmNlcyBvZiBSZWFkYWJsZVN0cmVh
bVJlYWRlcgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE4OiBUeXBlRXJyb3I6IFRoZSBSZWFkYWJs
ZVN0cmVhbVJlYWRlci5jbG9zZWQgZ2V0dGVyIGNhbiBvbmx5IGJlIHVzZWQgb24gaW5zdGFuY2Vz
IG9mIFJlYWRhYmxlU3RyZWFtUmVhZGVyCisKK1BBU1MgRXhlcmNpc2luZyBUeXBlRXJyb3IgbWVz
c2FnZXMgaW4gUmVhZGFibGVTdHJlYW0sIFJlYWRhYmxlU3RyZWFtQ29udHJvbGxlciBhbmQgUmVh
ZGFibGVTdHJlYW1SZWFkZXIgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0cmVhbXMvcmVh
ZGFibGUtc3RyZWFtLWVycm9yLW1lc3NhZ2VzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdHJlYW1zL3Jl
YWRhYmxlLXN0cmVhbS1lcnJvci1tZXNzYWdlcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdjNTg0YjJjYWIy
OTA4M2RiYWY0N2RjZTVkYjZiNDEzMDQxNmYzNmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbS1lcnJvci1tZXNzYWdlcy5odG1sCkBAIC0wLDAg
KzEsNjMgQEAKKzwhRE9DVFlQRSBodG1sPgorPHNjcmlwdCBzcmM9Jy4uL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyc+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0nLi4vcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzJz48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBwcmludE1ldGhvZEVy
cm9yKG1ldGhvZCwgdGFyZ2V0KQoreworICAgIHRyeSB7CisgICAgICAgIG1ldGhvZC5jYWxsKHRh
cmdldCk7CisgICAgICAgIGFzc2VydF91bnJlYWNoZWQoKTsKKyAgICB9IGNhdGNoKGUpIHsKKyAg
ICAgICAgIGNvbnNvbGUubG9nKGUpOworICAgIH0KK30KKworZnVuY3Rpb24gcHJpbnRQcm9taXNl
TWV0aG9kRXJyb3IobWV0aG9kLCB0YXJnZXQpCit7CisgICAgcmV0dXJuIG1ldGhvZC5jYWxsKHRh
cmdldCkudGhlbihhc3NlcnRfdW5yZWFjaGVkLCAoZSkgPT4geworICAgICAgICAgY29uc29sZS5s
b2coZSk7CisgICAgfSk7Cit9CisKK2Z1bmN0aW9uIHByaW50R2V0dGVyRXJyb3Iob2JqZWN0LCBn
ZXR0ZXJOYW1lLCB0YXJnZXQpCit7CisgICAgY29uc3QgZ2V0dGVyID0gT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcihPYmplY3QuZ2V0UHJvdG90eXBlT2Yob2JqZWN0KSwgZ2V0dGVyTmFt
ZSkuZ2V0OworICAgIHByaW50TWV0aG9kRXJyb3IoZ2V0dGVyLCB0YXJnZXQpOworfQorCitmdW5j
dGlvbiBwcmludFByb21pc2VHZXR0ZXJFcnJvcihvYmplY3QsIGdldHRlck5hbWUsIHRhcmdldCkK
K3sKKyAgICBjb25zdCBnZXR0ZXIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9i
amVjdC5nZXRQcm90b3R5cGVPZihvYmplY3QpLCBnZXR0ZXJOYW1lKS5nZXQ7CisgICAgcHJpbnRQ
cm9taXNlTWV0aG9kRXJyb3IoZ2V0dGVyLCB0YXJnZXQpOworfQorCitwcm9taXNlX3Rlc3QoZnVu
Y3Rpb24odGVzdCkgeworICAgIC8vIFRoaXMgdGVzdCBwcmludHMgZXhjZXB0aW9ucyB0byBjaGVj
ayB0aGUgZm9ybWF0IG9mIHRoZWlyIG1lc3NhZ2VzLgorICAgIHZhciBjb250cm9sbGVyOworICAg
IHZhciBzdHJlYW0gPSBuZXcgUmVhZGFibGVTdHJlYW0oeworICAgICAgICBzdGFydDogKGMpID0+
IHsKKyAgICAgICAgICAgIGNvbnRyb2xsZXIgPSBjOworICAgICAgICB9CisgICAgfSk7CisgICAg
dmFyIHJlYWRlciA9IHN0cmVhbS5nZXRSZWFkZXIoKTsKKworICAgIHZhciByZXN1bHRzID0gW107
CisKKyAgICByZXN1bHRzLnB1c2gocHJpbnRQcm9taXNlTWV0aG9kRXJyb3Ioc3RyZWFtLmNhbmNl
bCwgY29udHJvbGxlcikpOworICAgIHJlc3VsdHMucHVzaChwcmludE1ldGhvZEVycm9yKHN0cmVh
bS5nZXRSZWFkZXIsIGNvbnRyb2xsZXIpKTsKKyAgICByZXN1bHRzLnB1c2gocHJpbnRNZXRob2RF
cnJvcihzdHJlYW0udGVlLCBjb250cm9sbGVyKSk7CisgICAgcmVzdWx0cy5wdXNoKHByaW50R2V0
dGVyRXJyb3Ioc3RyZWFtLCAibG9ja2VkIiwgY29udHJvbGxlcikpOworCisgICAgcmVzdWx0cy5w
dXNoKHByaW50TWV0aG9kRXJyb3IoY29udHJvbGxlci5lbnF1ZXVlLCByZWFkZXIpKTsKKyAgICBy
ZXN1bHRzLnB1c2gocHJpbnRNZXRob2RFcnJvcihjb250cm9sbGVyLmVycm9yLCByZWFkZXIpKTsK
KyAgICByZXN1bHRzLnB1c2gocHJpbnRNZXRob2RFcnJvcihjb250cm9sbGVyLmNsb3NlLCByZWFk
ZXIpKTsKKyAgICByZXN1bHRzLnB1c2gocHJpbnRHZXR0ZXJFcnJvcihjb250cm9sbGVyLCAiZGVz
aXJlZFNpemUiLCByZWFkZXIpKTsKKworICAgIHJlc3VsdHMucHVzaChwcmludFByb21pc2VNZXRo
b2RFcnJvcihyZWFkZXIuY2FuY2VsLCBzdHJlYW0pKTsKKyAgICByZXN1bHRzLnB1c2gocHJpbnRQ
cm9taXNlTWV0aG9kRXJyb3IocmVhZGVyLnJlYWQsIHN0cmVhbSkpOworICAgIHJlc3VsdHMucHVz
aChwcmludE1ldGhvZEVycm9yKHJlYWRlci5yZWxlYXNlTG9jaywgc3RyZWFtKSk7CisgICAgcmVz
dWx0cy5wdXNoKHByaW50UHJvbWlzZUdldHRlckVycm9yKHJlYWRlciwgImNsb3NlZCIsIHN0cmVh
bSkpOworCisgICAgcmV0dXJuIFByb21pc2UuYWxsKHJlc3VsdHMpOworfSwgIkV4ZXJjaXNpbmcg
VHlwZUVycm9yIG1lc3NhZ2VzIGluIFJlYWRhYmxlU3RyZWFtLCBSZWFkYWJsZVN0cmVhbUNvbnRy
b2xsZXIgYW5kIFJlYWRhYmxlU3RyZWFtUmVhZGVyIik7Cis8L3NjcmlwdD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>