<?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>187884</bug_id>
          
          <creation_ts>2018-07-21 18:24:07 -0700</creation_ts>
          <short_desc>Add lldb formatters for WebCore geometry types</short_desc>
          <delta_ts>2018-07-21 21:10:22 -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>New Bugs</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>dino</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1444088</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-07-21 18:24:07 -0700</bug_when>
    <thetext>Add lldb formatters for WebCore geometry types</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1444089</commentid>
    <comment_count>1</comment_count>
      <attachid>345523</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-07-21 18:24:55 -0700</bug_when>
    <thetext>Created attachment 345523
Patch with unit tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1444094</commentid>
    <comment_count>2</comment_count>
      <attachid>345526</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-07-21 18:34:32 -0700</bug_when>
    <thetext>Created attachment 345526
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1444104</commentid>
    <comment_count>3</comment_count>
      <attachid>345526</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-07-21 19:40:56 -0700</bug_when>
    <thetext>Comment on attachment 345526
Patch

Nice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1444117</commentid>
    <comment_count>4</comment_count>
      <attachid>345526</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-07-21 21:09:51 -0700</bug_when>
    <thetext>Comment on attachment 345526
Patch

Clearing flags on attachment: 345526

Committed r234087: &lt;https://trac.webkit.org/changeset/234087&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1444118</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-07-21 21:09:53 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1444119</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-07-21 21:10:22 -0700</bug_when>
    <thetext>&lt;rdar://problem/42472903&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>345523</attachid>
            <date>2018-07-21 18:24:55 -0700</date>
            <delta_ts>2018-07-21 18:35:02 -0700</delta_ts>
            <desc>Patch with unit tests</desc>
            <filename>bug-187884-20180721182454.patch</filename>
            <type>text/plain</type>
            <size>13357</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM0MDM5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMjRkZTgyMzdlYWYyMmIxZmI2ZjZhOTIyZDRlNDEyY2E5
YjFkNTU2ZS4uY2MwYjA4MGEwODczNmE0ZDc5ODJmODY4N2IyNzc0NmFjZmYyYzhkNiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY1
IEBACisyMDE4LTA3LTIxICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgor
CisgICAgICAgIEFkZCBsbGRiIGZvcm1hdHRlcnMgZm9yIFdlYkNvcmUgZ2VvbWV0cnkgdHlwZXMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4Nzg4NAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAg
QWRkIGxsZGIgZm9ybWF0dGVycyBmb3IgSW50UG9pbnQsIEludFNpemUsIEludFJlY3QsIEZsb2F0
UG9pbnQsIEZsb2F0U2l6ZSwgRmxvYXRSZWN0CisgICAgICAgIGFuZCBMYXlvdXRSZWN0LCB3aXRo
IHVuaXQgdGVzdHMuCisKKyAgICAgICAgKiBsbGRiL2xsZGJXZWJLaXRUZXN0ZXIvbWFpbi5jcHA6
CisgICAgICAgICh0ZXN0U3VtbWFyeVByb3ZpZGVycyk6CisgICAgICAgICogbGxkYi9sbGRiX3dl
YmtpdC5weToKKyAgICAgICAgKF9fbGxkYl9pbml0X21vZHVsZS5sbGRiX3dlYmtpdCk6CisgICAg
ICAgIChfX2xsZGJfaW5pdF9tb2R1bGUpOgorICAgICAgICAoV2ViQ29yZUxheW91dFJlY3RfU3Vt
bWFyeVByb3ZpZGVyKToKKyAgICAgICAgKFdlYkNvcmVJbnRTaXplX1N1bW1hcnlQcm92aWRlcik6
CisgICAgICAgIChXZWJDb3JlSW50UG9pbnRfU3VtbWFyeVByb3ZpZGVyKToKKyAgICAgICAgKFdl
YkNvcmVGbG9hdFNpemVfU3VtbWFyeVByb3ZpZGVyKToKKyAgICAgICAgKFdlYkNvcmVGbG9hdFBv
aW50X1N1bW1hcnlQcm92aWRlcik6CisgICAgICAgIChXZWJDb3JlSW50UmVjdF9TdW1tYXJ5UHJv
dmlkZXIpOgorICAgICAgICAoV2ViQ29yZUZsb2F0UmVjdF9TdW1tYXJ5UHJvdmlkZXIpOgorICAg
ICAgICAoV2ViQ29yZUxheW91dFJlY3RQcm92aWRlcik6CisgICAgICAgIChXZWJDb3JlTGF5b3V0
UmVjdFByb3ZpZGVyLl9faW5pdF9fKToKKyAgICAgICAgKFdlYkNvcmVMYXlvdXRSZWN0UHJvdmlk
ZXIuZ2V0X3gpOgorICAgICAgICAoV2ViQ29yZUxheW91dFJlY3RQcm92aWRlci5nZXRfeSk6Cisg
ICAgICAgIChXZWJDb3JlTGF5b3V0UmVjdFByb3ZpZGVyLmdldF93aWR0aCk6CisgICAgICAgIChX
ZWJDb3JlTGF5b3V0UmVjdFByb3ZpZGVyLmdldF9oZWlnaHQpOgorICAgICAgICAoV2ViQ29yZUlu
dFBvaW50UHJvdmlkZXIpOgorICAgICAgICAoV2ViQ29yZUludFBvaW50UHJvdmlkZXIuX19pbml0
X18pOgorICAgICAgICAoV2ViQ29yZUludFBvaW50UHJvdmlkZXIuZ2V0X3gpOgorICAgICAgICAo
V2ViQ29yZUludFBvaW50UHJvdmlkZXIuZ2V0X3kpOgorICAgICAgICAoV2ViQ29yZUludFNpemVQ
cm92aWRlcik6CisgICAgICAgIChXZWJDb3JlSW50U2l6ZVByb3ZpZGVyLl9faW5pdF9fKToKKyAg
ICAgICAgKFdlYkNvcmVJbnRTaXplUHJvdmlkZXIuZ2V0X3dpZHRoKToKKyAgICAgICAgKFdlYkNv
cmVJbnRTaXplUHJvdmlkZXIuZ2V0X2hlaWdodCk6CisgICAgICAgIChXZWJDb3JlSW50UmVjdFBy
b3ZpZGVyKToKKyAgICAgICAgKFdlYkNvcmVJbnRSZWN0UHJvdmlkZXIuX19pbml0X18pOgorICAg
ICAgICAoV2ViQ29yZUludFJlY3RQcm92aWRlci5nZXRfeCk6CisgICAgICAgIChXZWJDb3JlSW50
UmVjdFByb3ZpZGVyLmdldF95KToKKyAgICAgICAgKFdlYkNvcmVJbnRSZWN0UHJvdmlkZXIuZ2V0
X3dpZHRoKToKKyAgICAgICAgKFdlYkNvcmVJbnRSZWN0UHJvdmlkZXIuZ2V0X2hlaWdodCk6Cisg
ICAgICAgIChXZWJDb3JlRmxvYXRQb2ludFByb3ZpZGVyKToKKyAgICAgICAgKFdlYkNvcmVGbG9h
dFBvaW50UHJvdmlkZXIuX19pbml0X18pOgorICAgICAgICAoV2ViQ29yZUZsb2F0UG9pbnRQcm92
aWRlci5nZXRfeCk6CisgICAgICAgIChXZWJDb3JlRmxvYXRQb2ludFByb3ZpZGVyLmdldF95KToK
KyAgICAgICAgKFdlYkNvcmVGbG9hdFNpemVQcm92aWRlcik6CisgICAgICAgIChXZWJDb3JlRmxv
YXRTaXplUHJvdmlkZXIuX19pbml0X18pOgorICAgICAgICAoV2ViQ29yZUZsb2F0U2l6ZVByb3Zp
ZGVyLmdldF93aWR0aCk6CisgICAgICAgIChXZWJDb3JlRmxvYXRTaXplUHJvdmlkZXIuZ2V0X2hl
aWdodCk6CisgICAgICAgIChXZWJDb3JlRmxvYXRSZWN0UHJvdmlkZXIpOgorICAgICAgICAoV2Vi
Q29yZUZsb2F0UmVjdFByb3ZpZGVyLl9faW5pdF9fKToKKyAgICAgICAgKFdlYkNvcmVGbG9hdFJl
Y3RQcm92aWRlci5nZXRfeCk6CisgICAgICAgIChXZWJDb3JlRmxvYXRSZWN0UHJvdmlkZXIuZ2V0
X3kpOgorICAgICAgICAoV2ViQ29yZUZsb2F0UmVjdFByb3ZpZGVyLmdldF93aWR0aCk6CisgICAg
ICAgIChXZWJDb3JlRmxvYXRSZWN0UHJvdmlkZXIuZ2V0X2hlaWdodCk6CisgICAgICAgICogbGxk
Yi9sbGRiX3dlYmtpdF91bml0dGVzdC5weToKKyAgICAgICAgKFRlc3RTdW1tYXJ5UHJvdmlkZXJz
KToKKyAgICAgICAgKFRlc3RTdW1tYXJ5UHJvdmlkZXJzLnNlcmlhbF90ZXN0X1dlYkNvcmVJbnRS
ZWN0X1N1bW1hcnlQcm92aWRlcik6CisgICAgICAgIChUZXN0U3VtbWFyeVByb3ZpZGVycy5zZXJp
YWxfdGVzdF9XZWJDb3JlRmxvYXRSZWN0X1N1bW1hcnlQcm92aWRlcik6CisgICAgICAgIChUZXN0
U3VtbWFyeVByb3ZpZGVycy5zZXJpYWxfdGVzdF9XZWJDb3JlTGF5b3V0UmVjdF9TdW1tYXJ5UHJv
dmlkZXIpOgorCiAyMDE4LTA3LTIwICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlh
LmNvbT4KIAogICAgICAgICBbR1RLXVtXUEVdIGVuYWJsZS1tZWRpYS1jYXBhYmlsaXRpZXMgd2Vi
c2V0dGluZwpkaWZmIC0tZ2l0IGEvVG9vbHMvbGxkYi9sbGRiV2ViS2l0VGVzdGVyL21haW4uY3Bw
IGIvVG9vbHMvbGxkYi9sbGRiV2ViS2l0VGVzdGVyL21haW4uY3BwCmluZGV4IDcxYTI5ODVmNDFh
YTFlM2ZiYzA1MzA3ZGFiNzUyNDkzMWI1NjY5MGEuLjJjY2QxZDQxNTFlZDk4N2NjN2UzOWMxZTJl
ZDNmZWU3NWI2MjE0OTcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL2xsZGIvbGxkYldlYktpdFRlc3Rlci9t
YWluLmNwcAorKysgYi9Ub29scy9sbGRiL2xsZGJXZWJLaXRUZXN0ZXIvbWFpbi5jcHAKQEAgLTI4
LDYgKzI4LDkgQEAKICNpbmNsdWRlICJEdW1wQ2xhc3NMYXlvdXRUZXN0aW5nLmgiCiAjaW5jbHVk
ZSA8c3RkaW8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL0NvbG9yLmg+CisjaW5jbHVkZSA8V2ViQ29y
ZS9GbG9hdFJlY3QuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0ludFJlY3QuaD4KKyNpbmNsdWRlIDxX
ZWJDb3JlL0xheW91dFJlY3QuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+
CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKQEAgLTY5LDYgKzcyLDEwIEBAIHN0
YXRpYyB2b2lkIHRlc3RTdW1tYXJ5UHJvdmlkZXJzKCkKICAgICBhdXRvIHJnYmFDb2xvciA9IFdl
YkNvcmU6OkNvbG9yIHsgMjU1LCAxMjgsIDY0LCAxMjggfTsKICAgICBhdXRvIGV4dGVuZGVkQ29s
b3IgPSBXZWJDb3JlOjpDb2xvciB7IDAuMSwgMC4yLCAwLjMsIDAuNCwgV2ViQ29yZTo6Q29sb3JT
cGFjZURpc3BsYXlQMyB9OwogICAgIGF1dG8gc2VtYW50aWNDb2xvciA9IFdlYkNvcmU6OkNvbG9y
IHsgV2ViQ29yZTo6bWFrZVJHQkEoMjU1LCAyNTUsIDI1NSwgMjU1KSwgV2ViQ29yZTo6Q29sb3I6
OlNlbWFudGljIH07CisgICAgCisgICAgYXV0byBpbnRSZWN0ID0gV2ViQ29yZTo6SW50UmVjdCgx
LCAyLCAzLCA0KTsKKyAgICBhdXRvIGZsb2F0UmVjdCA9IFdlYkNvcmU6OkZsb2F0UmVjdCg1LjUs
IDYuMCwgNy4yNSwgOC43NSk7CisgICAgYXV0byBsYXlvdXRSZWN0ID0gV2ViQ29yZTo6TGF5b3V0
UmVjdCg5LCAxMCwgMTEsIDEyKTsKIAogICAgIGJyZWFrRm9yVGVzdGluZ1N1bW1hcnlQcm92aWRl
cnMoKTsKIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL2xsZGIvbGxkYl93ZWJraXQucHkgYi9Ub29scy9s
bGRiL2xsZGJfd2Via2l0LnB5CmluZGV4IGJmYzAxNGUwOGVmNWRmMzhjN2I2M2ZiZDk5NTAyZDg0
Y2ZjMjYyOTkuLjVmMjljYzRmMjI0MTI4ZWYwZTc2N2ZmZmRlMzE1ZDVhNjFkNjc2ZjcgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL2xsZGIvbGxkYl93ZWJraXQucHkKKysrIGIvVG9vbHMvbGxkYi9sbGRiX3dl
YmtpdC5weQpAQCAtNDQsMTEgKzQ0LDIzIEBAIGRlZiBfX2xsZGJfaW5pdF9tb2R1bGUoZGVidWdn
ZXIsIGRpY3QpOgogICAgIGRlYnVnZ2VyLkhhbmRsZUNvbW1hbmQoJ3R5cGUgc3VtbWFyeSBhZGQg
LS1leHBhbmQgLUYgbGxkYl93ZWJraXQuV1RGTWVkaWFUaW1lX1N1bW1hcnlQcm92aWRlciBXVEY6
Ok1lZGlhVGltZScpCiAgICAgZGVidWdnZXIuSGFuZGxlQ29tbWFuZCgndHlwZSBzeW50aGV0aWMg
YWRkIC14ICJXVEY6OlZlY3RvcjwuKz4kIiAtLXB5dGhvbi1jbGFzcyBsbGRiX3dlYmtpdC5XVEZW
ZWN0b3JQcm92aWRlcicpCiAgICAgZGVidWdnZXIuSGFuZGxlQ29tbWFuZCgndHlwZSBzeW50aGV0
aWMgYWRkIC14ICJXVEY6Okhhc2hUYWJsZTwuKz4kIiAtLXB5dGhvbi1jbGFzcyBsbGRiX3dlYmtp
dC5XVEZIYXNoVGFibGVQcm92aWRlcicpCisKKyAgICBkZWJ1Z2dlci5IYW5kbGVDb21tYW5kKCd0
eXBlIHN1bW1hcnkgYWRkIC1GIGxsZGJfd2Via2l0LldlYkNvcmVVUkxfU3VtbWFyeVByb3ZpZGVy
IFdlYkNvcmU6OlVSTCcpCisKICAgICBkZWJ1Z2dlci5IYW5kbGVDb21tYW5kKCd0eXBlIHN1bW1h
cnkgYWRkIC1GIGxsZGJfd2Via2l0LldlYkNvcmVDb2xvcl9TdW1tYXJ5UHJvdmlkZXIgV2ViQ29y
ZTo6Q29sb3InKQorCiAgICAgZGVidWdnZXIuSGFuZGxlQ29tbWFuZCgndHlwZSBzdW1tYXJ5IGFk
ZCAtRiBsbGRiX3dlYmtpdC5XZWJDb3JlTGF5b3V0VW5pdF9TdW1tYXJ5UHJvdmlkZXIgV2ViQ29y
ZTo6TGF5b3V0VW5pdCcpCiAgICAgZGVidWdnZXIuSGFuZGxlQ29tbWFuZCgndHlwZSBzdW1tYXJ5
IGFkZCAtRiBsbGRiX3dlYmtpdC5XZWJDb3JlTGF5b3V0U2l6ZV9TdW1tYXJ5UHJvdmlkZXIgV2Vi
Q29yZTo6TGF5b3V0U2l6ZScpCiAgICAgZGVidWdnZXIuSGFuZGxlQ29tbWFuZCgndHlwZSBzdW1t
YXJ5IGFkZCAtRiBsbGRiX3dlYmtpdC5XZWJDb3JlTGF5b3V0UG9pbnRfU3VtbWFyeVByb3ZpZGVy
IFdlYkNvcmU6OkxheW91dFBvaW50JykKLSAgICBkZWJ1Z2dlci5IYW5kbGVDb21tYW5kKCd0eXBl
IHN1bW1hcnkgYWRkIC1GIGxsZGJfd2Via2l0LldlYkNvcmVVUkxfU3VtbWFyeVByb3ZpZGVyIFdl
YkNvcmU6OlVSTCcpCisgICAgZGVidWdnZXIuSGFuZGxlQ29tbWFuZCgndHlwZSBzdW1tYXJ5IGFk
ZCAtRiBsbGRiX3dlYmtpdC5XZWJDb3JlTGF5b3V0UmVjdF9TdW1tYXJ5UHJvdmlkZXIgV2ViQ29y
ZTo6TGF5b3V0UmVjdCcpCisKKyAgICBkZWJ1Z2dlci5IYW5kbGVDb21tYW5kKCd0eXBlIHN1bW1h
cnkgYWRkIC1GIGxsZGJfd2Via2l0LldlYkNvcmVJbnRTaXplX1N1bW1hcnlQcm92aWRlciBXZWJD
b3JlOjpJbnRTaXplJykKKyAgICBkZWJ1Z2dlci5IYW5kbGVDb21tYW5kKCd0eXBlIHN1bW1hcnkg
YWRkIC1GIGxsZGJfd2Via2l0LldlYkNvcmVJbnRQb2ludF9TdW1tYXJ5UHJvdmlkZXIgV2ViQ29y
ZTo6SW50UG9pbnQnKQorICAgIGRlYnVnZ2VyLkhhbmRsZUNvbW1hbmQoJ3R5cGUgc3VtbWFyeSBh
ZGQgLUYgbGxkYl93ZWJraXQuV2ViQ29yZUludFJlY3RfU3VtbWFyeVByb3ZpZGVyIFdlYkNvcmU6
OkludFJlY3QnKQorCisgICAgZGVidWdnZXIuSGFuZGxlQ29tbWFuZCgndHlwZSBzdW1tYXJ5IGFk
ZCAtRiBsbGRiX3dlYmtpdC5XZWJDb3JlRmxvYXRTaXplX1N1bW1hcnlQcm92aWRlciBXZWJDb3Jl
OjpGbG9hdFNpemUnKQorICAgIGRlYnVnZ2VyLkhhbmRsZUNvbW1hbmQoJ3R5cGUgc3VtbWFyeSBh
ZGQgLUYgbGxkYl93ZWJraXQuV2ViQ29yZUZsb2F0UG9pbnRfU3VtbWFyeVByb3ZpZGVyIFdlYkNv
cmU6OkZsb2F0UG9pbnQnKQorICAgIGRlYnVnZ2VyLkhhbmRsZUNvbW1hbmQoJ3R5cGUgc3VtbWFy
eSBhZGQgLUYgbGxkYl93ZWJraXQuV2ViQ29yZUZsb2F0UmVjdF9TdW1tYXJ5UHJvdmlkZXIgV2Vi
Q29yZTo6RmxvYXRSZWN0JykKIAogCiBkZWYgV1RGU3RyaW5nX1N1bW1hcnlQcm92aWRlcih2YWxv
YmosIGRpY3QpOgpAQCAtMTIyLDYgKzEzNCw0MyBAQCBkZWYgV2ViQ29yZUxheW91dFBvaW50X1N1
bW1hcnlQcm92aWRlcih2YWxvYmosIGRpY3QpOgogICAgIHJldHVybiAieyB4ID0gJXMsIHkgPSAl
cyB9IiAlIChwcm92aWRlci5nZXRfeCgpLCBwcm92aWRlci5nZXRfeSgpKQogCiAKK2RlZiBXZWJD
b3JlTGF5b3V0UmVjdF9TdW1tYXJ5UHJvdmlkZXIodmFsb2JqLCBkaWN0KToKKyAgICBwcm92aWRl
ciA9IFdlYkNvcmVMYXlvdXRSZWN0UHJvdmlkZXIodmFsb2JqLCBkaWN0KQorICAgIHJldHVybiAi
eyB4ID0gJXMsIHkgPSAlcywgd2lkdGggPSAlcywgaGVpZ2h0ID0gJXMgfSIgJSAocHJvdmlkZXIu
Z2V0X3goKSwgcHJvdmlkZXIuZ2V0X3koKSwgcHJvdmlkZXIuZ2V0X3dpZHRoKCksIHByb3ZpZGVy
LmdldF9oZWlnaHQoKSkKKworCitkZWYgV2ViQ29yZUludFNpemVfU3VtbWFyeVByb3ZpZGVyKHZh
bG9iaiwgZGljdCk6CisgICAgcHJvdmlkZXIgPSBXZWJDb3JlSW50U2l6ZVByb3ZpZGVyKHZhbG9i
aiwgZGljdCkKKyAgICByZXR1cm4gInsgd2lkdGggPSAlcywgaGVpZ2h0ID0gJXMgfSIgJSAocHJv
dmlkZXIuZ2V0X3dpZHRoKCksIHByb3ZpZGVyLmdldF9oZWlnaHQoKSkKKworCitkZWYgV2ViQ29y
ZUludFBvaW50X1N1bW1hcnlQcm92aWRlcih2YWxvYmosIGRpY3QpOgorICAgIHByb3ZpZGVyID0g
V2ViQ29yZUludFBvaW50UHJvdmlkZXIodmFsb2JqLCBkaWN0KQorICAgIHJldHVybiAieyB4ID0g
JXMsIHkgPSAlcyB9IiAlIChwcm92aWRlci5nZXRfeCgpLCBwcm92aWRlci5nZXRfeSgpKQorCisK
K2RlZiBXZWJDb3JlRmxvYXRTaXplX1N1bW1hcnlQcm92aWRlcih2YWxvYmosIGRpY3QpOgorICAg
IHByb3ZpZGVyID0gV2ViQ29yZUZsb2F0U2l6ZVByb3ZpZGVyKHZhbG9iaiwgZGljdCkKKyAgICBy
ZXR1cm4gInsgd2lkdGggPSAlcywgaGVpZ2h0ID0gJXMgfSIgJSAocHJvdmlkZXIuZ2V0X3dpZHRo
KCksIHByb3ZpZGVyLmdldF9oZWlnaHQoKSkKKworCitkZWYgV2ViQ29yZUZsb2F0UG9pbnRfU3Vt
bWFyeVByb3ZpZGVyKHZhbG9iaiwgZGljdCk6CisgICAgcHJvdmlkZXIgPSBXZWJDb3JlRmxvYXRQ
b2ludFByb3ZpZGVyKHZhbG9iaiwgZGljdCkKKyAgICByZXR1cm4gInsgeCA9ICVzLCB5ID0gJXMg
fSIgJSAocHJvdmlkZXIuZ2V0X3goKSwgcHJvdmlkZXIuZ2V0X3koKSkKKworCitkZWYgV2ViQ29y
ZUludFJlY3RfU3VtbWFyeVByb3ZpZGVyKHZhbG9iaiwgZGljdCk6CisgICAgcHJvdmlkZXIgPSBX
ZWJDb3JlSW50UmVjdFByb3ZpZGVyKHZhbG9iaiwgZGljdCkKKyAgICByZXR1cm4gInsgeCA9ICVz
LCB5ID0gJXMsIHdpZHRoID0gJXMsIGhlaWdodCA9ICVzIH0iICUgKHByb3ZpZGVyLmdldF94KCks
IHByb3ZpZGVyLmdldF95KCksIHByb3ZpZGVyLmdldF93aWR0aCgpLCBwcm92aWRlci5nZXRfaGVp
Z2h0KCkpCisKKworZGVmIFdlYkNvcmVGbG9hdFJlY3RfU3VtbWFyeVByb3ZpZGVyKHZhbG9iaiwg
ZGljdCk6CisgICAgcHJvdmlkZXIgPSBXZWJDb3JlRmxvYXRSZWN0UHJvdmlkZXIodmFsb2JqLCBk
aWN0KQorICAgIHJldHVybiAieyB4ID0gJXMsIHkgPSAlcywgd2lkdGggPSAlcywgaGVpZ2h0ID0g
JXMgfSIgJSAocHJvdmlkZXIuZ2V0X3goKSwgcHJvdmlkZXIuZ2V0X3koKSwgcHJvdmlkZXIuZ2V0
X3dpZHRoKCksIHByb3ZpZGVyLmdldF9oZWlnaHQoKSkKKworCisKKwogZGVmIGJ0anMoZGVidWdn
ZXIsIGNvbW1hbmQsIHJlc3VsdCwgaW50ZXJuYWxfZGljdCk6CiAgICAgJycnUHJpbnRzIGEgc3Rh
Y2sgdHJhY2Ugb2YgY3VycmVudCB0aHJlYWQgd2l0aCBKYXZhU2NyaXB0IGZyYW1lcyBkZWNvZGVk
LiAgVGFrZXMgb3B0aW9uYWwgZnJhbWUgY291bnQgYXJndW1lbnQnJycKIApAQCAtNDAxLDYgKzQ1
MCwxMDggQEAgY2xhc3MgV2ViQ29yZUxheW91dFBvaW50UHJvdmlkZXI6CiAgICAgICAgIHJldHVy
biBXZWJDb3JlTGF5b3V0VW5pdFByb3ZpZGVyKHNlbGYudmFsb2JqLkdldENoaWxkTWVtYmVyV2l0
aE5hbWUoJ21feScpLCBkaWN0KS50b19zdHJpbmcoKQogCiAKK2NsYXNzIFdlYkNvcmVMYXlvdXRS
ZWN0UHJvdmlkZXI6CisgICAgIlByaW50IGEgV2ViQ29yZTo6TGF5b3V0UmVjdCIKKyAgICBkZWYg
X19pbml0X18oc2VsZiwgdmFsb2JqLCBkaWN0KToKKyAgICAgICAgc2VsZi52YWxvYmogPSB2YWxv
YmoKKworICAgIGRlZiBnZXRfeChzZWxmKToKKyAgICAgICAgcmV0dXJuIFdlYkNvcmVMYXlvdXRQ
b2ludFByb3ZpZGVyKHNlbGYudmFsb2JqLkdldENoaWxkTWVtYmVyV2l0aE5hbWUoJ21fbG9jYXRp
b24nKSwgZGljdCkuZ2V0X3goKQorCisgICAgZGVmIGdldF95KHNlbGYpOgorICAgICAgICByZXR1
cm4gV2ViQ29yZUxheW91dFBvaW50UHJvdmlkZXIoc2VsZi52YWxvYmouR2V0Q2hpbGRNZW1iZXJX
aXRoTmFtZSgnbV9sb2NhdGlvbicpLCBkaWN0KS5nZXRfeSgpCisKKyAgICBkZWYgZ2V0X3dpZHRo
KHNlbGYpOgorICAgICAgICByZXR1cm4gV2ViQ29yZUxheW91dFNpemVQcm92aWRlcihzZWxmLnZh
bG9iai5HZXRDaGlsZE1lbWJlcldpdGhOYW1lKCdtX3NpemUnKSwgZGljdCkuZ2V0X3dpZHRoKCkK
KworICAgIGRlZiBnZXRfaGVpZ2h0KHNlbGYpOgorICAgICAgICByZXR1cm4gV2ViQ29yZUxheW91
dFNpemVQcm92aWRlcihzZWxmLnZhbG9iai5HZXRDaGlsZE1lbWJlcldpdGhOYW1lKCdtX3NpemUn
KSwgZGljdCkuZ2V0X2hlaWdodCgpCisKKworY2xhc3MgV2ViQ29yZUludFBvaW50UHJvdmlkZXI6
CisgICAgIlByaW50IGEgV2ViQ29yZTo6SW50UG9pbnQiCisgICAgZGVmIF9faW5pdF9fKHNlbGYs
IHZhbG9iaiwgZGljdCk6CisgICAgICAgIHNlbGYudmFsb2JqID0gdmFsb2JqCisKKyAgICBkZWYg
Z2V0X3goc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLnZhbG9iai5HZXRDaGlsZE1lbWJlcldp
dGhOYW1lKCdtX3gnKS5HZXRWYWx1ZUFzU2lnbmVkKCkKKworICAgIGRlZiBnZXRfeShzZWxmKToK
KyAgICAgICAgcmV0dXJuIHNlbGYudmFsb2JqLkdldENoaWxkTWVtYmVyV2l0aE5hbWUoJ21feScp
LkdldFZhbHVlQXNTaWduZWQoKQorCisKK2NsYXNzIFdlYkNvcmVJbnRTaXplUHJvdmlkZXI6Cisg
ICAgIlByaW50IGEgV2ViQ29yZTo6SW50U2l6ZSIKKyAgICBkZWYgX19pbml0X18oc2VsZiwgdmFs
b2JqLCBkaWN0KToKKyAgICAgICAgc2VsZi52YWxvYmogPSB2YWxvYmoKKworICAgIGRlZiBnZXRf
d2lkdGgoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLnZhbG9iai5HZXRDaGlsZE1lbWJlcldp
dGhOYW1lKCdtX3dpZHRoJykuR2V0VmFsdWVBc1NpZ25lZCgpCisKKyAgICBkZWYgZ2V0X2hlaWdo
dChzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYudmFsb2JqLkdldENoaWxkTWVtYmVyV2l0aE5h
bWUoJ21faGVpZ2h0JykuR2V0VmFsdWVBc1NpZ25lZCgpCisKKworY2xhc3MgV2ViQ29yZUludFJl
Y3RQcm92aWRlcjoKKyAgICAiUHJpbnQgYSBXZWJDb3JlOjpJbnRSZWN0IgorICAgIGRlZiBfX2lu
aXRfXyhzZWxmLCB2YWxvYmosIGRpY3QpOgorICAgICAgICBzZWxmLnZhbG9iaiA9IHZhbG9iagor
CisgICAgZGVmIGdldF94KHNlbGYpOgorICAgICAgICByZXR1cm4gV2ViQ29yZUludFBvaW50UHJv
dmlkZXIoc2VsZi52YWxvYmouR2V0Q2hpbGRNZW1iZXJXaXRoTmFtZSgnbV9sb2NhdGlvbicpLCBk
aWN0KS5nZXRfeCgpCisKKyAgICBkZWYgZ2V0X3koc2VsZik6CisgICAgICAgIHJldHVybiBXZWJD
b3JlSW50UG9pbnRQcm92aWRlcihzZWxmLnZhbG9iai5HZXRDaGlsZE1lbWJlcldpdGhOYW1lKCdt
X2xvY2F0aW9uJyksIGRpY3QpLmdldF95KCkKKworICAgIGRlZiBnZXRfd2lkdGgoc2VsZik6Cisg
ICAgICAgIHJldHVybiBXZWJDb3JlSW50U2l6ZVByb3ZpZGVyKHNlbGYudmFsb2JqLkdldENoaWxk
TWVtYmVyV2l0aE5hbWUoJ21fc2l6ZScpLCBkaWN0KS5nZXRfd2lkdGgoKQorCisgICAgZGVmIGdl
dF9oZWlnaHQoc2VsZik6CisgICAgICAgIHJldHVybiBXZWJDb3JlSW50U2l6ZVByb3ZpZGVyKHNl
bGYudmFsb2JqLkdldENoaWxkTWVtYmVyV2l0aE5hbWUoJ21fc2l6ZScpLCBkaWN0KS5nZXRfaGVp
Z2h0KCkKKworCitjbGFzcyBXZWJDb3JlRmxvYXRQb2ludFByb3ZpZGVyOgorICAgICJQcmludCBh
IFdlYkNvcmU6OkZsb2F0UG9pbnQiCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHZhbG9iaiwgZGlj
dCk6CisgICAgICAgIHNlbGYudmFsb2JqID0gdmFsb2JqCisKKyAgICBkZWYgZ2V0X3goc2VsZik6
CisgICAgICAgIHJldHVybiBmbG9hdChzZWxmLnZhbG9iai5HZXRDaGlsZE1lbWJlcldpdGhOYW1l
KCdtX3gnKS5HZXRWYWx1ZSgpKQorCisgICAgZGVmIGdldF95KHNlbGYpOgorICAgICAgICByZXR1
cm4gZmxvYXQoc2VsZi52YWxvYmouR2V0Q2hpbGRNZW1iZXJXaXRoTmFtZSgnbV95JykuR2V0VmFs
dWUoKSkKKworCitjbGFzcyBXZWJDb3JlRmxvYXRTaXplUHJvdmlkZXI6CisgICAgIlByaW50IGEg
V2ViQ29yZTo6RmxvYXRTaXplIgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCB2YWxvYmosIGRpY3Qp
OgorICAgICAgICBzZWxmLnZhbG9iaiA9IHZhbG9iagorCisgICAgZGVmIGdldF93aWR0aChzZWxm
KToKKyAgICAgICAgcmV0dXJuIGZsb2F0KHNlbGYudmFsb2JqLkdldENoaWxkTWVtYmVyV2l0aE5h
bWUoJ21fd2lkdGgnKS5HZXRWYWx1ZSgpKQorCisgICAgZGVmIGdldF9oZWlnaHQoc2VsZik6Cisg
ICAgICAgIHJldHVybiBmbG9hdChzZWxmLnZhbG9iai5HZXRDaGlsZE1lbWJlcldpdGhOYW1lKCdt
X2hlaWdodCcpLkdldFZhbHVlKCkpCisKKworY2xhc3MgV2ViQ29yZUZsb2F0UmVjdFByb3ZpZGVy
OgorICAgICJQcmludCBhIFdlYkNvcmU6OkZsb2F0UmVjdCIKKyAgICBkZWYgX19pbml0X18oc2Vs
ZiwgdmFsb2JqLCBkaWN0KToKKyAgICAgICAgc2VsZi52YWxvYmogPSB2YWxvYmoKKworICAgIGRl
ZiBnZXRfeChzZWxmKToKKyAgICAgICAgcmV0dXJuIFdlYkNvcmVGbG9hdFBvaW50UHJvdmlkZXIo
c2VsZi52YWxvYmouR2V0Q2hpbGRNZW1iZXJXaXRoTmFtZSgnbV9sb2NhdGlvbicpLCBkaWN0KS5n
ZXRfeCgpCisKKyAgICBkZWYgZ2V0X3koc2VsZik6CisgICAgICAgIHJldHVybiBXZWJDb3JlRmxv
YXRQb2ludFByb3ZpZGVyKHNlbGYudmFsb2JqLkdldENoaWxkTWVtYmVyV2l0aE5hbWUoJ21fbG9j
YXRpb24nKSwgZGljdCkuZ2V0X3koKQorCisgICAgZGVmIGdldF93aWR0aChzZWxmKToKKyAgICAg
ICAgcmV0dXJuIFdlYkNvcmVGbG9hdFNpemVQcm92aWRlcihzZWxmLnZhbG9iai5HZXRDaGlsZE1l
bWJlcldpdGhOYW1lKCdtX3NpemUnKSwgZGljdCkuZ2V0X3dpZHRoKCkKKworICAgIGRlZiBnZXRf
aGVpZ2h0KHNlbGYpOgorICAgICAgICByZXR1cm4gV2ViQ29yZUZsb2F0U2l6ZVByb3ZpZGVyKHNl
bGYudmFsb2JqLkdldENoaWxkTWVtYmVyV2l0aE5hbWUoJ21fc2l6ZScpLCBkaWN0KS5nZXRfaGVp
Z2h0KCkKKworCiBjbGFzcyBXZWJDb3JlVVJMUHJvdmlkZXI6CiAgICAgIlByaW50IGEgV2ViQ29y
ZTo6VVJMIgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCB2YWxvYmosIGRpY3QpOgpkaWZmIC0tZ2l0
IGEvVG9vbHMvbGxkYi9sbGRiX3dlYmtpdF91bml0dGVzdC5weSBiL1Rvb2xzL2xsZGIvbGxkYl93
ZWJraXRfdW5pdHRlc3QucHkKaW5kZXggMjk4YjlhNDNhMDlhYWFkMTFiZjA4NDM5N2ExM2I1Mzkw
MzAxY2E0OS4uNDRjOWNiNThhMDg1NzU0YzY3MTNlZTMyZjY5OTIyYWI5M2JkYzNhNyAxMDA3NTUK
LS0tIGEvVG9vbHMvbGxkYi9sbGRiX3dlYmtpdF91bml0dGVzdC5weQorKysgYi9Ub29scy9sbGRi
L2xsZGJfd2Via2l0X3VuaXR0ZXN0LnB5CkBAIC0xNTMsNiArMTUzLDI0IEBAIGNsYXNzIFRlc3RT
dW1tYXJ5UHJvdmlkZXJzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgc3VtbWFyeSA9IGxs
ZGJfd2Via2l0LldURlZlY3Rvcl9TdW1tYXJ5UHJvdmlkZXIodmFyaWFibGUsIHt9KQogICAgICAg
ICBzZWxmLmFzc2VydEVxdWFsKHN1bW1hcnksICJ7IHNpemUgPSAxLCBjYXBhY2l0eSA9IDE2IH0i
KQogCisgICAgIyBNQVJLOiBJbnRSZWN0LCBGbG9hdFJlY3QgYW5kIExheW91dFJlY3QgdGVzdCBj
YXNlcyAodGhlc2UgYWxzbyB0ZXN0IEludFBvaW50LCBJbnRTaXplLCBGbG9hdFBvaW50LCBGbG9h
dFNpemUsIExheW91dFVuaXQsIExheW91dFBvaW50LCBMYXlvdXRTaXplKQorCisgICAgZGVmIHNl
cmlhbF90ZXN0X1dlYkNvcmVJbnRSZWN0X1N1bW1hcnlQcm92aWRlcihzZWxmKToKKyAgICAgICAg
dmFyaWFibGUgPSBzZWxmLl9zYkZyYW1lLkZpbmRWYXJpYWJsZSgnaW50UmVjdCcpCisgICAgICAg
IHN1bW1hcnkgPSBsbGRiX3dlYmtpdC5XZWJDb3JlSW50UmVjdF9TdW1tYXJ5UHJvdmlkZXIodmFy
aWFibGUsIHt9KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN1bW1hcnksICJ7IHggPSAxLCB5
ID0gMiwgd2lkdGggPSAzLCBoZWlnaHQgPSA0IH0iKQorCisgICAgZGVmIHNlcmlhbF90ZXN0X1dl
YkNvcmVGbG9hdFJlY3RfU3VtbWFyeVByb3ZpZGVyKHNlbGYpOgorICAgICAgICB2YXJpYWJsZSA9
IHNlbGYuX3NiRnJhbWUuRmluZFZhcmlhYmxlKCdmbG9hdFJlY3QnKQorICAgICAgICBzdW1tYXJ5
ID0gbGxkYl93ZWJraXQuV2ViQ29yZUZsb2F0UmVjdF9TdW1tYXJ5UHJvdmlkZXIodmFyaWFibGUs
IHt9KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN1bW1hcnksICJ7IHggPSA1LjUsIHkgPSA2
LjAsIHdpZHRoID0gNy4yNSwgaGVpZ2h0ID0gOC43NSB9IikKKworICAgIGRlZiBzZXJpYWxfdGVz
dF9XZWJDb3JlTGF5b3V0UmVjdF9TdW1tYXJ5UHJvdmlkZXIoc2VsZik6CisgICAgICAgIHZhcmlh
YmxlID0gc2VsZi5fc2JGcmFtZS5GaW5kVmFyaWFibGUoJ2xheW91dFJlY3QnKQorICAgICAgICBz
dW1tYXJ5ID0gbGxkYl93ZWJraXQuV2ViQ29yZUxheW91dFJlY3RfU3VtbWFyeVByb3ZpZGVyKHZh
cmlhYmxlLCB7fSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdW1tYXJ5LCAieyB4ID0gOXB4
ICg1NzYpLCB5ID0gMTBweCAoNjQwKSwgd2lkdGggPSAxMXB4ICg3MDQpLCBoZWlnaHQgPSAxMnB4
ICg3NjgpIH0iKQorCisKICAgICAjIE1BUks6IFdlYkNvcmVDb2xvcl9TdW1tYXJ5UHJvdmlkZXIg
dGVzdCBjYXNlcwogCiAgICAgZGVmIHNlcmlhbF90ZXN0X1dlYkNvcmVDb2xvclByb3ZpZGVyX2lu
dmFsaWRfY29sb3Ioc2VsZik6Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>345526</attachid>
            <date>2018-07-21 18:34:32 -0700</date>
            <delta_ts>2018-07-21 21:09:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-187884-20180721183431.patch</filename>
            <type>text/plain</type>
            <size>10414</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM0MDg1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNzU1OWI2ZmJjMjdhNDViNDM4NzQzMWFlYTFkYjgyNDNm
MjdkMmMzYi4uN2FlY2ZlNjk1OGUzM2E4MjkzMjQ3Y2M3YTBhN2ViNTgxNzlhNGZkYSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYy
IEBACisyMDE4LTA3LTIxICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgor
CisgICAgICAgIEFkZCBsbGRiIGZvcm1hdHRlcnMgZm9yIFdlYkNvcmUgZ2VvbWV0cnkgdHlwZXMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4Nzg4NAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAg
QWRkIGxsZGIgZm9ybWF0dGVycyBmb3IgSW50UG9pbnQsIEludFNpemUsIEludFJlY3QsIEZsb2F0
UG9pbnQsIEZsb2F0U2l6ZSwgRmxvYXRSZWN0CisgICAgICAgIGFuZCBMYXlvdXRSZWN0LgorICAg
ICAgICAKKyAgICAgICAgVGVzdGluZyBpcyBibG9ja2VkIGJ5IHdlYmtpdC5vcmcvYi8xODc4NzIu
CisKKyAgICAgICAgKiBsbGRiL2xsZGJXZWJLaXRUZXN0ZXIvbWFpbi5jcHA6CisgICAgICAgICh0
ZXN0U3VtbWFyeVByb3ZpZGVycyk6CisgICAgICAgICogbGxkYi9sbGRiX3dlYmtpdC5weToKKyAg
ICAgICAgKF9fbGxkYl9pbml0X21vZHVsZS5sbGRiX3dlYmtpdCk6CisgICAgICAgIChfX2xsZGJf
aW5pdF9tb2R1bGUpOgorICAgICAgICAoV2ViQ29yZUxheW91dFJlY3RfU3VtbWFyeVByb3ZpZGVy
KToKKyAgICAgICAgKFdlYkNvcmVJbnRTaXplX1N1bW1hcnlQcm92aWRlcik6CisgICAgICAgIChX
ZWJDb3JlSW50UG9pbnRfU3VtbWFyeVByb3ZpZGVyKToKKyAgICAgICAgKFdlYkNvcmVGbG9hdFNp
emVfU3VtbWFyeVByb3ZpZGVyKToKKyAgICAgICAgKFdlYkNvcmVGbG9hdFBvaW50X1N1bW1hcnlQ
cm92aWRlcik6CisgICAgICAgIChXZWJDb3JlSW50UmVjdF9TdW1tYXJ5UHJvdmlkZXIpOgorICAg
ICAgICAoV2ViQ29yZUZsb2F0UmVjdF9TdW1tYXJ5UHJvdmlkZXIpOgorICAgICAgICAoV2ViQ29y
ZUxheW91dFJlY3RQcm92aWRlcik6CisgICAgICAgIChXZWJDb3JlTGF5b3V0UmVjdFByb3ZpZGVy
Ll9faW5pdF9fKToKKyAgICAgICAgKFdlYkNvcmVMYXlvdXRSZWN0UHJvdmlkZXIuZ2V0X3gpOgor
ICAgICAgICAoV2ViQ29yZUxheW91dFJlY3RQcm92aWRlci5nZXRfeSk6CisgICAgICAgIChXZWJD
b3JlTGF5b3V0UmVjdFByb3ZpZGVyLmdldF93aWR0aCk6CisgICAgICAgIChXZWJDb3JlTGF5b3V0
UmVjdFByb3ZpZGVyLmdldF9oZWlnaHQpOgorICAgICAgICAoV2ViQ29yZUludFBvaW50UHJvdmlk
ZXIpOgorICAgICAgICAoV2ViQ29yZUludFBvaW50UHJvdmlkZXIuX19pbml0X18pOgorICAgICAg
ICAoV2ViQ29yZUludFBvaW50UHJvdmlkZXIuZ2V0X3gpOgorICAgICAgICAoV2ViQ29yZUludFBv
aW50UHJvdmlkZXIuZ2V0X3kpOgorICAgICAgICAoV2ViQ29yZUludFNpemVQcm92aWRlcik6Cisg
ICAgICAgIChXZWJDb3JlSW50U2l6ZVByb3ZpZGVyLl9faW5pdF9fKToKKyAgICAgICAgKFdlYkNv
cmVJbnRTaXplUHJvdmlkZXIuZ2V0X3dpZHRoKToKKyAgICAgICAgKFdlYkNvcmVJbnRTaXplUHJv
dmlkZXIuZ2V0X2hlaWdodCk6CisgICAgICAgIChXZWJDb3JlSW50UmVjdFByb3ZpZGVyKToKKyAg
ICAgICAgKFdlYkNvcmVJbnRSZWN0UHJvdmlkZXIuX19pbml0X18pOgorICAgICAgICAoV2ViQ29y
ZUludFJlY3RQcm92aWRlci5nZXRfeCk6CisgICAgICAgIChXZWJDb3JlSW50UmVjdFByb3ZpZGVy
LmdldF95KToKKyAgICAgICAgKFdlYkNvcmVJbnRSZWN0UHJvdmlkZXIuZ2V0X3dpZHRoKToKKyAg
ICAgICAgKFdlYkNvcmVJbnRSZWN0UHJvdmlkZXIuZ2V0X2hlaWdodCk6CisgICAgICAgIChXZWJD
b3JlRmxvYXRQb2ludFByb3ZpZGVyKToKKyAgICAgICAgKFdlYkNvcmVGbG9hdFBvaW50UHJvdmlk
ZXIuX19pbml0X18pOgorICAgICAgICAoV2ViQ29yZUZsb2F0UG9pbnRQcm92aWRlci5nZXRfeCk6
CisgICAgICAgIChXZWJDb3JlRmxvYXRQb2ludFByb3ZpZGVyLmdldF95KToKKyAgICAgICAgKFdl
YkNvcmVGbG9hdFNpemVQcm92aWRlcik6CisgICAgICAgIChXZWJDb3JlRmxvYXRTaXplUHJvdmlk
ZXIuX19pbml0X18pOgorICAgICAgICAoV2ViQ29yZUZsb2F0U2l6ZVByb3ZpZGVyLmdldF93aWR0
aCk6CisgICAgICAgIChXZWJDb3JlRmxvYXRTaXplUHJvdmlkZXIuZ2V0X2hlaWdodCk6CisgICAg
ICAgIChXZWJDb3JlRmxvYXRSZWN0UHJvdmlkZXIpOgorICAgICAgICAoV2ViQ29yZUZsb2F0UmVj
dFByb3ZpZGVyLl9faW5pdF9fKToKKyAgICAgICAgKFdlYkNvcmVGbG9hdFJlY3RQcm92aWRlci5n
ZXRfeCk6CisgICAgICAgIChXZWJDb3JlRmxvYXRSZWN0UHJvdmlkZXIuZ2V0X3kpOgorICAgICAg
ICAoV2ViQ29yZUZsb2F0UmVjdFByb3ZpZGVyLmdldF93aWR0aCk6CisgICAgICAgIChXZWJDb3Jl
RmxvYXRSZWN0UHJvdmlkZXIuZ2V0X2hlaWdodCk6CisKIDIwMTgtMDctMjAgIEpvaG4gV2lsYW5k
ZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CiAKICAgICAgICAgUmVzb3VyY2UgTG9hZCBTdGF0aXN0
aWNzOiBFbmFibGUgYmFzaWMgZnVuY3Rpb25hbGl0eSBpbiBleHBlcmltZW50YWwgZGVidWcgbW9k
ZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbGxkYi9sbGRiX3dlYmtpdC5weSBiL1Rvb2xzL2xsZGIvbGxk
Yl93ZWJraXQucHkKaW5kZXggYmZjMDE0ZTA4ZWY1ZGYzOGM3YjYzZmJkOTk1MDJkODRjZmMyNjI5
OS4uNWYyOWNjNGYyMjQxMjhlZjBlNzY3ZmZmZGUzMTVkNWE2MWQ2NzZmNyAxMDA2NDQKLS0tIGEv
VG9vbHMvbGxkYi9sbGRiX3dlYmtpdC5weQorKysgYi9Ub29scy9sbGRiL2xsZGJfd2Via2l0LnB5
CkBAIC00NCwxMSArNDQsMjMgQEAgZGVmIF9fbGxkYl9pbml0X21vZHVsZShkZWJ1Z2dlciwgZGlj
dCk6CiAgICAgZGVidWdnZXIuSGFuZGxlQ29tbWFuZCgndHlwZSBzdW1tYXJ5IGFkZCAtLWV4cGFu
ZCAtRiBsbGRiX3dlYmtpdC5XVEZNZWRpYVRpbWVfU3VtbWFyeVByb3ZpZGVyIFdURjo6TWVkaWFU
aW1lJykKICAgICBkZWJ1Z2dlci5IYW5kbGVDb21tYW5kKCd0eXBlIHN5bnRoZXRpYyBhZGQgLXgg
IldURjo6VmVjdG9yPC4rPiQiIC0tcHl0aG9uLWNsYXNzIGxsZGJfd2Via2l0LldURlZlY3RvclBy
b3ZpZGVyJykKICAgICBkZWJ1Z2dlci5IYW5kbGVDb21tYW5kKCd0eXBlIHN5bnRoZXRpYyBhZGQg
LXggIldURjo6SGFzaFRhYmxlPC4rPiQiIC0tcHl0aG9uLWNsYXNzIGxsZGJfd2Via2l0LldURkhh
c2hUYWJsZVByb3ZpZGVyJykKKworICAgIGRlYnVnZ2VyLkhhbmRsZUNvbW1hbmQoJ3R5cGUgc3Vt
bWFyeSBhZGQgLUYgbGxkYl93ZWJraXQuV2ViQ29yZVVSTF9TdW1tYXJ5UHJvdmlkZXIgV2ViQ29y
ZTo6VVJMJykKKwogICAgIGRlYnVnZ2VyLkhhbmRsZUNvbW1hbmQoJ3R5cGUgc3VtbWFyeSBhZGQg
LUYgbGxkYl93ZWJraXQuV2ViQ29yZUNvbG9yX1N1bW1hcnlQcm92aWRlciBXZWJDb3JlOjpDb2xv
cicpCisKICAgICBkZWJ1Z2dlci5IYW5kbGVDb21tYW5kKCd0eXBlIHN1bW1hcnkgYWRkIC1GIGxs
ZGJfd2Via2l0LldlYkNvcmVMYXlvdXRVbml0X1N1bW1hcnlQcm92aWRlciBXZWJDb3JlOjpMYXlv
dXRVbml0JykKICAgICBkZWJ1Z2dlci5IYW5kbGVDb21tYW5kKCd0eXBlIHN1bW1hcnkgYWRkIC1G
IGxsZGJfd2Via2l0LldlYkNvcmVMYXlvdXRTaXplX1N1bW1hcnlQcm92aWRlciBXZWJDb3JlOjpM
YXlvdXRTaXplJykKICAgICBkZWJ1Z2dlci5IYW5kbGVDb21tYW5kKCd0eXBlIHN1bW1hcnkgYWRk
IC1GIGxsZGJfd2Via2l0LldlYkNvcmVMYXlvdXRQb2ludF9TdW1tYXJ5UHJvdmlkZXIgV2ViQ29y
ZTo6TGF5b3V0UG9pbnQnKQotICAgIGRlYnVnZ2VyLkhhbmRsZUNvbW1hbmQoJ3R5cGUgc3VtbWFy
eSBhZGQgLUYgbGxkYl93ZWJraXQuV2ViQ29yZVVSTF9TdW1tYXJ5UHJvdmlkZXIgV2ViQ29yZTo6
VVJMJykKKyAgICBkZWJ1Z2dlci5IYW5kbGVDb21tYW5kKCd0eXBlIHN1bW1hcnkgYWRkIC1GIGxs
ZGJfd2Via2l0LldlYkNvcmVMYXlvdXRSZWN0X1N1bW1hcnlQcm92aWRlciBXZWJDb3JlOjpMYXlv
dXRSZWN0JykKKworICAgIGRlYnVnZ2VyLkhhbmRsZUNvbW1hbmQoJ3R5cGUgc3VtbWFyeSBhZGQg
LUYgbGxkYl93ZWJraXQuV2ViQ29yZUludFNpemVfU3VtbWFyeVByb3ZpZGVyIFdlYkNvcmU6Oklu
dFNpemUnKQorICAgIGRlYnVnZ2VyLkhhbmRsZUNvbW1hbmQoJ3R5cGUgc3VtbWFyeSBhZGQgLUYg
bGxkYl93ZWJraXQuV2ViQ29yZUludFBvaW50X1N1bW1hcnlQcm92aWRlciBXZWJDb3JlOjpJbnRQ
b2ludCcpCisgICAgZGVidWdnZXIuSGFuZGxlQ29tbWFuZCgndHlwZSBzdW1tYXJ5IGFkZCAtRiBs
bGRiX3dlYmtpdC5XZWJDb3JlSW50UmVjdF9TdW1tYXJ5UHJvdmlkZXIgV2ViQ29yZTo6SW50UmVj
dCcpCisKKyAgICBkZWJ1Z2dlci5IYW5kbGVDb21tYW5kKCd0eXBlIHN1bW1hcnkgYWRkIC1GIGxs
ZGJfd2Via2l0LldlYkNvcmVGbG9hdFNpemVfU3VtbWFyeVByb3ZpZGVyIFdlYkNvcmU6OkZsb2F0
U2l6ZScpCisgICAgZGVidWdnZXIuSGFuZGxlQ29tbWFuZCgndHlwZSBzdW1tYXJ5IGFkZCAtRiBs
bGRiX3dlYmtpdC5XZWJDb3JlRmxvYXRQb2ludF9TdW1tYXJ5UHJvdmlkZXIgV2ViQ29yZTo6Rmxv
YXRQb2ludCcpCisgICAgZGVidWdnZXIuSGFuZGxlQ29tbWFuZCgndHlwZSBzdW1tYXJ5IGFkZCAt
RiBsbGRiX3dlYmtpdC5XZWJDb3JlRmxvYXRSZWN0X1N1bW1hcnlQcm92aWRlciBXZWJDb3JlOjpG
bG9hdFJlY3QnKQogCiAKIGRlZiBXVEZTdHJpbmdfU3VtbWFyeVByb3ZpZGVyKHZhbG9iaiwgZGlj
dCk6CkBAIC0xMjIsNiArMTM0LDQzIEBAIGRlZiBXZWJDb3JlTGF5b3V0UG9pbnRfU3VtbWFyeVBy
b3ZpZGVyKHZhbG9iaiwgZGljdCk6CiAgICAgcmV0dXJuICJ7IHggPSAlcywgeSA9ICVzIH0iICUg
KHByb3ZpZGVyLmdldF94KCksIHByb3ZpZGVyLmdldF95KCkpCiAKIAorZGVmIFdlYkNvcmVMYXlv
dXRSZWN0X1N1bW1hcnlQcm92aWRlcih2YWxvYmosIGRpY3QpOgorICAgIHByb3ZpZGVyID0gV2Vi
Q29yZUxheW91dFJlY3RQcm92aWRlcih2YWxvYmosIGRpY3QpCisgICAgcmV0dXJuICJ7IHggPSAl
cywgeSA9ICVzLCB3aWR0aCA9ICVzLCBoZWlnaHQgPSAlcyB9IiAlIChwcm92aWRlci5nZXRfeCgp
LCBwcm92aWRlci5nZXRfeSgpLCBwcm92aWRlci5nZXRfd2lkdGgoKSwgcHJvdmlkZXIuZ2V0X2hl
aWdodCgpKQorCisKK2RlZiBXZWJDb3JlSW50U2l6ZV9TdW1tYXJ5UHJvdmlkZXIodmFsb2JqLCBk
aWN0KToKKyAgICBwcm92aWRlciA9IFdlYkNvcmVJbnRTaXplUHJvdmlkZXIodmFsb2JqLCBkaWN0
KQorICAgIHJldHVybiAieyB3aWR0aCA9ICVzLCBoZWlnaHQgPSAlcyB9IiAlIChwcm92aWRlci5n
ZXRfd2lkdGgoKSwgcHJvdmlkZXIuZ2V0X2hlaWdodCgpKQorCisKK2RlZiBXZWJDb3JlSW50UG9p
bnRfU3VtbWFyeVByb3ZpZGVyKHZhbG9iaiwgZGljdCk6CisgICAgcHJvdmlkZXIgPSBXZWJDb3Jl
SW50UG9pbnRQcm92aWRlcih2YWxvYmosIGRpY3QpCisgICAgcmV0dXJuICJ7IHggPSAlcywgeSA9
ICVzIH0iICUgKHByb3ZpZGVyLmdldF94KCksIHByb3ZpZGVyLmdldF95KCkpCisKKworZGVmIFdl
YkNvcmVGbG9hdFNpemVfU3VtbWFyeVByb3ZpZGVyKHZhbG9iaiwgZGljdCk6CisgICAgcHJvdmlk
ZXIgPSBXZWJDb3JlRmxvYXRTaXplUHJvdmlkZXIodmFsb2JqLCBkaWN0KQorICAgIHJldHVybiAi
eyB3aWR0aCA9ICVzLCBoZWlnaHQgPSAlcyB9IiAlIChwcm92aWRlci5nZXRfd2lkdGgoKSwgcHJv
dmlkZXIuZ2V0X2hlaWdodCgpKQorCisKK2RlZiBXZWJDb3JlRmxvYXRQb2ludF9TdW1tYXJ5UHJv
dmlkZXIodmFsb2JqLCBkaWN0KToKKyAgICBwcm92aWRlciA9IFdlYkNvcmVGbG9hdFBvaW50UHJv
dmlkZXIodmFsb2JqLCBkaWN0KQorICAgIHJldHVybiAieyB4ID0gJXMsIHkgPSAlcyB9IiAlIChw
cm92aWRlci5nZXRfeCgpLCBwcm92aWRlci5nZXRfeSgpKQorCisKK2RlZiBXZWJDb3JlSW50UmVj
dF9TdW1tYXJ5UHJvdmlkZXIodmFsb2JqLCBkaWN0KToKKyAgICBwcm92aWRlciA9IFdlYkNvcmVJ
bnRSZWN0UHJvdmlkZXIodmFsb2JqLCBkaWN0KQorICAgIHJldHVybiAieyB4ID0gJXMsIHkgPSAl
cywgd2lkdGggPSAlcywgaGVpZ2h0ID0gJXMgfSIgJSAocHJvdmlkZXIuZ2V0X3goKSwgcHJvdmlk
ZXIuZ2V0X3koKSwgcHJvdmlkZXIuZ2V0X3dpZHRoKCksIHByb3ZpZGVyLmdldF9oZWlnaHQoKSkK
KworCitkZWYgV2ViQ29yZUZsb2F0UmVjdF9TdW1tYXJ5UHJvdmlkZXIodmFsb2JqLCBkaWN0KToK
KyAgICBwcm92aWRlciA9IFdlYkNvcmVGbG9hdFJlY3RQcm92aWRlcih2YWxvYmosIGRpY3QpCisg
ICAgcmV0dXJuICJ7IHggPSAlcywgeSA9ICVzLCB3aWR0aCA9ICVzLCBoZWlnaHQgPSAlcyB9IiAl
IChwcm92aWRlci5nZXRfeCgpLCBwcm92aWRlci5nZXRfeSgpLCBwcm92aWRlci5nZXRfd2lkdGgo
KSwgcHJvdmlkZXIuZ2V0X2hlaWdodCgpKQorCisKKworCiBkZWYgYnRqcyhkZWJ1Z2dlciwgY29t
bWFuZCwgcmVzdWx0LCBpbnRlcm5hbF9kaWN0KToKICAgICAnJydQcmludHMgYSBzdGFjayB0cmFj
ZSBvZiBjdXJyZW50IHRocmVhZCB3aXRoIEphdmFTY3JpcHQgZnJhbWVzIGRlY29kZWQuICBUYWtl
cyBvcHRpb25hbCBmcmFtZSBjb3VudCBhcmd1bWVudCcnJwogCkBAIC00MDEsNiArNDUwLDEwOCBA
QCBjbGFzcyBXZWJDb3JlTGF5b3V0UG9pbnRQcm92aWRlcjoKICAgICAgICAgcmV0dXJuIFdlYkNv
cmVMYXlvdXRVbml0UHJvdmlkZXIoc2VsZi52YWxvYmouR2V0Q2hpbGRNZW1iZXJXaXRoTmFtZSgn
bV95JyksIGRpY3QpLnRvX3N0cmluZygpCiAKIAorY2xhc3MgV2ViQ29yZUxheW91dFJlY3RQcm92
aWRlcjoKKyAgICAiUHJpbnQgYSBXZWJDb3JlOjpMYXlvdXRSZWN0IgorICAgIGRlZiBfX2luaXRf
XyhzZWxmLCB2YWxvYmosIGRpY3QpOgorICAgICAgICBzZWxmLnZhbG9iaiA9IHZhbG9iagorCisg
ICAgZGVmIGdldF94KHNlbGYpOgorICAgICAgICByZXR1cm4gV2ViQ29yZUxheW91dFBvaW50UHJv
dmlkZXIoc2VsZi52YWxvYmouR2V0Q2hpbGRNZW1iZXJXaXRoTmFtZSgnbV9sb2NhdGlvbicpLCBk
aWN0KS5nZXRfeCgpCisKKyAgICBkZWYgZ2V0X3koc2VsZik6CisgICAgICAgIHJldHVybiBXZWJD
b3JlTGF5b3V0UG9pbnRQcm92aWRlcihzZWxmLnZhbG9iai5HZXRDaGlsZE1lbWJlcldpdGhOYW1l
KCdtX2xvY2F0aW9uJyksIGRpY3QpLmdldF95KCkKKworICAgIGRlZiBnZXRfd2lkdGgoc2VsZik6
CisgICAgICAgIHJldHVybiBXZWJDb3JlTGF5b3V0U2l6ZVByb3ZpZGVyKHNlbGYudmFsb2JqLkdl
dENoaWxkTWVtYmVyV2l0aE5hbWUoJ21fc2l6ZScpLCBkaWN0KS5nZXRfd2lkdGgoKQorCisgICAg
ZGVmIGdldF9oZWlnaHQoc2VsZik6CisgICAgICAgIHJldHVybiBXZWJDb3JlTGF5b3V0U2l6ZVBy
b3ZpZGVyKHNlbGYudmFsb2JqLkdldENoaWxkTWVtYmVyV2l0aE5hbWUoJ21fc2l6ZScpLCBkaWN0
KS5nZXRfaGVpZ2h0KCkKKworCitjbGFzcyBXZWJDb3JlSW50UG9pbnRQcm92aWRlcjoKKyAgICAi
UHJpbnQgYSBXZWJDb3JlOjpJbnRQb2ludCIKKyAgICBkZWYgX19pbml0X18oc2VsZiwgdmFsb2Jq
LCBkaWN0KToKKyAgICAgICAgc2VsZi52YWxvYmogPSB2YWxvYmoKKworICAgIGRlZiBnZXRfeChz
ZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYudmFsb2JqLkdldENoaWxkTWVtYmVyV2l0aE5hbWUo
J21feCcpLkdldFZhbHVlQXNTaWduZWQoKQorCisgICAgZGVmIGdldF95KHNlbGYpOgorICAgICAg
ICByZXR1cm4gc2VsZi52YWxvYmouR2V0Q2hpbGRNZW1iZXJXaXRoTmFtZSgnbV95JykuR2V0VmFs
dWVBc1NpZ25lZCgpCisKKworY2xhc3MgV2ViQ29yZUludFNpemVQcm92aWRlcjoKKyAgICAiUHJp
bnQgYSBXZWJDb3JlOjpJbnRTaXplIgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCB2YWxvYmosIGRp
Y3QpOgorICAgICAgICBzZWxmLnZhbG9iaiA9IHZhbG9iagorCisgICAgZGVmIGdldF93aWR0aChz
ZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYudmFsb2JqLkdldENoaWxkTWVtYmVyV2l0aE5hbWUo
J21fd2lkdGgnKS5HZXRWYWx1ZUFzU2lnbmVkKCkKKworICAgIGRlZiBnZXRfaGVpZ2h0KHNlbGYp
OgorICAgICAgICByZXR1cm4gc2VsZi52YWxvYmouR2V0Q2hpbGRNZW1iZXJXaXRoTmFtZSgnbV9o
ZWlnaHQnKS5HZXRWYWx1ZUFzU2lnbmVkKCkKKworCitjbGFzcyBXZWJDb3JlSW50UmVjdFByb3Zp
ZGVyOgorICAgICJQcmludCBhIFdlYkNvcmU6OkludFJlY3QiCisgICAgZGVmIF9faW5pdF9fKHNl
bGYsIHZhbG9iaiwgZGljdCk6CisgICAgICAgIHNlbGYudmFsb2JqID0gdmFsb2JqCisKKyAgICBk
ZWYgZ2V0X3goc2VsZik6CisgICAgICAgIHJldHVybiBXZWJDb3JlSW50UG9pbnRQcm92aWRlcihz
ZWxmLnZhbG9iai5HZXRDaGlsZE1lbWJlcldpdGhOYW1lKCdtX2xvY2F0aW9uJyksIGRpY3QpLmdl
dF94KCkKKworICAgIGRlZiBnZXRfeShzZWxmKToKKyAgICAgICAgcmV0dXJuIFdlYkNvcmVJbnRQ
b2ludFByb3ZpZGVyKHNlbGYudmFsb2JqLkdldENoaWxkTWVtYmVyV2l0aE5hbWUoJ21fbG9jYXRp
b24nKSwgZGljdCkuZ2V0X3koKQorCisgICAgZGVmIGdldF93aWR0aChzZWxmKToKKyAgICAgICAg
cmV0dXJuIFdlYkNvcmVJbnRTaXplUHJvdmlkZXIoc2VsZi52YWxvYmouR2V0Q2hpbGRNZW1iZXJX
aXRoTmFtZSgnbV9zaXplJyksIGRpY3QpLmdldF93aWR0aCgpCisKKyAgICBkZWYgZ2V0X2hlaWdo
dChzZWxmKToKKyAgICAgICAgcmV0dXJuIFdlYkNvcmVJbnRTaXplUHJvdmlkZXIoc2VsZi52YWxv
YmouR2V0Q2hpbGRNZW1iZXJXaXRoTmFtZSgnbV9zaXplJyksIGRpY3QpLmdldF9oZWlnaHQoKQor
CisKK2NsYXNzIFdlYkNvcmVGbG9hdFBvaW50UHJvdmlkZXI6CisgICAgIlByaW50IGEgV2ViQ29y
ZTo6RmxvYXRQb2ludCIKKyAgICBkZWYgX19pbml0X18oc2VsZiwgdmFsb2JqLCBkaWN0KToKKyAg
ICAgICAgc2VsZi52YWxvYmogPSB2YWxvYmoKKworICAgIGRlZiBnZXRfeChzZWxmKToKKyAgICAg
ICAgcmV0dXJuIGZsb2F0KHNlbGYudmFsb2JqLkdldENoaWxkTWVtYmVyV2l0aE5hbWUoJ21feCcp
LkdldFZhbHVlKCkpCisKKyAgICBkZWYgZ2V0X3koc2VsZik6CisgICAgICAgIHJldHVybiBmbG9h
dChzZWxmLnZhbG9iai5HZXRDaGlsZE1lbWJlcldpdGhOYW1lKCdtX3knKS5HZXRWYWx1ZSgpKQor
CisKK2NsYXNzIFdlYkNvcmVGbG9hdFNpemVQcm92aWRlcjoKKyAgICAiUHJpbnQgYSBXZWJDb3Jl
OjpGbG9hdFNpemUiCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHZhbG9iaiwgZGljdCk6CisgICAg
ICAgIHNlbGYudmFsb2JqID0gdmFsb2JqCisKKyAgICBkZWYgZ2V0X3dpZHRoKHNlbGYpOgorICAg
ICAgICByZXR1cm4gZmxvYXQoc2VsZi52YWxvYmouR2V0Q2hpbGRNZW1iZXJXaXRoTmFtZSgnbV93
aWR0aCcpLkdldFZhbHVlKCkpCisKKyAgICBkZWYgZ2V0X2hlaWdodChzZWxmKToKKyAgICAgICAg
cmV0dXJuIGZsb2F0KHNlbGYudmFsb2JqLkdldENoaWxkTWVtYmVyV2l0aE5hbWUoJ21faGVpZ2h0
JykuR2V0VmFsdWUoKSkKKworCitjbGFzcyBXZWJDb3JlRmxvYXRSZWN0UHJvdmlkZXI6CisgICAg
IlByaW50IGEgV2ViQ29yZTo6RmxvYXRSZWN0IgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCB2YWxv
YmosIGRpY3QpOgorICAgICAgICBzZWxmLnZhbG9iaiA9IHZhbG9iagorCisgICAgZGVmIGdldF94
KHNlbGYpOgorICAgICAgICByZXR1cm4gV2ViQ29yZUZsb2F0UG9pbnRQcm92aWRlcihzZWxmLnZh
bG9iai5HZXRDaGlsZE1lbWJlcldpdGhOYW1lKCdtX2xvY2F0aW9uJyksIGRpY3QpLmdldF94KCkK
KworICAgIGRlZiBnZXRfeShzZWxmKToKKyAgICAgICAgcmV0dXJuIFdlYkNvcmVGbG9hdFBvaW50
UHJvdmlkZXIoc2VsZi52YWxvYmouR2V0Q2hpbGRNZW1iZXJXaXRoTmFtZSgnbV9sb2NhdGlvbicp
LCBkaWN0KS5nZXRfeSgpCisKKyAgICBkZWYgZ2V0X3dpZHRoKHNlbGYpOgorICAgICAgICByZXR1
cm4gV2ViQ29yZUZsb2F0U2l6ZVByb3ZpZGVyKHNlbGYudmFsb2JqLkdldENoaWxkTWVtYmVyV2l0
aE5hbWUoJ21fc2l6ZScpLCBkaWN0KS5nZXRfd2lkdGgoKQorCisgICAgZGVmIGdldF9oZWlnaHQo
c2VsZik6CisgICAgICAgIHJldHVybiBXZWJDb3JlRmxvYXRTaXplUHJvdmlkZXIoc2VsZi52YWxv
YmouR2V0Q2hpbGRNZW1iZXJXaXRoTmFtZSgnbV9zaXplJyksIGRpY3QpLmdldF9oZWlnaHQoKQor
CisKIGNsYXNzIFdlYkNvcmVVUkxQcm92aWRlcjoKICAgICAiUHJpbnQgYSBXZWJDb3JlOjpVUkwi
CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHZhbG9iaiwgZGljdCk6Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>