<?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>152460</bug_id>
          
          <creation_ts>2015-12-19 04:08:27 -0800</creation_ts>
          <short_desc>[WK2][EFL] Use WebsiteDataStore instead of WebDatabaseManager which has been deleted in r194295</short_desc>
          <delta_ts>2015-12-20 18:55:01 -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>WebKit EFL</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>
          
          <blocked>152318</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Joonghun Park">jh718.park</reporter>
          <assigned_to name="Joonghun Park">jh718.park</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>ossy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1150525</commentid>
    <comment_count>0</comment_count>
    <who name="Joonghun Park">jh718.park</who>
    <bug_when>2015-12-19 04:08:27 -0800</bug_when>
    <thetext>Use WebsiteDataStore to support EFL WebDatabase API and to fix build break.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1150526</commentid>
    <comment_count>1</comment_count>
      <attachid>267685</attachid>
    <who name="Joonghun Park">jh718.park</who>
    <bug_when>2015-12-19 04:12:09 -0800</bug_when>
    <thetext>Created attachment 267685
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1150531</commentid>
    <comment_count>2</comment_count>
      <attachid>267685</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-12-19 06:52:33 -0800</bug_when>
    <thetext>Comment on attachment 267685
Patch

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

&gt; Source/WebKit2/ChangeLog:3
&gt; +        [WK2][EFL] Fix Build break since r194295

I think this bug title is too meaningless. This patch implements new feature for EFL port. Please re-write bug title with more proper one.

&gt; Source/WebKit2/UIProcess/API/efl/APIWebsiteDataStoreEfl.cpp:2
&gt; + * Copyright (C) 2011 Samsung Electronics

2011 ?

&gt; Source/WebKit2/UIProcess/API/efl/APIWebsiteDataStoreEfl.cpp:77
&gt; +    return String::fromUTF8(g_get_user_cache_dir()) + directoryName;

If possible, I want to avoid to use glib functions though we have used it to support some features.

&gt; Source/WebKit2/UIProcess/API/efl/APIWebsiteDataStoreEfl.cpp:82
&gt; +    return String::fromUTF8(g_get_user_data_dir()) + directoryName;

ditto.

&gt; Source/WebKit2/UIProcess/API/efl/ewk_database_manager_private.h:40
&gt; +    explicit EwkDatabaseManager();

No need to keep *explicit*.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1150676</commentid>
    <comment_count>3</comment_count>
      <attachid>267729</attachid>
    <who name="Joonghun Park">jh718.park</who>
    <bug_when>2015-12-20 17:53:32 -0800</bug_when>
    <thetext>Created attachment 267729
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1150677</commentid>
    <comment_count>4</comment_count>
    <who name="Joonghun Park">jh718.park</who>
    <bug_when>2015-12-20 17:55:21 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Comment on attachment 267685 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=267685&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/ChangeLog:3
&gt; &gt; +        [WK2][EFL] Fix Build break since r194295
&gt; 
&gt; I think this bug title is too meaningless. This patch implements new feature
&gt; for EFL port. Please re-write bug title with more proper one.
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/efl/APIWebsiteDataStoreEfl.cpp:2
&gt; &gt; + * Copyright (C) 2011 Samsung Electronics
&gt; 
&gt; 2011 ?
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/efl/APIWebsiteDataStoreEfl.cpp:77
&gt; &gt; +    return String::fromUTF8(g_get_user_cache_dir()) + directoryName;
&gt; 
&gt; If possible, I want to avoid to use glib functions though we have used it to
&gt; support some features.
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/efl/APIWebsiteDataStoreEfl.cpp:82
&gt; &gt; +    return String::fromUTF8(g_get_user_data_dir()) + directoryName;
&gt; 
&gt; ditto.
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/efl/ewk_database_manager_private.h:40
&gt; &gt; +    explicit EwkDatabaseManager();
&gt; 
&gt; No need to keep *explicit*.

Gyuyoung, I handled all the comments you left in previous patch.
Please take a look this again</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1150680</commentid>
    <comment_count>5</comment_count>
      <attachid>267729</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-12-20 18:54:57 -0800</bug_when>
    <thetext>Comment on attachment 267729
Patch

Clearing flags on attachment: 267729

Committed r194325: &lt;http://trac.webkit.org/changeset/194325&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1150681</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-12-20 18:55:01 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>267685</attachid>
            <date>2015-12-19 04:12:09 -0800</date>
            <delta_ts>2015-12-20 17:53:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-152460-20151219211130.patch</filename>
            <type>text/plain</type>
            <size>14392</size>
            <attacher name="Joonghun Park">jh718.park</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk0MzEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNTExZDgyZDYzMzRjNTRl
NzdiODk5ODIyNTU0MDg3ODQwMTEyOGRhZS4uM2Q1YjNiNzlkZGNkOWM5ZGQ4Yzc4Zjc3Y2M2MmI1
YjU4ZTYzY2MwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDE1LTEyLTE5ICBKb29u
Z2h1biBQYXJrICA8amg3MTgucGFya0BzYW1zdW5nLmNvbT4KKworICAgICAgICBbV0syXVtFRkxd
IEZpeCBCdWlsZCBicmVhayBzaW5jZSByMTk0Mjk1CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTI0NjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgV2Vic2l0ZURhdGFTdG9yZSB0byBzdXBwb3J0IEVG
TCBXZWJEYXRhYmFzZSBBUEkgYW5kIHRvIGZpeCBidWlsZCBicmVhay4KKworICAgICAgICAqIFBs
YXRmb3JtRWZsLmNtYWtlOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZURhdGFT
dG9yZS5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvQVBJV2Vic2l0ZURhdGFTdG9y
ZUVmbC5jcHA6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJV2Vi
c2l0ZURhdGFTdG9yZS5jcHAuCisgICAgICAgIChBUEk6OldlYnNpdGVEYXRhU3RvcmU6OmRlZmF1
bHRBcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5KToKKyAgICAgICAgKEFQSTo6V2Vic2l0ZURhdGFT
dG9yZTo6ZGVmYXVsdE5ldHdvcmtDYWNoZURpcmVjdG9yeSk6CisgICAgICAgIChBUEk6OldlYnNp
dGVEYXRhU3RvcmU6OmRlZmF1bHRJbmRleGVkREJEYXRhYmFzZURpcmVjdG9yeSk6CisgICAgICAg
IChBUEk6OldlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRMb2NhbFN0b3JhZ2VEaXJlY3RvcnkpOgor
ICAgICAgICAoQVBJOjpXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0TWVkaWFLZXlzU3RvcmFnZURp
cmVjdG9yeSk6CisgICAgICAgIChBUEk6OldlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRXZWJTUUxE
YXRhYmFzZURpcmVjdG9yeSk6CisgICAgICAgIChBUEk6OldlYnNpdGVEYXRhU3RvcmU6OmNhY2hl
RGlyZWN0b3J5RmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKToKKyAgICAgICAgKEFQSTo6V2Vic2l0
ZURhdGFTdG9yZTo6d2Vic2l0ZURhdGFEaXJlY3RvcnlGaWxlU3lzdGVtUmVwcmVzZW50YXRpb24p
OgorICAgICAgICAoQVBJOjpXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0RGF0YVN0b3JlQ29uZmln
dXJhdGlvbik6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHQuY3BwOgor
ICAgICAgICAoRXdrQ29udGV4dDo6RXdrQ29udGV4dCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9lZmwvZXdrX2RhdGFiYXNlX21hbmFnZXIuY3BwOgorICAgICAgICAoRXdrRGF0YWJhc2VNYW5h
Z2VyOjpFd2tEYXRhYmFzZU1hbmFnZXIpOgorICAgICAgICAoRXdrRGF0YWJhc2VNYW5hZ2VyOjpn
ZXREYXRhYmFzZU9yaWdpbnMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19kYXRh
YmFzZV9tYW5hZ2VyX3ByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL1dlYlByb2Nl
c3NQb29sRWZsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OmxlZ2FjeVBs
YXRmb3JtRGVmYXVsdEFwcGxpY2F0aW9uQ2FjaGVEaXJlY3RvcnkpOgorICAgICAgICAoV2ViS2l0
OjpXZWJQcm9jZXNzUG9vbDo6bGVnYWN5UGxhdGZvcm1EZWZhdWx0V2ViU1FMRGF0YWJhc2VEaXJl
Y3RvcnkpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6bGVnYWN5UGxhdGZvcm1E
ZWZhdWx0SW5kZXhlZERCRGF0YWJhc2VEaXJlY3RvcnkpOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
cm9jZXNzUG9vbDo6bGVnYWN5UGxhdGZvcm1EZWZhdWx0TG9jYWxTdG9yYWdlRGlyZWN0b3J5KToK
KyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVmYXVsdE1l
ZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9v
bDo6bGVnYWN5UGxhdGZvcm1EZWZhdWx0TmV0d29ya0NhY2hlRGlyZWN0b3J5KToKKwogMjAxNS0x
Mi0xOCAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGlnYWxpYS5jb20+CiAKICAgICAg
ICAgQXZvaWQgdHJpZ2dlcmluZyBjbGFuZydzIC1XdW5kZWZpbmVkLWJvb2wtY29udmVyc2lvbgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UgYi9Tb3VyY2UvV2Vi
S2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQppbmRleCBjZThkYWUwNTI4MTVkYWY1YTFhODg5YmU2OGZl
OTQ3ODFjNjcyNDEzLi5kMzA1YjJkOWU4ODNkM2M4YzgxMjg3ZTY0ZTVhMjFlMGUwNjc3NTE2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQpAQCAtODMsNiArODMsNyBAQCBsaXN0KEFQUEVORCBX
ZWJLaXQyX1NPVVJDRVMKIAogICAgIFVJUHJvY2Vzcy9BUEkvY3BwL2VmbC9XS0VpbmFTaGFyZWRT
dHJpbmcuY3BwCiAKKyAgICBVSVByb2Nlc3MvQVBJL2VmbC9BUElXZWJzaXRlRGF0YVN0b3JlRWZs
LmNwcAogICAgIFVJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwCiAgICAgVUlQcm9jZXNzL0FQ
SS9lZmwvR2VzdHVyZVJlY29nbml6ZXIuY3BwCiAgICAgVUlQcm9jZXNzL0FQSS9lZmwvU25hcHNo
b3RJbWFnZUdMLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9B
UElXZWJzaXRlRGF0YVN0b3JlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJ
V2Vic2l0ZURhdGFTdG9yZS5jcHAKaW5kZXggYjRkNTJkZmI0MWM3MWFjNjVlMmNlM2ZmMjAyMTVj
ZDY2MmViZTJlNC4uYWYyOTE1Nzk2MjljMmQ1ZGQ1ZTdlYjljNDJlNjNiNWM2MzljOGU1MSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlRGF0YVN0b3Jl
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVEYXRhU3Rv
cmUuY3BwCkBAIC02Niw3ICs2Niw3IEBAIGJvb2wgV2Vic2l0ZURhdGFTdG9yZTo6aXNQZXJzaXN0
ZW50KCkKICAgICByZXR1cm4gbV93ZWJzaXRlRGF0YVN0b3JlLT5pc1BlcnNpc3RlbnQoKTsKIH0K
IAotI2lmICFQTEFURk9STShDT0NPQSkgJiYgIVBMQVRGT1JNKEdUSykKKyNpZiAhUExBVEZPUk0o
Q09DT0EpICYmICFQTEFURk9STShFRkwpICYmICFQTEFURk9STShHVEspCiBXZWJLaXQ6OldlYnNp
dGVEYXRhU3RvcmU6OkNvbmZpZ3VyYXRpb24gV2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVsdERhdGFT
dG9yZUNvbmZpZ3VyYXRpb24oKQogewogICAgIC8vIEZJWE1FOiBGaWxsIGV2ZXJ5dGhpbmcgaW4u
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9BUElXZWJzaXRl
RGF0YVN0b3JlRWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0FQSVdl
YnNpdGVEYXRhU3RvcmVFZmwuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI3NmU3NGQ0NTNkMzA0MjdmY2ZlNzgx
MmNlMjZiNjM5NDBkYjMwMzUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC9BUElXZWJzaXRlRGF0YVN0b3JlRWZsLmNwcApAQCAtMCwwICsxLDk5IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIFNhbXN1bmcgRWxlY3Ryb25pY3MKKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJBUElXZWJzaXRlRGF0YVN0b3JlLmgiCisK
KyNpbmNsdWRlIDxFZnJlZXQuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+
CisKK25hbWVzcGFjZSBBUEkgeworCitTdHJpbmcgV2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVsdEFw
cGxpY2F0aW9uQ2FjaGVEaXJlY3RvcnkoKQoreworICAgIHJldHVybiBTdHJpbmc6OmZyb21VVEY4
KGVmcmVldF9jYWNoZV9ob21lX2dldCgpKSArICIvV2ViS2l0RWZsL0FwcGxpY2F0aW9ucyI7Cit9
CisKK1N0cmluZyBXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0TmV0d29ya0NhY2hlRGlyZWN0b3J5
KCkKK3sKKyNpZiBFTkFCTEUoTkVUV09SS19DQUNIRSkKKyAgICBzdGF0aWMgY29uc3QgY2hhciBu
ZXR3b3JrQ2FjaGVTdWJkaXJlY3RvcnlbXSA9ICJXZWJLaXRDYWNoZSI7CisjZWxzZQorICAgIHN0
YXRpYyBjb25zdCBjaGFyIG5ldHdvcmtDYWNoZVN1YmRpcmVjdG9yeVtdID0gIndlYmtpdCI7Cisj
ZW5kaWYKKworICAgIFN0cmluZ0J1aWxkZXIgZGlza0NhY2hlRGlyZWN0b3J5OworICAgIGRpc2tD
YWNoZURpcmVjdG9yeS5hcHBlbmQoZWZyZWV0X2NhY2hlX2hvbWVfZ2V0KCkpOworICAgIGRpc2tD
YWNoZURpcmVjdG9yeS5hcHBlbmRMaXRlcmFsKCIvIik7CisgICAgZGlza0NhY2hlRGlyZWN0b3J5
LmFwcGVuZChuZXR3b3JrQ2FjaGVTdWJkaXJlY3RvcnkpOworCisgICAgcmV0dXJuIGRpc2tDYWNo
ZURpcmVjdG9yeS50b1N0cmluZygpOworfQorCitTdHJpbmcgV2Vic2l0ZURhdGFTdG9yZTo6ZGVm
YXVsdEluZGV4ZWREQkRhdGFiYXNlRGlyZWN0b3J5KCkKK3sKKyAgICByZXR1cm4gU3RyaW5nOjpm
cm9tVVRGOChlZnJlZXRfZGF0YV9ob21lX2dldCgpKSArICIvV2ViS2l0RWZsL0luZGV4ZWREQiI7
Cit9CisKK1N0cmluZyBXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0TG9jYWxTdG9yYWdlRGlyZWN0
b3J5KCkKK3sKKyAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChlZnJlZXRfZGF0YV9ob21lX2dl
dCgpKSArICIvV2ViS2l0RWZsL0xvY2FsU3RvcmFnZSI7Cit9CisKK1N0cmluZyBXZWJzaXRlRGF0
YVN0b3JlOjpkZWZhdWx0TWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSgpCit7CisgICAgcmV0dXJu
IFN0cmluZzo6ZnJvbVVURjgoZWZyZWV0X2RhdGFfaG9tZV9nZXQoKSkgKyAiL1dlYktpdEVmbC9N
ZWRpYUtleXMiOworfQorCitTdHJpbmcgV2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVsdFdlYlNRTERh
dGFiYXNlRGlyZWN0b3J5KCkKK3sKKyAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChlZnJlZXRf
ZGF0YV9ob21lX2dldCgpKSArICIvV2ViS2l0RWZsL0RhdGFiYXNlcyI7Cit9CisKK1N0cmluZyBX
ZWJzaXRlRGF0YVN0b3JlOjpjYWNoZURpcmVjdG9yeUZpbGVTeXN0ZW1SZXByZXNlbnRhdGlvbihj
b25zdCBTdHJpbmcmIGRpcmVjdG9yeU5hbWUpCit7CisgICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVU
RjgoZ19nZXRfdXNlcl9jYWNoZV9kaXIoKSkgKyBkaXJlY3RvcnlOYW1lOworfQorCitTdHJpbmcg
V2Vic2l0ZURhdGFTdG9yZTo6d2Vic2l0ZURhdGFEaXJlY3RvcnlGaWxlU3lzdGVtUmVwcmVzZW50
YXRpb24oY29uc3QgU3RyaW5nJiBkaXJlY3RvcnlOYW1lKQoreworICAgIHJldHVybiBTdHJpbmc6
OmZyb21VVEY4KGdfZ2V0X3VzZXJfZGF0YV9kaXIoKSkgKyBkaXJlY3RvcnlOYW1lOworfQorCitX
ZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmU6OkNvbmZpZ3VyYXRpb24gV2Vic2l0ZURhdGFTdG9yZTo6
ZGVmYXVsdERhdGFTdG9yZUNvbmZpZ3VyYXRpb24oKQoreworICAgIFdlYktpdDo6V2Vic2l0ZURh
dGFTdG9yZTo6Q29uZmlndXJhdGlvbiBjb25maWd1cmF0aW9uOworCisgICAgY29uZmlndXJhdGlv
bi5hcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5ID0gZGVmYXVsdEFwcGxpY2F0aW9uQ2FjaGVEaXJl
Y3RvcnkoKTsKKyAgICBjb25maWd1cmF0aW9uLm5ldHdvcmtDYWNoZURpcmVjdG9yeSA9IGRlZmF1
bHROZXR3b3JrQ2FjaGVEaXJlY3RvcnkoKTsKKworICAgIGNvbmZpZ3VyYXRpb24ud2ViU1FMRGF0
YWJhc2VEaXJlY3RvcnkgPSBkZWZhdWx0V2ViU1FMRGF0YWJhc2VEaXJlY3RvcnkoKTsKKyAgICBj
b25maWd1cmF0aW9uLmxvY2FsU3RvcmFnZURpcmVjdG9yeSA9IGRlZmF1bHRMb2NhbFN0b3JhZ2VE
aXJlY3RvcnkoKTsKKyAgICBjb25maWd1cmF0aW9uLm1lZGlhS2V5c1N0b3JhZ2VEaXJlY3Rvcnkg
PSBkZWZhdWx0TWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSgpOworCisgICAgcmV0dXJuIGNvbmZp
Z3VyYXRpb247Cit9CisKK30gLy8gbmFtZXNwYWNlIEFQSQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHQuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHQuY3BwCmluZGV4IGE1MzBlZjUzZjFkNjBkZmE4
Mjg1MzUzZjVmNjJkNmY0ZGYxYjUwZTUuLjYwMGM5MTI1NzQ2YjNmODc5YjUzMjRmOTExNTYwYTQ2
MDFkNjYwNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3
a19jb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tf
Y29udGV4dC5jcHAKQEAgLTY2LDcgKzY2LDcgQEAgc3RhdGljIGlubGluZSBDb250ZXh0TWFwJiBj
b250ZXh0TWFwKCkKIAogRXdrQ29udGV4dDo6RXdrQ29udGV4dChXS0NvbnRleHRSZWYgY29udGV4
dCwgY29uc3QgU3RyaW5nJiBleHRlbnNpb25zUGF0aCkKICAgICA6IG1fY29udGV4dChjb250ZXh0
KQotICAgICwgbV9kYXRhYmFzZU1hbmFnZXIoc3RkOjptYWtlX3VuaXF1ZTxFd2tEYXRhYmFzZU1h
bmFnZXI+KFdLQ29udGV4dEdldERhdGFiYXNlTWFuYWdlcihjb250ZXh0KSkpCisgICAgLCBtX2Rh
dGFiYXNlTWFuYWdlcihzdGQ6Om1ha2VfdW5pcXVlPEV3a0RhdGFiYXNlTWFuYWdlcj4oKSkKICAg
ICAsIG1fc3RvcmFnZU1hbmFnZXIoc3RkOjptYWtlX3VuaXF1ZTxFd2tTdG9yYWdlTWFuYWdlcj4o
V0tDb250ZXh0R2V0S2V5VmFsdWVTdG9yYWdlTWFuYWdlcihjb250ZXh0KSkpCiAjaWYgRU5BQkxF
KEJBVFRFUllfU1RBVFVTKQogICAgICwgbV9iYXR0ZXJ5UHJvdmlkZXIoQmF0dGVyeVByb3ZpZGVy
OjpjcmVhdGUoY29udGV4dCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC9ld2tfZGF0YWJhc2VfbWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2VmbC9ld2tfZGF0YWJhc2VfbWFuYWdlci5jcHAKaW5kZXggNGZkYmU2NWUyN2FhMTFm
MmYwMTQyMzI5ZjVlZTExY2EwZmYzMDY3ZC4uMDM3ZDFjMDAzYzExNmZmZTg1N2YzYTA4YzUzYmFi
ZjZhYTU5YTdlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
ZXdrX2RhdGFiYXNlX21hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZWZsL2V3a19kYXRhYmFzZV9tYW5hZ2VyLmNwcApAQCAtMjYsMjIgKzI2LDQxIEBACiAjaW5j
bHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiZXdrX2RhdGFiYXNlX21hbmFnZXIuaCIKIAorI2lu
Y2x1ZGUgIkFQSVdlYnNpdGVEYXRhU3RvcmUuaCIKKyNpbmNsdWRlICJHZW5lcmljQ2FsbGJhY2su
aCIKICNpbmNsdWRlICJXS0FQSUNhc3QuaCIKICNpbmNsdWRlICJXS0FycmF5LmgiCiAjaW5jbHVk
ZSAiZXdrX2RhdGFiYXNlX21hbmFnZXJfcHJpdmF0ZS5oIgogI2luY2x1ZGUgImV3a19zZWN1cml0
eV9vcmlnaW5fcHJpdmF0ZS5oIgorI2luY2x1ZGUgPFdlYkNvcmUvRGF0YWJhc2VUcmFja2VyLmg+
CisjaW5jbHVkZSA8V2ViQ29yZS9PcmlnaW5Mb2NrLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9TZWN1
cml0eU9yaWdpbi5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCi1Fd2tEYXRhYmFzZU1h
bmFnZXI6OkV3a0RhdGFiYXNlTWFuYWdlcihXS0RhdGFiYXNlTWFuYWdlclJlZiBkYXRhYmFzZU1h
bmFnZXIpCi0gICAgOiBtX2RhdGFiYXNlTWFuYWdlcihkYXRhYmFzZU1hbmFnZXIpCit0eXBlZGVm
IEdlbmVyaWNDYWxsYmFjazxBUEk6OkFycmF5Kj4gQXJyYXlDYWxsYmFjazsKKworRXdrRGF0YWJh
c2VNYW5hZ2VyOjpFd2tEYXRhYmFzZU1hbmFnZXIoKQogewotICAgIEFTU0VSVChkYXRhYmFzZU1h
bmFnZXIpOwogfQogCi12b2lkIEV3a0RhdGFiYXNlTWFuYWdlcjo6Z2V0RGF0YWJhc2VPcmlnaW5z
KFdLRGF0YWJhc2VNYW5hZ2VyR2V0RGF0YWJhc2VPcmlnaW5zRnVuY3Rpb24gY2FsbGJhY2ssIHZv
aWQqIGNvbnRleHQpIGNvbnN0Cit2b2lkIEV3a0RhdGFiYXNlTWFuYWdlcjo6Z2V0RGF0YWJhc2VP
cmlnaW5zKEV3a19EYXRhYmFzZV9NYW5hZ2VyX0dldF9EYXRhYmFzZV9PcmlnaW5zX0Z1bmN0aW9u
IGNhbGxiYWNrLCB2b2lkKiBjb250ZXh0KSBjb25zdAogewotICAgIFdLRGF0YWJhc2VNYW5hZ2Vy
R2V0RGF0YWJhc2VPcmlnaW5zKG1fZGF0YWJhc2VNYW5hZ2VyLmdldCgpLCBjb250ZXh0LCBjYWxs
YmFjayk7CisgICAgaWYgKCFjYWxsYmFjaykKKyAgICAgICAgcmV0dXJuOworCisgICAgUmVmUHRy
PEFycmF5Q2FsbGJhY2s+IGFycmF5Q2FsbGJhY2sgPSBBcnJheUNhbGxiYWNrOjpjcmVhdGUodG9H
ZW5lcmljQ2FsbGJhY2tGdW5jdGlvbihjb250ZXh0LCBjYWxsYmFjaykpOworCisgICAgVmVjdG9y
PFJlZlB0cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4+IG9yaWdpbnM7CisgICAgVmVjdG9yPFJl
ZlB0cjxBUEk6Ok9iamVjdD4+IHNlY3VyaXR5T3JpZ2luczsKKworICAgIFdlYkNvcmU6OkRhdGFi
YXNlVHJhY2tlcjo6dHJhY2tlcldpdGhEYXRhYmFzZVBhdGgoQVBJOjpXZWJzaXRlRGF0YVN0b3Jl
OjpkZWZhdWx0V2ViU1FMRGF0YWJhc2VEaXJlY3RvcnkoKSktPm9yaWdpbnMob3JpZ2lucyk7Cisg
ICAgc2VjdXJpdHlPcmlnaW5zLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkob3JpZ2lucy5zaXplKCkp
OworCisgICAgZm9yIChjb25zdCBhdXRvJiBvcmlnaW5JZGVudGlmaWVyIDogb3JpZ2lucykKKyAg
ICAgICAgc2VjdXJpdHlPcmlnaW5zLnVuY2hlY2tlZEFwcGVuZChBUEk6OlNlY3VyaXR5T3JpZ2lu
OjpjcmVhdGUoKm9yaWdpbklkZW50aWZpZXIpKTsKKworICAgIGFycmF5Q2FsbGJhY2stPnBlcmZv
cm1DYWxsYmFja1dpdGhSZXR1cm5WYWx1ZShBUEk6OkFycmF5OjpjcmVhdGUoV1RGOjptb3ZlKHNl
Y3VyaXR5T3JpZ2lucykpLnB0cigpKTsKIH0KIAogRWluYV9MaXN0KiBFd2tEYXRhYmFzZU1hbmFn
ZXI6OmNyZWF0ZU9yaWdpbkxpc3QoV0tBcnJheVJlZiBvcmlnaW5zKSBjb25zdApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2RhdGFiYXNlX21hbmFnZXJf
cHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2RhdGFiYXNl
X21hbmFnZXJfcHJpdmF0ZS5oCmluZGV4IDBlZTFmMDgyNWQ5N2IyNmI2YmM5ZGQxMGZiNjNhMTgw
ZjkxZGJmOGYuLjBjOTQ5ZDRhNmJmMGJlYjQ4ZjM2ZjRjZjJiM2ZjNjhjMDU4ZTJhZDYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19kYXRhYmFzZV9tYW5h
Z2VyX3ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tf
ZGF0YWJhc2VfbWFuYWdlcl9wcml2YXRlLmgKQEAgLTI2LDIyICsyNiwyMyBAQAogI2lmbmRlZiBl
d2tfZGF0YWJhc2VfbWFuYWdlcl9wcml2YXRlX2gKICNkZWZpbmUgZXdrX2RhdGFiYXNlX21hbmFn
ZXJfcHJpdmF0ZV9oCiAKLSNpbmNsdWRlICJXS0RhdGFiYXNlTWFuYWdlci5oIgogI2luY2x1ZGUg
IldLUmV0YWluUHRyLmgiCisjaW5jbHVkZSAiV2Vic2l0ZURhdGFTdG9yZS5oIgogI2luY2x1ZGUg
ImV3a19zZWN1cml0eV9vcmlnaW5fcHJpdmF0ZS5oIgogI2luY2x1ZGUgPFdlYktpdC9XS0Jhc2Uu
aD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAordHlwZWRlZiB2b2lkICgqRXdrX0RhdGFi
YXNlX01hbmFnZXJfR2V0X0RhdGFiYXNlX09yaWdpbnNfRnVuY3Rpb24pKFdLQXJyYXlSZWYsIFdL
RXJyb3JSZWYsIHZvaWQqKTsKKwogY2xhc3MgRXdrRGF0YWJhc2VNYW5hZ2VyIHsKIHB1YmxpYzoK
LSAgICBleHBsaWNpdCBFd2tEYXRhYmFzZU1hbmFnZXIoV0tEYXRhYmFzZU1hbmFnZXJSZWYpOwor
ICAgIGV4cGxpY2l0IEV3a0RhdGFiYXNlTWFuYWdlcigpOwogCiAgICAgRWluYV9MaXN0KiBjcmVh
dGVPcmlnaW5MaXN0KFdLQXJyYXlSZWYgd2tMaXN0KSBjb25zdDsKLSAgICB2b2lkIGdldERhdGFi
YXNlT3JpZ2lucyhXS0RhdGFiYXNlTWFuYWdlckdldERhdGFiYXNlT3JpZ2luc0Z1bmN0aW9uIGNh
bGxiYWNrLCB2b2lkKiBjb250ZXh0KSBjb25zdDsKKyAgICB2b2lkIGdldERhdGFiYXNlT3JpZ2lu
cyhFd2tfRGF0YWJhc2VfTWFuYWdlcl9HZXRfRGF0YWJhc2VfT3JpZ2luc19GdW5jdGlvbiBjYWxs
YmFjaywgdm9pZCogY29udGV4dCkgY29uc3Q7CiAKIHByaXZhdGU6Ci0gICAgV0tSZXRhaW5QdHI8
V0tEYXRhYmFzZU1hbmFnZXJSZWY+IG1fZGF0YWJhc2VNYW5hZ2VyOwogICAgIG11dGFibGUgSGFz
aE1hcDxXS1NlY3VyaXR5T3JpZ2luUmVmLCBSZWZQdHI8RXdrU2VjdXJpdHlPcmlnaW4+ID4gbV93
cmFwcGVyQ2FjaGU7CiB9OwogI2VuZGlmIC8vIGV3a19kYXRhYmFzZV9tYW5hZ2VyX3ByaXZhdGVf
aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJQcm9jZXNzUG9v
bEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlByb2Nlc3NQb29sRWZs
LmNwcAppbmRleCA1YzU2MGZiZGU1YTE2OGUxZjFmODQ4Mzg4ZWZlYTIxNDBhODdmOTkxLi42Nzc5
MWU2YTBhYTBjOTYyNDhhMDNlZjJhOWVlZWZiODY3NzZkZTYyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlByb2Nlc3NQb29sRWZsLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlByb2Nlc3NQb29sRWZsLmNwcApAQCAtODQsNyArODQs
NyBAQCBzdGF0aWMgdm9pZCBpbml0aWFsaXplSW5zcGVjdG9yU2VydmVyKCkKIAogU3RyaW5nIFdl
YlByb2Nlc3NQb29sOjpsZWdhY3lQbGF0Zm9ybURlZmF1bHRBcHBsaWNhdGlvbkNhY2hlRGlyZWN0
b3J5KCkKIHsKLSAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChlZnJlZXRfY2FjaGVfaG9tZV9n
ZXQoKSkgKyAiL1dlYktpdEVmbC9BcHBsaWNhdGlvbnMiOworICAgIHJldHVybiBBUEk6OldlYnNp
dGVEYXRhU3RvcmU6OmRlZmF1bHRBcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5KCk7CiB9CiAKIHZv
aWQgV2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MoV2ViUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykKQEAgLTk5LDEyICs5OSwxMiBAQCB2b2lk
IFdlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybUludmFsaWRhdGVDb250ZXh0KCkKIAogU3RyaW5nIFdl
YlByb2Nlc3NQb29sOjpsZWdhY3lQbGF0Zm9ybURlZmF1bHRXZWJTUUxEYXRhYmFzZURpcmVjdG9y
eSgpCiB7Ci0gICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoZWZyZWV0X2RhdGFfaG9tZV9nZXQo
KSkgKyAiL1dlYktpdEVmbC9EYXRhYmFzZXMiOworICAgIHJldHVybiBBUEk6OldlYnNpdGVEYXRh
U3RvcmU6OmRlZmF1bHRXZWJTUUxEYXRhYmFzZURpcmVjdG9yeSgpOwogfQogCiBTdHJpbmcgV2Vi
UHJvY2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVmYXVsdEluZGV4ZWREQkRhdGFiYXNlRGlyZWN0
b3J5KCkKIHsKLSAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChlZnJlZXRfZGF0YV9ob21lX2dl
dCgpKSArICIvV2ViS2l0RWZsL0luZGV4ZWREQiI7CisgICAgcmV0dXJuIEFQSTo6V2Vic2l0ZURh
dGFTdG9yZTo6ZGVmYXVsdEluZGV4ZWREQkRhdGFiYXNlRGlyZWN0b3J5KCk7CiB9CiAKIFN0cmlu
ZyBXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1EZWZhdWx0SWNvbkRhdGFiYXNlUGF0aCgpIGNvbnN0
CkBAIC0xMTQsMjggKzExNCwxNyBAQCBTdHJpbmcgV2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtRGVm
YXVsdEljb25EYXRhYmFzZVBhdGgoKSBjb25zdAogCiBTdHJpbmcgV2ViUHJvY2Vzc1Bvb2w6Omxl
Z2FjeVBsYXRmb3JtRGVmYXVsdExvY2FsU3RvcmFnZURpcmVjdG9yeSgpCiB7Ci0gICAgcmV0dXJu
IFN0cmluZzo6ZnJvbVVURjgoZWZyZWV0X2RhdGFfaG9tZV9nZXQoKSkgKyAiL1dlYktpdEVmbC9M
b2NhbFN0b3JhZ2UiOworICAgIHJldHVybiBBUEk6OldlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRM
b2NhbFN0b3JhZ2VEaXJlY3RvcnkoKTsKIH0KIAogU3RyaW5nIFdlYlByb2Nlc3NQb29sOjpsZWdh
Y3lQbGF0Zm9ybURlZmF1bHRNZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5KCkKIHsKLSAgICByZXR1
cm4gU3RyaW5nOjpmcm9tVVRGOChlZnJlZXRfZGF0YV9ob21lX2dldCgpKSArICIvV2ViS2l0RWZs
L01lZGlhS2V5cyI7CisgICAgcmV0dXJuIEFQSTo6V2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVsdE1l
ZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkoKTsKIH0KIAogU3RyaW5nIFdlYlByb2Nlc3NQb29sOjps
ZWdhY3lQbGF0Zm9ybURlZmF1bHROZXR3b3JrQ2FjaGVEaXJlY3RvcnkoKQogewotI2lmIEVOQUJM
RShORVRXT1JLX0NBQ0hFKQotICAgIHN0YXRpYyBjb25zdCBjaGFyIG5ldHdvcmtDYWNoZVN1YmRp
cmVjdG9yeVtdID0gIldlYktpdENhY2hlIjsKLSNlbHNlCi0gICAgc3RhdGljIGNvbnN0IGNoYXIg
bmV0d29ya0NhY2hlU3ViZGlyZWN0b3J5W10gPSAid2Via2l0IjsKLSNlbmRpZgotCi0gICAgU3Ry
aW5nQnVpbGRlciBkaXNrQ2FjaGVEaXJlY3Rvcnk7Ci0gICAgZGlza0NhY2hlRGlyZWN0b3J5LmFw
cGVuZChlZnJlZXRfY2FjaGVfaG9tZV9nZXQoKSk7Ci0gICAgZGlza0NhY2hlRGlyZWN0b3J5LmFw
cGVuZExpdGVyYWwoIi8iKTsKLSAgICBkaXNrQ2FjaGVEaXJlY3RvcnkuYXBwZW5kKG5ldHdvcmtD
YWNoZVN1YmRpcmVjdG9yeSk7Ci0KLSAgICByZXR1cm4gZGlza0NhY2hlRGlyZWN0b3J5LnRvU3Ry
aW5nKCk7CisgICAgcmV0dXJuIEFQSTo6V2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVsdE5ldHdvcmtD
YWNoZURpcmVjdG9yeSgpOwogfQogCiB2b2lkIFdlYlByb2Nlc3NQb29sOjpzZXRJZ25vcmVUTFNF
cnJvcnMoYm9vbCBpZ25vcmVUTFNFcnJvcnMpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>267729</attachid>
            <date>2015-12-20 17:53:32 -0800</date>
            <delta_ts>2015-12-20 18:54:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-152460-20151221105253.patch</filename>
            <type>text/plain</type>
            <size>14407</size>
            <attacher name="Joonghun Park">jh718.park</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk0MzIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYWY3NjU4YTc2M2U1YTdk
MWJkYmFmOWZjYzUzNWU3NDk0NDY1MDViNC4uOTE4YjgwMGVmMzlmYzU2ZmU3ODdiZGZlMDY3ZGE2
YTBlNTc0MGI0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDE1LTEyLTIwICBKb29u
Z2h1biBQYXJrICA8amg3MTgucGFya0BzYW1zdW5nLmNvbT4KKworICAgICAgICBbV0syXVtFRkxd
IFVzZSBXZWJzaXRlRGF0YVN0b3JlIGluc3RlYWQgb2YgV2ViRGF0YWJhc2VNYW5hZ2VyIHdoaWNo
IGhhcyBiZWVuIGRlbGV0ZWQgaW4gcjE5NDI5NQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUyNDYwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVXNlIFdlYnNpdGVEYXRhU3RvcmUgdG8gc3VwcG9ydCBFRkwg
V2ViRGF0YWJhc2UgQVBJIGFuZCB0byBmaXggYnVpbGQgYnJlYWsuCisKKyAgICAgICAgKiBQbGF0
Zm9ybUVmbC5jbWFrZToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVEYXRhU3Rv
cmUuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL0FQSVdlYnNpdGVEYXRhU3RvcmVF
ZmwuY3BwOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVdlYnNp
dGVEYXRhU3RvcmUuY3BwLgorICAgICAgICAoQVBJOjpXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0
QXBwbGljYXRpb25DYWNoZURpcmVjdG9yeSk6CisgICAgICAgIChBUEk6OldlYnNpdGVEYXRhU3Rv
cmU6OmRlZmF1bHROZXR3b3JrQ2FjaGVEaXJlY3RvcnkpOgorICAgICAgICAoQVBJOjpXZWJzaXRl
RGF0YVN0b3JlOjpkZWZhdWx0SW5kZXhlZERCRGF0YWJhc2VEaXJlY3RvcnkpOgorICAgICAgICAo
QVBJOjpXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0TG9jYWxTdG9yYWdlRGlyZWN0b3J5KToKKyAg
ICAgICAgKEFQSTo6V2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVsdE1lZGlhS2V5c1N0b3JhZ2VEaXJl
Y3RvcnkpOgorICAgICAgICAoQVBJOjpXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0V2ViU1FMRGF0
YWJhc2VEaXJlY3RvcnkpOgorICAgICAgICAoQVBJOjpXZWJzaXRlRGF0YVN0b3JlOjpjYWNoZURp
cmVjdG9yeUZpbGVTeXN0ZW1SZXByZXNlbnRhdGlvbik6CisgICAgICAgIChBUEk6OldlYnNpdGVE
YXRhU3RvcmU6OndlYnNpdGVEYXRhRGlyZWN0b3J5RmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKToK
KyAgICAgICAgKEFQSTo6V2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVsdERhdGFTdG9yZUNvbmZpZ3Vy
YXRpb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0LmNwcDoKKyAg
ICAgICAgKEV3a0NvbnRleHQ6OkV3a0NvbnRleHQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
ZWZsL2V3a19kYXRhYmFzZV9tYW5hZ2VyLmNwcDoKKyAgICAgICAgKEV3a0RhdGFiYXNlTWFuYWdl
cjo6RXdrRGF0YWJhc2VNYW5hZ2VyKToKKyAgICAgICAgKEV3a0RhdGFiYXNlTWFuYWdlcjo6Z2V0
RGF0YWJhc2VPcmlnaW5zKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfZGF0YWJh
c2VfbWFuYWdlcl9wcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL2VmbC9XZWJQcm9jZXNz
UG9vbEVmbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpsZWdhY3lQbGF0
Zm9ybURlZmF1bHRBcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5KToKKyAgICAgICAgKFdlYktpdDo6
V2ViUHJvY2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVmYXVsdFdlYlNRTERhdGFiYXNlRGlyZWN0
b3J5KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVm
YXVsdEluZGV4ZWREQkRhdGFiYXNlRGlyZWN0b3J5KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJv
Y2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVmYXVsdExvY2FsU3RvcmFnZURpcmVjdG9yeSk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpsZWdhY3lQbGF0Zm9ybURlZmF1bHRNZWRp
YUtleXNTdG9yYWdlRGlyZWN0b3J5KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6
OmxlZ2FjeVBsYXRmb3JtRGVmYXVsdE5ldHdvcmtDYWNoZURpcmVjdG9yeSk6CisKIDIwMTUtMTIt
MjAgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgdW51
c2VkIHNldFRvb2xiYXJIZWlnaHQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
RWZsLmNtYWtlIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UKaW5kZXggY2U4ZGFl
MDUyODE1ZGFmNWExYTg4OWJlNjhmZTk0NzgxYzY3MjQxMy4uZDMwNWIyZDllODgzZDNjOGM4MTI4
N2U2NGU1YTIxZTBlMDY3NzUxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1F
ZmwuY21ha2UKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UKQEAgLTgzLDYg
KzgzLDcgQEAgbGlzdChBUFBFTkQgV2ViS2l0Ml9TT1VSQ0VTCiAKICAgICBVSVByb2Nlc3MvQVBJ
L2NwcC9lZmwvV0tFaW5hU2hhcmVkU3RyaW5nLmNwcAogCisgICAgVUlQcm9jZXNzL0FQSS9lZmwv
QVBJV2Vic2l0ZURhdGFTdG9yZUVmbC5jcHAKICAgICBVSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3
LmNwcAogICAgIFVJUHJvY2Vzcy9BUEkvZWZsL0dlc3R1cmVSZWNvZ25pemVyLmNwcAogICAgIFVJ
UHJvY2Vzcy9BUEkvZWZsL1NuYXBzaG90SW1hZ2VHTC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZURhdGFTdG9yZS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVEYXRhU3RvcmUuY3BwCmluZGV4IGI0ZDUyZGZi
NDFjNzFhYzY1ZTJjZTNmZjIwMjE1Y2Q2NjJlYmUyZTQuLmFmMjkxNTc5NjI5YzJkNWRkNWU3ZWI5
YzQyZTYzYjVjNjM5YzhlNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQVBJV2Vic2l0ZURhdGFTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9BUElXZWJzaXRlRGF0YVN0b3JlLmNwcApAQCAtNjYsNyArNjYsNyBAQCBib29sIFdlYnNp
dGVEYXRhU3RvcmU6OmlzUGVyc2lzdGVudCgpCiAgICAgcmV0dXJuIG1fd2Vic2l0ZURhdGFTdG9y
ZS0+aXNQZXJzaXN0ZW50KCk7CiB9CiAKLSNpZiAhUExBVEZPUk0oQ09DT0EpICYmICFQTEFURk9S
TShHVEspCisjaWYgIVBMQVRGT1JNKENPQ09BKSAmJiAhUExBVEZPUk0oRUZMKSAmJiAhUExBVEZP
Uk0oR1RLKQogV2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlOjpDb25maWd1cmF0aW9uIFdlYnNpdGVE
YXRhU3RvcmU6OmRlZmF1bHREYXRhU3RvcmVDb25maWd1cmF0aW9uKCkKIHsKICAgICAvLyBGSVhN
RTogRmlsbCBldmVyeXRoaW5nIGluLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvQVBJV2Vic2l0ZURhdGFTdG9yZUVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9BUElXZWJzaXRlRGF0YVN0b3JlRWZsLmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5i
YWM1M2ZhNmEwMGVhN2Q0ZmYxYWIxZjZkNDk1MTExNjVmMzYwMThhCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvQVBJV2Vic2l0ZURhdGFTdG9yZUVm
bC5jcHAKQEAgLTAsMCArMSw5OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBTYW1zdW5n
IEVsZWN0cm9uaWNzCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQVBJ
V2Vic2l0ZURhdGFTdG9yZS5oIgorCisjaW5jbHVkZSA8RWZyZWV0Lmg+CisjaW5jbHVkZSA8d3Rm
L3RleHQvU3RyaW5nQnVpbGRlci5oPgorCituYW1lc3BhY2UgQVBJIHsKKworU3RyaW5nIFdlYnNp
dGVEYXRhU3RvcmU6OmRlZmF1bHRBcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5KCkKK3sKKyAgICBy
ZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChlZnJlZXRfY2FjaGVfaG9tZV9nZXQoKSkgKyAiL1dlYktp
dEVmbC9BcHBsaWNhdGlvbnMiOworfQorCitTdHJpbmcgV2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVs
dE5ldHdvcmtDYWNoZURpcmVjdG9yeSgpCit7CisjaWYgRU5BQkxFKE5FVFdPUktfQ0FDSEUpCisg
ICAgc3RhdGljIGNvbnN0IGNoYXIgbmV0d29ya0NhY2hlU3ViZGlyZWN0b3J5W10gPSAiV2ViS2l0
Q2FjaGUiOworI2Vsc2UKKyAgICBzdGF0aWMgY29uc3QgY2hhciBuZXR3b3JrQ2FjaGVTdWJkaXJl
Y3RvcnlbXSA9ICJ3ZWJraXQiOworI2VuZGlmCisKKyAgICBTdHJpbmdCdWlsZGVyIGRpc2tDYWNo
ZURpcmVjdG9yeTsKKyAgICBkaXNrQ2FjaGVEaXJlY3RvcnkuYXBwZW5kKGVmcmVldF9jYWNoZV9o
b21lX2dldCgpKTsKKyAgICBkaXNrQ2FjaGVEaXJlY3RvcnkuYXBwZW5kTGl0ZXJhbCgiLyIpOwor
ICAgIGRpc2tDYWNoZURpcmVjdG9yeS5hcHBlbmQobmV0d29ya0NhY2hlU3ViZGlyZWN0b3J5KTsK
KworICAgIHJldHVybiBkaXNrQ2FjaGVEaXJlY3RvcnkudG9TdHJpbmcoKTsKK30KKworU3RyaW5n
IFdlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRJbmRleGVkREJEYXRhYmFzZURpcmVjdG9yeSgpCit7
CisgICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoZWZyZWV0X2RhdGFfaG9tZV9nZXQoKSkgKyAi
L1dlYktpdEVmbC9JbmRleGVkREIiOworfQorCitTdHJpbmcgV2Vic2l0ZURhdGFTdG9yZTo6ZGVm
YXVsdExvY2FsU3RvcmFnZURpcmVjdG9yeSgpCit7CisgICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVU
RjgoZWZyZWV0X2RhdGFfaG9tZV9nZXQoKSkgKyAiL1dlYktpdEVmbC9Mb2NhbFN0b3JhZ2UiOwor
fQorCitTdHJpbmcgV2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVsdE1lZGlhS2V5c1N0b3JhZ2VEaXJl
Y3RvcnkoKQoreworICAgIHJldHVybiBTdHJpbmc6OmZyb21VVEY4KGVmcmVldF9kYXRhX2hvbWVf
Z2V0KCkpICsgIi9XZWJLaXRFZmwvTWVkaWFLZXlzIjsKK30KKworU3RyaW5nIFdlYnNpdGVEYXRh
U3RvcmU6OmRlZmF1bHRXZWJTUUxEYXRhYmFzZURpcmVjdG9yeSgpCit7CisgICAgcmV0dXJuIFN0
cmluZzo6ZnJvbVVURjgoZWZyZWV0X2RhdGFfaG9tZV9nZXQoKSkgKyAiL1dlYktpdEVmbC9EYXRh
YmFzZXMiOworfQorCitTdHJpbmcgV2Vic2l0ZURhdGFTdG9yZTo6Y2FjaGVEaXJlY3RvcnlGaWxl
U3lzdGVtUmVwcmVzZW50YXRpb24oY29uc3QgU3RyaW5nJiBkaXJlY3RvcnlOYW1lKQoreworICAg
IHJldHVybiBTdHJpbmc6OmZyb21VVEY4KGVmcmVldF9jYWNoZV9ob21lX2dldCgpKSArIGRpcmVj
dG9yeU5hbWU7Cit9CisKK1N0cmluZyBXZWJzaXRlRGF0YVN0b3JlOjp3ZWJzaXRlRGF0YURpcmVj
dG9yeUZpbGVTeXN0ZW1SZXByZXNlbnRhdGlvbihjb25zdCBTdHJpbmcmIGRpcmVjdG9yeU5hbWUp
Cit7CisgICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoZWZyZWV0X2RhdGFfaG9tZV9nZXQoKSkg
KyBkaXJlY3RvcnlOYW1lOworfQorCitXZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmU6OkNvbmZpZ3Vy
YXRpb24gV2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVsdERhdGFTdG9yZUNvbmZpZ3VyYXRpb24oKQor
eworICAgIFdlYktpdDo6V2Vic2l0ZURhdGFTdG9yZTo6Q29uZmlndXJhdGlvbiBjb25maWd1cmF0
aW9uOworCisgICAgY29uZmlndXJhdGlvbi5hcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5ID0gZGVm
YXVsdEFwcGxpY2F0aW9uQ2FjaGVEaXJlY3RvcnkoKTsKKyAgICBjb25maWd1cmF0aW9uLm5ldHdv
cmtDYWNoZURpcmVjdG9yeSA9IGRlZmF1bHROZXR3b3JrQ2FjaGVEaXJlY3RvcnkoKTsKKworICAg
IGNvbmZpZ3VyYXRpb24ud2ViU1FMRGF0YWJhc2VEaXJlY3RvcnkgPSBkZWZhdWx0V2ViU1FMRGF0
YWJhc2VEaXJlY3RvcnkoKTsKKyAgICBjb25maWd1cmF0aW9uLmxvY2FsU3RvcmFnZURpcmVjdG9y
eSA9IGRlZmF1bHRMb2NhbFN0b3JhZ2VEaXJlY3RvcnkoKTsKKyAgICBjb25maWd1cmF0aW9uLm1l
ZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkgPSBkZWZhdWx0TWVkaWFLZXlzU3RvcmFnZURpcmVjdG9y
eSgpOworCisgICAgcmV0dXJuIGNvbmZpZ3VyYXRpb247Cit9CisKK30gLy8gbmFtZXNwYWNlIEFQ
SQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRl
eHQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHQuY3Bw
CmluZGV4IGE1MzBlZjUzZjFkNjBkZmE4Mjg1MzUzZjVmNjJkNmY0ZGYxYjUwZTUuLjYwMGM5MTI1
NzQ2YjNmODc5YjUzMjRmOTExNTYwYTQ2MDFkNjYwNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dC5jcHAKQEAgLTY2LDcgKzY2LDcgQEAgc3Rh
dGljIGlubGluZSBDb250ZXh0TWFwJiBjb250ZXh0TWFwKCkKIAogRXdrQ29udGV4dDo6RXdrQ29u
dGV4dChXS0NvbnRleHRSZWYgY29udGV4dCwgY29uc3QgU3RyaW5nJiBleHRlbnNpb25zUGF0aCkK
ICAgICA6IG1fY29udGV4dChjb250ZXh0KQotICAgICwgbV9kYXRhYmFzZU1hbmFnZXIoc3RkOjpt
YWtlX3VuaXF1ZTxFd2tEYXRhYmFzZU1hbmFnZXI+KFdLQ29udGV4dEdldERhdGFiYXNlTWFuYWdl
cihjb250ZXh0KSkpCisgICAgLCBtX2RhdGFiYXNlTWFuYWdlcihzdGQ6Om1ha2VfdW5pcXVlPEV3
a0RhdGFiYXNlTWFuYWdlcj4oKSkKICAgICAsIG1fc3RvcmFnZU1hbmFnZXIoc3RkOjptYWtlX3Vu
aXF1ZTxFd2tTdG9yYWdlTWFuYWdlcj4oV0tDb250ZXh0R2V0S2V5VmFsdWVTdG9yYWdlTWFuYWdl
cihjb250ZXh0KSkpCiAjaWYgRU5BQkxFKEJBVFRFUllfU1RBVFVTKQogICAgICwgbV9iYXR0ZXJ5
UHJvdmlkZXIoQmF0dGVyeVByb3ZpZGVyOjpjcmVhdGUoY29udGV4dCkpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfZGF0YWJhc2VfbWFuYWdlci5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfZGF0YWJhc2VfbWFuYWdlci5j
cHAKaW5kZXggNGZkYmU2NWUyN2FhMTFmMmYwMTQyMzI5ZjVlZTExY2EwZmYzMDY3ZC4uMDM3ZDFj
MDAzYzExNmZmZTg1N2YzYTA4YzUzYmFiZjZhYTU5YTdlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2RhdGFiYXNlX21hbmFnZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19kYXRhYmFzZV9tYW5hZ2VyLmNwcApA
QCAtMjYsMjIgKzI2LDQxIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiZXdrX2Rh
dGFiYXNlX21hbmFnZXIuaCIKIAorI2luY2x1ZGUgIkFQSVdlYnNpdGVEYXRhU3RvcmUuaCIKKyNp
bmNsdWRlICJHZW5lcmljQ2FsbGJhY2suaCIKICNpbmNsdWRlICJXS0FQSUNhc3QuaCIKICNpbmNs
dWRlICJXS0FycmF5LmgiCiAjaW5jbHVkZSAiZXdrX2RhdGFiYXNlX21hbmFnZXJfcHJpdmF0ZS5o
IgogI2luY2x1ZGUgImV3a19zZWN1cml0eV9vcmlnaW5fcHJpdmF0ZS5oIgorI2luY2x1ZGUgPFdl
YkNvcmUvRGF0YWJhc2VUcmFja2VyLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9PcmlnaW5Mb2NrLmg+
CisjaW5jbHVkZSA8V2ViQ29yZS9TZWN1cml0eU9yaWdpbi5oPgogCiB1c2luZyBuYW1lc3BhY2Ug
V2ViS2l0OwogCi1Fd2tEYXRhYmFzZU1hbmFnZXI6OkV3a0RhdGFiYXNlTWFuYWdlcihXS0RhdGFi
YXNlTWFuYWdlclJlZiBkYXRhYmFzZU1hbmFnZXIpCi0gICAgOiBtX2RhdGFiYXNlTWFuYWdlcihk
YXRhYmFzZU1hbmFnZXIpCit0eXBlZGVmIEdlbmVyaWNDYWxsYmFjazxBUEk6OkFycmF5Kj4gQXJy
YXlDYWxsYmFjazsKKworRXdrRGF0YWJhc2VNYW5hZ2VyOjpFd2tEYXRhYmFzZU1hbmFnZXIoKQog
ewotICAgIEFTU0VSVChkYXRhYmFzZU1hbmFnZXIpOwogfQogCi12b2lkIEV3a0RhdGFiYXNlTWFu
YWdlcjo6Z2V0RGF0YWJhc2VPcmlnaW5zKFdLRGF0YWJhc2VNYW5hZ2VyR2V0RGF0YWJhc2VPcmln
aW5zRnVuY3Rpb24gY2FsbGJhY2ssIHZvaWQqIGNvbnRleHQpIGNvbnN0Cit2b2lkIEV3a0RhdGFi
YXNlTWFuYWdlcjo6Z2V0RGF0YWJhc2VPcmlnaW5zKEV3a19EYXRhYmFzZV9NYW5hZ2VyX0dldF9E
YXRhYmFzZV9PcmlnaW5zX0Z1bmN0aW9uIGNhbGxiYWNrLCB2b2lkKiBjb250ZXh0KSBjb25zdAog
ewotICAgIFdLRGF0YWJhc2VNYW5hZ2VyR2V0RGF0YWJhc2VPcmlnaW5zKG1fZGF0YWJhc2VNYW5h
Z2VyLmdldCgpLCBjb250ZXh0LCBjYWxsYmFjayk7CisgICAgaWYgKCFjYWxsYmFjaykKKyAgICAg
ICAgcmV0dXJuOworCisgICAgUmVmUHRyPEFycmF5Q2FsbGJhY2s+IGFycmF5Q2FsbGJhY2sgPSBB
cnJheUNhbGxiYWNrOjpjcmVhdGUodG9HZW5lcmljQ2FsbGJhY2tGdW5jdGlvbihjb250ZXh0LCBj
YWxsYmFjaykpOworCisgICAgVmVjdG9yPFJlZlB0cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4+
IG9yaWdpbnM7CisgICAgVmVjdG9yPFJlZlB0cjxBUEk6Ok9iamVjdD4+IHNlY3VyaXR5T3JpZ2lu
czsKKworICAgIFdlYkNvcmU6OkRhdGFiYXNlVHJhY2tlcjo6dHJhY2tlcldpdGhEYXRhYmFzZVBh
dGgoQVBJOjpXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0V2ViU1FMRGF0YWJhc2VEaXJlY3Rvcnko
KSktPm9yaWdpbnMob3JpZ2lucyk7CisgICAgc2VjdXJpdHlPcmlnaW5zLnJlc2VydmVJbml0aWFs
Q2FwYWNpdHkob3JpZ2lucy5zaXplKCkpOworCisgICAgZm9yIChjb25zdCBhdXRvJiBvcmlnaW5J
ZGVudGlmaWVyIDogb3JpZ2lucykKKyAgICAgICAgc2VjdXJpdHlPcmlnaW5zLnVuY2hlY2tlZEFw
cGVuZChBUEk6OlNlY3VyaXR5T3JpZ2luOjpjcmVhdGUoKm9yaWdpbklkZW50aWZpZXIpKTsKKwor
ICAgIGFycmF5Q2FsbGJhY2stPnBlcmZvcm1DYWxsYmFja1dpdGhSZXR1cm5WYWx1ZShBUEk6OkFy
cmF5OjpjcmVhdGUoV1RGOjptb3ZlKHNlY3VyaXR5T3JpZ2lucykpLnB0cigpKTsKIH0KIAogRWlu
YV9MaXN0KiBFd2tEYXRhYmFzZU1hbmFnZXI6OmNyZWF0ZU9yaWdpbkxpc3QoV0tBcnJheVJlZiBv
cmlnaW5zKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9l
ZmwvZXdrX2RhdGFiYXNlX21hbmFnZXJfcHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvZXdrX2RhdGFiYXNlX21hbmFnZXJfcHJpdmF0ZS5oCmluZGV4IDBlZTFmMDgy
NWQ5N2IyNmI2YmM5ZGQxMGZiNjNhMTgwZjkxZGJmOGYuLjY5ZjE5ZDZhY2VhZjIwYzBkZTdiYjE2
MmY3YjQzNDg0NWNjMDU3NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZWZsL2V3a19kYXRhYmFzZV9tYW5hZ2VyX3ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfZGF0YWJhc2VfbWFuYWdlcl9wcml2YXRlLmgKQEAgLTI2
LDIyICsyNiwyMyBAQAogI2lmbmRlZiBld2tfZGF0YWJhc2VfbWFuYWdlcl9wcml2YXRlX2gKICNk
ZWZpbmUgZXdrX2RhdGFiYXNlX21hbmFnZXJfcHJpdmF0ZV9oCiAKLSNpbmNsdWRlICJXS0RhdGFi
YXNlTWFuYWdlci5oIgogI2luY2x1ZGUgIldLUmV0YWluUHRyLmgiCisjaW5jbHVkZSAiV2Vic2l0
ZURhdGFTdG9yZS5oIgogI2luY2x1ZGUgImV3a19zZWN1cml0eV9vcmlnaW5fcHJpdmF0ZS5oIgog
I2luY2x1ZGUgPFdlYktpdC9XS0Jhc2UuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAor
dHlwZWRlZiB2b2lkICgqRXdrX0RhdGFiYXNlX01hbmFnZXJfR2V0X0RhdGFiYXNlX09yaWdpbnNf
RnVuY3Rpb24pKFdLQXJyYXlSZWYsIFdLRXJyb3JSZWYsIHZvaWQqKTsKKwogY2xhc3MgRXdrRGF0
YWJhc2VNYW5hZ2VyIHsKIHB1YmxpYzoKLSAgICBleHBsaWNpdCBFd2tEYXRhYmFzZU1hbmFnZXIo
V0tEYXRhYmFzZU1hbmFnZXJSZWYpOworICAgIEV3a0RhdGFiYXNlTWFuYWdlcigpOwogCiAgICAg
RWluYV9MaXN0KiBjcmVhdGVPcmlnaW5MaXN0KFdLQXJyYXlSZWYgd2tMaXN0KSBjb25zdDsKLSAg
ICB2b2lkIGdldERhdGFiYXNlT3JpZ2lucyhXS0RhdGFiYXNlTWFuYWdlckdldERhdGFiYXNlT3Jp
Z2luc0Z1bmN0aW9uIGNhbGxiYWNrLCB2b2lkKiBjb250ZXh0KSBjb25zdDsKKyAgICB2b2lkIGdl
dERhdGFiYXNlT3JpZ2lucyhFd2tfRGF0YWJhc2VfTWFuYWdlcl9HZXRfRGF0YWJhc2VfT3JpZ2lu
c19GdW5jdGlvbiBjYWxsYmFjaywgdm9pZCogY29udGV4dCkgY29uc3Q7CiAKIHByaXZhdGU6Ci0g
ICAgV0tSZXRhaW5QdHI8V0tEYXRhYmFzZU1hbmFnZXJSZWY+IG1fZGF0YWJhc2VNYW5hZ2VyOwog
ICAgIG11dGFibGUgSGFzaE1hcDxXS1NlY3VyaXR5T3JpZ2luUmVmLCBSZWZQdHI8RXdrU2VjdXJp
dHlPcmlnaW4+ID4gbV93cmFwcGVyQ2FjaGU7CiB9OwogI2VuZGlmIC8vIGV3a19kYXRhYmFzZV9t
YW5hZ2VyX3ByaXZhdGVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2Vm
bC9XZWJQcm9jZXNzUG9vbEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dl
YlByb2Nlc3NQb29sRWZsLmNwcAppbmRleCA1YzU2MGZiZGU1YTE2OGUxZjFmODQ4Mzg4ZWZlYTIx
NDBhODdmOTkxLi42Nzc5MWU2YTBhYTBjOTYyNDhhMDNlZjJhOWVlZWZiODY3NzZkZTYyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlByb2Nlc3NQb29sRWZsLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlByb2Nlc3NQb29sRWZsLmNw
cApAQCAtODQsNyArODQsNyBAQCBzdGF0aWMgdm9pZCBpbml0aWFsaXplSW5zcGVjdG9yU2VydmVy
KCkKIAogU3RyaW5nIFdlYlByb2Nlc3NQb29sOjpsZWdhY3lQbGF0Zm9ybURlZmF1bHRBcHBsaWNh
dGlvbkNhY2hlRGlyZWN0b3J5KCkKIHsKLSAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChlZnJl
ZXRfY2FjaGVfaG9tZV9nZXQoKSkgKyAiL1dlYktpdEVmbC9BcHBsaWNhdGlvbnMiOworICAgIHJl
dHVybiBBUEk6OldlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRBcHBsaWNhdGlvbkNhY2hlRGlyZWN0
b3J5KCk7CiB9CiAKIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlBy
b2Nlc3MoV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykKQEAgLTk5LDEy
ICs5OSwxMiBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybUludmFsaWRhdGVDb250ZXh0
KCkKIAogU3RyaW5nIFdlYlByb2Nlc3NQb29sOjpsZWdhY3lQbGF0Zm9ybURlZmF1bHRXZWJTUUxE
YXRhYmFzZURpcmVjdG9yeSgpCiB7Ci0gICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoZWZyZWV0
X2RhdGFfaG9tZV9nZXQoKSkgKyAiL1dlYktpdEVmbC9EYXRhYmFzZXMiOworICAgIHJldHVybiBB
UEk6OldlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRXZWJTUUxEYXRhYmFzZURpcmVjdG9yeSgpOwog
fQogCiBTdHJpbmcgV2ViUHJvY2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVmYXVsdEluZGV4ZWRE
QkRhdGFiYXNlRGlyZWN0b3J5KCkKIHsKLSAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChlZnJl
ZXRfZGF0YV9ob21lX2dldCgpKSArICIvV2ViS2l0RWZsL0luZGV4ZWREQiI7CisgICAgcmV0dXJu
IEFQSTo6V2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVsdEluZGV4ZWREQkRhdGFiYXNlRGlyZWN0b3J5
KCk7CiB9CiAKIFN0cmluZyBXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1EZWZhdWx0SWNvbkRhdGFi
YXNlUGF0aCgpIGNvbnN0CkBAIC0xMTQsMjggKzExNCwxNyBAQCBTdHJpbmcgV2ViUHJvY2Vzc1Bv
b2w6OnBsYXRmb3JtRGVmYXVsdEljb25EYXRhYmFzZVBhdGgoKSBjb25zdAogCiBTdHJpbmcgV2Vi
UHJvY2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVmYXVsdExvY2FsU3RvcmFnZURpcmVjdG9yeSgp
CiB7Ci0gICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoZWZyZWV0X2RhdGFfaG9tZV9nZXQoKSkg
KyAiL1dlYktpdEVmbC9Mb2NhbFN0b3JhZ2UiOworICAgIHJldHVybiBBUEk6OldlYnNpdGVEYXRh
U3RvcmU6OmRlZmF1bHRMb2NhbFN0b3JhZ2VEaXJlY3RvcnkoKTsKIH0KIAogU3RyaW5nIFdlYlBy
b2Nlc3NQb29sOjpsZWdhY3lQbGF0Zm9ybURlZmF1bHRNZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5
KCkKIHsKLSAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChlZnJlZXRfZGF0YV9ob21lX2dldCgp
KSArICIvV2ViS2l0RWZsL01lZGlhS2V5cyI7CisgICAgcmV0dXJuIEFQSTo6V2Vic2l0ZURhdGFT
dG9yZTo6ZGVmYXVsdE1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkoKTsKIH0KIAogU3RyaW5nIFdl
YlByb2Nlc3NQb29sOjpsZWdhY3lQbGF0Zm9ybURlZmF1bHROZXR3b3JrQ2FjaGVEaXJlY3Rvcnko
KQogewotI2lmIEVOQUJMRShORVRXT1JLX0NBQ0hFKQotICAgIHN0YXRpYyBjb25zdCBjaGFyIG5l
dHdvcmtDYWNoZVN1YmRpcmVjdG9yeVtdID0gIldlYktpdENhY2hlIjsKLSNlbHNlCi0gICAgc3Rh
dGljIGNvbnN0IGNoYXIgbmV0d29ya0NhY2hlU3ViZGlyZWN0b3J5W10gPSAid2Via2l0IjsKLSNl
bmRpZgotCi0gICAgU3RyaW5nQnVpbGRlciBkaXNrQ2FjaGVEaXJlY3Rvcnk7Ci0gICAgZGlza0Nh
Y2hlRGlyZWN0b3J5LmFwcGVuZChlZnJlZXRfY2FjaGVfaG9tZV9nZXQoKSk7Ci0gICAgZGlza0Nh
Y2hlRGlyZWN0b3J5LmFwcGVuZExpdGVyYWwoIi8iKTsKLSAgICBkaXNrQ2FjaGVEaXJlY3Rvcnku
YXBwZW5kKG5ldHdvcmtDYWNoZVN1YmRpcmVjdG9yeSk7Ci0KLSAgICByZXR1cm4gZGlza0NhY2hl
RGlyZWN0b3J5LnRvU3RyaW5nKCk7CisgICAgcmV0dXJuIEFQSTo6V2Vic2l0ZURhdGFTdG9yZTo6
ZGVmYXVsdE5ldHdvcmtDYWNoZURpcmVjdG9yeSgpOwogfQogCiB2b2lkIFdlYlByb2Nlc3NQb29s
OjpzZXRJZ25vcmVUTFNFcnJvcnMoYm9vbCBpZ25vcmVUTFNFcnJvcnMpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>