<?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>137534</bug_id>
          
          <creation_ts>2014-10-08 12:35:26 -0700</creation_ts>
          <short_desc>[Win] Resolve various static analyzer warnings in Tools</short_desc>
          <delta_ts>2014-10-08 13:01:34 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1040387</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-10-08 12:35:26 -0700</bug_when>
    <thetext>The MSVC static analyzer identifier a number of issues with DumpRenderTree and WinLauncher. This patch resolve them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1040391</commentid>
    <comment_count>1</comment_count>
      <attachid>239489</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-10-08 12:49:43 -0700</bug_when>
    <thetext>Created attachment 239489
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1040393</commentid>
    <comment_count>2</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-10-08 13:01:34 -0700</bug_when>
    <thetext>Committed r174471: &lt;http://trac.webkit.org/changeset/174471&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>239489</attachid>
            <date>2014-10-08 12:49:43 -0700</date>
            <delta_ts>2014-10-08 12:52:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137534-20141008125230.patch</filename>
            <type>text/plain</type>
            <size>20090</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDE3NDQ3MCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDQ5IEBACisyMDE0LTEwLTA4ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29t
PgorCisgICAgICAgIFtXaW5dIFJlc29sdmUgdmFyaW91cyBzdGF0aWMgYW5hbHl6ZXIgd2Fybmlu
Z3MgaW4gVG9vbHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMzc1MzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIER1bXBSZW5kZXJUcmVlL2NnL0ltYWdlRGlmZkNHLmNwcDoKKyAgICAgICAgKG1haW4p
OiBVc2VyIHByb3BlciBwcmludGYgc3BlY2lmaWVycy4KKyAgICAgICAgKiBEdW1wUmVuZGVyVHJl
ZS93aW4vQWNjZXNzaWJpbGl0eVVJRWxlbWVudFdpbi5jcHA6CisgICAgICAgIChBY2Nlc3NpYmls
aXR5VUlFbGVtZW50OjpjaGlsZHJlbkNvdW50KTogSGFuZGxlIHBvc3NpYmlsaXR5IHRoYXQKKyAg
ICAgICAgZ2NjX2FjY0NoaWxkQ291bnQgcmV0dXJucyB3aXRoIGFuIGVycm9yLgorICAgICAgICAo
YWNjZXNzaWJpbGl0eVN0YXRlKTogRGl0dG8gZm9yIGdjY19hY2NTdGF0ZS4KKyAgICAgICAgKiBE
dW1wUmVuZGVyVHJlZS93aW4vRFJURGVza3RvcE5vdGlmaWNhdGlvblByZXNlbnRlci5jcHA6Cisg
ICAgICAgIChEUlREZXNrdG9wTm90aWZpY2F0aW9uUHJlc2VudGVyOjpzaG93RGVza3RvcE5vdGlm
aWNhdGlvbik6IFVzZSBwcm9wZXIKKyAgICAgICAgY2hlY2sgZm9yIHJldHVybiB2YWx1ZSBmcm9t
ICdpc0hUTUwnLiBIUkVTVUxUIGlzIG5vdCBhIGJvb2xlYW4gYW5kIGNhbm5vdAorICAgICAgICBi
ZSB0cmVhdGVkIGFzIHN1Y2guCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5k
ZXJUcmVlLmNwcDoKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlV25kUHJvYyk6IEF2b2lkIHBvc3Np
YmxlIGluZmluaXRlIGxvb3Agb24gdGVhcmRvd24gY2F1c2VkCisgICAgICAgIGJ5IGNvbXBhcmlu
ZyBhbiB1bnNpZ25lZCB2YWx1ZSBhcyBiZWluZyBncmVhdGVyLXRoYW4gemVyby4KKyAgICAgICAg
KiBEdW1wUmVuZGVyVHJlZS93aW4vRWRpdGluZ0RlbGVnYXRlLmNwcDoKKyAgICAgICAgKGR1bXAp
OiBQYXNzIHByb3BlciBjaGFyYWN0ZXIgcG9pbnRlciB0eXBlIHRvIHByaW50Zi4KKyAgICAgICAg
KEVkaXRpbmdEZWxlZ2F0ZTo6c2hvdWxkQmVnaW5FZGl0aW5nSW5ET01SYW5nZSk6IERpdHRvLgor
ICAgICAgICAoRWRpdGluZ0RlbGVnYXRlOjpzaG91bGRFbmRFZGl0aW5nSW5ET01SYW5nZSk6IERp
dHRvLgorICAgICAgICAoRWRpdGluZ0RlbGVnYXRlOjpzaG91bGRJbnNlcnROb2RlKTogRGl0dG8u
CisgICAgICAgIChFZGl0aW5nRGVsZWdhdGU6OnNob3VsZEluc2VydFRleHQpOiBEaXR0by4KKyAg
ICAgICAgKEVkaXRpbmdEZWxlZ2F0ZTo6c2hvdWxkRGVsZXRlRE9NUmFuZ2UpOiBEaXR0by4KKyAg
ICAgICAgKEVkaXRpbmdEZWxlZ2F0ZTo6c2hvdWxkQ2hhbmdlU2VsZWN0ZWRET01SYW5nZSk6IERp
dHRvLgorICAgICAgICAoRWRpdGluZ0RlbGVnYXRlOjpzaG91bGRBcHBseVN0eWxlKTogRGl0dG8u
CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvd2luL0V2ZW50U2VuZGVyLmNwcDoKKyAgICAgICAg
KGJlZ2luRHJhZ1dpdGhGaWxlc0NhbGxiYWNrKTogSGFuZGxlIHBvc3NpYmxlIGVycm9yIGNhc2Ug
Zm9yIEdsb2JhbEFsbG9jLgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9FdmVudFNlbmRl
ci5oOiBBZGQgcHJvcGVyIGRlY2xhcmF0aW9uIGZvciBIUkVTVUxUIHRvIG1hdGNoCisgICAgICAg
IHN5c3RlbSBoZWFkZXJzLgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9QaXhlbER1bXBT
dXBwb3J0V2luLmNwcDogSGFuZGxlIHBvc3NpYmxlIGZhaWx1cmUKKyAgICAgICAgZnJvbSBDcmVh
dGVESUJTZWN0aW9uLgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9VSURlbGVnYXRlLmNw
cDogRW5zdXJlIHByb3BlciB0eXBlIGlzIHBhc3NlZCB0byBwcmludGYuCisgICAgICAgICogVGVz
dFdlYktpdEFQSS9UZXN0cy9XVEYvTWVkaWFUaW1lLmNwcDogR2V0IHJpZCBvZiB3b3JrYXJvdW5k
IGZvciBOYU4gdW5kZXIKKyAgICAgICAgb2xkZXIgdmVyc2lvbnMgb2YgTVNWQyB3ZSBubyBsb25n
ZXIgc3VwcG9ydC4KKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC93aW4vV2Vi
Vmlld0Rlc3RydWN0aW9uLmNwcDogVXNlIHByb3BlciB0eXBlcyBhbmQgQVBJCisgICAgICAgIGZv
ciA2NC1iaXQgYnVpbGRzLgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHNDb250cm9sbGVy
LmNwcDogVXNlIE5ldmVyRGVzdHJveWVkIGxpa2UgYSBnb29kIGNpdGl6ZW4uCisgICAgICAgICog
VGVzdFdlYktpdEFQSS9UZXN0c0NvbnRyb2xsZXIuaDogRGl0dG8uCisgICAgICAgICogV2luTGF1
bmNoZXIvQ29tbW9uLmNwcDogSGFuZGxlIHBvc3NpYmxlIGZhaWx1cmUgZnJvbSBHZXRNb2R1bGVG
aWxlTmFtZS4KKyAgICAgICAgKiBXaW5MYXVuY2hlci9XaW5MYXVuY2hlci5jcHA6IE1ha2Ugb3Jk
ZXIgb2Ygb3BlcmF0aW9ucyBleHBsaWNpdCB0byBhdm9pZAorICAgICAgICBwZXJmb3JtaW5nIGJp
dHdpc2UgfCBiZWZvcmUgdGhlIGNvbXBhcmlzb24gaXMgZG9uZS4KKwogMjAxNC0xMC0wOCAgQWRh
IENoYW4gIDxhZGFjaGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgYSB0ZXN0IGZvciBXS1Bh
Z2VJc1BsYXlpbmdBdWRpbygpLgpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvY2cvSW1hZ2VE
aWZmQ0cuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL2NnL0ltYWdlRGlm
ZkNHLmNwcAkocmV2aXNpb24gMTc0NDY1KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvY2cvSW1h
Z2VEaWZmQ0cuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMjMsMTEgKzIyMywxNSBAQCBpbnQgbWFp
bihpbnQgYXJnYywgY29uc3QgY2hhciogYXJndltdKQogICAgICAgICAgICAgICAgICAgICBkaWZm
ZXJlbmNlID0gbWF4KGRpZmZlcmVuY2UsIDAuMDFmKTsgLy8gcm91bmQgdG8gMiBkZWNpbWFsIHBs
YWNlcwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAg
ICAgICAgaWYgKENHSW1hZ2VHZXRXaWR0aChhY3R1YWxJbWFnZS5nZXQoKSkgIT0gQ0dJbWFnZUdl
dFdpZHRoKGJhc2VsaW5lSW1hZ2UuZ2V0KCkpIHx8IENHSW1hZ2VHZXRIZWlnaHQoYWN0dWFsSW1h
Z2UuZ2V0KCkpICE9IENHSW1hZ2VHZXRIZWlnaHQoYmFzZWxpbmVJbWFnZS5nZXQoKSkpCi0gICAg
ICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiRXJyb3I6IHRlc3QgYW5kIHJlZmVyZW5j
ZSBpbWFnZXMgaGF2ZSBkaWZmZXJlbnQgc2l6ZXMuIFRlc3QgaW1hZ2UgaXMgJWx1eCVsdSwgcmVm
ZXJlbmNlIGltYWdlIGlzICVsdXglbHVcbiIsCisgICAgICAgICAgICAgICAgaWYgKENHSW1hZ2VH
ZXRXaWR0aChhY3R1YWxJbWFnZS5nZXQoKSkgIT0gQ0dJbWFnZUdldFdpZHRoKGJhc2VsaW5lSW1h
Z2UuZ2V0KCkpIHx8IENHSW1hZ2VHZXRIZWlnaHQoYWN0dWFsSW1hZ2UuZ2V0KCkpICE9IENHSW1h
Z2VHZXRIZWlnaHQoYmFzZWxpbmVJbWFnZS5nZXQoKSkpIHsKKyNpZiBPUyhXSU5ET1dTKQorICAg
ICAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkVycm9yOiB0ZXN0IGFuZCByZWZlcmVu
Y2UgaW1hZ2VzIGhhdmUgZGlmZmVyZW50IHNpemVzLiBUZXN0IGltYWdlIGlzICV6dXglenUsIHJl
ZmVyZW5jZSBpbWFnZSBpcyAlSXV4JUl1XG4iLAorI2Vsc2UKKyAgICAgICAgICAgICAgICAgICAg
ZnByaW50ZihzdGRlcnIsICJFcnJvcjogdGVzdCBhbmQgcmVmZXJlbmNlIGltYWdlcyBoYXZlIGRp
ZmZlcmVudCBzaXplcy4gVGVzdCBpbWFnZSBpcyAlenV4JXp1LCByZWZlcmVuY2UgaW1hZ2UgaXMg
JXp1eCV6dVxuIiwKKyNlbmRpZgogICAgICAgICAgICAgICAgICAgICAgICAgQ0dJbWFnZUdldFdp
ZHRoKGFjdHVhbEltYWdlLmdldCgpKSwgQ0dJbWFnZUdldEhlaWdodChhY3R1YWxJbWFnZS5nZXQo
KSksCiAgICAgICAgICAgICAgICAgICAgICAgICBDR0ltYWdlR2V0V2lkdGgoYmFzZWxpbmVJbWFn
ZS5nZXQoKSksIENHSW1hZ2VHZXRIZWlnaHQoYmFzZWxpbmVJbWFnZS5nZXQoKSkpOwotICAgICAg
ICAgICAgICAgIGVsc2UgaWYgKGltYWdlSGFzQWxwaGEoYWN0dWFsSW1hZ2UuZ2V0KCkpICE9IGlt
YWdlSGFzQWxwaGEoYmFzZWxpbmVJbWFnZS5nZXQoKSkpCisgICAgICAgICAgICAgICAgfSBlbHNl
IGlmIChpbWFnZUhhc0FscGhhKGFjdHVhbEltYWdlLmdldCgpKSAhPSBpbWFnZUhhc0FscGhhKGJh
c2VsaW5lSW1hZ2UuZ2V0KCkpKQogICAgICAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwg
IkVycm9yOiB0ZXN0IGFuZCByZWZlcmVuY2UgaW1hZ2VzIGRpZmZlciBpbiBhbHBoYS4gVGVzdCBp
bWFnZSAlcyBhbHBoYSwgcmVmZXJlbmNlIGltYWdlICVzIGFscGhhLlxuIiwKICAgICAgICAgICAg
ICAgICAgICAgICAgIGltYWdlSGFzQWxwaGEoYWN0dWFsSW1hZ2UuZ2V0KCkpID8gImhhcyIgOiAi
ZG9lcyBub3QgaGF2ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZUhhc0FscGhhKGJh
c2VsaW5lSW1hZ2UuZ2V0KCkpID8gImhhcyIgOiAiZG9lcyBub3QgaGF2ZSIpOwpAQCAtMjM5LDcg
KzI0MywxMSBAQCBpbnQgbWFpbihpbnQgYXJnYywgY29uc3QgY2hhciogYXJndltdKQogICAgICAg
ICAgICAgICAgICAgICBSZXRhaW5QdHI8Q0dJbWFnZURlc3RpbmF0aW9uUmVmPiBpbWFnZURlc3Qg
PSBhZG9wdENGKENHSW1hZ2VEZXN0aW5hdGlvbkNyZWF0ZVdpdGhEYXRhKGltYWdlRGF0YS5nZXQo
KSwga1VUVHlwZVBORywgMSwgMCkpOwogICAgICAgICAgICAgICAgICAgICBDR0ltYWdlRGVzdGlu
YXRpb25BZGRJbWFnZShpbWFnZURlc3QuZ2V0KCksIGRpZmZJbWFnZS5nZXQoKSwgMCk7CiAgICAg
ICAgICAgICAgICAgICAgIENHSW1hZ2VEZXN0aW5hdGlvbkZpbmFsaXplKGltYWdlRGVzdC5nZXQo
KSk7Ci0gICAgICAgICAgICAgICAgICAgIHByaW50ZigiQ29udGVudC1MZW5ndGg6ICVsdVxuIiwg
Q0ZEYXRhR2V0TGVuZ3RoKGltYWdlRGF0YS5nZXQoKSkpOworI2lmIE9TKFdJTkRPV1MpCisgICAg
ICAgICAgICAgICAgICAgIHByaW50ZigiQ29udGVudC1MZW5ndGg6ICVJdVxuIiwgc3RhdGljX2Nh
c3Q8c2l6ZV90PihDRkRhdGFHZXRMZW5ndGgoaW1hZ2VEYXRhLmdldCgpKSkpOworI2Vsc2UKKyAg
ICAgICAgICAgICAgICAgICAgcHJpbnRmKCJDb250ZW50LUxlbmd0aDogJXp1XG4iLCBzdGF0aWNf
Y2FzdDxzaXplX3Q+KENGRGF0YUdldExlbmd0aChpbWFnZURhdGEuZ2V0KCkpKSk7CisjZW5kaWYK
ICAgICAgICAgICAgICAgICAgICAgZndyaXRlKENGRGF0YUdldEJ5dGVQdHIoaW1hZ2VEYXRhLmdl
dCgpKSwgMSwgQ0ZEYXRhR2V0TGVuZ3RoKGltYWdlRGF0YS5nZXQoKSksIHN0ZG91dCk7CiAgICAg
ICAgICAgICAgICAgfQogCkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vQWNjZXNzaWJp
bGl0eVVJRWxlbWVudFdpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUv
d2luL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRXaW4uY3BwCShyZXZpc2lvbiAxNzQ0NjUpCisrKyBU
b29scy9EdW1wUmVuZGVyVHJlZS93aW4vQWNjZXNzaWJpbGl0eVVJRWxlbWVudFdpbi5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTExMyw3ICsxMTMsOSBAQCBpbnQgQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6Y2hpbGRyZW5Db3VuCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgbG9uZyBjaGlsZENvdW50
OwotICAgIG1fZWxlbWVudC0+Z2V0X2FjY0NoaWxkQ291bnQoJmNoaWxkQ291bnQpOworICAgIGlm
IChGQUlMRUQobV9lbGVtZW50LT5nZXRfYWNjQ2hpbGRDb3VudCgmY2hpbGRDb3VudCkpKQorICAg
ICAgICByZXR1cm4gMDsKKwogICAgIHJldHVybiBjaGlsZENvdW50OwogfQogCkBAIC0zOTgsNyAr
NDAwLDggQEAgSlNTdHJpbmdSZWYgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dmFsdQogc3RhdGlj
IERXT1JEIGFjY2Vzc2liaWxpdHlTdGF0ZShDT01QdHI8SUFjY2Vzc2libGU+IGVsZW1lbnQpCiB7
CiAgICAgVkFSSUFOVCBzdGF0ZTsKLSAgICBlbGVtZW50LT5nZXRfYWNjU3RhdGUoc2VsZigpLCAm
c3RhdGUpOworICAgIGlmIChGQUlMRUQoZWxlbWVudC0+Z2V0X2FjY1N0YXRlKHNlbGYoKSwgJnN0
YXRlKSkpCisgICAgICAgIHJldHVybiAwOwogCiAgICAgQVNTRVJUKFZfVlQoJnN0YXRlKSA9PSBW
VF9JNCk7CiAKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EUlREZXNrdG9wTm90aWZp
Y2F0aW9uUHJlc2VudGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS93
aW4vRFJURGVza3RvcE5vdGlmaWNhdGlvblByZXNlbnRlci5jcHAJKHJldmlzaW9uIDE3NDQ2NSkK
KysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EUlREZXNrdG9wTm90aWZpY2F0aW9uUHJlc2Vu
dGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzUsNyArNzUsNyBAQCBIUkVTVUxUIERSVERlc2t0
b3BOb3RpZmljYXRpb25QcmVzZW50ZXI6CiAgICAgX2JzdHJfdCB0aXRsZSwgdGV4dCwgdXJsOwog
ICAgIEJPT0wgaHRtbDsKIAotICAgIGlmICghbm90aWZpY2F0aW9uLT5pc0hUTUwoJmh0bWwpICYm
IGh0bWwpIHsKKyAgICBpZiAoU1VDQ0VFREVEKG5vdGlmaWNhdGlvbi0+aXNIVE1MKCZodG1sKSkg
JiYgaHRtbCkgewogICAgICAgICBub3RpZmljYXRpb24tPmNvbnRlbnRzVVJMKCZ1cmwuR2V0QlNU
UigpKTsgICAgCiAgICAgICAgIHByaW50ZigiREVTS1RPUCBOT1RJRklDQVRJT046IGNvbnRlbnRz
IGF0ICVTXG4iLCBzdGF0aWNfY2FzdDx3Y2hhcl90Kj4odXJsKSk7CiAgICAgfSBlbHNlIHsKSW5k
ZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcAkocmV2aXNp
b24gMTc0NDY1KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMjQxLDcgKzI0MSw3IEBAIHN0YXRpYyBMUkVTVUxUIENBTExC
QUNLIER1bXBSZW5kZXJUcmVlV24KIHsKICAgICBzd2l0Y2ggKG1zZykgewogICAgICAgICBjYXNl
IFdNX0RFU1RST1k6Ci0gICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBvcGVuV2luZG93cygp
LnNpemUoKSAtIDE7IGkgPj0gMDsgLS1pKSB7CisgICAgICAgICAgICBmb3IgKGxvbmcgaSA9IG9w
ZW5XaW5kb3dzKCkuc2l6ZSgpIC0gMTsgaSA+PSAwOyAtLWkpIHsKICAgICAgICAgICAgICAgICBp
ZiAob3BlbldpbmRvd3MoKVtpXSA9PSBoV25kKSB7CiAgICAgICAgICAgICAgICAgICAgIG9wZW5X
aW5kb3dzKCkucmVtb3ZlKGkpOwogICAgICAgICAgICAgICAgICAgICB3aW5kb3dUb1dlYlZpZXdN
YXAoKS5yZW1vdmUoaFduZCk7CkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRWRpdGlu
Z0RlbGVnYXRlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRWRp
dGluZ0RlbGVnYXRlLmNwcAkocmV2aXNpb24gMTc0NDY1KQorKysgVG9vbHMvRHVtcFJlbmRlclRy
ZWUvd2luL0VkaXRpbmdEZWxlZ2F0ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExNCw3ICsxMTQs
NyBAQCBzdGF0aWMgd3N0cmluZyBkdW1wKElET01SYW5nZSogcmFuZ2UpCiAgICAgICAgIHJldHVy
biAwOwogCiAgICAgd2NoYXJfdCBidWZmZXJbMTAyNF07Ci0gICAgX3Nud3ByaW50ZihidWZmZXIs
IEFSUkFZU0laRShidWZmZXIpLCBMInJhbmdlIGZyb20gJWxkIG9mICVzIHRvICVsZCBvZiAlcyIs
IHN0YXJ0T2Zmc2V0LCBkdW1wUGF0aChzdGFydENvbnRhaW5lci5nZXQoKSksIGVuZE9mZnNldCwg
ZHVtcFBhdGgoZW5kQ29udGFpbmVyLmdldCgpKSk7CisgICAgX3Nud3ByaW50ZihidWZmZXIsIEFS
UkFZU0laRShidWZmZXIpLCBMInJhbmdlIGZyb20gJWxkIG9mICVzIHRvICVsZCBvZiAlcyIsIHN0
YXJ0T2Zmc2V0LCBkdW1wUGF0aChzdGFydENvbnRhaW5lci5nZXQoKSkuY19zdHIoKSwgZW5kT2Zm
c2V0LCBkdW1wUGF0aChlbmRDb250YWluZXIuZ2V0KCkpLmNfc3RyKCkpOwogICAgIHJldHVybiBi
dWZmZXI7CiB9CiAKQEAgLTEyNiw3ICsxMjYsNyBAQCBIUkVTVUxUIEVkaXRpbmdEZWxlZ2F0ZTo6
c2hvdWxkQmVnaW5FZGl0CiAgICAgfQogCiAgICAgaWYgKDo6Z1Rlc3RSdW5uZXItPmR1bXBFZGl0
aW5nQ2FsbGJhY2tzKCkgJiYgIWRvbmUpCi0gICAgICAgIF90cHJpbnRmKFRFWFQoIkVESVRJTkcg
REVMRUdBVEU6IHNob3VsZEJlZ2luRWRpdGluZ0luRE9NUmFuZ2U6JXNcbiIpLCBkdW1wKHJhbmdl
KSk7CisgICAgICAgIF90cHJpbnRmKFRFWFQoIkVESVRJTkcgREVMRUdBVEU6IHNob3VsZEJlZ2lu
RWRpdGluZ0luRE9NUmFuZ2U6JXNcbiIpLCBkdW1wKHJhbmdlKS5jX3N0cigpKTsKIAogICAgICpy
ZXN1bHQgPSBtX2FjY2VwdHNFZGl0aW5nOwogICAgIHJldHVybiBTX09LOwpAQCAtMTQwLDcgKzE0
MCw3IEBAIEhSRVNVTFQgRWRpdGluZ0RlbGVnYXRlOjpzaG91bGRFbmRFZGl0aW4KICAgICB9CiAK
ICAgICBpZiAoOjpnVGVzdFJ1bm5lci0+ZHVtcEVkaXRpbmdDYWxsYmFja3MoKSAmJiAhZG9uZSkK
LSAgICAgICAgX3RwcmludGYoVEVYVCgiRURJVElORyBERUxFR0FURTogc2hvdWxkRW5kRWRpdGlu
Z0luRE9NUmFuZ2U6JXNcbiIpLCBkdW1wKHJhbmdlKSk7CisgICAgICAgIF90cHJpbnRmKFRFWFQo
IkVESVRJTkcgREVMRUdBVEU6IHNob3VsZEVuZEVkaXRpbmdJbkRPTVJhbmdlOiVzXG4iKSwgZHVt
cChyYW5nZSkuY19zdHIoKSk7CiAKICAgICAqcmVzdWx0ID0gbV9hY2NlcHRzRWRpdGluZzsKICAg
ICByZXR1cm4gU19PSzsKQEAgLTE1NSw3ICsxNTUsNyBAQCBIUkVTVUxUIEVkaXRpbmdEZWxlZ2F0
ZTo6c2hvdWxkSW5zZXJ0Tm9kCiAgICAgfTsKIAogICAgIGlmICg6OmdUZXN0UnVubmVyLT5kdW1w
RWRpdGluZ0NhbGxiYWNrcygpICYmICFkb25lKQotICAgICAgICBfdHByaW50ZihURVhUKCJFRElU
SU5HIERFTEVHQVRFOiBzaG91bGRJbnNlcnROb2RlOiVzIHJlcGxhY2luZ0RPTVJhbmdlOiVzIGdp
dmVuQWN0aW9uOiVzXG4iKSwgZHVtcFBhdGgobm9kZSksIGR1bXAocmFuZ2UpLCBpbnNlcnRhY3Rp
b25zdHJpbmdbYWN0aW9uXSk7CisgICAgICAgIF90cHJpbnRmKFRFWFQoIkVESVRJTkcgREVMRUdB
VEU6IHNob3VsZEluc2VydE5vZGU6JXMgcmVwbGFjaW5nRE9NUmFuZ2U6JXMgZ2l2ZW5BY3Rpb246
JXNcbiIpLCBkdW1wUGF0aChub2RlKS5jX3N0cigpLCBkdW1wKHJhbmdlKS5jX3N0cigpLCBpbnNl
cnRhY3Rpb25zdHJpbmdbYWN0aW9uXSk7CiAKICAgICByZXR1cm4gU19PSzsKIH0KQEAgLTE3NCw3
ICsxNzQsNyBAQCBIUkVTVUxUIEVkaXRpbmdEZWxlZ2F0ZTo6c2hvdWxkSW5zZXJ0VGV4CiAgICAg
fTsKIAogICAgIGlmICg6OmdUZXN0UnVubmVyLT5kdW1wRWRpdGluZ0NhbGxiYWNrcygpICYmICFk
b25lKQotICAgICAgICBfdHByaW50ZihURVhUKCJFRElUSU5HIERFTEVHQVRFOiBzaG91bGRJbnNl
cnRUZXh0OiVzIHJlcGxhY2luZ0RPTVJhbmdlOiVzIGdpdmVuQWN0aW9uOiVzXG4iKSwgdGV4dCA/
IHRleHQgOiBURVhUKCIiKSwgZHVtcChyYW5nZSksIGluc2VydGFjdGlvbnN0cmluZ1thY3Rpb25d
KTsKKyAgICAgICAgX3RwcmludGYoVEVYVCgiRURJVElORyBERUxFR0FURTogc2hvdWxkSW5zZXJ0
VGV4dDolcyByZXBsYWNpbmdET01SYW5nZTolcyBnaXZlbkFjdGlvbjolc1xuIiksIHRleHQgPyB0
ZXh0IDogVEVYVCgiIiksIGR1bXAocmFuZ2UpLmNfc3RyKCksIGluc2VydGFjdGlvbnN0cmluZ1th
Y3Rpb25dKTsKIAogICAgICpyZXN1bHQgPSBtX2FjY2VwdHNFZGl0aW5nOwogICAgIHJldHVybiBT
X09LOwpAQCAtMTg4LDcgKzE4OCw3IEBAIEhSRVNVTFQgRWRpdGluZ0RlbGVnYXRlOjpzaG91bGRE
ZWxldGVET00KICAgICB9CiAKICAgICBpZiAoOjpnVGVzdFJ1bm5lci0+ZHVtcEVkaXRpbmdDYWxs
YmFja3MoKSAmJiAhZG9uZSkKLSAgICAgICAgX3RwcmludGYoVEVYVCgiRURJVElORyBERUxFR0FU
RTogc2hvdWxkRGVsZXRlRE9NUmFuZ2U6JXNcbiIpLCBkdW1wKHJhbmdlKSk7CisgICAgICAgIF90
cHJpbnRmKFRFWFQoIkVESVRJTkcgREVMRUdBVEU6IHNob3VsZERlbGV0ZURPTVJhbmdlOiVzXG4i
KSwgZHVtcChyYW5nZSkuY19zdHIoKSk7CiAKICAgICAqcmVzdWx0ID0gbV9hY2NlcHRzRWRpdGlu
ZzsKICAgICByZXR1cm4gU19PSzsKQEAgLTIxMiw3ICsyMTIsNyBAQCBIUkVTVUxUIEVkaXRpbmdE
ZWxlZ2F0ZTo6c2hvdWxkQ2hhbmdlU2VsCiAgICAgfTsKIAogICAgIGlmICg6OmdUZXN0UnVubmVy
LT5kdW1wRWRpdGluZ0NhbGxiYWNrcygpICYmICFkb25lKQotICAgICAgICBfdHByaW50ZihURVhU
KCJFRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdlOiVzIHRvRE9N
UmFuZ2U6JXMgYWZmaW5pdHk6JXMgc3RpbGxTZWxlY3Rpbmc6JXNcbiIpLCBkdW1wKGN1cnJlbnRS
YW5nZSksIGR1bXAocHJvcG9zZWRSYW5nZSksIGFmZmluaXR5c3RyaW5nW3NlbGVjdGlvbkFmZmlu
aXR5XSwgYm9vbHN0cmluZ1tzdGlsbFNlbGVjdGluZ10pOworICAgICAgICBfdHByaW50ZihURVhU
KCJFRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdlOiVzIHRvRE9N
UmFuZ2U6JXMgYWZmaW5pdHk6JXMgc3RpbGxTZWxlY3Rpbmc6JXNcbiIpLCBkdW1wKGN1cnJlbnRS
YW5nZSkuY19zdHIoKSwgZHVtcChwcm9wb3NlZFJhbmdlKS5jX3N0cigpLCBhZmZpbml0eXN0cmlu
Z1tzZWxlY3Rpb25BZmZpbml0eV0sIGJvb2xzdHJpbmdbc3RpbGxTZWxlY3RpbmddKTsKIAogICAg
ICpyZXN1bHQgPSBtX2FjY2VwdHNFZGl0aW5nOwogICAgIHJldHVybiBTX09LOwpAQCAtMjI2LDcg
KzIyNiw3IEBAIEhSRVNVTFQgRWRpdGluZ0RlbGVnYXRlOjpzaG91bGRBcHBseVN0eWwKICAgICB9
CiAKICAgICBpZiAoOjpnVGVzdFJ1bm5lci0+ZHVtcEVkaXRpbmdDYWxsYmFja3MoKSAmJiAhZG9u
ZSkKLSAgICAgICAgX3RwcmludGYoVEVYVCgiRURJVElORyBERUxFR0FURTogc2hvdWxkQXBwbHlT
dHlsZTolcyB0b0VsZW1lbnRzSW5ET01SYW5nZTolc1xuIiksIFRFWFQoIidzdHlsZSBkZXNjcmlw
dGlvbiciKS8qW1tzdHlsZSBkZXNjcmlwdGlvbl0gVVRGOFN0cmluZ10qLywgZHVtcChyYW5nZSkp
OworICAgICAgICBfdHByaW50ZihURVhUKCJFRElUSU5HIERFTEVHQVRFOiBzaG91bGRBcHBseVN0
eWxlOiVzIHRvRWxlbWVudHNJbkRPTVJhbmdlOiVzXG4iKSwgVEVYVCgiJ3N0eWxlIGRlc2NyaXB0
aW9uJyIpLypbW3N0eWxlIGRlc2NyaXB0aW9uXSBVVEY4U3RyaW5nXSovLCBkdW1wKHJhbmdlKS5j
X3N0cigpKTsKIAogICAgICpyZXN1bHQgPSBtX2FjY2VwdHNFZGl0aW5nOwogICAgIHJldHVybiBT
X09LOwpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0V2ZW50U2VuZGVyLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRXZlbnRTZW5kZXIuY3BwCShyZXZp
c2lvbiAxNzQ0NjUpCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRXZlbnRTZW5kZXIuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC02OTYsNiArNjk2LDkgQEAgc3RhdGljIEpTVmFsdWVSZWYgYmVn
aW5EcmFnV2l0aEZpbGVzQ2FsbAogICAgIGhEcm9wTWVkaXVtLnR5bWVkID0gVFlNRURfSEdMT0JB
TDsKICAgICBTSVpFX1QgZHJvcEZpbGVzU2l6ZSA9IHNpemVvZihEUk9QRklMRVMpICsgKHNpemVv
ZihXQ0hBUikgKiBmaWxlcy5zaXplKCkpOwogICAgIGhEcm9wTWVkaXVtLmhHbG9iYWwgPSBHbG9i
YWxBbGxvYyhHTUVNX01PVkVBQkxFIHwgR01FTV9EREVTSEFSRSwgZHJvcEZpbGVzU2l6ZSk7Cisg
ICAgaWYgKCFoRHJvcE1lZGl1bS5oR2xvYmFsKQorICAgICAgICByZXR1cm4gSlNWYWx1ZU1ha2VV
bmRlZmluZWQoY29udGV4dCk7CisKICAgICBEUk9QRklMRVMqIGRyb3BGaWxlcyA9IHJlaW50ZXJw
cmV0X2Nhc3Q8RFJPUEZJTEVTKj4oR2xvYmFsTG9jayhoRHJvcE1lZGl1bS5oR2xvYmFsKSk7CiAg
ICAgbWVtc2V0KGRyb3BGaWxlcywgMCwgc2l6ZW9mKERST1BGSUxFUykpOwogICAgIGRyb3BGaWxl
cy0+cEZpbGVzID0gc2l6ZW9mKERST1BGSUxFUyk7CkBAIC03MTAsNiArNzEzLDkgQEAgc3RhdGlj
IEpTVmFsdWVSZWYgYmVnaW5EcmFnV2l0aEZpbGVzQ2FsbAogICAgIGhGaWxlTmFtZU1lZGl1bS50
eW1lZCA9IFRZTUVEX0hHTE9CQUw7CiAgICAgU0laRV9UIGhGaWxlTmFtZVNpemUgPSBzaXplb2Yo
V0NIQVIpICogZmlsZXMuc2l6ZSgpOwogICAgIGhGaWxlTmFtZU1lZGl1bS5oR2xvYmFsID0gR2xv
YmFsQWxsb2MoR01FTV9NT1ZFQUJMRSB8IEdNRU1fRERFU0hBUkUsIGhGaWxlTmFtZVNpemUpOwor
ICAgIGlmICghaEZpbGVOYW1lTWVkaXVtLmhHbG9iYWwpCisgICAgICAgIHJldHVybiBKU1ZhbHVl
TWFrZVVuZGVmaW5lZChjb250ZXh0KTsKKwogICAgIFdDSEFSKiBoRmlsZU5hbWUgPSBzdGF0aWNf
Y2FzdDxXQ0hBUio+KEdsb2JhbExvY2soaEZpbGVOYW1lTWVkaXVtLmhHbG9iYWwpKTsKICAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IGZpbGVzLnNpemUoKTsgaSsrKQogICAgICAgICBoRmlsZU5h
bWVbaV0gPSBmaWxlc1tpXTsKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9FdmVudFNl
bmRlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9FdmVudFNlbmRl
ci5oCShyZXZpc2lvbiAxNzQ0NjUpCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRXZlbnRT
ZW5kZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsMTMgQEAKIAogY2xhc3MgRHJhZ2dp
bmdJbmZvOwogCi10eXBlZGVmIGxvbmcgSFJFU1VMVDsKKyNpZmRlZiBfX21pZGwKK3R5cGVkZWYg
TE9ORyBIUkVTVUxUOworI2Vsc2UKKyNpbmNsdWRlIDxzYWwuaD4KK3R5cGVkZWYgX1JldHVybl90
eXBlX3N1Y2Nlc3NfKHJldHVybiA+PSAwKSBsb25nIEhSRVNVTFQ7CisjZW5kaWYgLy8gX19taWRs
CisKIHR5cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1ZUpTQ29udGV4dCogSlNDb250ZXh0UmVmOwog
dHlwZWRlZiBzdHJ1Y3QgT3BhcXVlSlNWYWx1ZSogSlNPYmplY3RSZWY7CiAKSW5kZXg6IFRvb2xz
L0R1bXBSZW5kZXJUcmVlL3dpbi9QaXhlbER1bXBTdXBwb3J0V2luLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vUGl4ZWxEdW1wU3VwcG9ydFdpbi5jcHAJKHJldmlz
aW9uIDE3NDQ2NSkKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9QaXhlbER1bXBTdXBwb3J0
V2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTgsNyArNTgsNyBAQCBQYXNzUmVmUHRyPEJpdG1h
cENvbnRleHQ+IGNyZWF0ZUJpdG1hcENvCiB7CiAgICAgUkVDVCBmcmFtZTsKICAgICBpZiAoIUdl
dFdpbmRvd1JlY3Qod2ViVmlld1dpbmRvdywgJmZyYW1lKSkKLSAgICAgICAgcmV0dXJuIDA7Cisg
ICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgQklUTUFQSU5GTyBibXAgPSB7MH07CiAgICAg
Ym1wLmJtaUhlYWRlci5iaVNpemUgPSBzaXplb2YoQklUTUFQSU5GT0hFQURFUik7CkBAIC02OSw3
ICs2OSw5IEBAIFBhc3NSZWZQdHI8Qml0bWFwQ29udGV4dD4gY3JlYXRlQml0bWFwQ28KICAgICBi
bXAuYm1pSGVhZGVyLmJpQ29tcHJlc3Npb24gPSBCSV9SR0I7CiAKICAgICB2b2lkKiBiaXRzID0g
MDsKLSAgICBIQklUTUFQIGJpdG1hcCA9IENyZWF0ZURJQlNlY3Rpb24oMCwgJmJtcCwgRElCX1JH
Ql9DT0xPUlMsICZiaXRzLCAwLCAwKTsKKyAgICBIQklUTUFQIGJpdG1hcCA9IDo6Q3JlYXRlRElC
U2VjdGlvbigwLCAmYm1wLCBESUJfUkdCX0NPTE9SUywgJmJpdHMsIDAsIDApOworICAgIGlmICgh
Yml0bWFwKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIGF1dG8gbWVtb3J5REMgPSBh
ZG9wdEdESU9iamVjdCg6OkNyZWF0ZUNvbXBhdGlibGVEQygwKSk7CiAgICAgOjpTZWxlY3RPYmpl
Y3QobWVtb3J5REMuZ2V0KCksIGJpdG1hcCk7CkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS93
aW4vVUlEZWxlZ2F0ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvd2lu
L1VJRGVsZWdhdGUuY3BwCShyZXZpc2lvbiAxNzQ0NjUpCisrKyBUb29scy9EdW1wUmVuZGVyVHJl
ZS93aW4vVUlEZWxlZ2F0ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ4Nyw3ICs0ODcsNyBAQCBI
UkVTVUxUIFVJRGVsZWdhdGU6OmV4Y2VlZGVkRGF0YWJhc2VRdW90CiAgICAgb3JpZ2luLT5wb3J0
KCZwb3J0KTsKIAogICAgIGlmICghZG9uZSAmJiBnVGVzdFJ1bm5lci0+ZHVtcERhdGFiYXNlQ2Fs
bGJhY2tzKCkpCi0gICAgICAgIHByaW50ZigiVUkgREVMRUdBVEUgREFUQUJBU0UgQ0FMTEJBQ0s6
IGV4Y2VlZGVkRGF0YWJhc2VRdW90YUZvclNlY3VyaXR5T3JpZ2luOnslUywgJVMsICVpfSBkYXRh
YmFzZTolU1xuIiwgcHJvdG9jb2wsIGhvc3QsIHBvcnQsIGRhdGFiYXNlSWRlbnRpZmllcik7Cisg
ICAgICAgIHByaW50ZigiVUkgREVMRUdBVEUgREFUQUJBU0UgQ0FMTEJBQ0s6IGV4Y2VlZGVkRGF0
YWJhc2VRdW90YUZvclNlY3VyaXR5T3JpZ2luOnslcywgJXMsICVpfSBkYXRhYmFzZTolU1xuIiwg
c3RhdGljX2Nhc3Q8Y29uc3QgY2hhcio+KHByb3RvY29sKSwgc3RhdGljX2Nhc3Q8Y29uc3QgY2hh
cio+KGhvc3QpLCBwb3J0LCBkYXRhYmFzZUlkZW50aWZpZXIpOwogCiAgICAgdW5zaWduZWQgbG9u
ZyBsb25nIGRlZmF1bHRRdW90YSA9IDUgKiAxMDI0ICogMTAyNDsKICAgICBkb3VibGUgdGVzdERl
ZmF1bHRRdW90YSA9IGdUZXN0UnVubmVyLT5kYXRhYmFzZURlZmF1bHRRdW90YSgpOwpJbmRleDog
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0c0NvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHNDb250cm9sbGVyLmNwcAkocmV2aXNpb24gMTc0NDY1KQor
KysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0c0NvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0zMiw3ICszMiw3IEBAIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKIAogVGVzdHNDb250
cm9sbGVyJiBUZXN0c0NvbnRyb2xsZXI6OnNoYXJlZCgpCiB7Ci0gICAgc3RhdGljIFRlc3RzQ29u
dHJvbGxlciYgc2hhcmVkID0gKm5ldyBUZXN0c0NvbnRyb2xsZXI7CisgICAgc3RhdGljIE5ldmVy
RGVzdHJveWVkPFRlc3RzQ29udHJvbGxlcj4gc2hhcmVkOwogICAgIHJldHVybiBzaGFyZWQ7CiB9
CiAKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHNDb250cm9sbGVyLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0c0NvbnRyb2xsZXIuaAkocmV2aXNpb24gMTc0
NDY1KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0c0NvbnRyb2xsZXIuaAkod29ya2luZyBj
b3B5KQpAQCAtMjYsNiArMjYsOCBAQAogI2lmbmRlZiBUZXN0c0NvbnRyb2xsZXJfaAogI2RlZmlu
ZSBUZXN0c0NvbnRyb2xsZXJfaAogCisjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CisK
IG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKIAogY2xhc3MgVGVzdHNDb250cm9sbGVyIHsKQEAg
LTM3LDYgKzM5LDggQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBUZXN0c0NvbnRyb2xsZXIoKTsK
ICAgICB+VGVzdHNDb250cm9sbGVyKCk7CisKKyAgICBmcmllbmQgY2xhc3MgV1RGOjpOZXZlckRl
c3Ryb3llZDxUZXN0c0NvbnRyb2xsZXI+OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktp
dEFQSQpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvTWVkaWFUaW1lLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9NZWRpYVRpbWUuY3Bw
CShyZXZpc2lvbiAxNzQ0NjUpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9NZWRp
YVRpbWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMywxNyArMzMsNiBAQAogCiB1c2luZyBuYW1l
c3BhY2Ugc3RkOwogCi0jaWYgQ09NUElMRVIoTVNWQykKLS8vIFdvcmsgYXJvdW5kIFZpc3VhbCBT
dHVkaW8gMjAwOCdzIGxhY2sgb2YgYW4gSU5GSU5JVFkgb3IgTkFOIGRlZmluaXRpb24uCi0jaW5j
bHVkZSA8bGltaXRzPgotI2lmICFkZWZpbmVkKElORklOSVRZKQotI2RlZmluZSBJTkZJTklUWSAo
bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6aW5maW5pdHkoKSkKLSNlbmRpZgotI2lmICFkZWZpbmVk
KE5BTikKLSNkZWZpbmUgTkFOIChudW1lcmljX2xpbWl0czxkb3VibGU+OjpxdWlldF9OYU4oKSkK
LSNlbmRpZgotI2VuZGlmCi0KIG5hbWVzcGFjZSBXVEYgewogCiBzdGQ6Om9zdHJlYW0mIG9wZXJh
dG9yPDwoc3RkOjpvc3RyZWFtJiBvdXQsIGNvbnN0IE1lZGlhVGltZSYgdmFsKQpJbmRleDogVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvd2luL1dlYlZpZXdEZXN0cnVjdGlvbi5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvd2luL1dlYlZp
ZXdEZXN0cnVjdGlvbi5jcHAJKHJldmlzaW9uIDE3NDQ2NSkKKysrIFRvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0L3dpbi9XZWJWaWV3RGVzdHJ1Y3Rpb24uY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC04OSwxNCArODksMjggQEAgdm9pZCBXZWJWaWV3RGVzdHJ1Y3Rpb25XaXRoSG9zdFdpbmRv
dzo6UwogICAgIEVYUEVDVF9UUlVFKDo6SXNXaW5kb3cobV92aWV3V2luZG93KSk7CiB9CiAKKyNp
ZiBkZWZpbmVkKF9NX1g2NCkgfHwgZGVmaW5lZChfX3g4Nl82NF9fKQordHlwZWRlZiBVTE9OR0xP
TkcgX190aWNrX2NvdW50Oworc3RhdGljIFVMT05HTE9ORyBjdXJyZW50VGlja0NvdW50KCkKK3sK
KyAgICByZXR1cm4gOjpHZXRUaWNrQ291bnQ2NCgpOworfQorI2Vsc2UKK3R5cGVkZWYgRFdPUkQg
X190aWNrX2NvdW50Oworc3RhdGljIERXT1JEIGN1cnJlbnRUaWNrQ291bnQoKQoreworICAgIHJl
dHVybiA6OkdldFRpY2tDb3VudCgpOworfQorI2VuZGlmCisKIHZvaWQgV2ViVmlld0Rlc3RydWN0
aW9uOjpydW5NZXNzYWdlUHVtcChEV09SRCB0aW1lb3V0TWlsbGlzZWNvbmRzKQogewogICAgIC8v
IEZJWE1FOiBXZSBzaG91bGQgbW92ZSB0aGlzIGZ1bmN0aW9uYWxpdHkgdG8gUGxhdGZvcm1VdGls
aXRpZXMgYXQgc29tZSBwb2ludC4KIAotICAgIERXT1JEIHN0YXJ0VGlja0NvdW50ID0gOjpHZXRU
aWNrQ291bnQoKTsKKyAgICBfX3RpY2tfY291bnQgc3RhcnRUaWNrQ291bnQgPSBjdXJyZW50VGlj
a0NvdW50KCk7CiAgICAgTVNHIG1zZzsKICAgICBCT09MIHJlc3VsdDsKLSAgICB3aGlsZSAoKHJl
c3VsdCA9IDo6UGVla01lc3NhZ2VXKCZtc2csIDAsIDAsIDAsIFBNX1JFTU9WRSkpICYmIDo6R2V0
VGlja0NvdW50KCkgLSBzdGFydFRpY2tDb3VudCA8PSB0aW1lb3V0TWlsbGlzZWNvbmRzKSB7Cisg
ICAgd2hpbGUgKChyZXN1bHQgPSA6OlBlZWtNZXNzYWdlVygmbXNnLCAwLCAwLCAwLCBQTV9SRU1P
VkUpKSAmJiBjdXJyZW50VGlja0NvdW50KCkgLSBzdGFydFRpY2tDb3VudCA8PSBzdGF0aWNfY2Fz
dDxfX3RpY2tfY291bnQ+KHRpbWVvdXRNaWxsaXNlY29uZHMpKSB7CiAgICAgICAgIGlmIChyZXN1
bHQgPT0gLTEpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgOjpUcmFuc2xhdGVNZXNzYWdl
KCZtc2cpOwpJbmRleDogVG9vbHMvV2luTGF1bmNoZXIvQ29tbW9uLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9XaW5MYXVuY2hlci9Db21tb24uY3BwCShyZXZpc2lvbiAxNzQ0NjUpCisrKyBUb29s
cy9XaW5MYXVuY2hlci9Db21tb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTAsNyArMTUwLDkg
QEAgc3RhdGljIGJvb2wgZ2V0QXBwRGF0YUZvbGRlcihfYnN0cl90JiBkaQogICAgICAgICByZXR1
cm4gZmFsc2U7CiAKICAgICB3Y2hhcl90IGV4ZWN1dGFibGVQYXRoW01BWF9QQVRIXTsKLSAgICA6
OkdldE1vZHVsZUZpbGVOYW1lVygwLCBleGVjdXRhYmxlUGF0aCwgTUFYX1BBVEgpOworICAgIGlm
ICghOjpHZXRNb2R1bGVGaWxlTmFtZVcoMCwgZXhlY3V0YWJsZVBhdGgsIE1BWF9QQVRIKSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgOjpQYXRoUmVtb3ZlRXh0ZW5zaW9uVyhleGVjdXRh
YmxlUGF0aCk7CiAKICAgICBkaXJlY3RvcnkgPSBfYnN0cl90KGFwcERhdGFEaXJlY3RvcnkpICsg
TCJcXCIgKyA6OlBhdGhGaW5kRmlsZU5hbWVXKGV4ZWN1dGFibGVQYXRoKTsKSW5kZXg6IFRvb2xz
L1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XaW5MYXVu
Y2hlci9XaW5MYXVuY2hlci5jcHAJKHJldmlzaW9uIDE3NDQ2NSkKKysrIFRvb2xzL1dpbkxhdW5j
aGVyL1dpbkxhdW5jaGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjE1LDcgKzIxNSw3IEBAIHZv
aWQgV2luTGF1bmNoZXI6OnNob3dMYXN0VmlzaXRlZFNpdGVzKEkKICAgICBpZiAoRkFJTEVEKGhy
KSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgVUlOVCBiYWNrU2V0dGluZyA9IE1GX0JZQ09NTUFO
RCB8IChiYWNrQ291bnQpID8gTUZfRU5BQkxFRCA6IE1GX0RJU0FCTEVEOworICAgIFVJTlQgYmFj
a1NldHRpbmcgPSBNRl9CWUNPTU1BTkQgfCAoKGJhY2tDb3VudCkgPyBNRl9FTkFCTEVEIDogTUZf
RElTQUJMRUQpOwogICAgIDo6RW5hYmxlTWVudUl0ZW0obWVudSwgSURNX0hJU1RPUllfQkFDS1dB
UkQsIGJhY2tTZXR0aW5nKTsKIAogICAgIGludCBmb3J3YXJkQ291bnQgPSAwOwpAQCAtMjIzLDcg
KzIyMyw3IEBAIHZvaWQgV2luTGF1bmNoZXI6OnNob3dMYXN0VmlzaXRlZFNpdGVzKEkKICAgICBp
ZiAoRkFJTEVEKGhyKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgVUlOVCBmb3J3YXJkU2V0dGlu
ZyA9IE1GX0JZQ09NTUFORCB8IChmb3J3YXJkQ291bnQpID8gTUZfRU5BQkxFRCA6IE1GX0RJU0FC
TEVEOworICAgIFVJTlQgZm9yd2FyZFNldHRpbmcgPSBNRl9CWUNPTU1BTkQgfCAoKGZvcndhcmRD
b3VudCkgPyBNRl9FTkFCTEVEIDogTUZfRElTQUJMRUQpOwogICAgIDo6RW5hYmxlTWVudUl0ZW0o
bWVudSwgSURNX0hJU1RPUllfRk9SV0FSRCwgZm9yd2FyZFNldHRpbmcpOwogCiAgICAgSVdlYkhp
c3RvcnlJdGVtUHRyIGN1cnJlbnRJdGVtOwo=
</data>
<flag name="review"
          id="264217"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
      

    </bug>

</bugzilla>