<?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>165777</bug_id>
          
          <creation_ts>2016-12-12 14:53:06 -0800</creation_ts>
          <short_desc>Rename BytecodeGenerator&apos;s ControlFlowContext to ControlFlowScope.</short_desc>
          <delta_ts>2016-12-12 15:12:43 -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>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>160168</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>jfbastien</cc>
    
    <cc>keith_miller</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1259221</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-12-12 14:53:06 -0800</bug_when>
    <thetext>The existing code sometimes refer to ControlFlowContext (and associated references) as context, and sometimes as scope.  Let&apos;s be consistent and always call it a scope.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1259222</commentid>
    <comment_count>1</comment_count>
      <attachid>296953</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-12-12 14:59:30 -0800</bug_when>
    <thetext>Created attachment 296953
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1259226</commentid>
    <comment_count>2</comment_count>
      <attachid>296953</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-12-12 15:04:22 -0800</bug_when>
    <thetext>Comment on attachment 296953
proposed patch.

r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1259228</commentid>
    <comment_count>3</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-12-12 15:12:25 -0800</bug_when>
    <thetext>I just realized that I described the motivation for this patch in this bugzilla but forgot to add it to the ChangeLog.  I&apos;ve updated the ChangeLog to include this.

Landed in r209728: &lt;http://trac.webkit.org/r209728&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>296953</attachid>
            <date>2016-12-12 14:59:30 -0800</date>
            <delta_ts>2016-12-12 15:04:22 -0800</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-165777.patch</filename>
            <type>text/plain</type>
            <size>18497</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjA5NzI3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM4IEBA
CisyMDE2LTEyLTEyICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBS
ZW5hbWUgQnl0ZWNvZGVHZW5lcmF0b3IncyBDb250cm9sRmxvd0NvbnRleHQgdG8gQ29udHJvbEZs
b3dTY29wZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE2NTc3NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFsc28gcmVuYW1lZCBwdXNoL3BvcFNjb3BlZENvbnRyb2xGbG93Q29udGV4dCgpIHRvIHB1c2gv
cG9wTG9jYWxDb250cm9sRmxvd1Njb3BlKCkKKyAgICAgICAgYmVjYXVzZSB0aGVzZSBhcmUgb25s
eSB1c2VkIHdoZW4gd2UgaW5jL2RlYyB0aGUgbV9sb2NhbFNjb3BlRGVwdGguCisKKyAgICAgICAg
KiBieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpCeXRl
Y29kZUdlbmVyYXRvcjo6aW5pdGlhbGl6ZVZhckxleGljYWxFbnZpcm9ubWVudCk6CisgICAgICAg
IChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjpwdXNoTGV4aWNhbFNjb3BlSW50ZXJuYWwpOgorICAg
ICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6cG9wTGV4aWNhbFNjb3BlSW50ZXJuYWwpOgor
ICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdFB1c2hXaXRoU2NvcGUpOgorICAg
ICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdFBvcFdpdGhTY29wZSk6CisgICAgICAg
IChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjpwdXNoRmluYWxseUNvbnRyb2xGbG93U2NvcGUpOgor
ICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6cHVzaEl0ZXJhdG9yQ2xvc2VDb250cm9s
Rmxvd1Njb3BlKToKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OnBvcEZpbmFsbHlD
b250cm9sRmxvd1Njb3BlKToKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OnBvcEl0
ZXJhdG9yQ2xvc2VDb250cm9sRmxvd1Njb3BlKToKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5l
cmF0b3I6OmVtaXRDb21wbGV4UG9wU2NvcGVzKToKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5l
cmF0b3I6OmVtaXRQb3BTY29wZXMpOgorICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6
cHVzaExvY2FsQ29udHJvbEZsb3dTY29wZSk6CisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2VuZXJh
dG9yOjpwb3BMb2NhbENvbnRyb2xGbG93U2NvcGUpOgorICAgICAgICAoSlNDOjpCeXRlY29kZUdl
bmVyYXRvcjo6ZW1pdEVudW1lcmF0aW9uKToKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0
b3I6OnB1c2hGaW5hbGx5Q29udGV4dCk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OkJ5dGVjb2Rl
R2VuZXJhdG9yOjpwdXNoSXRlcmF0b3JDbG9zZUNvbnRleHQpOiBEZWxldGVkLgorICAgICAgICAo
SlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6cG9wRmluYWxseUNvbnRleHQpOiBEZWxldGVkLgorICAg
ICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6cG9wSXRlcmF0b3JDbG9zZUNvbnRleHQpOiBE
ZWxldGVkLgorICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6cHVzaFNjb3BlZENvbnRy
b2xGbG93Q29udGV4dCk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9y
Ojpwb3BTY29wZWRDb250cm9sRmxvd0NvbnRleHQpOiBEZWxldGVkLgorICAgICAgICAqIGJ5dGVj
b21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oOgorICAgICAgICAqIGJ5dGVjb21waWxlci9Ob2Rl
c0NvZGVnZW4uY3BwOgorICAgICAgICAoSlNDOjpUcnlOb2RlOjplbWl0Qnl0ZWNvZGUpOgorCiAy
MDE2LTEyLTEyICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAgR0Mg
c2NoZWR1bGVyIHNob3VsZCBhdm9pZCBjb25zZWN1dGl2ZSBwYXVzZXMKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0
b3IuY3BwCShyZXZpc2lvbiAyMDk3MjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
bXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTEyMSw3ICsx
MTIxLDcgQEAgdm9pZCBCeXRlY29kZUdlbmVyYXRvcjo6aW5pdGlhbGl6ZVZhckxleAogICAgICAg
ICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQoc2NvcGVSZWdpc3RlcigpLT5pbmRleCgpKTsKICAgICAg
ICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKG1fbGV4aWNhbEVudmlyb25tZW50UmVnaXN0ZXItPmlu
ZGV4KCkpOwogCi0gICAgICAgIHB1c2hTY29wZWRDb250cm9sRmxvd0NvbnRleHQoKTsKKyAgICAg
ICAgcHVzaExvY2FsQ29udHJvbEZsb3dTY29wZSgpOwogICAgIH0KICAgICBib29sIGlzV2l0aFNj
b3BlID0gZmFsc2U7CiAgICAgbV9sZXhpY2FsU2NvcGVTdGFjay5hcHBlbmQoeyBmdW5jdGlvblN5
bWJvbFRhYmxlLCBtX2xleGljYWxFbnZpcm9ubWVudFJlZ2lzdGVyLCBpc1dpdGhTY29wZSwgc3lt
Ym9sVGFibGVDb25zdGFudEluZGV4IH0pOwpAQCAtMjA2Nyw3ICsyMDY3LDcgQEAgdm9pZCBCeXRl
Y29kZUdlbmVyYXRvcjo6cHVzaExleGljYWxTY29wZQogCiAgICAgICAgIGVtaXRNb3ZlKHNjb3Bl
UmVnaXN0ZXIoKSwgbmV3U2NvcGUpOwogCi0gICAgICAgIHB1c2hTY29wZWRDb250cm9sRmxvd0Nv
bnRleHQoKTsKKyAgICAgICAgcHVzaExvY2FsQ29udHJvbEZsb3dTY29wZSgpOwogICAgIH0KIAog
ICAgIGJvb2wgaXNXaXRoU2NvcGUgPSBmYWxzZTsKQEAgLTIxOTEsNyArMjE5MSw3IEBAIHZvaWQg
Qnl0ZWNvZGVHZW5lcmF0b3I6OnBvcExleGljYWxTY29wZUkKICAgICBpZiAoaGFzQ2FwdHVyZWRW
YXJpYWJsZXMpIHsKICAgICAgICAgUkVMRUFTRV9BU1NFUlQoc3RhY2tFbnRyeS5tX3Njb3BlKTsK
ICAgICAgICAgZW1pdFBvcFNjb3BlKHNjb3BlUmVnaXN0ZXIoKSwgc3RhY2tFbnRyeS5tX3Njb3Bl
KTsKLSAgICAgICAgcG9wU2NvcGVkQ29udHJvbEZsb3dDb250ZXh0KCk7CisgICAgICAgIHBvcExv
Y2FsQ29udHJvbEZsb3dTY29wZSgpOwogICAgICAgICBzdGFja0VudHJ5Lm1fc2NvcGUtPmRlcmVm
KCk7CiAgICAgfQogCkBAIC0zNTk5LDcgKzM1OTksNyBAQCB2b2lkIEJ5dGVjb2RlR2VuZXJhdG9y
OjplbWl0R2V0U2NvcGUoKQogCiBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdFB1
c2hXaXRoU2NvcGUoUmVnaXN0ZXJJRCogb2JqZWN0U2NvcGUpCiB7Ci0gICAgcHVzaFNjb3BlZENv
bnRyb2xGbG93Q29udGV4dCgpOworICAgIHB1c2hMb2NhbENvbnRyb2xGbG93U2NvcGUoKTsKICAg
ICBSZWdpc3RlcklEKiBuZXdTY29wZSA9IG5ld0Jsb2NrU2NvcGVWYXJpYWJsZSgpOwogICAgIG5l
d1Njb3BlLT5yZWYoKTsKIApAQCAtMzYzMSw3ICszNjMxLDcgQEAgdm9pZCBCeXRlY29kZUdlbmVy
YXRvcjo6ZW1pdFBvcFNjb3BlKFJlZwogdm9pZCBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdFBvcFdp
dGhTY29wZSgpCiB7CiAgICAgZW1pdFBvcFNjb3BlKHNjb3BlUmVnaXN0ZXIoKSwgc2NvcGVSZWdp
c3RlcigpKTsKLSAgICBwb3BTY29wZWRDb250cm9sRmxvd0NvbnRleHQoKTsKKyAgICBwb3BMb2Nh
bENvbnRyb2xGbG93U2NvcGUoKTsKICAgICBhdXRvIHN0YWNrRW50cnkgPSBtX2xleGljYWxTY29w
ZVN0YWNrLnRha2VMYXN0KCk7CiAgICAgc3RhY2tFbnRyeS5tX3Njb3BlLT5kZXJlZigpOwogICAg
IFJFTEVBU0VfQVNTRVJUKHN0YWNrRW50cnkubV9pc1dpdGhTY29wZSk7CkBAIC0zNjczLDE5ICsz
NjczLDE5IEBAIHZvaWQgQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRXaWxsTGVhdmVDYWwKICAgICBl
bWl0RGVidWdIb29rKFdpbGxMZWF2ZUNhbGxGcmFtZSwgbV9zY29wZU5vZGUtPmxhc3RMaW5lKCks
IG1fc2NvcGVOb2RlLT5zdGFydE9mZnNldCgpLCBtX3Njb3BlTm9kZS0+bGluZVN0YXJ0T2Zmc2V0
KCkpOwogfQogCi12b2lkIEJ5dGVjb2RlR2VuZXJhdG9yOjpwdXNoRmluYWxseUNvbnRleHQoU3Rh
dGVtZW50Tm9kZSogZmluYWxseUJsb2NrKQordm9pZCBCeXRlY29kZUdlbmVyYXRvcjo6cHVzaEZp
bmFsbHlDb250cm9sRmxvd1Njb3BlKFN0YXRlbWVudE5vZGUqIGZpbmFsbHlCbG9jaykKIHsKICAg
ICAvLyBSZWNsYWltIGZyZWUgbGFiZWwgc2NvcGVzLgogICAgIHdoaWxlIChtX2xhYmVsU2NvcGVz
LnNpemUoKSAmJiAhbV9sYWJlbFNjb3Blcy5sYXN0KCkucmVmQ291bnQoKSkKICAgICAgICAgbV9s
YWJlbFNjb3Blcy5yZW1vdmVMYXN0KCk7CiAKLSAgICBDb250cm9sRmxvd0NvbnRleHQgc2NvcGU7
CisgICAgQ29udHJvbEZsb3dTY29wZSBzY29wZTsKICAgICBzY29wZS5pc0ZpbmFsbHlCbG9jayA9
IHRydWU7CiAgICAgRmluYWxseUNvbnRleHQgY29udGV4dCA9IHsKICAgICAgICAgZmluYWxseUJs
b2NrLAogICAgICAgICBudWxscHRyLAogICAgICAgICBudWxscHRyLAotICAgICAgICBzdGF0aWNf
Y2FzdDx1bnNpZ25lZD4obV9zY29wZUNvbnRleHRTdGFjay5zaXplKCkpLAorICAgICAgICBzdGF0
aWNfY2FzdDx1bnNpZ25lZD4obV9jb250cm9sRmxvd1Njb3BlU3RhY2suc2l6ZSgpKSwKICAgICAg
ICAgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KG1fc3dpdGNoQ29udGV4dFN0YWNrLnNpemUoKSksCiAg
ICAgICAgIHN0YXRpY19jYXN0PHVuc2lnbmVkPihtX2ZvckluQ29udGV4dFN0YWNrLnNpemUoKSks
CiAgICAgICAgIHN0YXRpY19jYXN0PHVuc2lnbmVkPihtX3RyeUNvbnRleHRTdGFjay5zaXplKCkp
LApAQCAtMzY5NSwyMyArMzY5NSwyMyBAQCB2b2lkIEJ5dGVjb2RlR2VuZXJhdG9yOjpwdXNoRmlu
YWxseUNvbnRlCiAgICAgICAgIG1fbG9jYWxTY29wZURlcHRoCiAgICAgfTsKICAgICBzY29wZS5m
aW5hbGx5Q29udGV4dCA9IGNvbnRleHQ7Ci0gICAgbV9zY29wZUNvbnRleHRTdGFjay5hcHBlbmQo
c2NvcGUpOworICAgIG1fY29udHJvbEZsb3dTY29wZVN0YWNrLmFwcGVuZChzY29wZSk7CiAgICAg
bV9maW5hbGx5RGVwdGgrKzsKIH0KIAotdm9pZCBCeXRlY29kZUdlbmVyYXRvcjo6cHVzaEl0ZXJh
dG9yQ2xvc2VDb250ZXh0KFJlZ2lzdGVySUQqIGl0ZXJhdG9yLCBUaHJvd2FibGVFeHByZXNzaW9u
RGF0YSogbm9kZSkKK3ZvaWQgQnl0ZWNvZGVHZW5lcmF0b3I6OnB1c2hJdGVyYXRvckNsb3NlQ29u
dHJvbEZsb3dTY29wZShSZWdpc3RlcklEKiBpdGVyYXRvciwgVGhyb3dhYmxlRXhwcmVzc2lvbkRh
dGEqIG5vZGUpCiB7CiAgICAgLy8gUmVjbGFpbSBmcmVlIGxhYmVsIHNjb3Blcy4KICAgICB3aGls
ZSAobV9sYWJlbFNjb3Blcy5zaXplKCkgJiYgIW1fbGFiZWxTY29wZXMubGFzdCgpLnJlZkNvdW50
KCkpCiAgICAgICAgIG1fbGFiZWxTY29wZXMucmVtb3ZlTGFzdCgpOwogCi0gICAgQ29udHJvbEZs
b3dDb250ZXh0IHNjb3BlOworICAgIENvbnRyb2xGbG93U2NvcGUgc2NvcGU7CiAgICAgc2NvcGUu
aXNGaW5hbGx5QmxvY2sgPSB0cnVlOwogICAgIEZpbmFsbHlDb250ZXh0IGNvbnRleHQgPSB7CiAg
ICAgICAgIG51bGxwdHIsCiAgICAgICAgIGl0ZXJhdG9yLAogICAgICAgICBub2RlLAotICAgICAg
ICBzdGF0aWNfY2FzdDx1bnNpZ25lZD4obV9zY29wZUNvbnRleHRTdGFjay5zaXplKCkpLAorICAg
ICAgICBzdGF0aWNfY2FzdDx1bnNpZ25lZD4obV9jb250cm9sRmxvd1Njb3BlU3RhY2suc2l6ZSgp
KSwKICAgICAgICAgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KG1fc3dpdGNoQ29udGV4dFN0YWNrLnNp
emUoKSksCiAgICAgICAgIHN0YXRpY19jYXN0PHVuc2lnbmVkPihtX2ZvckluQ29udGV4dFN0YWNr
LnNpemUoKSksCiAgICAgICAgIHN0YXRpY19jYXN0PHVuc2lnbmVkPihtX3RyeUNvbnRleHRTdGFj
ay5zaXplKCkpLApAQCAtMzcyMSwzMSArMzcyMSwzMSBAQCB2b2lkIEJ5dGVjb2RlR2VuZXJhdG9y
OjpwdXNoSXRlcmF0b3JDbG9zCiAgICAgICAgIG1fbG9jYWxTY29wZURlcHRoCiAgICAgfTsKICAg
ICBzY29wZS5maW5hbGx5Q29udGV4dCA9IGNvbnRleHQ7Ci0gICAgbV9zY29wZUNvbnRleHRTdGFj
ay5hcHBlbmQoc2NvcGUpOworICAgIG1fY29udHJvbEZsb3dTY29wZVN0YWNrLmFwcGVuZChzY29w
ZSk7CiAgICAgbV9maW5hbGx5RGVwdGgrKzsKIH0KIAotdm9pZCBCeXRlY29kZUdlbmVyYXRvcjo6
cG9wRmluYWxseUNvbnRleHQoKQordm9pZCBCeXRlY29kZUdlbmVyYXRvcjo6cG9wRmluYWxseUNv
bnRyb2xGbG93U2NvcGUoKQogewotICAgIEFTU0VSVChtX3Njb3BlQ29udGV4dFN0YWNrLnNpemUo
KSk7Ci0gICAgQVNTRVJUKG1fc2NvcGVDb250ZXh0U3RhY2subGFzdCgpLmlzRmluYWxseUJsb2Nr
KTsKLSAgICBBU1NFUlQobV9zY29wZUNvbnRleHRTdGFjay5sYXN0KCkuZmluYWxseUNvbnRleHQu
ZmluYWxseUJsb2NrKTsKLSAgICBBU1NFUlQoIW1fc2NvcGVDb250ZXh0U3RhY2subGFzdCgpLmZp
bmFsbHlDb250ZXh0Lml0ZXJhdG9yKTsKLSAgICBBU1NFUlQoIW1fc2NvcGVDb250ZXh0U3RhY2su
bGFzdCgpLmZpbmFsbHlDb250ZXh0LmVudW1lcmF0aW9uTm9kZSk7CisgICAgQVNTRVJUKG1fY29u
dHJvbEZsb3dTY29wZVN0YWNrLnNpemUoKSk7CisgICAgQVNTRVJUKG1fY29udHJvbEZsb3dTY29w
ZVN0YWNrLmxhc3QoKS5pc0ZpbmFsbHlCbG9jayk7CisgICAgQVNTRVJUKG1fY29udHJvbEZsb3dT
Y29wZVN0YWNrLmxhc3QoKS5maW5hbGx5Q29udGV4dC5maW5hbGx5QmxvY2spOworICAgIEFTU0VS
VCghbV9jb250cm9sRmxvd1Njb3BlU3RhY2subGFzdCgpLmZpbmFsbHlDb250ZXh0Lml0ZXJhdG9y
KTsKKyAgICBBU1NFUlQoIW1fY29udHJvbEZsb3dTY29wZVN0YWNrLmxhc3QoKS5maW5hbGx5Q29u
dGV4dC5lbnVtZXJhdGlvbk5vZGUpOwogICAgIEFTU0VSVChtX2ZpbmFsbHlEZXB0aCA+IDApOwot
ICAgIG1fc2NvcGVDb250ZXh0U3RhY2sucmVtb3ZlTGFzdCgpOworICAgIG1fY29udHJvbEZsb3dT
Y29wZVN0YWNrLnJlbW92ZUxhc3QoKTsKICAgICBtX2ZpbmFsbHlEZXB0aC0tOwogfQogCi12b2lk
IEJ5dGVjb2RlR2VuZXJhdG9yOjpwb3BJdGVyYXRvckNsb3NlQ29udGV4dCgpCit2b2lkIEJ5dGVj
b2RlR2VuZXJhdG9yOjpwb3BJdGVyYXRvckNsb3NlQ29udHJvbEZsb3dTY29wZSgpCiB7Ci0gICAg
QVNTRVJUKG1fc2NvcGVDb250ZXh0U3RhY2suc2l6ZSgpKTsKLSAgICBBU1NFUlQobV9zY29wZUNv
bnRleHRTdGFjay5sYXN0KCkuaXNGaW5hbGx5QmxvY2spOwotICAgIEFTU0VSVCghbV9zY29wZUNv
bnRleHRTdGFjay5sYXN0KCkuZmluYWxseUNvbnRleHQuZmluYWxseUJsb2NrKTsKLSAgICBBU1NF
UlQobV9zY29wZUNvbnRleHRTdGFjay5sYXN0KCkuZmluYWxseUNvbnRleHQuaXRlcmF0b3IpOwot
ICAgIEFTU0VSVChtX3Njb3BlQ29udGV4dFN0YWNrLmxhc3QoKS5maW5hbGx5Q29udGV4dC5lbnVt
ZXJhdGlvbk5vZGUpOworICAgIEFTU0VSVChtX2NvbnRyb2xGbG93U2NvcGVTdGFjay5zaXplKCkp
OworICAgIEFTU0VSVChtX2NvbnRyb2xGbG93U2NvcGVTdGFjay5sYXN0KCkuaXNGaW5hbGx5Qmxv
Y2spOworICAgIEFTU0VSVCghbV9jb250cm9sRmxvd1Njb3BlU3RhY2subGFzdCgpLmZpbmFsbHlD
b250ZXh0LmZpbmFsbHlCbG9jayk7CisgICAgQVNTRVJUKG1fY29udHJvbEZsb3dTY29wZVN0YWNr
Lmxhc3QoKS5maW5hbGx5Q29udGV4dC5pdGVyYXRvcik7CisgICAgQVNTRVJUKG1fY29udHJvbEZs
b3dTY29wZVN0YWNrLmxhc3QoKS5maW5hbGx5Q29udGV4dC5lbnVtZXJhdGlvbk5vZGUpOwogICAg
IEFTU0VSVChtX2ZpbmFsbHlEZXB0aCA+IDApOwotICAgIG1fc2NvcGVDb250ZXh0U3RhY2sucmVt
b3ZlTGFzdCgpOworICAgIG1fY29udHJvbEZsb3dTY29wZVN0YWNrLnJlbW92ZUxhc3QoKTsKICAg
ICBtX2ZpbmFsbHlEZXB0aC0tOwogfQogCkBAIC0zODQ3LDI0ICszODQ3LDI0IEBAIHZvaWQgQnl0
ZWNvZGVHZW5lcmF0b3I6OmFsbG9jYXRlQW5kRW1pdFMKICAgICBlbWl0TW92ZShtX3RvcE1vc3RT
Y29wZSwgc2NvcGVSZWdpc3RlcigpKTsKIH0KICAgICAKLXZvaWQgQnl0ZWNvZGVHZW5lcmF0b3I6
OmVtaXRDb21wbGV4UG9wU2NvcGVzKFJlZ2lzdGVySUQqIHNjb3BlLCBDb250cm9sRmxvd0NvbnRl
eHQqIHRvcFNjb3BlLCBDb250cm9sRmxvd0NvbnRleHQqIGJvdHRvbVNjb3BlKQordm9pZCBCeXRl
Y29kZUdlbmVyYXRvcjo6ZW1pdENvbXBsZXhQb3BTY29wZXMoUmVnaXN0ZXJJRCogc2NvcGUsIENv
bnRyb2xGbG93U2NvcGUqIHRvcFNjb3BlLCBDb250cm9sRmxvd1Njb3BlKiBib3R0b21TY29wZSkK
IHsKICAgICB3aGlsZSAodG9wU2NvcGUgPiBib3R0b21TY29wZSkgewogICAgICAgICAvLyBGaXJz
dCB3ZSBjb3VudCB0aGUgbnVtYmVyIG9mIGR5bmFtaWMgc2NvcGVzIHdlIG5lZWQgdG8gcmVtb3Zl
IHRvIGdldAogICAgICAgICAvLyB0byBhIGZpbmFsbHkgYmxvY2suCi0gICAgICAgIGludCBuTm9y
bWFsU2NvcGVzID0gMDsKKyAgICAgICAgaW50IG51bWJlck9mTm9ybWFsU2NvcGVzID0gMDsKICAg
ICAgICAgd2hpbGUgKHRvcFNjb3BlID4gYm90dG9tU2NvcGUpIHsKICAgICAgICAgICAgIGlmICh0
b3BTY29wZS0+aXNGaW5hbGx5QmxvY2spCiAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
ICAgICArK25Ob3JtYWxTY29wZXM7CisgICAgICAgICAgICArK251bWJlck9mTm9ybWFsU2NvcGVz
OwogICAgICAgICAgICAgLS10b3BTY29wZTsKICAgICAgICAgfQogCi0gICAgICAgIGlmIChuTm9y
bWFsU2NvcGVzKSB7CisgICAgICAgIGlmIChudW1iZXJPZk5vcm1hbFNjb3BlcykgewogICAgICAg
ICAgICAgLy8gV2UgbmVlZCB0byByZW1vdmUgYSBudW1iZXIgb2YgZHluYW1pYyBzY29wZXMgdG8g
Z2V0IHRvIHRoZSBuZXh0CiAgICAgICAgICAgICAvLyBmaW5hbGx5IGJsb2NrCiAgICAgICAgICAg
ICBSZWZQdHI8UmVnaXN0ZXJJRD4gcGFyZW50U2NvcGUgPSBuZXdUZW1wb3JhcnkoKTsKLSAgICAg
ICAgICAgIHdoaWxlIChuTm9ybWFsU2NvcGVzLS0pIHsKKyAgICAgICAgICAgIHdoaWxlIChudW1i
ZXJPZk5vcm1hbFNjb3Blcy0tKSB7CiAgICAgICAgICAgICAgICAgcGFyZW50U2NvcGUgPSBlbWl0
R2V0UGFyZW50U2NvcGUocGFyZW50U2NvcGUuZ2V0KCksIHNjb3BlKTsKICAgICAgICAgICAgICAg
ICBlbWl0TW92ZShzY29wZSwgcGFyZW50U2NvcGUuZ2V0KCkpOwogICAgICAgICAgICAgfQpAQCAt
Mzg3NCw3ICszODc0LDcgQEAgdm9pZCBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdENvbXBsZXhQb3BT
YwogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgICAgICAKLSAgICAgICAg
VmVjdG9yPENvbnRyb2xGbG93Q29udGV4dD4gc2F2ZWRTY29wZUNvbnRleHRTdGFjazsKKyAgICAg
ICAgVmVjdG9yPENvbnRyb2xGbG93U2NvcGU+IHNhdmVkQ29udHJvbEZsb3dTY29wZVN0YWNrOwog
ICAgICAgICBWZWN0b3I8U3dpdGNoSW5mbz4gc2F2ZWRTd2l0Y2hDb250ZXh0U3RhY2s7CiAgICAg
ICAgIFZlY3RvcjxSZWZQdHI8Rm9ySW5Db250ZXh0Pj4gc2F2ZWRGb3JJbkNvbnRleHRTdGFjazsK
ICAgICAgICAgVmVjdG9yPFRyeUNvbnRleHQ+IHBvcHBlZFRyeUNvbnRleHRzOwpAQCAtMzg4Niw3
ICszODg2LDcgQEAgdm9pZCBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdENvbXBsZXhQb3BTYwogICAg
ICAgICAgICAgLy8gU2F2ZSB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgd29ybGQgd2hpbGUgaW5z
dGF0aW5nIHRoZSBzdGF0ZSBvZiB0aGUgd29ybGQKICAgICAgICAgICAgIC8vIGZvciB0aGUgZmlu
YWxseSBibG9jay4KICAgICAgICAgICAgIEZpbmFsbHlDb250ZXh0IGZpbmFsbHlDb250ZXh0ID0g
dG9wU2NvcGUtPmZpbmFsbHlDb250ZXh0OwotICAgICAgICAgICAgYm9vbCBmbGlwU2NvcGVzID0g
ZmluYWxseUNvbnRleHQuc2NvcGVDb250ZXh0U3RhY2tTaXplICE9IG1fc2NvcGVDb250ZXh0U3Rh
Y2suc2l6ZSgpOworICAgICAgICAgICAgYm9vbCBmbGlwU2NvcGVzID0gZmluYWxseUNvbnRleHQu
Y29udHJvbEZsb3dTY29wZVN0YWNrU2l6ZSAhPSBtX2NvbnRyb2xGbG93U2NvcGVTdGFjay5zaXpl
KCk7CiAgICAgICAgICAgICBib29sIGZsaXBTd2l0Y2hlcyA9IGZpbmFsbHlDb250ZXh0LnN3aXRj
aENvbnRleHRTdGFja1NpemUgIT0gbV9zd2l0Y2hDb250ZXh0U3RhY2suc2l6ZSgpOwogICAgICAg
ICAgICAgYm9vbCBmbGlwRm9ySW5zID0gZmluYWxseUNvbnRleHQuZm9ySW5Db250ZXh0U3RhY2tT
aXplICE9IG1fZm9ySW5Db250ZXh0U3RhY2suc2l6ZSgpOwogICAgICAgICAgICAgYm9vbCBmbGlw
VHJpZXMgPSBmaW5hbGx5Q29udGV4dC50cnlDb250ZXh0U3RhY2tTaXplICE9IG1fdHJ5Q29udGV4
dFN0YWNrLnNpemUoKTsKQEAgLTM4OTUsMTAgKzM4OTUsMTAgQEAgdm9pZCBCeXRlY29kZUdlbmVy
YXRvcjo6ZW1pdENvbXBsZXhQb3BTYwogICAgICAgICAgICAgaW50IHRvcFNjb3BlSW5kZXggPSAt
MTsKICAgICAgICAgICAgIGludCBib3R0b21TY29wZUluZGV4ID0gLTE7CiAgICAgICAgICAgICBp
ZiAoZmxpcFNjb3BlcykgewotICAgICAgICAgICAgICAgIHRvcFNjb3BlSW5kZXggPSB0b3BTY29w
ZSAtIG1fc2NvcGVDb250ZXh0U3RhY2suYmVnaW4oKTsKLSAgICAgICAgICAgICAgICBib3R0b21T
Y29wZUluZGV4ID0gYm90dG9tU2NvcGUgLSBtX3Njb3BlQ29udGV4dFN0YWNrLmJlZ2luKCk7Ci0g
ICAgICAgICAgICAgICAgc2F2ZWRTY29wZUNvbnRleHRTdGFjayA9IG1fc2NvcGVDb250ZXh0U3Rh
Y2s7Ci0gICAgICAgICAgICAgICAgbV9zY29wZUNvbnRleHRTdGFjay5zaHJpbmsoZmluYWxseUNv
bnRleHQuc2NvcGVDb250ZXh0U3RhY2tTaXplKTsKKyAgICAgICAgICAgICAgICB0b3BTY29wZUlu
ZGV4ID0gdG9wU2NvcGUgLSBtX2NvbnRyb2xGbG93U2NvcGVTdGFjay5iZWdpbigpOworICAgICAg
ICAgICAgICAgIGJvdHRvbVNjb3BlSW5kZXggPSBib3R0b21TY29wZSAtIG1fY29udHJvbEZsb3dT
Y29wZVN0YWNrLmJlZ2luKCk7CisgICAgICAgICAgICAgICAgc2F2ZWRDb250cm9sRmxvd1Njb3Bl
U3RhY2sgPSBtX2NvbnRyb2xGbG93U2NvcGVTdGFjazsKKyAgICAgICAgICAgICAgICBtX2NvbnRy
b2xGbG93U2NvcGVTdGFjay5zaHJpbmsoZmluYWxseUNvbnRleHQuY29udHJvbEZsb3dTY29wZVN0
YWNrU2l6ZSk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAoZmxpcFN3aXRjaGVzKSB7
CiAgICAgICAgICAgICAgICAgc2F2ZWRTd2l0Y2hDb250ZXh0U3RhY2sgPSBtX3N3aXRjaENvbnRl
eHRTdGFjazsKQEAgLTM5NDcsOSArMzk0Nyw5IEBAIHZvaWQgQnl0ZWNvZGVHZW5lcmF0b3I6OmVt
aXRDb21wbGV4UG9wU2MKICAgICAgICAgICAgIAogICAgICAgICAgICAgLy8gUmVzdG9yZSB0aGUg
c3RhdGUgb2YgdGhlIHdvcmxkLgogICAgICAgICAgICAgaWYgKGZsaXBTY29wZXMpIHsKLSAgICAg
ICAgICAgICAgICBtX3Njb3BlQ29udGV4dFN0YWNrID0gc2F2ZWRTY29wZUNvbnRleHRTdGFjazsK
LSAgICAgICAgICAgICAgICB0b3BTY29wZSA9ICZtX3Njb3BlQ29udGV4dFN0YWNrW3RvcFNjb3Bl
SW5kZXhdOyAvLyBhc3NlcnQgaXQncyB3aXRoaW4gYm91bmRzCi0gICAgICAgICAgICAgICAgYm90
dG9tU2NvcGUgPSBtX3Njb3BlQ29udGV4dFN0YWNrLmJlZ2luKCkgKyBib3R0b21TY29wZUluZGV4
OyAvLyBkb24ndCBhc3NlcnQsIHNpbmNlIGl0IHRoZSBpbmRleCBtaWdodCBiZSAtMS4KKyAgICAg
ICAgICAgICAgICBtX2NvbnRyb2xGbG93U2NvcGVTdGFjayA9IHNhdmVkQ29udHJvbEZsb3dTY29w
ZVN0YWNrOworICAgICAgICAgICAgICAgIHRvcFNjb3BlID0gJm1fY29udHJvbEZsb3dTY29wZVN0
YWNrW3RvcFNjb3BlSW5kZXhdOyAvLyBhc3NlcnQgaXQncyB3aXRoaW4gYm91bmRzCisgICAgICAg
ICAgICAgICAgYm90dG9tU2NvcGUgPSBtX2NvbnRyb2xGbG93U2NvcGVTdGFjay5iZWdpbigpICsg
Ym90dG9tU2NvcGVJbmRleDsgLy8gZG9uJ3QgYXNzZXJ0LCBzaW5jZSBpdCB0aGUgaW5kZXggbWln
aHQgYmUgLTEuCiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAoZmxpcFN3aXRjaGVzKQog
ICAgICAgICAgICAgICAgIG1fc3dpdGNoQ29udGV4dFN0YWNrID0gc2F2ZWRTd2l0Y2hDb250ZXh0
U3RhY2s7CkBAIC0zOTgxLDcgKzM5ODEsNyBAQCB2b2lkIEJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0
UG9wU2NvcGVzKFJlCiAgICAgQVNTRVJUKGxhYmVsU2NvcGVEZXB0aCgpIC0gdGFyZ2V0U2NvcGVE
ZXB0aCA+PSAwKTsKIAogICAgIHNpemVfdCBzY29wZURlbHRhID0gbGFiZWxTY29wZURlcHRoKCkg
LSB0YXJnZXRTY29wZURlcHRoOwotICAgIEFTU0VSVChzY29wZURlbHRhIDw9IG1fc2NvcGVDb250
ZXh0U3RhY2suc2l6ZSgpKTsKKyAgICBBU1NFUlQoc2NvcGVEZWx0YSA8PSBtX2NvbnRyb2xGbG93
U2NvcGVTdGFjay5zaXplKCkpOwogICAgIGlmICghc2NvcGVEZWx0YSkKICAgICAgICAgcmV0dXJu
OwogCkBAIC0zOTk0LDcgKzM5OTQsNyBAQCB2b2lkIEJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0UG9w
U2NvcGVzKFJlCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBlbWl0Q29tcGxleFBvcFNj
b3BlcyhzY29wZSwgJm1fc2NvcGVDb250ZXh0U3RhY2subGFzdCgpLCAmbV9zY29wZUNvbnRleHRT
dGFjay5sYXN0KCkgLSBzY29wZURlbHRhKTsKKyAgICBlbWl0Q29tcGxleFBvcFNjb3BlcyhzY29w
ZSwgJm1fY29udHJvbEZsb3dTY29wZVN0YWNrLmxhc3QoKSwgJm1fY29udHJvbEZsb3dTY29wZVN0
YWNrLmxhc3QoKSAtIHNjb3BlRGVsdGEpOwogfQogCiBUcnlEYXRhKiBCeXRlY29kZUdlbmVyYXRv
cjo6cHVzaFRyeShMYWJlbCogc3RhcnQpCkBAIC00MTIzLDE5ICs0MTIzLDE5IEBAIHZvaWQgQnl0
ZWNvZGVHZW5lcmF0b3I6OmVtaXRQdXNoRnVuY3Rpb24KICAgICBlbWl0UHV0VG9TY29wZShtX2xl
eGljYWxTY29wZVN0YWNrLmxhc3QoKS5tX3Njb3BlLCBmdW5jdGlvblZhciwgY2FsbGVlLCBUaHJv
d0lmTm90Rm91bmQsIEluaXRpYWxpemF0aW9uTW9kZTo6Tm90SW5pdGlhbGl6YXRpb24pOwogfQog
Ci12b2lkIEJ5dGVjb2RlR2VuZXJhdG9yOjpwdXNoU2NvcGVkQ29udHJvbEZsb3dDb250ZXh0KCkK
K3ZvaWQgQnl0ZWNvZGVHZW5lcmF0b3I6OnB1c2hMb2NhbENvbnRyb2xGbG93U2NvcGUoKQogewot
ICAgIENvbnRyb2xGbG93Q29udGV4dCBjb250ZXh0OwotICAgIGNvbnRleHQuaXNGaW5hbGx5Qmxv
Y2sgPSBmYWxzZTsKLSAgICBtX3Njb3BlQ29udGV4dFN0YWNrLmFwcGVuZChjb250ZXh0KTsKKyAg
ICBDb250cm9sRmxvd1Njb3BlIHNjb3BlOworICAgIHNjb3BlLmlzRmluYWxseUJsb2NrID0gZmFs
c2U7CisgICAgbV9jb250cm9sRmxvd1Njb3BlU3RhY2suYXBwZW5kKHNjb3BlKTsKICAgICBtX2xv
Y2FsU2NvcGVEZXB0aCsrOwogfQogCi12b2lkIEJ5dGVjb2RlR2VuZXJhdG9yOjpwb3BTY29wZWRD
b250cm9sRmxvd0NvbnRleHQoKQordm9pZCBCeXRlY29kZUdlbmVyYXRvcjo6cG9wTG9jYWxDb250
cm9sRmxvd1Njb3BlKCkKIHsKLSAgICBBU1NFUlQobV9zY29wZUNvbnRleHRTdGFjay5zaXplKCkp
OwotICAgIEFTU0VSVCghbV9zY29wZUNvbnRleHRTdGFjay5sYXN0KCkuaXNGaW5hbGx5QmxvY2sp
OwotICAgIG1fc2NvcGVDb250ZXh0U3RhY2sucmVtb3ZlTGFzdCgpOworICAgIEFTU0VSVChtX2Nv
bnRyb2xGbG93U2NvcGVTdGFjay5zaXplKCkpOworICAgIEFTU0VSVCghbV9jb250cm9sRmxvd1Nj
b3BlU3RhY2subGFzdCgpLmlzRmluYWxseUJsb2NrKTsKKyAgICBtX2NvbnRyb2xGbG93U2NvcGVT
dGFjay5yZW1vdmVMYXN0KCk7CiAgICAgbV9sb2NhbFNjb3BlRGVwdGgtLTsKIH0KIApAQCAtNDMw
Myw3ICs0MzAzLDcgQEAgdm9pZCBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdEVudW1lcmF0aW9uKAog
CiAgICAgUmVmUHRyPExhYmVsPiBsb29wRG9uZSA9IG5ld0xhYmVsKCk7CiAgICAgLy8gUmVmUHRy
PFJlZ2lzdGVyPiBpdGVyYXRvcidzIGxpZmV0aW1lIG11c3QgYmUgbG9uZ2VyIHRoYW4gSXRlcmF0
b3JDbG9zZUNvbnRleHQuCi0gICAgcHVzaEl0ZXJhdG9yQ2xvc2VDb250ZXh0KGl0ZXJhdG9yLmdl
dCgpLCBub2RlKTsKKyAgICBwdXNoSXRlcmF0b3JDbG9zZUNvbnRyb2xGbG93U2NvcGUoaXRlcmF0
b3IuZ2V0KCksIG5vZGUpOwogICAgIHsKICAgICAgICAgTGFiZWxTY29wZVB0ciBzY29wZSA9IG5l
d0xhYmVsU2NvcGUoTGFiZWxTY29wZTo6TG9vcCk7CiAgICAgICAgIFJlZlB0cjxSZWdpc3RlcklE
PiB2YWx1ZSA9IG5ld1RlbXBvcmFyeSgpOwpAQCAtNDM2OSw3ICs0MzY5LDcgQEAgdm9pZCBCeXRl
Y29kZUdlbmVyYXRvcjo6ZW1pdEVudW1lcmF0aW9uKAogICAgIH0KIAogICAgIC8vIEl0ZXJhdG9y
Q2xvc2Ugc2VxdWVuY2UgZm9yIGJyZWFrLWVkIGNvbnRyb2wgZmxvdy4KLSAgICBwb3BJdGVyYXRv
ckNsb3NlQ29udGV4dCgpOworICAgIHBvcEl0ZXJhdG9yQ2xvc2VDb250cm9sRmxvd1Njb3BlKCk7
CiAgICAgZW1pdEl0ZXJhdG9yQ2xvc2UoaXRlcmF0b3IuZ2V0KCksIG5vZGUpOwogICAgIGVtaXRM
YWJlbChsb29wRG9uZS5nZXQoKSk7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCShyZXZpc2lvbiAyMDk3
MjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJh
dG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTg0LDcgKzg0LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAg
ICAgICAgIFN0YXRlbWVudE5vZGUqIGZpbmFsbHlCbG9jazsKICAgICAgICAgUmVnaXN0ZXJJRCog
aXRlcmF0b3I7CiAgICAgICAgIFRocm93YWJsZUV4cHJlc3Npb25EYXRhKiBlbnVtZXJhdGlvbk5v
ZGU7Ci0gICAgICAgIHVuc2lnbmVkIHNjb3BlQ29udGV4dFN0YWNrU2l6ZTsKKyAgICAgICAgdW5z
aWduZWQgY29udHJvbEZsb3dTY29wZVN0YWNrU2l6ZTsKICAgICAgICAgdW5zaWduZWQgc3dpdGNo
Q29udGV4dFN0YWNrU2l6ZTsKICAgICAgICAgdW5zaWduZWQgZm9ySW5Db250ZXh0U3RhY2tTaXpl
OwogICAgICAgICB1bnNpZ25lZCB0cnlDb250ZXh0U3RhY2tTaXplOwpAQCAtOTQsNyArOTQsNyBA
QCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgaW50IGR5bmFtaWNTY29wZURlcHRoOwogICAgIH07
CiAKLSAgICBzdHJ1Y3QgQ29udHJvbEZsb3dDb250ZXh0IHsKKyAgICBzdHJ1Y3QgQ29udHJvbEZs
b3dTY29wZSB7CiAgICAgICAgIGJvb2wgaXNGaW5hbGx5QmxvY2s7CiAgICAgICAgIEZpbmFsbHlD
b250ZXh0IGZpbmFsbHlDb250ZXh0OwogICAgIH07CkBAIC03MDAsMTAgKzcwMCwxMCBAQCBuYW1l
c3BhY2UgSlNDIHsKIAogICAgICAgICBib29sIGlzSW5GaW5hbGx5QmxvY2soKSB7IHJldHVybiBt
X2ZpbmFsbHlEZXB0aCA+IDA7IH0KIAotICAgICAgICB2b2lkIHB1c2hGaW5hbGx5Q29udGV4dChT
dGF0ZW1lbnROb2RlKiBmaW5hbGx5QmxvY2spOwotICAgICAgICB2b2lkIHBvcEZpbmFsbHlDb250
ZXh0KCk7Ci0gICAgICAgIHZvaWQgcHVzaEl0ZXJhdG9yQ2xvc2VDb250ZXh0KFJlZ2lzdGVySUQq
IGl0ZXJhdG9yLCBUaHJvd2FibGVFeHByZXNzaW9uRGF0YSogZW51bWVyYXRpb25Ob2RlKTsKLSAg
ICAgICAgdm9pZCBwb3BJdGVyYXRvckNsb3NlQ29udGV4dCgpOworICAgICAgICB2b2lkIHB1c2hG
aW5hbGx5Q29udHJvbEZsb3dTY29wZShTdGF0ZW1lbnROb2RlKiBmaW5hbGx5QmxvY2spOworICAg
ICAgICB2b2lkIHBvcEZpbmFsbHlDb250cm9sRmxvd1Njb3BlKCk7CisgICAgICAgIHZvaWQgcHVz
aEl0ZXJhdG9yQ2xvc2VDb250cm9sRmxvd1Njb3BlKFJlZ2lzdGVySUQqIGl0ZXJhdG9yLCBUaHJv
d2FibGVFeHByZXNzaW9uRGF0YSogZW51bWVyYXRpb25Ob2RlKTsKKyAgICAgICAgdm9pZCBwb3BJ
dGVyYXRvckNsb3NlQ29udHJvbEZsb3dTY29wZSgpOwogCiAgICAgICAgIHZvaWQgcHVzaEluZGV4
ZWRGb3JJblNjb3BlKFJlZ2lzdGVySUQqIGxvY2FsLCBSZWdpc3RlcklEKiBpbmRleCk7CiAgICAg
ICAgIHZvaWQgcG9wSW5kZXhlZEZvckluU2NvcGUoUmVnaXN0ZXJJRCogbG9jYWwpOwpAQCAtNzk3
LDcgKzc5Nyw3IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIHZvaWQgYWxsb2NhdGVDYWxs
ZWVTYXZlU3BhY2UoKTsKICAgICAgICAgdm9pZCBhbGxvY2F0ZUFuZEVtaXRTY29wZSgpOwotICAg
ICAgICB2b2lkIGVtaXRDb21wbGV4UG9wU2NvcGVzKFJlZ2lzdGVySUQqLCBDb250cm9sRmxvd0Nv
bnRleHQqIHRvcFNjb3BlLCBDb250cm9sRmxvd0NvbnRleHQqIGJvdHRvbVNjb3BlKTsKKyAgICAg
ICAgdm9pZCBlbWl0Q29tcGxleFBvcFNjb3BlcyhSZWdpc3RlcklEKiwgQ29udHJvbEZsb3dTY29w
ZSogdG9wU2NvcGUsIENvbnRyb2xGbG93U2NvcGUqIGJvdHRvbVNjb3BlKTsKIAogICAgICAgICB0
eXBlZGVmIEhhc2hNYXA8ZG91YmxlLCBKU1ZhbHVlPiBOdW1iZXJNYXA7CiAgICAgICAgIHR5cGVk
ZWYgSGFzaE1hcDxVbmlxdWVkU3RyaW5nSW1wbCosIEpTU3RyaW5nKiwgSWRlbnRpZmllclJlcEhh
c2g+IElkZW50aWZpZXJTdHJpbmdNYXA7CkBAIC05NDYsMTAgKzk0NiwxMCBAQCBuYW1lc3BhY2Ug
SlNDIHsKICAgICAgICAgY29uc3QgQ29kZVR5cGUgbV9jb2RlVHlwZTsKIAogICAgICAgICBpbnQg
bG9jYWxTY29wZURlcHRoKCkgY29uc3Q7Ci0gICAgICAgIHZvaWQgcHVzaFNjb3BlZENvbnRyb2xG
bG93Q29udGV4dCgpOwotICAgICAgICB2b2lkIHBvcFNjb3BlZENvbnRyb2xGbG93Q29udGV4dCgp
OworICAgICAgICB2b2lkIHB1c2hMb2NhbENvbnRyb2xGbG93U2NvcGUoKTsKKyAgICAgICAgdm9p
ZCBwb3BMb2NhbENvbnRyb2xGbG93U2NvcGUoKTsKIAotICAgICAgICBWZWN0b3I8Q29udHJvbEZs
b3dDb250ZXh0LCAwLCBVbnNhZmVWZWN0b3JPdmVyZmxvdz4gbV9zY29wZUNvbnRleHRTdGFjazsK
KyAgICAgICAgVmVjdG9yPENvbnRyb2xGbG93U2NvcGUsIDAsIFVuc2FmZVZlY3Rvck92ZXJmbG93
PiBtX2NvbnRyb2xGbG93U2NvcGVTdGFjazsKICAgICAgICAgVmVjdG9yPFN3aXRjaEluZm8+IG1f
c3dpdGNoQ29udGV4dFN0YWNrOwogICAgICAgICBWZWN0b3I8UmVmUHRyPEZvckluQ29udGV4dD4+
IG1fZm9ySW5Db250ZXh0U3RhY2s7CiAgICAgICAgIFZlY3RvcjxUcnlDb250ZXh0PiBtX3RyeUNv
bnRleHRTdGFjazsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9k
ZXNDb2RlZ2VuLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
bXBpbGVyL05vZGVzQ29kZWdlbi5jcHAJKHJldmlzaW9uIDIwOTcyMykKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzI4NCw3ICszMjg0LDcgQEAgdm9pZCBUcnlOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVH
ZW5lcgogICAgIGdlbmVyYXRvci5lbWl0TGFiZWwodHJ5U3RhcnRMYWJlbC5nZXQoKSk7CiAgICAg
CiAgICAgaWYgKG1fZmluYWxseUJsb2NrKQotICAgICAgICBnZW5lcmF0b3IucHVzaEZpbmFsbHlD
b250ZXh0KG1fZmluYWxseUJsb2NrKTsKKyAgICAgICAgZ2VuZXJhdG9yLnB1c2hGaW5hbGx5Q29u
dHJvbEZsb3dTY29wZShtX2ZpbmFsbHlCbG9jayk7CiAgICAgVHJ5RGF0YSogdHJ5RGF0YSA9IGdl
bmVyYXRvci5wdXNoVHJ5KHRyeVN0YXJ0TGFiZWwuZ2V0KCkpOwogCiAgICAgZ2VuZXJhdG9yLmVt
aXROb2RlKGRzdCwgbV90cnlCbG9jayk7CkBAIC0zMzIyLDcgKzMzMjIsNyBAQCB2b2lkIFRyeU5v
ZGU6OmVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVyCiAgICAgaWYgKG1fZmluYWxseUJsb2NrKSB7
CiAgICAgICAgIFJlZlB0cjxMYWJlbD4gcHJlRmluYWxseUxhYmVsID0gZ2VuZXJhdG9yLmVtaXRM
YWJlbChnZW5lcmF0b3IubmV3TGFiZWwoKS5nZXQoKSk7CiAgICAgICAgIAotICAgICAgICBnZW5l
cmF0b3IucG9wRmluYWxseUNvbnRleHQoKTsKKyAgICAgICAgZ2VuZXJhdG9yLnBvcEZpbmFsbHlD
b250cm9sRmxvd1Njb3BlKCk7CiAKICAgICAgICAgUmVmUHRyPExhYmVsPiBmaW5hbGx5RW5kTGFi
ZWwgPSBnZW5lcmF0b3IubmV3TGFiZWwoKTsKIAo=
</data>
<flag name="review"
          id="319310"
          type_id="1"
          status="+"
          setter="keith_miller"
    />
          </attachment>
      

    </bug>

</bugzilla>