randomperson 0.0.17 → 0.0.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. data/.gitignore +16 -0
  2. data/CHANGELOG +35 -0
  3. data/Manifest +72 -0
  4. data/README +324 -0
  5. data/gem-public_cert.pem +20 -0
  6. data/lib/randomperson/Names/AnyLast.rb +1 -1
  7. data/lib/randomperson/Names/BasqueFemaleFirst.rb +1 -1
  8. data/lib/randomperson/Names/BasqueLast.rb +1 -1
  9. data/lib/randomperson/Names/BasqueMaleFirst.rb +1 -1
  10. data/lib/randomperson/Names/BritishPrefix.rb +1 -1
  11. data/lib/randomperson/Names/EnglishFemaleFirst.rb +1 -1
  12. data/lib/randomperson/Names/EnglishLast.rb +1 -1
  13. data/lib/randomperson/Names/EnglishMaleFirst.rb +1 -1
  14. data/lib/randomperson/Names/FinnishFemaleFirst.rb +1 -1
  15. data/lib/randomperson/Names/FinnishLast.rb +1 -1
  16. data/lib/randomperson/Names/FinnishMaleFirst.rb +1 -1
  17. data/lib/randomperson/Names/FinnishPrefix.rb +1 -1
  18. data/lib/randomperson/Names/FrenchFemaleFirst.rb +1 -1
  19. data/lib/randomperson/Names/FrenchLast.rb +1 -1
  20. data/lib/randomperson/Names/FrenchMaleFirst.rb +1 -1
  21. data/lib/randomperson/Names/GermanFemaleFirst.rb +1 -1
  22. data/lib/randomperson/Names/GermanLast.rb +1 -1
  23. data/lib/randomperson/Names/GermanMaleFirst.rb +1 -1
  24. data/lib/randomperson/Names/ScottishFemaleFirst.rb +1 -1
  25. data/lib/randomperson/Names/ScottishLast.rb +1 -1
  26. data/lib/randomperson/Names/ScottishMaleFirst.rb +1 -1
  27. data/lib/randomperson/Names/ScottishPrefix.rb +1 -1
  28. data/lib/randomperson/Names/SpanishFemaleFirst.rb +1 -1
  29. data/lib/randomperson/Names/SpanishLast.rb +1 -1
  30. data/lib/randomperson/Names/SpanishMaleFirst.rb +1 -1
  31. data/lib/randomperson/Names/SpanishPrefix.rb +1 -1
  32. data/lib/randomperson/Names/SwedishFemaleFirst.rb +1 -1
  33. data/lib/randomperson/Names/SwedishLast.rb +1 -1
  34. data/lib/randomperson/Names/SwedishMaleFirst.rb +1 -1
  35. data/lib/randomperson/Names/ThaiFemaleFirst.rb +1 -1
  36. data/lib/randomperson/Names/ThaiFirst.rb +1 -1
  37. data/lib/randomperson/Names/ThaiLast.rb +1 -1
  38. data/lib/randomperson/Names/ThaiMaleFirst.rb +1 -1
  39. data/lib/randomperson/Names/ThaiRomanisedFemaleFirst.rb +1 -1
  40. data/lib/randomperson/Names/ThaiRomanisedLast.rb +1 -1
  41. data/lib/randomperson/Names/ThaiRomanisedMaleFirst.rb +1 -1
  42. data/lib/randomperson/Names/WelshFemaleFirst.rb +1 -1
  43. data/lib/randomperson/Names/WelshLast.rb +1 -1
  44. data/lib/randomperson/Names/WelshMaleFirst.rb +1 -1
  45. data/lib/randomperson/Names/WelshPrefix.rb +1 -1
  46. data/lib/randomperson/{Choice.rb → choice.rb} +5 -1
  47. data/lib/randomperson/{Generator.rb → generator.rb} +20 -2
  48. data/lib/randomperson/{Name.rb → name.rb} +0 -0
  49. data/lib/randomperson/person.rb +27 -0
  50. data/lib/randomperson/{Ratio.rb → ratio.rb} +0 -0
  51. data/lib/randomperson/version.rb +3 -0
  52. data/lib/randomperson.rb +21 -15
  53. data/randomperson.gemspec +6 -6
  54. data/spec/choice_spec.rb +13 -0
  55. data/spec/generator_spec.rb +13 -0
  56. data/spec/name_spec.rb +13 -0
  57. data/test/test_Choice.rb +140 -0
  58. data/test/test_Generator.rb +111 -0
  59. data.tar.gz.sig +0 -0
  60. metadata +74 -56
  61. metadata.gz.sig +0 -0
  62. data/lib/randomperson/Person.rb +0 -17
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # encoding: UTF-8
2
2
 
3
3
  module RandomPerson
4
4
  module Names
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # encoding: UTF-8
2
2
 
3
3
  module RandomPerson
4
4
  module Names
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # encoding: UTF-8
2
2
 
3
3
  module RandomPerson
4
4
  module Names
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # encoding: UTF-8
2
2
 
3
3
  module RandomPerson
4
4
  module Names
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # encoding: UTF-8
2
2
 
3
3
  module RandomPerson
4
4
  module Names
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # encoding: UTF-8
2
2
 
3
3
  module RandomPerson
4
4
  module Names
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # encoding: UTF-8
2
2
 
3
3
  module RandomPerson
4
4
  module Names
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # encoding: UTF-8
2
2
 
3
3
  module RandomPerson
4
4
  module Names
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # encoding: UTF-8
2
2
 
3
3
  module RandomPerson
4
4
  module Names
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # encoding: UTF-8
2
2
 
3
3
  module RandomPerson
4
4
  module Names
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # encoding: UTF-8
2
2
 
3
3
  module RandomPerson
4
4
  module Names
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+ # encoding: UTF-8
2
2
 
3
3
  module RandomPerson
4
4
  module Names
@@ -1,6 +1,7 @@
1
1
  module RandomPerson
2
2
 
3
3
  class Choice
4
+ require 'set'
4
5
 
5
6
  attr_accessor :malefirst, :femalefirst, :last, :gender_ratio, :age_lower, :age_upper, :prefix, :suffix #,:age_ratio
6
7
 
@@ -10,7 +11,10 @@ module RandomPerson
10
11
 
11
12
 
12
13
  @@available_classes = Set.new
13
-
14
+
15
+ # Initialize the class with the parameters for the population you want.
16
+ # @example
17
+ # choice = RandomPerson::Choice.new( {gender_ratio: [3,5] , age_lower:16, age_upper:35 } )
14
18
  def initialize( h={} )
15
19
  @gender_ratio = h[:gender_ratio] || [1,1] #default
16
20
  @age_lower = h[:age_lower] || 0
@@ -1,15 +1,24 @@
1
1
  module RandomPerson
2
2
 
3
3
  class Generator
4
-
4
+
5
+ require_relative './choice.rb'
6
+ require_relative './person.rb'
7
+
5
8
  attr_reader :generators
6
9
 
10
+ # Sets up a list of generators
11
+ # @example
12
+ # g = RandomPerson::Generator.new
7
13
  def initialize
8
14
  @generators = [ ]
9
15
  end
10
16
 
11
17
 
12
- #build a choice generator
18
+ # Build a choice generator
19
+ # @param [RandomPerson::Choice] choice A Choice object.
20
+ # @example
21
+ # g.make_generator choice
13
22
  def make_generator( choice )
14
23
  f = -> {
15
24
  g = Generator.pick_gender( choice.gender_ratio )
@@ -50,6 +59,15 @@ module RandomPerson
50
59
  return new_ratio
51
60
  end
52
61
 
62
+ # Takes a ratio and uses this to randomly select either a male or a female. To get only males or only females, pass in a 0 for either gender to make sure of getting the other gender for definite.
63
+ # @example To only get males:
64
+ # pick_gender( [1,0] )
65
+ # @example To only get females:
66
+ # pick_gender( [0,1] )
67
+ # @example To be likely to get 2 females to every male:
68
+ # pick_gender( [1,2] )
69
+ # @param [optional,Array<Integer,Integer>] ratio The ratio of males to females expressed in an array, e.g. [1,1] is (a chance of) one male for every female, [1,2] is one male to two females. The default is [1,1].
70
+ # @return [String] Returns a 'f' for female or an 'm' for male.
53
71
  def pick_gender( ratio=[1,1] ) #male first
54
72
  if ratio.length == 2
55
73
  return 'f' if ratio.first == 0
File without changes
@@ -0,0 +1,27 @@
1
+ module RandomPerson
2
+
3
+ # Your general person
4
+ class Person
5
+
6
+ attr_accessor :gender, :age, :dob, :first, :last, :prefix, :suffix
7
+
8
+ ## @param [optional,Hash] h A hash of the person's attributes
9
+ # @option h [String] :gender nil Gender, 'm' for male or 'f' for female
10
+ # @option h [Integer] :age nil Age
11
+ # @option h [Time] :dob nil Date of birth
12
+ # @option h [String] :first nil First name
13
+ # @option h [String] :last nil Last name
14
+ # @option h [String] :prefix nil Prefix e.g. Mr
15
+ # @option h [String] :suffix nil Suffix e.g. PhD
16
+ def initialize( h={} )
17
+ @gender = h[:gender] || nil
18
+ @age = h[:age] || nil
19
+ @dob = h[:dob] || nil
20
+ @first = h[:first] || nil
21
+ @last = h[:last] || nil
22
+ @prefix = h[:prefix] || nil
23
+ @suffix = h[:suffix] || nil
24
+ end
25
+
26
+ end
27
+ end
File without changes
@@ -0,0 +1,3 @@
1
+ module RandomPerson
2
+ VERSION = "0.0.19"
3
+ end
data/lib/randomperson.rb CHANGED
@@ -1,17 +1,23 @@
1
- #require all the scaffolding
1
+ # encoding: UTF-8
2
+ module RandomPerson
2
3
 
3
- require 'set'
4
- require 'date'
4
+ #require all the scaffolding
5
+
6
+ require 'set'
7
+ require 'date'
8
+
9
+ require_relative './randomperson/version.rb'
10
+ require_relative './randomperson/ext/Array.rb'
11
+ require_relative './randomperson/ext/Date.rb'
12
+ require_relative './randomperson/ext/Enumerable.rb'
13
+ require_relative './randomperson/ext/Hash.rb'
14
+ require_relative './randomperson/ext/Kernel.rb'
15
+ require_relative './randomperson/ext/Set.rb'
16
+
17
+ require_relative './randomperson/choice.rb'
18
+ require_relative './randomperson/generator.rb'
19
+ require_relative './randomperson/name.rb'
20
+ require_relative './randomperson/person.rb'
21
+ #require_relative './randomperson/ratio.rb'
5
22
 
6
- require_relative 'randomperson/ext/Array.rb'
7
- require_relative 'randomperson/ext/Date.rb'
8
- require_relative 'randomperson/ext/Enumerable.rb'
9
- require_relative 'randomperson/ext/Hash.rb'
10
- require_relative 'randomperson/ext/Kernel.rb'
11
- require_relative 'randomperson/ext/Set.rb'
12
-
13
- require_relative 'randomperson/choice.rb'
14
- require_relative 'randomperson/generator.rb'
15
- require_relative 'randomperson/name.rb'
16
- require_relative 'randomperson/person.rb'
17
- #require_relative 'randomperson/ratio.rb'
23
+ end
data/randomperson.gemspec CHANGED
@@ -1,7 +1,7 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
  lib = File.expand_path('../lib/', __FILE__)
3
3
  $:.unshift lib unless $:.include?(lib)
4
-
4
+ require 'randomperson/version'
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "randomperson"
@@ -9,16 +9,16 @@ Gem::Specification.new do |s|
9
9
  s.description = <<-EOF
10
10
  RandomPerson is a port to Ruby of Perl's Data::RandomPerson. Use it to generate random persons given various parameters, such as country, age and gender ratio.
11
11
  EOF
12
- s.version = "0.0.17"
12
+ s.version = RandomPerson::VERSION
13
13
  s.platform = Gem::Platform::RUBY
14
- s.require_paths << 'ext'
14
+ s.require_path = 'lib'
15
15
  s.required_ruby_version = ">= 1.9.1"
16
16
  s.author = "Iain Barnett"
17
- s.files = ['Rakefile', 'randomperson.gemspec']
18
- s.files += Dir['lib/**/*.rb']
17
+ s.files = `git ls-files`.split("\n")
18
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
19
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
20
  s.homepage = "http://github.com/yb66/RandomPerson"
20
21
  s.email = "iainspeed @nospam@ gmail.com"
21
- s.test_files = Dir.glob('test/*.t')
22
22
  s.signing_key = ENV['HOME'] + '/.ssh/gem-private_key.pem'
23
23
  s.cert_chain = [ENV['HOME'] + '/.ssh/gem-public_cert.pem']
24
24
  end
@@ -0,0 +1,13 @@
1
+ require 'rspec'
2
+ require_relative "../lib/randomperson/choice.rb"
3
+
4
+
5
+ module RandomPerson
6
+
7
+ describe Choice do
8
+
9
+ it "should not blow up on instatiation" do
10
+ Choice.new.should_not == nil
11
+ end
12
+ end # Choice
13
+ end # RandomPerson
@@ -0,0 +1,13 @@
1
+ require 'rspec'
2
+ require_relative "../lib/randomperson/generator.rb"
3
+
4
+
5
+ module RandomPerson
6
+
7
+ describe Generator do
8
+
9
+ it "should not blow up on instatiation" do
10
+ Generator.new.should_not == nil
11
+ end
12
+ end # Generator
13
+ end # RandomPerson
data/spec/name_spec.rb ADDED
@@ -0,0 +1,13 @@
1
+ require 'rspec'
2
+ require_relative "../lib/randomperson/name.rb"
3
+
4
+
5
+ module RandomPerson
6
+
7
+ describe Name do
8
+
9
+ it "should not blow up on instatiation" do
10
+ Name.new.should_not == nil
11
+ end
12
+ end # Name
13
+ end # RandomPerson
@@ -0,0 +1,140 @@
1
+ require 'test/unit'
2
+ require 'set'
3
+ require_relative '../lib/randomperson/ext/Set.rb'
4
+ require_relative '../lib/randomperson/ext/Enumerable.rb'
5
+ require_relative '../lib/randomperson/ext/Kernel.rb'
6
+ require_relative '../lib/randomperson/Name.rb'
7
+ require_relative '../lib/randomperson/Names/AmericanFemaleFirst.rb'
8
+ require_relative '../lib/randomperson/Names/AmericanMaleFirst.rb'
9
+ require_relative '../lib/randomperson/Names/AmericanLast.rb'
10
+ require_relative '../lib/randomperson/Names/BritishPrefix.rb'
11
+ require_relative '../lib/randomperson/Names/BritishSuffix.rb'
12
+ require_relative '../lib/randomperson/choice.rb'
13
+
14
+
15
+
16
+ class TestTask < Test::Unit::TestCase
17
+
18
+ def test_construction
19
+ #default choice
20
+ choice = RandomPerson::Choice.new
21
+ assert_not_nil choice
22
+ assert_equal [1,1] , choice.gender_ratio
23
+ assert_equal 0, choice.age_lower
24
+ assert_equal 100, choice.age_upper
25
+
26
+
27
+ choice2 = RandomPerson::Choice.new( gender_ratio:[2,1] )
28
+ assert_not_nil choice2
29
+ assert_equal [2,1] , choice2.gender_ratio
30
+ assert_equal 0, choice2.age_lower
31
+ assert_equal 100, choice2.age_upper
32
+
33
+
34
+ choice3 = RandomPerson::Choice.new( age_lower: 20 )
35
+ assert_not_nil choice3
36
+ assert_equal [1,1] , choice3.gender_ratio
37
+ assert_equal 20, choice3.age_lower
38
+ assert_equal 100, choice3.age_upper
39
+
40
+
41
+ choice4 = RandomPerson::Choice.new( age_upper: 50 )
42
+ assert_not_nil choice4
43
+ assert_equal [1,1] , choice4.gender_ratio
44
+ assert_equal 0, choice4.age_lower
45
+ assert_equal 50, choice4.age_upper
46
+
47
+
48
+ choice5 = RandomPerson::Choice.new( gender_ratio:[10,1], age_upper: 105 )
49
+ assert_not_nil choice5
50
+ assert_equal [10,1] , choice5.gender_ratio
51
+ assert_equal 0, choice5.age_lower
52
+ assert_equal 105, choice5.age_upper
53
+ end
54
+
55
+ def test_reset_names
56
+
57
+ choice = RandomPerson::Choice.new
58
+ choice.add_American
59
+ choice.add_British
60
+
61
+ assert_not_nil choice.malefirst
62
+ assert_not_nil choice.femalefirst
63
+ assert_not_nil choice.last
64
+ assert_not_nil choice.prefix
65
+ assert_not_nil choice.suffix
66
+
67
+ choice.reset_names
68
+
69
+ assert_nil choice.malefirst
70
+ assert_nil choice.femalefirst
71
+ assert_nil choice.last
72
+ assert_nil choice.prefix
73
+ assert_nil choice.suffix
74
+
75
+ end
76
+
77
+ #this is a test for method_missing add_NAME method
78
+ def test_add_NAME
79
+
80
+ choice = RandomPerson::Choice.new
81
+ assert_nil choice.malefirst
82
+ assert_nil choice.femalefirst
83
+ assert_nil choice.last
84
+ assert_nil choice.prefix
85
+ assert_nil choice.suffix
86
+
87
+ choice.add_American
88
+ choice.add_British
89
+
90
+ assert_not_nil choice.malefirst
91
+ assert_not_nil choice.femalefirst
92
+ assert_not_nil choice.last
93
+ assert_not_nil choice.prefix
94
+ assert_not_nil choice.suffix
95
+
96
+ assert_instance_of RandomPerson::Names::AmericanMaleFirst, choice.malefirst
97
+ assert_instance_of RandomPerson::Names::AmericanFemaleFirst, choice.femalefirst
98
+ assert_instance_of RandomPerson::Names::AmericanLast, choice.last
99
+ assert_instance_of RandomPerson::Names::BritishPrefix, choice.prefix
100
+ assert_instance_of RandomPerson::Names::BritishSuffix, choice.suffix
101
+ end
102
+
103
+ def test_load_names
104
+ choice = RandomPerson::Choice.new
105
+ assert_not_nil choice.available_classes
106
+
107
+ len = choice.available_classes.length
108
+
109
+
110
+ assert_not_equal 0, len
111
+
112
+ choice2 = RandomPerson::Choice.new( gender_ratio:[10,1], age_lower: 25, age_upper: 105 )
113
+
114
+ assert_not_nil choice2.available_classes #just for the helluvit
115
+
116
+ assert_equal len, choice.available_classes.length
117
+ assert_equal len, choice2.available_classes.length
118
+
119
+ end
120
+
121
+
122
+ def test_reset_parameters
123
+ choice = RandomPerson::Choice.new
124
+ choice.reset_parameters
125
+
126
+ assert_nil choice.gender_ratio
127
+ assert_nil choice.age_lower
128
+ assert_nil choice.age_upper
129
+
130
+
131
+ choice2 = RandomPerson::Choice.new( gender_ratio:[10,1], age_lower: 25, age_upper: 105 )
132
+ choice2.reset_parameters
133
+
134
+ assert_nil choice2.gender_ratio
135
+ assert_nil choice2.age_lower
136
+ assert_nil choice2.age_upper
137
+ end
138
+
139
+
140
+ end
@@ -0,0 +1,111 @@
1
+ require 'test/unit'
2
+ require 'date'
3
+ require_relative '../lib/randomperson/ext/Date.rb'
4
+ require_relative '../lib/randomperson/generator.rb'
5
+
6
+ require 'set'
7
+ require_relative '../lib/randomperson/ext/Set.rb'
8
+ require_relative '../lib/randomperson/ext/Enumerable.rb'
9
+ require_relative '../lib/randomperson/ext/Kernel.rb'
10
+ require_relative '../lib/randomperson/Name.rb'
11
+ require_relative '../lib/randomperson/Names/AmericanFemaleFirst.rb'
12
+ require_relative '../lib/randomperson/Names/AmericanMaleFirst.rb'
13
+ require_relative '../lib/randomperson/Names/AmericanLast.rb'
14
+ require_relative '../lib/randomperson/Names/BritishPrefix.rb'
15
+ require_relative '../lib/randomperson/Names/BritishSuffix.rb'
16
+ require_relative '../lib/randomperson/choice.rb'
17
+
18
+ require_relative '../lib/randomperson/ext/Array.rb'
19
+ require_relative '../lib/randomperson/ext/Hash.rb'
20
+ require_relative '../lib/randomperson/person.rb'
21
+
22
+
23
+ class TestTask < Test::Unit::TestCase
24
+
25
+ # def setup
26
+ # g = RandomPerson::Generator.new
27
+ # end
28
+
29
+ # def teardown
30
+ # end
31
+
32
+
33
+
34
+ def test_make_generator
35
+
36
+ choice = RandomPerson::Choice.new
37
+ choice.add_American
38
+ choice.add_British
39
+
40
+ g = RandomPerson::Generator.new
41
+
42
+ assert g.generators.empty?
43
+
44
+ g.make_generator choice
45
+
46
+ assert_not_nil g.generators
47
+ assert_equal 1, g.generators.length
48
+
49
+ assert_instance_of RandomPerson::Person, g.generators[0].call
50
+
51
+ people = [ ]
52
+
53
+ 10000.times { people << g.generators[0].call }
54
+
55
+ assert_nil people.uniq!
56
+
57
+ end
58
+
59
+ def test_ratiod
60
+ assert_kind_of Array, RandomPerson::Generator.ratiod( [1,1] )
61
+ assert_kind_of Range, RandomPerson::Generator.ratiod([1,1]).first
62
+ assert_equal 25, RandomPerson::Generator.ratiod([1,3]).first.end
63
+ end
64
+
65
+ def test_pick_gender
66
+ assert_not_nil RandomPerson::Generator.pick_gender()
67
+ assert_equal( RandomPerson::Generator.pick_gender([1,0]), 'm' )
68
+ assert_equal( RandomPerson::Generator.pick_gender([0,1]), 'f' )
69
+
70
+ assert_equal( RandomPerson::Generator.pick_gender([10,0]), 'm' )
71
+ assert_equal( RandomPerson::Generator.pick_gender([0,10]), 'f' )
72
+ end
73
+
74
+ def test_reset
75
+ # choice = RandomPerson::Choice.new
76
+ # choice2 = RandomPerson::Choice.new
77
+ g = RandomPerson::Generator.new
78
+ # g.make_generator choice
79
+ # g.make_generator choice2
80
+ # assert_equal( 2, g.generators.length )
81
+ # g.reset
82
+ # assert_equal( 2, g.generators.length )
83
+ # assert( g.generators.empty? )
84
+ end
85
+
86
+ def test_pick_age
87
+ n = 2000
88
+ while n > 0
89
+ r1 = rand(100)
90
+ r2 = rand(100) + r1
91
+ age = RandomPerson::Generator.pick_age(r1, r2)
92
+ assert_not_nil age
93
+ assert( r2 >= age && age >= r1, "age #{age} r1 #{r1} r2 #{r2}" )
94
+ n = n - 1
95
+ end
96
+ end
97
+
98
+ def test_pick_dob
99
+ n = 1000
100
+ while n > 0
101
+ r1 = rand(100)
102
+ dob = RandomPerson::Generator.pick_dob(r1)
103
+ assert_not_nil dob
104
+ assert_kind_of Time, dob
105
+ assert_equal Time.now.year - r1, dob.year
106
+ n = n - 1
107
+ end
108
+ end
109
+
110
+
111
+ end
data.tar.gz.sig CHANGED
Binary file