<?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>73022</bug_id>
          
          <creation_ts>2011-11-23 08:16:45 -0800</creation_ts>
          <short_desc>Web Inspector: exceptions in shared workers should be logged to web inspector console</short_desc>
          <delta_ts>2011-11-24 00:01:42 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>0</everconfirmed>
          <reporter name="Yury Semikhatsky">yurys</reporter>
          <assigned_to name="Yury Semikhatsky">yurys</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>dimich</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>508147</commentid>
    <comment_count>0</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-11-23 08:16:45 -0800</bug_when>
    <thetext>Web Inspector: exceptions in shared workers should be logged to web inspector console</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>508148</commentid>
    <comment_count>1</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-11-23 08:17:54 -0800</bug_when>
    <thetext>This bug relates to the following Chromium bugs: http://crbug.com/105250, http://crbug.com/105251</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>508151</commentid>
    <comment_count>2</comment_count>
      <attachid>116360</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-11-23 08:23:55 -0800</bug_when>
    <thetext>Created attachment 116360
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>508184</commentid>
    <comment_count>3</comment_count>
      <attachid>116375</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-11-23 09:19:31 -0800</bug_when>
    <thetext>Created attachment 116375
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>508186</commentid>
    <comment_count>4</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-11-23 09:22:08 -0800</bug_when>
    <thetext>Unfortunately, I cannot add a test for the new functionality since there is no layout test support for opening inspector front-end on shared workers yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>508644</commentid>
    <comment_count>5</comment_count>
      <attachid>116482</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-11-23 23:35:29 -0800</bug_when>
    <thetext>Created attachment 116482
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>508652</commentid>
    <comment_count>6</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-11-24 00:01:42 -0800</bug_when>
    <thetext>Committed r101125: &lt;http://trac.webkit.org/changeset/101125&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>116360</attachid>
            <date>2011-11-23 08:23:55 -0800</date>
            <delta_ts>2011-11-23 09:19:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73022-20111123202353.patch</filename>
            <type>text/plain</type>
            <size>20201</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxMDg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzFkZTZmOThkY2U5Y2Qy
NjA4NmI1NTQzODVlNmRlZGI5ODdmODIwNS4uMjNhYzBhMzg1YmUzZjliN2I1YWFlYThhMWU5ZTM3
MTVhY2QyZDI5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDExLTExLTIzICBZdXJ5
IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IGV4Y2VwdGlvbnMgaW4gc2hhcmVkIHdvcmtlcnMgc2hvdWxkIGJlIGxvZ2dlZCB0byB3ZWIg
aW5zcGVjdG9yIGNvbnNvbGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTczMDIyCisKKyAgICAgICAgQWNjb3JkaW5nIHRvIHNlY3Rpb24gIjQuNyBSdW50
aW1lIHNjcmlwdCBlcnJvcnMiIG9mIFdlYiBXb3JrZXJzIHNwZWMgIkZvciBzaGFyZWQKKyAgICAg
ICAgd29ya2VycywgaWYgdGhlIGVycm9yIGlzIHN0aWxsIG5vdCBoYW5kbGVkIGFmdGVyd2FyZHMs
IG9yIGlmIHRoZSBlcnJvciBvY2N1cnJlZAorICAgICAgICB3aGlsZSBoYW5kbGluZyBhIHByZXZp
b3VzIHNjcmlwdCBlcnJvciwgdGhlIGVycm9yIG1heSBiZSByZXBvcnRlZCB0byB0aGUgdXNlci4i
CisKKyAgICAgICAgVGhpcyBjaGFuZ2UgYWRkcyB1bmNhdWdoIGV4Y2VwdGlvbnMgdG8gdGhlIHNo
YXJlZCB3b3JrZXIgd2ViIGluc3BlY3RvciBjb25zb2xlLgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVB
Z2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OnJlc3Rv
cmUpOiBSZXN0b3JlIG5vdyBjbGVhcnMgb2xkIG1lc3NhZ2VzIGluIHRoZQorICAgICAgICBmcm9u
dC1lbmQgd2hlbiBpbnNwZWN0ZWQgcHJvY2VzcyBjaGFuZ2VzLgorICAgICAgICAqIGluc3BlY3Rv
ci9JbnNwZWN0b3JDb25zb2xlSW5zdHJ1bWVudGF0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUpOgorICAgICAgICAq
IGluc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3RvckRlYnVnZ2VyQWdlbnQ6OnJlc3RvcmUpOiBSZXN0b3JlIG5vdyBub3RpZmllcyBm
cm9udC1lbmQgdGhhdAorICAgICAgICB0aGUgaXQgd2FzIHJlc2V0IGR1ZSB0byBpbnNwZWN0ZWQg
cHJvY2VzcyBjaGFuZ2UuCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRh
dGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Omlu
c3RydW1lbnRpbmdBZ2VudHNGb3JXb3JrZXJDb250ZXh0KToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmg6CisgICAgICAgICogaW5zcGVjdG9yL1dvcmtlcklu
c3BlY3RvckNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VySW5zcGVjdG9y
Q29udHJvbGxlcjo6Y29ubmVjdEZyb250ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlcklu
c3BlY3RvckNvbnRyb2xsZXI6OmRpc2Nvbm5lY3RGcm9udGVuZCk6CisgICAgICAgIChXZWJDb3Jl
OjpXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyOjpyZXN0b3JlSW5zcGVjdG9yU3RhdGVGcm9tQ29v
a2llKToKKyAgICAgICAgKiBpbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5oOgor
ICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvV29ya2VyTWFuYWdlci5qczoKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5Xb3JrZXJNYW5hZ2VyLnNob3dXb3JrZXJUZXJtaW5hdGVkU2NyZWVuKTog
IldvcmtlciB0ZXJtaW5hdGVkIiBtZXNzYWdlcworICAgICAgICBpcyBoaWRkZW4gb24gR2xvYmFs
T2JqZWN0Q2xlYXJlZCBldmVudCBhcyBTY3JpcHRQYXJzZWQgZXZlbnQgbWF5IG5ldmVyIGNvbWUg
aWYgdGhlcmUgaXMKKyAgICAgICAgYSBzeW50YXggZXJyb3IgaW4gdGhlIHdvcmtlciBtYWluIHNj
cmlwdC4KKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qczoKKyAgICAg
ICAgKiB3b3JrZXJzL0RlZGljYXRlZFdvcmtlckNvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RGVkaWNhdGVkV29ya2VyQ29udGV4dDo6YWRkTWVzc2FnZSk6CisgICAgICAgIChXZWJDb3Jl
OjpEZWRpY2F0ZWRXb3JrZXJDb250ZXh0Ojpsb2dFeGNlcHRpb25Ub0NvbnNvbGUpOgorICAgICAg
ICAqIHdvcmtlcnMvRGVkaWNhdGVkV29ya2VyQ29udGV4dC5oOgorICAgICAgICAqIHdvcmtlcnMv
U2hhcmVkV29ya2VyQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaGFyZWRXb3JrZXJD
b250ZXh0OjphZGRNZXNzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OlNoYXJlZFdvcmtlckNvbnRl
eHQ6OmxvZ0V4Y2VwdGlvblRvQ29uc29sZSk6CisgICAgICAgICogd29ya2Vycy9TaGFyZWRXb3Jr
ZXJDb250ZXh0Lmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJDb250ZXh0LmNwcDoKKyAgICAg
ICAgKiB3b3JrZXJzL1dvcmtlckNvbnRleHQuaDoKKwogMjAxMS0xMS0yMyAgUGhpbGlwcGUgTm9y
bWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dTdHJlYW1lcl0gaW1wcm9w
ZXIgdXNhZ2Ugb2YgZ3N0X29iamVjdF9yZWZfc2luawpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcAppbmRleCAxMjVlYzdhZTQ1MmY5MzMy
ZmJmZWNjZGJhZDk1YWUxMGU2ZjhjMjc4Li4yOGNlNmRiNjg2OTM2YjVhNTk4NmU5MmIxZjJmOGFj
MWU3NjAxMGY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
Q29uc29sZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
Q29uc29sZUFnZW50LmNwcApAQCAtMTE1LDYgKzExNSw3IEBAIHZvaWQgSW5zcGVjdG9yQ29uc29s
ZUFnZW50OjpyZXNldCgpCiB2b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6cmVzdG9yZSgpCiB7
CiAgICAgaWYgKG1faW5zcGVjdG9yU3RhdGUtPmdldEJvb2xlYW4oQ29uc29sZUFnZW50U3RhdGU6
OmNvbnNvbGVNZXNzYWdlc0VuYWJsZWQpKSB7CisgICAgICAgIG1fZnJvbnRlbmQtPm1lc3NhZ2Vz
Q2xlYXJlZCgpOwogICAgICAgICBFcnJvclN0cmluZyBlcnJvcjsKICAgICAgICAgZW5hYmxlKCZl
cnJvcik7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckNvbnNvbGVJbnN0cnVtZW50YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JDb25zb2xlSW5zdHJ1bWVudGF0aW9uLmgKaW5kZXggOGE0MDg1OWZlMWQzYWZkMzY3
ODc3MzhiYzlhMWRlZjkwZGNlZjQ0OC4uZTYzYzcxMjhkNTMzMmVmMjY0YzE4OGZhMGE0ZTdlNzEz
MWRkNDJjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNv
bnNvbGVJbnN0cnVtZW50YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yQ29uc29sZUluc3RydW1lbnRhdGlvbi5oCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVk
ZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiU2NyaXB0QXJndW1lbnRz
LmgiCiAjaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCisjaW5jbHVkZSAiU2NyaXB0UHJvZmls
ZS5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
QEAgLTU0LDYgKzU1LDI0IEBAIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
YWRkTWVzc2FnZVRvQ29uc29sZShQYWdlKiBwYWdlLCBNZXNzYWdlU291CiAjZW5kaWYKIH0KIAor
I2lmIEVOQUJMRShXT1JLRVJTKQoraW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjphZGRNZXNzYWdlVG9Db25zb2xlKFdvcmtlckNvbnRleHQqIHdvcmtlckNvbnRleHQsIE1lc3Nh
Z2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNv
bnN0IFN0cmluZyYgbWVzc2FnZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50
cywgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaykKK3sKKyNpZiBFTkFCTEUo
SU5TUEVDVE9SKQorICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdl
bnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvcldvcmtlckNvbnRleHQod29ya2VyQ29udGV4dCkp
CisgICAgICAgIGFkZE1lc3NhZ2VUb0NvbnNvbGVJbXBsKGluc3RydW1lbnRpbmdBZ2VudHMsIHNv
dXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIGFyZ3VtZW50cywgY2FsbFN0YWNrKTsKKyNlbmRp
ZgorfQorCitpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VU
b0NvbnNvbGUoV29ya2VyQ29udGV4dCogd29ya2VyQ29udGV4dCwgTWVzc2FnZVNvdXJjZSBzb3Vy
Y2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBt
ZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNjcmlwdElkKQorewor
I2lmIEVOQUJMRShJTlNQRUNUT1IpCisgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3Ry
dW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yV29ya2VyQ29udGV4dCh3b3Jr
ZXJDb250ZXh0KSkKKyAgICAgICAgYWRkTWVzc2FnZVRvQ29uc29sZUltcGwoaW5zdHJ1bWVudGlu
Z0FnZW50cywgc291cmNlLCB0eXBlLCBsZXZlbCwgbWVzc2FnZSwgbGluZU51bWJlciwgc2NyaXB0
SWQpOworI2VuZGlmCit9CisjZW5kaWYKKwogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjpjb25zb2xlQ291bnQoUGFnZSogcGFnZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVu
dHM+IGFyZ3VtZW50cywgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IHN0YWNrKQogewogI2lm
IEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yRGVidWdnZXJBZ2VudC5jcHAKaW5kZXggNmYxMWNiMDhjZWQxMDNlYzk5N2QzNTVkYTky
NjlkM2YyYTFmYjEyNy4uZDhkNjU4NzAyZmQyNzI3YzEzNGQxZDg3NmIzYWM0YTdmYzZkMzdiZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdl
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFn
ZW50LmNwcApAQCAtMTI4LDggKzEyOCwxMCBAQCB2b2lkIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ6
OmRpc2FibGUoRXJyb3JTdHJpbmcqKQogCiB2b2lkIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ6OnJl
c3RvcmUoKQogewotICAgIGlmIChlbmFibGVkKCkpCisgICAgaWYgKGVuYWJsZWQoKSkgeworICAg
ICAgICBtX2Zyb250ZW5kLT5nbG9iYWxPYmplY3RDbGVhcmVkKCk7CiAgICAgICAgIGVuYWJsZSgp
OworICAgIH0KIH0KIAogdm9pZCBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50OjpzZXRGcm9udGVuZChJ
bnNwZWN0b3JGcm9udGVuZCogZnJvbnRlbmQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCmluZGV4IDcxMzI5NDMxNmUwMmI5
OWE2NzNlZDljMTAxNGVlYjY2ZTdmNjFiMmQuLmE4MTcwYjQxNTdmMWNiOTRhMzAxYzY0OGFhMzky
MTZkYzM4OWQxMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JJbnN0cnVtZW50YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCkBAIC05MzIsNiArOTMyLDE1IEBAIEluc3RydW1lbnRp
bmdBZ2VudHMqIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6aW5zdHJ1bWVudGluZ0FnZW50c0Zv
clBhZ2UoUGFnZSoKICAgICByZXR1cm4gaW5zdHJ1bWVudGF0aW9uRm9yUGFnZShwYWdlKTsKIH0K
IAorI2lmIEVOQUJMRShXT1JLRVJTKQorSW5zdHJ1bWVudGluZ0FnZW50cyogSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjppbnN0cnVtZW50aW5nQWdlbnRzRm9yV29ya2VyQ29udGV4dChXb3JrZXJD
b250ZXh0KiB3b3JrZXJDb250ZXh0KQoreworICAgIGlmICghd29ya2VyQ29udGV4dCkKKyAgICAg
ICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIGluc3RydW1lbnRhdGlvbkZvcldvcmtlckNvbnRleHQo
d29ya2VyQ29udGV4dCk7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAj
ZW5kaWYgLy8gIUVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKaW5kZXggYTYyMDI3ZGM2MzgzODgwZTBj
OGQ3OGI5ZjM0YTBlMzFkYjYyYmQyMS4uZTZiNDc3YzgwZWZjZmVmMWY3ZWVlYjBjMGFkNWI0YWVi
ODljNDJhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvcklu
c3RydW1lbnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb24uaApAQCAtMTUxLDYgKzE1MSwxMCBAQCBwdWJsaWM6CiAKICAgICBzdGF0
aWMgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKFBhZ2UqLCBNZXNzYWdlU291cmNlLCBNZXNzYWdl
VHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIFBhc3NSZWZQdHI8U2Ny
aXB0QXJndW1lbnRzPiwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KTsKICAgICBzdGF0aWMg
dm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKFBhZ2UqLCBNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlw
ZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1i
ZXIsIGNvbnN0IFN0cmluZyYpOworI2lmIEVOQUJMRShXT1JLRVJTKQorICAgIHN0YXRpYyB2b2lk
IGFkZE1lc3NhZ2VUb0NvbnNvbGUoV29ya2VyQ29udGV4dCosIE1lc3NhZ2VTb3VyY2UsIE1lc3Nh
Z2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgUGFzc1JlZlB0cjxT
Y3JpcHRBcmd1bWVudHM+LCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4pOworICAgIHN0YXRp
YyB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoV29ya2VyQ29udGV4dCosIE1lc3NhZ2VTb3VyY2Us
IE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWdu
ZWQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJik7CisjZW5kaWYKICAgICBzdGF0aWMgdm9pZCBj
b25zb2xlQ291bnQoUGFnZSosIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiwgUGFzc1JlZlB0
cjxTY3JpcHRDYWxsU3RhY2s+KTsKICAgICBzdGF0aWMgdm9pZCBzdGFydENvbnNvbGVUaW1pbmco
UGFnZSosIGNvbnN0IFN0cmluZyYgdGl0bGUpOwogICAgIHN0YXRpYyB2b2lkIHN0b3BDb25zb2xl
VGltaW5nKFBhZ2UqLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxT
dGFjaz4pOwpAQCAtMzI4LDYgKzMzMiw5IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIEluc3RydW1l
bnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHNGb3JGcmFtZShGcmFtZSopOwogICAgIHN0
YXRpYyBJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzRm9yQ29udGV4dChT
Y3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CiAgICAgc3RhdGljIEluc3RydW1lbnRpbmdBZ2VudHMq
IGluc3RydW1lbnRpbmdBZ2VudHNGb3JEb2N1bWVudChEb2N1bWVudCopOworI2lmIEVOQUJMRShX
T1JLRVJTKQorICAgIHN0YXRpYyBJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdl
bnRzRm9yV29ya2VyQ29udGV4dChXb3JrZXJDb250ZXh0Kik7CisjZW5kaWYKIAogICAgIHN0YXRp
YyBib29sIGNvbGxlY3RpbmdIVE1MUGFyc2VFcnJvcnMoSW5zdHJ1bWVudGluZ0FnZW50cyopOwog
ICAgIHN0YXRpYyB2b2lkIHBhdXNlT25OYXRpdmVFdmVudElmTmVlZGVkKEluc3RydW1lbnRpbmdB
Z2VudHMqLCBjb25zdCBTdHJpbmcmIGNhdGVnb3J5VHlwZSwgY29uc3QgU3RyaW5nJiBldmVudE5h
bWUsIGJvb2wgc3luY2hyb25vdXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuY3BwCmluZGV4IGY4OGZiNWNmYzNkYjExYWMz
NjI5NzU0YzY5NWI0ZDA0MTIwOWUwMTUuLmNiYjAxYTVjMGYzMGE2NzU3YTIwNTBjNDM4OGFkYWFi
ZDFkOTAyNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNw
ZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2Vy
SW5zcGVjdG9yQ29udHJvbGxlci5jcHAKQEAgLTM4LDYgKzM4LDcgQEAKICNpbmNsdWRlICJJbmpl
Y3RlZFNjcmlwdE1hbmFnZXIuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hl
ci5oIgogI2luY2x1ZGUgIkluc3BlY3RvckNsaWVudC5oIgorI2luY2x1ZGUgIkluc3BlY3RvckNv
bnNvbGVBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kLmgiCiAjaW5jbHVkZSAi
SW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yU3RhdGUuaCIK
QEAgLTEyMywxMiArMTI0LDEyIEBAIHZvaWQgV29ya2VySW5zcGVjdG9yQ29udHJvbGxlcjo6Y29u
bmVjdEZyb250ZW5kKCkKICAgICBtX2JhY2tlbmREaXNwYXRjaGVyID0gYWRvcHRSZWYobmV3IElu
c3BlY3RvckJhY2tlbmREaXNwYXRjaGVyKAogICAgICAgICBtX2Zyb250ZW5kQ2hhbm5lbC5nZXQo
KSwKICAgICAgICAgMCwgLy8gSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50CisgICAgICAg
IDAsIC8vIEluc3BlY3RvckNTU0FnZW50CisgICAgICAgIG1fY29uc29sZUFnZW50LmdldCgpLAor
ICAgICAgICAwLCAvLyBJbnNwZWN0b3JET01BZ2VudAogI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RF
QlVHR0VSKQogICAgICAgICAwLCAvLyBJbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50CiAjZW5kaWYK
LSAgICAgICAgMCwgLy8gSW5zcGVjdG9yQ1NTQWdlbnQKLSAgICAgICAgMCwgLy8gSW5zcGVjdG9y
Q29uc29sZUFnZW50Ci0gICAgICAgIDAsIC8vIEluc3BlY3RvckRPTUFnZW50CiAgICAgICAgIDAs
IC8vIEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudAogI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAg
ICAgICAgIDAsIC8vIEluc3BlY3RvckRhdGFiYXNlQWdlbnQKQEAgLTE1MCw2ICsxNTEsNyBAQCB2
b2lkIFdvcmtlckluc3BlY3RvckNvbnRyb2xsZXI6OmNvbm5lY3RGcm9udGVuZCgpCiAjaWYgRU5B
QkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCiAgICAgbV9kZWJ1Z2dlckFnZW50LT5zZXRGcm9udGVu
ZChtX2Zyb250ZW5kLmdldCgpKTsKICNlbmRpZgorICAgIG1fY29uc29sZUFnZW50LT5zZXRGcm9u
dGVuZChtX2Zyb250ZW5kLmdldCgpKTsKIH0KIAogdm9pZCBXb3JrZXJJbnNwZWN0b3JDb250cm9s
bGVyOjpkaXNjb25uZWN0RnJvbnRlbmQoKQpAQCAtMTY0LDYgKzE2Niw3IEBAIHZvaWQgV29ya2Vy
SW5zcGVjdG9yQ29udHJvbGxlcjo6ZGlzY29ubmVjdEZyb250ZW5kKCkKICNpZiBFTkFCTEUoSkFW
QVNDUklQVF9ERUJVR0dFUikKICAgICBtX2RlYnVnZ2VyQWdlbnQtPmNsZWFyRnJvbnRlbmQoKTsK
ICNlbmRpZgorICAgIG1fY29uc29sZUFnZW50LT5jbGVhckZyb250ZW5kKCk7CiAgICAgbV9pbmpl
Y3RlZFNjcmlwdE1hbmFnZXItPmluamVjdGVkU2NyaXB0SG9zdCgpLT5jbGVhckZyb250ZW5kKCk7
CiAKICAgICBtX2Zyb250ZW5kLmNsZWFyKCk7CkBAIC0xNzksNiArMTgyLDcgQEAgdm9pZCBXb3Jr
ZXJJbnNwZWN0b3JDb250cm9sbGVyOjpyZXN0b3JlSW5zcGVjdG9yU3RhdGVGcm9tQ29va2llKGNv
bnN0IFN0cmluZyYgaW4KICNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKICAgICBtX2Rl
YnVnZ2VyQWdlbnQtPnJlc3RvcmUoKTsKICNlbmRpZgorICAgIG1fY29uc29sZUFnZW50LT5yZXN0
b3JlKCk7CiB9CiAKIHZvaWQgV29ya2VySW5zcGVjdG9yQ29udHJvbGxlcjo6ZGlzcGF0Y2hNZXNz
YWdlRnJvbUZyb250ZW5kKGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5oCmluZGV4IDliZTQ4
NWQ1YTZjOWU1MTEzNjYzOTA0NWU4MWM4OTVjMDM5ODQyYzkuLjdhYzczY2Y1ZTRlNTJmNzg1YjRm
ZDZmNzk3MWNkMWZhYjMxZTc3M2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuaApAQCAtNDksNiArNDksNyBAQCBjbGFzcyBJ
bnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcjsKIGNsYXNzIEluc3BlY3RvckNvbnNvbGVBZ2VudDsK
IGNsYXNzIEluc3BlY3RvckZyb250ZW5kOwogY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVs
OworY2xhc3MgSW5zcGVjdG9yQ29uc29sZUFnZW50OwogY2xhc3MgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOwogY2xhc3MgSW5zcGVjdG9yUnVudGltZUFnZW50OwogY2xhc3MgSW5zcGVjdG9yU3Rh
dGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dvcmtl
ck1hbmFnZXIuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dvcmtlck1h
bmFnZXIuanMKaW5kZXggMDU2MjExMmExYTcyZWI3YTlkYWI0M2Y5NzE5NWZkNDlhMDRlZTllMi4u
YjY5ZDcxNTRkYjQzYTcyYzI1N2Y5YzZiZmE1NDRhZWFjNzgxNzAxZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Xb3JrZXJNYW5hZ2VyLmpzCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV29ya2VyTWFuYWdlci5qcwpAQCAtMTEy
LDEwICsxMTIsMTAgQEAgV2ViSW5zcGVjdG9yLldvcmtlck1hbmFnZXIuc2hvd1dvcmtlclRlcm1p
bmF0ZWRTY3JlZW4gPSBmdW5jdGlvbigpCiB7CiAgICAgZnVuY3Rpb24gb25IaWRlKCkKICAgICB7
Ci0gICAgICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLnJlbW92ZUV2ZW50TGlzdGVuZXIo
V2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwuRXZlbnRzLlBhcnNlZFNjcmlwdFNvdXJjZSwgc2Ny
ZWVuLmhpZGUsIHNjcmVlbik7CisgICAgICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLnJl
bW92ZUV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwuRXZlbnRzLkdsb2Jh
bE9iamVjdENsZWFyZWQsIHNjcmVlbi5oaWRlLCBzY3JlZW4pOwogICAgIH0KICAgICB2YXIgc2Ny
ZWVuID0gbmV3IFdlYkluc3BlY3Rvci5Xb3JrZXJUZXJtaW5hdGVkU2NyZWVuKCk7Ci0gICAgV2Vi
SW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRGVi
dWdnZXJNb2RlbC5FdmVudHMuUGFyc2VkU2NyaXB0U291cmNlLCBzY3JlZW4uaGlkZSwgc2NyZWVu
KTsKKyAgICBXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5hZGRFdmVudExpc3RlbmVyKFdlYklu
c3BlY3Rvci5EZWJ1Z2dlck1vZGVsLkV2ZW50cy5HbG9iYWxPYmplY3RDbGVhcmVkLCBzY3JlZW4u
aGlkZSwgc2NyZWVuKTsKICAgICBzY3JlZW4uc2hvdyhvbkhpZGUuYmluZCh0aGlzKSk7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9y
LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKaW5k
ZXggOWQ5MWViNzU5NDAxZWE0YzFiNDFiMjFmMGQ0YmFiMDk5NDBjNDRhNi4uN2JjMmEyNTRjNmEy
YTNlZjAwYjE2YTVhYTE2ZDZiOWZlNjE2YjZhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKQEAgLTM4MCw5ICszODAsNyBAQCBXZWJJbnNw
ZWN0b3IuZG9Mb2FkZWREb25lID0gZnVuY3Rpb24oKQogCiAgICAgdGhpcy5leHRlbnNpb25TZXJ2
ZXIuaW5pdEV4dGVuc2lvbnMoKTsKIAotICAgIC8vIFRoZXJlIGlzIG5vIGNvbnNvbGUgYWdlbnQg
Zm9yIHdvcmtlcnMgeWV0LgotICAgIGlmICghV2ViSW5zcGVjdG9yLldvcmtlck1hbmFnZXIuaXNX
b3JrZXJGcm9udGVuZCgpKQotICAgICAgICB0aGlzLmNvbnNvbGUuZW5hYmxlQWdlbnQoKTsKKyAg
ICB0aGlzLmNvbnNvbGUuZW5hYmxlQWdlbnQoKTsKICAgICBEYXRhYmFzZUFnZW50LmVuYWJsZSgp
OwogICAgIERPTVN0b3JhZ2VBZ2VudC5lbmFibGUoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyQ29udGV4dC5jcHAKaW5kZXggZWMzZWNhODliZmYxZmQ2
N2IzYmJmMmQ2OTdmMjhhOTA4YTllODdkOC4uNDY3NDM2MThlNTRjYmM0MmQ5MWMxN2YwNWRiNzFl
MDJiZmQ2ZmM4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRX
b3JrZXJDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdv
cmtlckNvbnRleHQuY3BwCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAiRGVkaWNhdGVkV29y
a2VyVGhyZWFkLmgiCiAjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiTWVzc2FnZUV2
ZW50LmgiCisjaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAjaW5jbHVkZSAiV29ya2VyT2Jq
ZWN0UHJveHkuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtODUsNiArODYsMjAgQEAgRGVk
aWNhdGVkV29ya2VyVGhyZWFkKiBEZWRpY2F0ZWRXb3JrZXJDb250ZXh0Ojp0aHJlYWQoKQogICAg
IHJldHVybiBzdGF0aWNfY2FzdDxEZWRpY2F0ZWRXb3JrZXJUaHJlYWQqPihCYXNlOjp0aHJlYWQo
KSk7CiB9CiAKK3ZvaWQgRGVkaWNhdGVkV29ya2VyQ29udGV4dDo6YWRkTWVzc2FnZShNZXNzYWdl
U291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25z
dCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291
cmNlVVJMLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4pCit7CisgICAgaWYgKCFpc0NvbnRl
eHRUaHJlYWQoKSkgeworICAgICAgICBwb3N0VGFzayhBZGRDb25zb2xlTWVzc2FnZVRhc2s6OmNy
ZWF0ZShzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlKSk7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisgICAgdGhyZWFkKCktPndvcmtlclJlcG9ydGluZ1Byb3h5KCkucG9zdENvbnNvbGVNZXNz
YWdlVG9Xb3JrZXJPYmplY3Qoc291cmNlLCB0eXBlLCBsZXZlbCwgbWVzc2FnZSwgbGluZU51bWJl
ciwgc291cmNlVVJMKTsKK30KKwordm9pZCBEZWRpY2F0ZWRXb3JrZXJDb250ZXh0Ojpsb2dFeGNl
cHRpb25Ub0NvbnNvbGUoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGludCBsaW5lTnVtYmVy
LCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KQor
eworICAgIHRocmVhZCgpLT53b3JrZXJSZXBvcnRpbmdQcm94eSgpLnBvc3RFeGNlcHRpb25Ub1dv
cmtlck9iamVjdChlcnJvck1lc3NhZ2UsIGxpbmVOdW1iZXIsIHNvdXJjZVVSTCk7Cit9CisKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShXT1JLRVJTKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJDb250ZXh0LmggYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlckNvbnRleHQuaAppbmRleCA0ZWRm
NjRmNGZlYTAzMzkzNGIzYzliOTRmYjg5NTZhODM5YjU1ODZkLi5kZDQyZjVjZjllNDZmZGVkM2Jk
MzJlMWE1NjliMWNmM2NmYTU2MTNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L0RlZGljYXRlZFdvcmtlckNvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0Rl
ZGljYXRlZFdvcmtlckNvbnRleHQuaApAQCAtNjYsNiArNjYsOSBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgICAgIERlZGljYXRlZFdvcmtlclRocmVhZCogdGhyZWFkKCk7CiAgICAgcHJpdmF0
ZToKICAgICAgICAgRGVkaWNhdGVkV29ya2VyQ29udGV4dChjb25zdCBLVVJMJiwgY29uc3QgU3Ry
aW5nJiwgRGVkaWNhdGVkV29ya2VyVGhyZWFkKik7CisKKyAgICAgICAgdmlydHVhbCB2b2lkIGFk
ZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3Qg
U3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJj
ZVVSTCwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KTsKKyAgICAgICAgdmlydHVhbCB2b2lk
IGxvZ0V4Y2VwdGlvblRvQ29uc29sZShjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgaW50IGxp
bmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxT
dGFjaz4pOwogICAgIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1NoYXJlZFdvcmtlckNvbnRleHQuY3BwCmluZGV4IDljZDE3MjFkMTg3NmRh
ZDRjYTg0ZTA4MzY5NzAyNTQwMWYyNzdlNWUuLmQyMDhlMzVkMTg2MTQ5YTgxNDNiOTZjMDBhZjgx
ZTU0MzRlZjI1NjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29y
a2VyQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJD
b250ZXh0LmNwcApAQCAtMzYsOCArMzYsMTEgQEAKIAogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgog
I2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JDb25zb2xlSW5zdHJ1
bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiTWVzc2FnZUV2ZW50LmgiCiAjaW5jbHVkZSAiTm90SW1w
bGVtZW50ZWQuaCIKKyNpbmNsdWRlICJTY3JpcHRBcmd1bWVudHMuaCIKKyNpbmNsdWRlICJTY3Jp
cHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTaGFyZWRXb3JrZXJUaHJlYWQuaCIKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewpAQCAtNjksNiArNzIsMjUgQEAgU2hhcmVkV29ya2VyVGhyZWFkKiBTaGFy
ZWRXb3JrZXJDb250ZXh0Ojp0aHJlYWQoKQogICAgIHJldHVybiBzdGF0aWNfY2FzdDxTaGFyZWRX
b3JrZXJUaHJlYWQqPihCYXNlOjp0aHJlYWQoKSk7CiB9CiAKK3ZvaWQgU2hhcmVkV29ya2VyQ29u
dGV4dDo6YWRkTWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlwZSwg
TWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVO
dW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFj
az4gY2FsbFN0YWNrKQoreworICAgIGlmICghaXNDb250ZXh0VGhyZWFkKCkpIHsKKyAgICAgICAg
cG9zdFRhc2soQWRkQ29uc29sZU1lc3NhZ2VUYXNrOjpjcmVhdGUoc291cmNlLCB0eXBlLCBsZXZl
bCwgbWVzc2FnZSkpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKGNhbGxTdGFj
aykKKyAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xl
KHRoaXMsIHNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIDAsIGNhbGxTdGFjayk7CisgICAg
ZWxzZQorICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNv
bGUodGhpcywgc291cmNlLCB0eXBlLCBsZXZlbCwgbWVzc2FnZSwgbGluZU51bWJlciwgc291cmNl
VVJMKTsKK30KKwordm9pZCBTaGFyZWRXb3JrZXJDb250ZXh0Ojpsb2dFeGNlcHRpb25Ub0NvbnNv
bGUoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJp
bmcmIHNvdXJjZVVSTCwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaykKK3sK
KyAgICBhZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVz
c2FnZUxldmVsLCBlcnJvck1lc3NhZ2UsIGxpbmVOdW1iZXIsIHNvdXJjZVVSTCwgY2FsbFN0YWNr
KTsKK30KKworCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoU0hB
UkVEX1dPUktFUlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdv
cmtlckNvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyQ29udGV4
dC5oCmluZGV4IDYwN2ZlYWMzMjFkYjc3ODljOWU5NjA2NTc4MDE2OGE1OTQwZjcwNmEuLmI2ODdj
NGQ1OTdkZTg5Y2ZlMjBlY2ZjOWE1OGExYzZmMjI1ODJjZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvU2hhcmVkV29ya2VyQ29udGV4dC5oCkBAIC02MSw2ICs2MSwxMCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIFNoYXJlZFdvcmtlclRocmVhZCogdGhyZWFkKCk7CiAgICAg
cHJpdmF0ZToKICAgICAgICAgU2hhcmVkV29ya2VyQ29udGV4dChjb25zdCBTdHJpbmcmIG5hbWUs
IGNvbnN0IEtVUkwmLCBjb25zdCBTdHJpbmcmLCBTaGFyZWRXb3JrZXJUaHJlYWQqKTsKKworICAg
ICAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwg
TWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIs
IGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4pOwor
ICAgICAgICB2aXJ0dWFsIHZvaWQgbG9nRXhjZXB0aW9uVG9Db25zb2xlKGNvbnN0IFN0cmluZyYg
ZXJyb3JNZXNzYWdlLCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIFBh
c3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPik7CisKICAgICAgICAgU3RyaW5nIG1fbmFtZTsKICAg
ICB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmNwcAppbmRleCBjOGZj
N2Q5YTc4YjgzYzg4YWMxZTBmMjllYjllN2I5MmUyNDI1MmJlLi5kZTExNWY5MDVjMDM4MzgyMDYw
NjNiNTkyNzA4MDI2ODZlYzhmYjg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlckNvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29u
dGV4dC5jcHAKQEAgLTQ5LDcgKzQ5LDYgQEAKICNpbmNsdWRlICJNZXNzYWdlUG9ydC5oIgogI2lu
Y2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCiAjaW5jbHVkZSAiU2NoZWR1bGVkQWN0aW9uLmgiCi0j
aW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAjaW5jbHVkZSAiU2NyaXB0U291cmNlQ29kZS5o
IgogI2luY2x1ZGUgIlNjcmlwdFZhbHVlLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIK
QEAgLTI5MywyMCArMjkyLDYgQEAgRXZlbnRUYXJnZXQqIFdvcmtlckNvbnRleHQ6OmVycm9yRXZl
bnRUYXJnZXQoKQogICAgIHJldHVybiB0aGlzOwogfQogCi12b2lkIFdvcmtlckNvbnRleHQ6Omxv
Z0V4Y2VwdGlvblRvQ29uc29sZShjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgaW50IGxpbmVO
dW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFj
az4pCi17Ci0gICAgdGhyZWFkKCktPndvcmtlclJlcG9ydGluZ1Byb3h5KCkucG9zdEV4Y2VwdGlv
blRvV29ya2VyT2JqZWN0KGVycm9yTWVzc2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMKTsKLX0K
LQotdm9pZCBXb3JrZXJDb250ZXh0OjphZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBN
ZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSwgdW5zaWduZWQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIFBhc3NSZWZQ
dHI8U2NyaXB0Q2FsbFN0YWNrPikKLXsKLSAgICBpZiAoIWlzQ29udGV4dFRocmVhZCgpKSB7Ci0g
ICAgICAgIHBvc3RUYXNrKEFkZENvbnNvbGVNZXNzYWdlVGFzazo6Y3JlYXRlKHNvdXJjZSwgdHlw
ZSwgbGV2ZWwsIG1lc3NhZ2UpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICB0aHJlYWQo
KS0+d29ya2VyUmVwb3J0aW5nUHJveHkoKS5wb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVj
dChzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwpOwot
fQotCiAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiBOb3RpZmljYXRpb25DZW50ZXIqIFdvcmtl
ckNvbnRleHQ6OndlYmtpdE5vdGlmaWNhdGlvbnMoKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlckNvbnRleHQuaAppbmRleCA1ZmRkNDcyZWExYTA4NmFjZThiM2ZmYjg5Y2Q1YjFm
N2NhMGFmZWQ2Li4yZmVkYTExOTFhOWI4ZWU1YTJlMmZlMjI4YjY1YjQ5YWQwZTE4N2Q5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaApAQCAtMTEwLDcgKzExMCw2IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBjbGVhckludGVydmFsKGludCB0aW1lb3V0
SWQpOwogCiAgICAgICAgIC8vIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQKLSAgICAgICAgdmlydHVh
bCB2b2lkIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZl
bCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBjb25zdCBTdHJp
bmcmIHNvdXJjZVVSTCwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KTsKICAgICAgICAgdmly
dHVhbCBXb3JrZXJFdmVudFF1ZXVlKiBldmVudFF1ZXVlKCkgY29uc3Q7CiAKICNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykKQEAgLTE5MCw3ICsxODksNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgICAgIHZpcnR1YWwgS1VSTCB2aXJ0dWFsQ29tcGxldGVVUkwoY29uc3QgU3RyaW5nJikgY29u
c3Q7CiAKICAgICAgICAgdmlydHVhbCBFdmVudFRhcmdldCogZXJyb3JFdmVudFRhcmdldCgpOwot
ICAgICAgICB2aXJ0dWFsIHZvaWQgbG9nRXhjZXB0aW9uVG9Db25zb2xlKGNvbnN0IFN0cmluZyYg
ZXJyb3JNZXNzYWdlLCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIFBh
c3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPik7CiAKICAgICAgICAgS1VSTCBtX3VybDsKICAgICAg
ICAgU3RyaW5nIG1fdXNlckFnZW50Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>116375</attachid>
            <date>2011-11-23 09:19:31 -0800</date>
            <delta_ts>2011-11-23 23:35:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73022-20111123211929.patch</filename>
            <type>text/plain</type>
            <size>22564</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxMDg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzFkZTZmOThkY2U5Y2Qy
NjA4NmI1NTQzODVlNmRlZGI5ODdmODIwNS4uMjNhYzBhMzg1YmUzZjliN2I1YWFlYThhMWU5ZTM3
MTVhY2QyZDI5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDExLTExLTIzICBZdXJ5
IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IGV4Y2VwdGlvbnMgaW4gc2hhcmVkIHdvcmtlcnMgc2hvdWxkIGJlIGxvZ2dlZCB0byB3ZWIg
aW5zcGVjdG9yIGNvbnNvbGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTczMDIyCisKKyAgICAgICAgQWNjb3JkaW5nIHRvIHNlY3Rpb24gIjQuNyBSdW50
aW1lIHNjcmlwdCBlcnJvcnMiIG9mIFdlYiBXb3JrZXJzIHNwZWMgIkZvciBzaGFyZWQKKyAgICAg
ICAgd29ya2VycywgaWYgdGhlIGVycm9yIGlzIHN0aWxsIG5vdCBoYW5kbGVkIGFmdGVyd2FyZHMs
IG9yIGlmIHRoZSBlcnJvciBvY2N1cnJlZAorICAgICAgICB3aGlsZSBoYW5kbGluZyBhIHByZXZp
b3VzIHNjcmlwdCBlcnJvciwgdGhlIGVycm9yIG1heSBiZSByZXBvcnRlZCB0byB0aGUgdXNlci4i
CisKKyAgICAgICAgVGhpcyBjaGFuZ2UgYWRkcyB1bmNhdWdoIGV4Y2VwdGlvbnMgdG8gdGhlIHNo
YXJlZCB3b3JrZXIgd2ViIGluc3BlY3RvciBjb25zb2xlLgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVB
Z2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OnJlc3Rv
cmUpOiBSZXN0b3JlIG5vdyBjbGVhcnMgb2xkIG1lc3NhZ2VzIGluIHRoZQorICAgICAgICBmcm9u
dC1lbmQgd2hlbiBpbnNwZWN0ZWQgcHJvY2VzcyBjaGFuZ2VzLgorICAgICAgICAqIGluc3BlY3Rv
ci9JbnNwZWN0b3JDb25zb2xlSW5zdHJ1bWVudGF0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUpOgorICAgICAgICAq
IGluc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3RvckRlYnVnZ2VyQWdlbnQ6OnJlc3RvcmUpOiBSZXN0b3JlIG5vdyBub3RpZmllcyBm
cm9udC1lbmQgdGhhdAorICAgICAgICB0aGUgaXQgd2FzIHJlc2V0IGR1ZSB0byBpbnNwZWN0ZWQg
cHJvY2VzcyBjaGFuZ2UuCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRh
dGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Omlu
c3RydW1lbnRpbmdBZ2VudHNGb3JXb3JrZXJDb250ZXh0KToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmg6CisgICAgICAgICogaW5zcGVjdG9yL1dvcmtlcklu
c3BlY3RvckNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VySW5zcGVjdG9y
Q29udHJvbGxlcjo6Y29ubmVjdEZyb250ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlcklu
c3BlY3RvckNvbnRyb2xsZXI6OmRpc2Nvbm5lY3RGcm9udGVuZCk6CisgICAgICAgIChXZWJDb3Jl
OjpXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyOjpyZXN0b3JlSW5zcGVjdG9yU3RhdGVGcm9tQ29v
a2llKToKKyAgICAgICAgKiBpbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5oOgor
ICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvV29ya2VyTWFuYWdlci5qczoKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5Xb3JrZXJNYW5hZ2VyLnNob3dXb3JrZXJUZXJtaW5hdGVkU2NyZWVuKTog
IldvcmtlciB0ZXJtaW5hdGVkIiBtZXNzYWdlcworICAgICAgICBpcyBoaWRkZW4gb24gR2xvYmFs
T2JqZWN0Q2xlYXJlZCBldmVudCBhcyBTY3JpcHRQYXJzZWQgZXZlbnQgbWF5IG5ldmVyIGNvbWUg
aWYgdGhlcmUgaXMKKyAgICAgICAgYSBzeW50YXggZXJyb3IgaW4gdGhlIHdvcmtlciBtYWluIHNj
cmlwdC4KKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qczoKKyAgICAg
ICAgKiB3b3JrZXJzL0RlZGljYXRlZFdvcmtlckNvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RGVkaWNhdGVkV29ya2VyQ29udGV4dDo6YWRkTWVzc2FnZSk6CisgICAgICAgIChXZWJDb3Jl
OjpEZWRpY2F0ZWRXb3JrZXJDb250ZXh0Ojpsb2dFeGNlcHRpb25Ub0NvbnNvbGUpOgorICAgICAg
ICAqIHdvcmtlcnMvRGVkaWNhdGVkV29ya2VyQ29udGV4dC5oOgorICAgICAgICAqIHdvcmtlcnMv
U2hhcmVkV29ya2VyQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaGFyZWRXb3JrZXJD
b250ZXh0OjphZGRNZXNzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OlNoYXJlZFdvcmtlckNvbnRl
eHQ6OmxvZ0V4Y2VwdGlvblRvQ29uc29sZSk6CisgICAgICAgICogd29ya2Vycy9TaGFyZWRXb3Jr
ZXJDb250ZXh0Lmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJDb250ZXh0LmNwcDoKKyAgICAg
ICAgKiB3b3JrZXJzL1dvcmtlckNvbnRleHQuaDoKKwogMjAxMS0xMS0yMyAgUGhpbGlwcGUgTm9y
bWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dTdHJlYW1lcl0gaW1wcm9w
ZXIgdXNhZ2Ugb2YgZ3N0X29iamVjdF9yZWZfc2luawpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcAppbmRleCAxMjVlYzdhZTQ1MmY5MzMy
ZmJmZWNjZGJhZDk1YWUxMGU2ZjhjMjc4Li4yOGNlNmRiNjg2OTM2YjVhNTk4NmU5MmIxZjJmOGFj
MWU3NjAxMGY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
Q29uc29sZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
Q29uc29sZUFnZW50LmNwcApAQCAtMTE1LDYgKzExNSw3IEBAIHZvaWQgSW5zcGVjdG9yQ29uc29s
ZUFnZW50OjpyZXNldCgpCiB2b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6cmVzdG9yZSgpCiB7
CiAgICAgaWYgKG1faW5zcGVjdG9yU3RhdGUtPmdldEJvb2xlYW4oQ29uc29sZUFnZW50U3RhdGU6
OmNvbnNvbGVNZXNzYWdlc0VuYWJsZWQpKSB7CisgICAgICAgIG1fZnJvbnRlbmQtPm1lc3NhZ2Vz
Q2xlYXJlZCgpOwogICAgICAgICBFcnJvclN0cmluZyBlcnJvcjsKICAgICAgICAgZW5hYmxlKCZl
cnJvcik7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckNvbnNvbGVJbnN0cnVtZW50YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JDb25zb2xlSW5zdHJ1bWVudGF0aW9uLmgKaW5kZXggOGE0MDg1OWZlMWQzYWZkMzY3
ODc3MzhiYzlhMWRlZjkwZGNlZjQ0OC4uZTYzYzcxMjhkNTMzMmVmMjY0YzE4OGZhMGE0ZTdlNzEz
MWRkNDJjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNv
bnNvbGVJbnN0cnVtZW50YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yQ29uc29sZUluc3RydW1lbnRhdGlvbi5oCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVk
ZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiU2NyaXB0QXJndW1lbnRz
LmgiCiAjaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCisjaW5jbHVkZSAiU2NyaXB0UHJvZmls
ZS5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
QEAgLTU0LDYgKzU1LDI0IEBAIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
YWRkTWVzc2FnZVRvQ29uc29sZShQYWdlKiBwYWdlLCBNZXNzYWdlU291CiAjZW5kaWYKIH0KIAor
I2lmIEVOQUJMRShXT1JLRVJTKQoraW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjphZGRNZXNzYWdlVG9Db25zb2xlKFdvcmtlckNvbnRleHQqIHdvcmtlckNvbnRleHQsIE1lc3Nh
Z2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNv
bnN0IFN0cmluZyYgbWVzc2FnZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50
cywgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaykKK3sKKyNpZiBFTkFCTEUo
SU5TUEVDVE9SKQorICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdl
bnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvcldvcmtlckNvbnRleHQod29ya2VyQ29udGV4dCkp
CisgICAgICAgIGFkZE1lc3NhZ2VUb0NvbnNvbGVJbXBsKGluc3RydW1lbnRpbmdBZ2VudHMsIHNv
dXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIGFyZ3VtZW50cywgY2FsbFN0YWNrKTsKKyNlbmRp
ZgorfQorCitpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VU
b0NvbnNvbGUoV29ya2VyQ29udGV4dCogd29ya2VyQ29udGV4dCwgTWVzc2FnZVNvdXJjZSBzb3Vy
Y2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBt
ZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNjcmlwdElkKQorewor
I2lmIEVOQUJMRShJTlNQRUNUT1IpCisgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3Ry
dW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yV29ya2VyQ29udGV4dCh3b3Jr
ZXJDb250ZXh0KSkKKyAgICAgICAgYWRkTWVzc2FnZVRvQ29uc29sZUltcGwoaW5zdHJ1bWVudGlu
Z0FnZW50cywgc291cmNlLCB0eXBlLCBsZXZlbCwgbWVzc2FnZSwgbGluZU51bWJlciwgc2NyaXB0
SWQpOworI2VuZGlmCit9CisjZW5kaWYKKwogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjpjb25zb2xlQ291bnQoUGFnZSogcGFnZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVu
dHM+IGFyZ3VtZW50cywgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IHN0YWNrKQogewogI2lm
IEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yRGVidWdnZXJBZ2VudC5jcHAKaW5kZXggNmYxMWNiMDhjZWQxMDNlYzk5N2QzNTVkYTky
NjlkM2YyYTFmYjEyNy4uZDhkNjU4NzAyZmQyNzI3YzEzNGQxZDg3NmIzYWM0YTdmYzZkMzdiZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdl
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFn
ZW50LmNwcApAQCAtMTI4LDggKzEyOCwxMCBAQCB2b2lkIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ6
OmRpc2FibGUoRXJyb3JTdHJpbmcqKQogCiB2b2lkIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ6OnJl
c3RvcmUoKQogewotICAgIGlmIChlbmFibGVkKCkpCisgICAgaWYgKGVuYWJsZWQoKSkgeworICAg
ICAgICBtX2Zyb250ZW5kLT5nbG9iYWxPYmplY3RDbGVhcmVkKCk7CiAgICAgICAgIGVuYWJsZSgp
OworICAgIH0KIH0KIAogdm9pZCBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50OjpzZXRGcm9udGVuZChJ
bnNwZWN0b3JGcm9udGVuZCogZnJvbnRlbmQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCmluZGV4IDcxMzI5NDMxNmUwMmI5
OWE2NzNlZDljMTAxNGVlYjY2ZTdmNjFiMmQuLmE4MTcwYjQxNTdmMWNiOTRhMzAxYzY0OGFhMzky
MTZkYzM4OWQxMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JJbnN0cnVtZW50YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCkBAIC05MzIsNiArOTMyLDE1IEBAIEluc3RydW1lbnRp
bmdBZ2VudHMqIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6aW5zdHJ1bWVudGluZ0FnZW50c0Zv
clBhZ2UoUGFnZSoKICAgICByZXR1cm4gaW5zdHJ1bWVudGF0aW9uRm9yUGFnZShwYWdlKTsKIH0K
IAorI2lmIEVOQUJMRShXT1JLRVJTKQorSW5zdHJ1bWVudGluZ0FnZW50cyogSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjppbnN0cnVtZW50aW5nQWdlbnRzRm9yV29ya2VyQ29udGV4dChXb3JrZXJD
b250ZXh0KiB3b3JrZXJDb250ZXh0KQoreworICAgIGlmICghd29ya2VyQ29udGV4dCkKKyAgICAg
ICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIGluc3RydW1lbnRhdGlvbkZvcldvcmtlckNvbnRleHQo
d29ya2VyQ29udGV4dCk7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAj
ZW5kaWYgLy8gIUVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKaW5kZXggYTYyMDI3ZGM2MzgzODgwZTBj
OGQ3OGI5ZjM0YTBlMzFkYjYyYmQyMS4uZTZiNDc3YzgwZWZjZmVmMWY3ZWVlYjBjMGFkNWI0YWVi
ODljNDJhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvcklu
c3RydW1lbnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb24uaApAQCAtMTUxLDYgKzE1MSwxMCBAQCBwdWJsaWM6CiAKICAgICBzdGF0
aWMgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKFBhZ2UqLCBNZXNzYWdlU291cmNlLCBNZXNzYWdl
VHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIFBhc3NSZWZQdHI8U2Ny
aXB0QXJndW1lbnRzPiwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KTsKICAgICBzdGF0aWMg
dm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKFBhZ2UqLCBNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlw
ZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1i
ZXIsIGNvbnN0IFN0cmluZyYpOworI2lmIEVOQUJMRShXT1JLRVJTKQorICAgIHN0YXRpYyB2b2lk
IGFkZE1lc3NhZ2VUb0NvbnNvbGUoV29ya2VyQ29udGV4dCosIE1lc3NhZ2VTb3VyY2UsIE1lc3Nh
Z2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgUGFzc1JlZlB0cjxT
Y3JpcHRBcmd1bWVudHM+LCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4pOworICAgIHN0YXRp
YyB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoV29ya2VyQ29udGV4dCosIE1lc3NhZ2VTb3VyY2Us
IE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWdu
ZWQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJik7CisjZW5kaWYKICAgICBzdGF0aWMgdm9pZCBj
b25zb2xlQ291bnQoUGFnZSosIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiwgUGFzc1JlZlB0
cjxTY3JpcHRDYWxsU3RhY2s+KTsKICAgICBzdGF0aWMgdm9pZCBzdGFydENvbnNvbGVUaW1pbmco
UGFnZSosIGNvbnN0IFN0cmluZyYgdGl0bGUpOwogICAgIHN0YXRpYyB2b2lkIHN0b3BDb25zb2xl
VGltaW5nKFBhZ2UqLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxT
dGFjaz4pOwpAQCAtMzI4LDYgKzMzMiw5IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIEluc3RydW1l
bnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHNGb3JGcmFtZShGcmFtZSopOwogICAgIHN0
YXRpYyBJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzRm9yQ29udGV4dChT
Y3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CiAgICAgc3RhdGljIEluc3RydW1lbnRpbmdBZ2VudHMq
IGluc3RydW1lbnRpbmdBZ2VudHNGb3JEb2N1bWVudChEb2N1bWVudCopOworI2lmIEVOQUJMRShX
T1JLRVJTKQorICAgIHN0YXRpYyBJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdl
bnRzRm9yV29ya2VyQ29udGV4dChXb3JrZXJDb250ZXh0Kik7CisjZW5kaWYKIAogICAgIHN0YXRp
YyBib29sIGNvbGxlY3RpbmdIVE1MUGFyc2VFcnJvcnMoSW5zdHJ1bWVudGluZ0FnZW50cyopOwog
ICAgIHN0YXRpYyB2b2lkIHBhdXNlT25OYXRpdmVFdmVudElmTmVlZGVkKEluc3RydW1lbnRpbmdB
Z2VudHMqLCBjb25zdCBTdHJpbmcmIGNhdGVnb3J5VHlwZSwgY29uc3QgU3RyaW5nJiBldmVudE5h
bWUsIGJvb2wgc3luY2hyb25vdXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuY3BwCmluZGV4IGY4OGZiNWNmYzNkYjExYWMz
NjI5NzU0YzY5NWI0ZDA0MTIwOWUwMTUuLmNiYjAxYTVjMGYzMGE2NzU3YTIwNTBjNDM4OGFkYWFi
ZDFkOTAyNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNw
ZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2Vy
SW5zcGVjdG9yQ29udHJvbGxlci5jcHAKQEAgLTM4LDYgKzM4LDcgQEAKICNpbmNsdWRlICJJbmpl
Y3RlZFNjcmlwdE1hbmFnZXIuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hl
ci5oIgogI2luY2x1ZGUgIkluc3BlY3RvckNsaWVudC5oIgorI2luY2x1ZGUgIkluc3BlY3RvckNv
bnNvbGVBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kLmgiCiAjaW5jbHVkZSAi
SW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yU3RhdGUuaCIK
QEAgLTEyMywxMiArMTI0LDEyIEBAIHZvaWQgV29ya2VySW5zcGVjdG9yQ29udHJvbGxlcjo6Y29u
bmVjdEZyb250ZW5kKCkKICAgICBtX2JhY2tlbmREaXNwYXRjaGVyID0gYWRvcHRSZWYobmV3IElu
c3BlY3RvckJhY2tlbmREaXNwYXRjaGVyKAogICAgICAgICBtX2Zyb250ZW5kQ2hhbm5lbC5nZXQo
KSwKICAgICAgICAgMCwgLy8gSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50CisgICAgICAg
IDAsIC8vIEluc3BlY3RvckNTU0FnZW50CisgICAgICAgIG1fY29uc29sZUFnZW50LmdldCgpLAor
ICAgICAgICAwLCAvLyBJbnNwZWN0b3JET01BZ2VudAogI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RF
QlVHR0VSKQogICAgICAgICAwLCAvLyBJbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50CiAjZW5kaWYK
LSAgICAgICAgMCwgLy8gSW5zcGVjdG9yQ1NTQWdlbnQKLSAgICAgICAgMCwgLy8gSW5zcGVjdG9y
Q29uc29sZUFnZW50Ci0gICAgICAgIDAsIC8vIEluc3BlY3RvckRPTUFnZW50CiAgICAgICAgIDAs
IC8vIEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudAogI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAg
ICAgICAgIDAsIC8vIEluc3BlY3RvckRhdGFiYXNlQWdlbnQKQEAgLTE1MCw2ICsxNTEsNyBAQCB2
b2lkIFdvcmtlckluc3BlY3RvckNvbnRyb2xsZXI6OmNvbm5lY3RGcm9udGVuZCgpCiAjaWYgRU5B
QkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCiAgICAgbV9kZWJ1Z2dlckFnZW50LT5zZXRGcm9udGVu
ZChtX2Zyb250ZW5kLmdldCgpKTsKICNlbmRpZgorICAgIG1fY29uc29sZUFnZW50LT5zZXRGcm9u
dGVuZChtX2Zyb250ZW5kLmdldCgpKTsKIH0KIAogdm9pZCBXb3JrZXJJbnNwZWN0b3JDb250cm9s
bGVyOjpkaXNjb25uZWN0RnJvbnRlbmQoKQpAQCAtMTY0LDYgKzE2Niw3IEBAIHZvaWQgV29ya2Vy
SW5zcGVjdG9yQ29udHJvbGxlcjo6ZGlzY29ubmVjdEZyb250ZW5kKCkKICNpZiBFTkFCTEUoSkFW
QVNDUklQVF9ERUJVR0dFUikKICAgICBtX2RlYnVnZ2VyQWdlbnQtPmNsZWFyRnJvbnRlbmQoKTsK
ICNlbmRpZgorICAgIG1fY29uc29sZUFnZW50LT5jbGVhckZyb250ZW5kKCk7CiAgICAgbV9pbmpl
Y3RlZFNjcmlwdE1hbmFnZXItPmluamVjdGVkU2NyaXB0SG9zdCgpLT5jbGVhckZyb250ZW5kKCk7
CiAKICAgICBtX2Zyb250ZW5kLmNsZWFyKCk7CkBAIC0xNzksNiArMTgyLDcgQEAgdm9pZCBXb3Jr
ZXJJbnNwZWN0b3JDb250cm9sbGVyOjpyZXN0b3JlSW5zcGVjdG9yU3RhdGVGcm9tQ29va2llKGNv
bnN0IFN0cmluZyYgaW4KICNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKICAgICBtX2Rl
YnVnZ2VyQWdlbnQtPnJlc3RvcmUoKTsKICNlbmRpZgorICAgIG1fY29uc29sZUFnZW50LT5yZXN0
b3JlKCk7CiB9CiAKIHZvaWQgV29ya2VySW5zcGVjdG9yQ29udHJvbGxlcjo6ZGlzcGF0Y2hNZXNz
YWdlRnJvbUZyb250ZW5kKGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5oCmluZGV4IDliZTQ4
NWQ1YTZjOWU1MTEzNjYzOTA0NWU4MWM4OTVjMDM5ODQyYzkuLjdhYzczY2Y1ZTRlNTJmNzg1YjRm
ZDZmNzk3MWNkMWZhYjMxZTc3M2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuaApAQCAtNDksNiArNDksNyBAQCBjbGFzcyBJ
bnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcjsKIGNsYXNzIEluc3BlY3RvckNvbnNvbGVBZ2VudDsK
IGNsYXNzIEluc3BlY3RvckZyb250ZW5kOwogY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVs
OworY2xhc3MgSW5zcGVjdG9yQ29uc29sZUFnZW50OwogY2xhc3MgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOwogY2xhc3MgSW5zcGVjdG9yUnVudGltZUFnZW50OwogY2xhc3MgSW5zcGVjdG9yU3Rh
dGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dvcmtl
ck1hbmFnZXIuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dvcmtlck1h
bmFnZXIuanMKaW5kZXggMDU2MjExMmExYTcyZWI3YTlkYWI0M2Y5NzE5NWZkNDlhMDRlZTllMi4u
YjY5ZDcxNTRkYjQzYTcyYzI1N2Y5YzZiZmE1NDRhZWFjNzgxNzAxZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Xb3JrZXJNYW5hZ2VyLmpzCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV29ya2VyTWFuYWdlci5qcwpAQCAtMTEy
LDEwICsxMTIsMTAgQEAgV2ViSW5zcGVjdG9yLldvcmtlck1hbmFnZXIuc2hvd1dvcmtlclRlcm1p
bmF0ZWRTY3JlZW4gPSBmdW5jdGlvbigpCiB7CiAgICAgZnVuY3Rpb24gb25IaWRlKCkKICAgICB7
Ci0gICAgICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLnJlbW92ZUV2ZW50TGlzdGVuZXIo
V2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwuRXZlbnRzLlBhcnNlZFNjcmlwdFNvdXJjZSwgc2Ny
ZWVuLmhpZGUsIHNjcmVlbik7CisgICAgICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLnJl
bW92ZUV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwuRXZlbnRzLkdsb2Jh
bE9iamVjdENsZWFyZWQsIHNjcmVlbi5oaWRlLCBzY3JlZW4pOwogICAgIH0KICAgICB2YXIgc2Ny
ZWVuID0gbmV3IFdlYkluc3BlY3Rvci5Xb3JrZXJUZXJtaW5hdGVkU2NyZWVuKCk7Ci0gICAgV2Vi
SW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRGVi
dWdnZXJNb2RlbC5FdmVudHMuUGFyc2VkU2NyaXB0U291cmNlLCBzY3JlZW4uaGlkZSwgc2NyZWVu
KTsKKyAgICBXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5hZGRFdmVudExpc3RlbmVyKFdlYklu
c3BlY3Rvci5EZWJ1Z2dlck1vZGVsLkV2ZW50cy5HbG9iYWxPYmplY3RDbGVhcmVkLCBzY3JlZW4u
aGlkZSwgc2NyZWVuKTsKICAgICBzY3JlZW4uc2hvdyhvbkhpZGUuYmluZCh0aGlzKSk7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9y
LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKaW5k
ZXggOWQ5MWViNzU5NDAxZWE0YzFiNDFiMjFmMGQ0YmFiMDk5NDBjNDRhNi4uN2JjMmEyNTRjNmEy
YTNlZjAwYjE2YTVhYTE2ZDZiOWZlNjE2YjZhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKQEAgLTM4MCw5ICszODAsNyBAQCBXZWJJbnNw
ZWN0b3IuZG9Mb2FkZWREb25lID0gZnVuY3Rpb24oKQogCiAgICAgdGhpcy5leHRlbnNpb25TZXJ2
ZXIuaW5pdEV4dGVuc2lvbnMoKTsKIAotICAgIC8vIFRoZXJlIGlzIG5vIGNvbnNvbGUgYWdlbnQg
Zm9yIHdvcmtlcnMgeWV0LgotICAgIGlmICghV2ViSW5zcGVjdG9yLldvcmtlck1hbmFnZXIuaXNX
b3JrZXJGcm9udGVuZCgpKQotICAgICAgICB0aGlzLmNvbnNvbGUuZW5hYmxlQWdlbnQoKTsKKyAg
ICB0aGlzLmNvbnNvbGUuZW5hYmxlQWdlbnQoKTsKICAgICBEYXRhYmFzZUFnZW50LmVuYWJsZSgp
OwogICAgIERPTVN0b3JhZ2VBZ2VudC5lbmFibGUoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyQ29udGV4dC5jcHAKaW5kZXggZWMzZWNhODliZmYxZmQ2
N2IzYmJmMmQ2OTdmMjhhOTA4YTllODdkOC4uNDY3NDM2MThlNTRjYmM0MmQ5MWMxN2YwNWRiNzFl
MDJiZmQ2ZmM4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRX
b3JrZXJDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdv
cmtlckNvbnRleHQuY3BwCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAiRGVkaWNhdGVkV29y
a2VyVGhyZWFkLmgiCiAjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiTWVzc2FnZUV2
ZW50LmgiCisjaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAjaW5jbHVkZSAiV29ya2VyT2Jq
ZWN0UHJveHkuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtODUsNiArODYsMjAgQEAgRGVk
aWNhdGVkV29ya2VyVGhyZWFkKiBEZWRpY2F0ZWRXb3JrZXJDb250ZXh0Ojp0aHJlYWQoKQogICAg
IHJldHVybiBzdGF0aWNfY2FzdDxEZWRpY2F0ZWRXb3JrZXJUaHJlYWQqPihCYXNlOjp0aHJlYWQo
KSk7CiB9CiAKK3ZvaWQgRGVkaWNhdGVkV29ya2VyQ29udGV4dDo6YWRkTWVzc2FnZShNZXNzYWdl
U291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25z
dCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291
cmNlVVJMLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4pCit7CisgICAgaWYgKCFpc0NvbnRl
eHRUaHJlYWQoKSkgeworICAgICAgICBwb3N0VGFzayhBZGRDb25zb2xlTWVzc2FnZVRhc2s6OmNy
ZWF0ZShzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlKSk7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisgICAgdGhyZWFkKCktPndvcmtlclJlcG9ydGluZ1Byb3h5KCkucG9zdENvbnNvbGVNZXNz
YWdlVG9Xb3JrZXJPYmplY3Qoc291cmNlLCB0eXBlLCBsZXZlbCwgbWVzc2FnZSwgbGluZU51bWJl
ciwgc291cmNlVVJMKTsKK30KKwordm9pZCBEZWRpY2F0ZWRXb3JrZXJDb250ZXh0Ojpsb2dFeGNl
cHRpb25Ub0NvbnNvbGUoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGludCBsaW5lTnVtYmVy
LCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KQor
eworICAgIHRocmVhZCgpLT53b3JrZXJSZXBvcnRpbmdQcm94eSgpLnBvc3RFeGNlcHRpb25Ub1dv
cmtlck9iamVjdChlcnJvck1lc3NhZ2UsIGxpbmVOdW1iZXIsIHNvdXJjZVVSTCk7Cit9CisKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShXT1JLRVJTKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJDb250ZXh0LmggYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlckNvbnRleHQuaAppbmRleCA0ZWRm
NjRmNGZlYTAzMzkzNGIzYzliOTRmYjg5NTZhODM5YjU1ODZkLi5kZDQyZjVjZjllNDZmZGVkM2Jk
MzJlMWE1NjliMWNmM2NmYTU2MTNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L0RlZGljYXRlZFdvcmtlckNvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0Rl
ZGljYXRlZFdvcmtlckNvbnRleHQuaApAQCAtNjYsNiArNjYsOSBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgICAgIERlZGljYXRlZFdvcmtlclRocmVhZCogdGhyZWFkKCk7CiAgICAgcHJpdmF0
ZToKICAgICAgICAgRGVkaWNhdGVkV29ya2VyQ29udGV4dChjb25zdCBLVVJMJiwgY29uc3QgU3Ry
aW5nJiwgRGVkaWNhdGVkV29ya2VyVGhyZWFkKik7CisKKyAgICAgICAgdmlydHVhbCB2b2lkIGFk
ZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3Qg
U3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJj
ZVVSTCwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KTsKKyAgICAgICAgdmlydHVhbCB2b2lk
IGxvZ0V4Y2VwdGlvblRvQ29uc29sZShjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgaW50IGxp
bmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxT
dGFjaz4pOwogICAgIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1NoYXJlZFdvcmtlckNvbnRleHQuY3BwCmluZGV4IDljZDE3MjFkMTg3NmRh
ZDRjYTg0ZTA4MzY5NzAyNTQwMWYyNzdlNWUuLmQyMDhlMzVkMTg2MTQ5YTgxNDNiOTZjMDBhZjgx
ZTU0MzRlZjI1NjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29y
a2VyQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJD
b250ZXh0LmNwcApAQCAtMzYsOCArMzYsMTEgQEAKIAogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgog
I2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JDb25zb2xlSW5zdHJ1
bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiTWVzc2FnZUV2ZW50LmgiCiAjaW5jbHVkZSAiTm90SW1w
bGVtZW50ZWQuaCIKKyNpbmNsdWRlICJTY3JpcHRBcmd1bWVudHMuaCIKKyNpbmNsdWRlICJTY3Jp
cHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTaGFyZWRXb3JrZXJUaHJlYWQuaCIKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewpAQCAtNjksNiArNzIsMjUgQEAgU2hhcmVkV29ya2VyVGhyZWFkKiBTaGFy
ZWRXb3JrZXJDb250ZXh0Ojp0aHJlYWQoKQogICAgIHJldHVybiBzdGF0aWNfY2FzdDxTaGFyZWRX
b3JrZXJUaHJlYWQqPihCYXNlOjp0aHJlYWQoKSk7CiB9CiAKK3ZvaWQgU2hhcmVkV29ya2VyQ29u
dGV4dDo6YWRkTWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlwZSwg
TWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVO
dW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFj
az4gY2FsbFN0YWNrKQoreworICAgIGlmICghaXNDb250ZXh0VGhyZWFkKCkpIHsKKyAgICAgICAg
cG9zdFRhc2soQWRkQ29uc29sZU1lc3NhZ2VUYXNrOjpjcmVhdGUoc291cmNlLCB0eXBlLCBsZXZl
bCwgbWVzc2FnZSkpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKGNhbGxTdGFj
aykKKyAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xl
KHRoaXMsIHNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIDAsIGNhbGxTdGFjayk7CisgICAg
ZWxzZQorICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNv
bGUodGhpcywgc291cmNlLCB0eXBlLCBsZXZlbCwgbWVzc2FnZSwgbGluZU51bWJlciwgc291cmNl
VVJMKTsKK30KKwordm9pZCBTaGFyZWRXb3JrZXJDb250ZXh0Ojpsb2dFeGNlcHRpb25Ub0NvbnNv
bGUoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJp
bmcmIHNvdXJjZVVSTCwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaykKK3sK
KyAgICBhZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVz
c2FnZUxldmVsLCBlcnJvck1lc3NhZ2UsIGxpbmVOdW1iZXIsIHNvdXJjZVVSTCwgY2FsbFN0YWNr
KTsKK30KKworCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoU0hB
UkVEX1dPUktFUlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdv
cmtlckNvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyQ29udGV4
dC5oCmluZGV4IDYwN2ZlYWMzMjFkYjc3ODljOWU5NjA2NTc4MDE2OGE1OTQwZjcwNmEuLmI2ODdj
NGQ1OTdkZTg5Y2ZlMjBlY2ZjOWE1OGExYzZmMjI1ODJjZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvU2hhcmVkV29ya2VyQ29udGV4dC5oCkBAIC02MSw2ICs2MSwxMCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIFNoYXJlZFdvcmtlclRocmVhZCogdGhyZWFkKCk7CiAgICAg
cHJpdmF0ZToKICAgICAgICAgU2hhcmVkV29ya2VyQ29udGV4dChjb25zdCBTdHJpbmcmIG5hbWUs
IGNvbnN0IEtVUkwmLCBjb25zdCBTdHJpbmcmLCBTaGFyZWRXb3JrZXJUaHJlYWQqKTsKKworICAg
ICAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwg
TWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIs
IGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4pOwor
ICAgICAgICB2aXJ0dWFsIHZvaWQgbG9nRXhjZXB0aW9uVG9Db25zb2xlKGNvbnN0IFN0cmluZyYg
ZXJyb3JNZXNzYWdlLCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIFBh
c3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPik7CisKICAgICAgICAgU3RyaW5nIG1fbmFtZTsKICAg
ICB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmNwcAppbmRleCBjOGZj
N2Q5YTc4YjgzYzg4YWMxZTBmMjllYjllN2I5MmUyNDI1MmJlLi5kZTExNWY5MDVjMDM4MzgyMDYw
NjNiNTkyNzA4MDI2ODZlYzhmYjg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlckNvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29u
dGV4dC5jcHAKQEAgLTQ5LDcgKzQ5LDYgQEAKICNpbmNsdWRlICJNZXNzYWdlUG9ydC5oIgogI2lu
Y2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCiAjaW5jbHVkZSAiU2NoZWR1bGVkQWN0aW9uLmgiCi0j
aW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAjaW5jbHVkZSAiU2NyaXB0U291cmNlQ29kZS5o
IgogI2luY2x1ZGUgIlNjcmlwdFZhbHVlLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIK
QEAgLTI5MywyMCArMjkyLDYgQEAgRXZlbnRUYXJnZXQqIFdvcmtlckNvbnRleHQ6OmVycm9yRXZl
bnRUYXJnZXQoKQogICAgIHJldHVybiB0aGlzOwogfQogCi12b2lkIFdvcmtlckNvbnRleHQ6Omxv
Z0V4Y2VwdGlvblRvQ29uc29sZShjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgaW50IGxpbmVO
dW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFj
az4pCi17Ci0gICAgdGhyZWFkKCktPndvcmtlclJlcG9ydGluZ1Byb3h5KCkucG9zdEV4Y2VwdGlv
blRvV29ya2VyT2JqZWN0KGVycm9yTWVzc2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMKTsKLX0K
LQotdm9pZCBXb3JrZXJDb250ZXh0OjphZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBN
ZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSwgdW5zaWduZWQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIFBhc3NSZWZQ
dHI8U2NyaXB0Q2FsbFN0YWNrPikKLXsKLSAgICBpZiAoIWlzQ29udGV4dFRocmVhZCgpKSB7Ci0g
ICAgICAgIHBvc3RUYXNrKEFkZENvbnNvbGVNZXNzYWdlVGFzazo6Y3JlYXRlKHNvdXJjZSwgdHlw
ZSwgbGV2ZWwsIG1lc3NhZ2UpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICB0aHJlYWQo
KS0+d29ya2VyUmVwb3J0aW5nUHJveHkoKS5wb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVj
dChzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwpOwot
fQotCiAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiBOb3RpZmljYXRpb25DZW50ZXIqIFdvcmtl
ckNvbnRleHQ6OndlYmtpdE5vdGlmaWNhdGlvbnMoKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlckNvbnRleHQuaAppbmRleCA1ZmRkNDcyZWExYTA4NmFjZThiM2ZmYjg5Y2Q1YjFm
N2NhMGFmZWQ2Li4yZmVkYTExOTFhOWI4ZWU1YTJlMmZlMjI4YjY1YjQ5YWQwZTE4N2Q5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaApAQCAtMTEwLDcgKzExMCw2IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBjbGVhckludGVydmFsKGludCB0aW1lb3V0
SWQpOwogCiAgICAgICAgIC8vIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQKLSAgICAgICAgdmlydHVh
bCB2b2lkIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZl
bCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBjb25zdCBTdHJp
bmcmIHNvdXJjZVVSTCwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KTsKICAgICAgICAgdmly
dHVhbCBXb3JrZXJFdmVudFF1ZXVlKiBldmVudFF1ZXVlKCkgY29uc3Q7CiAKICNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykKQEAgLTE5MCw3ICsxODksNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgICAgIHZpcnR1YWwgS1VSTCB2aXJ0dWFsQ29tcGxldGVVUkwoY29uc3QgU3RyaW5nJikgY29u
c3Q7CiAKICAgICAgICAgdmlydHVhbCBFdmVudFRhcmdldCogZXJyb3JFdmVudFRhcmdldCgpOwot
ICAgICAgICB2aXJ0dWFsIHZvaWQgbG9nRXhjZXB0aW9uVG9Db25zb2xlKGNvbnN0IFN0cmluZyYg
ZXJyb3JNZXNzYWdlLCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIFBh
c3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPik7CiAKICAgICAgICAgS1VSTCBtX3VybDsKICAgICAg
ICAgU3RyaW5nIG1fdXNlckFnZW50OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDc0OWYwYWEyYjJiMzYyZTNiMzJmZTExMjI2
YjM0ZTI3ZTQ0NWM2ODYuLjU2ZGI0NmZjMWY5Y2MwOGRmMTAxZGY0OWZjZmI5OGE0YmIwMTliOWIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMS0xMS0yMyAgWXVyeSBTZW1pa2hhdHNreSAgPHl1
cnlzQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBleGNlcHRpb25zIGlu
IHNoYXJlZCB3b3JrZXJzIHNob3VsZCBiZSBsb2dnZWQgdG8gd2ViIGluc3BlY3RvciBjb25zb2xl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAyMgor
CisgICAgICAgIFVuY2F1Z2h0IGV4Y2VwdGlvbiBpbiBzaGFyZWQgd29ya2VyIGlzIG5vdCByZXBv
cnRlZCB0byB0aGUgcGFnZSBhbnkgbW9yZSwgaXQgaXMgYWRkZWQKKyAgICAgICAgdG8gdGhlIHdv
cmtlcidzIG93biBjb25zb2xlLiBzaGFyZWQtd29ya2VyLWV4Y2VwdGlvbi5odG1sIHNob3VsZCBw
cm9iYWJseSBiZSByZW1vdmVkCisgICAgICAgIGNvbXBsZXRlbHkuIEJ1dCBJIGRvbid0IHdhbnQg
dG8gZG8gaXQgdW50aWwgd2UgaGF2ZSB0ZXN0aW4gaW5mcmFzdHJ1Y3R1cmUgZm9yIHRoZQorICAg
ICAgICBzaGFyZWQgd29ya2VyIGRlYnVnZ2luZy4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3Qvd29ya2Vycy9zaGFyZWQtd29ya2VyLWV4Y2Vw
dGlvbi1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC93b3JrZXJzL3NoYXJlZC13b3JrZXIt
c2NyaXB0LWVycm9yLWV4cGVjdGVkLnR4dDoKKwogMjAxMS0xMS0yMyAgUGhpbGlwcGUgTm9ybWFu
ZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgc2tpcCBhbm90
aGVyIHN2ZyB0ZXN0IG9uIEdUSyBzaG93aW5nIHNpZ25lZCB6ZXJvIGlzc3Vlcy4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy9zaGFyZWQtd29ya2VyLWV4Y2VwdGlvbi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvc2hhcmVkLXdvcmtlci1leGNlcHRp
b24tZXhwZWN0ZWQudHh0CmluZGV4IDU1ZmNmYmIxYWIyYTQ4YjY2Y2Y5ODA5MGVjMTkxZTI3ZDcx
N2ZjMjguLjRkMTFkZTg3ZGE1MWRmZDIzOTc4YzkzNzcwMzFmN2RkNGViYmM5YWYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy9zaGFyZWQtd29ya2VyLWV4Y2VwdGlvbi1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3NoYXJlZC13b3JrZXItZXhj
ZXB0aW9uLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDMgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGlu
ZSA0OiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogZm9vCiBUaGlzIHRlc3Qg
Y2hlY2tzIHdoZXRoZXIgZXhjZXB0aW9ucyBpbiBTaGFyZWRXb3JrZXJzIGFyZSBsb2dnZWQgdG8g
dGhlIHBhcmVudCBkb2N1bWVudC4gQW4gZXhjZXB0aW9uIHNob3VsZCBiZSBsb2dnZWQgdG8gdGhl
IGVycm9yIGNvbnNvbGUuCiAKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy9zaGFyZWQtd29ya2VyLXNjcmlwdC1lcnJvci1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvc2hhcmVkLXdvcmtlci1zY3JpcHQt
ZXJyb3ItZXhwZWN0ZWQudHh0CmluZGV4IDdlM2VkNmFlMmNjNTViMzQ1Mzg2ZDQzMDEzMGQyZjAy
ZTBjYzVjM2IuLmY3MDgxMzMwNTM2OWVkOTIyOWY5MTZkZjdlMTk5MTY2NzVmZTk2MWIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy9zaGFyZWQtd29ya2VyLXNjcmlwdC1lcnJv
ci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3NoYXJlZC13b3Jr
ZXItc2NyaXB0LWVycm9yLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDMgQEAKLUNPTlNPTEUgTUVT
U0FHRTogbGluZSAxMjogUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IGdlbmVy
YXRlRXJyb3IKIFRlc3QgU2hhcmVkV29ya2VyIHNjcmlwdCBlcnJvciBoYW5kbGluZyBmdW5jdGlv
bmFsaXR5LiBTaG91bGQgcHJpbnQgYSBzZXJpZXMgb2YgUEFTUyBtZXNzYWdlcywgZm9sbG93ZWQg
d2l0aCBET05FLgogCiBTVUNDRVNTOiB1bmhhbmRsZWQgZXJyb3IgZ2VuZXJhdGVkCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>116482</attachid>
            <date>2011-11-23 23:35:29 -0800</date>
            <delta_ts>2011-11-23 23:54:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73022-20111124113527.patch</filename>
            <type>text/plain</type>
            <size>17524</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxMTE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTYxMzAwY2M2NTU3ZmNh
OTAyYWQxOTVjMDgwNTcwNTExMmFkZDc0YS4uZGM5ZDA3OThmNzhjMzI5ZDJjOTgwODc4ZTllY2My
NTcwMWQ0MjI5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDExLTExLTIzICBZdXJ5
IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IGV4Y2VwdGlvbnMgaW4gc2hhcmVkIHdvcmtlcnMgc2hvdWxkIGJlIGxvZ2dlZCB0byB3ZWIg
aW5zcGVjdG9yIGNvbnNvbGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTczMDIyCisKKyAgICAgICAgQWNjb3JkaW5nIHRvIHNlY3Rpb24gIjQuNyBSdW50
aW1lIHNjcmlwdCBlcnJvcnMiIG9mIFdlYiBXb3JrZXJzIHNwZWMgIkZvciBzaGFyZWQKKyAgICAg
ICAgd29ya2VycywgaWYgdGhlIGVycm9yIGlzIHN0aWxsIG5vdCBoYW5kbGVkIGFmdGVyd2FyZHMs
IG9yIGlmIHRoZSBlcnJvciBvY2N1cnJlZAorICAgICAgICB3aGlsZSBoYW5kbGluZyBhIHByZXZp
b3VzIHNjcmlwdCBlcnJvciwgdGhlIGVycm9yIG1heSBiZSByZXBvcnRlZCB0byB0aGUgdXNlci4i
CisKKyAgICAgICAgVGhpcyBjaGFuZ2UgYWRkcyB1bmNhdWdoIGV4Y2VwdGlvbnMgdG8gdGhlIHNo
YXJlZCB3b3JrZXIgd2ViIGluc3BlY3RvciBjb25zb2xlLgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVB
Z2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OnJlc3Rv
cmUpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlSW5zdHJ1bWVudGF0aW9u
Lmg6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3Nh
Z2VUb0NvbnNvbGUpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRlYnVnZ2VyQWdlbnQ6OnJlc3RvcmUp
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjppbnN0cnVtZW50aW5nQWdl
bnRzRm9yV29ya2VyQ29udGV4dCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbi5oOgorICAgICAgICAqIGluc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9s
bGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlckluc3BlY3RvckNvbnRyb2xsZXI6OmNv
bm5lY3RGcm9udGVuZCk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJJbnNwZWN0b3JDb250cm9s
bGVyOjpkaXNjb25uZWN0RnJvbnRlbmQpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VySW5zcGVj
dG9yQ29udHJvbGxlcjo6cmVzdG9yZUluc3BlY3RvclN0YXRlRnJvbUNvb2tpZSk6CisgICAgICAg
ICogaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBpbnNw
ZWN0b3IvZnJvbnQtZW5kL1dvcmtlck1hbmFnZXIuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
V29ya2VyTWFuYWdlci5zaG93V29ya2VyVGVybWluYXRlZFNjcmVlbik6CisgICAgICAgICogaW5z
cGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanM6CisgICAgICAgICogd29ya2Vycy9TaGFyZWRX
b3JrZXJDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNoYXJlZFdvcmtlckNvbnRleHQ6
OmxvZ0V4Y2VwdGlvblRvQ29uc29sZSk6CisgICAgICAgICogd29ya2Vycy9TaGFyZWRXb3JrZXJD
b250ZXh0Lmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJDb250ZXh0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OldvcmtlckNvbnRleHQ6OmFkZE1lc3NhZ2UpOiBjb25zb2xlIG1lc3NhZ2VzIGFy
ZSBub3cgYWRkZWQgdG8KKyAgICAgICAgdGhlIHdvcmtlciBjb25zb2xlIGFnZW50LgorICAgICAg
ICAoV2ViQ29yZTo6V29ya2VyQ29udGV4dDo6YWRkTWVzc2FnZVRvV29ya2VyQ29uc29sZSk6Cisg
ICAgICAgICogd29ya2Vycy9Xb3JrZXJDb250ZXh0Lmg6CisKIDIwMTEtMTEtMjMgIERtaXRyeSBM
b21vdiAgPGRzbG9tb3ZAZ29vZ2xlLmNvbT4KIAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNTQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAKaW5kZXggMTI1ZWM3YWU0NTJmOTMzMmZiZmVj
Y2RiYWQ5NWFlMTBlNmY4YzI3OC4uMjhjZTZkYjY4NjkzNmI1YTU5ODZlOTJiMWYyZjhhYzFlNzYw
MTBmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNv
bGVBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNv
bGVBZ2VudC5jcHAKQEAgLTExNSw2ICsxMTUsNyBAQCB2b2lkIEluc3BlY3RvckNvbnNvbGVBZ2Vu
dDo6cmVzZXQoKQogdm9pZCBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OnJlc3RvcmUoKQogewogICAg
IGlmIChtX2luc3BlY3RvclN0YXRlLT5nZXRCb29sZWFuKENvbnNvbGVBZ2VudFN0YXRlOjpjb25z
b2xlTWVzc2FnZXNFbmFibGVkKSkgeworICAgICAgICBtX2Zyb250ZW5kLT5tZXNzYWdlc0NsZWFy
ZWQoKTsKICAgICAgICAgRXJyb3JTdHJpbmcgZXJyb3I7CiAgICAgICAgIGVuYWJsZSgmZXJyb3Ip
OwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JD
b25zb2xlSW5zdHJ1bWVudGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yQ29uc29sZUluc3RydW1lbnRhdGlvbi5oCmluZGV4IDhhNDA4NTlmZTFkM2FmZDM2Nzg3NzM4
YmM5YTFkZWY5MGRjZWY0NDguLmU2M2M3MTI4ZDUzMzJlZjI2NGMxODhmYTBhNGU3ZTcxMzFkZDQy
Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xl
SW5zdHJ1bWVudGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckNvbnNvbGVJbnN0cnVtZW50YXRpb24uaApAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgIklu
c3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIlNjcmlwdEFyZ3VtZW50cy5oIgog
I2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgorI2luY2x1ZGUgIlNjcmlwdFByb2ZpbGUuaCIK
ICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01
NCw2ICs1NSwyNCBAQCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1l
c3NhZ2VUb0NvbnNvbGUoUGFnZSogcGFnZSwgTWVzc2FnZVNvdQogI2VuZGlmCiB9CiAKKyNpZiBF
TkFCTEUoV09SS0VSUykKK2lubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRk
TWVzc2FnZVRvQ29uc29sZShXb3JrZXJDb250ZXh0KiB3b3JrZXJDb250ZXh0LCBNZXNzYWdlU291
cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBT
dHJpbmcmIG1lc3NhZ2UsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBhcmd1bWVudHMsIFBh
c3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjYWxsU3RhY2spCit7CisjaWYgRU5BQkxFKElOU1BF
Q1RPUikKKyAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9
IGluc3RydW1lbnRpbmdBZ2VudHNGb3JXb3JrZXJDb250ZXh0KHdvcmtlckNvbnRleHQpKQorICAg
ICAgICBhZGRNZXNzYWdlVG9Db25zb2xlSW1wbChpbnN0cnVtZW50aW5nQWdlbnRzLCBzb3VyY2Us
IHR5cGUsIGxldmVsLCBtZXNzYWdlLCBhcmd1bWVudHMsIGNhbGxTdGFjayk7CisjZW5kaWYKK30K
KworaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25z
b2xlKFdvcmtlckNvbnRleHQqIHdvcmtlckNvbnRleHQsIE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBN
ZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSwgdW5zaWduZWQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzY3JpcHRJZCkKK3sKKyNpZiBF
TkFCTEUoSU5TUEVDVE9SKQorICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50
aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvcldvcmtlckNvbnRleHQod29ya2VyQ29u
dGV4dCkpCisgICAgICAgIGFkZE1lc3NhZ2VUb0NvbnNvbGVJbXBsKGluc3RydW1lbnRpbmdBZ2Vu
dHMsIHNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIGxpbmVOdW1iZXIsIHNjcmlwdElkKTsK
KyNlbmRpZgorfQorI2VuZGlmCisKIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6Y29uc29sZUNvdW50KFBhZ2UqIHBhZ2UsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBh
cmd1bWVudHMsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBzdGFjaykKIHsKICNpZiBFTkFC
TEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckRlYnVnZ2VyQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckRlYnVnZ2VyQWdlbnQuY3BwCmluZGV4IDZmMTFjYjA4Y2VkMTAzZWM5OTdkMzU1ZGE5MjY5ZDNm
MmExZmIxMjcuLmQ4ZDY1ODcwMmZkMjcyN2MxMzRkMWQ4NzZiM2FjNGE3ZmM2ZDM3YmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5j
cHAKQEAgLTEyOCw4ICsxMjgsMTAgQEAgdm9pZCBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50OjpkaXNh
YmxlKEVycm9yU3RyaW5nKikKIAogdm9pZCBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50OjpyZXN0b3Jl
KCkKIHsKLSAgICBpZiAoZW5hYmxlZCgpKQorICAgIGlmIChlbmFibGVkKCkpIHsKKyAgICAgICAg
bV9mcm9udGVuZC0+Z2xvYmFsT2JqZWN0Q2xlYXJlZCgpOwogICAgICAgICBlbmFibGUoKTsKKyAg
ICB9CiB9CiAKIHZvaWQgSW5zcGVjdG9yRGVidWdnZXJBZ2VudDo6c2V0RnJvbnRlbmQoSW5zcGVj
dG9yRnJvbnRlbmQqIGZyb250ZW5kKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAppbmRleCA3MTMyOTQzMTZlMDJiOTlhNjcz
ZWQ5YzEwMTRlZWI2NmU3ZjYxYjJkLi5hODE3MGI0MTU3ZjFjYjk0YTMwMWM2NDhhYTM5MjE2ZGMz
ODlkMTJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uLmNwcApAQCAtOTMyLDYgKzkzMiwxNSBAQCBJbnN0cnVtZW50aW5nQWdl
bnRzKiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Omluc3RydW1lbnRpbmdBZ2VudHNGb3JQYWdl
KFBhZ2UqCiAgICAgcmV0dXJuIGluc3RydW1lbnRhdGlvbkZvclBhZ2UocGFnZSk7CiB9CiAKKyNp
ZiBFTkFCTEUoV09SS0VSUykKK0luc3RydW1lbnRpbmdBZ2VudHMqIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6aW5zdHJ1bWVudGluZ0FnZW50c0ZvcldvcmtlckNvbnRleHQoV29ya2VyQ29udGV4
dCogd29ya2VyQ29udGV4dCkKK3sKKyAgICBpZiAoIXdvcmtlckNvbnRleHQpCisgICAgICAgIHJl
dHVybiAwOworICAgIHJldHVybiBpbnN0cnVtZW50YXRpb25Gb3JXb3JrZXJDb250ZXh0KHdvcmtl
ckNvbnRleHQpOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlm
IC8vICFFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCmluZGV4IGE2MjAyN2RjNjM4Mzg4MGUwYzhkNzhi
OWYzNGEwZTMxZGI2MmJkMjEuLmU2YjQ3N2M4MGVmY2ZlZjFmN2VlZWIwYzBhZDViNGFlYjg5YzQy
YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uLmgKQEAgLTE1MSw2ICsxNTEsMTAgQEAgcHVibGljOgogCiAgICAgc3RhdGljIHZv
aWQgYWRkTWVzc2FnZVRvQ29uc29sZShQYWdlKiwgTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUs
IE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRyPFNjcmlwdEFy
Z3VtZW50cz4sIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPik7CiAgICAgc3RhdGljIHZvaWQg
YWRkTWVzc2FnZVRvQ29uc29sZShQYWdlKiwgTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1l
c3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBj
b25zdCBTdHJpbmcmKTsKKyNpZiBFTkFCTEUoV09SS0VSUykKKyAgICBzdGF0aWMgdm9pZCBhZGRN
ZXNzYWdlVG9Db25zb2xlKFdvcmtlckNvbnRleHQqLCBNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlw
ZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIFBhc3NSZWZQdHI8U2NyaXB0
QXJndW1lbnRzPiwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KTsKKyAgICBzdGF0aWMgdm9p
ZCBhZGRNZXNzYWdlVG9Db25zb2xlKFdvcmtlckNvbnRleHQqLCBNZXNzYWdlU291cmNlLCBNZXNz
YWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxp
bmVOdW1iZXIsIGNvbnN0IFN0cmluZyYpOworI2VuZGlmCiAgICAgc3RhdGljIHZvaWQgY29uc29s
ZUNvdW50KFBhZ2UqLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4sIFBhc3NSZWZQdHI8U2Ny
aXB0Q2FsbFN0YWNrPik7CiAgICAgc3RhdGljIHZvaWQgc3RhcnRDb25zb2xlVGltaW5nKFBhZ2Uq
LCBjb25zdCBTdHJpbmcmIHRpdGxlKTsKICAgICBzdGF0aWMgdm9pZCBzdG9wQ29uc29sZVRpbWlu
ZyhQYWdlKiwgY29uc3QgU3RyaW5nJiB0aXRsZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+
KTsKQEAgLTMyOCw2ICszMzIsOSBAQCBwcml2YXRlOgogICAgIHN0YXRpYyBJbnN0cnVtZW50aW5n
QWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRnJhbWUoRnJhbWUqKTsKICAgICBzdGF0aWMg
SW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50c0ZvckNvbnRleHQoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCopOwogICAgIHN0YXRpYyBJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0
cnVtZW50aW5nQWdlbnRzRm9yRG9jdW1lbnQoRG9jdW1lbnQqKTsKKyNpZiBFTkFCTEUoV09SS0VS
UykKKyAgICBzdGF0aWMgSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50c0Zv
cldvcmtlckNvbnRleHQoV29ya2VyQ29udGV4dCopOworI2VuZGlmCiAKICAgICBzdGF0aWMgYm9v
bCBjb2xsZWN0aW5nSFRNTFBhcnNlRXJyb3JzKEluc3RydW1lbnRpbmdBZ2VudHMqKTsKICAgICBz
dGF0aWMgdm9pZCBwYXVzZU9uTmF0aXZlRXZlbnRJZk5lZWRlZChJbnN0cnVtZW50aW5nQWdlbnRz
KiwgY29uc3QgU3RyaW5nJiBjYXRlZ29yeVR5cGUsIGNvbnN0IFN0cmluZyYgZXZlbnROYW1lLCBi
b29sIHN5bmNocm9ub3VzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9X
b3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9X
b3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcAppbmRleCBmODhmYjVjZmMzZGIxMWFjMzYyOTc1
NGM2OTViNGQwNDEyMDllMDE1Li5jYmIwMWE1YzBmMzBhNjc1N2EyMDUwYzQzODhhZGFhYmQxZDkw
MjY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVjdG9y
Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3Bl
Y3RvckNvbnRyb2xsZXIuY3BwCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSAiSW5qZWN0ZWRT
Y3JpcHRNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaCIK
ICNpbmNsdWRlICJJbnNwZWN0b3JDbGllbnQuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JDb25zb2xl
QWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZC5oIgogI2luY2x1ZGUgIkluc3Bl
Y3RvckZyb250ZW5kQ2hhbm5lbC5oIgogI2luY2x1ZGUgIkluc3BlY3RvclN0YXRlLmgiCkBAIC0x
MjMsMTIgKzEyNCwxMiBAQCB2b2lkIFdvcmtlckluc3BlY3RvckNvbnRyb2xsZXI6OmNvbm5lY3RG
cm9udGVuZCgpCiAgICAgbV9iYWNrZW5kRGlzcGF0Y2hlciA9IGFkb3B0UmVmKG5ldyBJbnNwZWN0
b3JCYWNrZW5kRGlzcGF0Y2hlcigKICAgICAgICAgbV9mcm9udGVuZENoYW5uZWwuZ2V0KCksCiAg
ICAgICAgIDAsIC8vIEluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudAorICAgICAgICAwLCAv
LyBJbnNwZWN0b3JDU1NBZ2VudAorICAgICAgICBtX2NvbnNvbGVBZ2VudC5nZXQoKSwKKyAgICAg
ICAgMCwgLy8gSW5zcGVjdG9yRE9NQWdlbnQKICNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dF
UikKICAgICAgICAgMCwgLy8gSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudAogI2VuZGlmCi0gICAg
ICAgIDAsIC8vIEluc3BlY3RvckNTU0FnZW50Ci0gICAgICAgIDAsIC8vIEluc3BlY3RvckNvbnNv
bGVBZ2VudAotICAgICAgICAwLCAvLyBJbnNwZWN0b3JET01BZ2VudAogICAgICAgICAwLCAvLyBJ
bnNwZWN0b3JET01TdG9yYWdlQWdlbnQKICNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgICAg
ICAwLCAvLyBJbnNwZWN0b3JEYXRhYmFzZUFnZW50CkBAIC0xNTAsNiArMTUxLDcgQEAgdm9pZCBX
b3JrZXJJbnNwZWN0b3JDb250cm9sbGVyOjpjb25uZWN0RnJvbnRlbmQoKQogI2lmIEVOQUJMRShK
QVZBU0NSSVBUX0RFQlVHR0VSKQogICAgIG1fZGVidWdnZXJBZ2VudC0+c2V0RnJvbnRlbmQobV9m
cm9udGVuZC5nZXQoKSk7CiAjZW5kaWYKKyAgICBtX2NvbnNvbGVBZ2VudC0+c2V0RnJvbnRlbmQo
bV9mcm9udGVuZC5nZXQoKSk7CiB9CiAKIHZvaWQgV29ya2VySW5zcGVjdG9yQ29udHJvbGxlcjo6
ZGlzY29ubmVjdEZyb250ZW5kKCkKQEAgLTE2NCw2ICsxNjYsNyBAQCB2b2lkIFdvcmtlckluc3Bl
Y3RvckNvbnRyb2xsZXI6OmRpc2Nvbm5lY3RGcm9udGVuZCgpCiAjaWYgRU5BQkxFKEpBVkFTQ1JJ
UFRfREVCVUdHRVIpCiAgICAgbV9kZWJ1Z2dlckFnZW50LT5jbGVhckZyb250ZW5kKCk7CiAjZW5k
aWYKKyAgICBtX2NvbnNvbGVBZ2VudC0+Y2xlYXJGcm9udGVuZCgpOwogICAgIG1faW5qZWN0ZWRT
Y3JpcHRNYW5hZ2VyLT5pbmplY3RlZFNjcmlwdEhvc3QoKS0+Y2xlYXJGcm9udGVuZCgpOwogCiAg
ICAgbV9mcm9udGVuZC5jbGVhcigpOwpAQCAtMTc5LDYgKzE4Miw3IEBAIHZvaWQgV29ya2VySW5z
cGVjdG9yQ29udHJvbGxlcjo6cmVzdG9yZUluc3BlY3RvclN0YXRlRnJvbUNvb2tpZShjb25zdCBT
dHJpbmcmIGluCiAjaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCiAgICAgbV9kZWJ1Z2dl
ckFnZW50LT5yZXN0b3JlKCk7CiAjZW5kaWYKKyAgICBtX2NvbnNvbGVBZ2VudC0+cmVzdG9yZSgp
OwogfQogCiB2b2lkIFdvcmtlckluc3BlY3RvckNvbnRyb2xsZXI6OmRpc3BhdGNoTWVzc2FnZUZy
b21Gcm9udGVuZChjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuaAppbmRleCA5YmU0ODVkNWE2
YzllNTExMzY2MzkwNDVlODFjODk1YzAzOTg0MmM5Li43YWM3M2NmNWU0ZTUyZjc4NWI0ZmQ2Zjc5
NzFjZDFmYWIzMWU3NzNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29y
a2VySW5zcGVjdG9yQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9X
b3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmgKQEAgLTQ5LDYgKzQ5LDcgQEAgY2xhc3MgSW5zcGVj
dG9yQmFja2VuZERpc3BhdGNoZXI7CiBjbGFzcyBJbnNwZWN0b3JDb25zb2xlQWdlbnQ7CiBjbGFz
cyBJbnNwZWN0b3JGcm9udGVuZDsKIGNsYXNzIEluc3BlY3RvckZyb250ZW5kQ2hhbm5lbDsKK2Ns
YXNzIEluc3BlY3RvckNvbnNvbGVBZ2VudDsKIGNsYXNzIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjsKIGNsYXNzIEluc3BlY3RvclJ1bnRpbWVBZ2VudDsKIGNsYXNzIEluc3BlY3RvclN0YXRlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Xb3JrZXJNYW5h
Z2VyLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Xb3JrZXJNYW5hZ2Vy
LmpzCmluZGV4IDA1NjIxMTJhMWE3MmViN2E5ZGFiNDNmOTcxOTVmZDQ5YTA0ZWU5ZTIuLmI2OWQ3
MTU0ZGI0M2E3MmMyNTdmOWM2YmZhNTQ0YWVhYzc4MTcwMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV29ya2VyTWFuYWdlci5qcworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dvcmtlck1hbmFnZXIuanMKQEAgLTExMiwxMCAr
MTEyLDEwIEBAIFdlYkluc3BlY3Rvci5Xb3JrZXJNYW5hZ2VyLnNob3dXb3JrZXJUZXJtaW5hdGVk
U2NyZWVuID0gZnVuY3Rpb24oKQogewogICAgIGZ1bmN0aW9uIG9uSGlkZSgpCiAgICAgewotICAg
ICAgICBXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5yZW1vdmVFdmVudExpc3RlbmVyKFdlYklu
c3BlY3Rvci5EZWJ1Z2dlck1vZGVsLkV2ZW50cy5QYXJzZWRTY3JpcHRTb3VyY2UsIHNjcmVlbi5o
aWRlLCBzY3JlZW4pOworICAgICAgICBXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5yZW1vdmVF
dmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1vZGVsLkV2ZW50cy5HbG9iYWxPYmpl
Y3RDbGVhcmVkLCBzY3JlZW4uaGlkZSwgc2NyZWVuKTsKICAgICB9CiAgICAgdmFyIHNjcmVlbiA9
IG5ldyBXZWJJbnNwZWN0b3IuV29ya2VyVGVybWluYXRlZFNjcmVlbigpOwotICAgIFdlYkluc3Bl
Y3Rvci5kZWJ1Z2dlck1vZGVsLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkRlYnVnZ2Vy
TW9kZWwuRXZlbnRzLlBhcnNlZFNjcmlwdFNvdXJjZSwgc2NyZWVuLmhpZGUsIHNjcmVlbik7Cisg
ICAgV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0
b3IuRGVidWdnZXJNb2RlbC5FdmVudHMuR2xvYmFsT2JqZWN0Q2xlYXJlZCwgc2NyZWVuLmhpZGUs
IHNjcmVlbik7CiAgICAgc2NyZWVuLnNob3cob25IaWRlLmJpbmQodGhpcykpOwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCmluZGV4IDlk
OTFlYjc1OTQwMWVhNGMxYjQxYjIxZjBkNGJhYjA5OTQwYzQ0YTYuLjdiYzJhMjU0YzZhMmEzZWYw
MGIxNmE1YWExNmQ2YjlmZTYxNmI2YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCkBAIC0zODAsOSArMzgwLDcgQEAgV2ViSW5zcGVjdG9y
LmRvTG9hZGVkRG9uZSA9IGZ1bmN0aW9uKCkKIAogICAgIHRoaXMuZXh0ZW5zaW9uU2VydmVyLmlu
aXRFeHRlbnNpb25zKCk7CiAKLSAgICAvLyBUaGVyZSBpcyBubyBjb25zb2xlIGFnZW50IGZvciB3
b3JrZXJzIHlldC4KLSAgICBpZiAoIVdlYkluc3BlY3Rvci5Xb3JrZXJNYW5hZ2VyLmlzV29ya2Vy
RnJvbnRlbmQoKSkKLSAgICAgICAgdGhpcy5jb25zb2xlLmVuYWJsZUFnZW50KCk7CisgICAgdGhp
cy5jb25zb2xlLmVuYWJsZUFnZW50KCk7CiAgICAgRGF0YWJhc2VBZ2VudC5lbmFibGUoKTsKICAg
ICBET01TdG9yYWdlQWdlbnQuZW5hYmxlKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvU2hhcmVkV29ya2VyQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1NoYXJlZFdvcmtlckNvbnRleHQuY3BwCmluZGV4IDljZDE3MjFkMTg3NmRhZDRjYTg0ZTA4MzY5
NzAyNTQwMWYyNzdlNWUuLjljOTRjZDhjNGM2ZjQwNzRmOGExNjhiNDZkMmU3OWNlOTM1NTI2NGMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyQ29udGV4dC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJDb250ZXh0LmNwcApA
QCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJNZXNz
YWdlRXZlbnQuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgorI2luY2x1ZGUgIlNjcmlw
dENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNoYXJlZFdvcmtlclRocmVhZC5oIgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CkBAIC02OSw2ICs3MCwxMiBAQCBTaGFyZWRXb3JrZXJUaHJlYWQqIFNoYXJl
ZFdvcmtlckNvbnRleHQ6OnRocmVhZCgpCiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFNoYXJlZFdv
cmtlclRocmVhZCo+KEJhc2U6OnRocmVhZCgpKTsKIH0KIAordm9pZCBTaGFyZWRXb3JrZXJDb250
ZXh0Ojpsb2dFeGNlcHRpb25Ub0NvbnNvbGUoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGlu
dCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgUGFzc1JlZlB0cjxTY3JpcHRD
YWxsU3RhY2s+IGNhbGxTdGFjaykKK3sKKyAgICBXb3JrZXJDb250ZXh0Ojpsb2dFeGNlcHRpb25U
b0NvbnNvbGUoZXJyb3JNZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwsIGNhbGxTdGFjayk7
CisgICAgYWRkTWVzc2FnZVRvV29ya2VyQ29uc29sZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3Nh
Z2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgZXJyb3JNZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3Vy
Y2VVUkwsIGNhbGxTdGFjayk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlm
IC8vIEVOQUJMRShTSEFSRURfV09SS0VSUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvU2hhcmVkV29ya2VyQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFy
ZWRXb3JrZXJDb250ZXh0LmgKaW5kZXggNjA3ZmVhYzMyMWRiNzc4OWM5ZTk2MDY1NzgwMTY4YTU5
NDBmNzA2YS4uNGYyYjFkZmM1ZDViZWM0OTRmNmQyMDVlOTk2NzUzN2M2YjIwNThhMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJDb250ZXh0LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJDb250ZXh0LmgKQEAgLTYxLDYgKzYx
LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBTaGFyZWRXb3JrZXJUaHJlYWQqIHRo
cmVhZCgpOwogICAgIHByaXZhdGU6CiAgICAgICAgIFNoYXJlZFdvcmtlckNvbnRleHQoY29uc3Qg
U3RyaW5nJiBuYW1lLCBjb25zdCBLVVJMJiwgY29uc3QgU3RyaW5nJiwgU2hhcmVkV29ya2VyVGhy
ZWFkKik7CisKKyAgICAgICAgdmlydHVhbCB2b2lkIGxvZ0V4Y2VwdGlvblRvQ29uc29sZShjb25z
dCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291
cmNlVVJMLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4pOworCiAgICAgICAgIFN0cmluZyBt
X25hbWU7CiAgICAgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5jcHAK
aW5kZXggYzhmYzdkOWE3OGI4M2M4OGFjMWUwZjI5ZWI5ZTdiOTJlMjQyNTJiZS4uODVhZjJmNWY2
ZDdlZWFlODUyMmJhODkxMzY2ZTc5M2QxYzg5NDJhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlckNvbnRleHQuY3BwCkBAIC00NCw3ICs0NCw3IEBACiAjaW5jbHVkZSAiRXJyb3JFdmVu
dC5oIgogI2luY2x1ZGUgIkV2ZW50LmgiCiAjaW5jbHVkZSAiRXZlbnRFeGNlcHRpb24uaCIKLSNp
bmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JD
b25zb2xlSW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiS1VSTC5oIgogI2luY2x1ZGUgIk1l
c3NhZ2VQb3J0LmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKQEAgLTI5OCwxMyArMjk4
LDIzIEBAIHZvaWQgV29ya2VyQ29udGV4dDo6bG9nRXhjZXB0aW9uVG9Db25zb2xlKGNvbnN0IFN0
cmluZyYgZXJyb3JNZXNzYWdlLCBpbnQgbGluZU51CiAgICAgdGhyZWFkKCktPndvcmtlclJlcG9y
dGluZ1Byb3h5KCkucG9zdEV4Y2VwdGlvblRvV29ya2VyT2JqZWN0KGVycm9yTWVzc2FnZSwgbGlu
ZU51bWJlciwgc291cmNlVVJMKTsKIH0KIAotdm9pZCBXb3JrZXJDb250ZXh0OjphZGRNZXNzYWdl
KE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2
ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgY29uc3QgU3Ry
aW5nJiBzb3VyY2VVUkwsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPikKK3ZvaWQgV29ya2Vy
Q29udGV4dDo6YWRkTWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlw
ZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxp
bmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxT
dGFjaz4gY2FsbFN0YWNrKQogewogICAgIGlmICghaXNDb250ZXh0VGhyZWFkKCkpIHsKICAgICAg
ICAgcG9zdFRhc2soQWRkQ29uc29sZU1lc3NhZ2VUYXNrOjpjcmVhdGUoc291cmNlLCB0eXBlLCBs
ZXZlbCwgbWVzc2FnZSkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIHRocmVhZCgpLT53
b3JrZXJSZXBvcnRpbmdQcm94eSgpLnBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KHNv
dXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIGxpbmVOdW1iZXIsIHNvdXJjZVVSTCk7CisgICAg
YWRkTWVzc2FnZVRvV29ya2VyQ29uc29sZShzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCBs
aW5lTnVtYmVyLCBzb3VyY2VVUkwsIGNhbGxTdGFjayk7Cit9CisKK3ZvaWQgV29ya2VyQ29udGV4
dDo6YWRkTWVzc2FnZVRvV29ya2VyQ29uc29sZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2Fn
ZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVu
c2lnbmVkIGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCBQYXNzUmVmUHRyPFNj
cmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrKQoreworICAgIEFTU0VSVChpc0NvbnRleHRUaHJlYWQo
KSk7CisgICAgaWYgKGNhbGxTdGFjaykKKyAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjphZGRNZXNzYWdlVG9Db25zb2xlKHRoaXMsIHNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2Us
IDAsIGNhbGxTdGFjayk7CisgICAgZWxzZQorICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OmFkZE1lc3NhZ2VUb0NvbnNvbGUodGhpcywgc291cmNlLCB0eXBlLCBsZXZlbCwgbWVzc2Fn
ZSwgbGluZU51bWJlciwgc291cmNlVVJMKTsKIH0KIAogI2lmIEVOQUJMRShOT1RJRklDQVRJT05T
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmggYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaAppbmRleCA1ZmRkNDcyZWExYTA4
NmFjZThiM2ZmYjg5Y2Q1YjFmN2NhMGFmZWQ2Li41ZDE0YjA3MDRiMzIyNmNlOGZmOTE3ODI0MmE4
MDMwNDFlOGU0ZjgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNv
bnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaApAQCAt
MTc3LDYgKzE3Nyw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBwcm90ZWN0ZWQ6CiAgICAg
ICAgIFdvcmtlckNvbnRleHQoY29uc3QgS1VSTCYsIGNvbnN0IFN0cmluZyYsIFdvcmtlclRocmVh
ZCopOwogCisgICAgICAgIHZpcnR1YWwgdm9pZCBsb2dFeGNlcHRpb25Ub0NvbnNvbGUoY29uc3Qg
U3RyaW5nJiBlcnJvck1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJj
ZVVSTCwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KTsKKyAgICAgICAgdm9pZCBhZGRNZXNz
YWdlVG9Xb3JrZXJDb25zb2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2
ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgY29uc3QgU3Ry
aW5nJiBzb3VyY2VVUkwsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPik7CisKICAgICBwcml2
YXRlOgogICAgICAgICB2aXJ0dWFsIHZvaWQgcmVmU2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIHsg
cmVmKCk7IH0KICAgICAgICAgdmlydHVhbCB2b2lkIGRlcmVmU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpIHsgZGVyZWYoKTsgfQpAQCAtMTkwLDcgKzE5Myw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgdmlydHVhbCBLVVJMIHZpcnR1YWxDb21wbGV0ZVVSTChjb25zdCBTdHJpbmcmKSBj
b25zdDsKIAogICAgICAgICB2aXJ0dWFsIEV2ZW50VGFyZ2V0KiBlcnJvckV2ZW50VGFyZ2V0KCk7
Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBsb2dFeGNlcHRpb25Ub0NvbnNvbGUoY29uc3QgU3RyaW5n
JiBlcnJvck1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwg
UGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KTsKIAogICAgICAgICBLVVJMIG1fdXJsOwogICAg
ICAgICBTdHJpbmcgbV91c2VyQWdlbnQ7Cg==
</data>
<flag name="review"
          id="115654"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>