<?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>90149</bug_id>
          
          <creation_ts>2012-06-28 02:23:10 -0700</creation_ts>
          <short_desc>Web Inspector: add v8 bindings memory info to the native memory graph</short_desc>
          <delta_ts>2012-07-02 00:05:01 -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>
          
          <blocked>87262</blocked>
    
    <blocked>90358</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Yury Semikhatsky">yurys</reporter>
          <assigned_to name="Yury Semikhatsky">yurys</assigned_to>
          <cc>abarth</cc>
    
    <cc>alph</cc>
    
    <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>gustavo</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>jochen</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>philn</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>659354</commentid>
    <comment_count>0</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-06-28 02:23:10 -0700</bug_when>
    <thetext>There are several maps in the binding layer that grow when number of nodes increases. They should be presented on the memory chart.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>659358</commentid>
    <comment_count>1</comment_count>
      <attachid>149907</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-06-28 02:38:36 -0700</bug_when>
    <thetext>Created attachment 149907
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>659365</commentid>
    <comment_count>2</comment_count>
      <attachid>149907</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-06-28 02:58:23 -0700</bug_when>
    <thetext>Comment on attachment 149907
Patch

Attachment 149907 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/13102964</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>659368</commentid>
    <comment_count>3</comment_count>
      <attachid>149907</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-06-28 03:03:33 -0700</bug_when>
    <thetext>Comment on attachment 149907
Patch

Attachment 149907 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/13107110</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>659369</commentid>
    <comment_count>4</comment_count>
      <attachid>149907</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-06-28 03:07:05 -0700</bug_when>
    <thetext>Comment on attachment 149907
Patch

Attachment 149907 did not pass win-ews (win):
Output: http://queues.webkit.org/results/13111045</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>659371</commentid>
    <comment_count>5</comment_count>
      <attachid>149907</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-06-28 03:08:36 -0700</bug_when>
    <thetext>Comment on attachment 149907
Patch

Attachment 149907 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/13107111</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>659381</commentid>
    <comment_count>6</comment_count>
      <attachid>149914</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-06-28 03:30:26 -0700</bug_when>
    <thetext>Created attachment 149914
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660024</commentid>
    <comment_count>7</comment_count>
      <attachid>149914</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-06-28 18:19:43 -0700</bug_when>
    <thetext>Comment on attachment 149914
Patch

Attachment 149914 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/13118130</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660453</commentid>
    <comment_count>8</comment_count>
      <attachid>149914</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-06-29 07:28:10 -0700</bug_when>
    <thetext>Comment on attachment 149914
Patch

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

&gt; Source/WebCore/bindings/js/ScriptProfiler.h:81
&gt; +    static void collectBindingMemoryInfo(MemoryInstrumentation*) { }

Please file a bug requesting that it is implemented for JSC and put FIXME here.

&gt; Source/WebCore/bindings/v8/V8Binding.cpp:95
&gt; +    instrumentation-&gt;reportPointer(this, MemoryInstrumentation::Binding);

I wonder if we could have a macro for these...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>661289</commentid>
    <comment_count>9</comment_count>
      <attachid>149914</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-07-02 00:03:04 -0700</bug_when>
    <thetext>Comment on attachment 149914
Patch

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

&gt;&gt; Source/WebCore/bindings/js/ScriptProfiler.h:81
&gt;&gt; +    static void collectBindingMemoryInfo(MemoryInstrumentation*) { }
&gt; 
&gt; Please file a bug requesting that it is implemented for JSC and put FIXME here.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>661291</commentid>
    <comment_count>10</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-07-02 00:05:01 -0700</bug_when>
    <thetext>Committed r121658: &lt;http://trac.webkit.org/changeset/121658&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>149907</attachid>
            <date>2012-06-28 02:38:36 -0700</date>
            <delta_ts>2012-06-28 03:30:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90149-20120628133835.patch</filename>
            <type>text/plain</type>
            <size>14769</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxMzIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTNlMDFkNjgyN2MyN2Y3
ZGM3ZmE4NWM0MmFkNzI0YWY4OTk3OWZjZi4uMDViYzY4NDUxNmJlOTk4ZmZmOGYyZjMxZGIwZTUw
M2Y4YWVjMDYyMyAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDEyLTA2LTI4ICBZdXJ5
IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IGFkZCB2OCBiaW5kaW5ncyBtZW1vcnkgaW5mbyB0byB0aGUgbmF0aXZlIG1lbW9yeSBncmFw
aAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTAxNDkK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTaXplIG9m
IFY4IGJpbmRpbmcgbWFwcyBpcyBub3cgcmVwb3J0ZWQgb24gdGhlIG1lbW9yeSBjaGFydC4KKwor
ICAgICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdFByb2ZpbGVyLmg6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JpcHRQcm9maWxlcjo6Y29sbGVjdEJpbmRpbmdNZW1vcnlJbmZvKToKKyAgICAgICAgKiBi
aW5kaW5ncy92OC9ET01EYXRhU3RvcmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NRGF0YVN0
b3JlOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBi
aW5kaW5ncy92OC9ET01EYXRhU3RvcmUuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
RE9NRGF0YVN0b3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9JbnRydXNpdmVET01XcmFwcGVy
TWFwLmg6CisgICAgICAgIChXZWJDb3JlOjpDaHVua2VkVGFibGU6OnJlcG9ydE1lbW9yeVVzYWdl
KToKKyAgICAgICAgKENodW5rZWRUYWJsZSk6CisgICAgICAgICogYmluZGluZ3MvdjgvU2NyaXB0
UHJvZmlsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0UHJvZmlsZXI6OmNvbGxlY3RC
aW5kaW5nTWVtb3J5SW5mbyk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBiaW5kaW5n
cy92OC9TY3JpcHRQcm9maWxlci5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChTY3Jp
cHRQcm9maWxlcik6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhCaW5kaW5nLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlY4QmluZGluZ1Blcklzb2xhdGVEYXRhOjpyZXBvcnRNZW1vcnlVc2FnZSk6
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlN0cmluZ0NhY2hlOjpyZXBv
cnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhCaW5kaW5nLmg6CisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKFN0cmluZ0NhY2hlKToKKyAgICAgICAgKFY4QmluZGlu
Z1Blcklzb2xhdGVEYXRhKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOERPTU1hcC5oOgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgIChBYnN0cmFjdFdlYWtSZWZlcmVuY2VNYXApOgorICAg
ICAgICAqIGRvbS9NZW1vcnlJbnN0cnVtZW50YXRpb24uaDoKKyAgICAgICAgKE1lbW9yeUluc3Ry
dW1lbnRhdGlvbik6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lbW9y
eUluc3RydW1lbnRhdGlvbjo6cmVwb3J0SGFzaE1hcCk6IGFkZGVkIGEgbWV0aG9kIGZvciByZXBv
cnRpbmcKKyAgICAgICAgc2l6ZSBvZiBhIEhhc2hNYXAuCisgICAgICAgICogaW5zcGVjdG9yL0lu
c3BlY3Rvck1lbW9yeUFnZW50LmNwcDoKKyAgICAgICAgKE1lbW9yeUJsb2NrTmFtZSk6CisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OmRvbVRyZWVJbmZvKToKKwogMjAxMi0w
Ni0yNiAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBX
ZWIgSW5zcGVjdG9yOiBhZGQgY2hhcmFjdGVyIGRhdGEgdG8gdGhlIERPTSBzZWN0aW9uIG9mIG5h
dGl2ZSBtZW1vcnkgdmlldwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
U2NyaXB0UHJvZmlsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFByb2Zp
bGVyLmgKaW5kZXggNTc2ODUzNTRmZDIyZTYwZGE1MWI1Yjg4YjViYTMyNjUwYTA3Njg2Ni4uNjVk
OTU3NTZkOTdjMjJlNjQwODdhODljZTgyNjYwNTQwOTgxOTI2YSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0UHJvZmlsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9TY3JpcHRQcm9maWxlci5oCkBAIC03Nyw2ICs3Nyw3IEBAIHB1YmxpYzoK
ICAgICBzdGF0aWMgdm9pZCB2aXNpdE5vZGVXcmFwcGVycyhOb2RlV3JhcHBlclZpc2l0b3IqKSB7
IH0KICAgICBzdGF0aWMgdm9pZCB2aXNpdEV4dGVybmFsU3RyaW5ncyhFeHRlcm5hbFN0cmluZ1Zp
c2l0b3IqKSB7IH0KICAgICBzdGF0aWMgdm9pZCB2aXNpdEV4dGVybmFsQXJyYXlzKEV4dGVybmFs
QXJyYXlWaXNpdG9yKikgeyB9CisgICAgc3RhdGljIHZvaWQgY29sbGVjdEJpbmRpbmdNZW1vcnlJ
bmZvKE1lbW9yeUluc3RydW1lbnRhdGlvbiopIHsgfQogICAgIHN0YXRpYyBzaXplX3QgcHJvZmls
ZXJTbmFwc2hvdHNTaXplKCkgeyByZXR1cm4gMDsgfQogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YVN0b3JlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5jcHAKaW5kZXggMmQ1YjVlNjMzMWEyZTEwNGI4MTVjZWQ4
MTA3NzAwNGEzOTg5ZGM2MC4uZGJjYTM5NTQwOTVhZjM2OTEwMzcxYzllMDk3ZTk2OWVkOTlhNjZl
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YVN0b3JlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhU3RvcmUuY3BwCkBAIC0z
Miw2ICszMiw3IEBACiAjaW5jbHVkZSAiRE9NRGF0YVN0b3JlLmgiCiAKICNpbmNsdWRlICJET01E
YXRhLmgiCisjaW5jbHVkZSAiTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiVjhC
aW5kaW5nLmgiCiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KIApAQCAtMTE4LDYgKzExOSwx
NSBAQCB2b2lkKiBET01EYXRhU3RvcmU6OmdldERPTVdyYXBwZXJNYXAoRE9NV3JhcHBlck1hcFR5
cGUgdHlwZSkKICAgICByZXR1cm4gMDsKIH0KIAordm9pZCBET01EYXRhU3RvcmU6OnJlcG9ydE1l
bW9yeVVzYWdlKE1lbW9yeUluc3RydW1lbnRhdGlvbiogaW5zdHJ1bWVudGF0aW9uKQoreworICAg
IGluc3RydW1lbnRhdGlvbi0+cmVwb3J0UG9pbnRlcih0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRp
b246OkJpbmRpbmcpOworICAgIGRvbU5vZGVNYXAoKS5yZXBvcnRNZW1vcnlVc2FnZShpbnN0cnVt
ZW50YXRpb24pOworICAgIGFjdGl2ZURvbU5vZGVNYXAoKS5yZXBvcnRNZW1vcnlVc2FnZShpbnN0
cnVtZW50YXRpb24pOworICAgIGRvbU9iamVjdE1hcCgpLnJlcG9ydE1lbW9yeVVzYWdlKGluc3Ry
dW1lbnRhdGlvbik7CisgICAgYWN0aXZlRG9tT2JqZWN0TWFwKCkucmVwb3J0TWVtb3J5VXNhZ2Uo
aW5zdHJ1bWVudGF0aW9uKTsKK30KKwogLy8gQ2FsbGVkIHdoZW4gdGhlIG9iamVjdCBpcyBuZWFy
IGRlYXRoIChub3QgcmVhY2hhYmxlIGZyb20gSlMgcm9vdHMpLgogLy8gSXQgaXMgdGltZSB0byBy
ZW1vdmUgdGhlIGVudHJ5IGZyb20gdGhlIHRhYmxlIGFuZCBkaXNwb3NlIHRoZSBoYW5kbGUuCiB2
b2lkIERPTURhdGFTdG9yZTo6d2Vha0RPTU9iamVjdENhbGxiYWNrKHY4OjpQZXJzaXN0ZW50PHY4
OjpWYWx1ZT4gdjhPYmplY3QsIHZvaWQqIGRvbU9iamVjdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvRE9NRGF0YVN0b3JlLmgKaW5kZXggMDg5ZDg2ZDRmNGQzY2ZmMDRkNTc4NDA3NWM0YzU5
NGNhM2MzOGVhOS4uYjViZGZjMzkyNWQzMTFhNDliNGYwZWRiZGQxMDMxY2Y5MzA0YmJlMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YVN0b3JlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YVN0b3JlLmgKQEAgLTQ3LDYgKzQ3LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgRE9NRGF0YTsKICAgICBjbGFzcyBE
T01EYXRhU3RvcmU7CisgICAgY2xhc3MgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOwogCiAgICAgdHlw
ZWRlZiBXVEY6OlZlY3RvcjxET01EYXRhU3RvcmUqPiBET01EYXRhTGlzdDsKIApAQCAtODYsNiAr
ODcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHN0YXRpYyB2b2lkIHdlYWtBY3Rp
dmVET01PYmplY3RDYWxsYmFjayh2ODo6UGVyc2lzdGVudDx2ODo6VmFsdWU+IHY4T2JqZWN0LCB2
b2lkKiBkb21PYmplY3QpOwogICAgICAgICBzdGF0aWMgdm9pZCB3ZWFrTm9kZUNhbGxiYWNrKHY4
OjpQZXJzaXN0ZW50PHY4OjpWYWx1ZT4gdjhPYmplY3QsIHZvaWQqIGRvbU9iamVjdCk7CiAKKyAg
ICAgICAgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlJbnN0cnVtZW50YXRpb24qKTsKKwog
ICAgIHByb3RlY3RlZDoKICAgICAgICAgc3RhdGljIHZvaWQgd2Vha0RPTU9iamVjdENhbGxiYWNr
KHY4OjpQZXJzaXN0ZW50PHY4OjpWYWx1ZT4gdjhPYmplY3QsIHZvaWQqIGRvbU9iamVjdCk7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0ludHJ1c2l2ZURPTVdyYXBw
ZXJNYXAuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0ludHJ1c2l2ZURPTVdyYXBwZXJN
YXAuaAppbmRleCA1YzA2NmYwMTAxMzdiZWVkN2E0ZmQzYzNjYTMzMzlmOWIwOTE0MGJmLi41ZDYx
NjY4YzE5MDkwMjc1ZmRhNTEyYmVmZjMxYzIxNGIzOTg5MDE4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9JbnRydXNpdmVET01XcmFwcGVyTWFwLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvSW50cnVzaXZlRE9NV3JhcHBlck1hcC5oCkBAIC0zMiw2ICsz
Miw3IEBACiAjZGVmaW5lIEludHJ1c2l2ZURPTVdyYXBwZXJNYXBfaAogCiAjaW5jbHVkZSAiRE9N
RGF0YVN0b3JlLmgiCisjaW5jbHVkZSAiTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVk
ZSAiVjhOb2RlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTEwMSw2ICsxMDIsMTIgQEAg
Y2xhc3MgQ2h1bmtlZFRhYmxlIHsKICAgICAgICAgICAgIHZpc2l0RW50cmllcyhzdG9yZSwgY2h1
bmstPm1fZW50cmllcywgY2h1bmstPm1fZW50cmllcyArIENIVU5LX1NJWkUsIHZpc2l0b3IpOwog
ICAgIH0KIAorICAgIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5SW5zdHJ1bWVudGF0aW9u
KiBpbnN0cnVtZW50YXRpb24pCisgICAgeworICAgICAgICBmb3IgKENodW5rKiBjaHVuayA9IG1f
Y2h1bmtzOyBjaHVuazsgY2h1bmsgPSBjaHVuay0+bV9wcmV2aW91cykKKyAgICAgICAgICAgIGlu
c3RydW1lbnRhdGlvbi0+cmVwb3J0UG9pbnRlcihjaHVuaywgTWVtb3J5SW5zdHJ1bWVudGF0aW9u
OjpCaW5kaW5nKTsKKyAgICB9CisKICAgcHJpdmF0ZToKICAgICBzdHJ1Y3QgQ2h1bmsgewogICAg
ICAgICBleHBsaWNpdCBDaHVuayhDaHVuayogcHJldmlvdXMpIDogbV9wcmV2aW91cyhwcmV2aW91
cykgeyB9CkBAIC0xNzYsNiArMTgzLDEyIEBAIHB1YmxpYzoKICAgICAgICAgbV90YWJsZS5jbGVh
cigpOwogICAgIH0KIAorICAgIHZpcnR1YWwgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlJ
bnN0cnVtZW50YXRpb24qIGluc3RydW1lbnRhdGlvbikgT1ZFUlJJREUKKyAgICB7CisgICAgICAg
IGluc3RydW1lbnRhdGlvbi0+cmVwb3J0UG9pbnRlcih0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRp
b246OkJpbmRpbmcpOworICAgICAgICBtX3RhYmxlLnJlcG9ydE1lbW9yeVVzYWdlKGluc3RydW1l
bnRhdGlvbik7CisgICAgfQorCiBwcml2YXRlOgogICAgIHN0YXRpYyBpbnQgY29uc3QgbnVtYmVy
T2ZFbnRyaWVzID0gKDEgPDwgMTApIC0gMTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvU2NyaXB0UHJvZmlsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvU2NyaXB0UHJvZmlsZXIuY3BwCmluZGV4IDU3YmI4MDgwZWZlMTAzNTZlODZiOGNjMDcxNWVi
ZTBhY2ViMGRkZDUuLjhkNmM1MDI5ZTllZTU3MGE0Yzc3Yjg3MjgzZTVjNWY0MGM5Njg3NmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFByb2ZpbGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5jcHAKQEAgLTMz
LDYgKzMzLDcgQEAKICNpbmNsdWRlICJTY3JpcHRQcm9maWxlci5oIgogCiAjaW5jbHVkZSAiQmlu
ZGluZ1Zpc2l0b3JzLmgiCisjaW5jbHVkZSAiTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5j
bHVkZSAiUmV0YWluZWRET01JbmZvLmgiCiAjaW5jbHVkZSAiU2NyaXB0T2JqZWN0LmgiCiAjaW5j
bHVkZSAiVjhBcnJheUJ1ZmZlclZpZXcuaCIKQEAgLTIxOSw2ICsyMjAsMTQgQEAgdm9pZCBTY3Jp
cHRQcm9maWxlcjo6dmlzaXRFeHRlcm5hbEFycmF5cyhFeHRlcm5hbEFycmF5VmlzaXRvciogdmlz
aXRvcikKIAogfQogCit2b2lkIFNjcmlwdFByb2ZpbGVyOjpjb2xsZWN0QmluZGluZ01lbW9yeUlu
Zm8oTWVtb3J5SW5zdHJ1bWVudGF0aW9uKiBpbnN0cnVtZW50YXRpb24pCit7CisgICAgVjhCaW5k
aW5nUGVySXNvbGF0ZURhdGEqIGRhdGEgPSBWOEJpbmRpbmdQZXJJc29sYXRlRGF0YTo6Y3VycmVu
dCgpOworICAgIGlmICghZGF0YSkKKyAgICAgICAgcmV0dXJuOworICAgIGRhdGEtPnJlcG9ydE1l
bW9yeVVzYWdlKGluc3RydW1lbnRhdGlvbik7Cit9CisKIHNpemVfdCBTY3JpcHRQcm9maWxlcjo6
cHJvZmlsZXJTbmFwc2hvdHNTaXplKCkKIHsKICAgICByZXR1cm4gdjg6OkhlYXBQcm9maWxlcjo6
R2V0TWVtb3J5U2l6ZVVzZWRCeVByb2ZpbGVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvU2NyaXB0UHJvZmlsZXIuaAppbmRleCAyNWY2ZTEyOWViMmQ5MDg1NWY4OWEzNTQ3YTJmOTk3
MjIzNjVhNjMxLi43ZmZhNTBkYTdkY2JiNzExZjRhODQwOTUzOGIzYzg2NWNiMTA5ZTRjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFByb2ZpbGVyLmgKQEAgLTQyLDYgKzQy
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBFeHRlcm5hbEFycmF5VmlzaXRvcjsK
IGNsYXNzIEV4dGVybmFsU3RyaW5nVmlzaXRvcjsKK2NsYXNzIE1lbW9yeUluc3RydW1lbnRhdGlv
bjsKIGNsYXNzIE5vZGVXcmFwcGVyVmlzaXRvcjsKIGNsYXNzIFBhZ2U7CiBjbGFzcyBTY3JpcHRP
YmplY3Q7CkBAIC04MSw2ICs4Miw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCB2aXNpdE5v
ZGVXcmFwcGVycyhOb2RlV3JhcHBlclZpc2l0b3IqKTsKICAgICBzdGF0aWMgdm9pZCB2aXNpdEV4
dGVybmFsU3RyaW5ncyhFeHRlcm5hbFN0cmluZ1Zpc2l0b3IqKTsKICAgICBzdGF0aWMgdm9pZCB2
aXNpdEV4dGVybmFsQXJyYXlzKEV4dGVybmFsQXJyYXlWaXNpdG9yKik7CisgICAgc3RhdGljIHZv
aWQgY29sbGVjdEJpbmRpbmdNZW1vcnlJbmZvKE1lbW9yeUluc3RydW1lbnRhdGlvbiopOwogICAg
IHN0YXRpYyBzaXplX3QgcHJvZmlsZXJTbmFwc2hvdHNTaXplKCk7CiB9OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEJpbmRpbmcuY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvVjhCaW5kaW5nLmNwcAppbmRleCA2OTkwMTg2OTJhYWVlYjFjZTA5ODk3
OGExYWVkM2MyOGUwYjJjMzRlLi43YzcyNTQwMzY1OTM4ZThhMGIwNDA2YTY4MWRjOTRlNDZjNTdl
YWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEJpbmRpbmcuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4QmluZGluZy5jcHAKQEAgLTM0LDYg
KzM0LDcgQEAKICNpbmNsdWRlICJCaW5kaW5nVmlzaXRvcnMuaCIKICNpbmNsdWRlICJET01TdHJp
bmdMaXN0LmgiCiAjaW5jbHVkZSAiRWxlbWVudC5oIgorI2luY2x1ZGUgIk1lbW9yeUluc3RydW1l
bnRhdGlvbi5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSAiUXVhbGlm
aWVkTmFtZS5oIgogI2luY2x1ZGUgIlY4RE9NU3RyaW5nTGlzdC5oIgpAQCAtODksNyArOTAsMTYg
QEAgdm9pZCBWOEJpbmRpbmdQZXJJc29sYXRlRGF0YTo6ZGlzcG9zZSh2ODo6SXNvbGF0ZSogaXNv
bGF0ZSkKICAgICBpc29sYXRlLT5TZXREYXRhKDApOwogfQogCit2b2lkIFY4QmluZGluZ1Blcklz
b2xhdGVEYXRhOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlJbnN0cnVtZW50YXRpb24qIGluc3Ry
dW1lbnRhdGlvbikKK3sKKyAgICBpbnN0cnVtZW50YXRpb24tPnJlcG9ydFBvaW50ZXIodGhpcywg
TWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpCaW5kaW5nKTsKKyAgICBpbnN0cnVtZW50YXRpb24tPnJl
cG9ydEhhc2hNYXAobV9yYXdUZW1wbGF0ZXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6QmluZGlu
Zyk7CisgICAgaW5zdHJ1bWVudGF0aW9uLT5yZXBvcnRIYXNoTWFwKG1fdGVtcGxhdGVzLCBNZW1v
cnlJbnN0cnVtZW50YXRpb246OkJpbmRpbmcpOworICAgIG1fc3RyaW5nQ2FjaGUucmVwb3J0TWVt
b3J5VXNhZ2UoaW5zdHJ1bWVudGF0aW9uKTsKIAorICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwg
bV9kb21EYXRhTGlzdC5zaXplKCk7IGkrKykKKyAgICAgICAgbV9kb21EYXRhTGlzdFtpXS0+cmVw
b3J0TWVtb3J5VXNhZ2UoaW5zdHJ1bWVudGF0aW9uKTsKK30KIAogLy8gV2ViQ29yZVN0cmluZ1Jl
c291cmNlIGlzIGEgaGVscGVyIGNsYXNzIGZvciB2OEV4dGVybmFsU3RyaW5nLiBJdCBpcyB1c2Vk
CiAvLyB0byBtYW5hZ2UgdGhlIGxpZmUtY3ljbGUgb2YgdGhlIHVuZGVybHlpbmcgYnVmZmVyIG9m
IHRoZSBleHRlcm5hbCBzdHJpbmcuCkBAIC00OTAsNiArNTAwLDExIEBAIHY4OjpMb2NhbDx2ODo6
U3RyaW5nPiBTdHJpbmdDYWNoZTo6djhFeHRlcm5hbFN0cmluZ1Nsb3coU3RyaW5nSW1wbCogc3Ry
aW5nSW1wbCwKIAogICAgIHJldHVybiBuZXdTdHJpbmc7CiB9CisKK3ZvaWQgU3RyaW5nQ2FjaGU6
OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeUluc3RydW1lbnRhdGlvbiogaW5zdHJ1bWVudGF0aW9u
KQoreworICAgIGluc3RydW1lbnRhdGlvbi0+cmVwb3J0SGFzaE1hcChtX3N0cmluZ0NhY2hlLCBN
ZW1vcnlJbnN0cnVtZW50YXRpb246OkJpbmRpbmcpOworfQogICAgIAogdjg6OlBlcnNpc3RlbnQ8
djg6OkZ1bmN0aW9uVGVtcGxhdGU+IGNyZWF0ZVJhd1RlbXBsYXRlKCkKIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4QmluZGluZy5oIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvVjhCaW5kaW5nLmgKaW5kZXggMTAyOTZhNzAwYjVlMzQ2MDQwOWVkZWU4NDM4
ZTk5MDJlMzkwNmI5NS4uNmEzZDNiYmQ4ZjRhZmEwOTYyOWYwOTUyYjMyNGU5NzM0MzJhNGQ1MCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhCaW5kaW5nLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhCaW5kaW5nLmgKQEAgLTQ5LDYgKzQ5LDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEV2ZW50TGlzdGVuZXI7CiAgICAgY2xhc3Mg
RXZlbnRUYXJnZXQ7CiAgICAgY2xhc3MgRXh0ZXJuYWxTdHJpbmdWaXNpdG9yOworICAgIGNsYXNz
IE1lbW9yeUluc3RydW1lbnRhdGlvbjsKIAogICAgIC8vIEZJWE1FOiBSZW1vdmUgVjhCaW5kaW5n
LgogICAgIGNsYXNzIFY4QmluZGluZyB7CkBAIC03OCw2ICs3OSw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogICAgICAgICB2b2lkIHJlbW92ZShTdHJpbmdJbXBsKik7CiAKKyAgICAgICAgdm9p
ZCByZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlJbnN0cnVtZW50YXRpb24qKTsKKwogICAgIHByaXZh
dGU6CiAgICAgICAgIHY4OjpMb2NhbDx2ODo6U3RyaW5nPiB2OEV4dGVybmFsU3RyaW5nU2xvdyhT
dHJpbmdJbXBsKiwgdjg6Oklzb2xhdGUqKTsKIApAQCAtMTgzLDYgKzE4Niw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogICAgICAgICBHQ0V2ZW50RGF0YSYgZ2NFdmVudERhdGEoKSB7IHJldHVy
biBtX2djRXZlbnREYXRhOyB9CiAKKyAgICAgICAgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1v
cnlJbnN0cnVtZW50YXRpb24qKTsKKwogICAgIHByaXZhdGU6CiAgICAgICAgIGV4cGxpY2l0IFY4
QmluZGluZ1Blcklzb2xhdGVEYXRhKHY4OjpJc29sYXRlKik7CiAgICAgICAgIH5WOEJpbmRpbmdQ
ZXJJc29sYXRlRGF0YSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
VjhET01NYXAuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NTWFwLmgKaW5kZXgg
YmM1MTU0MGEyZDkwMmM5ZTI0ZTUzYWRhYTYzOGM3ZmZjMDEyYmY5MS4uNTMxZDA3ZDNiYzc2NTc5
M2RjMmFkMzRiNTE4NGY3ZGQ0NzFkOWNlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvVjhET01NYXAuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERP
TU1hcC5oCkBAIC0zMSw2ICszMSw3IEBACiAjaWZuZGVmIFY4RE9NTWFwX2gKICNkZWZpbmUgVjhE
T01NYXBfaAogCisjaW5jbHVkZSAiTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSA8
d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8djguaD4K
QEAgLTM4LDYgKzM5LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBET01EYXRh
U3RvcmU7CiAgICAgY2xhc3MgTm9kZTsKKyAgICBjbGFzcyBNZW1vcnlJbnN0cnVtZW50YXRpb247
CiAKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgS2V5VHlwZSwgY2xhc3MgVmFsdWVUeXBlPiBjbGFzcyBB
YnN0cmFjdFdlYWtSZWZlcmVuY2VNYXAgewogICAgIHB1YmxpYzoKQEAgLTYxLDYgKzYzLDkgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIHZvaWQgY2xlYXIoKSA9IDA7CiAK
ICAgICAgICAgdjg6OldlYWtSZWZlcmVuY2VDYWxsYmFjayB3ZWFrUmVmZXJlbmNlQ2FsbGJhY2so
KSB7IHJldHVybiBtX3dlYWtSZWZlcmVuY2VDYWxsYmFjazsgfQorCisgICAgICAgIHZpcnR1YWwg
dm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlJbnN0cnVtZW50YXRpb24qKSA9IDA7CisKICAg
ICBwcml2YXRlOgogICAgICAgICB2ODo6V2Vha1JlZmVyZW5jZUNhbGxiYWNrIG1fd2Vha1JlZmVy
ZW5jZUNhbGxiYWNrOwogICAgIH07CkBAIC0xMjksNiArMTM0LDExIEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAgICAgICAgIHZpc2l0b3ItPmVuZE1hcCgpOwogICAgICAgICB9CiAKKyAgICAg
ICAgdmlydHVhbCB2b2lkIHJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeUluc3RydW1lbnRhdGlvbiog
aW5zdHJ1bWVudGF0aW9uKSBPVkVSUklERQorICAgICAgICB7CisgICAgICAgICAgICBpbnN0cnVt
ZW50YXRpb24tPnJlcG9ydEhhc2hNYXAobV9tYXAsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Qmlu
ZGluZyk7CisgICAgICAgIH0KKwogICAgIHByb3RlY3RlZDoKICAgICAgICAgSGFzaE1hcDxLZXlU
eXBlKiwgVmFsdWVUeXBlKj4gbV9tYXA7CiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9NZW1vcnlJbnN0cnVtZW50YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZW1v
cnlJbnN0cnVtZW50YXRpb24uaAppbmRleCA5OWZlNDZhNjc0OGViNTE1MWU1ZTg4NTRlMGQxMmJl
ZDkwYjIwZDk4Li5iODFmNWJlNTc2YWU0NGUzYmUxZmE2YTdmMTZjMDNlMjRkY2E5MzIwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL01lbW9yeUluc3RydW1lbnRhdGlvbi5oCkBAIC00Nyw2ICs0Nyw3
IEBAIHB1YmxpYzoKICAgICAgICAgT3RoZXIsCiAgICAgICAgIERPTSwKICAgICAgICAgQ1NTLAor
ICAgICAgICBCaW5kaW5nLAogICAgICAgICBMYXN0VHlwZUVudHJ5CiAgICAgfTsKIApAQCAtNTks
NiArNjAsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIGNvdW50T2Jq
ZWN0U2l6ZShvYmplY3RUeXBlLCBzaXplb2YoVCkpOwogICAgIH0KKyAgICB0ZW1wbGF0ZSA8dHlw
ZW5hbWUgSGFzaE1hcFR5cGU+IHZvaWQgcmVwb3J0SGFzaE1hcChjb25zdCBIYXNoTWFwVHlwZSYs
IE9iamVjdFR5cGUpOwogCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBNZW1vcnlPYmplY3RJ
bmZvOwpAQCAtMTM5LDYgKzE0MSwxNCBAQCB2b2lkIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6cmVw
b3J0SW5zdHJ1bWVudGVkT2JqZWN0KGNvbnN0IFQmIG9iamVjdCkKICAgICBvYmplY3QucmVwb3J0
TWVtb3J5VXNhZ2UoJm1lbW9yeU9iamVjdEluZm8pOwogfQogCisKK3RlbXBsYXRlPHR5cGVuYW1l
IEhhc2hNYXBUeXBlPgordm9pZCBNZW1vcnlJbnN0cnVtZW50YXRpb246OnJlcG9ydEhhc2hNYXAo
Y29uc3QgSGFzaE1hcFR5cGUmIGhhc2hNYXAsIE9iamVjdFR5cGUgb2JqZWN0VHlwZSkKK3sKKyAg
ICBzaXplX3Qgc2l6ZSA9IHNpemVvZihIYXNoTWFwVHlwZSkgKyBoYXNoTWFwLmNhcGFjaXR5KCkg
KiBzaXplb2YodHlwZW5hbWUgSGFzaE1hcFR5cGU6OlZhbHVlVHlwZSk7CisgICAgY291bnRPYmpl
Y3RTaXplKG9iamVjdFR5cGUsIHNpemUpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAK
ICNlbmRpZiAvLyAhZGVmaW5lZChNZW1vcnlJbnN0cnVtZW50YXRpb25faCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JNZW1vcnlBZ2VudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTWVtb3J5QWdlbnQuY3BwCmluZGV4IDBlMjVk
NzAwNTA1MjhjMGQ3NDAwNmMxMWIyNzc3MGMxOGYzNjk3N2EuLmI1ZmQ4MzZmNTc4OThhM2VhOWNl
MDMwZmU1YzYzYzE5NGU1MTQzMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JNZW1vcnlBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3Rvck1lbW9yeUFnZW50LmNwcApAQCAtOTAsNiArOTAsNyBAQCBzdGF0aWMgY29uc3Qg
Y2hhciBkb21bXSA9ICJET00iOwogc3RhdGljIGNvbnN0IGNoYXIgZG9tVHJlZU90aGVyW10gPSAi
RE9NVHJlZU90aGVyIjsKIHN0YXRpYyBjb25zdCBjaGFyIGRvbVRyZWVET01bXSA9ICJET01UcmVl
RE9NIjsKIHN0YXRpYyBjb25zdCBjaGFyIGRvbVRyZWVDU1NbXSA9ICJET01UcmVlQ1NTIjsKK3N0
YXRpYyBjb25zdCBjaGFyIGRvbVRyZWVCaW5kaW5nW10gPSAiRE9NVHJlZUJpbmRpbmciOwogfQog
CiBuYW1lc3BhY2UgewpAQCAtNDQ3LDYgKzQ0OCw3IEBAIHB1YmxpYzoKICAgICAgICAgYWRkTWVt
b3J5QmxvY2tGb3IoZG9tQ2hpbGRyZW4uZ2V0KCksIG1fdG90YWxTaXplc1tPdGhlcl0sIE1lbW9y
eUJsb2NrTmFtZTo6ZG9tVHJlZU90aGVyKTsKICAgICAgICAgYWRkTWVtb3J5QmxvY2tGb3IoZG9t
Q2hpbGRyZW4uZ2V0KCksIG1fdG90YWxTaXplc1tET01dLCBNZW1vcnlCbG9ja05hbWU6OmRvbVRy
ZWVET00pOwogICAgICAgICBhZGRNZW1vcnlCbG9ja0Zvcihkb21DaGlsZHJlbi5nZXQoKSwgbV90
b3RhbFNpemVzW0NTU10sIE1lbW9yeUJsb2NrTmFtZTo6ZG9tVHJlZUNTUyk7CisgICAgICAgIGFk
ZE1lbW9yeUJsb2NrRm9yKGRvbUNoaWxkcmVuLmdldCgpLCBtX3RvdGFsU2l6ZXNbQmluZGluZ10s
IE1lbW9yeUJsb2NrTmFtZTo6ZG9tVHJlZUJpbmRpbmcpOwogCiAgICAgICAgIFJlZlB0cjxJbnNw
ZWN0b3JNZW1vcnlCbG9jaz4gZG9tID0gSW5zcGVjdG9yTWVtb3J5QmxvY2s6OmNyZWF0ZSgpLnNl
dE5hbWUoTWVtb3J5QmxvY2tOYW1lOjpkb20pOwogICAgICAgICBkb20tPnNldFNpemUodG90YWxT
aXplKTsKQEAgLTQ5Miw2ICs0OTQsMTEgQEAgcHVibGljOgogICAgICAgICBtX2RvbU1lbW9yeVVz
YWdlLnJlcG9ydEluc3RydW1lbnRlZFBvaW50ZXIobm9kZSk7CiAgICAgfQogCisgICAgdm9pZCB2
aXNpdEJpbmRpbmdzKCkKKyAgICB7CisgICAgICAgIFNjcmlwdFByb2ZpbGVyOjpjb2xsZWN0Qmlu
ZGluZ01lbW9yeUluZm8oJm1fZG9tTWVtb3J5VXNhZ2UpOworICAgIH0KKwogICAgIFBhc3NSZWZQ
dHI8SW5zcGVjdG9yTWVtb3J5QmxvY2s+IGR1bXBTdGF0aXN0aWNzKCkgeyByZXR1cm4gbV9kb21N
ZW1vcnlVc2FnZS5kdW1wU3RhdGlzdGljcygpOyB9CiAKIHByaXZhdGU6CkBAIC01MTIsNiArNTE5
LDggQEAgc3RhdGljIFBhc3NSZWZQdHI8SW5zcGVjdG9yTWVtb3J5QmxvY2s+IGRvbVRyZWVJbmZv
KFBhZ2UqIHBhZ2UsIFZpc2l0ZWRPYmplY3RzJgogICAgICAgICAgICAgZG9tVHJlZXNJdGVyYXRv
ci52aXNpdE5vZGUoZG9jKTsKICAgICB9CiAKKyAgICBkb21UcmVlc0l0ZXJhdG9yLnZpc2l0Qmlu
ZGluZ3MoKTsKKwogICAgIHJldHVybiBkb21UcmVlc0l0ZXJhdG9yLmR1bXBTdGF0aXN0aWNzKCk7
CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>149914</attachid>
            <date>2012-06-28 03:30:26 -0700</date>
            <delta_ts>2012-07-02 00:03:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90149-20120628143026.patch</filename>
            <type>text/plain</type>
            <size>14959</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxMzIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTNlMDFkNjgyN2MyN2Y3
ZGM3ZmE4NWM0MmFkNzI0YWY4OTk3OWZjZi4uMDViYzY4NDUxNmJlOTk4ZmZmOGYyZjMxZGIwZTUw
M2Y4YWVjMDYyMyAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDEyLTA2LTI4ICBZdXJ5
IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IGFkZCB2OCBiaW5kaW5ncyBtZW1vcnkgaW5mbyB0byB0aGUgbmF0aXZlIG1lbW9yeSBncmFw
aAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTAxNDkK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTaXplIG9m
IFY4IGJpbmRpbmcgbWFwcyBpcyBub3cgcmVwb3J0ZWQgb24gdGhlIG1lbW9yeSBjaGFydC4KKwor
ICAgICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdFByb2ZpbGVyLmg6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JpcHRQcm9maWxlcjo6Y29sbGVjdEJpbmRpbmdNZW1vcnlJbmZvKToKKyAgICAgICAgKiBi
aW5kaW5ncy92OC9ET01EYXRhU3RvcmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NRGF0YVN0
b3JlOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBi
aW5kaW5ncy92OC9ET01EYXRhU3RvcmUuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
RE9NRGF0YVN0b3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9JbnRydXNpdmVET01XcmFwcGVy
TWFwLmg6CisgICAgICAgIChXZWJDb3JlOjpDaHVua2VkVGFibGU6OnJlcG9ydE1lbW9yeVVzYWdl
KToKKyAgICAgICAgKENodW5rZWRUYWJsZSk6CisgICAgICAgICogYmluZGluZ3MvdjgvU2NyaXB0
UHJvZmlsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0UHJvZmlsZXI6OmNvbGxlY3RC
aW5kaW5nTWVtb3J5SW5mbyk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBiaW5kaW5n
cy92OC9TY3JpcHRQcm9maWxlci5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChTY3Jp
cHRQcm9maWxlcik6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhCaW5kaW5nLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlY4QmluZGluZ1Blcklzb2xhdGVEYXRhOjpyZXBvcnRNZW1vcnlVc2FnZSk6
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlN0cmluZ0NhY2hlOjpyZXBv
cnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhCaW5kaW5nLmg6CisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKFN0cmluZ0NhY2hlKToKKyAgICAgICAgKFY4QmluZGlu
Z1Blcklzb2xhdGVEYXRhKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOERPTU1hcC5oOgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgIChBYnN0cmFjdFdlYWtSZWZlcmVuY2VNYXApOgorICAg
ICAgICAqIGRvbS9NZW1vcnlJbnN0cnVtZW50YXRpb24uaDoKKyAgICAgICAgKE1lbW9yeUluc3Ry
dW1lbnRhdGlvbik6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lbW9y
eUluc3RydW1lbnRhdGlvbjo6cmVwb3J0SGFzaE1hcCk6IGFkZGVkIGEgbWV0aG9kIGZvciByZXBv
cnRpbmcKKyAgICAgICAgc2l6ZSBvZiBhIEhhc2hNYXAuCisgICAgICAgICogaW5zcGVjdG9yL0lu
c3BlY3Rvck1lbW9yeUFnZW50LmNwcDoKKyAgICAgICAgKE1lbW9yeUJsb2NrTmFtZSk6CisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OmRvbVRyZWVJbmZvKToKKwogMjAxMi0w
Ni0yNiAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBX
ZWIgSW5zcGVjdG9yOiBhZGQgY2hhcmFjdGVyIGRhdGEgdG8gdGhlIERPTSBzZWN0aW9uIG9mIG5h
dGl2ZSBtZW1vcnkgdmlldwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
U2NyaXB0UHJvZmlsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFByb2Zp
bGVyLmgKaW5kZXggNTc2ODUzNTRmZDIyZTYwZGE1MWI1Yjg4YjViYTMyNjUwYTA3Njg2Ni4uZWY2
N2ExOTkxZTgwYmRkOTFjNWQ3N2FkMmQwMjZjODA3NmE5NzJmMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0UHJvZmlsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9TY3JpcHRQcm9maWxlci5oCkBAIC0zOCw2ICszOCw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogY2xhc3MgRXh0ZXJuYWxBcnJheVZpc2l0b3I7CiBjbGFzcyBFeHRlcm5h
bFN0cmluZ1Zpc2l0b3I7CitjbGFzcyBNZW1vcnlJbnN0cnVtZW50YXRpb247CiBjbGFzcyBOb2Rl
V3JhcHBlclZpc2l0b3I7CiBjbGFzcyBQYWdlOwogY2xhc3MgU2NyaXB0T2JqZWN0OwpAQCAtNzcs
NiArNzgsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgdmlzaXROb2RlV3JhcHBlcnMoTm9k
ZVdyYXBwZXJWaXNpdG9yKikgeyB9CiAgICAgc3RhdGljIHZvaWQgdmlzaXRFeHRlcm5hbFN0cmlu
Z3MoRXh0ZXJuYWxTdHJpbmdWaXNpdG9yKikgeyB9CiAgICAgc3RhdGljIHZvaWQgdmlzaXRFeHRl
cm5hbEFycmF5cyhFeHRlcm5hbEFycmF5VmlzaXRvciopIHsgfQorICAgIHN0YXRpYyB2b2lkIGNv
bGxlY3RCaW5kaW5nTWVtb3J5SW5mbyhNZW1vcnlJbnN0cnVtZW50YXRpb24qKSB7IH0KICAgICBz
dGF0aWMgc2l6ZV90IHByb2ZpbGVyU25hcHNob3RzU2l6ZSgpIHsgcmV0dXJuIDA7IH0KIH07CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhU3RvcmUuY3BwCmluZGV4IDJkNWI1
ZTYzMzFhMmUxMDRiODE1Y2VkODEwNzcwMDRhMzk4OWRjNjAuLmRiY2EzOTU0MDk1YWYzNjkxMDM3
MWM5ZTA5N2U5NjllZDk5YTY2ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L0RPTURhdGFTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9N
RGF0YVN0b3JlLmNwcApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIkRPTURhdGFTdG9yZS5o
IgogCiAjaW5jbHVkZSAiRE9NRGF0YS5oIgorI2luY2x1ZGUgIk1lbW9yeUluc3RydW1lbnRhdGlv
bi5oIgogI2luY2x1ZGUgIlY4QmluZGluZy5oIgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+
CiAKQEAgLTExOCw2ICsxMTksMTUgQEAgdm9pZCogRE9NRGF0YVN0b3JlOjpnZXRET01XcmFwcGVy
TWFwKERPTVdyYXBwZXJNYXBUeXBlIHR5cGUpCiAgICAgcmV0dXJuIDA7CiB9CiAKK3ZvaWQgRE9N
RGF0YVN0b3JlOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlJbnN0cnVtZW50YXRpb24qIGluc3Ry
dW1lbnRhdGlvbikKK3sKKyAgICBpbnN0cnVtZW50YXRpb24tPnJlcG9ydFBvaW50ZXIodGhpcywg
TWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpCaW5kaW5nKTsKKyAgICBkb21Ob2RlTWFwKCkucmVwb3J0
TWVtb3J5VXNhZ2UoaW5zdHJ1bWVudGF0aW9uKTsKKyAgICBhY3RpdmVEb21Ob2RlTWFwKCkucmVw
b3J0TWVtb3J5VXNhZ2UoaW5zdHJ1bWVudGF0aW9uKTsKKyAgICBkb21PYmplY3RNYXAoKS5yZXBv
cnRNZW1vcnlVc2FnZShpbnN0cnVtZW50YXRpb24pOworICAgIGFjdGl2ZURvbU9iamVjdE1hcCgp
LnJlcG9ydE1lbW9yeVVzYWdlKGluc3RydW1lbnRhdGlvbik7Cit9CisKIC8vIENhbGxlZCB3aGVu
IHRoZSBvYmplY3QgaXMgbmVhciBkZWF0aCAobm90IHJlYWNoYWJsZSBmcm9tIEpTIHJvb3RzKS4K
IC8vIEl0IGlzIHRpbWUgdG8gcmVtb3ZlIHRoZSBlbnRyeSBmcm9tIHRoZSB0YWJsZSBhbmQgZGlz
cG9zZSB0aGUgaGFuZGxlLgogdm9pZCBET01EYXRhU3RvcmU6OndlYWtET01PYmplY3RDYWxsYmFj
ayh2ODo6UGVyc2lzdGVudDx2ODo6VmFsdWU+IHY4T2JqZWN0LCB2b2lkKiBkb21PYmplY3QpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhU3RvcmUuaCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5oCmluZGV4IDA4OWQ4NmQ0ZjRk
M2NmZjA0ZDU3ODQwNzVjNGM1OTRjYTNjMzhlYTkuLmI1YmRmYzM5MjVkMzExYTQ5YjRmMGVkYmRk
MTAzMWNmOTMwNGJiZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RP
TURhdGFTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9y
ZS5oCkBAIC00Nyw2ICs0Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIERP
TURhdGE7CiAgICAgY2xhc3MgRE9NRGF0YVN0b3JlOworICAgIGNsYXNzIE1lbW9yeUluc3RydW1l
bnRhdGlvbjsKIAogICAgIHR5cGVkZWYgV1RGOjpWZWN0b3I8RE9NRGF0YVN0b3JlKj4gRE9NRGF0
YUxpc3Q7CiAKQEAgLTg2LDYgKzg3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBz
dGF0aWMgdm9pZCB3ZWFrQWN0aXZlRE9NT2JqZWN0Q2FsbGJhY2sodjg6OlBlcnNpc3RlbnQ8djg6
OlZhbHVlPiB2OE9iamVjdCwgdm9pZCogZG9tT2JqZWN0KTsKICAgICAgICAgc3RhdGljIHZvaWQg
d2Vha05vZGVDYWxsYmFjayh2ODo6UGVyc2lzdGVudDx2ODo6VmFsdWU+IHY4T2JqZWN0LCB2b2lk
KiBkb21PYmplY3QpOwogCisgICAgICAgIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5SW5z
dHJ1bWVudGF0aW9uKik7CisKICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIHN0YXRpYyB2b2lkIHdl
YWtET01PYmplY3RDYWxsYmFjayh2ODo6UGVyc2lzdGVudDx2ODo6VmFsdWU+IHY4T2JqZWN0LCB2
b2lkKiBkb21PYmplY3QpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9JbnRydXNpdmVET01XcmFwcGVyTWFwLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9J
bnRydXNpdmVET01XcmFwcGVyTWFwLmgKaW5kZXggNWMwNjZmMDEwMTM3YmVlZDdhNGZkM2MzY2Ez
MzM5ZjliMDkxNDBiZi4uNWQ2MTY2OGMxOTA5MDI3NWZkYTUxMmJlZmYzMWMyMTRiMzk4OTAxOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvSW50cnVzaXZlRE9NV3JhcHBl
ck1hcC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0ludHJ1c2l2ZURPTVdyYXBw
ZXJNYXAuaApAQCAtMzIsNiArMzIsNyBAQAogI2RlZmluZSBJbnRydXNpdmVET01XcmFwcGVyTWFw
X2gKIAogI2luY2x1ZGUgIkRPTURhdGFTdG9yZS5oIgorI2luY2x1ZGUgIk1lbW9yeUluc3RydW1l
bnRhdGlvbi5oIgogI2luY2x1ZGUgIlY4Tm9kZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBA
IC0xMDEsNiArMTAyLDEyIEBAIGNsYXNzIENodW5rZWRUYWJsZSB7CiAgICAgICAgICAgICB2aXNp
dEVudHJpZXMoc3RvcmUsIGNodW5rLT5tX2VudHJpZXMsIGNodW5rLT5tX2VudHJpZXMgKyBDSFVO
S19TSVpFLCB2aXNpdG9yKTsKICAgICB9CiAKKyAgICB2b2lkIHJlcG9ydE1lbW9yeVVzYWdlKE1l
bW9yeUluc3RydW1lbnRhdGlvbiogaW5zdHJ1bWVudGF0aW9uKQorICAgIHsKKyAgICAgICAgZm9y
IChDaHVuayogY2h1bmsgPSBtX2NodW5rczsgY2h1bms7IGNodW5rID0gY2h1bmstPm1fcHJldmlv
dXMpCisgICAgICAgICAgICBpbnN0cnVtZW50YXRpb24tPnJlcG9ydFBvaW50ZXIoY2h1bmssIE1l
bW9yeUluc3RydW1lbnRhdGlvbjo6QmluZGluZyk7CisgICAgfQorCiAgIHByaXZhdGU6CiAgICAg
c3RydWN0IENodW5rIHsKICAgICAgICAgZXhwbGljaXQgQ2h1bmsoQ2h1bmsqIHByZXZpb3VzKSA6
IG1fcHJldmlvdXMocHJldmlvdXMpIHsgfQpAQCAtMTc2LDYgKzE4MywxMiBAQCBwdWJsaWM6CiAg
ICAgICAgIG1fdGFibGUuY2xlYXIoKTsKICAgICB9CiAKKyAgICB2aXJ0dWFsIHZvaWQgcmVwb3J0
TWVtb3J5VXNhZ2UoTWVtb3J5SW5zdHJ1bWVudGF0aW9uKiBpbnN0cnVtZW50YXRpb24pIE9WRVJS
SURFCisgICAgeworICAgICAgICBpbnN0cnVtZW50YXRpb24tPnJlcG9ydFBvaW50ZXIodGhpcywg
TWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpCaW5kaW5nKTsKKyAgICAgICAgbV90YWJsZS5yZXBvcnRN
ZW1vcnlVc2FnZShpbnN0cnVtZW50YXRpb24pOworICAgIH0KKwogcHJpdmF0ZToKICAgICBzdGF0
aWMgaW50IGNvbnN0IG51bWJlck9mRW50cmllcyA9ICgxIDw8IDEwKSAtIDE7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFByb2ZpbGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFByb2ZpbGVyLmNwcAppbmRleCA1N2JiODA4MGVm
ZTEwMzU2ZTg2YjhjYzA3MTVlYmUwYWNlYjBkZGQ1Li44ZDZjNTAyOWU5ZWU1NzBhNGM3N2I4NzI4
M2U1YzVmNDBjOTY4NzZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9T
Y3JpcHRQcm9maWxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0
UHJvZmlsZXIuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiU2NyaXB0UHJvZmlsZXIu
aCIKIAogI2luY2x1ZGUgIkJpbmRpbmdWaXNpdG9ycy5oIgorI2luY2x1ZGUgIk1lbW9yeUluc3Ry
dW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIlJldGFpbmVkRE9NSW5mby5oIgogI2luY2x1ZGUgIlNj
cmlwdE9iamVjdC5oIgogI2luY2x1ZGUgIlY4QXJyYXlCdWZmZXJWaWV3LmgiCkBAIC0yMTksNiAr
MjIwLDE0IEBAIHZvaWQgU2NyaXB0UHJvZmlsZXI6OnZpc2l0RXh0ZXJuYWxBcnJheXMoRXh0ZXJu
YWxBcnJheVZpc2l0b3IqIHZpc2l0b3IpCiAKIH0KIAordm9pZCBTY3JpcHRQcm9maWxlcjo6Y29s
bGVjdEJpbmRpbmdNZW1vcnlJbmZvKE1lbW9yeUluc3RydW1lbnRhdGlvbiogaW5zdHJ1bWVudGF0
aW9uKQoreworICAgIFY4QmluZGluZ1Blcklzb2xhdGVEYXRhKiBkYXRhID0gVjhCaW5kaW5nUGVy
SXNvbGF0ZURhdGE6OmN1cnJlbnQoKTsKKyAgICBpZiAoIWRhdGEpCisgICAgICAgIHJldHVybjsK
KyAgICBkYXRhLT5yZXBvcnRNZW1vcnlVc2FnZShpbnN0cnVtZW50YXRpb24pOworfQorCiBzaXpl
X3QgU2NyaXB0UHJvZmlsZXI6OnByb2ZpbGVyU25hcHNob3RzU2l6ZSgpCiB7CiAgICAgcmV0dXJu
IHY4OjpIZWFwUHJvZmlsZXI6OkdldE1lbW9yeVNpemVVc2VkQnlQcm9maWxlcigpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0UHJvZmlsZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFByb2ZpbGVyLmgKaW5kZXggMjVmNmUxMjllYjJk
OTA4NTVmODlhMzU0N2EyZjk5NzIyMzY1YTYzMS4uN2ZmYTUwZGE3ZGNiYjcxMWY0YTg0MDk1Mzhi
M2M4NjVjYjEwOWU0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2Ny
aXB0UHJvZmlsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9m
aWxlci5oCkBAIC00Miw2ICs0Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRXh0
ZXJuYWxBcnJheVZpc2l0b3I7CiBjbGFzcyBFeHRlcm5hbFN0cmluZ1Zpc2l0b3I7CitjbGFzcyBN
ZW1vcnlJbnN0cnVtZW50YXRpb247CiBjbGFzcyBOb2RlV3JhcHBlclZpc2l0b3I7CiBjbGFzcyBQ
YWdlOwogY2xhc3MgU2NyaXB0T2JqZWN0OwpAQCAtODEsNiArODIsNyBAQCBwdWJsaWM6CiAgICAg
c3RhdGljIHZvaWQgdmlzaXROb2RlV3JhcHBlcnMoTm9kZVdyYXBwZXJWaXNpdG9yKik7CiAgICAg
c3RhdGljIHZvaWQgdmlzaXRFeHRlcm5hbFN0cmluZ3MoRXh0ZXJuYWxTdHJpbmdWaXNpdG9yKik7
CiAgICAgc3RhdGljIHZvaWQgdmlzaXRFeHRlcm5hbEFycmF5cyhFeHRlcm5hbEFycmF5VmlzaXRv
ciopOworICAgIHN0YXRpYyB2b2lkIGNvbGxlY3RCaW5kaW5nTWVtb3J5SW5mbyhNZW1vcnlJbnN0
cnVtZW50YXRpb24qKTsKICAgICBzdGF0aWMgc2l6ZV90IHByb2ZpbGVyU25hcHNob3RzU2l6ZSgp
OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhCaW5kaW5n
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4QmluZGluZy5jcHAKaW5kZXggNjk5
MDE4NjkyYWFlZWIxY2UwOTg5NzhhMWFlZDNjMjhlMGIyYzM0ZS4uN2M3MjU0MDM2NTkzOGU4YTBi
MDQwNmE2ODFkYzk0ZTQ2YzU3ZWFhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvVjhCaW5kaW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEJp
bmRpbmcuY3BwCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiQmluZGluZ1Zpc2l0b3JzLmgi
CiAjaW5jbHVkZSAiRE9NU3RyaW5nTGlzdC5oIgogI2luY2x1ZGUgIkVsZW1lbnQuaCIKKyNpbmNs
dWRlICJNZW1vcnlJbnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5o
IgogI2luY2x1ZGUgIlF1YWxpZmllZE5hbWUuaCIKICNpbmNsdWRlICJWOERPTVN0cmluZ0xpc3Qu
aCIKQEAgLTg5LDcgKzkwLDE2IEBAIHZvaWQgVjhCaW5kaW5nUGVySXNvbGF0ZURhdGE6OmRpc3Bv
c2Uodjg6Oklzb2xhdGUqIGlzb2xhdGUpCiAgICAgaXNvbGF0ZS0+U2V0RGF0YSgwKTsKIH0KIAor
dm9pZCBWOEJpbmRpbmdQZXJJc29sYXRlRGF0YTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5SW5z
dHJ1bWVudGF0aW9uKiBpbnN0cnVtZW50YXRpb24pCit7CisgICAgaW5zdHJ1bWVudGF0aW9uLT5y
ZXBvcnRQb2ludGVyKHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6QmluZGluZyk7CisgICAg
aW5zdHJ1bWVudGF0aW9uLT5yZXBvcnRIYXNoTWFwKG1fcmF3VGVtcGxhdGVzLCBNZW1vcnlJbnN0
cnVtZW50YXRpb246OkJpbmRpbmcpOworICAgIGluc3RydW1lbnRhdGlvbi0+cmVwb3J0SGFzaE1h
cChtX3RlbXBsYXRlcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpCaW5kaW5nKTsKKyAgICBtX3N0
cmluZ0NhY2hlLnJlcG9ydE1lbW9yeVVzYWdlKGluc3RydW1lbnRhdGlvbik7CiAKKyAgICBmb3Ig
KHNpemVfdCBpID0gMDsgaSA8IG1fZG9tRGF0YUxpc3Quc2l6ZSgpOyBpKyspCisgICAgICAgIG1f
ZG9tRGF0YUxpc3RbaV0tPnJlcG9ydE1lbW9yeVVzYWdlKGluc3RydW1lbnRhdGlvbik7Cit9CiAK
IC8vIFdlYkNvcmVTdHJpbmdSZXNvdXJjZSBpcyBhIGhlbHBlciBjbGFzcyBmb3IgdjhFeHRlcm5h
bFN0cmluZy4gSXQgaXMgdXNlZAogLy8gdG8gbWFuYWdlIHRoZSBsaWZlLWN5Y2xlIG9mIHRoZSB1
bmRlcmx5aW5nIGJ1ZmZlciBvZiB0aGUgZXh0ZXJuYWwgc3RyaW5nLgpAQCAtNDkwLDYgKzUwMCwx
MSBAQCB2ODo6TG9jYWw8djg6OlN0cmluZz4gU3RyaW5nQ2FjaGU6OnY4RXh0ZXJuYWxTdHJpbmdT
bG93KFN0cmluZ0ltcGwqIHN0cmluZ0ltcGwsCiAKICAgICByZXR1cm4gbmV3U3RyaW5nOwogfQor
Cit2b2lkIFN0cmluZ0NhY2hlOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlJbnN0cnVtZW50YXRp
b24qIGluc3RydW1lbnRhdGlvbikKK3sKKyAgICBpbnN0cnVtZW50YXRpb24tPnJlcG9ydEhhc2hN
YXAobV9zdHJpbmdDYWNoZSwgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpCaW5kaW5nKTsKK30KICAg
ICAKIHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBjcmVhdGVSYXdUZW1wbGF0
ZSgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEJpbmRpbmcu
aCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4QmluZGluZy5oCmluZGV4IDEwMjk2YTcw
MGI1ZTM0NjA0MDllZGVlODQzOGU5OTAyZTM5MDZiOTUuLjZhM2QzYmJkOGY0YWZhMDk2MjlmMDk1
MmIzMjRlOTczNDMyYTRkNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L1Y4QmluZGluZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4QmluZGluZy5o
CkBAIC00OSw2ICs0OSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBFdmVudExp
c3RlbmVyOwogICAgIGNsYXNzIEV2ZW50VGFyZ2V0OwogICAgIGNsYXNzIEV4dGVybmFsU3RyaW5n
VmlzaXRvcjsKKyAgICBjbGFzcyBNZW1vcnlJbnN0cnVtZW50YXRpb247CiAKICAgICAvLyBGSVhN
RTogUmVtb3ZlIFY4QmluZGluZy4KICAgICBjbGFzcyBWOEJpbmRpbmcgewpAQCAtNzgsNiArNzks
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgdm9pZCByZW1vdmUoU3RyaW5nSW1w
bCopOwogCisgICAgICAgIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5SW5zdHJ1bWVudGF0
aW9uKik7CisKICAgICBwcml2YXRlOgogICAgICAgICB2ODo6TG9jYWw8djg6OlN0cmluZz4gdjhF
eHRlcm5hbFN0cmluZ1Nsb3coU3RyaW5nSW1wbCosIHY4OjpJc29sYXRlKik7CiAKQEAgLTE4Myw2
ICsxODYsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgR0NFdmVudERhdGEmIGdj
RXZlbnREYXRhKCkgeyByZXR1cm4gbV9nY0V2ZW50RGF0YTsgfQogCisgICAgICAgIHZvaWQgcmVw
b3J0TWVtb3J5VXNhZ2UoTWVtb3J5SW5zdHJ1bWVudGF0aW9uKik7CisKICAgICBwcml2YXRlOgog
ICAgICAgICBleHBsaWNpdCBWOEJpbmRpbmdQZXJJc29sYXRlRGF0YSh2ODo6SXNvbGF0ZSopOwog
ICAgICAgICB+VjhCaW5kaW5nUGVySXNvbGF0ZURhdGEoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NTWFwLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9WOERPTU1hcC5oCmluZGV4IGJjNTE1NDBhMmQ5MDJjOWUyNGU1M2FkYWE2MzhjN2ZmYzAxMmJm
OTEuLjUzMWQwN2QzYmM3NjU3OTNkYzJhZDM0YjUxODRmN2RkNDcxZDljZTYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NTWFwLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvVjhET01NYXAuaApAQCAtMzEsNiArMzEsNyBAQAogI2lmbmRlZiBWOERP
TU1hcF9oCiAjZGVmaW5lIFY4RE9NTWFwX2gKIAorI2luY2x1ZGUgIk1lbW9yeUluc3RydW1lbnRh
dGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5o
PgogI2luY2x1ZGUgPHY4Lmg+CkBAIC0zOCw2ICszOSw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgY2xhc3MgRE9NRGF0YVN0b3JlOwogICAgIGNsYXNzIE5vZGU7CisgICAgY2xhc3MgTWVt
b3J5SW5zdHJ1bWVudGF0aW9uOwogCiAgICAgdGVtcGxhdGUgPGNsYXNzIEtleVR5cGUsIGNsYXNz
IFZhbHVlVHlwZT4gY2xhc3MgQWJzdHJhY3RXZWFrUmVmZXJlbmNlTWFwIHsKICAgICBwdWJsaWM6
CkBAIC02MSw2ICs2Myw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCB2
b2lkIGNsZWFyKCkgPSAwOwogCiAgICAgICAgIHY4OjpXZWFrUmVmZXJlbmNlQ2FsbGJhY2sgd2Vh
a1JlZmVyZW5jZUNhbGxiYWNrKCkgeyByZXR1cm4gbV93ZWFrUmVmZXJlbmNlQ2FsbGJhY2s7IH0K
KworICAgICAgICB2aXJ0dWFsIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5SW5zdHJ1bWVu
dGF0aW9uKikgPSAwOworCiAgICAgcHJpdmF0ZToKICAgICAgICAgdjg6OldlYWtSZWZlcmVuY2VD
YWxsYmFjayBtX3dlYWtSZWZlcmVuY2VDYWxsYmFjazsKICAgICB9OwpAQCAtMTI5LDYgKzEzNCwx
MSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICB2aXNpdG9yLT5lbmRNYXAoKTsK
ICAgICAgICAgfQogCisgICAgICAgIHZpcnR1YWwgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1v
cnlJbnN0cnVtZW50YXRpb24qIGluc3RydW1lbnRhdGlvbikgT1ZFUlJJREUKKyAgICAgICAgewor
ICAgICAgICAgICAgaW5zdHJ1bWVudGF0aW9uLT5yZXBvcnRIYXNoTWFwKG1fbWFwLCBNZW1vcnlJ
bnN0cnVtZW50YXRpb246OkJpbmRpbmcpOworICAgICAgICB9CisKICAgICBwcm90ZWN0ZWQ6CiAg
ICAgICAgIEhhc2hNYXA8S2V5VHlwZSosIFZhbHVlVHlwZSo+IG1fbWFwOwogICAgIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmgKaW5kZXggOTlmZTQ2YTY3NDhl
YjUxNTFlNWU4ODU0ZTBkMTJiZWQ5MGIyMGQ5OC4uYjgxZjViZTU3NmFlNDRlM2JlMWZhNmE3ZjE2
YzAzZTI0ZGNhOTMyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL01lbW9yeUluc3Ry
dW1lbnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZW1vcnlJbnN0cnVtZW50YXRp
b24uaApAQCAtNDcsNiArNDcsNyBAQCBwdWJsaWM6CiAgICAgICAgIE90aGVyLAogICAgICAgICBE
T00sCiAgICAgICAgIENTUywKKyAgICAgICAgQmluZGluZywKICAgICAgICAgTGFzdFR5cGVFbnRy
eQogICAgIH07CiAKQEAgLTU5LDYgKzYwLDcgQEAgcHVibGljOgogICAgICAgICAgICAgcmV0dXJu
OwogICAgICAgICBjb3VudE9iamVjdFNpemUob2JqZWN0VHlwZSwgc2l6ZW9mKFQpKTsKICAgICB9
CisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIEhhc2hNYXBUeXBlPiB2b2lkIHJlcG9ydEhhc2hNYXAo
Y29uc3QgSGFzaE1hcFR5cGUmLCBPYmplY3RUeXBlKTsKIAogcHJpdmF0ZToKICAgICBmcmllbmQg
Y2xhc3MgTWVtb3J5T2JqZWN0SW5mbzsKQEAgLTEzOSw2ICsxNDEsMTQgQEAgdm9pZCBNZW1vcnlJ
bnN0cnVtZW50YXRpb246OnJlcG9ydEluc3RydW1lbnRlZE9iamVjdChjb25zdCBUJiBvYmplY3Qp
CiAgICAgb2JqZWN0LnJlcG9ydE1lbW9yeVVzYWdlKCZtZW1vcnlPYmplY3RJbmZvKTsKIH0KIAor
Cit0ZW1wbGF0ZTx0eXBlbmFtZSBIYXNoTWFwVHlwZT4KK3ZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0
aW9uOjpyZXBvcnRIYXNoTWFwKGNvbnN0IEhhc2hNYXBUeXBlJiBoYXNoTWFwLCBPYmplY3RUeXBl
IG9iamVjdFR5cGUpCit7CisgICAgc2l6ZV90IHNpemUgPSBzaXplb2YoSGFzaE1hcFR5cGUpICsg
aGFzaE1hcC5jYXBhY2l0eSgpICogc2l6ZW9mKHR5cGVuYW1lIEhhc2hNYXBUeXBlOjpWYWx1ZVR5
cGUpOworICAgIGNvdW50T2JqZWN0U2l6ZShvYmplY3RUeXBlLCBzaXplKTsKK30KKwogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gIWRlZmluZWQoTWVtb3J5SW5zdHJ1bWVudGF0
aW9uX2gpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTWVt
b3J5QWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck1lbW9yeUFn
ZW50LmNwcAppbmRleCAwZTI1ZDcwMDUwNTI4YzBkNzQwMDZjMTFiMjc3NzBjMThmMzY5NzdhLi5i
NWZkODM2ZjU3ODk4YTNlYTljZTAzMGZlNWM2M2MxOTRlNTE0MzBhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTWVtb3J5QWdlbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JNZW1vcnlBZ2VudC5jcHAKQEAgLTkwLDYgKzkw
LDcgQEAgc3RhdGljIGNvbnN0IGNoYXIgZG9tW10gPSAiRE9NIjsKIHN0YXRpYyBjb25zdCBjaGFy
IGRvbVRyZWVPdGhlcltdID0gIkRPTVRyZWVPdGhlciI7CiBzdGF0aWMgY29uc3QgY2hhciBkb21U
cmVlRE9NW10gPSAiRE9NVHJlZURPTSI7CiBzdGF0aWMgY29uc3QgY2hhciBkb21UcmVlQ1NTW10g
PSAiRE9NVHJlZUNTUyI7CitzdGF0aWMgY29uc3QgY2hhciBkb21UcmVlQmluZGluZ1tdID0gIkRP
TVRyZWVCaW5kaW5nIjsKIH0KIAogbmFtZXNwYWNlIHsKQEAgLTQ0Nyw2ICs0NDgsNyBAQCBwdWJs
aWM6CiAgICAgICAgIGFkZE1lbW9yeUJsb2NrRm9yKGRvbUNoaWxkcmVuLmdldCgpLCBtX3RvdGFs
U2l6ZXNbT3RoZXJdLCBNZW1vcnlCbG9ja05hbWU6OmRvbVRyZWVPdGhlcik7CiAgICAgICAgIGFk
ZE1lbW9yeUJsb2NrRm9yKGRvbUNoaWxkcmVuLmdldCgpLCBtX3RvdGFsU2l6ZXNbRE9NXSwgTWVt
b3J5QmxvY2tOYW1lOjpkb21UcmVlRE9NKTsKICAgICAgICAgYWRkTWVtb3J5QmxvY2tGb3IoZG9t
Q2hpbGRyZW4uZ2V0KCksIG1fdG90YWxTaXplc1tDU1NdLCBNZW1vcnlCbG9ja05hbWU6OmRvbVRy
ZWVDU1MpOworICAgICAgICBhZGRNZW1vcnlCbG9ja0Zvcihkb21DaGlsZHJlbi5nZXQoKSwgbV90
b3RhbFNpemVzW0JpbmRpbmddLCBNZW1vcnlCbG9ja05hbWU6OmRvbVRyZWVCaW5kaW5nKTsKIAog
ICAgICAgICBSZWZQdHI8SW5zcGVjdG9yTWVtb3J5QmxvY2s+IGRvbSA9IEluc3BlY3Rvck1lbW9y
eUJsb2NrOjpjcmVhdGUoKS5zZXROYW1lKE1lbW9yeUJsb2NrTmFtZTo6ZG9tKTsKICAgICAgICAg
ZG9tLT5zZXRTaXplKHRvdGFsU2l6ZSk7CkBAIC00OTIsNiArNDk0LDExIEBAIHB1YmxpYzoKICAg
ICAgICAgbV9kb21NZW1vcnlVc2FnZS5yZXBvcnRJbnN0cnVtZW50ZWRQb2ludGVyKG5vZGUpOwog
ICAgIH0KIAorICAgIHZvaWQgdmlzaXRCaW5kaW5ncygpCisgICAgeworICAgICAgICBTY3JpcHRQ
cm9maWxlcjo6Y29sbGVjdEJpbmRpbmdNZW1vcnlJbmZvKCZtX2RvbU1lbW9yeVVzYWdlKTsKKyAg
ICB9CisKICAgICBQYXNzUmVmUHRyPEluc3BlY3Rvck1lbW9yeUJsb2NrPiBkdW1wU3RhdGlzdGlj
cygpIHsgcmV0dXJuIG1fZG9tTWVtb3J5VXNhZ2UuZHVtcFN0YXRpc3RpY3MoKTsgfQogCiBwcml2
YXRlOgpAQCAtNTEyLDYgKzUxOSw4IEBAIHN0YXRpYyBQYXNzUmVmUHRyPEluc3BlY3Rvck1lbW9y
eUJsb2NrPiBkb21UcmVlSW5mbyhQYWdlKiBwYWdlLCBWaXNpdGVkT2JqZWN0cyYKICAgICAgICAg
ICAgIGRvbVRyZWVzSXRlcmF0b3IudmlzaXROb2RlKGRvYyk7CiAgICAgfQogCisgICAgZG9tVHJl
ZXNJdGVyYXRvci52aXNpdEJpbmRpbmdzKCk7CisKICAgICByZXR1cm4gZG9tVHJlZXNJdGVyYXRv
ci5kdW1wU3RhdGlzdGljcygpOwogfQogCg==
</data>
<flag name="review"
          id="158040"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
    <flag name="commit-queue"
          id="158041"
          type_id="3"
          status="-"
          setter="gyuyoung.kim"
    />
          </attachment>
      

    </bug>

</bugzilla>