<?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>86976</bug_id>
          
          <creation_ts>2012-05-20 18:03:19 -0700</creation_ts>
          <short_desc>[V8] Pass Isolate to throwError()s in CodeGeneratorV8.pm</short_desc>
          <delta_ts>2012-05-20 22:02:54 -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>WebCore JavaScript</component>
          <version>528+ (Nightly 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>84074</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>628687</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-05-20 18:03:19 -0700</bug_when>
    <thetext>Now refactoring of throwError()s are done.

In this bug we pass Isolate to throwError()s in CodeGeneratorV8.pm.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628689</commentid>
    <comment_count>1</comment_count>
      <attachid>142931</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-05-20 18:07:43 -0700</bug_when>
    <thetext>Created attachment 142931
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628763</commentid>
    <comment_count>2</comment_count>
      <attachid>142931</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-20 22:02:49 -0700</bug_when>
    <thetext>Comment on attachment 142931
Patch

Clearing flags on attachment: 142931

Committed r117725: &lt;http://trac.webkit.org/changeset/117725&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628764</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-20 22:02:54 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142931</attachid>
            <date>2012-05-20 18:07:43 -0700</date>
            <delta_ts>2012-05-20 22:02:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86976-20120521100742.patch</filename>
            <type>text/plain</type>
            <size>18517</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3NzE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGRhODRmYzZhZjY4NjZl
OTM4NGIzNzhhNjE2ODQ0OTE1ZjZjMDZlZi4uMGUwMjA2OGU1MThhMDNkMDg4ZjQ1MDlkOWY5OGUw
NWQxYzA3Y2RjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ5IEBACiAyMDEyLTA1LTIwICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAorICAgICAgICBbVjhdIFBhc3MgSXNv
bGF0ZSB0byB0aHJvd0Vycm9yKClzIGluIENvZGVHZW5lcmF0b3JWOC5wbQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODY5NzYKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgb2JqZWN0aXZlIGlzIHRvIHBh
c3MgSXNvbGF0ZSBhcm91bmQgaW4gVjggYmluZGluZ3MuCisgICAgICAgIFRoaXMgcGF0Y2ggcGFz
c2VzIElzb2xhdGUgdG8gdGhyb3dFcnJvcigpcyBpbiBDb2RlR2VuZXJhdG9yVjgucG0uCisKKyAg
ICAgICAgTm8gdGVzdHMuIE5vIGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtOgorICAgICAgICAoR2VuZXJhdGVOb3JtYWxB
dHRyR2V0dGVyKToKKyAgICAgICAgKEdlbmVyYXRlTm9ybWFsQXR0clNldHRlcik6CisgICAgICAg
IChHZW5lcmF0ZVBhcmFtZXRlcnNDaGVjayk6CisgICAgICAgIChHZW5lcmF0ZUNvbnN0cnVjdG9y
Q2FsbGJhY2spOgorICAgICAgICAoR2VuZXJhdGVOYW1lZENvbnN0cnVjdG9yQ2FsbGJhY2spOgor
ICAgICAgICAoR2VuZXJhdGVGdW5jdGlvbkNhbGxTdHJpbmcpOgorICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RJbnRlcmZhY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
VjhUZXN0SW50ZXJmYWNlOjpjb25zdHJ1Y3RvckNhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpWOFRlc3ROYW1lZENvbnN0cnVjdG9yQ29uc3RydWN0b3JDYWxsYmFjayk6CisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE9iai5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpUZXN0T2JqVjhJbnRlcm5hbDo6d2l0aFNjcmlwdFN0YXRlQXR0cmlidXRlQXR0clNl
dHRlcik6CisgICAgICAgIChXZWJDb3JlOjpUZXN0T2JqVjhJbnRlcm5hbDo6d2l0aFNjcmlwdFN0
YXRlQXR0cmlidXRlUmFpc2VzQXR0ckdldHRlcik6CisgICAgICAgIChXZWJDb3JlOjpUZXN0T2Jq
VjhJbnRlcm5hbDo6d2l0aFNjcmlwdFN0YXRlQXR0cmlidXRlUmFpc2VzQXR0clNldHRlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpUZXN0T2JqVjhJbnRlcm5hbDo6d2l0aFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHRBbmRTY3JpcHRTdGF0ZUF0dHJpYnV0ZUF0dHJTZXR0ZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6VGVzdE9ialY4SW50ZXJuYWw6OndpdGhTY3JpcHRFeGVjdXRpb25Db250ZXh0QW5kU2NyaXB0
U3RhdGVBdHRyaWJ1dGVSYWlzZXNBdHRyR2V0dGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlRlc3RP
YmpWOEludGVybmFsOjp3aXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEFuZFNjcmlwdFN0YXRlQXR0
cmlidXRlUmFpc2VzQXR0clNldHRlcik6CisgICAgICAgIChXZWJDb3JlOjpUZXN0T2JqVjhJbnRl
cm5hbDo6d2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBbmRTY3JpcHRTdGF0ZVdpdGhTcGFjZXNB
dHRyaWJ1dGVBdHRyU2V0dGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlRlc3RPYmpWOEludGVybmFs
Ojp3aXRoU2NyaXB0U3RhdGVWb2lkQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VGVzdE9i
alY4SW50ZXJuYWw6OndpdGhTY3JpcHRTdGF0ZU9iakNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNv
cmU6OlRlc3RPYmpWOEludGVybmFsOjp3aXRoU2NyaXB0U3RhdGVWb2lkRXhjZXB0aW9uQ2FsbGJh
Y2spOgorICAgICAgICAoV2ViQ29yZTo6VGVzdE9ialY4SW50ZXJuYWw6OndpdGhTY3JpcHRTdGF0
ZU9iakV4Y2VwdGlvbkNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlRlc3RPYmpWOEludGVy
bmFsOjp3aXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEFuZFNjcmlwdFN0YXRlQ2FsbGJhY2spOgor
ICAgICAgICAoV2ViQ29yZTo6VGVzdE9ialY4SW50ZXJuYWw6OndpdGhTY3JpcHRFeGVjdXRpb25D
b250ZXh0QW5kU2NyaXB0U3RhdGVPYmpFeGNlcHRpb25DYWxsYmFjayk6CisgICAgICAgIChXZWJD
b3JlOjpUZXN0T2JqVjhJbnRlcm5hbDo6d2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBbmRTY3Jp
cHRTdGF0ZVdpdGhTcGFjZXNDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpUZXN0T2JqVjhJ
bnRlcm5hbDo6bWV0aG9kV2l0aENhbGxiYWNrQXJnQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29y
ZTo6VGVzdE9ialY4SW50ZXJuYWw6Om1ldGhvZFdpdGhOb25DYWxsYmFja0FyZ0FuZENhbGxiYWNr
QXJnQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VGVzdE9ialY4SW50ZXJuYWw6Om1ldGhv
ZFdpdGhDYWxsYmFja0FuZE9wdGlvbmFsQXJnQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6
VGVzdE9ialY4SW50ZXJuYWw6Om92ZXJsb2FkZWRNZXRob2Q1Q2FsbGJhY2spOgorICAgICAgICAo
V2ViQ29yZTo6VjhUZXN0T2JqOjpjb25zdHJ1Y3RvckNhbGxiYWNrKToKKworMjAxMi0wNS0yMCAg
S2VudGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CisKICAgICAgICAgVW5yZXZpZXdl
ZC4gUmViYXNlbGluZWQgcnVuLWJpbmRpbmdzLXRlc3RzIHJlc3VsdHMuCiAKICAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcDoKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KaW5kZXggZDY2
Zjg0ZTBjNzMyNDI4ZGUwZTkwNTQ2ZDk4NDQxMjM5MjRjYmMzNC4uNjQ3NjliNzZlNGNlZDM2Zjhm
MjdiMjU3NzAzZjU1YWQ0MGRkODdiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KQEAgLTg5NCw3ICs4OTQsNyBAQCBFTkQKIAog
ICAgICAgICBpZiAoJGNvZGVHZW5lcmF0b3ItPkV4dGVuZGVkQXR0cmlidXRlQ29udGFpbnMoJGF0
dHJpYnV0ZS0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ2FsbFdpdGgifSwgIlNj
cmlwdFN0YXRlIikpIHsKICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50RGVjbHMsICIgICAg
aWYgKHN0YXRlLmhhZEV4Y2VwdGlvbigpKVxuIik7Ci0gICAgICAgICAgICBwdXNoKEBpbXBsQ29u
dGVudERlY2xzLCAiICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihzdGF0ZS5leGNlcHRpb24oKSk7
XG4iKTsKKyAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50RGVjbHMsICIgICAgICAgIHJldHVy
biB0aHJvd0Vycm9yKHN0YXRlLmV4Y2VwdGlvbigpLCBpbmZvLkdldElzb2xhdGUoKSk7XG4iKTsK
ICAgICAgICAgfQogCiAgICAgICAgICRyZXN1bHQgPSAidiI7CkBAIC0xMTg1LDcgKzExODUsNyBA
QCBFTkQKIAogICAgIGlmICgkY29kZUdlbmVyYXRvci0+RXh0ZW5kZWRBdHRyaWJ1dGVDb250YWlu
cygkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDYWxsV2l0aCJ9
LCAiU2NyaXB0U3RhdGUiKSkgewogICAgICAgICBwdXNoKEBpbXBsQ29udGVudERlY2xzLCAiICAg
IGlmIChzdGF0ZS5oYWRFeGNlcHRpb24oKSlcbiIpOwotICAgICAgICBwdXNoKEBpbXBsQ29udGVu
dERlY2xzLCAiICAgICAgICB0aHJvd0Vycm9yKHN0YXRlLmV4Y2VwdGlvbigpKTtcbiIpOworICAg
ICAgICBwdXNoKEBpbXBsQ29udGVudERlY2xzLCAiICAgICAgICB0aHJvd0Vycm9yKHN0YXRlLmV4
Y2VwdGlvbigpLCBpbmZvLkdldElzb2xhdGUoKSk7XG4iKTsKICAgICB9CiAKICAgICBpZiAoJHN2
Z05hdGl2ZVR5cGUpIHsKQEAgLTE1OTAsMTIgKzE1OTAsMTIgQEAgc3ViIEdlbmVyYXRlUGFyYW1l
dGVyc0NoZWNrCiAgICAgICAgICAgICAgICAgJHBhcmFtZXRlckNoZWNrU3RyaW5nIC49ICIgICAg
UmVmUHRyPCIgLiAkcGFyYW1ldGVyLT50eXBlIC4gIj4gJHBhcmFtZXRlck5hbWU7XG4iOwogICAg
ICAgICAgICAgICAgICRwYXJhbWV0ZXJDaGVja1N0cmluZyAuPSAiICAgIGlmIChhcmdzLkxlbmd0
aCgpID4gJHBhcmFtSW5kZXggJiYgIWFyZ3NbJHBhcmFtSW5kZXhdLT5Jc051bGwoKSAmJiAhYXJn
c1skcGFyYW1JbmRleF0tPklzVW5kZWZpbmVkKCkpIHtcbiI7CiAgICAgICAgICAgICAgICAgJHBh
cmFtZXRlckNoZWNrU3RyaW5nIC49ICIgICAgICAgIGlmICghYXJnc1skcGFyYW1JbmRleF0tPklz
RnVuY3Rpb24oKSlcbiI7Ci0gICAgICAgICAgICAgICAgJHBhcmFtZXRlckNoZWNrU3RyaW5nIC49
ICIgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihUWVBFX01JU01BVENIX0VSUik7XG4iOwor
ICAgICAgICAgICAgICAgICRwYXJhbWV0ZXJDaGVja1N0cmluZyAuPSAiICAgICAgICAgICAgcmV0
dXJuIHRocm93RXJyb3IoVFlQRV9NSVNNQVRDSF9FUlIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTtcbiI7
CiAgICAgICAgICAgICAgICAgJHBhcmFtZXRlckNoZWNrU3RyaW5nIC49ICIgICAgICAgICRwYXJh
bWV0ZXJOYW1lID0gJHtjbGFzc05hbWV9OjpjcmVhdGUoYXJnc1skcGFyYW1JbmRleF0sIGdldFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7XG4iOwogICAgICAgICAgICAgICAgICRwYXJhbWV0ZXJD
aGVja1N0cmluZyAuPSAiICAgIH1cbiI7CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAg
ICAgICAgICRwYXJhbWV0ZXJDaGVja1N0cmluZyAuPSAiICAgIGlmIChhcmdzLkxlbmd0aCgpIDw9
ICRwYXJhbUluZGV4IHx8ICFhcmdzWyRwYXJhbUluZGV4XS0+SXNGdW5jdGlvbigpKVxuIjsKLSAg
ICAgICAgICAgICAgICAkcGFyYW1ldGVyQ2hlY2tTdHJpbmcgLj0gIiAgICAgICAgcmV0dXJuIHRo
cm93RXJyb3IoVFlQRV9NSVNNQVRDSF9FUlIpO1xuIjsKKyAgICAgICAgICAgICAgICAkcGFyYW1l
dGVyQ2hlY2tTdHJpbmcgLj0gIiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoVFlQRV9NSVNNQVRD
SF9FUlIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTtcbiI7CiAgICAgICAgICAgICAgICAgJHBhcmFtZXRl
ckNoZWNrU3RyaW5nIC49ICIgICAgUmVmUHRyPCIgLiAkcGFyYW1ldGVyLT50eXBlIC4gIj4gJHBh
cmFtZXRlck5hbWUgPSAke2NsYXNzTmFtZX06OmNyZWF0ZShhcmdzWyRwYXJhbUluZGV4XSwgZ2V0
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTtcbiI7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0g
ZWxzaWYgKCRwYXJhbWV0ZXItPnR5cGUgZXEgIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSIpIHsKQEAg
LTE3MzksNyArMTczOSw3IEBAIEVORAogCiAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29u
dGV4dCA9IGdldFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKICAgICBpZiAoIWNvbnRleHQpCi0g
ICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd0Vycm9yKFY4UHJveHk6OlJlZmVyZW5jZUVycm9y
LCAiJHtpbXBsQ2xhc3NOYW1lfSBjb25zdHJ1Y3RvcidzIGFzc29jaWF0ZWQgY29udGV4dCBpcyBu
b3QgYXZhaWxhYmxlIik7CisgICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd0Vycm9yKFY4UHJv
eHk6OlJlZmVyZW5jZUVycm9yLCAiJHtpbXBsQ2xhc3NOYW1lfSBjb25zdHJ1Y3RvcidzIGFzc29j
aWF0ZWQgY29udGV4dCBpcyBub3QgYXZhaWxhYmxlIiwgYXJncy5HZXRJc29sYXRlKCkpOwogRU5E
CiAgICAgfQogCkBAIC0xNzc5LDcgKzE3NzksNyBAQCBFTkQKIAogICAgIGlmICgkcmFpc2VzRXhj
ZXB0aW9ucykgewogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgZmFpbDpcbiIpOwotICAg
ICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICByZXR1cm4gdGhyb3dFcnJvcihlYyk7XG4iKTsK
KyAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgcmV0dXJuIHRocm93RXJyb3IoZWMsIGFy
Z3MuR2V0SXNvbGF0ZSgpKTtcbiIpOwogICAgIH0KIAogICAgIHB1c2goQGltcGxDb250ZW50LCAi
fVxuIik7CkBAIC0xODk1LDcgKzE4OTUsNyBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+
IFY4JHtpbXBsQ2xhc3NOYW1lfUNvbnN0cnVjdG9yQ2FsbGJhY2soY29uc3Qgdjg6OkFyZwogCiAg
ICAgRnJhbWUqIGZyYW1lID0gVjhQcm94eTo6cmV0cmlldmVGcmFtZUZvckN1cnJlbnRDb250ZXh0
KCk7CiAgICAgaWYgKCFmcmFtZSkKLSAgICAgICAgcmV0dXJuIFY4UHJveHk6OnRocm93RXJyb3Io
VjhQcm94eTo6UmVmZXJlbmNlRXJyb3IsICIke2ltcGxDbGFzc05hbWV9IGNvbnN0cnVjdG9yIGFz
c29jaWF0ZWQgZnJhbWUgaXMgdW5hdmFpbGFibGUiKTsKKyAgICAgICAgcmV0dXJuIFY4UHJveHk6
OnRocm93RXJyb3IoVjhQcm94eTo6UmVmZXJlbmNlRXJyb3IsICIke2ltcGxDbGFzc05hbWV9IGNv
bnN0cnVjdG9yIGFzc29jaWF0ZWQgZnJhbWUgaXMgdW5hdmFpbGFibGUiLCBhcmdzLkdldElzb2xh
dGUoKSk7CiAKICAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBmcmFtZS0+ZG9jdW1lbnQoKTsKIApA
QCAtMTk1NCw3ICsxOTU0LDcgQEAgRU5ECiAKICAgICBpZiAoJHJhaXNlc0V4Y2VwdGlvbnMpIHsK
ICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgIGZhaWw6XG4iKTsKLSAgICAgICAgcHVzaChA
aW1wbENvbnRlbnQsICIgICAgcmV0dXJuIHRocm93RXJyb3IoZWMpO1xuIik7CisgICAgICAgIHB1
c2goQGltcGxDb250ZW50LCAiICAgIHJldHVybiB0aHJvd0Vycm9yKGVjLCBhcmdzLkdldElzb2xh
dGUoKSk7XG4iKTsKICAgICB9CiAKICAgICBwdXNoKEBpbXBsQ29udGVudCwgIn1cbiIpOwpAQCAt
MzMzNCw3ICszMzM0LDcgQEAgc3ViIEdlbmVyYXRlRnVuY3Rpb25DYWxsU3RyaW5nKCkKIAogICAg
IGlmICgkY29kZUdlbmVyYXRvci0+RXh0ZW5kZWRBdHRyaWJ1dGVDb250YWlucygkY2FsbFdpdGgs
ICJTY3JpcHRTdGF0ZSIpKSB7CiAgICAgICAgICRyZXN1bHQgLj0gJGluZGVudCAuICJpZiAoc3Rh
dGUuaGFkRXhjZXB0aW9uKCkpXG4iOwotICAgICAgICAkcmVzdWx0IC49ICRpbmRlbnQgLiAiICAg
IHJldHVybiB0aHJvd0Vycm9yKHN0YXRlLmV4Y2VwdGlvbigpKTtcbiIKKyAgICAgICAgJHJlc3Vs
dCAuPSAkaW5kZW50IC4gIiAgICByZXR1cm4gdGhyb3dFcnJvcihzdGF0ZS5leGNlcHRpb24oKSwg
YXJncy5HZXRJc29sYXRlKCkpO1xuIgogICAgIH0KIAogICAgIGlmICgkaXNTVkdUZWFyT2ZmVHlw
ZSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4
L1Y4VGVzdEludGVyZmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVjgvVjhUZXN0SW50ZXJmYWNlLmNwcAppbmRleCAyMGUwOThjODEyN2UwMWIwZTZhZTNjZmYz
ZDM0MTg0NzVhZDZiYzc5Li40ZTJhNmZmNDk4ZmRlN2U1YmVlYWZjY2QwZDFjNDdkMzNhMDAzYmQx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhU
ZXN0SW50ZXJmYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVjgvVjhUZXN0SW50ZXJmYWNlLmNwcApAQCAtMjIxLDcgKzIyMSw3IEBAIHY4OjpIYW5kbGU8
djg6OlZhbHVlPiBWOFRlc3RJbnRlcmZhY2U6OmNvbnN0cnVjdG9yQ2FsbGJhY2soY29uc3Qgdjg6
OkFyZ3VtZW50cyYKIAogICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQgPSBnZXRT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCk7CiAgICAgaWYgKCFjb250ZXh0KQotICAgICAgICByZXR1
cm4gVjhQcm94eTo6dGhyb3dFcnJvcihWOFByb3h5OjpSZWZlcmVuY2VFcnJvciwgIlRlc3RJbnRl
cmZhY2UgY29uc3RydWN0b3IncyBhc3NvY2lhdGVkIGNvbnRleHQgaXMgbm90IGF2YWlsYWJsZSIp
OworICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dFcnJvcihWOFByb3h5OjpSZWZlcmVuY2VF
cnJvciwgIlRlc3RJbnRlcmZhY2UgY29uc3RydWN0b3IncyBhc3NvY2lhdGVkIGNvbnRleHQgaXMg
bm90IGF2YWlsYWJsZSIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIAogICAgIFJlZlB0cjxUZXN0SW50
ZXJmYWNlPiBpbXBsID0gVGVzdEludGVyZmFjZTo6Y3JlYXRlKGNvbnRleHQsIHN0cjEsIHN0cjIs
IGVjKTsKICAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBwZXIgPSBhcmdzLkhvbGRlcigp
OwpAQCAtMjMyLDcgKzIzMiw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFRlc3RJbnRlcmZh
Y2U6OmNvbnN0cnVjdG9yQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYKICAgICBWOERPTVdy
YXBwZXI6OnNldEpTV3JhcHBlckZvckFjdGl2ZURPTU9iamVjdChpbXBsLnJlbGVhc2UoKSwgdjg6
OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD46Ok5ldyh3cmFwcGVyKSwgYXJncy5HZXRJc29sYXRlKCkp
OwogICAgIHJldHVybiBhcmdzLkhvbGRlcigpOwogICBmYWlsOgotICAgIHJldHVybiB0aHJvd0Vy
cm9yKGVjKTsKKyAgICByZXR1cm4gdGhyb3dFcnJvcihlYywgYXJncy5HZXRJc29sYXRlKCkpOwog
fQogCiBzdGF0aWMgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IENvbmZpZ3Vy
ZVY4VGVzdEludGVyZmFjZVRlbXBsYXRlKHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBs
YXRlPiBkZXNjKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Y4L1Y4VGVzdE5hbWVkQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE5hbWVkQ29uc3RydWN0b3IuY3BwCmluZGV4IGYxZThj
MzY3YjE4YjYzZWI0ZmZiZjUyMDE0YmU2ZTQyNzFmZmU3MmMuLmMzZjQyNDhiMjlkNWQ3NzVhZDNl
NmRjNjQzMTJkNjM4Y2FmNmUyY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9WOC9WOFRlc3ROYW1lZENvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvci5j
cHAKQEAgLTU1LDcgKzU1LDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFRlc3RO
YW1lZENvbnN0cnVjdG9yQ29uc3RydWN0b3JDYWxsYmFjayhjb25zdCB2ODoKIAogICAgIEZyYW1l
KiBmcmFtZSA9IFY4UHJveHk6OnJldHJpZXZlRnJhbWVGb3JDdXJyZW50Q29udGV4dCgpOwogICAg
IGlmICghZnJhbWUpCi0gICAgICAgIHJldHVybiBWOFByb3h5Ojp0aHJvd0Vycm9yKFY4UHJveHk6
OlJlZmVyZW5jZUVycm9yLCAiVGVzdE5hbWVkQ29uc3RydWN0b3IgY29uc3RydWN0b3IgYXNzb2Np
YXRlZCBmcmFtZSBpcyB1bmF2YWlsYWJsZSIpOworICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhy
b3dFcnJvcihWOFByb3h5OjpSZWZlcmVuY2VFcnJvciwgIlRlc3ROYW1lZENvbnN0cnVjdG9yIGNv
bnN0cnVjdG9yIGFzc29jaWF0ZWQgZnJhbWUgaXMgdW5hdmFpbGFibGUiLCBhcmdzLkdldElzb2xh
dGUoKSk7CiAKICAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBmcmFtZS0+ZG9jdW1lbnQoKTsKIApA
QCAtODAsNyArODAsNyBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4VGVzdE5hbWVk
Q29uc3RydWN0b3JDb25zdHJ1Y3RvckNhbGxiYWNrKGNvbnN0IHY4OgogICAgIFY4RE9NV3JhcHBl
cjo6c2V0SlNXcmFwcGVyRm9yQWN0aXZlRE9NT2JqZWN0KGltcGwucmVsZWFzZSgpLCB2ODo6UGVy
c2lzdGVudDx2ODo6T2JqZWN0Pjo6TmV3KHdyYXBwZXIpLCBhcmdzLkdldElzb2xhdGUoKSk7CiAg
ICAgcmV0dXJuIGFyZ3MuSG9sZGVyKCk7CiAgIGZhaWw6Ci0gICAgcmV0dXJuIHRocm93RXJyb3Io
ZWMpOworICAgIHJldHVybiB0aHJvd0Vycm9yKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CiB9CiAK
IHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBWOFRlc3ROYW1lZENvbnN0cnVj
dG9yQ29uc3RydWN0b3I6OkdldFRlbXBsYXRlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RPYmouY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE9iai5jcHAKaW5kZXggZTJkMTBjZmJjNzFl
NzI3NDkzZWY4Mzg1YTk5NzdkOTRiMDA5ZmI1Ni4uZWU4MTQ3NDhmMjM1NTAwYzJmMjM5NDcwNmNh
MDViNWYwM2UzNzkzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Y4L1Y4VGVzdE9iai5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L1Y4L1Y4VGVzdE9iai5jcHAKQEAgLTcyNyw3ICs3MjcsNyBAQCBzdGF0aWMgdm9p
ZCB3aXRoU2NyaXB0U3RhdGVBdHRyaWJ1dGVBdHRyU2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5n
PiBuYW1lLCB2ODo6TAogICAgICAgICByZXR1cm47CiAgICAgaW1wLT5zZXRXaXRoU2NyaXB0U3Rh
dGVBdHRyaWJ1dGUoc3RhdGUsIHYpOwogICAgIGlmIChzdGF0ZS5oYWRFeGNlcHRpb24oKSkKLSAg
ICAgICAgdGhyb3dFcnJvcihzdGF0ZS5leGNlcHRpb24oKSk7CisgICAgICAgIHRocm93RXJyb3Io
c3RhdGUuZXhjZXB0aW9uKCksIGluZm8uR2V0SXNvbGF0ZSgpKTsKICAgICByZXR1cm47CiB9CiAK
QEAgLTc2Nyw3ICs3NjcsNyBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHdpdGhTY3Jp
cHRTdGF0ZUF0dHJpYnV0ZVJhaXNlc0F0dHJHZXR0ZXIodjg6OkxvY2FsPAogICAgICAgICByZXR1
cm4gdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCk7CiAgICAgfQogICAgIGlmIChzdGF0ZS5oYWRFeGNl
cHRpb24oKSkKLSAgICAgICAgcmV0dXJuIHRocm93RXJyb3Ioc3RhdGUuZXhjZXB0aW9uKCkpOwor
ICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihzdGF0ZS5leGNlcHRpb24oKSwgaW5mby5HZXRJc29s
YXRlKCkpOwogICAgIHJldHVybiB0b1Y4KHYucmVsZWFzZSgpLCBpbmZvLkdldElzb2xhdGUoKSk7
CiB9CiAKQEAgLTc4NCw3ICs3ODQsNyBAQCBzdGF0aWMgdm9pZCB3aXRoU2NyaXB0U3RhdGVBdHRy
aWJ1dGVSYWlzZXNBdHRyU2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1lLAogICAgIGlm
IChVTkxJS0VMWShlYykpCiAgICAgICAgIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYywgaW5m
by5HZXRJc29sYXRlKCkpOwogICAgIGlmIChzdGF0ZS5oYWRFeGNlcHRpb24oKSkKLSAgICAgICAg
dGhyb3dFcnJvcihzdGF0ZS5leGNlcHRpb24oKSk7CisgICAgICAgIHRocm93RXJyb3Ioc3RhdGUu
ZXhjZXB0aW9uKCksIGluZm8uR2V0SXNvbGF0ZSgpKTsKICAgICByZXR1cm47CiB9CiAKQEAgLTg0
NSw3ICs4NDUsNyBAQCBzdGF0aWMgdm9pZCB3aXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEFuZFNj
cmlwdFN0YXRlQXR0cmlidXRlQXR0clNldHRlcih2ODo6TG9jYQogICAgICAgICByZXR1cm47CiAg
ICAgaW1wLT5zZXRXaXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEFuZFNjcmlwdFN0YXRlQXR0cmli
dXRlKHN0YXRlLCBzY3JpcHRDb250ZXh0LCBXVEY6OmdldFB0cih2KSk7CiAgICAgaWYgKHN0YXRl
LmhhZEV4Y2VwdGlvbigpKQotICAgICAgICB0aHJvd0Vycm9yKHN0YXRlLmV4Y2VwdGlvbigpKTsK
KyAgICAgICAgdGhyb3dFcnJvcihzdGF0ZS5leGNlcHRpb24oKSwgaW5mby5HZXRJc29sYXRlKCkp
OwogICAgIHJldHVybjsKIH0KIApAQCAtODY2LDcgKzg2Niw3IEBAIHN0YXRpYyB2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4gd2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBbmRTY3JpcHRTdGF0ZUF0dHJp
YnV0ZVJhCiAgICAgICAgIHJldHVybiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4oKTsKICAgICB9CiAg
ICAgaWYgKHN0YXRlLmhhZEV4Y2VwdGlvbigpKQotICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihz
dGF0ZS5leGNlcHRpb24oKSk7CisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKHN0YXRlLmV4Y2Vw
dGlvbigpLCBpbmZvLkdldElzb2xhdGUoKSk7CiAgICAgcmV0dXJuIHRvVjgodi5yZWxlYXNlKCks
IGluZm8uR2V0SXNvbGF0ZSgpKTsKIH0KIApAQCAtODg2LDcgKzg4Niw3IEBAIHN0YXRpYyB2b2lk
IHdpdGhTY3JpcHRFeGVjdXRpb25Db250ZXh0QW5kU2NyaXB0U3RhdGVBdHRyaWJ1dGVSYWlzZXNB
dHRyU2V0dGVyKHY4CiAgICAgaWYgKFVOTElLRUxZKGVjKSkKICAgICAgICAgVjhQcm94eTo6c2V0
RE9NRXhjZXB0aW9uKGVjLCBpbmZvLkdldElzb2xhdGUoKSk7CiAgICAgaWYgKHN0YXRlLmhhZEV4
Y2VwdGlvbigpKQotICAgICAgICB0aHJvd0Vycm9yKHN0YXRlLmV4Y2VwdGlvbigpKTsKKyAgICAg
ICAgdGhyb3dFcnJvcihzdGF0ZS5leGNlcHRpb24oKSwgaW5mby5HZXRJc29sYXRlKCkpOwogICAg
IHJldHVybjsKIH0KIApAQCAtOTE2LDcgKzkxNiw3IEBAIHN0YXRpYyB2b2lkIHdpdGhTY3JpcHRF
eGVjdXRpb25Db250ZXh0QW5kU2NyaXB0U3RhdGVXaXRoU3BhY2VzQXR0cmlidXRlQXR0clNldHRl
CiAgICAgICAgIHJldHVybjsKICAgICBpbXAtPnNldFdpdGhTY3JpcHRFeGVjdXRpb25Db250ZXh0
QW5kU2NyaXB0U3RhdGVXaXRoU3BhY2VzQXR0cmlidXRlKHN0YXRlLCBzY3JpcHRDb250ZXh0LCBX
VEY6OmdldFB0cih2KSk7CiAgICAgaWYgKHN0YXRlLmhhZEV4Y2VwdGlvbigpKQotICAgICAgICB0
aHJvd0Vycm9yKHN0YXRlLmV4Y2VwdGlvbigpKTsKKyAgICAgICAgdGhyb3dFcnJvcihzdGF0ZS5l
eGNlcHRpb24oKSwgaW5mby5HZXRJc29sYXRlKCkpOwogICAgIHJldHVybjsKIH0KIApAQCAtMTQx
MCw3ICsxNDEwLDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB3aXRoU2NyaXB0U3Rh
dGVWb2lkQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXIKICAgICBFbXB0eVNjcmlwdFN0
YXRlIHN0YXRlOwogICAgIGltcC0+d2l0aFNjcmlwdFN0YXRlVm9pZCgmc3RhdGUpOwogICAgIGlm
IChzdGF0ZS5oYWRFeGNlcHRpb24oKSkKLSAgICAgICAgcmV0dXJuIHRocm93RXJyb3Ioc3RhdGUu
ZXhjZXB0aW9uKCkpOworICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihzdGF0ZS5leGNlcHRpb24o
KSwgYXJncy5HZXRJc29sYXRlKCkpOwogICAgIHJldHVybiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4o
KTsKIH0KIApAQCAtMTQyMSw3ICsxNDIxLDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVl
PiB3aXRoU2NyaXB0U3RhdGVPYmpDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmcKICAg
ICBFbXB0eVNjcmlwdFN0YXRlIHN0YXRlOwogICAgIFJlZlB0cjxUZXN0T2JqPiByZXN1bHQgPSBp
bXAtPndpdGhTY3JpcHRTdGF0ZU9iaigmc3RhdGUpOwogICAgIGlmIChzdGF0ZS5oYWRFeGNlcHRp
b24oKSkKLSAgICAgICAgcmV0dXJuIHRocm93RXJyb3Ioc3RhdGUuZXhjZXB0aW9uKCkpOworICAg
ICAgICByZXR1cm4gdGhyb3dFcnJvcihzdGF0ZS5leGNlcHRpb24oKSwgYXJncy5HZXRJc29sYXRl
KCkpOwogICAgIHJldHVybiB0b1Y4KHJlc3VsdC5yZWxlYXNlKCksIGFyZ3MuR2V0SXNvbGF0ZSgp
KTsKIH0KIApAQCAtMTQzNiw3ICsxNDM2LDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVl
PiB3aXRoU2NyaXB0U3RhdGVWb2lkRXhjZXB0aW9uQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3UKICAg
ICBpZiAoVU5MSUtFTFkoZWMpKQogICAgICAgICBnb3RvIGZhaWw7CiAgICAgaWYgKHN0YXRlLmhh
ZEV4Y2VwdGlvbigpKQotICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihzdGF0ZS5leGNlcHRpb24o
KSk7CisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKHN0YXRlLmV4Y2VwdGlvbigpLCBhcmdzLkdl
dElzb2xhdGUoKSk7CiAgICAgcmV0dXJuIHY4OjpIYW5kbGU8djg6OlZhbHVlPigpOwogICAgIH0K
ICAgICBmYWlsOgpAQCAtMTQ1NSw3ICsxNDU1LDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZh
bHVlPiB3aXRoU2NyaXB0U3RhdGVPYmpFeGNlcHRpb25DYWxsYmFjayhjb25zdCB2ODo6QXJndW0K
ICAgICBpZiAoVU5MSUtFTFkoZWMpKQogICAgICAgICBnb3RvIGZhaWw7CiAgICAgaWYgKHN0YXRl
LmhhZEV4Y2VwdGlvbigpKQotICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihzdGF0ZS5leGNlcHRp
b24oKSk7CisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKHN0YXRlLmV4Y2VwdGlvbigpLCBhcmdz
LkdldElzb2xhdGUoKSk7CiAgICAgcmV0dXJuIHRvVjgocmVzdWx0LnJlbGVhc2UoKSwgYXJncy5H
ZXRJc29sYXRlKCkpOwogICAgIH0KICAgICBmYWlsOgpAQCAtMTQ4NCw3ICsxNDg0LDcgQEAgc3Rh
dGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB3aXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEFuZFNj
cmlwdFN0YXRlQ2FsbGJhY2soY28KICAgICAgICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKICAg
ICBpbXAtPndpdGhTY3JpcHRFeGVjdXRpb25Db250ZXh0QW5kU2NyaXB0U3RhdGUoJnN0YXRlLCBz
Y3JpcHRDb250ZXh0KTsKICAgICBpZiAoc3RhdGUuaGFkRXhjZXB0aW9uKCkpCi0gICAgICAgIHJl
dHVybiB0aHJvd0Vycm9yKHN0YXRlLmV4Y2VwdGlvbigpKTsKKyAgICAgICAgcmV0dXJuIHRocm93
RXJyb3Ioc3RhdGUuZXhjZXB0aW9uKCksIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICByZXR1cm4g
djg6OkhhbmRsZTx2ODo6VmFsdWU+KCk7CiB9CiAKQEAgLTE1MDIsNyArMTUwMiw3IEBAIHN0YXRp
YyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gd2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBbmRTY3Jp
cHRTdGF0ZU9iakV4Y2VwdGlvCiAgICAgaWYgKFVOTElLRUxZKGVjKSkKICAgICAgICAgZ290byBm
YWlsOwogICAgIGlmIChzdGF0ZS5oYWRFeGNlcHRpb24oKSkKLSAgICAgICAgcmV0dXJuIHRocm93
RXJyb3Ioc3RhdGUuZXhjZXB0aW9uKCkpOworICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihzdGF0
ZS5leGNlcHRpb24oKSwgYXJncy5HZXRJc29sYXRlKCkpOwogICAgIHJldHVybiB0b1Y4KHJlc3Vs
dC5yZWxlYXNlKCksIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICB9CiAgICAgZmFpbDoKQEAgLTE1
MjAsNyArMTUyMCw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gd2l0aFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHRBbmRTY3JpcHRTdGF0ZVdpdGhTcGFjZXNDCiAgICAgICAgIHJldHVybiB2
ODo6VW5kZWZpbmVkKCk7CiAgICAgUmVmUHRyPFRlc3RPYmo+IHJlc3VsdCA9IGltcC0+d2l0aFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHRBbmRTY3JpcHRTdGF0ZVdpdGhTcGFjZXMoJnN0YXRlLCBzY3Jp
cHRDb250ZXh0KTsKICAgICBpZiAoc3RhdGUuaGFkRXhjZXB0aW9uKCkpCi0gICAgICAgIHJldHVy
biB0aHJvd0Vycm9yKHN0YXRlLmV4Y2VwdGlvbigpKTsKKyAgICAgICAgcmV0dXJuIHRocm93RXJy
b3Ioc3RhdGUuZXhjZXB0aW9uKCksIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICByZXR1cm4gdG9W
OChyZXN1bHQucmVsZWFzZSgpLCBhcmdzLkdldElzb2xhdGUoKSk7CiB9CiAKQEAgLTE2MjQsNyAr
MTYyNCw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gbWV0aG9kV2l0aENhbGxiYWNr
QXJnQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYKICAgICAgICAgcmV0dXJuIFY4UHJveHk6
OnRocm93Tm90RW5vdWdoQXJndW1lbnRzRXJyb3IoKTsKICAgICBUZXN0T2JqKiBpbXAgPSBWOFRl
c3RPYmo6OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkpOwogICAgIGlmIChhcmdzLkxlbmd0aCgpIDw9
IDAgfHwgIWFyZ3NbMF0tPklzRnVuY3Rpb24oKSkKLSAgICAgICAgcmV0dXJuIHRocm93RXJyb3Io
VFlQRV9NSVNNQVRDSF9FUlIpOworICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihUWVBFX01JU01B
VENIX0VSUiwgYXJncy5HZXRJc29sYXRlKCkpOwogICAgIFJlZlB0cjxUZXN0Q2FsbGJhY2s+IGNh
bGxiYWNrID0gVjhUZXN0Q2FsbGJhY2s6OmNyZWF0ZShhcmdzWzBdLCBnZXRTY3JpcHRFeGVjdXRp
b25Db250ZXh0KCkpOwogICAgIGltcC0+bWV0aG9kV2l0aENhbGxiYWNrQXJnKGNhbGxiYWNrKTsK
ICAgICByZXR1cm4gdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCk7CkBAIC0xNjM4LDcgKzE2MzgsNyBA
QCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IG1ldGhvZFdpdGhOb25DYWxsYmFja0FyZ0Fu
ZENhbGxiYWNrQXJnQ2FsbGJhY2soY29ucwogICAgIFRlc3RPYmoqIGltcCA9IFY4VGVzdE9iajo6
dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7CiAgICAgRVhDRVBUSU9OX0JMT0NLKGludCwgbm9uQ2Fs
bGJhY2ssIHRvSW50MzIoTUFZQkVfTUlTU0lOR19QQVJBTUVURVIoYXJncywgMCwgRGVmYXVsdElz
VW5kZWZpbmVkKSkpOwogICAgIGlmIChhcmdzLkxlbmd0aCgpIDw9IDEgfHwgIWFyZ3NbMV0tPklz
RnVuY3Rpb24oKSkKLSAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoVFlQRV9NSVNNQVRDSF9FUlIp
OworICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihUWVBFX01JU01BVENIX0VSUiwgYXJncy5HZXRJ
c29sYXRlKCkpOwogICAgIFJlZlB0cjxUZXN0Q2FsbGJhY2s+IGNhbGxiYWNrID0gVjhUZXN0Q2Fs
bGJhY2s6OmNyZWF0ZShhcmdzWzFdLCBnZXRTY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOwogICAg
IGltcC0+bWV0aG9kV2l0aE5vbkNhbGxiYWNrQXJnQW5kQ2FsbGJhY2tBcmcobm9uQ2FsbGJhY2ss
IGNhbGxiYWNrKTsKICAgICByZXR1cm4gdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCk7CkBAIC0xNjUx
LDcgKzE2NTEsNyBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IG1ldGhvZFdpdGhDYWxs
YmFja0FuZE9wdGlvbmFsQXJnQ2FsbGJhY2soY29uc3Qgdjg6OgogICAgIFJlZlB0cjxUZXN0Q2Fs
bGJhY2s+IGNhbGxiYWNrOwogICAgIGlmIChhcmdzLkxlbmd0aCgpID4gMCAmJiAhYXJnc1swXS0+
SXNOdWxsKCkgJiYgIWFyZ3NbMF0tPklzVW5kZWZpbmVkKCkpIHsKICAgICAgICAgaWYgKCFhcmdz
WzBdLT5Jc0Z1bmN0aW9uKCkpCi0gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihUWVBFX01J
U01BVENIX0VSUik7CisgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihUWVBFX01JU01BVENI
X0VSUiwgYXJncy5HZXRJc29sYXRlKCkpOwogICAgICAgICBjYWxsYmFjayA9IFY4VGVzdENhbGxi
YWNrOjpjcmVhdGUoYXJnc1swXSwgZ2V0U2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKICAgICB9
CiAgICAgaW1wLT5tZXRob2RXaXRoQ2FsbGJhY2tBbmRPcHRpb25hbEFyZyhjYWxsYmFjayk7CkBA
IC0xNzUwLDcgKzE3NTAsNyBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IG92ZXJsb2Fk
ZWRNZXRob2Q1Q2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncwogICAgICAgICByZXR1
cm4gVjhQcm94eTo6dGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcigpOwogICAgIFRlc3RPYmoq
IGltcCA9IFY4VGVzdE9iajo6dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7CiAgICAgaWYgKGFyZ3Mu
TGVuZ3RoKCkgPD0gMCB8fCAhYXJnc1swXS0+SXNGdW5jdGlvbigpKQotICAgICAgICByZXR1cm4g
dGhyb3dFcnJvcihUWVBFX01JU01BVENIX0VSUik7CisgICAgICAgIHJldHVybiB0aHJvd0Vycm9y
KFRZUEVfTUlTTUFUQ0hfRVJSLCBhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgUmVmUHRyPFRlc3RD
YWxsYmFjaz4gY2FsbGJhY2sgPSBWOFRlc3RDYWxsYmFjazo6Y3JlYXRlKGFyZ3NbMF0sIGdldFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CiAgICAgaW1wLT5vdmVybG9hZGVkTWV0aG9kKGNhbGxi
YWNrKTsKICAgICByZXR1cm4gdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCk7CkBAIC0yMjQxLDcgKzIy
NDEsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhUZXN0T2JqOjpjb25zdHJ1Y3RvckNhbGxi
YWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAx
KQogICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhyb3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcigp
OwogICAgIGlmIChhcmdzLkxlbmd0aCgpIDw9IDAgfHwgIWFyZ3NbMF0tPklzRnVuY3Rpb24oKSkK
LSAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoVFlQRV9NSVNNQVRDSF9FUlIpOworICAgICAgICBy
ZXR1cm4gdGhyb3dFcnJvcihUWVBFX01JU01BVENIX0VSUiwgYXJncy5HZXRJc29sYXRlKCkpOwog
ICAgIFJlZlB0cjxUZXN0Q2FsbGJhY2s+IHRlc3RDYWxsYmFjayA9IFY4VGVzdENhbGxiYWNrOjpj
cmVhdGUoYXJnc1swXSwgZ2V0U2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKIAogICAgIFJlZlB0
cjxUZXN0T2JqPiBpbXBsID0gVGVzdE9iajo6Y3JlYXRlKHRlc3RDYWxsYmFjayk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>