<?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>125395</bug_id>
          
          <creation_ts>2013-12-07 12:46:58 -0800</creation_ts>
          <short_desc>Add the notion of ConstantStoragePointer to DFG IR</short_desc>
          <delta_ts>2013-12-08 17:06:08 -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>JavaScriptCore</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>
          <dependson>125252</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>957535</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-12-07 12:46:58 -0800</bug_when>
    <thetext>Then it can be CSE&apos;d. Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957692</commentid>
    <comment_count>1</comment_count>
      <attachid>218704</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-12-08 12:18:44 -0800</bug_when>
    <thetext>Created attachment 218704
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957694</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-08 12:21:27 -0800</bug_when>
    <thetext>Attachment 218704 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/ChangeLog&apos;, u&apos;Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h&apos;, u&apos;Source/JavaScriptCore/dfg/DFGCSEPhase.cpp&apos;, u&apos;Source/JavaScriptCore/dfg/DFGClobberize.h&apos;, u&apos;Source/JavaScriptCore/dfg/DFGFixupPhase.cpp&apos;, u&apos;Source/JavaScriptCore/dfg/DFGGraph.cpp&apos;, u&apos;Source/JavaScriptCore/dfg/DFGNode.h&apos;, u&apos;Source/JavaScriptCore/dfg/DFGNodeType.h&apos;, u&apos;Source/JavaScriptCore/dfg/DFGPredictionPropagationPhase.cpp&apos;, u&apos;Source/JavaScriptCore/dfg/DFGSafeToExecute.h&apos;, u&apos;Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp&apos;, u&apos;Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h&apos;, u&apos;Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp&apos;, u&apos;Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp&apos;, u&apos;Source/JavaScriptCore/dfg/DFGStrengthReductionPhase.cpp&apos;, u&apos;Source/JavaScriptCore/dfg/DFGWatchpointCollectionPhase.cpp&apos;, u&apos;Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp&apos;, &apos;--commit-queue&apos;]&quot; exit_code: 1
ERROR: Source/JavaScriptCore/dfg/DFGStrengthReductionPhase.cpp:100:  An else statement can be removed when the prior &quot;if&quot; concludes with a return, break, continue or goto statement.  [readability/control_flow] [4]
Total errors found: 1 in 16 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957731</commentid>
    <comment_count>3</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-12-08 17:06:08 -0800</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/160295</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218704</attachid>
            <date>2013-12-08 12:18:44 -0800</date>
            <delta_ts>2013-12-08 15:01:37 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>17174</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTYwMjkzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU1IEBA
CisyMDEzLTEyLTA4ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
QWRkIHRoZSBub3Rpb24gb2YgQ29uc3RhbnRTdG9yYWdlUG9pbnRlciB0byBERkcgSVIKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNTM5NQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgVGhpcyBw
dXNoZXMgbW9yZSB0eXBlZCBhcnJheSBmb2xkaW5nIGludG8gU3RyZW5ndGhSZWR1Y3Rpb25QaGFz
ZSwgYW5kIGVuYWJsZXMgQ1NFIG9uCisgICAgICAgIHN0b3JhZ2UgcG9pbnRlcnMuIFByZXZpb3Vz
bHksIHlvdSBtaWdodCBoYXZlIHNlcGFyYXRlIG5vZGVzIGZvciB0aGUgc2FtZSBzdG9yYWdlCisg
ICAgICAgIHBvaW50ZXIgYW5kIHRoaXMgd291bGQgY2F1c2Ugc29tZSBiYWQgcmVnaXN0ZXIgcHJl
c3N1cmUgaW4gdGhlIERGRy4gTm90ZSB0aGF0IHRoaXMKKyAgICAgICAgd2FzIHJlYWxseSBhIHRo
ZW9yZXRpY2FsIHByb2JsZW0gYW5kIG5vdCwgdG8gbXkga25vd2xlZGdlIGEgcHJhY3RpY2FsIG9u
ZSAtIHNvIHRoaXMKKyAgICAgICAgcGF0Y2ggaXMgYmFzaWNhbGx5IGp1c3QgYSBjbGVhbi11cC4K
KworICAgICAgICAqIGRmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oOgorICAgICAg
ICAoSlNDOjpERkc6Ojo6ZXhlY3V0ZUVmZmVjdHMpOgorICAgICAgICAqIGRmZy9ERkdDU0VQaGFz
ZS5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6Q1NFUGhhc2U6OmNvbnN0YW50U3RvcmFnZVBvaW50
ZXJDU0UpOgorICAgICAgICAoSlNDOjpERkc6OkNTRVBoYXNlOjpwZXJmb3JtTm9kZUNTRSk6Cisg
ICAgICAgICogZGZnL0RGR0Nsb2JiZXJpemUuaDoKKyAgICAgICAgKEpTQzo6REZHOjpjbG9iYmVy
aXplKToKKyAgICAgICAgKiBkZmcvREZHRml4dXBQaGFzZS5jcHA6CisgICAgICAgIChKU0M6OkRG
Rzo6Rml4dXBQaGFzZTo6Zml4dXBOb2RlKToKKyAgICAgICAgKiBkZmcvREZHR3JhcGguY3BwOgor
ICAgICAgICAoSlNDOjpERkc6OkdyYXBoOjpkdW1wKToKKyAgICAgICAgKiBkZmcvREZHTm9kZS5o
OgorICAgICAgICAoSlNDOjpERkc6Ok5vZGU6OmNvbnZlcnRUb0NvbnN0YW50U3RvcmFnZVBvaW50
ZXIpOgorICAgICAgICAoSlNDOjpERkc6Ok5vZGU6Omhhc1N0b3JhZ2VQb2ludGVyKToKKyAgICAg
ICAgKEpTQzo6REZHOjpOb2RlOjpzdG9yYWdlUG9pbnRlcik6CisgICAgICAgICogZGZnL0RGR05v
ZGVUeXBlLmg6CisgICAgICAgICogZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNw
cDoKKyAgICAgICAgKEpTQzo6REZHOjpQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZTo6cHJvcGFn
YXRlKToKKyAgICAgICAgKiBkZmcvREZHU2FmZVRvRXhlY3V0ZS5oOgorICAgICAgICAoSlNDOjpE
Rkc6OnNhZmVUb0V4ZWN1dGUpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHA6
CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVDb25zdGFudFN0b3Jh
Z2VQb2ludGVyKToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUdl
dEluZGV4ZWRQcm9wZXJ0eVN0b3JhZ2UpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJ
VC5oOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcDoKKyAgICAgICAg
KEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZSk6CisgICAgICAgICogZGZnL0RGR1Nw
ZWN1bGF0aXZlSklUNjQuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpj
b21waWxlKToKKyAgICAgICAgKiBkZmcvREZHU3RyZW5ndGhSZWR1Y3Rpb25QaGFzZS5jcHA6Cisg
ICAgICAgIChKU0M6OkRGRzo6U3RyZW5ndGhSZWR1Y3Rpb25QaGFzZTo6aGFuZGxlTm9kZSk6Cisg
ICAgICAgIChKU0M6OkRGRzo6U3RyZW5ndGhSZWR1Y3Rpb25QaGFzZTo6Zm9sZFR5cGVkQXJyYXlQ
cm9wZXJ0eVRvQ29uc3RhbnQpOgorICAgICAgICAoSlNDOjpERkc6OlN0cmVuZ3RoUmVkdWN0aW9u
UGhhc2U6OnByZXBhcmVUb0ZvbGRUeXBlZEFycmF5KToKKyAgICAgICAgKiBkZmcvREZHV2F0Y2hw
b2ludENvbGxlY3Rpb25QaGFzZS5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6V2F0Y2hwb2ludENv
bGxlY3Rpb25QaGFzZTo6aGFuZGxlKToKKyAgICAgICAgKiBmdGwvRlRMTG93ZXJERkdUb0xMVk0u
Y3BwOgorICAgICAgICAoSlNDOjpGVEw6Okxvd2VyREZHVG9MTFZNOjpjb21waWxlTm9kZSk6Cisg
ICAgICAgIChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06OmNvbXBpbGVDb25zdGFudFN0b3JhZ2VQ
b2ludGVyKToKKyAgICAgICAgKEpTQzo6RlRMOjpMb3dlckRGR1RvTExWTTo6Y29tcGlsZUdldElu
ZGV4ZWRQcm9wZXJ0eVN0b3JhZ2UpOgorCiAyMDEzLTEyLTA3ICBGaWxpcCBQaXpsbyAgPGZwaXps
b0BhcHBsZS5jb20+CiAKICAgICAgICAgRm9sZCB0eXBlZEFycmF5Lmxlbmd0aCBpZiB0eXBlZEFy
cmF5IGlzIGNvbnN0YW50CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3Ry
YWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCShyZXZpc2lvbiAxNjAyOTIp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxp
bmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTE0NDAsNyArMTQ0MCw4IEBAIGJvb2wgQWJzdHJhY3RJ
bnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHkKICAgICAgICAgbV9zdGF0ZS5zZXRIYXZlU3RydWN0
dXJlcyh0cnVlKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQotICAgIGNhc2UgR2V0SW5kZXhlZFBy
b3BlcnR5U3RvcmFnZTogeworICAgIGNhc2UgR2V0SW5kZXhlZFByb3BlcnR5U3RvcmFnZToKKyAg
ICBjYXNlIENvbnN0YW50U3RvcmFnZVBvaW50ZXI6IHsKICAgICAgICAgZm9yTm9kZShub2RlKS5j
bGVhcigpOwogICAgICAgICBicmVhazsgCiAgICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdDU0VQaGFzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdDU0VQaGFzZS5jcHAJKHJldmlzaW9uIDE2MDI5MikKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHQ1NFUGhhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNjIsNiAr
MTYyLDIxIEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KICAgICAKKyAgICBO
b2RlKiBjb25zdGFudFN0b3JhZ2VQb2ludGVyQ1NFKE5vZGUqIG5vZGUpCisgICAgeworICAgICAg
ICBmb3IgKHVuc2lnbmVkIGkgPSBlbmRJbmRleEZvclB1cmVDU0UoKTsgaS0tOykgeworICAgICAg
ICAgICAgTm9kZSogb3RoZXJOb2RlID0gbV9jdXJyZW50QmxvY2stPmF0KGkpOworICAgICAgICAg
ICAgaWYgKG90aGVyTm9kZS0+b3AoKSAhPSBDb25zdGFudFN0b3JhZ2VQb2ludGVyKQorICAgICAg
ICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgCisgICAgICAgICAgICBpZiAob3RoZXJO
b2RlLT5zdG9yYWdlUG9pbnRlcigpICE9IG5vZGUtPnN0b3JhZ2VQb2ludGVyKCkpCisgICAgICAg
ICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIHJldHVybiBvdGhl
ck5vZGU7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorICAgIAogICAgIE5v
ZGUqIGdldENhbGxlZUxvYWRFbGltaW5hdGlvbigpCiAgICAgewogICAgICAgICBmb3IgKHVuc2ln
bmVkIGkgPSBtX2luZGV4SW5CbG9jazsgaS0tOykgewpAQCAtMTE1NCw2ICsxMTY5LDEyIEBAIHBy
aXZhdGU6CiAgICAgICAgICAgICBzZXRSZXBsYWNlbWVudCh3ZWFrQ29uc3RhbnRDU0Uobm9kZSkp
OwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAKKyAgICAgICAgY2FzZSBDb25zdGFu
dFN0b3JhZ2VQb2ludGVyOgorICAgICAgICAgICAgaWYgKGNzZU1vZGUgPT0gU3RvcmVFbGltaW5h
dGlvbikKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIHNldFJlcGxhY2VtZW50
KGNvbnN0YW50U3RvcmFnZVBvaW50ZXJDU0Uobm9kZSkpOworICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgICAgICAKICAgICAgICAgY2FzZSBHZXRBcnJheUxlbmd0aDoKICAgICAgICAgICAgIGlm
IChjc2VNb2RlID09IFN0b3JlRWxpbWluYXRpb24pCiAgICAgICAgICAgICAgICAgYnJlYWs7Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUuaAkocmV2aXNpb24g
MTYwMjkyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgJKHdv
cmtpbmcgY29weSkKQEAgLTExNiw2ICsxMTYsNyBAQCB2b2lkIGNsb2JiZXJpemUoR3JhcGgmIGdy
YXBoLCBOb2RlKiBub2RlCiAgICAgY2FzZSBFeHRyYWN0T1NSRW50cnlMb2NhbDoKICAgICBjYXNl
IEludDUyVG9Eb3VibGU6CiAgICAgY2FzZSBJbnQ1MlRvVmFsdWU6CisgICAgY2FzZSBDb25zdGFu
dFN0b3JhZ2VQb2ludGVyOgogICAgICAgICByZXR1cm47CiAgICAgICAgIAogICAgIGNhc2UgTW92
SGludEFuZENoZWNrOgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBo
YXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVw
UGhhc2UuY3BwCShyZXZpc2lvbiAxNjAyOTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0ZpeHVwUGhhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04NzcsNiArODc3LDEwIEBAIHBy
aXZhdGU6CiAgICAgICAgIGNhc2UgSW50NTJUb1ZhbHVlOgogICAgICAgICBjYXNlIEludmFsaWRh
dGlvblBvaW50OgogICAgICAgICBjYXNlIENoZWNrQXJyYXk6CisgICAgICAgIGNhc2UgQ29uc3Rh
bnRTdG9yYWdlUG9pbnRlcjoKKyAgICAgICAgICAgIC8vIFRoZXNlIGFyZSBqdXN0IG5vZGVzIHRo
YXQgd2UgZG9uJ3QgY3VycmVudGx5IGV4cGVjdCB0byBzZWUgZHVyaW5nIGZpeHVwLgorICAgICAg
ICAgICAgLy8gSWYgd2UgZXZlciB3YW50ZWQgdG8gaW5zZXJ0IHRoZW0gcHJpb3IgdG8gZml4dXAs
IHRoZW4gd2UganVzdCBoYXZlIHRvIGNyZWF0ZQorICAgICAgICAgICAgLy8gZml4dXAgcnVsZXMg
Zm9yIHRoZW0uCiAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAg
ICAgICAgICAgYnJlYWs7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3Jh
cGguY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGgu
Y3BwCShyZXZpc2lvbiAxNjAyOTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dy
YXBoLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjkwLDYgKzI5MCwxMiBAQCB2b2lkIEdyYXBoOjpk
dW1wKFByaW50U3RyZWFtJiBvdXQsIGNvbnN0CiAgICAgICAgIG91dC5wcmludChjb21tYSwgIl4i
LCBub2RlLT5waGkoKS0+aW5kZXgoKSk7CiAgICAgaWYgKG5vZGUtPmhhc0V4ZWN1dGlvbkNvdW50
ZXIoKSkKICAgICAgICAgb3V0LnByaW50KGNvbW1hLCBSYXdQb2ludGVyKG5vZGUtPmV4ZWN1dGlv
bkNvdW50ZXIoKSkpOworICAgIGlmIChub2RlLT5oYXNWYXJpYWJsZVdhdGNocG9pbnRTZXQoKSkK
KyAgICAgICAgb3V0LnByaW50KGNvbW1hLCBSYXdQb2ludGVyKG5vZGUtPnZhcmlhYmxlV2F0Y2hw
b2ludFNldCgpKSk7CisgICAgaWYgKG5vZGUtPmhhc1R5cGVkQXJyYXkoKSkKKyAgICAgICAgb3V0
LnByaW50KGNvbW1hLCBpbkNvbnRleHQoSlNWYWx1ZShub2RlLT50eXBlZEFycmF5KCkpLCBjb250
ZXh0KSk7CisgICAgaWYgKG5vZGUtPmhhc1N0b3JhZ2VQb2ludGVyKCkpCisgICAgICAgIG91dC5w
cmludChjb21tYSwgUmF3UG9pbnRlcihub2RlLT5zdG9yYWdlUG9pbnRlcigpKSk7CiAgICAgaWYg
KG9wID09IEpTQ29uc3RhbnQpIHsKICAgICAgICAgb3V0LnByaW50KGNvbW1hLCAiJCIsIG5vZGUt
PmNvbnN0YW50TnVtYmVyKCkpOwogICAgICAgICBKU1ZhbHVlIHZhbHVlID0gdmFsdWVPZkpTQ29u
c3RhbnQobm9kZSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaAkocmV2aXNp
b24gMTYwMjkyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTQwNyw2ICs0MDcsMTMgQEAgc3RydWN0IE5vZGUgewogICAgICAgICBjaGls
ZHJlbi5yZXNldCgpOwogICAgIH0KICAgICAKKyAgICB2b2lkIGNvbnZlcnRUb0NvbnN0YW50U3Rv
cmFnZVBvaW50ZXIodm9pZCogcG9pbnRlcikKKyAgICB7CisgICAgICAgIEFTU0VSVChvcCgpID09
IEdldEluZGV4ZWRQcm9wZXJ0eVN0b3JhZ2UpOworICAgICAgICBtX29wID0gQ29uc3RhbnRTdG9y
YWdlUG9pbnRlcjsKKyAgICAgICAgbV9vcEluZm8gPSBiaXR3aXNlX2Nhc3Q8dWludHB0cl90Pihw
b2ludGVyKTsKKyAgICB9CisgICAgCiAgICAgdm9pZCBjb252ZXJ0VG9HZXRMb2NhbFVubGlua2Vk
KFZpcnR1YWxSZWdpc3RlciBsb2NhbCkKICAgICB7CiAgICAgICAgIG1fb3AgPSBHZXRMb2NhbFVu
bGlua2VkOwpAQCAtOTgyLDYgKzk4OSwxNiBAQCBzdHJ1Y3QgTm9kZSB7CiAgICAgewogICAgICAg
ICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxKU0FycmF5QnVmZmVyVmlldyo+KG1fb3BJbmZvKTsK
ICAgICB9CisgICAgCisgICAgYm9vbCBoYXNTdG9yYWdlUG9pbnRlcigpCisgICAgeworICAgICAg
ICByZXR1cm4gb3AoKSA9PSBDb25zdGFudFN0b3JhZ2VQb2ludGVyOworICAgIH0KKyAgICAKKyAg
ICB2b2lkKiBzdG9yYWdlUG9pbnRlcigpCisgICAgeworICAgICAgICByZXR1cm4gcmVpbnRlcnBy
ZXRfY2FzdDx2b2lkKj4obV9vcEluZm8pOworICAgIH0KIAogICAgIGJvb2wgaGFzU3RydWN0dXJl
VHJhbnNpdGlvbkRhdGEoKQogICAgIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHTm9kZVR5cGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R05vZGVUeXBlLmgJKHJldmlzaW9uIDE2MDI5MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHTm9kZVR5cGUuaAkod29ya2luZyBjb3B5KQpAQCAtMTcxLDYgKzE3MSw3IEBAIG5hbWVz
cGFjZSBKU0MgeyBuYW1lc3BhY2UgREZHIHsKICAgICBtYWNybyhBcnJheWlmeSwgTm9kZU11c3RH
ZW5lcmF0ZSkgXAogICAgIG1hY3JvKEFycmF5aWZ5VG9TdHJ1Y3R1cmUsIE5vZGVNdXN0R2VuZXJh
dGUpIFwKICAgICBtYWNybyhHZXRJbmRleGVkUHJvcGVydHlTdG9yYWdlLCBOb2RlUmVzdWx0U3Rv
cmFnZSkgXAorICAgIG1hY3JvKENvbnN0YW50U3RvcmFnZVBvaW50ZXIsIE5vZGVSZXN1bHRTdG9y
YWdlKSBcCiAgICAgbWFjcm8oVHlwZWRBcnJheVdhdGNocG9pbnQsIE5vZGVNdXN0R2VuZXJhdGUp
IFwKICAgICBtYWNybyhHZXRCeU9mZnNldCwgTm9kZVJlc3VsdEpTKSBcCiAgICAgbWFjcm8oUHV0
QnlPZmZzZXQsIE5vZGVNdXN0R2VuZXJhdGUpIFwKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3Bw
CShyZXZpc2lvbiAxNjAyOTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRp
Y3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTc4LDYgKzU3OCw3
IEBAIHByaXZhdGU6CiAgICAgICAgIGNhc2UgTm90aWZ5V3JpdGU6CiAgICAgICAgIGNhc2UgRnVu
Y3Rpb25SZWVudHJ5V2F0Y2hwb2ludDoKICAgICAgICAgY2FzZSBUeXBlZEFycmF5V2F0Y2hwb2lu
dDoKKyAgICAgICAgY2FzZSBDb25zdGFudFN0b3JhZ2VQb2ludGVyOgogICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgICAgICAKICAgICAgICAgLy8gVGhpcyBnZXRzIGlnbm9yZWQgYmVjYXVzZSBp
dCBhbHJlYWR5IGhhcyBhIHByZWRpY3Rpb24uCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaAkocmV2aXNpb24gMTYwMjkyKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI0
NSw2ICsyNDUsNyBAQCBib29sIHNhZmVUb0V4ZWN1dGUoQWJzdHJhY3RTdGF0ZVR5cGUmIHN0CiAg
ICAgY2FzZSBOb3RpZnlXcml0ZToKICAgICBjYXNlIEZ1bmN0aW9uUmVlbnRyeVdhdGNocG9pbnQ6
CiAgICAgY2FzZSBUeXBlZEFycmF5V2F0Y2hwb2ludDoKKyAgICBjYXNlIENvbnN0YW50U3RvcmFn
ZVBvaW50ZXI6CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAKICAgICBjYXNlIEdldEJ5
VmFsOgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMy
XzY0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1
bGF0aXZlSklUMzJfNjQuY3BwCShyZXZpc2lvbiAxNjAyOTIpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
OTQ2LDYgKzM5NDYsMTEgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2Rl
KQogICAgICAgICBicmVhazsKICAgICB9CiAKKyAgICBjYXNlIENvbnN0YW50U3RvcmFnZVBvaW50
ZXI6IHsKKyAgICAgICAgY29tcGlsZUNvbnN0YW50U3RvcmFnZVBvaW50ZXIobm9kZSk7CisgICAg
ICAgIGJyZWFrOworICAgIH0KKyAgICAgICAgCiAgICAgY2FzZSBHZXRUeXBlZEFycmF5Qnl0ZU9m
ZnNldDogewogICAgICAgICBjb21waWxlR2V0VHlwZWRBcnJheUJ5dGVPZmZzZXQobm9kZSk7CiAg
ICAgICAgIGJyZWFrOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxh
dGl2ZUpJVDY0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1NwZWN1bGF0aXZlSklUNjQuY3BwCShyZXZpc2lvbiAxNjAyOTIpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00
MjQyLDYgKzQyNDIsMTEgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2Rl
KQogICAgICAgICBicmVhazsKICAgICB9CiAgICAgICAgIAorICAgIGNhc2UgQ29uc3RhbnRTdG9y
YWdlUG9pbnRlcjogeworICAgICAgICBjb21waWxlQ29uc3RhbnRTdG9yYWdlUG9pbnRlcihub2Rl
KTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgICAgICAKICAgICBjYXNlIEdldFR5cGVkQXJy
YXlCeXRlT2Zmc2V0OiB7CiAgICAgICAgIGNvbXBpbGVHZXRUeXBlZEFycmF5Qnl0ZU9mZnNldChu
b2RlKTsKICAgICAgICAgYnJlYWs7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1NwZWN1bGF0aXZlSklULmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAkocmV2aXNpb24gMTYwMjkyKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTQwNDIsMjYgKzQwNDIsMTYgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVN0cmluZ1pl
cm9MZQogI2VuZGlmCiB9CiAKLWJvb2wgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVDb25zdGFudElu
ZGV4ZWRQcm9wZXJ0eVN0b3JhZ2UoTm9kZSogbm9kZSkKK3ZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNv
bXBpbGVDb25zdGFudFN0b3JhZ2VQb2ludGVyKE5vZGUqIG5vZGUpCiB7Ci0gICAgSlNBcnJheUJ1
ZmZlclZpZXcqIHZpZXcgPSBtX2ppdC5ncmFwaCgpLnRyeUdldEZvbGRhYmxlVmlld0ZvckNoaWxk
MShub2RlKTsKLSAgICBpZiAoIXZpZXcpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBpZiAo
dmlldy0+bW9kZSgpID09IEZhc3RUeXBlZEFycmF5KQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0g
ICAgCiAgICAgR1BSVGVtcG9yYXJ5IHN0b3JhZ2UodGhpcyk7CiAgICAgR1BSUmVnIHN0b3JhZ2VH
UFIgPSBzdG9yYWdlLmdwcigpOwotICAgIG1faml0Lm1vdmUoVHJ1c3RlZEltbVB0cih2aWV3LT52
ZWN0b3IoKSksIHN0b3JhZ2VHUFIpOworICAgIG1faml0Lm1vdmUoVHJ1c3RlZEltbVB0cihub2Rl
LT5zdG9yYWdlUG9pbnRlcigpKSwgc3RvcmFnZUdQUik7CiAgICAgc3RvcmFnZVJlc3VsdChzdG9y
YWdlR1BSLCBub2RlKTsKLSAgICByZXR1cm4gdHJ1ZTsKIH0KIAogdm9pZCBTcGVjdWxhdGl2ZUpJ
VDo6Y29tcGlsZUdldEluZGV4ZWRQcm9wZXJ0eVN0b3JhZ2UoTm9kZSogbm9kZSkKIHsKLSAgICBp
ZiAoY29tcGlsZUNvbnN0YW50SW5kZXhlZFByb3BlcnR5U3RvcmFnZShub2RlKSkKLSAgICAgICAg
cmV0dXJuOwotICAgIAogICAgIFNwZWN1bGF0ZUNlbGxPcGVyYW5kIGJhc2UodGhpcywgbm9kZS0+
Y2hpbGQxKCkpOwogICAgIEdQUlJlZyBiYXNlUmVnID0gYmFzZS5ncHIoKTsKICAgICAKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgJKHJldmlz
aW9uIDE2MDI5MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVK
SVQuaAkod29ya2luZyBjb3B5KQpAQCAtMjAyNyw3ICsyMDI3LDcgQEAgcHVibGljOgogICAgIHZv
aWQgY29tcGlsZUFyaXRoSU11bChOb2RlKik7CiAgICAgdm9pZCBjb21waWxlQXJpdGhEaXYoTm9k
ZSopOwogICAgIHZvaWQgY29tcGlsZUFyaXRoTW9kKE5vZGUqKTsKLSAgICBib29sIGNvbXBpbGVD
b25zdGFudEluZGV4ZWRQcm9wZXJ0eVN0b3JhZ2UoTm9kZSopOworICAgIHZvaWQgY29tcGlsZUNv
bnN0YW50U3RvcmFnZVBvaW50ZXIoTm9kZSopOwogICAgIHZvaWQgY29tcGlsZUdldEluZGV4ZWRQ
cm9wZXJ0eVN0b3JhZ2UoTm9kZSopOwogICAgIEpJVENvbXBpbGVyOjpKdW1wIGp1bXBGb3JUeXBl
ZEFycmF5T3V0T2ZCb3VuZHMoTm9kZSosIEdQUlJlZyBiYXNlR1BSLCBHUFJSZWcgaW5kZXhHUFIp
OwogICAgIHZvaWQgZW1pdFR5cGVkQXJyYXlCb3VuZHNDaGVjayhOb2RlKiwgR1BSUmVnIGJhc2VH
UFIsIEdQUlJlZyBpbmRleEdQUik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1N0cmVuZ3RoUmVkdWN0aW9uUGhhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHU3RyZW5ndGhSZWR1Y3Rpb25QaGFzZS5jcHAJKHJldmlzaW9uIDE2MDI5
MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3RyZW5ndGhSZWR1Y3Rpb25QaGFz
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk1LDkgKzk1LDIyIEBAIHByaXZhdGU6CiAgICAgICAg
ICAgICAgICAgZm9sZFR5cGVkQXJyYXlQcm9wZXJ0eVRvQ29uc3RhbnQodmlldywganNOdW1iZXIo
dmlldy0+Ynl0ZU9mZnNldCgpKSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIAot
ICAgICAgICAvLyBGSVhNRTogVGhlIGNvbnN0YW50LWZvbGRpbmcgb2YgR2V0SW5kZXhlZFByb3Bl
cnR5U3RvcmFnZSBzaG91bGQgYmUgZXhwcmVzc2VkCi0gICAgICAgIC8vIGFzIGFuIElSIHRyYW5z
Zm9ybWF0aW9uIGluIHRoaXMgcGhhc2UuCi0gICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMjUzOTUKKyAgICAgICAgY2FzZSBHZXRJbmRleGVkUHJvcGVy
dHlTdG9yYWdlOgorICAgICAgICAgICAgaWYgKEpTQXJyYXlCdWZmZXJWaWV3KiB2aWV3ID0gbV9n
cmFwaC50cnlHZXRGb2xkYWJsZVZpZXdGb3JDaGlsZDEobV9ub2RlKSkgeworICAgICAgICAgICAg
ICAgIGlmICh2aWV3LT5tb2RlKCkgIT0gRmFzdFR5cGVkQXJyYXkpIHsKKyAgICAgICAgICAgICAg
ICAgICAgcHJlcGFyZVRvRm9sZFR5cGVkQXJyYXkodmlldyk7CisgICAgICAgICAgICAgICAgICAg
IG1fbm9kZS0+Y29udmVydFRvQ29uc3RhbnRTdG9yYWdlUG9pbnRlcih2aWV3LT52ZWN0b3IoKSk7
CisgICAgICAgICAgICAgICAgICAgIG1fY2hhbmdlZCA9IHRydWU7CisgICAgICAgICAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAg
IC8vIEZJWE1FOiBJdCB3b3VsZCBiZSBhd2Vzb21lIHRvIGJlIGFibGUgdG8gZm9sZCB0aGUgcHJv
cGVydHkgc3RvcmFnZSBmb3IKKyAgICAgICAgICAgICAgICAgICAgLy8gdGhlc2UgR0MtYWxsb2Nh
dGVkIHR5cGVkIGFycmF5cy4gRm9yIG5vdyBpdCBkb2Vzbid0IG1hdHRlciBiZWNhdXNlIHRoZQor
ICAgICAgICAgICAgICAgICAgICAvLyBtb3N0IGNvbW1vbiB1c2UtY2FzZXMgZm9yIGNvbnN0YW50
IHR5cGVkIGFycmF5cyBpbnZvbHZlIGxhcmdlIGFycmF5cyB3aXRoCisgICAgICAgICAgICAgICAg
ICAgIC8vIGFsaWFzZWQgYnVmZmVyIHZpZXdzLgorICAgICAgICAgICAgICAgICAgICAvLyBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI1NDI1CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAKICAg
ICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIGJyZWFrOwpAQCAtMTA2LDExICsxMTksMTggQEAg
cHJpdmF0ZToKICAgICAKICAgICB2b2lkIGZvbGRUeXBlZEFycmF5UHJvcGVydHlUb0NvbnN0YW50
KEpTQXJyYXlCdWZmZXJWaWV3KiB2aWV3LCBKU1ZhbHVlIGNvbnN0YW50KQogICAgIHsKKyAgICAg
ICAgcHJlcGFyZVRvRm9sZFR5cGVkQXJyYXkodmlldyk7CisgICAgICAgIG1fZ3JhcGguY29udmVy
dFRvQ29uc3RhbnQobV9ub2RlLCBjb25zdGFudCk7CisgICAgICAgIG1fY2hhbmdlZCA9IHRydWU7
CisgICAgfQorICAgIAorICAgIHZvaWQgcHJlcGFyZVRvRm9sZFR5cGVkQXJyYXkoSlNBcnJheUJ1
ZmZlclZpZXcqIHZpZXcpCisgICAgewogICAgICAgICBtX2luc2VydGlvblNldC5pbnNlcnROb2Rl
KAogICAgICAgICAgICAgbV9ub2RlSW5kZXgsIFNwZWNOb25lLCBUeXBlZEFycmF5V2F0Y2hwb2lu
dCwgbV9ub2RlLT5jb2RlT3JpZ2luLAogICAgICAgICAgICAgT3BJbmZvKHZpZXcpKTsKLSAgICAg
ICAgbV9ncmFwaC5jb252ZXJ0VG9Db25zdGFudChtX25vZGUsIGNvbnN0YW50KTsKLSAgICAgICAg
bV9jaGFuZ2VkID0gdHJ1ZTsKKyAgICAgICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0Tm9kZSgKKyAg
ICAgICAgICAgIG1fbm9kZUluZGV4LCBTcGVjTm9uZSwgUGhhbnRvbSwgbV9ub2RlLT5jb2RlT3Jp
Z2luLCBtX25vZGUtPmNoaWxkcmVuKTsKICAgICB9CiAgICAgCiAgICAgSW5zZXJ0aW9uU2V0IG1f
aW5zZXJ0aW9uU2V0OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdXYXRjaHBv
aW50Q29sbGVjdGlvblBoYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1dhdGNocG9pbnRDb2xsZWN0aW9uUGhhc2UuY3BwCShyZXZpc2lvbiAxNjAyOTIp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1dhdGNocG9pbnRDb2xsZWN0aW9uUGhh
c2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzgsMTggKzEzOCw2IEBAIHByaXZhdGU6CiAgICAg
ICAgICAgICBhZGRMYXppbHkobV9ub2RlLT5zeW1ib2xUYWJsZSgpLT5tX2Z1bmN0aW9uRW50ZXJl
ZE9uY2UpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAKLSAgICAgICAgY2FzZSBH
ZXRJbmRleGVkUHJvcGVydHlTdG9yYWdlOgotICAgICAgICAgICAgaWYgKEpTQXJyYXlCdWZmZXJW
aWV3KiB2aWV3ID0gbV9ncmFwaC50cnlHZXRGb2xkYWJsZVZpZXdGb3JDaGlsZDEobV9ub2RlKSkg
ewotICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBJdCB3b3VsZCBiZSBhd2Vzb21lIHRvIGJlIGFi
bGUgdG8gZm9sZCB0aGUgcHJvcGVydHkgc3RvcmFnZSBmb3IKLSAgICAgICAgICAgICAgICAvLyB0
aGVzZSBHQy1hbGxvY2F0ZWQgdHlwZWQgYXJyYXlzLiBGb3Igbm93IGl0IGRvZXNuJ3QgbWF0dGVy
IGJlY2F1c2UgdGhlCi0gICAgICAgICAgICAgICAgLy8gbW9zdCBjb21tb24gdXNlLWNhc2VzIGZv
ciBjb25zdGFudCB0eXBlZCBhcnJheXMgaW52b2x2ZSBsYXJnZSBhcnJheXMgd2l0aAotICAgICAg
ICAgICAgICAgIC8vIGFsaWFzZWQgYnVmZmVyIHZpZXdzLgotICAgICAgICAgICAgICAgIGlmICh2
aWV3LT5tb2RlKCkgPT0gRmFzdFR5cGVkQXJyYXkpCi0gICAgICAgICAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICAgICAgICAgIGFkZExhemlseSh2aWV3KTsKLSAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICAgICAgCiAgICAgICAgIGNhc2UgVHlwZWRBcnJheVdhdGNo
cG9pbnQ6CiAgICAgICAgICAgICBhZGRMYXppbHkobV9ub2RlLT50eXBlZEFycmF5KCkpOwogICAg
ICAgICAgICAgYnJlYWs7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2Vy
REZHVG9MTFZNLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZU
TExvd2VyREZHVG9MTFZNLmNwcAkocmV2aXNpb24gMTYwMjkyKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0Myw2
ICszNDMsOSBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIEdldEJ1dHRlcmZseToKICAgICAgICAg
ICAgIGNvbXBpbGVHZXRCdXR0ZXJmbHkoKTsKICAgICAgICAgICAgIGJyZWFrOworICAgICAgICBj
YXNlIENvbnN0YW50U3RvcmFnZVBvaW50ZXI6CisgICAgICAgICAgICBjb21waWxlQ29uc3RhbnRT
dG9yYWdlUG9pbnRlcigpOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgR2V0SW5k
ZXhlZFByb3BlcnR5U3RvcmFnZToKICAgICAgICAgICAgIGNvbXBpbGVHZXRJbmRleGVkUHJvcGVy
dHlTdG9yYWdlKCk7CiAgICAgICAgICAgICBicmVhazsKQEAgLTEzOTcsNiArMTQwMCwxMSBAQCBw
cml2YXRlOgogICAgICAgICBzZXRTdG9yYWdlKG1fb3V0LmxvYWRQdHIobG93Q2VsbChtX25vZGUt
PmNoaWxkMSgpKSwgbV9oZWFwcy5KU09iamVjdF9idXR0ZXJmbHkpKTsKICAgICB9CiAgICAgCisg
ICAgdm9pZCBjb21waWxlQ29uc3RhbnRTdG9yYWdlUG9pbnRlcigpCisgICAgeworICAgICAgICBz
ZXRTdG9yYWdlKG1fb3V0LmNvbnN0SW50UHRyKG1fbm9kZS0+c3RvcmFnZVBvaW50ZXIoKSkpOwor
ICAgIH0KKyAgICAKICAgICB2b2lkIGNvbXBpbGVHZXRJbmRleGVkUHJvcGVydHlTdG9yYWdlKCkK
ICAgICB7CiAgICAgICAgIExWYWx1ZSBjZWxsID0gbG93Q2VsbChtX25vZGUtPmNoaWxkMSgpKTsK
QEAgLTE0MjMsMTMgKzE0MzEsNiBAQCBwcml2YXRlOgogICAgICAgICAgICAgcmV0dXJuOwogICAg
ICAgICB9CiAgICAgICAgIAotICAgICAgICBpZiAoSlNBcnJheUJ1ZmZlclZpZXcqIHZpZXcgPSBt
X2dyYXBoLnRyeUdldEZvbGRhYmxlVmlldyhtX25vZGUpKSB7Ci0gICAgICAgICAgICBpZiAodmll
dy0+bW9kZSgpICE9IEZhc3RUeXBlZEFycmF5KSB7Ci0gICAgICAgICAgICAgICAgc2V0U3RvcmFn
ZShtX291dC5jb25zdEludFB0cih2aWV3LT52ZWN0b3IoKSkpOwotICAgICAgICAgICAgICAgIHJl
dHVybjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICAKICAgICAgICAgc2V0U3Rv
cmFnZShtX291dC5sb2FkUHRyKGNlbGwsIG1faGVhcHMuSlNBcnJheUJ1ZmZlclZpZXdfdmVjdG9y
KSk7CiAgICAgfQogICAgIAo=
</data>
<flag name="review"
          id="242188"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>