<?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>48265</bug_id>
          
          <creation_ts>2010-10-25 14:27:17 -0700</creation_ts>
          <short_desc>Web Inspector: stub out basic WebInspector API and objects for WebKit2</short_desc>
          <delta_ts>2010-10-25 16:43:59 -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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Timothy Hatcher">timothy</reporter>
          <assigned_to name="Timothy Hatcher">timothy</assigned_to>
          <cc>andersca</cc>
    
    <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>sam</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>299105</commentid>
    <comment_count>0</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2010-10-25 14:27:17 -0700</bug_when>
    <thetext>Stub out basic WebInspector API and objects for WebKit2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299111</commentid>
    <comment_count>1</comment_count>
      <attachid>71797</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2010-10-25 14:36:32 -0700</bug_when>
    <thetext>Created attachment 71797
Proposed Change</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299170</commentid>
    <comment_count>2</comment_count>
      <attachid>71797</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-10-25 16:22:23 -0700</bug_when>
    <thetext>Comment on attachment 71797
Proposed Change

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

Looks great! r=me with some comments.

&gt; WebKit2/UIProcess/WebPageProxy.h:112
&gt; +    WebInspectorProxy* inspector() const;

I don&apos;t think inspector() needs to be const.

&gt; WebKit2/UIProcess/WebPageProxy.h:329
&gt; +    mutable RefPtr&lt;WebInspectorProxy&gt; m_inspector;

And then you can remove mutable here (and get rid of the const_cast in the create function).

&gt; WebKit2/WebProcess/WebPage/WebPage.h:99
&gt; +    WebInspector* inspector() const;

Same comment about inspector being const here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299186</commentid>
    <comment_count>3</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2010-10-25 16:43:59 -0700</bug_when>
    <thetext>Landed in r70504.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71797</attachid>
            <date>2010-10-25 14:36:32 -0700</date>
            <delta_ts>2010-10-25 16:22:23 -0700</delta_ts>
            <desc>Proposed Change</desc>
            <filename>0001-Stub-out-WebInspector-objects-and-WKInspectorRef-API.patch</filename>
            <type>text/plain</type>
            <size>38157</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">RnJvbSBjZjMyNmEwOWNhYzViNzA2NjE2Mzc3MTdmYjEwMDMzMmUwOGExODM5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBUaW1vdGh5IEhhdGNoZXIgPHRpbW90aHlAYXBwbGUuY29tPgpE
YXRlOiBNb24sIDI1IE9jdCAyMDEwIDE0OjM0OjU1IC0wNzAwClN1YmplY3Q6IFtQQVRDSF0gU3R1
YiBvdXQgV2ViSW5zcGVjdG9yIG9iamVjdHMgYW5kIFdLSW5zcGVjdG9yUmVmIEFQSS4KCmh0dHBz
Oi8vd2Via2l0Lm9yZy9iLzQ4MjY1CgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiogUGxh
dGZvcm0vQ29yZUlQQy9NZXNzYWdlSUQuaDogQWRkZWQgTWVzc2FnZUNsYXNzV2ViSW5zcGVjdG9y
IGFuZCBNZXNzYWdlQ2xhc3NXZWJJbnNwZWN0b3JQcm94eS4KKiBTaGFyZWQvQVBJL2MvV0tCYXNl
Lmg6IEFkZGVkIFdLSW5zcGVjdG9yUmVmLgoqIFNoYXJlZC9BUElPYmplY3QuaDogQWRkZWQgVHlw
ZUluc3BlY3Rvci4KKiBVSVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0Lmg6IEFkZGVkIFdLSW5zcGVj
dG9yUmVmIHRvIFdlYkluc3BlY3RvclByb3h5IG1hcHBpbmcuCiogVUlQcm9jZXNzL0FQSS9DL1dL
SW5zcGVjdG9yLmNwcDogQWRkZWQuCihXS0luc3BlY3RvckdldFR5cGVJRCk6CihXS0luc3BlY3Rv
ckdldFBhZ2UpOgoqIFVJUHJvY2Vzcy9BUEkvQy9XS0luc3BlY3Rvci5oOiBBZGRlZC4KKiBVSVBy
b2Nlc3MvQVBJL0MvV0tQYWdlLmNwcDoKKFdLUGFnZUdldEluc3BlY3Rvcik6IEFkZGVkLgoqIFVJ
UHJvY2Vzcy9BUEkvQy9XS1BhZ2UuaDoKKiBVSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuY3Bw
OiBBZGRlZC4KKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6OldlYkluc3BlY3RvclByb3h5KToK
KFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6On5XZWJJbnNwZWN0b3JQcm94eSk6CihXZWJLaXQ6
OldlYkluc3BlY3RvclByb3h5OjppbnZhbGlkYXRlKToKKiBVSVByb2Nlc3MvV2ViSW5zcGVjdG9y
UHJveHkuaDoKKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6OmNyZWF0ZSk6CihXZWJLaXQ6Oldl
Ykluc3BlY3RvclByb3h5OjpwYWdlKToKKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6OnR5cGUp
OgoqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgooV2ViS2l0OjpXZWJQYWdlUHJveHk6Omlu
c3BlY3Rvcik6IExhemlseSBjcmVhdGUgdGhlIFdlYkluc3BlY3RvclByb3h5LgoqIFVJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaDoKKiBXZWJLaXQyLnBybzogQWRkZWQgbmV3IGZpbGVzLgoqIFdlYktp
dDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogQWRkZWQgbmV3IGZpbGVzLgoqIFdlYlByb2Nl
c3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuY3BwOiBBZGRlZC4KKFdlYktpdDo6V2ViSW5zcGVjdG9y
OjpXZWJJbnNwZWN0b3IpOgoqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuaDogQWRk
ZWQuCiogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgooV2ViS2l0OjpXZWJQYWdlOjpp
bnNwZWN0b3IpOiBMYXppbHkgY3JlYXRlIHRoZSBXZWJJbnNwZWN0b3IuCiogV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuaDoKKiB3aW4vV2ViS2l0Mi52Y3Byb2o6IEFkZGVkIG5ldyBmaWxlcy4K
LS0tCiBXZWJLaXQyL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA0MCAr
KysrKysrKysrKysrKysrKwogV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL01lc3NhZ2VJRC5oICAg
ICAgICB8ICAgMTAgKysrLS0KIFdlYktpdDIvU2hhcmVkL0FQSS9jL1dLQmFzZS5oICAgICAgICAg
ICAgICAgfCAgICAxICsKIFdlYktpdDIvU2hhcmVkL0FQSU9iamVjdC5oICAgICAgICAgICAgICAg
ICAgfCAgICAxICsKIFdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oICAgICAgICAg
fCAgICAyICsKIFdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLSW5zcGVjdG9yLmNwcCAgICAgfCAg
IDQxICsrKysrKysrKysrKysrKysrKwogV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tJbnNwZWN0
b3IuaCAgICAgICB8ICAgNDcgKysrKysrKysrKysrKysrKysrKysKIFdlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLUGFnZS5jcHAgICAgICAgICAgfCAgICA1ICsrCiBXZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS1BhZ2UuaCAgICAgICAgICAgIHwgICAgMiArCiBXZWJLaXQyL1VJUHJvY2Vzcy9XZWJJ
bnNwZWN0b3JQcm94eS5jcHAgICAgIHwgICA0OCArKysrKysrKysrKysrKysrKysrKysKIFdlYktp
dDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmggICAgICAgfCAgIDYyICsrKysrKysrKysr
KysrKysrKysrKysrKysrKwogV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCAgICAg
ICAgICB8ICAgMTQgKysrKysrCiBXZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCAgICAg
ICAgICAgIHwgICAgNSArKwogV2ViS2l0Mi9XZWJLaXQyLnBybyAgICAgICAgICAgICAgICAgICAg
ICAgICB8ICAgIDYgKysrCiBXZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiAgIHwgICA1NSArKysrKysrKysrKysrKysrKysrKysrLQogV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViSW5zcGVjdG9yLmNwcCB8ICAgMzkgKysrKysrKysrKysrKysrKysKIFdlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3Rvci5oICAgfCAgIDQ5ICsrKysrKysrKysrKysr
KysrKysrKwogV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgICAgICB8ICAg
IDggKysrCiBXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggICAgICAgIHwgICAg
NSArKwogV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2ogICAgICAgICAgICAgICAgICB8ICAgMjQg
KysrKysrKysrKwogMjAgZmlsZXMgY2hhbmdlZCwgNDU3IGluc2VydGlvbnMoKyksIDcgZGVsZXRp
b25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tJbnNw
ZWN0b3IuY3BwCiBjcmVhdGUgbW9kZSAxMDA2NDQgV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tJ
bnNwZWN0b3IuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IFdlYktpdDIvVUlQcm9jZXNzL1dlYkluc3Bl
Y3RvclByb3h5LmNwcAogY3JlYXRlIG1vZGUgMTAwNjQ0IFdlYktpdDIvVUlQcm9jZXNzL1dlYklu
c3BlY3RvclByb3h5LmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBXZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJJbnNwZWN0b3IuY3BwCiBjcmVhdGUgbW9kZSAxMDA2NDQgV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLmgKCmRpZmYgLS1naXQgYS9XZWJLaXQyL0NoYW5nZUxv
ZyBiL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDkxYmQ4MmQuLjZiMTdjZjEgMTAwNjQ0Ci0tLSBh
L1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDMg
QEAKKzIwMTAtMTAtMjUgIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgorCisg
ICAgICAgIFN0dWIgb3V0IFdlYkluc3BlY3RvciBvYmplY3RzIGFuZCBXS0luc3BlY3RvclJlZiBB
UEkuCisKKyAgICAgICAgaHR0cHM6Ly93ZWJraXQub3JnL2IvNDgyNjUKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFBsYXRmb3JtL0NvcmVJUEMvTWVz
c2FnZUlELmg6IEFkZGVkIE1lc3NhZ2VDbGFzc1dlYkluc3BlY3RvciBhbmQgTWVzc2FnZUNsYXNz
V2ViSW5zcGVjdG9yUHJveHkuCisgICAgICAgICogU2hhcmVkL0FQSS9jL1dLQmFzZS5oOiBBZGRl
ZCBXS0luc3BlY3RvclJlZi4KKyAgICAgICAgKiBTaGFyZWQvQVBJT2JqZWN0Lmg6IEFkZGVkIFR5
cGVJbnNwZWN0b3IuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oOiBBZGRl
ZCBXS0luc3BlY3RvclJlZiB0byBXZWJJbnNwZWN0b3JQcm94eSBtYXBwaW5nLgorICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvQy9XS0luc3BlY3Rvci5jcHA6IEFkZGVkLgorICAgICAgICAoV0tJbnNw
ZWN0b3JHZXRUeXBlSUQpOgorICAgICAgICAoV0tJbnNwZWN0b3JHZXRQYWdlKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL0MvV0tJbnNwZWN0b3IuaDogQWRkZWQuCisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9DL1dLUGFnZS5jcHA6CisgICAgICAgIChXS1BhZ2VHZXRJbnNwZWN0b3IpOiBBZGRl
ZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmg6CisgICAgICAgICogVUlQcm9j
ZXNzL1dlYkluc3BlY3RvclByb3h5LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OldlYklu
c3BlY3RvclByb3h5OjpXZWJJbnNwZWN0b3JQcm94eSk6CisgICAgICAgIChXZWJLaXQ6OldlYklu
c3BlY3RvclByb3h5Ojp+V2ViSW5zcGVjdG9yUHJveHkpOgorICAgICAgICAoV2ViS2l0OjpXZWJJ
bnNwZWN0b3JQcm94eTo6aW52YWxpZGF0ZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkluc3Bl
Y3RvclByb3h5Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjpjcmVhdGUp
OgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6cGFnZSk6CisgICAgICAgIChX
ZWJLaXQ6OldlYkluc3BlY3RvclByb3h5Ojp0eXBlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjppbnNwZWN0b3Ip
OiBMYXppbHkgY3JlYXRlIHRoZSBXZWJJbnNwZWN0b3JQcm94eS4KKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogV2ViS2l0Mi5wcm86IEFkZGVkIG5ldyBmaWxl
cy4KKyAgICAgICAgKiBXZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6IEFkZGVkIG5l
dyBmaWxlcy4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLmNwcDog
QWRkZWQuCisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3Rvcjo6V2ViSW5zcGVjdG9yKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLmg6IEFkZGVkLgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZTo6aW5zcGVjdG9yKTogTGF6aWx5IGNyZWF0ZSB0aGUgV2ViSW5zcGVjdG9yLgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgICogd2luL1dlYktpdDIu
dmNwcm9qOiBBZGRlZCBuZXcgZmlsZXMuCisKIDIwMTAtMTAtMjQgIFNhbSBXZWluaWcgIDxzYW1A
d2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYW4gQmVybnN0ZWluLgpkaWZmIC0t
Z2l0IGEvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL01lc3NhZ2VJRC5oIGIvV2ViS2l0Mi9QbGF0
Zm9ybS9Db3JlSVBDL01lc3NhZ2VJRC5oCmluZGV4IDkxYjA4NWUuLmFhYWRlNGMgMTAwNjQ0Ci0t
LSBhL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9NZXNzYWdlSUQuaAorKysgYi9XZWJLaXQyL1Bs
YXRmb3JtL0NvcmVJUEMvTWVzc2FnZUlELmgKQEAgLTM1LDE2ICszNSwxOCBAQCBlbnVtIE1lc3Nh
Z2VDbGFzcyB7CiAgICAgTWVzc2FnZUNsYXNzQ29yZUlQQywKIAogICAgIC8vIE1lc3NhZ2VzIHNl
bnQgYnkgdGhlIFVJIHByb2Nlc3MgdG8gdGhlIHdlYiBwcm9jZXNzLgotICAgIE1lc3NhZ2VDbGFz
c1dlYlByb2Nlc3MsCisgICAgTWVzc2FnZUNsYXNzRHJhd2luZ0FyZWEsCiAgICAgTWVzc2FnZUNs
YXNzSW5qZWN0ZWRCdW5kbGUsCisgICAgTWVzc2FnZUNsYXNzV2ViSW5zcGVjdG9yLAogICAgIE1l
c3NhZ2VDbGFzc1dlYlBhZ2UsCi0gICAgTWVzc2FnZUNsYXNzRHJhd2luZ0FyZWEsCisgICAgTWVz
c2FnZUNsYXNzV2ViUHJvY2VzcywKIAogICAgIC8vIE1lc3NhZ2VzIHNlbnQgYnkgdGhlIHdlYiBw
cm9jZXNzIHRvIHRoZSBVSSBwcm9jZXNzLgorICAgIE1lc3NhZ2VDbGFzc0RyYXdpbmdBcmVhUHJv
eHksCiAgICAgTWVzc2FnZUNsYXNzV2ViQ29udGV4dCwKLSAgICBNZXNzYWdlQ2xhc3NXZWJQcm9j
ZXNzUHJveHksCisgICAgTWVzc2FnZUNsYXNzV2ViSW5zcGVjdG9yUHJveHksCiAgICAgTWVzc2Fn
ZUNsYXNzV2ViUGFnZVByb3h5LAotICAgIE1lc3NhZ2VDbGFzc0RyYXdpbmdBcmVhUHJveHksCisg
ICAgTWVzc2FnZUNsYXNzV2ViUHJvY2Vzc1Byb3h5LAogICAgIAogICAgIC8vIE1lc3NhZ2VzIHNl
bnQgYnkgdGhlIFVJIHByb2Nlc3MgdG8gdGhlIHBsdWctaW4gcHJvY2Vzcy4KICAgICBNZXNzYWdl
Q2xhc3NQbHVnaW5Qcm9jZXNzLApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tC
YXNlLmggYi9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0Jhc2UuaAppbmRleCBkYTRkZmI3Li4zYTlj
MjMyIDEwMDY0NAotLS0gYS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0Jhc2UuaAorKysgYi9XZWJL
aXQyL1NoYXJlZC9BUEkvYy9XS0Jhc2UuaApAQCAtNjQsNiArNjQsNyBAQCB0eXBlZGVmIGNvbnN0
IHN0cnVjdCBPcGFxdWVXS0NvbnRleHQqIFdLQ29udGV4dFJlZjsKIHR5cGVkZWYgY29uc3Qgc3Ry
dWN0IE9wYXF1ZVdLRm9ybVN1Ym1pc3Npb25MaXN0ZW5lciogV0tGb3JtU3VibWlzc2lvbkxpc3Rl
bmVyUmVmOwogdHlwZWRlZiBjb25zdCBzdHJ1Y3QgT3BhcXVlV0tGcmFtZSogV0tGcmFtZVJlZjsK
IHR5cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLRnJhbWVQb2xpY3lMaXN0ZW5lciogV0tGcmFt
ZVBvbGljeUxpc3RlbmVyUmVmOwordHlwZWRlZiBjb25zdCBzdHJ1Y3QgT3BhcXVlV0tJbnNwZWN0
b3IqIFdLSW5zcGVjdG9yUmVmOwogdHlwZWRlZiBjb25zdCBzdHJ1Y3QgT3BhcXVlV0tOYXZpZ2F0
aW9uRGF0YSogV0tOYXZpZ2F0aW9uRGF0YVJlZjsKIHR5cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1
ZVdLUGFnZSogV0tQYWdlUmVmOwogdHlwZWRlZiBjb25zdCBzdHJ1Y3QgT3BhcXVlV0tQYWdlTmFt
ZXNwYWNlKiBXS1BhZ2VOYW1lc3BhY2VSZWY7CmRpZmYgLS1naXQgYS9XZWJLaXQyL1NoYXJlZC9B
UElPYmplY3QuaCBiL1dlYktpdDIvU2hhcmVkL0FQSU9iamVjdC5oCmluZGV4IDM4ZmJiM2EuLmE0
YTllMTIgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvU2hhcmVkL0FQSU9iamVjdC5oCisrKyBiL1dlYktp
dDIvU2hhcmVkL0FQSU9iamVjdC5oCkBAIC01Niw2ICs1Niw3IEBAIHB1YmxpYzoKICAgICAgICAg
VHlwZUJhY2tGb3J3YXJkTGlzdCwKICAgICAgICAgVHlwZUJhY2tGb3J3YXJkTGlzdEl0ZW0sCiAg
ICAgICAgIFR5cGVDb250ZXh0LAorICAgICAgICBUeXBlSW5zcGVjdG9yLAogICAgICAgICBUeXBl
Rm9ybVN1Ym1pc3Npb25MaXN0ZW5lciwKICAgICAgICAgVHlwZUZyYW1lLAogICAgICAgICBUeXBl
RnJhbWVQb2xpY3lMaXN0ZW5lciwKZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L1dLQVBJQ2FzdC5oIGIvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0LmgKaW5kZXgg
NWU5ZjM1My4uMjU1MzQ4NSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tB
UElDYXN0LmgKKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0LmgKQEAgLTQx
LDYgKzQxLDcgQEAgY2xhc3MgV2ViQ29udGV4dDsKIGNsYXNzIFdlYkZvcm1TdWJtaXNzaW9uTGlz
dGVuZXJQcm94eTsKIGNsYXNzIFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eTsKIGNsYXNzIFdl
YkZyYW1lUHJveHk7CitjbGFzcyBXZWJJbnNwZWN0b3JQcm94eTsKIGNsYXNzIFdlYk5hdmlnYXRp
b25EYXRhOwogY2xhc3MgV2ViUGFnZU5hbWVzcGFjZTsKIGNsYXNzIFdlYlBhZ2VQcm94eTsKQEAg
LTUyLDYgKzUzLDcgQEAgV0tfQUREX0FQSV9NQVBQSU5HKFdLQ29udGV4dFJlZiwgV2ViQ29udGV4
dCkKIFdLX0FERF9BUElfTUFQUElORyhXS0Zvcm1TdWJtaXNzaW9uTGlzdGVuZXJSZWYsIFdlYkZv
cm1TdWJtaXNzaW9uTGlzdGVuZXJQcm94eSkKIFdLX0FERF9BUElfTUFQUElORyhXS0ZyYW1lUG9s
aWN5TGlzdGVuZXJSZWYsIFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eSkKIFdLX0FERF9BUElf
TUFQUElORyhXS0ZyYW1lUmVmLCBXZWJGcmFtZVByb3h5KQorV0tfQUREX0FQSV9NQVBQSU5HKFdL
SW5zcGVjdG9yUmVmLCBXZWJJbnNwZWN0b3JQcm94eSkKIFdLX0FERF9BUElfTUFQUElORyhXS05h
dmlnYXRpb25EYXRhUmVmLCBXZWJOYXZpZ2F0aW9uRGF0YSkKIFdLX0FERF9BUElfTUFQUElORyhX
S1BhZ2VOYW1lc3BhY2VSZWYsIFdlYlBhZ2VOYW1lc3BhY2UpCiBXS19BRERfQVBJX01BUFBJTkco
V0tQYWdlUmVmLCBXZWJQYWdlUHJveHkpCmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS0luc3BlY3Rvci5jcHAgYi9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0luc3BlY3Rv
ci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmYxMWI3OAotLS0gL2Rl
di9udWxsCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLSW5zcGVjdG9yLmNwcApAQCAt
MCwwICsxLDQxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgIldLSW5zcGVjdG9yLmgiCisKKyNp
bmNsdWRlICJXS0FQSUNhc3QuaCIKKyNpbmNsdWRlICJXZWJJbnNwZWN0b3JQcm94eS5oIgorCit1
c2luZyBuYW1lc3BhY2UgV2ViS2l0OworCitXS1R5cGVJRCBXS0luc3BlY3RvckdldFR5cGVJRCgp
Cit7CisgICAgcmV0dXJuIHRvQVBJKFdlYkluc3BlY3RvclByb3h5OjpBUElUeXBlKTsKK30KKwor
V0tQYWdlUmVmIFdLSW5zcGVjdG9yR2V0UGFnZShXS0luc3BlY3RvclJlZiBpbnNwZWN0b3JSZWYp
Cit7CisgICAgcmV0dXJuIHRvQVBJKHRvSW1wbChpbnNwZWN0b3JSZWYpLT5wYWdlKCkpOworfQpk
aWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tJbnNwZWN0b3IuaCBiL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9DL1dLSW5zcGVjdG9yLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uODAwOWZmMQotLS0gL2Rldi9udWxsCisrKyBiL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLSW5zcGVjdG9yLmgKQEAgLTAsMCArMSw0NyBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5k
ZWYgV0tJbnNwZWN0b3JfaAorI2RlZmluZSBXS0luc3BlY3Rvcl9oCisKKyNpbmNsdWRlIDxXZWJL
aXQyL1dLQmFzZS5oPgorCisjaWZuZGVmIF9fY3BsdXNwbHVzCisjaW5jbHVkZSA8c3RkYm9vbC5o
PgorI2VuZGlmCisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKwor
V0tfRVhQT1JUIFdLVHlwZUlEIFdLSW5zcGVjdG9yR2V0VHlwZUlEKCk7CisKK1dLX0VYUE9SVCBX
S1BhZ2VSZWYgV0tJbnNwZWN0b3JHZXRQYWdlKFdLSW5zcGVjdG9yUmVmIGluc3BlY3Rvcik7CisK
KyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKKyNlbmRpZiAvLyBXS0luc3BlY3Rvcl9o
CmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwIGIvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAppbmRleCAzNmE3ZWY5Li43MWJmYTdjIDEwMDY0
NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCisrKyBiL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKQEAgLTE0Miw2ICsxNDIsMTEgQEAgV0tGcmFtZVJl
ZiBXS1BhZ2VHZXRNYWluRnJhbWUoV0tQYWdlUmVmIHBhZ2VSZWYpCiAgICAgcmV0dXJuIHRvQVBJ
KHRvSW1wbChwYWdlUmVmKS0+bWFpbkZyYW1lKCkpOwogfQogCitXS0luc3BlY3RvclJlZiBXS1Bh
Z2VHZXRJbnNwZWN0b3IoV0tQYWdlUmVmIHBhZ2VSZWYpCit7CisgICAgcmV0dXJuIHRvQVBJKHRv
SW1wbChwYWdlUmVmKS0+aW5zcGVjdG9yKCkpOworfQorCiBkb3VibGUgV0tQYWdlR2V0RXN0aW1h
dGVkUHJvZ3Jlc3MoV0tQYWdlUmVmIHBhZ2VSZWYpCiB7CiAgICAgcmV0dXJuIHRvSW1wbChwYWdl
UmVmKS0+ZXN0aW1hdGVkUHJvZ3Jlc3MoKTsKZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLUGFnZS5oIGIvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmgKaW5kZXgg
ZGIzMjI0My4uN2Y1MGJjZSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQ
YWdlLmgKKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmgKQEAgLTIwNiw2ICsy
MDYsOCBAQCBXS19FWFBPUlQgV0tTdHJpbmdSZWYgV0tQYWdlQ29weVRpdGxlKFdLUGFnZVJlZiBw
YWdlKTsKIFdLX0VYUE9SVCBXS0ZyYW1lUmVmIFdLUGFnZUdldE1haW5GcmFtZShXS1BhZ2VSZWYg
cGFnZSk7CiBXS19FWFBPUlQgZG91YmxlIFdLUGFnZUdldEVzdGltYXRlZFByb2dyZXNzKFdLUGFn
ZVJlZiBwYWdlKTsKIAorV0tfRVhQT1JUIFdLSW5zcGVjdG9yUmVmIFdLUGFnZUdldEluc3BlY3Rv
cihXS1BhZ2VSZWYgcGFnZSk7CisKIFdLX0VYUE9SVCB2b2lkIFdLUGFnZVNldEN1c3RvbVVzZXJB
Z2VudChXS1BhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgdXNlckFnZW50KTsKIAogV0tfRVhQT1JU
IHZvaWQgV0tQYWdlVGVybWluYXRlKFdLUGFnZVJlZiBwYWdlKTsKZGlmZiAtLWdpdCBhL1dlYktp
dDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmNwcCBiL1dlYktpdDIvVUlQcm9jZXNzL1dl
Ykluc3BlY3RvclByb3h5LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4z
ZjNhYjEyCi0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9y
UHJveHkuY3BwCkBAIC0wLDAgKzEsNDggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiV2ViSW5z
cGVjdG9yUHJveHkuaCIKKworI2luY2x1ZGUgIldlYlBhZ2VQcm94eS5oIgorCit1c2luZyBuYW1l
c3BhY2UgV2ViQ29yZTsKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK1dlYkluc3BlY3RvclByb3h5
OjpXZWJJbnNwZWN0b3JQcm94eShXZWJQYWdlUHJveHkqIHBhZ2UpCisgICAgOiBtX3BhZ2UocGFn
ZSkKK3sKK30KKworV2ViSW5zcGVjdG9yUHJveHk6On5XZWJJbnNwZWN0b3JQcm94eSgpCit7Cit9
CisKK3ZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OmludmFsaWRhdGUoKQoreworICAgIG1fcGFnZSA9
IDA7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuaCBiL1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3Rv
clByb3h5LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzA4ZjExYgotLS0g
L2Rldi9udWxsCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmgKQEAg
LTAsMCArMSw2MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV2ViSW5zcGVjdG9yUHJveHlfaAor
I2RlZmluZSBXZWJJbnNwZWN0b3JQcm94eV9oCisKKyNpbmNsdWRlICJBUElPYmplY3QuaCIKKyNp
bmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisKK25h
bWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBXZWJQYWdlUHJveHk7CisKK2NsYXNzIFdlYkluc3Bl
Y3RvclByb3h5IDogcHVibGljIEFQSU9iamVjdCB7CitwdWJsaWM6CisgICAgc3RhdGljIGNvbnN0
IFR5cGUgQVBJVHlwZSA9IFR5cGVJbnNwZWN0b3I7CisKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxX
ZWJJbnNwZWN0b3JQcm94eT4gY3JlYXRlKFdlYlBhZ2VQcm94eSogcGFnZSkKKyAgICB7CisgICAg
ICAgIHJldHVybiBhZG9wdFJlZihuZXcgV2ViSW5zcGVjdG9yUHJveHkocGFnZSkpOworICAgIH0K
KworICAgIH5XZWJJbnNwZWN0b3JQcm94eSgpOworCisgICAgdm9pZCBpbnZhbGlkYXRlKCk7CisK
KyAgICBXZWJQYWdlUHJveHkqIHBhZ2UoKSB7IHJldHVybiBtX3BhZ2U7IH0KKworcHJpdmF0ZToK
KyAgICBXZWJJbnNwZWN0b3JQcm94eShXZWJQYWdlUHJveHkqIHBhZ2UpOworCisgICAgdmlydHVh
bCBUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBBUElUeXBlOyB9CisKKyAgICBXZWJQYWdlUHJv
eHkqIG1fcGFnZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gV2Vi
SW5zcGVjdG9yUHJveHlfaApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcCBiL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggNGQyNTlm
ZC4uM2FkNzQ2YSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNw
cAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC05MTksNiArOTE5
LDE1IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkaWREcmF3KCkKICAgICBtX3VpQ2xpZW50LmRpZERy
YXcodGhpcyk7CiB9CiAKKy8vIEluc3BlY3RvcgorCitXZWJJbnNwZWN0b3JQcm94eSogV2ViUGFn
ZVByb3h5OjppbnNwZWN0b3IoKSBjb25zdAoreworICAgIGlmICghbV9pbnNwZWN0b3IpCisgICAg
ICAgIG1faW5zcGVjdG9yID0gV2ViSW5zcGVjdG9yUHJveHk6OmNyZWF0ZShjb25zdF9jYXN0PFdl
YlBhZ2VQcm94eSo+KHRoaXMpKTsKKyAgICByZXR1cm4gbV9pbnNwZWN0b3IuZ2V0KCk7Cit9CisK
IC8vIEJhY2tGb3J3YXJkTGlzdAogCiB2b2lkIFdlYlBhZ2VQcm94eTo6YmFja0ZvcndhcmRBZGRJ
dGVtKHVpbnQ2NF90IGl0ZW1JRCkKQEAgLTExNTksNiArMTE2OCwxMSBAQCB2b2lkIFdlYlBhZ2VQ
cm94eTo6cHJvY2Vzc0RpZENyYXNoKCkKIAogICAgIG1fbWFpbkZyYW1lID0gMDsKIAorICAgIGlm
IChtX2luc3BlY3RvcikgeworICAgICAgICBtX2luc3BlY3Rvci0+aW52YWxpZGF0ZSgpOworICAg
ICAgICBtX2luc3BlY3RvciA9IDA7CisgICAgfQorCiAgICAgbV9wYWdlVGl0bGUgPSBTdHJpbmco
KTsKICAgICBtX3Rvb2xUaXAgPSBTdHJpbmcoKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmggYi9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApp
bmRleCA2OWM3YTcyLi4wMWVhZmY0IDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuaAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMzcs
NiArMzcsNyBAQAogI2luY2x1ZGUgIldlYkZvcm1DbGllbnQuaCIKICNpbmNsdWRlICJXZWJGcmFt
ZVByb3h5LmgiCiAjaW5jbHVkZSAiV2ViSGlzdG9yeUNsaWVudC5oIgorI2luY2x1ZGUgIldlYklu
c3BlY3RvclByb3h5LmgiCiAjaW5jbHVkZSAiV2ViTG9hZGVyQ2xpZW50LmgiCiAjaW5jbHVkZSAi
V2ViUG9saWN5Q2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViVUlDbGllbnQuaCIKQEAgLTEwOCw2ICsx
MDksOCBAQCBwdWJsaWM6CiAKICAgICBXZWJCYWNrRm9yd2FyZExpc3QqIGJhY2tGb3J3YXJkTGlz
dCgpIHsgcmV0dXJuIG1fYmFja0ZvcndhcmRMaXN0LmdldCgpOyB9CiAKKyAgICBXZWJJbnNwZWN0
b3JQcm94eSogaW5zcGVjdG9yKCkgY29uc3Q7CisKICAgICB2b2lkIHNldFBhZ2VDbGllbnQoUGFn
ZUNsaWVudCopOwogICAgIHZvaWQgaW5pdGlhbGl6ZUxvYWRlckNsaWVudChjb25zdCBXS1BhZ2VM
b2FkZXJDbGllbnQqKTsKICAgICB2b2lkIGluaXRpYWxpemVQb2xpY3lDbGllbnQoY29uc3QgV0tQ
YWdlUG9saWN5Q2xpZW50Kik7CkBAIC0zMjMsNiArMzI2LDggQEAgcHJpdmF0ZToKICAgICBSZWZQ
dHI8V2ViRnJhbWVQcm94eT4gbV9tYWluRnJhbWU7CiAgICAgU3RyaW5nIG1fcGFnZVRpdGxlOwog
CisgICAgbXV0YWJsZSBSZWZQdHI8V2ViSW5zcGVjdG9yUHJveHk+IG1faW5zcGVjdG9yOworCiAg
ICAgSGFzaE1hcDx1aW50NjRfdCwgUmVmUHRyPFNjcmlwdFJldHVyblZhbHVlQ2FsbGJhY2s+ID4g
bV9zY3JpcHRSZXR1cm5WYWx1ZUNhbGxiYWNrczsKICAgICBIYXNoTWFwPHVpbnQ2NF90LCBSZWZQ
dHI8UmVuZGVyVHJlZUV4dGVybmFsUmVwcmVzZW50YXRpb25DYWxsYmFjaz4gPiBtX3JlbmRlclRy
ZWVFeHRlcm5hbFJlcHJlc2VudGF0aW9uQ2FsbGJhY2tzOwogICAgIEhhc2hNYXA8dWludDY0X3Qs
IFJlZlB0cjxGcmFtZVNvdXJjZUNhbGxiYWNrPiA+IG1fZnJhbWVTb3VyY2VDYWxsYmFja3M7CmRp
ZmYgLS1naXQgYS9XZWJLaXQyL1dlYktpdDIucHJvIGIvV2ViS2l0Mi9XZWJLaXQyLnBybwppbmRl
eCBmMDRkNTJlLi5jOGZiYzQ4IDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYktpdDIucHJvCisrKyBi
L1dlYktpdDIvV2ViS2l0Mi5wcm8KQEAgLTIyOSw2ICsyMjksNyBAQCBIRUFERVJTICs9IFwKICAg
ICBVSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0UHJpdmF0ZS5oIFwKICAgICBVSVByb2Nlc3MvQVBJ
L0MvV0tGcmFtZS5oIFwKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tGcmFtZVBvbGljeUxpc3RlbmVy
LmggXAorICAgIFVJUHJvY2Vzcy9BUEkvQy9XS0luc3BlY3Rvci5oIFwKICAgICBVSVByb2Nlc3Mv
QVBJL0MvV0tOYXZpZ2F0aW9uRGF0YS5oIFwKICAgICBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmgg
XAogICAgIFVJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VOYW1lc3BhY2UuaCBcCkBAIC0yNjgsNiArMjY5
LDcgQEAgSEVBREVSUyArPSBcCiAgICAgVUlQcm9jZXNzL1dlYkZyYW1lUG9saWN5TGlzdGVuZXJQ
cm94eS5oIFwKICAgICBVSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oIFwKICAgICBVSVByb2Nlc3Mv
V2ViSGlzdG9yeUNsaWVudC5oIFwKKyAgICBVSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuaCBc
CiAgICAgVUlQcm9jZXNzL1dlYkxvYWRlckNsaWVudC5oIFwKICAgICBVSVByb2Nlc3MvV2ViTmF2
aWdhdGlvbkRhdGEuaCBcCiAgICAgVUlQcm9jZXNzL1dlYlBhZ2VOYW1lc3BhY2UuaCBcCkBAIC0z
MjEsNiArMzIzLDcgQEAgSEVBREVSUyArPSBcCiAgICAgV2ViUHJvY2Vzcy9XZWJQYWdlL1BhZ2VP
dmVybGF5LmggXAogICAgIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJFZGl0Q29tbWFuZC5oIFwKICAg
ICBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViRnJhbWUuaCBcCisgICAgV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYkluc3BlY3Rvci5oIFwKICAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIFwKICAg
ICBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaCBcCiAgICAgJCRXRUJLSVQyX0dFTkVSQVRFRF9IRUFE
RVJTCkBAIC0zNzcsNiArMzgwLDcgQEAgU09VUkNFUyArPSBcCiAgICAgVUlQcm9jZXNzL0FQSS9D
L1dLQ29udGV4dC5jcHAgXAogICAgIFVJUHJvY2Vzcy9BUEkvQy9XS0ZyYW1lLmNwcCBcCiAgICAg
VUlQcm9jZXNzL0FQSS9DL1dLRnJhbWVQb2xpY3lMaXN0ZW5lci5jcHAgXAorICAgIFVJUHJvY2Vz
cy9BUEkvQy9XS0luc3BlY3Rvci5jcHAgXAogICAgIFVJUHJvY2Vzcy9BUEkvQy9XS05hdmlnYXRp
b25EYXRhLmNwcCBcCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAgXAogICAgIFVJUHJv
Y2Vzcy9BUEkvQy9XS1BhZ2VOYW1lc3BhY2UuY3BwIFwKQEAgLTQxMiw2ICs0MTYsNyBAQCBTT1VS
Q0VTICs9IFwKICAgICBVSVByb2Nlc3MvV2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5LmNwcCBc
CiAgICAgVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwIFwKICAgICBVSVByb2Nlc3MvV2ViSGlz
dG9yeUNsaWVudC5jcHAgXAorICAgIFVJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5jcHAgXAog
ICAgIFVJUHJvY2Vzcy9XZWJMb2FkZXJDbGllbnQuY3BwIFwKICAgICBVSVByb2Nlc3MvV2ViTmF2
aWdhdGlvbkRhdGEuY3BwIFwKICAgICBVSVByb2Nlc3MvV2ViUGFnZU5hbWVzcGFjZS5jcHAgXApA
QCAtNDY5LDYgKzQ3NCw3IEBAIFNPVVJDRVMgKz0gXAogICAgIFdlYlByb2Nlc3MvV2ViUGFnZS9Q
YWdlT3ZlcmxheS5jcHAgXAogICAgIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJFZGl0Q29tbWFuZC5j
cHAgXAogICAgIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJGcmFtZS5jcHAgXAorICAgIFdlYlByb2Nl
c3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuY3BwIFwKICAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5jcHAgXAogICAgIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJCYWNrRm9yd2FyZExpc3RQcm94
eS5jcHAgXAogICAgIFdlYlByb2Nlc3MvV2ViUGFnZS9xdC9DaHVua2VkVXBkYXRlRHJhd2luZ0Fy
ZWFRdC5jcHAgXApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCA5Yzk3ZjI5Li4wNmUzNzQyIDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagorKysgYi9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtMTUxLDYgKzE1MSwxMiBAQAogCQkxQUVGRDJGNzExRDE4MDdCMDA4MjE5RDMg
LyogQXJndW1lbnRDb2RlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDFBRUZEMkY2MTFEMTgwN0IwMDgyMTlEMyAvKiBBcmd1bWVudENvZGVycy5oICov
OyB9OwogCQkxQzhFMjVBODEyNzBFM0JCMDBCQzdCRDAgLyogV2ViSW5zcGVjdG9yRnJvbnRlbmRD
bGllbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MUM4RTI1NkIxMjcwREUzODAwQkM3QkQwIC8qIFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50LmNw
cCAqLzsgfTsKIAkJMUM4RTI1QTkxMjcwRTNCQzAwQkM3QkQwIC8qIFdlYkluc3BlY3RvckZyb250
ZW5kQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxQzhFMjU2QTEyNzBERTM4MDBCQzdCRDAgLyogV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQu
aCAqLzsgfTsKKwkJMUM4RTI4MjAxMjc1RDE1NDAwQkM3QkQwIC8qIFdlYkluc3BlY3Rvci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUM4RTI4MUUxMjc1
RDE1NDAwQkM3QkQwIC8qIFdlYkluc3BlY3Rvci5oICovOyB9OworCQkxQzhFMjgyMTEyNzVEMTU0
MDBCQzdCRDAgLyogV2ViSW5zcGVjdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDFDOEUyODFGMTI3NUQxNTQwMEJDN0JEMCAvKiBXZWJJbnNwZWN0
b3IuY3BwICovOyB9OworCQkxQzhFMjgzNDEyNzVENzM4MDBCQzdCRDAgLyogV2ViSW5zcGVjdG9y
UHJveHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFD
OEUyODMyMTI3NUQ3MzgwMEJDN0JEMCAvKiBXZWJJbnNwZWN0b3JQcm94eS5oICovOyB9OworCQkx
QzhFMjgzNTEyNzVENzM4MDBCQzdCRDAgLyogV2ViSW5zcGVjdG9yUHJveHkuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUM4RTI4MzMxMjc1RDczODAw
QkM3QkQwIC8qIFdlYkluc3BlY3RvclByb3h5LmNwcCAqLzsgfTsKKwkJMUM4RTI5MzkxMjc2MUU1
QjAwQkM3QkQwIC8qIFdLSW5zcGVjdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxQzhFMjkzNzEyNzYxRTVCMDBCQzdCRDAgLyogV0tJbnNwZWN0b3Iu
aCAqLzsgfTsKKwkJMUM4RTI5M0ExMjc2MUU1QjAwQkM3QkQwIC8qIFdLSW5zcGVjdG9yLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDOEUyOTM4MTI3
NjFFNUIwMEJDN0JEMCAvKiBXS0luc3BlY3Rvci5jcHAgKi87IH07CiAJCTUxNTc4QjgzMTIwOUVD
RUYwMEEzN0M0QSAvKiBXZWJEYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1MTU3OEI4MjEyMDlFQ0VGMDBBMzdDNEEgLyogV2ViRGF0YS5oICovOyB9
OwogCQk1MTZBNEE1RDEyMEEyQ0NEMDBDMDVCN0YgLyogV2ViRXJyb3IuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNkE0QTVCMTIwQTJDQ0QwMEMwNUI3
RiAvKiBXZWJFcnJvci5oICovOyB9OwogCQk1MUE3RjJGMzEyNUJGODIwMDA4QUVCMUQgLyogTG9n
Z2luZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFB
N0YyRjIxMjVCRjgyMDAwOEFFQjFEIC8qIExvZ2dpbmcuaCAqLzsgfTsKQEAgLTQ4MCw3ICs0ODYs
NyBAQAogCQkJaXNhID0gUEJYQ29udGFpbmVySXRlbVByb3h5OwogCQkJY29udGFpbmVyUG9ydGFs
ID0gMDg2N0Q2OTBGRTg0MDI4RkMwMkFBQzA3IC8qIFByb2plY3Qgb2JqZWN0ICovOwogCQkJcHJv
eHlUeXBlID0gMTsKLQkJCXJlbW90ZUdsb2JhbElEU3RyaW5nID0gQzBDRTcyODUxMjQ3RTY2ODAw
QkMwRUM0IC8qIERlcml2ZWQgU291cmNlcyAqLzsKKwkJCXJlbW90ZUdsb2JhbElEU3RyaW5nID0g
QzBDRTcyODUxMjQ3RTY2ODAwQkMwRUM0OwogCQkJcmVtb3RlSW5mbyA9ICJEZXJpdmVkIFNvdXJj
ZXMiOwogCQl9OwogLyogRW5kIFBCWENvbnRhaW5lckl0ZW1Qcm94eSBzZWN0aW9uICovCkBAIC02
MjYsNiArNjMyLDEyIEBACiAJCTFBRUZEMkY2MTFEMTgwN0IwMDgyMTlEMyAvKiBBcmd1bWVudENv
ZGVycy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBcmd1bWVudENvZGVycy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzhFMjU2QTEyNzBERTM4MDBCQzdCRDAg
LyogV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMUM4RTI1NkIxMjcwREUzODAwQkM3QkQwIC8qIFdlYkluc3BlY3RvckZyb250
ZW5kQ2xpZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYklu
c3BlY3RvckZyb250ZW5kQ2xpZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MUM4RTI4MUUxMjc1RDE1NDAwQkM3QkQwIC8qIFdlYkluc3BlY3Rvci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBXZWJJbnNwZWN0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMUM4RTI4MUYxMjc1RDE1NDAwQkM3QkQwIC8qIFdlYkluc3BlY3Rvci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJJbnNwZWN0b3IuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzhFMjgzMjEyNzVENzM4MDBCQzdCRDAgLyogV2Vi
SW5zcGVjdG9yUHJveHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViSW5z
cGVjdG9yUHJveHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUM4RTI4MzMxMjc1
RDczODAwQkM3QkQwIC8qIFdlYkluc3BlY3RvclByb3h5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkluc3BlY3RvclByb3h5LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMUM4RTI5MzcxMjc2MUU1QjAwQkM3QkQwIC8qIFdLSW5zcGVjdG9yLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLSW5zcGVjdG9yLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDOEUyOTM4MTI3NjFFNUIwMEJDN0JEMCAvKiBXS0luc3Bl
Y3Rvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXS0luc3BlY3Rv
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMyREJDRjVFMDM3MEFERUUwMEM5
MTc4MyAvKiBXZWJLaXQyUHJlZml4LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFdlYktpdDJQcmVmaXguaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTE1NzhCODIx
MjA5RUNFRjAwQTM3QzRBIC8qIFdlYkRhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gV2ViRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTZBNEE1QjEy
MEEyQ0NEMDBDMDVCN0YgLyogV2ViRXJyb3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gV2ViRXJyb3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTk4Myw2ICs5
OTUsOCBAQAogCQkJKTsKIAkJCW5hbWUgPSBQcm9kdWN0czsKIAkJCXNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7CisJCQl0YWJXaWR0aCA9IDg7CisJCQl1c2VzVGFicyA9IDA7CiAJCX07CiAJCTA4NjdE
NjkxRkU4NDAyOEZDMDJBQUMwNyAvKiBXZWJLaXQyICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7
CkBAIC0xMDEyLDYgKzEwMjYsOCBAQAogCQkJKTsKIAkJCW5hbWUgPSAiRXh0ZXJuYWwgRnJhbWV3
b3JrcyBhbmQgTGlicmFyaWVzIjsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCQl0YWJX
aWR0aCA9IDg7CisJCQl1c2VzVGFicyA9IDA7CiAJCX07CiAJCTA4OUMxNjY1RkU4NDExNThDMDJB
QUMwNyAvKiBSZXNvdXJjZXMgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKQEAgLTEwMjMsNiAr
MTAzOSw4IEBACiAJCQkpOwogCQkJbmFtZSA9IFJlc291cmNlczsKIAkJCXNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7CisJCQl0YWJXaWR0aCA9IDg7CisJCQl1c2VzVGFicyA9IDA7CiAJCX07CiAJCTEw
NThDN0IwRkVBNTU4NUUxMUNBMkNCQiAvKiBMaW5rZWQgRnJhbWV3b3JrcyAqLyA9IHsKIAkJCWlz
YSA9IFBCWEdyb3VwOwpAQCAtMTA2NSw2ICsxMDgzLDggQEAKIAkJCSk7CiAJCQlwYXRoID0gUGx1
Z2luUHJvY2VzczsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCQl0YWJXaWR0aCA9IDg7
CisJCQl1c2VzVGFicyA9IDA7CiAJCX07CiAJCTFBMEVDN0ZEMTI0QkQ0MDIwMDdFRjRBNSAvKiBt
YWMgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKQEAgLTEwODcsNiArMTEwNyw4IEBACiAJCQkp
OwogCQkJcGF0aCA9IENvbmZpZ3VyYXRpb25zOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsK
KwkJCXRhYldpZHRoID0gODsKKwkJCXVzZXNUYWJzID0gMDsKIAkJfTsKIAkJMUE2RkEwMUMxMUUx
NTI2MzAwREIxMzcxIC8qIG1hYyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwpAQCAtMTIyMyw2
ICsxMjQ1LDggQEAKIAkJCSk7CiAJCQlwYXRoID0gU2hhcmVkOwogCQkJc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsKKwkJCXRhYldpZHRoID0gODsKKwkJCXVzZXNUYWJzID0gMDsKIAkJfTsKIAkJMUFC
NUExQkExMEUwMjFEMzAwNDBGNkNGIC8qIENvcmVJUEMgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91
cDsKQEAgLTEyODEsNiArMTMwNSw4IEBACiAJCQkpOwogCQkJbmFtZSA9ICJPdGhlciBTb3VyY2Vz
IjsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCQl0YWJXaWR0aCA9IDg7CisJCQl1c2Vz
VGFicyA9IDA7CiAJCX07CiAJCTUxQjMwMDREMTI1MjlDRjUwMDBCNUNBMCAvKiBjZiAqLyA9IHsK
IAkJCWlzYSA9IFBCWEdyb3VwOwpAQCAtMTMwNyw2ICsxMzMzLDggQEAKIAkJCSk7CiAJCQlwYXRo
ID0gV2ViUHJvY2VzczsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCQl0YWJXaWR0aCA9
IDg7CisJCQl1c2VzVGFicyA9IDA7CiAJCX07CiAJCUJDMDMyRDVEMTBGNDM3MjIwMDU4QzE1QSAv
KiBXZWJDb3JlU3VwcG9ydCAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwpAQCAtMTM2MSw2ICsx
Mzg5LDggQEAKIAkJCQlCQ0EwRUY3RDEyMzMxRTc4MDA3RDNDRkIgLyogV2ViRWRpdENvbW1hbmQu
aCAqLywKIAkJCQlCQzExMUFEQzExMkY1QjkzMDAzMzdCQUIgLyogV2ViRnJhbWUuY3BwICovLAog
CQkJCUJDMDMyRDg5MTBGNDM3QTAwMDU4QzE1QSAvKiBXZWJGcmFtZS5oICovLAorCQkJCTFDOEUy
ODFGMTI3NUQxNTQwMEJDN0JEMCAvKiBXZWJJbnNwZWN0b3IuY3BwICovLAorCQkJCTFDOEUyODFF
MTI3NUQxNTQwMEJDN0JEMCAvKiBXZWJJbnNwZWN0b3IuaCAqLywKIAkJCQlCQzk2M0Q2QTExM0RE
MTkyMDA1NzRCRTIgLyogV2ViUGFnZS5jcHAgKi8sCiAJCQkJQkMwMzJEOEIxMEY0MzdBMDAwNThD
MTVBIC8qIFdlYlBhZ2UuaCAqLywKIAkJCQlDMENFNzI1ODEyNDdFNERBMDBCQzBFQzQgLyogV2Vi
UGFnZS5tZXNzYWdlcy5pbiAqLywKQEAgLTE0MTYsNiArMTQ0Niw4IEBACiAJCQkJQkM5QjM4OUYx
MEY1MzhCRTAwNDQzQTE1IC8qIFdlYkZyYW1lUHJveHkuaCAqLywKIAkJCQlCQ0Y2OUY4NDExNzZD
RDZGMDA0NzFBNTIgLyogV2ViSGlzdG9yeUNsaWVudC5jcHAgKi8sCiAJCQkJQkNGNjlGODUxMTc2
Q0Q2RjAwNDcxQTUyIC8qIFdlYkhpc3RvcnlDbGllbnQuaCAqLywKKwkJCQkxQzhFMjgzMzEyNzVE
NzM4MDBCQzdCRDAgLyogV2ViSW5zcGVjdG9yUHJveHkuY3BwICovLAorCQkJCTFDOEUyODMyMTI3
NUQ3MzgwMEJDN0JEMCAvKiBXZWJJbnNwZWN0b3JQcm94eS5oICovLAogCQkJCUJDQjlFNzYxMTEy
MzJCOUUwMEExMzdFMCAvKiBXZWJMb2FkZXJDbGllbnQuY3BwICovLAogCQkJCUJDNTk1MzQwMTBG
QzA0NTIwMDk4RjgyRCAvKiBXZWJMb2FkZXJDbGllbnQuaCAqLywKIAkJCQlCQ0Y2OUZBMTExNzZE
MDE0MDA0NzFBNTIgLyogV2ViTmF2aWdhdGlvbkRhdGEuY3BwICovLApAQCAtMTQzOSw2ICsxNDcx
LDggQEAKIAkJCSk7CiAJCQlwYXRoID0gVUlQcm9jZXNzOwogCQkJc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsKKwkJCXRhYldpZHRoID0gODsKKwkJCXVzZXNUYWJzID0gMDsKIAkJfTsKIAkJQkMwMzJE
QzQxMEY0Mzg3QzAwNThDMTVBIC8qIEFQSSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwpAQCAt
MTQ2OCw2ICsxNTAyLDggQEAKIAkJCQlCQ0QwMTM5NzExMEZBNDIwMDAzQjhBNjcgLyogV0tGcmFt
ZS5oICovLAogCQkJCUJDQjlGNkE0MTEyM0REMEQwMEExMzdFMCAvKiBXS0ZyYW1lUG9saWN5TGlz
dGVuZXIuY3BwICovLAogCQkJCUJDQjlGNkEzMTEyM0REMEQwMEExMzdFMCAvKiBXS0ZyYW1lUG9s
aWN5TGlzdGVuZXIuaCAqLywKKwkJCQkxQzhFMjkzODEyNzYxRTVCMDBCQzdCRDAgLyogV0tJbnNw
ZWN0b3IuY3BwICovLAorCQkJCTFDOEUyOTM3MTI3NjFFNUIwMEJDN0JEMCAvKiBXS0luc3BlY3Rv
ci5oICovLAogCQkJCUMwOUFFNUU4MTI1MjU3QzIwMDI1ODI1RCAvKiBXS05hdGl2ZUV2ZW50Lmgg
Ki8sCiAJCQkJQkNGNjlGQTgxMTc2RDFDQjAwNDcxQTUyIC8qIFdLTmF2aWdhdGlvbkRhdGEuY3Bw
ICovLAogCQkJCUJDRjY5RkE3MTE3NkQxQ0IwMDQ3MUE1MiAvKiBXS05hdmlnYXRpb25EYXRhLmgg
Ki8sCkBAIC0xNjQ5LDYgKzE2ODUsOCBAQAogCQkJKTsKIAkJCXBhdGggPSBQbGF0Zm9ybTsKIAkJ
CXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCQl0YWJXaWR0aCA9IDg7CisJCQl1c2VzVGFicyA9
IDA7CiAJCX07CiAJCUJDNDA3NUQ1MTI0RkVGRkEwMDY4RjIwQSAvKiBjZiAqLyA9IHsKIAkJCWlz
YSA9IFBCWEdyb3VwOwpAQCAtMTc0MywxMiArMTc4MSwxMiBAQAogCQlCQ0REQjMxNDEyNEVCQ0VG
MDA0OEQxM0MgLyogQVBJICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9
ICgKLQkJCQlCQ0REQjMxNTEyNEVCQ0ZFMDA0OEQxM0MgLyogYyAqLywKKwkJCQlCQ0REQjMxNTEy
NEVCQ0ZFMDA0OEQxM0MgLyogQyAqLywKIAkJCSk7CiAJCQlwYXRoID0gQVBJOwogCQkJc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKLQkJQkNEREIzMTUxMjRFQkNGRTAwNDhEMTNDIC8qIGMg
Ki8gPSB7CisJCUJDRERCMzE1MTI0RUJDRkUwMDQ4RDEzQyAvKiBDICovID0gewogCQkJaXNhID0g
UEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKIAkJCQlCQzQwNzVENTEyNEZFRkZBMDA2OEYyMEEg
LyogY2YgKi8sCkBAIC0xNzkwLDYgKzE4MjgsNyBAQAogCQkJCUY2MTEzRTI2MTI2Q0UxOUIwMDU3
RDBBNyAvKiBXS1VzZXJDb250ZW50VVJMUGF0dGVybi5jcHAgKi8sCiAJCQkJRjYxMTNFMjcxMjZD
RTE5QjAwNTdEMEE3IC8qIFdLVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmggKi8sCiAJCQkpOworCQkJ
bmFtZSA9IEM7CiAJCQlwYXRoID0gYzsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07
CkBAIC0xODI0LDYgKzE4NjMsOCBAQAogCQkJbmFtZSA9ICJEZXJpdmVkIFNvdXJjZXMiOwogCQkJ
cGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDI7CiAJCQlzb3VyY2VUcmVlID0gQlVJTFRfUFJP
RFVDVFNfRElSOworCQkJdGFiV2lkdGggPSA4OworCQkJdXNlc1RhYnMgPSAwOwogCQl9OwogCQlD
MENFNzMzNTEyNDdGNzBFMDBCQzBFQzQgLyogU2NyaXB0cyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdy
b3VwOwpAQCAtMTgzNCw2ICsxODc1LDggQEAKIAkJCSk7CiAJCQlwYXRoID0gU2NyaXB0czsKIAkJ
CXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCQl0YWJXaWR0aCA9IDg7CisJCQl1c2VzVGFicyA9
IDA7CiAJCX07CiAJCUMwQ0U3MzM4MTI0N0Y3MEUwMEJDMEVDNCAvKiB3ZWJraXQyICovID0gewog
CQkJaXNhID0gUEJYR3JvdXA7CkBAIC0yMDcxLDYgKzIxMTQsOSBAQAogCQkJCUY2MTEzRTI1MTI2
Q0UxODIwMDU3RDBBNyAvKiBXZWJVc2VyQ29udGVudFVSTFBhdHRlcm4uaCBpbiBIZWFkZXJzICov
LAogCQkJCUY2MTEzRTI5MTI2Q0UxOUIwMDU3RDBBNyAvKiBXS1VzZXJDb250ZW50VVJMUGF0dGVy
bi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUM4RTI1QTkxMjcwRTNCQzAwQkM3QkQwIC8qIFdlYklu
c3BlY3RvckZyb250ZW5kQ2xpZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQkxQzhFMjgyMDEyNzVE
MTU0MDBCQzdCRDAgLyogV2ViSW5zcGVjdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQkxQzhFMjgz
NDEyNzVENzM4MDBCQzdCRDAgLyogV2ViSW5zcGVjdG9yUHJveHkuaCBpbiBIZWFkZXJzICovLAor
CQkJCTFDOEUyOTM5MTI3NjFFNUIwMEJDN0JEMCAvKiBXS0luc3BlY3Rvci5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJ
CX07CkBAIC0yMzg1LDYgKzI0MzEsOSBAQAogCQkJCUY2MTEzRTI4MTI2Q0UxOUIwMDU3RDBBNyAv
KiBXS1VzZXJDb250ZW50VVJMUGF0dGVybi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzU3NTYx
MzEyNkUwMTM4MDA2RjBGMTIgLyogV2ViRXJyb3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUM4
RTI1QTgxMjcwRTNCQjAwQkM3QkQwIC8qIFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50LmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTFDOEUyODIxMTI3NUQxNTQwMEJDN0JEMCAvKiBXZWJJbnNwZWN0
b3IuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMUM4RTI4MzUxMjc1RDczODAwQkM3QkQwIC8qIFdl
Ykluc3BlY3RvclByb3h5LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTFDOEUyOTNBMTI3NjFFNUIw
MEJDN0JEMCAvKiBXS0luc3BlY3Rvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5P
bmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3Rvci5jcHAgYi9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLjBlNmU1MTcKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJJbnNwZWN0b3IuY3BwCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiV2ViSW5zcGVjdG9yLmgiCisKKyNpbmNsdWRlICJXZWJQYWdlLmgiCisKK3VzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0IHsKKworV2ViSW5zcGVjdG9y
OjpXZWJJbnNwZWN0b3IoV2ViUGFnZSogcGFnZSkKKyAgICA6IG1fcGFnZShwYWdlKQoreworfQor
Cit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYkluc3BlY3Rvci5oIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5z
cGVjdG9yLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjE0OGQzZQotLS0g
L2Rldi9udWxsCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3Rvci5o
CkBAIC0wLDAgKzEsNDkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdlYkluc3BlY3Rvcl9oCisj
ZGVmaW5lIFdlYkluc3BlY3Rvcl9oCisKKyNpbmNsdWRlICJDb25uZWN0aW9uLmgiCisjaW5jbHVk
ZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KKworbmFtZXNw
YWNlIFdlYktpdCB7CisKK2NsYXNzIFdlYlBhZ2U7CisKK2NsYXNzIFdlYkluc3BlY3RvciB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViSW5zcGVjdG9yKTsKKworcHVibGljOgorICAgIGV4
cGxpY2l0IFdlYkluc3BlY3RvcihXZWJQYWdlKik7CisKK3ByaXZhdGU6CisgICAgV2ViUGFnZSog
bV9wYWdlOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBXZWJJbnNw
ZWN0b3JfaApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHAgYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCBmNWViZjc1
Li43Y2EzMGQyIDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtNDUs
NiArNDUsNyBAQAogI2luY2x1ZGUgIldlYkV2ZW50LmgiCiAjaW5jbHVkZSAiV2ViRXZlbnRDb252
ZXJzaW9uLmgiCiAjaW5jbHVkZSAiV2ViRnJhbWUuaCIKKyNpbmNsdWRlICJXZWJJbnNwZWN0b3Iu
aCIKICNpbmNsdWRlICJXZWJJbnNwZWN0b3JDbGllbnQuaCIKICNpbmNsdWRlICJXZWJQYWdlQ3Jl
YXRpb25QYXJhbWV0ZXJzLmgiCiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5TWVzc2FnZXMuaCIKQEAg
LTc0MSw2ICs3NDIsMTMgQEAgdm9pZCBXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyhjb25zdCBX
ZWJQcmVmZXJlbmNlc1N0b3JlJiBzdG9yZSkKICAgICBwbGF0Zm9ybVByZWZlcmVuY2VzRGlkQ2hh
bmdlKHN0b3JlKTsKIH0KIAorV2ViSW5zcGVjdG9yKiBXZWJQYWdlOjppbnNwZWN0b3IoKSBjb25z
dAoreworICAgIGlmICghbV9pbnNwZWN0b3IpCisgICAgICAgIG1faW5zcGVjdG9yID0gYWRvcHRQ
dHIobmV3IFdlYkluc3BlY3Rvcihjb25zdF9jYXN0PFdlYlBhZ2UqPih0aGlzKSkpOworICAgIHJl
dHVybiBtX2luc3BlY3Rvci5nZXQoKTsKK30KKwogYm9vbCBXZWJQYWdlOjpoYW5kbGVFZGl0aW5n
S2V5Ym9hcmRFdmVudChLZXlib2FyZEV2ZW50KiBldnQpCiB7CiAgICAgTm9kZSogbm9kZSA9IGV2
dC0+dGFyZ2V0KCktPnRvTm9kZSgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5oIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmlu
ZGV4IDIzOTNjNDIuLmIyZDQ0Y2MgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuaAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgK
QEAgLTY4LDYgKzY4LDcgQEAgY2xhc3MgUGFnZU92ZXJsYXk7CiBjbGFzcyBQbHVnaW5WaWV3Owog
Y2xhc3MgV2ViRXZlbnQ7CiBjbGFzcyBXZWJGcmFtZTsKK2NsYXNzIFdlYkluc3BlY3RvcjsKIGNs
YXNzIFdlYktleWJvYXJkRXZlbnQ7CiBjbGFzcyBXZWJNb3VzZUV2ZW50OwogY2xhc3MgV2ViUG9w
dXBNZW51OwpAQCAtOTUsNiArOTYsOCBAQCBwdWJsaWM6CiAKICAgICBEcmF3aW5nQXJlYSogZHJh
d2luZ0FyZWEoKSBjb25zdCB7IHJldHVybiBtX2RyYXdpbmdBcmVhLmdldCgpOyB9CiAKKyAgICBX
ZWJJbnNwZWN0b3IqIGluc3BlY3RvcigpIGNvbnN0OworCiAgICAgLy8gLS0gQ2FsbGVkIGJ5IHRo
ZSBEcmF3aW5nQXJlYS4KICAgICAvLyBGSVhNRTogV2UgY291bGQgZ2VuZXJpY2l6ZSB0aGVzZSBp
bnRvIGEgRHJhd2luZ0FyZWEgY2xpZW50IGludGVyZmFjZS4gV291bGQgdGhhdCBiZSBiZW5lZmlj
aWFsPwogICAgIHZvaWQgZHJhd1JlY3QoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0JiwgY29uc3Qg
V2ViQ29yZTo6SW50UmVjdCYpOwpAQCAtMjcwLDYgKzI3Myw4IEBAIHByaXZhdGU6CiAgICAgRmlu
ZENvbnRyb2xsZXIgbV9maW5kQ29udHJvbGxlcjsKICAgICBPd25QdHI8UGFnZU92ZXJsYXk+IG1f
cGFnZU92ZXJsYXk7CiAKKyAgICBtdXRhYmxlIE93blB0cjxXZWJJbnNwZWN0b3I+IG1faW5zcGVj
dG9yOworCiAgICAgUmVmUHRyPFdlYlBvcHVwTWVudT4gbV9hY3RpdmVQb3B1cE1lbnU7CiAKICAg
ICB1aW50NjRfdCBtX3BhZ2VJRDsKZGlmZiAtLWdpdCBhL1dlYktpdDIvd2luL1dlYktpdDIudmNw
cm9qIGIvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2oKaW5kZXggOGVmZTBlYy4uMjdmMTM5YiAx
MDA3NTUKLS0tIGEvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2oKKysrIGIvV2ViS2l0Mi93aW4v
V2ViS2l0Mi52Y3Byb2oKQEAgLTExODgsNiArMTE4OCwxNCBAQAogCQkJCQk+DQogCQkJCTwvRmls
ZT4NCiAJCQkJPEZpbGUNCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cV2ViUHJvY2Vzc1xXZWJQYWdl
XFdlYkluc3BlY3Rvci5jcHAiDQorCQkJCQk+DQorCQkJCTwvRmlsZT4NCisJCQkJPEZpbGUNCisJ
CQkJCVJlbGF0aXZlUGF0aD0iLi5cV2ViUHJvY2Vzc1xXZWJQYWdlXFdlYkluc3BlY3Rvci5oIg0K
KwkJCQkJPg0KKwkJCQk8L0ZpbGU+DQorCQkJCTxGaWxlDQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XFdlYlByb2Nlc3NcV2ViUGFnZVxXZWJQYWdlLmNwcCINCiAJCQkJCT4NCiAJCQkJPC9GaWxlPg0K
QEAgLTE2NjksNiArMTY3NywxNCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxVSVByb2Nlc3NcV2ViSW5zcGVjdG9yUHJveHkuY3BwIg0KKwkJ
CQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cVUlQcm9j
ZXNzXFdlYkluc3BlY3RvclByb3h5LmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUN
CiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxVSVByb2Nlc3NcV2ViTG9hZGVyQ2xpZW50LmNwcCINCiAJ
CQkJPg0KIAkJCTwvRmlsZT4NCkBAIC0xODE5LDYgKzE4MzUsMTQgQEAKIAkJCQkJCT4NCiAJCQkJ
CTwvRmlsZT4NCiAJCQkJCTxGaWxlDQorCQkJCQkJUmVsYXRpdmVQYXRoPSIuLlxVSVByb2Nlc3Nc
QVBJXENcV0tJbnNwZWN0b3IuY3BwIg0KKwkJCQkJCT4NCisJCQkJCTwvRmlsZT4NCisJCQkJCTxG
aWxlDQorCQkJCQkJUmVsYXRpdmVQYXRoPSIuLlxVSVByb2Nlc3NcQVBJXENcV0tJbnNwZWN0b3Iu
aCINCisJCQkJCQk+DQorCQkJCQk8L0ZpbGU+DQorCQkJCQk8RmlsZQ0KIAkJCQkJCVJlbGF0aXZl
UGF0aD0iLi5cVUlQcm9jZXNzXEFQSVxDXFdLTmF0aXZlRXZlbnQuaCINCiAJCQkJCQk+DQogCQkJ
CQk8L0ZpbGU+DQotLSAKMS43LjAuMgoK
</data>
<flag name="review"
          id="61918"
          type_id="1"
          status="+"
          setter="andersca"
    />
    <flag name="commit-queue"
          id="61919"
          type_id="3"
          status="-"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>