pione 0.2.1 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +16 -13
- data/.travis.yml +1 -1
- data/History.txt +11 -0
- data/Rakefile +13 -0
- data/bin/pione-package +5 -0
- data/example/AbstractRule/package.yml +6 -0
- data/example/AbstractRule/scenario/a/output/message.txt +1 -0
- data/example/AbstractRule/scenario/a/scenario.yml +4 -0
- data/example/AbstractRule/scenario/b/output/message.txt +1 -0
- data/example/AbstractRule/scenario/b/scenario.yml +4 -0
- data/example/AbstractRule/scenario/c/output/message.txt +1 -0
- data/example/AbstractRule/scenario/c/scenario.yml +4 -0
- data/example/HelloWorld/package.yml +5 -1
- data/example/HelloWorld/scenario/scenario.yml +2 -1
- data/example/LoopByTouch/package.yml +4 -1
- data/example/MakePair/package.yml +6 -0
- data/example/MakePair/scenario/{input → case1/input}/1.i +0 -0
- data/example/MakePair/scenario/{input → case1/input}/2.i +0 -0
- data/example/MakePair/scenario/{input → case1/input}/3.i +0 -0
- data/example/MakePair/scenario/{input → case1/input}/4.i +0 -0
- data/example/MakePair/scenario/{input → case1/input}/5.i +0 -0
- data/example/MakePair/scenario/{output → case1/output}/comb-1-2.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/comb-1-3.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/comb-1-4.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/comb-1-5.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/comb-2-3.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/comb-2-4.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/comb-2-5.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/comb-3-4.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/comb-3-5.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/comb-4-5.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/perm-1-2.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/perm-1-3.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/perm-1-4.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/perm-1-5.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/perm-2-1.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/perm-2-3.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/perm-2-4.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/perm-2-5.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/perm-3-1.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/perm-3-2.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/perm-3-4.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/perm-3-5.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/perm-4-1.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/perm-4-2.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/perm-4-3.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/perm-4-5.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/perm-5-1.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/perm-5-2.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/perm-5-3.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/perm-5-4.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/succ-1-2.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/succ-2-3.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/succ-3-4.pair +0 -0
- data/example/MakePair/scenario/{output → case1/output}/succ-4-5.pair +0 -0
- data/example/MakePair/scenario/case1/scenario.yml +42 -0
- data/example/MakePair/scenario/case2/input/10.i +0 -0
- data/example/MakePair/scenario/case2/input/11.i +0 -0
- data/example/MakePair/scenario/case2/input/9.i +0 -0
- data/example/MakePair/scenario/case2/output/comb-10-11.pair +0 -0
- data/example/MakePair/scenario/case2/output/comb-9-10.pair +0 -0
- data/example/MakePair/scenario/case2/output/comb-9-11.pair +0 -0
- data/example/MakePair/scenario/case2/output/perm-10-11.pair +0 -0
- data/example/MakePair/scenario/case2/output/perm-10-9.pair +0 -0
- data/example/MakePair/scenario/case2/output/perm-11-10.pair +0 -0
- data/example/MakePair/scenario/case2/output/perm-11-9.pair +0 -0
- data/example/MakePair/scenario/case2/output/perm-9-10.pair +0 -0
- data/example/MakePair/scenario/case2/output/perm-9-11.pair +0 -0
- data/example/MakePair/scenario/case2/output/succ-10-11.pair +0 -0
- data/example/MakePair/scenario/case2/output/succ-9-10.pair +0 -0
- data/example/MakePair/scenario/case2/scenario.yml +17 -0
- data/example/MakePair/scenario/case3/input/1.i +0 -0
- data/example/MakePair/scenario/case3/input/3.i +0 -0
- data/example/MakePair/scenario/case3/input/5.i +0 -0
- data/example/MakePair/scenario/case3/input/7.i +0 -0
- data/example/MakePair/scenario/case3/input/9.i +0 -0
- data/example/MakePair/scenario/case3/output/comb-1-3.pair +0 -0
- data/example/MakePair/scenario/case3/output/comb-1-5.pair +0 -0
- data/example/MakePair/scenario/case3/output/comb-1-7.pair +0 -0
- data/example/MakePair/scenario/case3/output/comb-1-9.pair +0 -0
- data/example/MakePair/scenario/case3/output/comb-3-5.pair +0 -0
- data/example/MakePair/scenario/case3/output/comb-3-7.pair +0 -0
- data/example/MakePair/scenario/case3/output/comb-3-9.pair +0 -0
- data/example/MakePair/scenario/case3/output/comb-5-7.pair +0 -0
- data/example/MakePair/scenario/case3/output/comb-5-9.pair +0 -0
- data/example/MakePair/scenario/case3/output/comb-7-9.pair +0 -0
- data/example/MakePair/scenario/case3/output/perm-1-3.pair +0 -0
- data/example/MakePair/scenario/case3/output/perm-1-5.pair +0 -0
- data/example/MakePair/scenario/case3/output/perm-1-7.pair +0 -0
- data/example/MakePair/scenario/case3/output/perm-1-9.pair +0 -0
- data/example/MakePair/scenario/case3/output/perm-3-1.pair +0 -0
- data/example/MakePair/scenario/case3/output/perm-3-5.pair +0 -0
- data/example/MakePair/scenario/case3/output/perm-3-7.pair +0 -0
- data/example/MakePair/scenario/case3/output/perm-3-9.pair +0 -0
- data/example/MakePair/scenario/case3/output/perm-5-1.pair +0 -0
- data/example/MakePair/scenario/case3/output/perm-5-3.pair +0 -0
- data/example/MakePair/scenario/case3/output/perm-5-7.pair +0 -0
- data/example/MakePair/scenario/case3/output/perm-5-9.pair +0 -0
- data/example/MakePair/scenario/case3/output/perm-7-1.pair +0 -0
- data/example/MakePair/scenario/case3/output/perm-7-3.pair +0 -0
- data/example/MakePair/scenario/case3/output/perm-7-5.pair +0 -0
- data/example/MakePair/scenario/case3/output/perm-7-9.pair +0 -0
- data/example/MakePair/scenario/case3/output/perm-9-1.pair +0 -0
- data/example/MakePair/scenario/case3/output/perm-9-3.pair +0 -0
- data/example/MakePair/scenario/case3/output/perm-9-5.pair +0 -0
- data/example/MakePair/scenario/case3/output/perm-9-7.pair +0 -0
- data/example/MakePair/scenario/case3/scenario.yml +39 -0
- data/example/PegasusWMS/Merge/Merge.pione +21 -0
- data/example/PegasusWMS/Merge/package.yml +2 -0
- data/example/PegasusWMS/Pipeline/Pipeline.pione +20 -0
- data/example/PegasusWMS/Pipeline/package.yml +2 -0
- data/example/PegasusWMS/Split/Split.pione +27 -0
- data/example/PegasusWMS/Split/package.yml +2 -0
- data/example/ScoreAggregation/package.yml +4 -0
- data/example/ScoreAggregation/scenario/case1/scenario.yml +27 -1
- data/example/SerialProcessing/package.yml +5 -1
- data/example/SerialProcessing/scenario/scenario.yml +10 -0
- data/lib/pione.rb +20 -71
- data/lib/pione/agent.rb +17 -0
- data/lib/pione/agent/basic-agent.rb +2 -4
- data/lib/pione/command.rb +1 -0
- data/lib/pione/command/option.rb +4 -1
- data/lib/pione/command/pione-package.rb +97 -0
- data/lib/pione/command/pione-task-worker.rb +11 -7
- data/lib/pione/component.rb +5 -0
- data/lib/pione/component/document.rb +22 -5
- data/lib/pione/component/package-archiver.rb +92 -0
- data/lib/pione/component/package-expander.rb +37 -0
- data/lib/pione/component/package-filename.rb +38 -0
- data/lib/pione/component/package-reader.rb +276 -0
- data/lib/pione/component/package.rb +50 -162
- data/lib/pione/front.rb +14 -0
- data/lib/pione/location.rb +5 -0
- data/lib/pione/location/basic-location.rb +47 -274
- data/lib/pione/location/data-location.rb +328 -0
- data/lib/pione/location/dropbox-location.rb +30 -7
- data/lib/pione/location/exception.rb +38 -0
- data/lib/pione/location/ftp-location.rb +24 -13
- data/lib/pione/location/git-repository-location.rb +153 -0
- data/lib/pione/location/http-location.rb +65 -0
- data/lib/pione/location/https-location.rb +37 -0
- data/lib/pione/location/local-location.rb +24 -5
- data/lib/pione/parser.rb +14 -0
- data/lib/pione/patch.rb +10 -0
- data/lib/pione/patch/drb-patch.rb +2 -2
- data/lib/pione/relay.rb +11 -0
- data/lib/pione/system/file-cache.rb +1 -1
- data/lib/pione/system/global.rb +15 -0
- data/lib/pione/tuple-space.rb +11 -0
- data/lib/pione/tuple-space/tuple-space-server.rb +1 -1
- data/lib/pione/util.rb +1 -0
- data/lib/pione/util/error-report.rb +7 -0
- data/lib/pione/util/misc.rb +2 -2
- data/lib/pione/util/zip.rb +60 -0
- data/lib/pione/version.rb +1 -1
- data/pione.gemspec +5 -1
- data/test/agent/spec_rule-provider.rb +2 -2
- data/test/command/spec_pione-package.rb +15 -0
- data/test/component/spec_document.rb +2 -2
- data/test/component/spec_package-archiver.rb +27 -0
- data/test/component/spec_package-expander.rb +11 -0
- data/test/component/spec_package-filename.rb +79 -0
- data/test/component/spec_package-reader.rb +100 -0
- data/test/component/spec_package.rb +50 -33
- data/test/location/http-behavior.rb +59 -0
- data/test/location/location-behavior.rb +8 -0
- data/test/location/spec_basic-location.rb +5 -1
- data/test/location/spec_git-repository-location.rb +143 -0
- data/test/location/spec_http-location.rb +28 -0
- data/test/location/spec_http-location/a.txt +1 -0
- data/test/location/spec_http-location/b.txt +1 -0
- data/test/location/spec_http-location/c.txt +1 -0
- data/test/location/spec_http-location/dir/d.txt +1 -0
- data/test/location/spec_https-location.rb +37 -0
- data/test/rule-handler/spec_flow-handler.rb +1 -1
- data/test/rule-handler/spec_update-criteria.rb +1 -1
- data/test/test-data/package/HelloWorld+v0.1.0.ppg +0 -0
- data/test/test-data/package/HelloWorld-gitrepos.zip +0 -0
- data/test/test-data/package/HelloWorld/HelloWorld.pione +5 -0
- data/test/test-data/package/HelloWorld/package.yml +6 -0
- data/test/test-data/package/HelloWorld/scenario/output/message.txt +1 -0
- data/test/test-data/package/HelloWorld/scenario/scenario.yml +3 -0
- data/test/test-data/package/TestPackage1+v0.1.0.ppg +0 -0
- data/test/{component/spec_package/TestPackage → test-data/package/TestPackage1}/Test.pione +3 -1
- data/test/test-data/package/TestPackage1/bin/count +11 -0
- data/test/test-data/package/TestPackage1/package.yml +9 -0
- data/test/{component/spec_package/TestPackage → test-data/package/TestPackage1}/scenario/case1/input/1.txt +0 -0
- data/test/test-data/package/TestPackage1/scenario/case1/output/1.count +1 -0
- data/test/test-data/package/TestPackage1/scenario/case1/scenario.yml +6 -0
- data/test/test-data/package/TestPackage1/scenario/case2/input/1.txt +2 -0
- data/test/test-data/package/TestPackage1/scenario/case2/input/2.txt +1 -0
- data/test/test-data/package/TestPackage1/scenario/case2/input/3.txt +3 -0
- data/test/test-data/package/TestPackage1/scenario/case2/output/1.count +1 -0
- data/test/test-data/package/TestPackage1/scenario/case2/output/2.count +1 -0
- data/test/test-data/package/TestPackage1/scenario/case2/output/3.count +1 -0
- data/test/test-data/package/TestPackage1/scenario/case2/scenario.yml +10 -0
- data/test/test-data/package/TestPackage1/scenario/case3/input/a.txt +1 -0
- data/test/test-data/package/TestPackage1/scenario/case3/input/b.txt +1 -0
- data/test/test-data/package/TestPackage1/scenario/case3/output/a.count +1 -0
- data/test/test-data/package/TestPackage1/scenario/case3/output/b.count +1 -0
- data/test/test-data/package/TestPackage1/scenario/case3/scenario.yml +8 -0
- data/test/test-util.rb +10 -146
- data/test/test-util/command.rb +53 -0
- data/test/test-util/package.rb +9 -0
- data/test/test-util/parser.rb +45 -0
- data/test/test-util/transformer.rb +50 -0
- data/test/test-util/webserver.rb +43 -0
- data/test/util/spec_error-report.rb +12 -3
- data/test/util/spec_zip.rb +36 -0
- metadata +282 -54
- data/example/MakePair/scenario/scenario.yml +0 -1
- data/test/component/spec_package/TestPackage/bin/count +0 -3
- data/test/component/spec_package/TestPackage/package.yml +0 -7
- data/test/component/spec_package/TestPackage/scenario/case1/scenario.yml +0 -1
data/.gitignore
CHANGED
@@ -1,17 +1,20 @@
|
|
1
1
|
*~
|
2
|
-
/input
|
3
|
-
/output
|
4
|
-
result
|
5
|
-
html
|
6
|
-
log.txt
|
7
|
-
doc
|
8
|
-
.yardoc
|
9
|
-
vendor
|
10
|
-
.bundle
|
11
|
-
pkg
|
12
2
|
\#*
|
13
|
-
|
3
|
+
|
4
|
+
.bundle
|
5
|
+
.EosLog
|
6
|
+
.yardoc
|
14
7
|
Gemfile.lock
|
15
8
|
gems
|
16
|
-
|
17
|
-
.
|
9
|
+
log.txt
|
10
|
+
nohup.out
|
11
|
+
|
12
|
+
/input
|
13
|
+
/output
|
14
|
+
/result
|
15
|
+
/html
|
16
|
+
/doc
|
17
|
+
/vendor
|
18
|
+
/coverage
|
19
|
+
/pkg
|
20
|
+
/*.ppg
|
data/.travis.yml
CHANGED
data/History.txt
CHANGED
@@ -1,5 +1,16 @@
|
|
1
1
|
# History
|
2
2
|
|
3
|
+
## 0.2.2(2013/07/02)
|
4
|
+
|
5
|
+
* Enabled to load remote package.
|
6
|
+
* Added pione-package command.
|
7
|
+
* Added PIONE archive(".ppg" file).
|
8
|
+
* Added git package.
|
9
|
+
* Fixed the problem about pione-client termination.
|
10
|
+
* Refactored location system.
|
11
|
+
* Added HTTPS location.
|
12
|
+
* Added examples.
|
13
|
+
|
3
14
|
## 0.2.1(2013/06/15)
|
4
15
|
|
5
16
|
* Added basic/advaneced parameter.
|
data/Rakefile
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require "bundler/gem_tasks"
|
2
|
+
require "pione"
|
2
3
|
|
3
4
|
$stand_alone = "bin/pione-client --stand-aline"
|
4
5
|
|
@@ -120,6 +121,18 @@ task 'test:other' do
|
|
120
121
|
sh "bundle exec bacon -I lib test/spec_*.rb"
|
121
122
|
end
|
122
123
|
|
124
|
+
desc "create test git package"
|
125
|
+
task "test:build-test-git-package" do
|
126
|
+
path = Temppath.mkdir
|
127
|
+
cd path do
|
128
|
+
sh "git clone https://github.com/pione/HelloWorld.git"
|
129
|
+
# sh "zip HelloWorld.zip -r HelloWorld"
|
130
|
+
Util::Zip.compress(Location["HelloWorld"], Location["HelloWorld.zip"])
|
131
|
+
end
|
132
|
+
sh "mkdir -p test/test-data/git-repository/"
|
133
|
+
sh "mv %s %s" % [File.join(path, "HelloWorld.zip"), "test/test-data/git-repository/"]
|
134
|
+
end
|
135
|
+
|
123
136
|
desc 'clean'
|
124
137
|
task 'clean' do
|
125
138
|
sh "rm -rf input/*"
|
data/bin/pione-package
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
This is rule A.
|
@@ -0,0 +1 @@
|
|
1
|
+
This is rule B.
|
@@ -0,0 +1 @@
|
|
1
|
+
This is rule C.
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,42 @@
|
|
1
|
+
ScenarioName: from 1 to 5
|
2
|
+
Inputs:
|
3
|
+
- "1.i"
|
4
|
+
- "2.i"
|
5
|
+
- "3.i"
|
6
|
+
- "4.i"
|
7
|
+
- "5.i"
|
8
|
+
Outputs:
|
9
|
+
- "comb-1-2.pair"
|
10
|
+
- "comb-1-3.pair"
|
11
|
+
- "comb-1-4.pair"
|
12
|
+
- "comb-1-5.pair"
|
13
|
+
- "comb-2-3.pair"
|
14
|
+
- "comb-2-4.pair"
|
15
|
+
- "comb-2-5.pair"
|
16
|
+
- "comb-3-4.pair"
|
17
|
+
- "comb-3-5.pair"
|
18
|
+
- "comb-4-5.pair"
|
19
|
+
- "perm-1-2.pair"
|
20
|
+
- "perm-1-3.pair"
|
21
|
+
- "perm-1-4.pair"
|
22
|
+
- "perm-1-5.pair"
|
23
|
+
- "perm-2-1.pair"
|
24
|
+
- "perm-2-3.pair"
|
25
|
+
- "perm-2-4.pair"
|
26
|
+
- "perm-2-5.pair"
|
27
|
+
- "perm-3-1.pair"
|
28
|
+
- "perm-3-2.pair"
|
29
|
+
- "perm-3-4.pair"
|
30
|
+
- "perm-3-5.pair"
|
31
|
+
- "perm-4-1.pair"
|
32
|
+
- "perm-4-2.pair"
|
33
|
+
- "perm-4-3.pair"
|
34
|
+
- "perm-4-5.pair"
|
35
|
+
- "perm-5-1.pair"
|
36
|
+
- "perm-5-2.pair"
|
37
|
+
- "perm-5-3.pair"
|
38
|
+
- "perm-5-4.pair"
|
39
|
+
- "succ-1-2.pair"
|
40
|
+
- "succ-2-3.pair"
|
41
|
+
- "succ-3-4.pair"
|
42
|
+
- "succ-4-5.pair"
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,17 @@
|
|
1
|
+
ScenarioName: from 9 to 11
|
2
|
+
Inputs:
|
3
|
+
- "9.i"
|
4
|
+
- "10.i"
|
5
|
+
- "11.i"
|
6
|
+
Outputs:
|
7
|
+
- "comb-9-10.pair"
|
8
|
+
- "comb-9-11.pair"
|
9
|
+
- "comb-10-11.pair"
|
10
|
+
- "perm-9-10.pair"
|
11
|
+
- "perm-9-11.pair"
|
12
|
+
- "perm-10-9.pair"
|
13
|
+
- "perm-10-11.pair"
|
14
|
+
- "perm-11-9.pair"
|
15
|
+
- "perm-11-10.pair"
|
16
|
+
- "succ-9-10.pair"
|
17
|
+
- "succ-10-11.pair"
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,39 @@
|
|
1
|
+
ScenarioName: Odd Pairs
|
2
|
+
Inputs:
|
3
|
+
- "1.i"
|
4
|
+
- "3.i"
|
5
|
+
- "5.i"
|
6
|
+
- "7.i"
|
7
|
+
- "9.i"
|
8
|
+
Outputs:
|
9
|
+
- "comb-1-3.pair"
|
10
|
+
- "comb-1-5.pair"
|
11
|
+
- "comb-1-7.pair"
|
12
|
+
- "comb-1-9.pair"
|
13
|
+
- "comb-3-5.pair"
|
14
|
+
- "comb-3-7.pair"
|
15
|
+
- "comb-3-9.pair"
|
16
|
+
- "comb-5-7.pair"
|
17
|
+
- "comb-5-9.pair"
|
18
|
+
- "comb-7-9.pair"
|
19
|
+
- "perm-1-3.pair"
|
20
|
+
- "perm-1-5.pair"
|
21
|
+
- "perm-1-7.pair"
|
22
|
+
- "perm-1-9.pair"
|
23
|
+
- "perm-3-1.pair"
|
24
|
+
- "perm-3-5.pair"
|
25
|
+
- "perm-3-7.pair"
|
26
|
+
- "perm-3-9.pair"
|
27
|
+
- "perm-5-1.pair"
|
28
|
+
- "perm-5-3.pair"
|
29
|
+
- "perm-5-7.pair"
|
30
|
+
- "perm-5-9.pair"
|
31
|
+
- "perm-7-1.pair"
|
32
|
+
- "perm-7-3.pair"
|
33
|
+
- "perm-7-5.pair"
|
34
|
+
- "perm-7-9.pair"
|
35
|
+
- "perm-9-1.pair"
|
36
|
+
- "perm-9-3.pair"
|
37
|
+
- "perm-9-5.pair"
|
38
|
+
- "perm-9-7.pair"
|
39
|
+
|