<?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>84656</bug_id>
          
          <creation_ts>2012-04-23 17:10:30 -0700</creation_ts>
          <short_desc>[V8] Pass Isolate to setDOMException() (Part1)</short_desc>
          <delta_ts>2012-04-24 09:07:11 -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>608211</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-04-23 17:10:30 -0700</bug_when>
    <thetext>The objective is to pass Isolate around in V8 bindings. In this bug we pass Isolate to setDOMException() in custom binding code.

The work will continue to Part3 or so.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608215</commentid>
    <comment_count>1</comment_count>
      <attachid>138465</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-04-23 17:13:38 -0700</bug_when>
    <thetext>Created attachment 138465
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608740</commentid>
    <comment_count>2</comment_count>
      <attachid>138465</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-24 09:06:55 -0700</bug_when>
    <thetext>Comment on attachment 138465
Patch

Clearing flags on attachment: 138465

Committed r115067: &lt;http://trac.webkit.org/changeset/115067&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608741</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-24 09:07:11 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>138465</attachid>
            <date>2012-04-23 17:13:38 -0700</date>
            <delta_ts>2012-04-24 09:06:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84656-20120423171337.patch</filename>
            <type>text/plain</type>
            <size>16244</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE0OTYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDJmYmY2NTY0YzQwODYw
MTU3YzgwN2Y2YWFlZjkzMjQ5MDQ0ZjYxMC4uNmM4NTY2YWZiYTNiZmY0YzE0ZTMxOGI3NWRlMmU0
MGViZjdkZTM4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEyLTA0LTIzICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbVjhdIFBhc3MgSXNv
bGF0ZSB0byBzZXRET01FeGNlcHRpb24oKSAoUGFydDEpCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NDY1NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBvYmplY3RpdmUgaXMgdG8gcGFzcyBJc29sYXRl
IGFyb3VuZCBpbiBWOCBiaW5kaW5ncy4KKyAgICAgICAgVGhpcyBwYXRjaCBwYXNzZXMgSXNvbGF0
ZSB0byBzZXRET01FeGNlcHRpb24oKSBpbiBjdXN0b20gYmluZGluZyBjb2RlLgorCisgICAgICAg
IE5vIHRlc3RzLiBObyBjaGFuZ2UgaW4gYmVoYXZpb3IuCisKKyAgICAgICAgKiBiaW5kaW5ncy92
OC9jdXN0b20vVjhMb2NhdGlvbkN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOExvY2F0
aW9uOjpwcm90b2NvbEFjY2Vzc29yU2V0dGVyKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0
b20vVjhTUUxUcmFuc2FjdGlvblN5bmNDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhT
UUxUcmFuc2FjdGlvblN5bmM6OmV4ZWN1dGVTcWxDYWxsYmFjayk6CisgICAgICAgICogYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4U1ZHTGVuZ3RoQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4
U1ZHTGVuZ3RoOjp2YWx1ZUFjY2Vzc29yR2V0dGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlY4U1ZH
TGVuZ3RoOjp2YWx1ZUFjY2Vzc29yU2V0dGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlY4U1ZHTGVu
Z3RoOjpjb252ZXJ0VG9TcGVjaWZpZWRVbml0c0NhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5n
cy92OC9jdXN0b20vVjhXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Z2V0T2JqZWN0UGFyYW1ldGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlY4V2ViR0xS
ZW5kZXJpbmdDb250ZXh0OjpnZXRBdHRhY2hlZFNoYWRlcnNDYWxsYmFjayk6CisgICAgICAgIChX
ZWJDb3JlOjpWOFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0RXh0ZW5zaW9uQ2FsbGJhY2spOgor
ICAgICAgICAoV2ViQ29yZTo6VjhXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldEZyYW1lYnVmZmVy
QXR0YWNobWVudFBhcmFtZXRlckNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlY4V2ViR0xS
ZW5kZXJpbmdDb250ZXh0OjpnZXRQYXJhbWV0ZXJDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3Jl
OjpWOFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0UHJvZ3JhbVBhcmFtZXRlckNhbGxiYWNrKToK
KyAgICAgICAgKFdlYkNvcmU6OlY4V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRTaGFkZXJQYXJh
bWV0ZXJDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpWOFdlYkdMUmVuZGVyaW5nQ29udGV4
dDo6Z2V0VW5pZm9ybUNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OnZlcnRleEF0dHJpYkFu
ZFVuaWZvcm1IZWxwZXJmKToKKyAgICAgICAgKFdlYkNvcmU6OnVuaWZvcm1IZWxwZXJpKToKKyAg
ICAgICAgKFdlYkNvcmU6OnVuaWZvcm1NYXRyaXhIZWxwZXIpOgorCiAyMDEyLTA0LTIzICBKdWxp
ZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgogCiAgICAgICAgIEN1dCBkZXBl
bmRlbmN5IG9uIFJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlIG91dHNpZGUgcmVuZGVy
aW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhMb2Nh
dGlvbkN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhMb2Nh
dGlvbkN1c3RvbS5jcHAKaW5kZXggNTBlY2EwM2I5YjEyMThmZGE5MGE1YmM1ODMzMjc3MjcxOTU1
OTJjMC4uOGRjMzkyNjRlZDhiZWE2ZWFlMTIxYjllOTcyYTZkNzk1ZGJlNmY1YSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TG9jYXRpb25DdXN0b20uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOExvY2F0aW9uQ3VzdG9t
LmNwcApAQCAtMTMxLDcgKzEzMSw3IEBAIHZvaWQgVjhMb2NhdGlvbjo6cHJvdG9jb2xBY2Nlc3Nv
clNldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgdjg6OkxvY2FsPHY4CiAgICAgRXhj
ZXB0aW9uQ29kZSBlYyA9IDA7CiAgICAgaW1wbC0+c2V0UHJvdG9jb2wocHJvdG9jb2wsIHN0YXRl
LT5hY3RpdmVXaW5kb3coKSwgc3RhdGUtPmZpcnN0V2luZG93KCksIGVjKTsKICAgICBpZiAoVU5M
SUtFTFkoZWMpKQotICAgICAgICBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMpOworICAgICAg
ICBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMsIGluZm8uR2V0SXNvbGF0ZSgpKTsKIH0KIAog
dm9pZCBWOExvY2F0aW9uOjpzZWFyY2hBY2Nlc3NvclNldHRlcih2ODo6TG9jYWw8djg6OlN0cmlu
Zz4gbmFtZSwgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsIGNvbnN0IHY4OjpBY2Nlc3Nvcklu
Zm8mIGluZm8pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhTUUxUcmFuc2FjdGlvblN5bmNDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4U1FMVHJhbnNhY3Rpb25TeW5jQ3VzdG9tLmNwcAppbmRleCA2NzhkNDQ0MzMy
OTUxMDY1ZWQ2NmFmOWUzMmU5YzQwN2NhMzhhYjcwLi41OWU0YzBkZTA0MDk4OTBhOTFkMjA0M2Qx
YjQzM2NhMjdhMTQ4N2M4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhTUUxUcmFuc2FjdGlvblN5bmNDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFNRTFRyYW5zYWN0aW9uU3luY0N1c3RvbS5jcHAKQEAgLTky
LDcgKzkyLDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4U1FMVHJhbnNhY3Rpb25TeW5jOjpl
eGVjdXRlU3FsQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW4KIAogICAgIEV4Y2VwdGlvbkNvZGUg
ZWMgPSAwOwogICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiByZXN1bHQgPSB0b1Y4KHRyYW5zYWN0
aW9uLT5leGVjdXRlU1FMKHN0YXRlbWVudCwgc3FsVmFsdWVzLCBlYyksIGFyZ3MuR2V0SXNvbGF0
ZSgpKTsKLSAgICBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMpOworICAgIFY4UHJveHk6OnNl
dERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFNW
R0xlbmd0aEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhT
VkdMZW5ndGhDdXN0b20uY3BwCmluZGV4IGEyNjMwNWE1MzA4ZmU1MGJlN2JjZWJkZjc0Y2JkMDYw
ZWUxMTM1MjIuLjJmNTkwOWExZjBmMzkyOThlMjMwMzgwZDIzOTdiZDgwM2RiODNiOTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFNWR0xlbmd0aEN1c3Rv
bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1ZHTGVuZ3Ro
Q3VzdG9tLmNwcApAQCAtNTAsNyArNTAsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhTVkdM
ZW5ndGg6OnZhbHVlQWNjZXNzb3JHZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbQogICAg
IFNWR0xlbmd0aENvbnRleHQgbGVuZ3RoQ29udGV4dCh3cmFwcGVyLT5jb250ZXh0RWxlbWVudCgp
KTsKICAgICBmbG9hdCB2YWx1ZSA9IGltcC52YWx1ZShsZW5ndGhDb250ZXh0LCBlYyk7CiAgICAg
aWYgKFVOTElLRUxZKGVjKSkgewotICAgICAgICBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMp
OworICAgICAgICBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMsIGluZm8uR2V0SXNvbGF0ZSgp
KTsKICAgICAgICAgcmV0dXJuIHY4OjpIYW5kbGU8djg6OlZhbHVlPigpOwogICAgIH0KICAgICBy
ZXR1cm4gdjg6Ok51bWJlcjo6TmV3KHZhbHVlKTsKQEAgLTYxLDcgKzYxLDcgQEAgdm9pZCBWOFNW
R0xlbmd0aDo6dmFsdWVBY2Nlc3NvclNldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwg
djg6OkxvY2FsPHY4OjoKICAgICBJTkNfU1RBVFMoIkRPTS5TVkdMZW5ndGgudmFsdWUuX3NldCIp
OwogICAgIFNWR1Byb3BlcnR5VGVhck9mZjxTVkdMZW5ndGg+KiB3cmFwcGVyID0gVjhTVkdMZW5n
dGg6OnRvTmF0aXZlKGluZm8uSG9sZGVyKCkpOwogICAgIGlmICh3cmFwcGVyLT5yb2xlKCkgPT0g
QW5pbVZhbFJvbGUpIHsKLSAgICAgICAgVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKE5PX01PRElG
SUNBVElPTl9BTExPV0VEX0VSUik7CisgICAgICAgIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihO
T19NT0RJRklDQVRJT05fQUxMT1dFRF9FUlIsIGluZm8uR2V0SXNvbGF0ZSgpKTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KIApAQCAtNzUsNyArNzUsNyBAQCB2b2lkIFY4U1ZHTGVuZ3RoOjp2YWx1
ZUFjY2Vzc29yU2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1lLCB2ODo6TG9jYWw8djg6
OgogICAgIFNWR0xlbmd0aENvbnRleHQgbGVuZ3RoQ29udGV4dCh3cmFwcGVyLT5jb250ZXh0RWxl
bWVudCgpKTsKICAgICBpbXAuc2V0VmFsdWUoc3RhdGljX2Nhc3Q8ZmxvYXQ+KHZhbHVlLT5OdW1i
ZXJWYWx1ZSgpKSwgbGVuZ3RoQ29udGV4dCwgZWMpOwogICAgIGlmIChVTkxJS0VMWShlYykpCi0g
ICAgICAgIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYyk7CisgICAgICAgIFY4UHJveHk6OnNl
dERPTUV4Y2VwdGlvbihlYywgaW5mby5HZXRJc29sYXRlKCkpOwogICAgIGVsc2UKICAgICAgICAg
d3JhcHBlci0+Y29tbWl0Q2hhbmdlKCk7CiB9CkBAIC04NSw3ICs4NSw3IEBAIHY4OjpIYW5kbGU8
djg6OlZhbHVlPiBWOFNWR0xlbmd0aDo6Y29udmVydFRvU3BlY2lmaWVkVW5pdHNDYWxsYmFjayhj
b25zdCB2ODo6QXJnCiAgICAgSU5DX1NUQVRTKCJET00uU1ZHTGVuZ3RoLmNvbnZlcnRUb1NwZWNp
ZmllZFVuaXRzIik7CiAgICAgU1ZHUHJvcGVydHlUZWFyT2ZmPFNWR0xlbmd0aD4qIHdyYXBwZXIg
PSBWOFNWR0xlbmd0aDo6dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7CiAgICAgaWYgKHdyYXBwZXIt
PnJvbGUoKSA9PSBBbmltVmFsUm9sZSkgewotICAgICAgICBWOFByb3h5OjpzZXRET01FeGNlcHRp
b24oTk9fTU9ESUZJQ0FUSU9OX0FMTE9XRURfRVJSKTsKKyAgICAgICAgVjhQcm94eTo6c2V0RE9N
RXhjZXB0aW9uKE5PX01PRElGSUNBVElPTl9BTExPV0VEX0VSUiwgYXJncy5HZXRJc29sYXRlKCkp
OwogICAgICAgICByZXR1cm4gdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCk7CiAgICAgfQogCkBAIC05
OCw3ICs5OCw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFNWR0xlbmd0aDo6Y29udmVydFRv
U3BlY2lmaWVkVW5pdHNDYWxsYmFjayhjb25zdCB2ODo6QXJnCiAgICAgU1ZHTGVuZ3RoQ29udGV4
dCBsZW5ndGhDb250ZXh0KHdyYXBwZXItPmNvbnRleHRFbGVtZW50KCkpOwogICAgIGltcC5jb252
ZXJ0VG9TcGVjaWZpZWRVbml0cyh1bml0VHlwZSwgbGVuZ3RoQ29udGV4dCwgZWMpOwogICAgIGlm
IChVTkxJS0VMWShlYykpCi0gICAgICAgIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYyk7Cisg
ICAgICAgIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOwog
ICAgIGVsc2UKICAgICAgICAgd3JhcHBlci0+Y29tbWl0Q2hhbmdlKCk7CiAgICAgcmV0dXJuIHY4
OjpIYW5kbGU8djg6OlZhbHVlPigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4V2ViR0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5j
cHAKaW5kZXggN2RjZWRiZTI1NDc1YjIzMDYxZjk2YjBkMWE4NjRkNmY4OWE4OTIyNS4uMGJkYzMx
ZTE4NTE3OWRhZDViY2RiNGFjMmU4YTA4ZDZlNzUzYTkzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViR0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXZWJHTFJlbmRlcmlu
Z0NvbnRleHRDdXN0b20uY3BwCkBAIC0yMTcsNyArMjE3LDcgQEAgZW51bSBPYmplY3RUeXBlIHsK
IHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gZ2V0T2JqZWN0UGFyYW1ldGVyKGNvbnN0IHY4
OjpBcmd1bWVudHMmIGFyZ3MsIE9iamVjdFR5cGUgb2JqZWN0VHlwZSkKIHsKICAgICBpZiAoYXJn
cy5MZW5ndGgoKSAhPSAyKSB7Ci0gICAgICAgIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihTWU5U
QVhfRVJSKTsKKyAgICAgICAgVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKFNZTlRBWF9FUlIsIGFy
Z3MuR2V0SXNvbGF0ZSgpKTsKICAgICAgICAgcmV0dXJuIG5vdEhhbmRsZWRCeUludGVyY2VwdG9y
KCk7CiAgICAgfQogCkBAIC0yNDUsNyArMjQ1LDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZh
bHVlPiBnZXRPYmplY3RQYXJhbWV0ZXIoY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncywgT2JqZWMK
ICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIGlmIChlYykgewotICAgICAgICBWOFByb3h5Ojpz
ZXRET01FeGNlcHRpb24oZWMpOworICAgICAgICBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMs
IGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICAgICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKICAg
ICB9CiAgICAgcmV0dXJuIHRvVjhPYmplY3QoaW5mbyk7CkBAIC0yNzEsNyArMjcxLDcgQEAgdjg6
OkhhbmRsZTx2ODo6VmFsdWU+IFY4V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRBdHRhY2hlZFNo
YWRlcnNDYWxsYmFjayhjb25zdAogICAgIElOQ19TVEFUUygiRE9NLldlYkdMUmVuZGVyaW5nQ29u
dGV4dC5nZXRBdHRhY2hlZFNoYWRlcnMoKSIpOwogCiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAx
KSB7Ci0gICAgICAgIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihTWU5UQVhfRVJSKTsKKyAgICAg
ICAgVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKFNZTlRBWF9FUlIsIGFyZ3MuR2V0SXNvbGF0ZSgp
KTsKICAgICAgICAgcmV0dXJuIG5vdEhhbmRsZWRCeUludGVyY2VwdG9yKCk7CiAgICAgfQogCkBA
IC0yODUsNyArMjg1LDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4V2ViR0xSZW5kZXJpbmdD
b250ZXh0OjpnZXRBdHRhY2hlZFNoYWRlcnNDYWxsYmFjayhjb25zdAogICAgIFZlY3RvcjxSZWZQ
dHI8V2ViR0xTaGFkZXI+ID4gc2hhZGVyczsKICAgICBib29sIHN1Y2NlZWQgPSBjb250ZXh0LT5n
ZXRBdHRhY2hlZFNoYWRlcnMocHJvZ3JhbSwgc2hhZGVycywgZWMpOwogICAgIGlmIChlYykgewot
ICAgICAgICBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMpOworICAgICAgICBWOFByb3h5Ojpz
ZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICAgICAgcmV0dXJuIHY4
OjpOdWxsKCk7CiAgICAgfQogICAgIGlmICghc3VjY2VlZCkKQEAgLTMwNyw3ICszMDcsNyBAQCB2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldEV4dGVuc2lv
bkNhbGxiYWNrKGNvbnN0IHY4OjpBcgogICAgIElOQ19TVEFUUygiRE9NLldlYkdMUmVuZGVyaW5n
Q29udGV4dC5nZXRFeHRlbnNpb25DYWxsYmFjaygpIik7CiAgICAgV2ViR0xSZW5kZXJpbmdDb250
ZXh0KiBpbXAgPSBWOFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dG9OYXRpdmUoYXJncy5Ib2xkZXIo
KSk7CiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAxKSB7Ci0gICAgICAgIFY4UHJveHk6OnNldERP
TUV4Y2VwdGlvbihTWU5UQVhfRVJSKTsKKyAgICAgICAgVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9u
KFNZTlRBWF9FUlIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICAgICAgcmV0dXJuIG5vdEhhbmRs
ZWRCeUludGVyY2VwdG9yKCk7CiAgICAgfQogICAgIFNUUklOR19UT19WOFBBUkFNRVRFUl9FWENF
UFRJT05fQkxPQ0soVjhQYXJhbWV0ZXI8PiwgbmFtZSwgYXJnc1swXSk7CkBAIC0zMjAsNyArMzIw
LDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRG
cmFtZWJ1ZmZlckF0dGFjaG1lbnRQYXJhbWV0ZXIKICAgICBJTkNfU1RBVFMoIkRPTS5XZWJHTFJl
bmRlcmluZ0NvbnRleHQuZ2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyKCkiKTsKIAog
ICAgIGlmIChhcmdzLkxlbmd0aCgpICE9IDMpIHsKLSAgICAgICAgVjhQcm94eTo6c2V0RE9NRXhj
ZXB0aW9uKFNZTlRBWF9FUlIpOworICAgICAgICBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oU1lO
VEFYX0VSUiwgYXJncy5HZXRJc29sYXRlKCkpOwogICAgICAgICByZXR1cm4gbm90SGFuZGxlZEJ5
SW50ZXJjZXB0b3IoKTsKICAgICB9CiAKQEAgLTMzMSw3ICszMzEsNyBAQCB2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4gVjhXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldEZyYW1lYnVmZmVyQXR0YWNobWVu
dFBhcmFtZXRlcgogICAgIHVuc2lnbmVkIHBuYW1lID0gdG9JbnQzMihhcmdzWzJdKTsKICAgICBX
ZWJHTEdldEluZm8gaW5mbyA9IGNvbnRleHQtPmdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFt
ZXRlcih0YXJnZXQsIGF0dGFjaG1lbnQsIHBuYW1lLCBlYyk7CiAgICAgaWYgKGVjKSB7Ci0gICAg
ICAgIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYyk7CisgICAgICAgIFY4UHJveHk6OnNldERP
TUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOwogICAgICAgICByZXR1cm4gdjg6OlVu
ZGVmaW5lZCgpOwogICAgIH0KICAgICByZXR1cm4gdG9WOE9iamVjdChpbmZvKTsKQEAgLTM0Miw3
ICszNDIsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhXZWJHTFJlbmRlcmluZ0NvbnRleHQ6
OmdldFBhcmFtZXRlckNhbGxiYWNrKGNvbnN0IHY4OjpBcgogICAgIElOQ19TVEFUUygiRE9NLldl
YkdMUmVuZGVyaW5nQ29udGV4dC5nZXRQYXJhbWV0ZXIoKSIpOwogCiAgICAgaWYgKGFyZ3MuTGVu
Z3RoKCkgIT0gMSkgewotICAgICAgICBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oU1lOVEFYX0VS
Uik7CisgICAgICAgIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihTWU5UQVhfRVJSLCBhcmdzLkdl
dElzb2xhdGUoKSk7CiAgICAgICAgIHJldHVybiBub3RIYW5kbGVkQnlJbnRlcmNlcHRvcigpOwog
ICAgIH0KIApAQCAtMzUxLDcgKzM1MSw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFdlYkdM
UmVuZGVyaW5nQ29udGV4dDo6Z2V0UGFyYW1ldGVyQ2FsbGJhY2soY29uc3Qgdjg6OkFyCiAgICAg
dW5zaWduZWQgcG5hbWUgPSB0b0ludDMyKGFyZ3NbMF0pOwogICAgIFdlYkdMR2V0SW5mbyBpbmZv
ID0gY29udGV4dC0+Z2V0UGFyYW1ldGVyKHBuYW1lLCBlYyk7CiAgICAgaWYgKGVjKSB7Ci0gICAg
ICAgIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYyk7CisgICAgICAgIFY4UHJveHk6OnNldERP
TUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOwogICAgICAgICByZXR1cm4gdjg6OlVu
ZGVmaW5lZCgpOwogICAgIH0KICAgICByZXR1cm4gdG9WOE9iamVjdChpbmZvKTsKQEAgLTM2Miw3
ICszNjIsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhXZWJHTFJlbmRlcmluZ0NvbnRleHQ6
OmdldFByb2dyYW1QYXJhbWV0ZXJDYWxsYmFjayhjb25zdAogICAgIElOQ19TVEFUUygiRE9NLldl
YkdMUmVuZGVyaW5nQ29udGV4dC5nZXRQcm9ncmFtUGFyYW1ldGVyKCkiKTsKIAogICAgIGlmIChh
cmdzLkxlbmd0aCgpICE9IDIpIHsKLSAgICAgICAgVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKFNZ
TlRBWF9FUlIpOworICAgICAgICBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oU1lOVEFYX0VSUiwg
YXJncy5HZXRJc29sYXRlKCkpOwogICAgICAgICByZXR1cm4gbm90SGFuZGxlZEJ5SW50ZXJjZXB0
b3IoKTsKICAgICB9CiAKQEAgLTM3Niw3ICszNzYsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4g
VjhXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldFByb2dyYW1QYXJhbWV0ZXJDYWxsYmFjayhjb25z
dAogICAgIHVuc2lnbmVkIHBuYW1lID0gdG9JbnQzMihhcmdzWzFdKTsKICAgICBXZWJHTEdldElu
Zm8gaW5mbyA9IGNvbnRleHQtPmdldFByb2dyYW1QYXJhbWV0ZXIocHJvZ3JhbSwgcG5hbWUsIGVj
KTsKICAgICBpZiAoZWMpIHsKLSAgICAgICAgVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjKTsK
KyAgICAgICAgVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7
CiAgICAgICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7CiAgICAgfQogICAgIHJldHVybiB0b1Y4
T2JqZWN0KGluZm8pOwpAQCAtMzkzLDcgKzM5Myw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBW
OFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0U2hhZGVyUGFyYW1ldGVyQ2FsbGJhY2soY29uc3QK
ICAgICBJTkNfU1RBVFMoIkRPTS5XZWJHTFJlbmRlcmluZ0NvbnRleHQuZ2V0U2hhZGVyUGFyYW1l
dGVyKCkiKTsKIAogICAgIGlmIChhcmdzLkxlbmd0aCgpICE9IDIpIHsKLSAgICAgICAgVjhQcm94
eTo6c2V0RE9NRXhjZXB0aW9uKFNZTlRBWF9FUlIpOworICAgICAgICBWOFByb3h5OjpzZXRET01F
eGNlcHRpb24oU1lOVEFYX0VSUiwgYXJncy5HZXRJc29sYXRlKCkpOwogICAgICAgICByZXR1cm4g
bm90SGFuZGxlZEJ5SW50ZXJjZXB0b3IoKTsKICAgICB9CiAKQEAgLTQwNyw3ICs0MDcsNyBAQCB2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldFNoYWRlclBh
cmFtZXRlckNhbGxiYWNrKGNvbnN0CiAgICAgdW5zaWduZWQgcG5hbWUgPSB0b0ludDMyKGFyZ3Nb
MV0pOwogICAgIFdlYkdMR2V0SW5mbyBpbmZvID0gY29udGV4dC0+Z2V0U2hhZGVyUGFyYW1ldGVy
KHNoYWRlciwgcG5hbWUsIGVjKTsKICAgICBpZiAoZWMpIHsKLSAgICAgICAgVjhQcm94eTo6c2V0
RE9NRXhjZXB0aW9uKGVjKTsKKyAgICAgICAgVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBh
cmdzLkdldElzb2xhdGUoKSk7CiAgICAgICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7CiAgICAg
fQogICAgIHJldHVybiB0b1Y4T2JqZWN0KGluZm8pOwpAQCAtNDM4LDcgKzQzOCw3IEBAIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiBWOFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0VW5pZm9ybUNhbGxi
YWNrKGNvbnN0IHY4OjpBcmd1CiAgICAgSU5DX1NUQVRTKCJET00uV2ViR0xSZW5kZXJpbmdDb250
ZXh0LmdldFVuaWZvcm0oKSIpOwogCiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgIT0gMikgewotICAg
ICAgICBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oU1lOVEFYX0VSUik7CisgICAgICAgIFY4UHJv
eHk6OnNldERPTUV4Y2VwdGlvbihTWU5UQVhfRVJSLCBhcmdzLkdldElzb2xhdGUoKSk7CiAgICAg
ICAgIHJldHVybiBub3RIYW5kbGVkQnlJbnRlcmNlcHRvcigpOwogICAgIH0KIApAQCAtNDU5LDcg
KzQ1OSw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6
Z2V0VW5pZm9ybUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1CiAKICAgICBXZWJHTEdldEluZm8gaW5m
byA9IGNvbnRleHQtPmdldFVuaWZvcm0ocHJvZ3JhbSwgbG9jYXRpb24sIGVjKTsKICAgICBpZiAo
ZWMpIHsKLSAgICAgICAgVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjKTsKKyAgICAgICAgVjhQ
cm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgICAgIHJl
dHVybiB2ODo6VW5kZWZpbmVkKCk7CiAgICAgfQogICAgIHJldHVybiB0b1Y4T2JqZWN0KGluZm8p
OwpAQCAtNTExLDcgKzUxMSw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdmVydGV4
QXR0cmliQW5kVW5pZm9ybUhlbHBlcmYoY29uc3Qgdjg6OkFyZ3VtZW50cyYKICAgICAvLyAqIGds
VmVydGV4QXR0cmliNGZ2KEdMaW50IGluZGV4LCBGbG9hdDMyQXJyYXkgZGF0YSk7CiAKICAgICBp
ZiAoYXJncy5MZW5ndGgoKSAhPSAyKSB7Ci0gICAgICAgIFY4UHJveHk6OnNldERPTUV4Y2VwdGlv
bihTWU5UQVhfRVJSKTsKKyAgICAgICAgVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKFNZTlRBWF9F
UlIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICAgICAgcmV0dXJuIG5vdEhhbmRsZWRCeUludGVy
Y2VwdG9yKCk7CiAgICAgfQogCkBAIC01NDcsNyArNTQ3LDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8
djg6OlZhbHVlPiB2ZXJ0ZXhBdHRyaWJBbmRVbmlmb3JtSGVscGVyZihjb25zdCB2ODo6QXJndW1l
bnRzJgogICAgICAgICAgICAgZGVmYXVsdDogQVNTRVJUX05PVF9SRUFDSEVEKCk7IGJyZWFrOwog
ICAgICAgICB9CiAgICAgICAgIGlmIChlYykKLSAgICAgICAgICAgIFY4UHJveHk6OnNldERPTUV4
Y2VwdGlvbihlYyk7CisgICAgICAgICAgICBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMsIGFy
Z3MuR2V0SXNvbGF0ZSgpKTsKICAgICAgICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKICAgICB9
CiAKQEAgLTU2MSw3ICs1NjEsNyBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHZlcnRl
eEF0dHJpYkFuZFVuaWZvcm1IZWxwZXJmKGNvbnN0IHY4OjpBcmd1bWVudHMmCiAgICAgZmxvYXQq
IGRhdGEgPSBqc0FycmF5VG9GbG9hdEFycmF5KGFycmF5LCBsZW4pOwogICAgIGlmICghZGF0YSkg
ewogICAgICAgICAvLyBGSVhNRTogY29uc2lkZXIgZGlmZmVyZW50IC8gYmV0dGVyIGV4Y2VwdGlv
biB0eXBlLgotICAgICAgICBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oU1lOVEFYX0VSUik7Cisg
ICAgICAgIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihTWU5UQVhfRVJSLCBhcmdzLkdldElzb2xh
dGUoKSk7CiAgICAgICAgIHJldHVybiBub3RIYW5kbGVkQnlJbnRlcmNlcHRvcigpOwogICAgIH0K
ICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKQEAgLTU3OCw3ICs1NzgsNyBAQCBzdGF0aWMgdjg6
OkhhbmRsZTx2ODo6VmFsdWU+IHZlcnRleEF0dHJpYkFuZFVuaWZvcm1IZWxwZXJmKGNvbnN0IHY4
OjpBcmd1bWVudHMmCiAgICAgfQogICAgIGZhc3RGcmVlKGRhdGEpOwogICAgIGlmIChlYykKLSAg
ICAgICAgVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjKTsKKyAgICAgICAgVjhQcm94eTo6c2V0
RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgcmV0dXJuIHY4OjpVbmRl
ZmluZWQoKTsKIH0KIApAQCAtNTk1LDcgKzU5NSw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpW
YWx1ZT4gdW5pZm9ybUhlbHBlcmkoY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncywKICAgICAvLyAq
IGdsVW5pZm9ybTRpdihHTFVuaWZvcm1Mb2NhdGlvbiBsb2NhdGlvbiwgSW50MzJBcnJheSBkYXRh
KTsKIAogICAgIGlmIChhcmdzLkxlbmd0aCgpICE9IDIpIHsKLSAgICAgICAgVjhQcm94eTo6c2V0
RE9NRXhjZXB0aW9uKFNZTlRBWF9FUlIpOworICAgICAgICBWOFByb3h5OjpzZXRET01FeGNlcHRp
b24oU1lOVEFYX0VSUiwgYXJncy5HZXRJc29sYXRlKCkpOwogICAgICAgICByZXR1cm4gbm90SGFu
ZGxlZEJ5SW50ZXJjZXB0b3IoKTsKICAgICB9CiAKQEAgLTYxOSw3ICs2MTksNyBAQCBzdGF0aWMg
djg6OkhhbmRsZTx2ODo6VmFsdWU+IHVuaWZvcm1IZWxwZXJpKGNvbnN0IHY4OjpBcmd1bWVudHMm
IGFyZ3MsCiAgICAgICAgICAgICBkZWZhdWx0OiBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgYnJlYWs7
CiAgICAgICAgIH0KICAgICAgICAgaWYgKGVjKQotICAgICAgICAgICAgVjhQcm94eTo6c2V0RE9N
RXhjZXB0aW9uKGVjKTsKKyAgICAgICAgICAgIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYywg
YXJncy5HZXRJc29sYXRlKCkpOwogICAgICAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOwogICAg
IH0KIApAQCAtNjMzLDcgKzYzMyw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdW5p
Zm9ybUhlbHBlcmkoY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncywKICAgICBpbnQqIGRhdGEgPSBq
c0FycmF5VG9JbnRBcnJheShhcnJheSwgbGVuKTsKICAgICBpZiAoIWRhdGEpIHsKICAgICAgICAg
Ly8gRklYTUU6IGNvbnNpZGVyIGRpZmZlcmVudCAvIGJldHRlciBleGNlcHRpb24gdHlwZS4KLSAg
ICAgICAgVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKFNZTlRBWF9FUlIpOworICAgICAgICBWOFBy
b3h5OjpzZXRET01FeGNlcHRpb24oU1lOVEFYX0VSUiwgYXJncy5HZXRJc29sYXRlKCkpOwogICAg
ICAgICByZXR1cm4gbm90SGFuZGxlZEJ5SW50ZXJjZXB0b3IoKTsKICAgICB9CiAgICAgRXhjZXB0
aW9uQ29kZSBlYyA9IDA7CkBAIC02NDYsNyArNjQ2LDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6
OlZhbHVlPiB1bmlmb3JtSGVscGVyaShjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzLAogICAgIH0K
ICAgICBmYXN0RnJlZShkYXRhKTsKICAgICBpZiAoZWMpCi0gICAgICAgIFY4UHJveHk6OnNldERP
TUV4Y2VwdGlvbihlYyk7CisgICAgICAgIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYywgYXJn
cy5HZXRJc29sYXRlKCkpOwogICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7CiB9CiAKQEAgLTcx
MSw3ICs3MTEsNyBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHVuaWZvcm1NYXRyaXhI
ZWxwZXIoY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncywKICAgICAvLwogICAgIC8vIEZJWE1FOiBu
ZWVkIHRvIGNoYW5nZSB0byBhY2NlcHQgRmxvYXQzMkFycmF5IGFzIHdlbGwuCiAgICAgaWYgKGFy
Z3MuTGVuZ3RoKCkgIT0gMykgewotICAgICAgICBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oU1lO
VEFYX0VSUik7CisgICAgICAgIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihTWU5UQVhfRVJSLCBh
cmdzLkdldElzb2xhdGUoKSk7CiAgICAgICAgIHJldHVybiBub3RIYW5kbGVkQnlJbnRlcmNlcHRv
cigpOwogICAgIH0KIApAQCAtNzM2LDcgKzczNiw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpW
YWx1ZT4gdW5pZm9ybU1hdHJpeEhlbHBlcihjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzLAogICAg
ICAgICAgICAgZGVmYXVsdDogQVNTRVJUX05PVF9SRUFDSEVEKCk7IGJyZWFrOwogICAgICAgICB9
CiAgICAgICAgIGlmIChlYykKLSAgICAgICAgICAgIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihl
Yyk7CisgICAgICAgICAgICBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNv
bGF0ZSgpKTsKICAgICAgICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKICAgICB9CiAKQEAgLTc1
MCw3ICs3NTAsNyBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHVuaWZvcm1NYXRyaXhI
ZWxwZXIoY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncywKICAgICBmbG9hdCogZGF0YSA9IGpzQXJy
YXlUb0Zsb2F0QXJyYXkoYXJyYXksIGxlbik7CiAgICAgaWYgKCFkYXRhKSB7CiAgICAgICAgIC8v
IEZJWE1FOiBjb25zaWRlciBkaWZmZXJlbnQgLyBiZXR0ZXIgZXhjZXB0aW9uIHR5cGUuCi0gICAg
ICAgIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihTWU5UQVhfRVJSKTsKKyAgICAgICAgVjhQcm94
eTo6c2V0RE9NRXhjZXB0aW9uKFNZTlRBWF9FUlIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICAg
ICAgcmV0dXJuIG5vdEhhbmRsZWRCeUludGVyY2VwdG9yKCk7CiAgICAgfQogICAgIEV4Y2VwdGlv
bkNvZGUgZWMgPSAwOwpAQCAtNzYyLDcgKzc2Miw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpW
YWx1ZT4gdW5pZm9ybU1hdHJpeEhlbHBlcihjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzLAogICAg
IH0KICAgICBmYXN0RnJlZShkYXRhKTsKICAgICBpZiAoZWMpCi0gICAgICAgIFY4UHJveHk6OnNl
dERPTUV4Y2VwdGlvbihlYyk7IAorICAgICAgICBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMs
IGFyZ3MuR2V0SXNvbGF0ZSgpKTsgCiAgICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>