<?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>106278</bug_id>
          
          <creation_ts>2013-01-07 17:01:11 -0800</creation_ts>
          <short_desc>[WK2] Merge SecItemShimMethods files into SecItemShim</short_desc>
          <delta_ts>2013-01-07 17:19:23 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>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="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>801842</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-01-07 17:01:11 -0800</bug_when>
    <thetext>Now that we have a SecItemShim class, there is no reason to split implementation into a separate file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>801845</commentid>
    <comment_count>1</comment_count>
      <attachid>181605</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-01-07 17:02:23 -0800</bug_when>
    <thetext>Created attachment 181605
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>801868</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-01-07 17:19:23 -0800</bug_when>
    <thetext>Committed &lt;http://trac.webkit.org/changeset/139018&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181605</attachid>
            <date>2013-01-07 17:02:23 -0800</date>
            <delta_ts>2013-01-07 17:13:08 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>DeleteMethods.txt</filename>
            <type>text/plain</type>
            <size>16517</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzOTAxNSkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDEzLTAxLTA3ICBBbGV4ZXkg
UHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIFtXSzJdIE1lcmdlIFNlY0l0
ZW1TaGltTWV0aG9kcyBmaWxlcyBpbnRvIFNlY0l0ZW1TaGltCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDYyNzgKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOb3cgdGhhdCB3ZSBoYXZlIGEgU2VjSXRlbVNo
aW0gY2xhc3MsIHRoZXJlIGlzIG5vIHJlYXNvbiB0byBzcGxpdCBpbXBsZW1lbnRhdGlvbgorICAg
ICAgICBpbnRvIGEgc2VwYXJhdGUgZmlsZS4KKworICAgICAgICAqIFNoYXJlZC9tYWMvU2VjSXRl
bVNoaW0uY3BwOgorICAgICAgICAoV2ViS2l0OjpyZXNwb25zZU1hcCk6CisgICAgICAgIChXZWJL
aXQ6OmdlbmVyYXRlU2VjSXRlbVJlcXVlc3RJRCk6CisgICAgICAgIChXZWJLaXQ6OnNlbmRTZWNJ
dGVtUmVxdWVzdCk6CisgICAgICAgIChXZWJLaXQ6OndlYlNlY0l0ZW1Db3B5TWF0Y2hpbmcpOgor
ICAgICAgICAoV2ViS2l0Ojp3ZWJTZWNJdGVtQWRkKToKKyAgICAgICAgKFdlYktpdDo6d2ViU2Vj
SXRlbVVwZGF0ZSk6CisgICAgICAgIChXZWJLaXQ6OndlYlNlY0l0ZW1EZWxldGUpOgorICAgICAg
ICAoV2ViS2l0OjpTZWNJdGVtU2hpbTo6c2VjSXRlbVJlc3BvbnNlKToKKyAgICAgICAgKFdlYktp
dDo6U2VjSXRlbVNoaW06Omluc3RhbGwpOgorICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL21hYy9TZWNJdGVtU2hpbU1ldGhv
ZHMuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL21hYy9TZWNJdGVtU2hpbU1ldGhv
ZHMubW06IFJlbW92ZWQuCisKIDIwMTMtMDEtMDcgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgU29ydGVkIHRoZSB4Y29kZXByb2ogZmlsZS4KSW5kZXg6IFNvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9tYWMvU2VjSXRlbVNoaW0uY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9tYWMvU2VjSXRlbVNoaW0uY3BwCShyZXZpc2lvbiAxMzkwMDkpCisr
KyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1NlY0l0ZW1TaGltLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDExLCAyMDEzIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpA
QCAtMjgsMTAgKzI4LDIzIEBACiAKICNpZiBVU0UoU0VDVVJJVFlfRlJBTUVXT1JLKQogCi0jaW5j
bHVkZSAiU2VjSXRlbVNoaW1NZXRob2RzLmgiCisjaW1wb3J0ICJCbG9ja2luZ1Jlc3BvbnNlTWFw
LmgiCisjaW1wb3J0ICJTZWNJdGVtUmVxdWVzdERhdGEuaCIKKyNpbXBvcnQgIlNlY0l0ZW1SZXNw
b25zZURhdGEuaCIKKyNpbXBvcnQgIldlYlByb2Nlc3MuaCIKKyNpbXBvcnQgIlNlY0l0ZW1TaGlt
UHJveHlNZXNzYWdlcy5oIgorI2ltcG9ydCAiV2ViUHJvY2Vzc1NoaW0uaCIKKyNpbXBvcnQgPFNl
Y3VyaXR5L1NlY3VyaXR5Lmg+CisjaW1wb3J0IDxkbGZjbi5oPgogCiBuYW1lc3BhY2UgV2ViS2l0
IHsKIAorc3RhdGljIEJsb2NraW5nUmVzcG9uc2VNYXA8U2VjSXRlbVJlc3BvbnNlRGF0YT4mIHJl
c3BvbnNlTWFwKCkKK3sKKyAgICBBdG9taWNhbGx5SW5pdGlhbGl6ZWRTdGF0aWMoQmxvY2tpbmdS
ZXNwb25zZU1hcDxTZWNJdGVtUmVzcG9uc2VEYXRhPiosIHJlc3BvbnNlTWFwID0gbmV3IEJsb2Nr
aW5nUmVzcG9uc2VNYXA8U2VjSXRlbVJlc3BvbnNlRGF0YT4pOworICAgIHJldHVybiAqcmVzcG9u
c2VNYXA7Cit9CisKIFNlY0l0ZW1TaGltJiBTZWNJdGVtU2hpbTo6c2hhcmVkKCkKIHsKICAgICBB
dG9taWNhbGx5SW5pdGlhbGl6ZWRTdGF0aWMoU2VjSXRlbVNoaW0qLCBwcm94eSA9IG5ldyBTZWNJ
dGVtU2hpbSk7CkBAIC00MiwxNCArNTUsNzYgQEAgU2VjSXRlbVNoaW06OlNlY0l0ZW1TaGltKCkK
IHsKIH0KIAorc3RhdGljIHVpbnQ2NF90IGdlbmVyYXRlU2VjSXRlbVJlcXVlc3RJRCgpCit7Cisg
ICAgc3RhdGljIGludDY0X3QgdW5pcXVlU2VjSXRlbVJlcXVlc3RJRDsKKyAgICByZXR1cm4gYXRv
bWljSW5jcmVtZW50KCZ1bmlxdWVTZWNJdGVtUmVxdWVzdElEKTsKK30KKworc3RhdGljIFBhc3NP
d25QdHI8U2VjSXRlbVJlc3BvbnNlRGF0YT4gc2VuZFNlY0l0ZW1SZXF1ZXN0KFNlY0l0ZW1SZXF1
ZXN0RGF0YTo6VHlwZSByZXF1ZXN0VHlwZSwgQ0ZEaWN0aW9uYXJ5UmVmIHF1ZXJ5LCBDRkRpY3Rp
b25hcnlSZWYgYXR0cmlidXRlc1RvTWF0Y2ggPSAwKQoreworICAgIHVpbnQ2NF90IHJlcXVlc3RJ
RCA9IGdlbmVyYXRlU2VjSXRlbVJlcXVlc3RJRCgpOworICAgIGlmICghV2ViUHJvY2Vzczo6c2hh
cmVkKCkuY29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpTZWNJdGVtU2hpbVByb3h5OjpTZWNJ
dGVtUmVxdWVzdChyZXF1ZXN0SUQsIFNlY0l0ZW1SZXF1ZXN0RGF0YShyZXF1ZXN0VHlwZSwgcXVl
cnksIGF0dHJpYnV0ZXNUb01hdGNoKSksIDApKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKwor
ICAgIHJldHVybiByZXNwb25zZU1hcCgpLndhaXRGb3JSZXNwb25zZShyZXF1ZXN0SUQpOworfQor
CitzdGF0aWMgT1NTdGF0dXMgd2ViU2VjSXRlbUNvcHlNYXRjaGluZyhDRkRpY3Rpb25hcnlSZWYg
cXVlcnksIENGVHlwZVJlZiogcmVzdWx0KQoreworICAgIE93blB0cjxTZWNJdGVtUmVzcG9uc2VE
YXRhPiByZXNwb25zZSA9IHNlbmRTZWNJdGVtUmVxdWVzdChTZWNJdGVtUmVxdWVzdERhdGE6OkNv
cHlNYXRjaGluZywgcXVlcnkpOworICAgIGlmICghcmVzcG9uc2UpCisgICAgICAgIHJldHVybiBl
cnJTZWNJbnRlcmFjdGlvbk5vdEFsbG93ZWQ7CisKKyAgICAqcmVzdWx0ID0gcmVzcG9uc2UtPnJl
c3VsdE9iamVjdCgpLmxlYWtSZWYoKTsKKyAgICByZXR1cm4gcmVzcG9uc2UtPnJlc3VsdENvZGUo
KTsKK30KKworc3RhdGljIE9TU3RhdHVzIHdlYlNlY0l0ZW1BZGQoQ0ZEaWN0aW9uYXJ5UmVmIHF1
ZXJ5LCBDRlR5cGVSZWYqIHJlc3VsdCkKK3sKKyAgICBPd25QdHI8U2VjSXRlbVJlc3BvbnNlRGF0
YT4gcmVzcG9uc2UgPSBzZW5kU2VjSXRlbVJlcXVlc3QoU2VjSXRlbVJlcXVlc3REYXRhOjpBZGQs
IHF1ZXJ5KTsKKyAgICBpZiAoIXJlc3BvbnNlKQorICAgICAgICByZXR1cm4gZXJyU2VjSW50ZXJh
Y3Rpb25Ob3RBbGxvd2VkOworCisgICAgaWYgKHJlc3VsdCkKKyAgICAgICAgKnJlc3VsdCA9IHJl
c3BvbnNlLT5yZXN1bHRPYmplY3QoKS5sZWFrUmVmKCk7CisgICAgcmV0dXJuIHJlc3BvbnNlLT5y
ZXN1bHRDb2RlKCk7Cit9CisKK3N0YXRpYyBPU1N0YXR1cyB3ZWJTZWNJdGVtVXBkYXRlKENGRGlj
dGlvbmFyeVJlZiBxdWVyeSwgQ0ZEaWN0aW9uYXJ5UmVmIGF0dHJpYnV0ZXNUb1VwZGF0ZSkKK3sK
KyAgICBPd25QdHI8U2VjSXRlbVJlc3BvbnNlRGF0YT4gcmVzcG9uc2UgPSBzZW5kU2VjSXRlbVJl
cXVlc3QoU2VjSXRlbVJlcXVlc3REYXRhOjpVcGRhdGUsIHF1ZXJ5LCBhdHRyaWJ1dGVzVG9VcGRh
dGUpOworICAgIGlmICghcmVzcG9uc2UpCisgICAgICAgIHJldHVybiBlcnJTZWNJbnRlcmFjdGlv
bk5vdEFsbG93ZWQ7CisgICAgCisgICAgcmV0dXJuIHJlc3BvbnNlLT5yZXN1bHRDb2RlKCk7Cit9
CisKK3N0YXRpYyBPU1N0YXR1cyB3ZWJTZWNJdGVtRGVsZXRlKENGRGljdGlvbmFyeVJlZiBxdWVy
eSkKK3sKKyAgICBPd25QdHI8U2VjSXRlbVJlc3BvbnNlRGF0YT4gcmVzcG9uc2UgPSBzZW5kU2Vj
SXRlbVJlcXVlc3QoU2VjSXRlbVJlcXVlc3REYXRhOjpEZWxldGUsIHF1ZXJ5KTsKKyAgICBpZiAo
IXJlc3BvbnNlKQorICAgICAgICByZXR1cm4gZXJyU2VjSW50ZXJhY3Rpb25Ob3RBbGxvd2VkOwor
ICAgIAorICAgIHJldHVybiByZXNwb25zZS0+cmVzdWx0Q29kZSgpOworfQorCiB2b2lkIFNlY0l0
ZW1TaGltOjpzZWNJdGVtUmVzcG9uc2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIHVpbnQ2NF90IHJl
cXVlc3RJRCwgY29uc3QgU2VjSXRlbVJlc3BvbnNlRGF0YSYgcmVzcG9uc2UpCiB7Ci0gICAgZGlk
UmVjZWl2ZVNlY0l0ZW1SZXNwb25zZShyZXF1ZXN0SUQsIHJlc3BvbnNlKTsKKyAgICByZXNwb25z
ZU1hcCgpLmRpZFJlY2VpdmVSZXNwb25zZShyZXF1ZXN0SUQsIGFkb3B0UHRyKG5ldyBTZWNJdGVt
UmVzcG9uc2VEYXRhKHJlc3BvbnNlKSkpOwogfQogCiB2b2lkIFNlY0l0ZW1TaGltOjppbnN0YWxs
KCkKIHsKLSAgICBpbml0aWFsaXplU2VjSXRlbVNoaW0oKTsKKyAgICBjb25zdCBXZWJQcm9jZXNz
U2VjSXRlbVNoaW1DYWxsYmFja3MgY2FsbGJhY2tzID0geworICAgICAgICB3ZWJTZWNJdGVtQ29w
eU1hdGNoaW5nLAorICAgICAgICB3ZWJTZWNJdGVtQWRkLAorICAgICAgICB3ZWJTZWNJdGVtVXBk
YXRlLAorICAgICAgICB3ZWJTZWNJdGVtRGVsZXRlCisgICAgfTsKKyAgICAKKyAgICBXZWJQcm9j
ZXNzU2VjSXRlbVNoaW1Jbml0aWFsaXplRnVuYyBmdW5jID0gcmVpbnRlcnByZXRfY2FzdDxXZWJQ
cm9jZXNzU2VjSXRlbVNoaW1Jbml0aWFsaXplRnVuYz4oZGxzeW0oUlRMRF9ERUZBVUxULCAiV2Vi
S2l0V2ViUHJvY2Vzc1NlY0l0ZW1TaGltSW5pdGlhbGl6ZSIpKTsKKyAgICBmdW5jKGNhbGxiYWNr
cyk7CiB9CiAKIHZvaWQgU2VjSXRlbVNoaW06OmRpZFJlY2VpdmVNZXNzYWdlT25Db25uZWN0aW9u
V29ya1F1ZXVlKENvcmVJUEM6OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24sIENvcmVJUEM6Ok1lc3Nh
Z2VJRCBtZXNzYWdlSUQsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJiBkZWNvZGVyLCBib29sJiBk
aWRIYW5kbGVNZXNzYWdlKQpAQCAtNTksNyArMTM0LDcgQEAgdm9pZCBTZWNJdGVtU2hpbTo6ZGlk
UmVjZWl2ZU1lc3NhZ2VPbkNvbgogICAgICAgICByZXR1cm47CiAgICAgfQogfQotCisgICAgCiB9
CiAKICNlbmRpZgpJbmRleDogU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMTM5MDA5KQorKysgU291cmNlL1dlYktpdDIvV2Vi
S2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0zOTcsOCAr
Mzk3LDYgQEAKIAkJNTExQjI0QUExMzJFMDk3MjAwMDY1QTBDIC8qIFdlYkljb25EYXRhYmFzZS5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTFCMjRB
ODEzMkUwOTcyMDAwNjVBMEMgLyogV2ViSWNvbkRhdGFiYXNlLmNwcCAqLzsgfTsKIAkJNTExQjI0
QUIxMzJFMDk3MjAwMDY1QTBDIC8qIFdlYkljb25EYXRhYmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTExQjI0QTkxMzJFMDk3MjAwMDY1QTBDIC8q
IFdlYkljb25EYXRhYmFzZS5oICovOyB9OwogCQk1MTFGOEE3QjEzOEI0NjA5MDBBOTVGNDQgLyog
V2ViUHJvY2Vzc1NoaW0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDUxMUY4QTc3MTM4QjQ2MDkwMEE5NUY0NCAvKiBXZWJQcm9jZXNzU2hpbS5oICovOyB9
OwotCQk1MTFGOEE3RjEzOEI0NkZFMDBBOTVGNDQgLyogU2VjSXRlbVNoaW1NZXRob2RzLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTFGOEE3RDEzOEI0
NkZFMDBBOTVGNDQgLyogU2VjSXRlbVNoaW1NZXRob2RzLmggKi87IH07Ci0JCTUxMUY4QTgwMTM4
QjQ2RkUwMEE5NUY0NCAvKiBTZWNJdGVtU2hpbU1ldGhvZHMubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTFGOEE3RTEzOEI0NkZFMDBBOTVGNDQgLyog
U2VjSXRlbVNoaW1NZXRob2RzLm1tICovOyB9OwogCQk1MTFGOEE4MTEzOEI0ODVEMDBBOTVGNDQg
LyogV2ViUHJvY2Vzc1NoaW0ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1MTFGOEE3ODEzOEI0NjA5MDBBOTVGNDQgLyogV2ViUHJvY2Vzc1NoaW0ubW0g
Ki87IH07CiAJCTUxMjE3NDYwMTY0QzIwRTMwMDM3QTVDMSAvKiBTaGFyZWFibGVSZXNvdXJjZS5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTIxNzQ1
RTE2NEMyMEUzMDAzN0E1QzEgLyogU2hhcmVhYmxlUmVzb3VyY2UuY3BwICovOyB9OwogCQk1MTIx
NzQ2MTE2NEMyMEUzMDAzN0E1QzEgLyogU2hhcmVhYmxlUmVzb3VyY2UuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMjE3NDVGMTY0QzIwRTMwMDM3QTVD
MSAvKiBTaGFyZWFibGVSZXNvdXJjZS5oICovOyB9OwpAQCAtMTY2MSw4ICsxNjU5LDYgQEAKIAkJ
NTExQjI0QTkxMzJFMDk3MjAwMDY1QTBDIC8qIFdlYkljb25EYXRhYmFzZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJJY29uRGF0YWJhc2UuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNTExRjhBNzcxMzhCNDYwOTAwQTk1RjQ0IC8qIFdlYlByb2Nlc3NTaGlt
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlByb2Nlc3NTaGltLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxMUY4QTc4MTM4QjQ2MDkwMEE5NUY0NCAvKiBX
ZWJQcm9jZXNzU2hpbS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9
IFdlYlByb2Nlc3NTaGltLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1MTFGOEE3
RDEzOEI0NkZFMDBBOTVGNDQgLyogU2VjSXRlbVNoaW1NZXRob2RzLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFNlY0l0ZW1TaGltTWV0aG9kcy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwotCQk1MTFGOEE3RTEzOEI0NkZFMDBBOTVGNDQgLyogU2VjSXRlbVNoaW1NZXRo
b2RzLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU2VjSXRlbVNo
aW1NZXRob2RzLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTIxNzQ1RTE2NEMy
MEUzMDAzN0E1QzEgLyogU2hhcmVhYmxlUmVzb3VyY2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gU2hhcmVhYmxlUmVzb3VyY2UuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk1MTIxNzQ1RjE2NEMyMEUzMDAzN0E1QzEgLyogU2hhcmVhYmxlUmVzb3Vy
Y2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2hhcmVhYmxlUmVzb3VyY2Uu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTEyMTc0NjIxNjRDMjEzNzAwMzdBNUMx
IC8qIFdlYlJlc291cmNlQnVmZmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFdlYlJlc291cmNlQnVmZmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTI2NzQsOCArMjY3MCw2IEBACiAJCTFBNkZBMDFDMTFFMTUyNjMwMERCMTM3MSAvKiBtYWMg
Ki8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAotCQkJCTUxMUY4QTdE
MTM4QjQ2RkUwMEE5NUY0NCAvKiBTZWNJdGVtU2hpbU1ldGhvZHMuaCAqLywKLQkJCQk1MTFGOEE3
RTEzOEI0NkZFMDBBOTVGNDQgLyogU2VjSXRlbVNoaW1NZXRob2RzLm1tICovLAogCQkJCUJDMzA2
NUMzMTI1OTJGODkwMEU3MTI3OCAvKiBXZWJQcm9jZXNzTWFjLm1tICovLAogCQkJCTFBNkZBMDFE
MTFFMTUyNjMwMERCMTM3MSAvKiBXZWJQcm9jZXNzTWFpbk1hYy5tbSAqLywKIAkJCQk1MTFGOEE3
NzEzOEI0NjA5MDBBOTVGNDQgLyogV2ViUHJvY2Vzc1NoaW0uaCAqLywKQEAgLTQ3MDUsNyArNDY5
OSw2IEBACiAJCQkJMUFBQjRBOEQxMjk2RjBBMjAwMjM5NTJGIC8qIFNhbmRib3hFeHRlbnNpb24u
aCBpbiBIZWFkZXJzICovLAogCQkJCTUxRDEzMDU0MTM4MkVBQzAwMDM1MUVERCAvKiBTZWNJdGVt
UmVxdWVzdERhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxRDEzMDU2MTM4MkVBQzAwMDM1MUVE
RCAvKiBTZWNJdGVtUmVzcG9uc2VEYXRhLmggaW4gSGVhZGVycyAqLywKLQkJCQk1MTFGOEE3RjEz
OEI0NkZFMDBBOTVGNDQgLyogU2VjSXRlbVNoaW1NZXRob2RzLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkzMzE1Mjk3NjEzMEQwQ0IyMDBFRDI0ODMgLyogU2VjdXJpdHlPcmlnaW5EYXRhLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk1MThEMkNDQjEyRDUxREZCMDAzQkI5M0IgLyogU2Vzc2lvblN0YXRlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkxQTY0MjBFNTEyRENFMkZGMDBDQUFFMkMgLyogU2hhcmVhYmxl
Qml0bWFwLmggaW4gSGVhZGVycyAqLywKQEAgLTU2ODQsNyArNTY3Nyw2IEBACiAJCQkJMUFBQjRB
QUExMjk2RjE1NDAwMjM5NTJGIC8qIFNhbmRib3hFeHRlbnNpb25NYWMubW0gaW4gU291cmNlcyAq
LywKIAkJCQk1MUQxMzA1MzEzODJFQUMwMDAzNTFFREQgLyogU2VjSXRlbVJlcXVlc3REYXRhLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTUxRDEzMDU1MTM4MkVBQzAwMDM1MUVERCAvKiBTZWNJdGVt
UmVzcG9uc2VEYXRhLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTUxMUY4QTgwMTM4QjQ2RkUwMEE5
NUY0NCAvKiBTZWNJdGVtU2hpbU1ldGhvZHMubW0gaW4gU291cmNlcyAqLywKIAkJCQkzMzE1Mjk3
NTEzMEQwQ0IyMDBFRDI0ODMgLyogU2VjdXJpdHlPcmlnaW5EYXRhLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTUxOEQyQ0NBMTJENTFERkIwMDNCQjkzQiAvKiBTZXNzaW9uU3RhdGUuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJMUE2NDIwRTQxMkRDRTJGRjAwQ0FBRTJDIC8qIFNoYXJlYWJsZUJpdG1h
cC5jcHAgaW4gU291cmNlcyAqLywKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvbWFj
L1NlY0l0ZW1TaGltTWV0aG9kcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvbWFjL1NlY0l0ZW1TaGltTWV0aG9kcy5oCShyZXZpc2lvbiAxMzkwMDMpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL21hYy9TZWNJdGVtU2hpbU1ldGhvZHMuaAkod29ya2luZyBj
b3B5KQpAQCAtMSwzOCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwot
ICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0g
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBTZWNJdGVtU2hpbU1l
dGhvZHNfaAotI2RlZmluZSBTZWNJdGVtU2hpbU1ldGhvZHNfaAotCi1uYW1lc3BhY2UgV2ViS2l0
IHsKLQotdm9pZCBpbml0aWFsaXplU2VjSXRlbVNoaW0oKTsKLQotY2xhc3MgU2VjSXRlbVJlc3Bv
bnNlRGF0YTsKLXZvaWQgZGlkUmVjZWl2ZVNlY0l0ZW1SZXNwb25zZSh1aW50NjRfdCByZXF1ZXN0
SUQsIGNvbnN0IFNlY0l0ZW1SZXNwb25zZURhdGEmKTsKLQotfQotCi0jZW5kaWYgLy8gU2VjSXRl
bVNoaW1NZXRob2RzX2gKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvbWFjL1NlY0l0
ZW1TaGltTWV0aG9kcy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L21hYy9TZWNJdGVtU2hpbU1ldGhvZHMubW0JKHJldmlzaW9uIDEzOTAwOSkKKysrIFNvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvbWFjL1NlY0l0ZW1TaGltTWV0aG9kcy5tbQkod29ya2luZyBjb3B5
KQpAQCAtMSwxMTggKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAq
IGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbXBvcnQgImNvbmZpZy5oIgotI2lt
cG9ydCAiU2VjSXRlbVNoaW1NZXRob2RzLmgiCi0KLSNpbXBvcnQgIkJsb2NraW5nUmVzcG9uc2VN
YXAuaCIKLSNpbXBvcnQgIlNlY0l0ZW1SZXF1ZXN0RGF0YS5oIgotI2ltcG9ydCAiU2VjSXRlbVJl
c3BvbnNlRGF0YS5oIgotI2ltcG9ydCAiV2ViUHJvY2Vzcy5oIgotI2ltcG9ydCAiU2VjSXRlbVNo
aW1Qcm94eU1lc3NhZ2VzLmgiCi0jaW1wb3J0ICJXZWJQcm9jZXNzU2hpbS5oIgotI2ltcG9ydCA8
U2VjdXJpdHkvU2VjSXRlbS5oPgotI2ltcG9ydCA8ZGxmY24uaD4KLQotbmFtZXNwYWNlIFdlYktp
dCB7Ci0KLXN0YXRpYyBCbG9ja2luZ1Jlc3BvbnNlTWFwPFNlY0l0ZW1SZXNwb25zZURhdGE+JiBy
ZXNwb25zZU1hcCgpCi17Ci0gICAgQXRvbWljYWxseUluaXRpYWxpemVkU3RhdGljKEJsb2NraW5n
UmVzcG9uc2VNYXA8U2VjSXRlbVJlc3BvbnNlRGF0YT4mLCByZXNwb25zZU1hcCA9ICpuZXcgQmxv
Y2tpbmdSZXNwb25zZU1hcDxTZWNJdGVtUmVzcG9uc2VEYXRhPik7Ci0gICAgcmV0dXJuIHJlc3Bv
bnNlTWFwOwotfQotCi1zdGF0aWMgdWludDY0X3QgZ2VuZXJhdGVTZWNJdGVtUmVxdWVzdElEKCkK
LXsKLSAgICBzdGF0aWMgaW50NjRfdCB1bmlxdWVTZWNJdGVtUmVxdWVzdElEOwotICAgIHJldHVy
biBhdG9taWNJbmNyZW1lbnQoJnVuaXF1ZVNlY0l0ZW1SZXF1ZXN0SUQpOwotfQotCi12b2lkIGRp
ZFJlY2VpdmVTZWNJdGVtUmVzcG9uc2UodWludDY0X3QgcmVxdWVzdElELCBjb25zdCBTZWNJdGVt
UmVzcG9uc2VEYXRhJiByZXNwb25zZSkKLXsKLSAgICByZXNwb25zZU1hcCgpLmRpZFJlY2VpdmVS
ZXNwb25zZShyZXF1ZXN0SUQsIGFkb3B0UHRyKG5ldyBTZWNJdGVtUmVzcG9uc2VEYXRhKHJlc3Bv
bnNlKSkpOwotfQotCi1zdGF0aWMgUGFzc093blB0cjxTZWNJdGVtUmVzcG9uc2VEYXRhPiBzZW5k
U2VxSXRlbVJlcXVlc3QoU2VjSXRlbVJlcXVlc3REYXRhOjpUeXBlIHJlcXVlc3RUeXBlLCBDRkRp
Y3Rpb25hcnlSZWYgcXVlcnksIENGRGljdGlvbmFyeVJlZiBhdHRyaWJ1dGVzVG9NYXRjaCA9IDAp
Ci17Ci0gICAgdWludDY0X3QgcmVxdWVzdElEID0gZ2VuZXJhdGVTZWNJdGVtUmVxdWVzdElEKCk7
Ci0gICAgaWYgKCFXZWJQcm9jZXNzOjpzaGFyZWQoKS5jb25uZWN0aW9uKCktPnNlbmQoTWVzc2Fn
ZXM6OlNlY0l0ZW1TaGltUHJveHk6OlNlY0l0ZW1SZXF1ZXN0KHJlcXVlc3RJRCwgU2VjSXRlbVJl
cXVlc3REYXRhKHJlcXVlc3RUeXBlLCBxdWVyeSwgYXR0cmlidXRlc1RvTWF0Y2gpKSwgMCkpCi0g
ICAgICAgIHJldHVybiBudWxscHRyOwotCi0gICAgcmV0dXJuIHJlc3BvbnNlTWFwKCkud2FpdEZv
clJlc3BvbnNlKHJlcXVlc3RJRCk7Ci19Ci0KLXN0YXRpYyBPU1N0YXR1cyB3ZWJTZWNJdGVtQ29w
eU1hdGNoaW5nKENGRGljdGlvbmFyeVJlZiBxdWVyeSwgQ0ZUeXBlUmVmKiByZXN1bHQpCi17Ci0g
ICAgT3duUHRyPFNlY0l0ZW1SZXNwb25zZURhdGE+IHJlc3BvbnNlID0gc2VuZFNlcUl0ZW1SZXF1
ZXN0KFNlY0l0ZW1SZXF1ZXN0RGF0YTo6Q29weU1hdGNoaW5nLCBxdWVyeSk7Ci0gICAgaWYgKCFy
ZXNwb25zZSkKLSAgICAgICAgcmV0dXJuIGVyclNlY0ludGVyYWN0aW9uTm90QWxsb3dlZDsKLQot
ICAgICpyZXN1bHQgPSByZXNwb25zZS0+cmVzdWx0T2JqZWN0KCkubGVha1JlZigpOwotICAgIHJl
dHVybiByZXNwb25zZS0+cmVzdWx0Q29kZSgpOwotfQotCi1zdGF0aWMgT1NTdGF0dXMgd2ViU2Vj
SXRlbUFkZChDRkRpY3Rpb25hcnlSZWYgcXVlcnksIENGVHlwZVJlZiogcmVzdWx0KQotewotICAg
IE93blB0cjxTZWNJdGVtUmVzcG9uc2VEYXRhPiByZXNwb25zZSA9IHNlbmRTZXFJdGVtUmVxdWVz
dChTZWNJdGVtUmVxdWVzdERhdGE6OkFkZCwgcXVlcnkpOwotICAgIGlmICghcmVzcG9uc2UpCi0g
ICAgICAgIHJldHVybiBlcnJTZWNJbnRlcmFjdGlvbk5vdEFsbG93ZWQ7Ci0KLSAgICBpZiAocmVz
dWx0KQotICAgICAgICAqcmVzdWx0ID0gcmVzcG9uc2UtPnJlc3VsdE9iamVjdCgpLmxlYWtSZWYo
KTsKLSAgICByZXR1cm4gcmVzcG9uc2UtPnJlc3VsdENvZGUoKTsKLX0KLQotc3RhdGljIE9TU3Rh
dHVzIHdlYlNlY0l0ZW1VcGRhdGUoQ0ZEaWN0aW9uYXJ5UmVmIHF1ZXJ5LCBDRkRpY3Rpb25hcnlS
ZWYgYXR0cmlidXRlc1RvVXBkYXRlKQotewotICAgIE93blB0cjxTZWNJdGVtUmVzcG9uc2VEYXRh
PiByZXNwb25zZSA9IHNlbmRTZXFJdGVtUmVxdWVzdChTZWNJdGVtUmVxdWVzdERhdGE6OlVwZGF0
ZSwgcXVlcnksIGF0dHJpYnV0ZXNUb1VwZGF0ZSk7Ci0gICAgaWYgKCFyZXNwb25zZSkKLSAgICAg
ICAgcmV0dXJuIGVyclNlY0ludGVyYWN0aW9uTm90QWxsb3dlZDsKLSAgICAKLSAgICByZXR1cm4g
cmVzcG9uc2UtPnJlc3VsdENvZGUoKTsKLX0KLQotc3RhdGljIE9TU3RhdHVzIHdlYlNlY0l0ZW1E
ZWxldGUoQ0ZEaWN0aW9uYXJ5UmVmIHF1ZXJ5KQotewotICAgIE93blB0cjxTZWNJdGVtUmVzcG9u
c2VEYXRhPiByZXNwb25zZSA9IHNlbmRTZXFJdGVtUmVxdWVzdChTZWNJdGVtUmVxdWVzdERhdGE6
OkRlbGV0ZSwgcXVlcnkpOwotICAgIGlmICghcmVzcG9uc2UpCi0gICAgICAgIHJldHVybiBlcnJT
ZWNJbnRlcmFjdGlvbk5vdEFsbG93ZWQ7Ci0gICAgCi0gICAgcmV0dXJuIHJlc3BvbnNlLT5yZXN1
bHRDb2RlKCk7Ci19Ci0KLXZvaWQgaW5pdGlhbGl6ZVNlY0l0ZW1TaGltKCkKLXsKLSAgICBjb25z
dCBXZWJQcm9jZXNzU2VjSXRlbVNoaW1DYWxsYmFja3MgY2FsbGJhY2tzID0gewotICAgICAgICB3
ZWJTZWNJdGVtQ29weU1hdGNoaW5nLAotICAgICAgICB3ZWJTZWNJdGVtQWRkLAotICAgICAgICB3
ZWJTZWNJdGVtVXBkYXRlLAotICAgICAgICB3ZWJTZWNJdGVtRGVsZXRlCi0gICAgfTsKLSAgICAK
LSAgICBXZWJQcm9jZXNzU2VjSXRlbVNoaW1Jbml0aWFsaXplRnVuYyBmdW5jID0gcmVpbnRlcnBy
ZXRfY2FzdDxXZWJQcm9jZXNzU2VjSXRlbVNoaW1Jbml0aWFsaXplRnVuYz4oZGxzeW0oUlRMRF9E
RUZBVUxULCAiV2ViS2l0V2ViUHJvY2Vzc1NlY0l0ZW1TaGltSW5pdGlhbGl6ZSIpKTsKLSAgICBm
dW5jKGNhbGxiYWNrcyk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdAo=
</data>
<flag name="review"
          id="199291"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>