The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Build.PL
Changes
cpanfile
lib/Pg/Explain.pm
lib/Pg/Explain/Analyzer.pm
lib/Pg/Explain/Buffers.pm
lib/Pg/Explain/From.pm
lib/Pg/Explain/FromJSON.pm
lib/Pg/Explain/FromText.pm
lib/Pg/Explain/FromXML.pm
lib/Pg/Explain/FromYAML.pm
lib/Pg/Explain/Hinter.pm
lib/Pg/Explain/Hinter/Hint.pm
lib/Pg/Explain/JIT.pm
lib/Pg/Explain/Node.pm
lib/Pg/Explain/StringAnonymizer.pm
MANIFEST			This list of files
MANIFEST.SKIP
META.json
META.yml
README
scripts/dump.pl
scripts/run.dev.sh
scripts/run.perltidy
scripts/run.prove
t/00-load.t
t/01-pod.t
t/02-pod-coverage.t
t/03-perl-critic.t
t/04-bad-arguments.t
t/05-explain-simple.t
t/06-explain-file.t
t/07-parsed-access.t
t/08-inclusive.t
t/09-exclusive.t
t/10-exclusive-2.t
t/11-exclusive-3.t
t/12-exclusive-4.t
t/13-xml-plans.t
t/13-xml-plans/1.expect
t/13-xml-plans/1.xml
t/13-xml-plans/2.expect
t/13-xml-plans/2.xml
t/13-xml-plans/3.expect
t/13-xml-plans/3.xml
t/13-xml-plans/4.expect
t/13-xml-plans/4.xml
t/13-xml-plans/5.expect
t/13-xml-plans/5.xml
t/13-xml-plans/6.expect
t/13-xml-plans/6.xml
t/14-json-plans.t
t/14-json-plans/1.expect
t/14-json-plans/1.json
t/14-json-plans/2.expect
t/14-json-plans/2.json
t/14-json-plans/3.expect
t/14-json-plans/3.json
t/14-json-plans/4.expect
t/14-json-plans/4.json
t/14-json-plans/5.expect
t/14-json-plans/5.json
t/14-json-plans/6.expect
t/14-json-plans/6.json
t/14-json-plans/7.expect
t/14-json-plans/7.json
t/14-json-plans/8.expect
t/14-json-plans/8.json
t/15-yaml-plans.t
t/15-yaml-plans/1.expect
t/15-yaml-plans/1.yaml
t/15-yaml-plans/2.expect
t/15-yaml-plans/2.yaml
t/15-yaml-plans/3.expect
t/15-yaml-plans/3.yaml
t/15-yaml-plans/4.expect
t/15-yaml-plans/4.yaml
t/15-yaml-plans/5.expect
t/15-yaml-plans/5.yaml
t/15-yaml-plans/6.expect
t/15-yaml-plans/6.yaml
t/15-yaml-plans/7.expect
t/15-yaml-plans/7.yaml
t/15-yaml-plans/8.expect
t/15-yaml-plans/8.yaml
t/16-ctes.t
t/16-ctes/1-text.expect
t/16-ctes/1-text.plan
t/16-ctes/2-xml.expect
t/16-ctes/2-xml.plan
t/16-ctes/3-json.expect
t/16-ctes/3-json.plan
t/16-ctes/4-yaml.expect
t/16-ctes/4-yaml.plan
t/16-ctes/5-text.expect
t/16-ctes/5-text.plan
t/17-as_text.t
t/17-as_text/01-plan
t/17-as_text/02-plan
t/17-as_text/03-plan
t/17-as_text/04-plan
t/17-as_text/05-plan
t/17-as_text/06-plan
t/17-as_text/07-plan
t/17-as_text/08-plan
t/17-as_text/09-plan
t/17-as_text/10-plan
t/17-as_text/11-plan
t/17-as_text/12-plan
t/17-as_text/13-plan
t/17-as_text/14-plan
t/17-as_text/15-plan
t/17-as_text/16-plan
t/17-as_text/17-plan
t/17-as_text/18-plan
t/17-as_text/19-plan
t/17-as_text/20-plan
t/17-as_text/21-plan
t/17-as_text/22-plan
t/17-as_text/23-plan
t/17-as_text/24-plan
t/17-as_text/25-plan
t/17-as_text/26-plan
t/17-as_text/27-plan
t/18-stringanonymizer.t
t/19-anonymization.t
t/20-anonymization-of-foreign-files.t
t/21-perltidy.t
t/22-anonymization-of-non-select-plans.t
t/23-anonymization-of-one-time-filters.t
t/24-anonymization-of-index-only-scans.t
t/25-anonymization-of-cte-names.t
t/26-explain-with-no-timing.t
t/27-anonymization-of-subquery-scans.t
t/28-anonymization-of-group-keys.t
t/29-extract-subquery-source.t
t/30-parallel-query.t
t/31-parallel-query-2.t
t/32-parallel-index-scan-backward.t
t/33-parallel-index-scan.t
t/34-parallel-index-only-scan.t
t/35-sort-mode-and-buffers-from-json.t
t/36-extra-info.t
t/36-extra-info/plan
t/37-plan-without-costs.t
t/37-plan-without-costs/1.expect
t/37-plan-without-costs/1.plan
t/37-plan-without-costs/2.expect
t/37-plan-without-costs/2.plan
t/38-worktable.d/plan.json
t/38-worktable.d/plan.text
t/38-worktable.d/plan.xml
t/38-worktable.d/plan.yaml
t/38-worktable.t
t/39-long-line-json.t
t/39-long-line-json/1.expect
t/39-long-line-json/1.json
t/40-buffers-info.d/01.plan
t/40-buffers-info.d/01.struct
t/40-buffers-info.d/02.plan
t/40-buffers-info.d/02.struct
t/40-buffers-info.d/03.plan
t/40-buffers-info.d/03.struct
t/40-buffers-info.d/04.plan
t/40-buffers-info.d/04.struct
t/40-buffers-info.d/05.plan
t/40-buffers-info.d/05.struct
t/40-buffers-info.d/06.plan
t/40-buffers-info.d/06.struct
t/40-buffers-info.d/07.plan
t/40-buffers-info.d/07.struct
t/40-buffers-info.d/08.plan
t/40-buffers-info.d/08.struct
t/40-buffers-info.t
t/41-triggers-info.d/01.plan
t/41-triggers-info.d/01.struct
t/41-triggers-info.d/02.plan
t/41-triggers-info.d/02.struct
t/41-triggers-info.d/03.plan
t/41-triggers-info.d/03.struct
t/41-triggers-info.d/04.plan
t/41-triggers-info.d/04.struct
t/41-triggers-info.t
t/42-get-total-runtime.d/01.expect
t/42-get-total-runtime.d/01.plan
t/42-get-total-runtime.d/02.expect
t/42-get-total-runtime.d/02.plan
t/42-get-total-runtime.d/03.expect
t/42-get-total-runtime.d/03.plan
t/42-get-total-runtime.d/04.expect
t/42-get-total-runtime.d/04.plan
t/42-get-total-runtime.d/05.expect
t/42-get-total-runtime.d/05.plan
t/42-get-total-runtime.t
t/43-analyzer-initial.d/01.paths
t/43-analyzer-initial.d/01.plan
t/43-analyzer-initial.d/01.types
t/43-analyzer-initial.d/02.paths
t/43-analyzer-initial.d/02.plan
t/43-analyzer-initial.d/02.types
t/43-analyzer-initial.d/03.paths
t/43-analyzer-initial.d/03.plan
t/43-analyzer-initial.d/03.types
t/43-analyzer-initial.d/04.paths
t/43-analyzer-initial.d/04.plan
t/43-analyzer-initial.d/04.types
t/43-analyzer-initial.d/05.paths
t/43-analyzer-initial.d/05.plan
t/43-analyzer-initial.d/05.types
t/43-analyzer-initial.d/06.paths
t/43-analyzer-initial.d/06.plan
t/43-analyzer-initial.d/06.types
t/43-analyzer-initial.t
t/44-parallel-queries.d/01.plan
t/44-parallel-queries.t
t/45-parallel-queries-correct-times.t
t/46-parallel-queries-correct-times-nontext.d/json.plan
t/46-parallel-queries-correct-times-nontext.d/xml.plan
t/46-parallel-queries-correct-times-nontext.d/yaml.plan
t/46-parallel-queries-correct-times-nontext.t
t/47-aggregate-names.d/1.json
t/47-aggregate-names.d/1.txt
t/47-aggregate-names.d/1.xml
t/47-aggregate-names.d/1.yaml
t/47-aggregate-names.d/2.json
t/47-aggregate-names.d/2.txt
t/47-aggregate-names.d/2.xml
t/47-aggregate-names.d/2.yaml
t/47-aggregate-names.d/3.json
t/47-aggregate-names.d/3.txt
t/47-aggregate-names.d/3.xml
t/47-aggregate-names.d/3.yaml
t/47-aggregate-names.d/4.json
t/47-aggregate-names.d/4.txt
t/47-aggregate-names.d/4.xml
t/47-aggregate-names.d/4.yaml
t/47-aggregate-names.d/5.json
t/47-aggregate-names.d/5.txt
t/47-aggregate-names.d/5.yaml
t/47-aggregate-names.t
t/48-line-wrapped-plans.d/1.expect
t/48-line-wrapped-plans.d/1.plan
t/48-line-wrapped-plans.d/2.expect
t/48-line-wrapped-plans.d/2.plan
t/48-line-wrapped-plans.d/4.expect
t/48-line-wrapped-plans.d/4.plan
t/48-line-wrapped-plans.t
t/49-tid-scans.t
t/50-psql-frames.d/json-0-aligned-ascii-double-double-double.plan
t/50-psql-frames.d/json-0-aligned-old-ascii-double-double-double.plan
t/50-psql-frames.d/json-0-aligned-unicode-double-double-double.plan
t/50-psql-frames.d/json-0-aligned-unicode-double-double-single.plan
t/50-psql-frames.d/json-0-unaligned-ascii-double-double-double.plan
t/50-psql-frames.d/json-1-aligned-ascii-double-double-double.plan
t/50-psql-frames.d/json-1-aligned-old-ascii-double-double-double.plan
t/50-psql-frames.d/json-1-aligned-unicode-double-double-double.plan
t/50-psql-frames.d/json-1-aligned-unicode-double-double-single.plan
t/50-psql-frames.d/json-2-aligned-ascii-double-double-double.plan
t/50-psql-frames.d/json-2-aligned-old-ascii-double-double-double.plan
t/50-psql-frames.d/json-2-aligned-unicode-double-double-double.plan
t/50-psql-frames.d/json-2-aligned-unicode-double-double-single.plan
t/50-psql-frames.d/json-2-aligned-unicode-single-double-double.plan
t/50-psql-frames.d/json-2-aligned-unicode-single-double-single.plan
t/50-psql-frames.d/text-0-aligned-ascii-double-double-double.plan
t/50-psql-frames.d/text-0-aligned-old-ascii-double-double-double.plan
t/50-psql-frames.d/text-0-aligned-unicode-double-double-double.plan
t/50-psql-frames.d/text-0-aligned-unicode-double-double-single.plan
t/50-psql-frames.d/text-0-unaligned-ascii-double-double-double.plan
t/50-psql-frames.d/text-1-aligned-ascii-double-double-double.plan
t/50-psql-frames.d/text-1-aligned-unicode-double-double-double.plan
t/50-psql-frames.d/text-1-aligned-unicode-double-double-single.plan
t/50-psql-frames.d/text-2-aligned-ascii-double-double-double.plan
t/50-psql-frames.d/text-2-aligned-unicode-double-double-double.plan
t/50-psql-frames.d/text-2-aligned-unicode-double-double-single.plan
t/50-psql-frames.d/text-2-aligned-unicode-single-double-double.plan
t/50-psql-frames.d/text-2-aligned-unicode-single-double-single.plan
t/50-psql-frames.d/xml-0-aligned-ascii-double-double-double.plan
t/50-psql-frames.d/xml-0-aligned-old-ascii-double-double-double.plan
t/50-psql-frames.d/xml-0-aligned-unicode-double-double-double.plan
t/50-psql-frames.d/xml-0-aligned-unicode-double-double-single.plan
t/50-psql-frames.d/xml-0-unaligned-ascii-double-double-double.plan
t/50-psql-frames.d/xml-1-aligned-ascii-double-double-double.plan
t/50-psql-frames.d/xml-1-aligned-old-ascii-double-double-double.plan
t/50-psql-frames.d/xml-1-aligned-unicode-double-double-double.plan
t/50-psql-frames.d/xml-1-aligned-unicode-double-double-single.plan
t/50-psql-frames.d/xml-2-aligned-ascii-double-double-double.plan
t/50-psql-frames.d/xml-2-aligned-old-ascii-double-double-double.plan
t/50-psql-frames.d/xml-2-aligned-unicode-double-double-double.plan
t/50-psql-frames.d/xml-2-aligned-unicode-double-double-single.plan
t/50-psql-frames.d/xml-2-aligned-unicode-single-double-double.plan
t/50-psql-frames.d/xml-2-aligned-unicode-single-double-single.plan
t/50-psql-frames.d/yaml-0-aligned-ascii-double-double-double.plan
t/50-psql-frames.d/yaml-0-aligned-old-ascii-double-double-double.plan
t/50-psql-frames.d/yaml-0-aligned-unicode-double-double-double.plan
t/50-psql-frames.d/yaml-0-aligned-unicode-double-double-single.plan
t/50-psql-frames.d/yaml-0-unaligned-ascii-double-double-double.plan
t/50-psql-frames.d/yaml-1-aligned-ascii-double-double-double.plan
t/50-psql-frames.d/yaml-1-aligned-old-ascii-double-double-double.plan
t/50-psql-frames.d/yaml-1-aligned-unicode-double-double-double.plan
t/50-psql-frames.d/yaml-1-aligned-unicode-double-double-single.plan
t/50-psql-frames.d/yaml-2-aligned-ascii-double-double-double.plan
t/50-psql-frames.d/yaml-2-aligned-old-ascii-double-double-double.plan
t/50-psql-frames.d/yaml-2-aligned-unicode-double-double-double.plan
t/50-psql-frames.d/yaml-2-aligned-unicode-double-double-single.plan
t/50-psql-frames.d/yaml-2-aligned-unicode-single-double-double.plan
t/50-psql-frames.d/yaml-2-aligned-unicode-single-double-single.plan
t/50-psql-frames.t
t/51-all-recursive-subnodes.t
t/52-all-parents.t
t/53-mix-tabs-spaces.t
t/54-as_text-decimals.t
t/55-planning-time.d/new-json.expect
t/55-planning-time.d/new-json.plan
t/55-planning-time.d/new-text.expect
t/55-planning-time.d/new-text.plan
t/55-planning-time.d/new-xml.expect
t/55-planning-time.d/new-xml.plan
t/55-planning-time.d/new-yaml.expect
t/55-planning-time.d/new-yaml.plan
t/55-planning-time.d/old-json.expect
t/55-planning-time.d/old-json.plan
t/55-planning-time.d/old-text.expect
t/55-planning-time.d/old-text.plan
t/55-planning-time.d/old-xml.expect
t/55-planning-time.d/old-xml.plan
t/55-planning-time.d/old-yaml.expect
t/55-planning-time.d/old-yaml.plan
t/55-planning-time.t
t/56-anonymize-query.t
t/57-function-scans.d/plan.alias.json
t/57-function-scans.d/plan.alias.text
t/57-function-scans.d/plan.alias.xml
t/57-function-scans.d/plan.alias.yaml
t/57-function-scans.d/plan.plain.json
t/57-function-scans.d/plan.plain.text
t/57-function-scans.d/plan.plain.xml
t/57-function-scans.d/plan.plain.yaml
t/57-function-scans.t
t/58-auto-explain.d/json-analyze.plan
t/58-auto-explain.d/json-simple.plan
t/58-auto-explain.d/text-analyze.plan
t/58-auto-explain.d/text-simple.plan
t/58-auto-explain.d/xml-analyze.plan
t/58-auto-explain.d/xml-simple.plan
t/58-auto-explain.d/yaml-analyze.plan
t/58-auto-explain.d/yaml-simple.plan
t/58-auto-explain.t
t/59-jit.d/jit.plan.json
t/59-jit.d/jit.plan.text
t/59-jit.d/jit.plan.xml
t/59-jit.d/jit.plan.yaml
t/59-jit.d/nojit.plan.json
t/59-jit.d/nojit.plan.text
t/59-jit.d/nojit.plan.xml
t/59-jit.d/nojit.plan.yaml
t/59-jit.t
t/60-backward-scans.d/json.ios.plan
t/60-backward-scans.d/json.is.plan
t/60-backward-scans.d/text.ios.plan
t/60-backward-scans.d/text.is.plan
t/60-backward-scans.d/xml.ios.plan
t/60-backward-scans.d/xml.is.plan
t/60-backward-scans.d/yaml.ios.plan
t/60-backward-scans.d/yaml.is.plan
t/60-backward-scans.t
t/61-auto-explain-query-text.d/1-json.plan
t/61-auto-explain-query-text.d/1-text.plan
t/61-auto-explain-query-text.d/1-xml.plan
t/61-auto-explain-query-text.d/1-yaml.plan
t/61-auto-explain-query-text.d/2-json.plan
t/61-auto-explain-query-text.d/2-text.plan
t/61-auto-explain-query-text.d/2-xml.plan
t/61-auto-explain-query-text.d/2-yaml.plan
t/61-auto-explain-query-text.t
t/62-no-trailing-new-line.t
t/63-rows-removed-by.d/plan-1.json
t/63-rows-removed-by.d/plan-1.text
t/63-rows-removed-by.d/plan-1.xml
t/63-rows-removed-by.d/plan-1.yaml
t/63-rows-removed-by.d/plan-2.json
t/63-rows-removed-by.d/plan-2.text
t/63-rows-removed-by.d/plan-2.xml
t/63-rows-removed-by.d/plan-2.yaml
t/63-rows-removed-by.d/plan-3.json
t/63-rows-removed-by.d/plan-3.text
t/63-rows-removed-by.d/plan-3.xml
t/63-rows-removed-by.d/plan-3.yaml
t/63-rows-removed-by.d/plan-4.json
t/63-rows-removed-by.d/plan-4.text
t/63-rows-removed-by.d/plan-4.xml
t/63-rows-removed-by.d/plan-4.yaml
t/63-rows-removed-by.t
t/64-total-rows.t
t/65-total-rows-removed.t
t/66-buffers-directly.t
t/67-buffers-from-plans.d/json.plan
t/67-buffers-from-plans.d/json.struct
t/67-buffers-from-plans.d/text.plan
t/67-buffers-from-plans.d/text.struct
t/67-buffers-from-plans.d/xml.plan
t/67-buffers-from-plans.d/xml.struct
t/67-buffers-from-plans.d/yaml.plan
t/67-buffers-from-plans.d/yaml.struct
t/67-buffers-from-plans.t
t/68-buffers-math.t
t/69-round-times-to-zero.t
t/70-settings-in-explains.d/multi-json.plan
t/70-settings-in-explains.d/multi-text.plan
t/70-settings-in-explains.d/multi-xml.plan
t/70-settings-in-explains.d/multi-yaml.plan
t/70-settings-in-explains.d/no-settings-json.plan
t/70-settings-in-explains.d/no-settings-text.plan
t/70-settings-in-explains.d/no-settings-xml.plan
t/70-settings-in-explains.d/no-settings-yaml.plan
t/70-settings-in-explains.d/single-json.plan
t/70-settings-in-explains.d/single-text.plan
t/70-settings-in-explains.d/single-xml.plan
t/70-settings-in-explains.d/single-yaml.plan
t/70-settings-in-explains.t
t/71-fixed-exclusive-time.d/01.plan
t/71-fixed-exclusive-time.d/02.plan
t/71-fixed-exclusive-time.d/03.plan
t/71-fixed-exclusive-time.d/04.plan
t/71-fixed-exclusive-time.d/05.plan
t/71-fixed-exclusive-time.t
t/72-more-info-for-initscans.d/plan.json
t/72-more-info-for-initscans.d/plan.text
t/72-more-info-for-initscans.d/plan.xml
t/72-more-info-for-initscans.d/plan.yaml
t/72-more-info-for-initscans.t
t/73-node-id.t
t/74-hinter-no-hints.t
t/75-hinter-disk-sort.t
t/76-hinter-indexable-seqscan-simple.t
t/77-hinter-indexable-seqscan-multi-equal-and.t
t/78-settings-ignored-for-verbose-plans.t
t/79-multiple-anonymizations.t
t/80-wide-characters.d/wide-characters-explain.json
t/80-wide-characters.d/wide-characters-explain.text
t/80-wide-characters.d/wide-characters-explain.xml
t/80-wide-characters.d/wide-characters-explain.yaml
t/80-wide-characters.t
t/81-planning-io-timings.d/read-and-write.plan
t/81-planning-io-timings.d/read-and-write.timings
t/81-planning-io-timings.d/read.plan
t/81-planning-io-timings.d/read.timings
t/81-planning-io-timings.d/shared-local.plan
t/81-planning-io-timings.d/shared-local.timings
t/81-planning-io-timings.t
t/82-io-timings-changed.d/01.plan
t/82-io-timings-changed.d/01.timings
t/82-io-timings-changed.d/01.txt
t/82-io-timings-changed.d/02.plan
t/82-io-timings-changed.d/02.timings
t/82-io-timings-changed.d/02.txt
t/82-io-timings-changed.d/03.plan
t/82-io-timings-changed.d/03.timings
t/82-io-timings-changed.d/03.txt
t/82-io-timings-changed.d/04.plan
t/82-io-timings-changed.d/04.timings
t/82-io-timings-changed.d/04.txt
t/82-io-timings-changed.d/05.plan
t/82-io-timings-changed.d/05.timings
t/82-io-timings-changed.d/05.txt
t/82-io-timings-changed.d/06.plan
t/82-io-timings-changed.d/06.timings
t/82-io-timings-changed.d/06.txt
t/82-io-timings-changed.d/07.plan
t/82-io-timings-changed.d/07.timings
t/82-io-timings-changed.d/07.txt
t/82-io-timings-changed.d/08.plan
t/82-io-timings-changed.d/08.timings
t/82-io-timings-changed.d/08.txt
t/82-io-timings-changed.d/09.plan
t/82-io-timings-changed.d/09.timings
t/82-io-timings-changed.d/09.txt
t/82-io-timings-changed.d/10.plan
t/82-io-timings-changed.d/10.timings
t/82-io-timings-changed.d/10.txt
t/82-io-timings-changed.d/11.plan
t/82-io-timings-changed.d/11.timings
t/82-io-timings-changed.d/11.txt
t/82-io-timings-changed.d/12.plan
t/82-io-timings-changed.d/12.timings
t/82-io-timings-changed.d/12.txt
t/82-io-timings-changed.d/13.plan
t/82-io-timings-changed.d/13.timings
t/82-io-timings-changed.d/13.txt
t/82-io-timings-changed.d/14.plan
t/82-io-timings-changed.d/14.timings
t/82-io-timings-changed.d/14.txt
t/82-io-timings-changed.d/15.plan
t/82-io-timings-changed.d/15.timings
t/82-io-timings-changed.d/15.txt
t/82-io-timings-changed.d/16.plan
t/82-io-timings-changed.d/16.timings
t/82-io-timings-changed.d/16.txt
t/82-io-timings-changed.d/17.plan
t/82-io-timings-changed.d/17.timings
t/82-io-timings-changed.d/17.txt
t/82-io-timings-changed.d/18.plan
t/82-io-timings-changed.d/18.timings
t/82-io-timings-changed.d/18.txt
t/82-io-timings-changed.t
t/99-manifest.t
t/perlcriticrc
t/perltidyrc
t/plans/01-expect
t/plans/01-plan
t/plans/02-expect
t/plans/02-plan
t/plans/03-expect
t/plans/03-plan
t/plans/04-expect
t/plans/04-plan
t/plans/05-expect
t/plans/05-plan
t/plans/06-expect
t/plans/06-plan
t/plans/07-expect
t/plans/07-plan
t/plans/08-expect
t/plans/08-plan
t/plans/09-expect
t/plans/09-plan
t/plans/10-expect
t/plans/10-plan
t/plans/11-expect
t/plans/11-plan
t/plans/12-expect
t/plans/12-plan
t/plans/13-expect
t/plans/13-plan
t/plans/14-expect
t/plans/14-plan
t/plans/15-expect
t/plans/15-plan
t/plans/16-expect
t/plans/16-plan
t/plans/17-expect
t/plans/17-plan
t/plans/18-expect
t/plans/18-plan
t/plans/19-expect
t/plans/19-plan
t/plans/20-expect
t/plans/20-plan
t/plans/21-expect
t/plans/21-plan
t/plans/22-expect
t/plans/22-plan
t/plans/23-expect
t/plans/23-plan
t/plans/24-expect
t/plans/24-plan
t/plans/25-expect
t/plans/25-plan
t/plans/26-expect
t/plans/26-plan
t/plans/27-expect
t/plans/27-plan
t/plans/28-expect
t/plans/28-plan
t/plans/29-expect
t/plans/29-plan