<?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>71146</bug_id>
          
          <creation_ts>2011-10-28 15:04:45 -0700</creation_ts>
          <short_desc>De-virtualize JSObject::defaultValue</short_desc>
          <delta_ts>2011-10-31 18:15:19 -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>
          
          <blocked>70960</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Hahnenberg">mhahnenberg</reporter>
          <assigned_to name="Mark Hahnenberg">mhahnenberg</assigned_to>
          <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>492708</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-10-28 15:04:45 -0700</bug_when>
    <thetext>We&apos;re de-virtualizing JSObject. defaultValue is a virtual method in JSObject.  Thus, we need to de-virtualize defaultValue.  We&apos;ll put it in the MethodTable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492733</commentid>
    <comment_count>1</comment_count>
      <attachid>112926</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-10-28 15:40:49 -0700</bug_when>
    <thetext>Created attachment 112926
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493542</commentid>
    <comment_count>2</comment_count>
      <attachid>112926</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-31 15:32:37 -0700</bug_when>
    <thetext>Comment on attachment 112926
Patch

Rejecting attachment 112926 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
g file Source/JavaScriptCore/runtime/JSObject.cpp
patching file Source/JavaScriptCore/runtime/JSObject.h
patching file Source/WebCore/WebCore.exp.in
patching file Source/WebCore/bridge/objc/objc_runtime.h
patching file Source/WebCore/bridge/objc/objc_runtime.mm
patching file Source/WebCore/bridge/runtime_object.cpp
patching file Source/WebCore/bridge/runtime_object.h

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--reviewer&apos;, u&apos;Sam Weinig&apos;, u&apos;--force&apos;]&quot; exit_code: 1

Full output: http://queues.webkit.org/results/10249110</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493696</commentid>
    <comment_count>3</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-10-31 18:15:19 -0700</bug_when>
    <thetext>Committed r98932: &lt;http://trac.webkit.org/changeset/98932&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112926</attachid>
            <date>2011-10-28 15:40:49 -0700</date>
            <delta_ts>2011-10-31 15:32:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71146-20111028154048.patch</filename>
            <type>text/plain</type>
            <size>19062</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTg3NTMKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDBl
ZjA3M2FkOWMyMTNkNmQxMTlmY2E5Yzk4OWUzZDI1NjVkNmM1YjkuLjkyYmViZTc2ZmQzZjc2NmI2
Y2NjNTZjZmY4YzRjNmIxOTBkMDAxNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSw1
ICsxLDM1IEBACiAyMDExLTEwLTI4ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBs
ZS5jb20+CiAKKyAgICAgICAgRGUtdmlydHVhbGl6ZSBKU09iamVjdDo6ZGVmYXVsdFZhbHVlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE0NgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGRlZmF1
bHRWYWx1ZSB0byB0aGUgTWV0aG9kVGFibGUuICBSZXBsYWNlZCBhbGwgdmlydHVhbCB2ZXJzaW9u
cyBvZiAKKyAgICAgICAgZGVmYXVsdFZhbHVlIHdpdGggc3RhdGljIHZlcnNpb25zLiAgUmVwbGFj
ZWQgYWxsIGNhbGwgc2l0ZXMgd2l0aCBsb29rdXBzIGluIHRoZSAKKyAgICAgICAgTWV0aG9kVGFi
bGUuCisKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS5leHA6CisgICAgICAgICogSmF2YVNjcmlw
dENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZjoKKyAgICAgICAg
KiBydW50aW1lL0NsYXNzSW5mby5oOgorICAgICAgICAqIHJ1bnRpbWUvRXhjZXB0aW9uSGVscGVy
cy5jcHA6CisgICAgICAgIChKU0M6OkludGVycnVwdGVkRXhlY3V0aW9uRXJyb3I6OmRlZmF1bHRW
YWx1ZSk6CisgICAgICAgIChKU0M6OlRlcm1pbmF0ZWRFeGVjdXRpb25FcnJvcjo6ZGVmYXVsdFZh
bHVlKToKKyAgICAgICAgKiBydW50aW1lL0V4Y2VwdGlvbkhlbHBlcnMuaDoKKyAgICAgICAgKiBy
dW50aW1lL0pTQ2VsbC5jcHA6CisgICAgICAgIChKU0M6OkpTQ2VsbDo6ZGVmYXVsdFZhbHVlKToK
KyAgICAgICAgKiBydW50aW1lL0pTQ2VsbC5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNOb3RBbk9i
amVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTTm90QW5PYmplY3Q6OmRlZmF1bHRWYWx1ZSk6Cisg
ICAgICAgICogcnVudGltZS9KU05vdEFuT2JqZWN0Lmg6CisgICAgICAgICogcnVudGltZS9KU09i
amVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpnZXRQcmltaXRpdmVOdW1iZXIpOgor
ICAgICAgICAoSlNDOjpKU09iamVjdDo6ZGVmYXVsdFZhbHVlKToKKyAgICAgICAgKiBydW50aW1l
L0pTT2JqZWN0Lmg6CisgICAgICAgIChKU0M6OkpTT2JqZWN0Ojp0b1ByaW1pdGl2ZSk6CisKKzIw
MTEtMTAtMjggIE1hcmsgSGFobmVuYmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4KKwogICAg
ICAgICBEZS12aXJ0dWFsaXplIGlzR2xvYmFsT2JqZWN0LCBpc1ZhcmlhYmxlT2JqZWN0LCBpc0Fj
dGl2YXRpb25PYmplY3QsIGFuZCBpc0Vycm9ySW5zdGFuY2UgaW4gSlNPYmplY3QKICAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTY4CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCBjMzczMTM0MmQ3M2ZjYjhkYWFiZGVmODI5YjZlYmJiN2E0NjMyNzNkLi43NzVhOGI4Y2Vl
NTk1MGQ2MmZmZmU2NjFmYjZiOGI5ZTRhN2FiZDJkIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQg
QEAKKzIwMTEtMTAtMjggIE1hcmsgSGFobmVuYmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4K
KworICAgICAgICBEZS12aXJ0dWFsaXplIEpTT2JqZWN0OjpkZWZhdWx0VmFsdWUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTQ2CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLgorCisg
ICAgICAgIEFkZGVkIGRlZmF1bHRWYWx1ZSB0byB0aGUgTWV0aG9kVGFibGUuICBSZXBsYWNlZCBh
bGwgdmlydHVhbCB2ZXJzaW9ucyBvZiAKKyAgICAgICAgZGVmYXVsdFZhbHVlIHdpdGggc3RhdGlj
IHZlcnNpb25zLiAgUmVwbGFjZWQgYWxsIGNhbGwgc2l0ZXMgd2l0aCBsb29rdXBzIGluIHRoZSAK
KyAgICAgICAgTWV0aG9kVGFibGUuCisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAg
ICAgKiBicmlkZ2Uvb2JqYy9vYmpjX3J1bnRpbWUuaDoKKyAgICAgICAgKiBicmlkZ2Uvb2JqYy9v
YmpjX3J1bnRpbWUubW06CisgICAgICAgIChKU0M6OkJpbmRpbmdzOjpPYmpjRmFsbGJhY2tPYmpl
Y3RJbXA6OmRlZmF1bHRWYWx1ZSk6CisgICAgICAgICogYnJpZGdlL3J1bnRpbWVfb2JqZWN0LmNw
cDoKKyAgICAgICAgKEpTQzo6QmluZGluZ3M6OlJ1bnRpbWVPYmplY3Q6OmRlZmF1bHRWYWx1ZSk6
CisgICAgICAgICogYnJpZGdlL3J1bnRpbWVfb2JqZWN0Lmg6CisKIDIwMTEtMTAtMjggIFNpbW9u
IEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgRml4IGJ1aWxkcyB3
aGljaCBoYXZlIEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HIGRpc2FibGVkLgpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAKaW5kZXggMGUzYmU0NjExZTRkNTgxYjY5NGQ0MDg5
MDZhZTIxYTAxODZhNzRjZC4uNGE0OTgyN2U0ZmQyYzUyZWM2M2I5ZGNmOWM5OGFjZDk5NDEwOGVj
NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhwCkBAIC0zMDEsNiAr
MzAxLDcgQEAgX19aTjNKU0M4RGVidWdnZXI2ZGV0YWNoRVBOU18xNEpTR2xvYmFsT2JqZWN0RQog
X19aTjNKU0M4RGVidWdnZXJEMkV2CiBfX1pOM0pTQzhKU09iamVjdDEwcHV0QnlJbmRleEVQTlNf
NkpTQ2VsbEVQTlNfOUV4ZWNTdGF0ZUVqTlNfN0pTVmFsdWVFCiBfX1pOM0pTQzhKU09iamVjdDEx
aGFzSW5zdGFuY2VFUE5TXzlFeGVjU3RhdGVFTlNfN0pTVmFsdWVFUzNfCitfX1pOM0pTQzhKU09i
amVjdDEyZGVmYXVsdFZhbHVlRVBLUzBfUE5TXzlFeGVjU3RhdGVFTlNfMjJQcmVmZXJyZWRQcmlt
aXRpdmVUeXBlRQogX19aTjNKU0M4SlNPYmplY3QxMmRlZmluZUdldHRlckVQTlNfOUV4ZWNTdGF0
ZUVSS05TXzEwSWRlbnRpZmllckVQUzBfagogX19aTjNKU0M4SlNPYmplY3QxMmRlZmluZVNldHRl
ckVQTlNfOUV4ZWNTdGF0ZUVSS05TXzEwSWRlbnRpZmllckVQUzBfagogX19aTjNKU0M4SlNPYmpl
Y3QxMmxvb2t1cEdldHRlckVQTlNfOUV4ZWNTdGF0ZUVSS05TXzEwSWRlbnRpZmllckUKQEAgLTU2
NCw3ICs1NjUsNiBAQCBfX1pOSzNKU0M3VVN0cmluZzR1dGY4RWIKIF9fWk5LM0pTQzdVU3RyaW5n
NWFzY2lpRXYKIF9fWk5LM0pTQzhKU09iamVjdDExaGFzUHJvcGVydHlFUE5TXzlFeGVjU3RhdGVF
UktOU18xMElkZW50aWZpZXJFCiBfX1pOSzNKU0M4SlNPYmplY3QxMWhhc1Byb3BlcnR5RVBOU185
RXhlY1N0YXRlRWoKLV9fWk5LM0pTQzhKU09iamVjdDEyZGVmYXVsdFZhbHVlRVBOU185RXhlY1N0
YXRlRU5TXzIyUHJlZmVycmVkUHJpbWl0aXZlVHlwZUUKIF9fWk5LM0pTQzhKU09iamVjdDh0b051
bWJlckVQTlNfOUV4ZWNTdGF0ZUUKIF9fWk5LM0pTQzhKU09iamVjdDh0b1N0cmluZ0VQTlNfOUV4
ZWNTdGF0ZUUKIF9fWk5LM0pTQzhKU09iamVjdDljbGFzc05hbWVFdgpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS5kZWYgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUu
dmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZgppbmRleCA2NTM1NmZlY2I1
NDJiNTUzZWMzZGNmOWUzMzAwOTg5OGY2YzA3MDUzLi5hNTIxZWNkZGJhMDA5MWI4YmI2NjQzYWNl
MDg0NDdkOGIxNDBiZGU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZgorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLmRlZgpAQCAtMTMzLDcgKzEzMyw3IEBAIEVYUE9SVFMKICAgICA/ZGF5
SW5ZZWFyQFdURkBAWUFITkhAWgogICAgID9kZWNyZW1lbnRAUmVmQ291bnRlZExlYWtDb3VudGVy
QFdURkBAUUFFWFhaCiAgICAgP2RlZmF1bHRBdHRyaWJ1dGVzQFByb3BlcnR5RGVzY3JpcHRvckBK
U0NAQDBJQQotICAgID9kZWZhdWx0VmFsdWVASlNPYmplY3RASlNDQEBVQkU/QVZKU1ZhbHVlQDJA
UEFWRXhlY1N0YXRlQDJAVzRQcmVmZXJyZWRQcmltaXRpdmVUeXBlQDJAQFoKKyAgICA/ZGVmYXVs
dFZhbHVlQEpTT2JqZWN0QEpTQ0BAU0E/QVZKU1ZhbHVlQDJAUEJWMTJAUEFWRXhlY1N0YXRlQDJA
VzRQcmVmZXJyZWRQcmltaXRpdmVUeXBlQDJAQFoKICAgICA/ZGVmaW5lR2V0dGVyQEpTR2xvYmFs
T2JqZWN0QEpTQ0BAVUFFWFBBVkV4ZWNTdGF0ZUAyQEFCVklkZW50aWZpZXJAMkBQQVZKU09iamVj
dEAyQElAWgogICAgID9kZWZpbmVHZXR0ZXJASlNPYmplY3RASlNDQEBVQUVYUEFWRXhlY1N0YXRl
QDJAQUJWSWRlbnRpZmllckAyQFBBVjEyQElAWgogICAgID9kZWZpbmVPd25Qcm9wZXJ0eUBKU09i
amVjdEBKU0NAQFVBRV9OUEFWRXhlY1N0YXRlQDJAQUJWSWRlbnRpZmllckAyQEFBVlByb3BlcnR5
RGVzY3JpcHRvckAyQF9OQFoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0NsYXNzSW5mby5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2xhc3NJbmZv
LmgKaW5kZXggNTFiOWIzZWYzZjkyMTg1Y2IyMGI4MGQ4ZDEzZGM2NGRlZTIxNTJlYS4uOTc0OWU2
NmE2MjNmZWQ3NGJmMDlkNmJmYzY0ZTQ0MmVjZGNkYWFjZiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2xhc3NJbmZvLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQ2xhc3NJbmZvLmgKQEAgLTYxLDYgKzYxLDkgQEAgbmFtZXNwYWNlIEpTQyB7
CiAKICAgICAgICAgdHlwZWRlZiBKU09iamVjdCogKCpUb1RoaXNPYmplY3RGdW5jdGlvblB0ciko
SlNDZWxsKiwgRXhlY1N0YXRlKik7CiAgICAgICAgIFRvVGhpc09iamVjdEZ1bmN0aW9uUHRyIHRv
VGhpc09iamVjdDsKKworICAgICAgICB0eXBlZGVmIEpTVmFsdWUgKCpEZWZhdWx0VmFsdWVGdW5j
dGlvblB0cikoY29uc3QgSlNPYmplY3QqLCBFeGVjU3RhdGUqLCBQcmVmZXJyZWRQcmltaXRpdmVU
eXBlKTsKKyAgICAgICAgRGVmYXVsdFZhbHVlRnVuY3Rpb25QdHIgZGVmYXVsdFZhbHVlOwogICAg
IH07CiAKICNkZWZpbmUgQ1JFQVRFX01FTUJFUl9DSEVDS0VSKG1lbWJlcikgXApAQCAtOTMsNiAr
OTYsNyBAQCBzdHJ1Y3QgTWVtYmVyQ2hlY2sjI21lbWJlciB7IFwKICAgICAgICAgJkNsYXNzTmFt
ZTo6Z2V0T3duUHJvcGVydHlTbG90LCBcCiAgICAgICAgICZDbGFzc05hbWU6OmdldE93blByb3Bl
cnR5U2xvdEJ5SW5kZXgsIFwKICAgICAgICAgJkNsYXNzTmFtZTo6dG9UaGlzT2JqZWN0LCBcCisg
ICAgICAgICZDbGFzc05hbWU6OmRlZmF1bHRWYWx1ZSwgXAogICAgIH0sIFwKICAgICBzaXplb2Yo
Q2xhc3NOYW1lKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9F
eGNlcHRpb25IZWxwZXJzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4Y2Vw
dGlvbkhlbHBlcnMuY3BwCmluZGV4IDE2NDgxYmE2YTQwYmM5YTYxZTM1M2U0NjE4ZmUwMDFjNzlj
NDkxZmIuLmQ1YWNlODA3YTRkM2I5OGMyYTczMjIyZDY2MTU3MWFhOTUyYzcwMjMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4Y2VwdGlvbkhlbHBlcnMuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4Y2VwdGlvbkhlbHBlcnMuY3BwCkBA
IC00Myw3ICs0Myw3IEBAIG5hbWVzcGFjZSBKU0MgewogCiBjb25zdCBDbGFzc0luZm8gSW50ZXJy
dXB0ZWRFeGVjdXRpb25FcnJvcjo6c19pbmZvID0geyAiSW50ZXJydXB0ZWRFeGVjdXRpb25FcnJv
ciIsICZCYXNlOjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSW50ZXJydXB0ZWRF
eGVjdXRpb25FcnJvcikgfTsKIAotSlNWYWx1ZSBJbnRlcnJ1cHRlZEV4ZWN1dGlvbkVycm9yOjpk
ZWZhdWx0VmFsdWUoRXhlY1N0YXRlKiBleGVjLCBQcmVmZXJyZWRQcmltaXRpdmVUeXBlIGhpbnQp
IGNvbnN0CitKU1ZhbHVlIEludGVycnVwdGVkRXhlY3V0aW9uRXJyb3I6OmRlZmF1bHRWYWx1ZShj
b25zdCBKU09iamVjdCosIEV4ZWNTdGF0ZSogZXhlYywgUHJlZmVycmVkUHJpbWl0aXZlVHlwZSBo
aW50KQogewogICAgIGlmIChoaW50ID09IFByZWZlclN0cmluZykKICAgICAgICAgcmV0dXJuIGpz
Tm9udHJpdmlhbFN0cmluZyhleGVjLCAiSmF2YVNjcmlwdCBleGVjdXRpb24gZXhjZWVkZWQgdGlt
ZW91dC4iKTsKQEAgLTY4LDcgKzY4LDcgQEAgYm9vbCBpc0ludGVycnVwdGVkRXhlY3V0aW9uRXhj
ZXB0aW9uKEpTVmFsdWUgdmFsdWUpCiAKIGNvbnN0IENsYXNzSW5mbyBUZXJtaW5hdGVkRXhlY3V0
aW9uRXJyb3I6OnNfaW5mbyA9IHsgIlRlcm1pbmF0ZWRFeGVjdXRpb25FcnJvciIsICZCYXNlOjpz
X2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoVGVybWluYXRlZEV4ZWN1dGlvbkVycm9y
KSB9OwogCi1KU1ZhbHVlIFRlcm1pbmF0ZWRFeGVjdXRpb25FcnJvcjo6ZGVmYXVsdFZhbHVlKEV4
ZWNTdGF0ZSogZXhlYywgUHJlZmVycmVkUHJpbWl0aXZlVHlwZSBoaW50KSBjb25zdAorSlNWYWx1
ZSBUZXJtaW5hdGVkRXhlY3V0aW9uRXJyb3I6OmRlZmF1bHRWYWx1ZShjb25zdCBKU09iamVjdCos
IEV4ZWNTdGF0ZSogZXhlYywgUHJlZmVycmVkUHJpbWl0aXZlVHlwZSBoaW50KQogewogICAgIGlm
IChoaW50ID09IFByZWZlclN0cmluZykKICAgICAgICAgcmV0dXJuIGpzTm9udHJpdmlhbFN0cmlu
ZyhleGVjLCAiSmF2YVNjcmlwdCBleGVjdXRpb24gdGVybWluYXRlZC4iKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4Y2VwdGlvbkhlbHBlcnMuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4Y2VwdGlvbkhlbHBlcnMuaAppbmRleCA2MmEwMDFl
ZjZkMmFkOTE3OTViNGQzNGZkODA5YzA3ZDkxNDBiMTNlLi5jMjIyNjc5NTRhODcyM2M5MGYyY2Uy
MzA1NWI4NWZhZTUxYzcwZDk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9FeGNlcHRpb25IZWxwZXJzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvRXhjZXB0aW9uSGVscGVycy5oCkBAIC02Miw3ICs2Miw3IEBAIHByaXZhdGU6CiAgICAgewog
ICAgIH0KIAotICAgIHZpcnR1YWwgSlNWYWx1ZSBkZWZhdWx0VmFsdWUoRXhlY1N0YXRlKiwgUHJl
ZmVycmVkUHJpbWl0aXZlVHlwZSkgY29uc3Q7CisgICAgc3RhdGljIEpTVmFsdWUgZGVmYXVsdFZh
bHVlKGNvbnN0IEpTT2JqZWN0KiwgRXhlY1N0YXRlKiwgUHJlZmVycmVkUHJpbWl0aXZlVHlwZSk7
CiAKIHB1YmxpYzoKICAgICB0eXBlZGVmIEpTTm9uRmluYWxPYmplY3QgQmFzZTsKQEAgLTg5LDcg
Kzg5LDcgQEAgcHJpdmF0ZToKICAgICB7CiAgICAgfQogCi0gICAgdmlydHVhbCBKU1ZhbHVlIGRl
ZmF1bHRWYWx1ZShFeGVjU3RhdGUqLCBQcmVmZXJyZWRQcmltaXRpdmVUeXBlKSBjb25zdDsKKyAg
ICBzdGF0aWMgSlNWYWx1ZSBkZWZhdWx0VmFsdWUoY29uc3QgSlNPYmplY3QqLCBFeGVjU3RhdGUq
LCBQcmVmZXJyZWRQcmltaXRpdmVUeXBlKTsKIAogcHVibGljOgogICAgIHR5cGVkZWYgSlNOb25G
aW5hbE9iamVjdCBCYXNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNDZWxsLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5jcHAK
aW5kZXggMTFhZWMzNGIwNDc0MmJkZGYwZjkxNTcyNmVmNzdjYmQ4M2Q3NTQyNS4uMDE3ZTM3MTFj
NTU3ZTFkOWNiNDUzZjE1ZjJlYWE2NmZkMTcwM2UxMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0NlbGwuY3BwCkBAIC0xNTgsNCArMTU4LDEwIEBAIHZvaWQgc2xvd1ZhbGlkYXRl
Q2VsbChKU0NlbGwqIGNlbGwpCiAgICAgQVNTRVJUX0dDX09CSkVDVF9MT09LU19WQUxJRChjZWxs
KTsKIH0KIAorSlNWYWx1ZSBKU0NlbGw6OmRlZmF1bHRWYWx1ZShjb25zdCBKU09iamVjdCosIEV4
ZWNTdGF0ZSosIFByZWZlcnJlZFByaW1pdGl2ZVR5cGUpCit7CisgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CisgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIEpT
QwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaAppbmRleCA4MzBlN2NhNzAwNTg5
NzBjN2M0OGI5MWE1OTliMzE1YmQwOGYxMDU3Li43ZDMwNjMxNWU5ZWZiMzEwYzM4ZDlhMmYyMDBh
ZTBlZGRmMTQxNTI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0NlbGwuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaApAQCAt
MTMzLDYgKzEzMyw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBzdGF0aWMgYm9vbCBnZXRP
d25Qcm9wZXJ0eVNsb3QoSlNDZWxsKiwgRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJv
cGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmKTsKICAgICAgICAgc3RhdGljIGJvb2wgZ2V0T3duUHJv
cGVydHlTbG90QnlJbmRleChKU0NlbGwqLCBFeGVjU3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5h
bWUsIFByb3BlcnR5U2xvdCYpOwogICAgICAgICAKKyAgICAgICAgc3RhdGljIEpTVmFsdWUgZGVm
YXVsdFZhbHVlKGNvbnN0IEpTT2JqZWN0KiwgRXhlY1N0YXRlKiwgUHJlZmVycmVkUHJpbWl0aXZl
VHlwZSk7CisKICAgICBwcml2YXRlOgogICAgICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBt
X3N0cnVjdHVyZTsKICAgICB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNOb3RBbk9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U05vdEFuT2JqZWN0LmNwcAppbmRleCAzMTA1NDhmYTgwZWRlNjNhNDVjNGY0YTNkYmQ3NzdmNTI0
NGU4M2FlLi42MWY2YmEzZmI2NTcxM2QyY2EzYTIwMzM1YzMzZDg1YjMyNjQyOTQzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU05vdEFuT2JqZWN0LmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU05vdEFuT2JqZWN0LmNwcApAQCAtMzks
NyArMzksNyBAQCBBU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKEpTTm90QW5PYmplY3QpOwogY29u
c3QgQ2xhc3NJbmZvIEpTTm90QW5PYmplY3Q6OnNfaW5mbyA9IHsgIk9iamVjdCIsICZCYXNlOjpz
X2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNOb3RBbk9iamVjdCkgfTsKIAogLy8g
SlNWYWx1ZSBtZXRob2RzCi1KU1ZhbHVlIEpTTm90QW5PYmplY3Q6OmRlZmF1bHRWYWx1ZShFeGVj
U3RhdGUqIGV4ZWMsIFByZWZlcnJlZFByaW1pdGl2ZVR5cGUpIGNvbnN0CitKU1ZhbHVlIEpTTm90
QW5PYmplY3Q6OmRlZmF1bHRWYWx1ZShjb25zdCBKU09iamVjdCosIEV4ZWNTdGF0ZSogZXhlYywg
UHJlZmVycmVkUHJpbWl0aXZlVHlwZSkKIHsKICAgICBBU1NFUlRfVU5VU0VEKGV4ZWMsIGV4ZWMt
PmhhZEV4Y2VwdGlvbigpKTsKICAgICByZXR1cm4ganNOdW1iZXIoMCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU05vdEFuT2JqZWN0LmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU05vdEFuT2JqZWN0LmgKaW5kZXggZGY0Y2ZhNDA1ZmQ0YTU3
YTY5MWVhMTliMjZkZjM0MjQzZDA1NjNhZS4uODkyMmY5MjY0Y2Y0Y2NjMTM1ZTQwOWViN2Q2NGYw
NGQzYzRmMDFlNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNO
b3RBbk9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTm90QW5P
YmplY3QuaApAQCAtNjUsNyArNjUsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgc3RhdGlj
IGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlT
bG90IHwgT3ZlcnJpZGVzR2V0UHJvcGVydHlOYW1lcyB8IEpTT2JqZWN0OjpTdHJ1Y3R1cmVGbGFn
czsKIAogICAgICAgICAvLyBKU1ZhbHVlIG1ldGhvZHMKLSAgICAgICAgdmlydHVhbCBKU1ZhbHVl
IGRlZmF1bHRWYWx1ZShFeGVjU3RhdGUqLCBQcmVmZXJyZWRQcmltaXRpdmVUeXBlKSBjb25zdDsK
KyAgICAgICAgc3RhdGljIEpTVmFsdWUgZGVmYXVsdFZhbHVlKGNvbnN0IEpTT2JqZWN0KiwgRXhl
Y1N0YXRlKiwgUHJlZmVycmVkUHJpbWl0aXZlVHlwZSk7CiAKICAgICAgICAgLy8gSlNPYmplY3Qg
bWV0aG9kcwogICAgICAgICBzdGF0aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDZWxsKiwg
RXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3Qm
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAppbmRleCBmNWNj
OGQzZDFmY2JhNWNmMTk5YWZkZTM2ZDNmMmI4ZDU1NGUwMjYzLi4wNDUwMjdiZTJkNGZkMzUwM2Uw
ZmY3ZTUzZDA4MDc1ZDYxMDczMGI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU09iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNPYmplY3QuY3BwCkBAIC0zMDcsMjcgKzMwNywyNyBAQCBzdGF0aWMgQUxXQVlTX0lOTElORSBK
U1ZhbHVlIGNhbGxEZWZhdWx0VmFsdWVGdW5jdGlvbihFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEpT
TwogCiBib29sIEpTT2JqZWN0OjpnZXRQcmltaXRpdmVOdW1iZXIoRXhlY1N0YXRlKiBleGVjLCBk
b3VibGUmIG51bWJlciwgSlNWYWx1ZSYgcmVzdWx0KSBjb25zdAogewotICAgIHJlc3VsdCA9IGRl
ZmF1bHRWYWx1ZShleGVjLCBQcmVmZXJOdW1iZXIpOworICAgIHJlc3VsdCA9IG1ldGhvZFRhYmxl
KCktPmRlZmF1bHRWYWx1ZSh0aGlzLCBleGVjLCBQcmVmZXJOdW1iZXIpOwogICAgIG51bWJlciA9
IHJlc3VsdC50b051bWJlcihleGVjKTsKICAgICByZXR1cm4gIXJlc3VsdC5pc1N0cmluZygpOwog
fQogCiAvLyBFQ01BIDguNi4yLjYKLUpTVmFsdWUgSlNPYmplY3Q6OmRlZmF1bHRWYWx1ZShFeGVj
U3RhdGUqIGV4ZWMsIFByZWZlcnJlZFByaW1pdGl2ZVR5cGUgaGludCkgY29uc3QKK0pTVmFsdWUg
SlNPYmplY3Q6OmRlZmF1bHRWYWx1ZShjb25zdCBKU09iamVjdCogb2JqZWN0LCBFeGVjU3RhdGUq
IGV4ZWMsIFByZWZlcnJlZFByaW1pdGl2ZVR5cGUgaGludCkKIHsKICAgICAvLyBNdXN0IGNhbGwg
dG9TdHJpbmcgZmlyc3QgZm9yIERhdGUgb2JqZWN0cy4KLSAgICBpZiAoKGhpbnQgPT0gUHJlZmVy
U3RyaW5nKSB8fCAoaGludCAhPSBQcmVmZXJOdW1iZXIgJiYgcHJvdG90eXBlKCkgPT0gZXhlYy0+
bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5kYXRlUHJvdG90eXBlKCkpKSB7Ci0gICAgICAgIEpTVmFs
dWUgdmFsdWUgPSBjYWxsRGVmYXVsdFZhbHVlRnVuY3Rpb24oZXhlYywgdGhpcywgZXhlYy0+cHJv
cGVydHlOYW1lcygpLnRvU3RyaW5nKTsKKyAgICBpZiAoKGhpbnQgPT0gUHJlZmVyU3RyaW5nKSB8
fCAoaGludCAhPSBQcmVmZXJOdW1iZXIgJiYgb2JqZWN0LT5wcm90b3R5cGUoKSA9PSBleGVjLT5s
ZXhpY2FsR2xvYmFsT2JqZWN0KCktPmRhdGVQcm90b3R5cGUoKSkpIHsKKyAgICAgICAgSlNWYWx1
ZSB2YWx1ZSA9IGNhbGxEZWZhdWx0VmFsdWVGdW5jdGlvbihleGVjLCBvYmplY3QsIGV4ZWMtPnBy
b3BlcnR5TmFtZXMoKS50b1N0cmluZyk7CiAgICAgICAgIGlmICh2YWx1ZSkKICAgICAgICAgICAg
IHJldHVybiB2YWx1ZTsKLSAgICAgICAgdmFsdWUgPSBjYWxsRGVmYXVsdFZhbHVlRnVuY3Rpb24o
ZXhlYywgdGhpcywgZXhlYy0+cHJvcGVydHlOYW1lcygpLnZhbHVlT2YpOworICAgICAgICB2YWx1
ZSA9IGNhbGxEZWZhdWx0VmFsdWVGdW5jdGlvbihleGVjLCBvYmplY3QsIGV4ZWMtPnByb3BlcnR5
TmFtZXMoKS52YWx1ZU9mKTsKICAgICAgICAgaWYgKHZhbHVlKQogICAgICAgICAgICAgcmV0dXJu
IHZhbHVlOwogICAgIH0gZWxzZSB7Ci0gICAgICAgIEpTVmFsdWUgdmFsdWUgPSBjYWxsRGVmYXVs
dFZhbHVlRnVuY3Rpb24oZXhlYywgdGhpcywgZXhlYy0+cHJvcGVydHlOYW1lcygpLnZhbHVlT2Yp
OworICAgICAgICBKU1ZhbHVlIHZhbHVlID0gY2FsbERlZmF1bHRWYWx1ZUZ1bmN0aW9uKGV4ZWMs
IG9iamVjdCwgZXhlYy0+cHJvcGVydHlOYW1lcygpLnZhbHVlT2YpOwogICAgICAgICBpZiAodmFs
dWUpCiAgICAgICAgICAgICByZXR1cm4gdmFsdWU7Ci0gICAgICAgIHZhbHVlID0gY2FsbERlZmF1
bHRWYWx1ZUZ1bmN0aW9uKGV4ZWMsIHRoaXMsIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS50b1N0cmlu
Zyk7CisgICAgICAgIHZhbHVlID0gY2FsbERlZmF1bHRWYWx1ZUZ1bmN0aW9uKGV4ZWMsIG9iamVj
dCwgZXhlYy0+cHJvcGVydHlOYW1lcygpLnRvU3RyaW5nKTsKICAgICAgICAgaWYgKHZhbHVlKQog
ICAgICAgICAgICAgcmV0dXJuIHZhbHVlOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU09iamVjdC5oCmluZGV4IDZlMTUzNTJlNjhmMjI0YmY3YTYwOGUyY2VmMmRhNGU3NzMx
MzQwYTIuLjMxMWM2YzYzMThhNzZkNmI1MDNlNTAzNWZiNGE2YzQxY2Q0Y2FjMDMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaApAQCAtMTIyLDcgKzEyMiw3IEBAIG5h
bWVzcGFjZSBKU0MgewogICAgICAgICBzdGF0aWMgYm9vbCBkZWxldGVQcm9wZXJ0eShKU0NlbGwq
LCBFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpOwogICAgICAgICBz
dGF0aWMgYm9vbCBkZWxldGVQcm9wZXJ0eUJ5SW5kZXgoSlNDZWxsKiwgRXhlY1N0YXRlKiwgdW5z
aWduZWQgcHJvcGVydHlOYW1lKTsKIAotICAgICAgICB2aXJ0dWFsIEpTVmFsdWUgZGVmYXVsdFZh
bHVlKEV4ZWNTdGF0ZSosIFByZWZlcnJlZFByaW1pdGl2ZVR5cGUpIGNvbnN0OworICAgICAgICBz
dGF0aWMgSlNWYWx1ZSBkZWZhdWx0VmFsdWUoY29uc3QgSlNPYmplY3QqLCBFeGVjU3RhdGUqLCBQ
cmVmZXJyZWRQcmltaXRpdmVUeXBlKTsKIAogICAgICAgICB2aXJ0dWFsIGJvb2wgaGFzSW5zdGFu
Y2UoRXhlY1N0YXRlKiwgSlNWYWx1ZSwgSlNWYWx1ZSBwcm90b3R5cGVQcm9wZXJ0eSk7CiAKQEAg
LTc2OCw3ICs3NjgsNyBAQCBpbmxpbmUgdm9pZCBKU09iamVjdDo6dHJhbnNpdGlvblRvKEpTR2xv
YmFsRGF0YSYgZ2xvYmFsRGF0YSwgU3RydWN0dXJlKiBuZXdTdHJ1YwogCiBpbmxpbmUgSlNWYWx1
ZSBKU09iamVjdDo6dG9QcmltaXRpdmUoRXhlY1N0YXRlKiBleGVjLCBQcmVmZXJyZWRQcmltaXRp
dmVUeXBlIHByZWZlcnJlZFR5cGUpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGRlZmF1bHRWYWx1ZShl
eGVjLCBwcmVmZXJyZWRUeXBlKTsKKyAgICByZXR1cm4gbWV0aG9kVGFibGUoKS0+ZGVmYXVsdFZh
bHVlKHRoaXMsIGV4ZWMsIHByZWZlcnJlZFR5cGUpOwogfQogCiBpbmxpbmUgSlNWYWx1ZSBKU1Zh
bHVlOjpnZXQoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUp
IGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDA1ZTM0NTJmOTFmN2RlNDQyYWQ5ZTJiOTA5
MDcxZTViZmYyYmQ3ODQuLmRiZmE1MGE5ZjExMTNjMGU1N2I2NzFlZTA3M2FiODQyYjA0MDNmOWYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0xNzAwLDYgKzE3MDAsNyBAQCBfX1pOM0pTQzEzUnVu
dGltZU1ldGhvZDZzX2luZm9FCiBfX1pOM0pTQzEzUnVudGltZU1ldGhvZEMyRVBOU18xNEpTR2xv
YmFsT2JqZWN0RVBOU185U3RydWN0dXJlRVJOM1dURjZWZWN0b3JJUE5TXzhCaW5kaW5nczZNZXRo
b2RFTG0wRUVFCiBfX1pOM0pTQzhCaW5kaW5nczEwUm9vdE9iamVjdEQxRXYKIF9fWk4zSlNDOEJp
bmRpbmdzMTNSdW50aW1lT2JqZWN0MTFnZXRDYWxsRGF0YUVQTlNfNkpTQ2VsbEVSTlNfOENhbGxE
YXRhRQorX19aTjNKU0M4QmluZGluZ3MxM1J1bnRpbWVPYmplY3QxMmRlZmF1bHRWYWx1ZUVQS05T
XzhKU09iamVjdEVQTlNfOUV4ZWNTdGF0ZUVOU18yMlByZWZlcnJlZFByaW1pdGl2ZVR5cGVFCiBf
X1pOM0pTQzhCaW5kaW5nczEzUnVudGltZU9iamVjdDE0ZGVsZXRlUHJvcGVydHlFUE5TXzZKU0Nl
bGxFUE5TXzlFeGVjU3RhdGVFUktOU18xMElkZW50aWZpZXJFCiBfX1pOM0pTQzhCaW5kaW5nczEz
UnVudGltZU9iamVjdDE0ZmluaXNoQ3JlYXRpb25FUE5TXzE0SlNHbG9iYWxPYmplY3RFCiBfX1pO
M0pTQzhCaW5kaW5nczEzUnVudGltZU9iamVjdDE2Z2V0Q29uc3RydWN0RGF0YUVQTlNfNkpTQ2Vs
bEVSTlNfMTNDb25zdHJ1Y3REYXRhRQpAQCAtMTcxNSw3ICsxNzE2LDYgQEAgX19aTjNKU0M4Qmlu
ZGluZ3M4SW5zdGFuY2VDMkVOM1dURjEwUGFzc1JlZlB0cklOUzBfMTBSb290T2JqZWN0RUVFCiBf
X1pOM0pTQzhCaW5kaW5nczhJbnN0YW5jZUQyRXYKIF9fWk43V2ViQ29yZTEzSWRlbnRpZmllclJl
cDdpc1ZhbGlkRVBTMF8KIF9fWk43V2ViQ29yZTE2U2NyaXB0Q29udHJvbGxlcjE2Y3JlYXRlUm9v
dE9iamVjdEVQdgotX19aTkszSlNDOEJpbmRpbmdzMTNSdW50aW1lT2JqZWN0MTJkZWZhdWx0VmFs
dWVFUE5TXzlFeGVjU3RhdGVFTlNfMjJQcmVmZXJyZWRQcmltaXRpdmVUeXBlRQogX19aVFZOM0pT
QzEzUnVudGltZU1ldGhvZEUKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
cmlkZ2Uvb2JqYy9vYmpjX3J1bnRpbWUuaCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL29i
amNfcnVudGltZS5oCmluZGV4IDA4YjY3MzIyOTg0NWRiNjM5OWE1NjVlNzAxOGIxZmIxZDYxNDE5
ZGMuLjc0ZDE5ZTgzODA2ZDFjOWUwM2M4MjI0NjUzYmE3ZjE4Y2E5ZDliNzEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL29iamNfcnVudGltZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JyaWRnZS9vYmpjL29iamNfcnVudGltZS5oCkBAIC0xMjgsNyArMTI4LDcgQEAgcHJp
dmF0ZToKICAgICBzdGF0aWMgdm9pZCBwdXQoSlNDZWxsKiwgRXhlY1N0YXRlKiwgY29uc3QgSWRl
bnRpZmllciYgcHJvcGVydHlOYW1lLCBKU1ZhbHVlLCBQdXRQcm9wZXJ0eVNsb3QmKTsKICAgICBz
dGF0aWMgQ2FsbFR5cGUgZ2V0Q2FsbERhdGEoSlNDZWxsKiwgQ2FsbERhdGEmKTsKICAgICBzdGF0
aWMgYm9vbCBkZWxldGVQcm9wZXJ0eShKU0NlbGwqLCBFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlm
aWVyJiBwcm9wZXJ0eU5hbWUpOwotICAgIHZpcnR1YWwgSlNWYWx1ZSBkZWZhdWx0VmFsdWUoRXhl
Y1N0YXRlKiwgUHJlZmVycmVkUHJpbWl0aXZlVHlwZSkgY29uc3Q7CisgICAgc3RhdGljIEpTVmFs
dWUgZGVmYXVsdFZhbHVlKGNvbnN0IEpTT2JqZWN0KiwgRXhlY1N0YXRlKiwgUHJlZmVycmVkUHJp
bWl0aXZlVHlwZSk7CiAKICAgICB2aXJ0dWFsIGJvb2wgdG9Cb29sZWFuKEV4ZWNTdGF0ZSopIGNv
bnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9vYmpjX3J1bnRp
bWUubW0gYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9vYmpjX3J1bnRpbWUubW0KaW5kZXgg
YzRmMmM1ZWE0NjExMzJiNmY5ZjdmODQ0ZjcwODQ1ZjU5MzY1MzQ2YS4uMGMzOTc5YmM5YTg5OWY0
NDI4NWQ1ODMwOTc5ZjJlZDhlNTlmZWExZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJp
ZGdlL29iamMvb2JqY19ydW50aW1lLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpj
L29iamNfcnVudGltZS5tbQpAQCAtMjcwLDkgKzI3MCwxMCBAQCBib29sIE9iamNGYWxsYmFja09i
amVjdEltcDo6ZGVsZXRlUHJvcGVydHkoSlNDZWxsKiwgRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRp
ZmllcgogICAgIHJldHVybiBmYWxzZTsKIH0KIAotSlNWYWx1ZSBPYmpjRmFsbGJhY2tPYmplY3RJ
bXA6OmRlZmF1bHRWYWx1ZShFeGVjU3RhdGUqIGV4ZWMsIFByZWZlcnJlZFByaW1pdGl2ZVR5cGUp
IGNvbnN0CitKU1ZhbHVlIE9iamNGYWxsYmFja09iamVjdEltcDo6ZGVmYXVsdFZhbHVlKGNvbnN0
IEpTT2JqZWN0KiBvYmplY3QsIEV4ZWNTdGF0ZSogZXhlYywgUHJlZmVycmVkUHJpbWl0aXZlVHlw
ZSkKIHsKLSAgICByZXR1cm4gX2luc3RhbmNlLT5nZXRWYWx1ZU9mVW5kZWZpbmVkRmllbGQoZXhl
YywgX2l0ZW0pOworICAgIGNvbnN0IE9iamNGYWxsYmFja09iamVjdEltcCogdGhpc09iamVjdCA9
IHN0YXRpY19jYXN0PGNvbnN0IE9iamNGYWxsYmFja09iamVjdEltcCo+KG9iamVjdCk7CisgICAg
cmV0dXJuIHRoaXNPYmplY3QtPl9pbnN0YW5jZS0+Z2V0VmFsdWVPZlVuZGVmaW5lZEZpZWxkKGV4
ZWMsIHRoaXNPYmplY3QtPl9pdGVtKTsKIH0KIAogYm9vbCBPYmpjRmFsbGJhY2tPYmplY3RJbXA6
OnRvQm9vbGVhbihFeGVjU3RhdGUgKikgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JyaWRnZS9ydW50aW1lX29iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGlt
ZV9vYmplY3QuY3BwCmluZGV4IDBkY2Y3NGRkZWM1YTJkMjgyN2EyNDUzY2I2YTYyMTQzMjQ0NzAy
NTYuLjdjOWU0ZWIyZWQxM2I1YThhOWVmNTNmM2ExODE4NzBkZGI4NDU4MGYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX29iamVjdC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYnJpZGdlL3J1bnRpbWVfb2JqZWN0LmNwcApAQCAtMjM4LDEyICsyMzgsMTMgQEAgYm9v
bCBSdW50aW1lT2JqZWN0OjpkZWxldGVQcm9wZXJ0eShKU0NlbGwqLCBFeGVjU3RhdGUqLCBjb25z
dCBJZGVudGlmaWVyJikKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLUpTVmFsdWUgUnVudGltZU9i
amVjdDo6ZGVmYXVsdFZhbHVlKEV4ZWNTdGF0ZSogZXhlYywgUHJlZmVycmVkUHJpbWl0aXZlVHlw
ZSBoaW50KSBjb25zdAorSlNWYWx1ZSBSdW50aW1lT2JqZWN0OjpkZWZhdWx0VmFsdWUoY29uc3Qg
SlNPYmplY3QqIG9iamVjdCwgRXhlY1N0YXRlKiBleGVjLCBQcmVmZXJyZWRQcmltaXRpdmVUeXBl
IGhpbnQpCiB7Ci0gICAgaWYgKCFtX2luc3RhbmNlKQorICAgIGNvbnN0IFJ1bnRpbWVPYmplY3Qq
IHRoaXNPYmplY3QgPSBzdGF0aWNfY2FzdDxjb25zdCBSdW50aW1lT2JqZWN0Kj4ob2JqZWN0KTsK
KyAgICBpZiAoIXRoaXNPYmplY3QtPm1faW5zdGFuY2UpCiAgICAgICAgIHJldHVybiB0aHJvd0lu
dmFsaWRBY2Nlc3NFcnJvcihleGVjKTsKICAgICAKLSAgICBSZWZQdHI8SW5zdGFuY2U+IGluc3Rh
bmNlID0gbV9pbnN0YW5jZTsKKyAgICBSZWZQdHI8SW5zdGFuY2U+IGluc3RhbmNlID0gdGhpc09i
amVjdC0+bV9pbnN0YW5jZTsKIAogICAgIGluc3RhbmNlLT5iZWdpbigpOwogICAgIEpTVmFsdWUg
cmVzdWx0ID0gaW5zdGFuY2UtPmRlZmF1bHRWYWx1ZShleGVjLCBoaW50KTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX29iamVjdC5oIGIvU291cmNlL1dlYkNvcmUv
YnJpZGdlL3J1bnRpbWVfb2JqZWN0LmgKaW5kZXggZDFmNTRmOWM0MDM0ZmMzYTFlMGRlMzg0N2Y5
MDIyYTliNDA0ZDFmMi4uYjI1Y2Q1N2NiYTM1Zjg4YmVjMzJlMWM0MDIwZmNmOWUwZjM4YjBiYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfb2JqZWN0LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfb2JqZWN0LmgKQEAgLTQ5LDcgKzQ5LDcgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRXhlY1N0
YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eURlc2NyaXB0b3Im
KTsKICAgICBzdGF0aWMgdm9pZCBwdXQoSlNDZWxsKiwgRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRp
ZmllciYgcHJvcGVydHlOYW1lLCBKU1ZhbHVlLCBQdXRQcm9wZXJ0eVNsb3QmKTsKICAgICBzdGF0
aWMgYm9vbCBkZWxldGVQcm9wZXJ0eShKU0NlbGwqLCBFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlm
aWVyJiBwcm9wZXJ0eU5hbWUpOwotICAgIHZpcnR1YWwgSlNWYWx1ZSBkZWZhdWx0VmFsdWUoRXhl
Y1N0YXRlKiwgUHJlZmVycmVkUHJpbWl0aXZlVHlwZSkgY29uc3Q7CisgICAgc3RhdGljIEpTVmFs
dWUgZGVmYXVsdFZhbHVlKGNvbnN0IEpTT2JqZWN0KiwgRXhlY1N0YXRlKiwgUHJlZmVycmVkUHJp
bWl0aXZlVHlwZSk7CiAgICAgc3RhdGljIENhbGxUeXBlIGdldENhbGxEYXRhKEpTQ2VsbCosIENh
bGxEYXRhJik7CiAgICAgc3RhdGljIENvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0YShKU0Nl
bGwqLCBDb25zdHJ1Y3REYXRhJik7CiAK
</data>
<flag name="review"
          id="111136"
          type_id="1"
          status="+"
          setter="sam"
    />
    <flag name="commit-queue"
          id="111344"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>