haml-i18n-extractor 0.4.0 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
data/TODO CHANGED
@@ -25,10 +25,6 @@ https://github.com/shaiguitar/haml-i18n-extractor/issues/2
25
25
 
26
26
  Now we are able to have internal access to Haml::Parser internals, we can deal with...
27
27
 
28
- Html Comments?!
29
- Filters?!
30
- use with_filter.haml...
31
-
32
28
  ExceptionText needs to be responsible for knowing if needed to interpolate?
33
29
 
34
30
  (BUG: duplicate texts in one line...)
@@ -6,6 +6,11 @@ module Haml
6
6
  ENV['DEBUG']
7
7
  end
8
8
 
9
+ # helpful for debugging
10
+ def self.extractors
11
+ @extractors ||= []
12
+ end
13
+
9
14
  class InvalidSyntax < StandardError ; end
10
15
  class NotADirectory < StandardError ; end
11
16
  class NotDefinedLineType < StandardError ; end
@@ -34,6 +39,8 @@ module Haml
34
39
  @body = []
35
40
  # holds a line_no => {info_about_line_replacemnts_or_not}
36
41
  @locale_hash = {}
42
+
43
+ self.class.extractors << self
37
44
  end
38
45
 
39
46
  def run
@@ -10,24 +10,26 @@ module Haml
10
10
  @metadata = line_metadata
11
11
  end
12
12
 
13
- def find
14
- text_match = process_by_regex.last
15
- end
16
-
17
13
  # returns [ line_type, text_found ]
18
14
  def process_by_regex
19
- return [:plain, ""] if @metadata.nil? # a linebreak in a haml file, empty.
20
- if ENV['DEBUG']
21
- puts @metadata[:type]
15
+ if Haml::I18n::Extractor.debug?
16
+ binding.pry
17
+ puts '!!!'
18
+ puts @metadata && @metadata[:type]
22
19
  puts @orig_line
23
20
  end
21
+ # if any of the handler methods return nil the extractor just outputs orig_line and keeps on going.
22
+ # if there's an empty string that should do the trick to ( ExceptionFinder can return no match that way )
24
23
  @metadata && send("#{@metadata[:type]}", @metadata)
25
24
  end
26
25
 
27
26
  private
28
27
 
28
+ #FIXME move all these matches into a helper of some sort.
29
+
29
30
  def plain(line)
30
31
  txt = line[:value][:text]
32
+ return nil if txt.match(/<!--/) || txt.match(/-->\s*$/) # ignore html comments
31
33
  [:plain, txt]
32
34
  end
33
35
 
@@ -57,16 +59,11 @@ module Haml
57
59
  end
58
60
  end
59
61
 
60
- def filter(line)
61
- #$stderr.puts('=' * 80)
62
- #$stderr.puts(line.inspect)
63
- #$stderr.puts("have not handled filters!")
64
- #$stderr.puts("please remind me to fix this")
65
- #$stderr.puts('=' * 80)
66
- end
67
-
62
+ # returns nil, so extractor just keeps the orig_line and keeps on going.
63
+ #
68
64
  # move to method missing and LINE_TYPES_IGNORE?
69
65
  # LINE_TYPES_IGNORE = [:silent_script, :haml_comment, :comment, :doctype, :root]
66
+ def filter(line); end
70
67
  def silent_script(line); end
71
68
  def haml_comment(line); end
72
69
  def comment(line); end
@@ -1,7 +1,7 @@
1
1
  module Haml
2
2
  module I18n
3
3
  class Extractor
4
- VERSION = "0.4.0"
4
+ VERSION = "0.4.1"
5
5
  end
6
6
  end
7
7
  end
@@ -3,10 +3,7 @@ module Haml
3
3
  class Extractor
4
4
  class Workflow
5
5
 
6
- attr_reader :extractors
7
-
8
6
  def initialize(project_path, options = {})
9
- @extractors = []
10
7
  @passed_options = options
11
8
  @project_path = project_path
12
9
  @prompter = Haml::I18n::Extractor::Prompter.new
@@ -70,7 +67,7 @@ module Haml
70
67
  @passed_options.merge!({:type => type}) # overwrite or dump haml
71
68
  begin
72
69
  @extractor = Haml::I18n::Extractor.new(haml_path, @passed_options)
73
- @extractors << @extractor
70
+ Extractor.extractors << @extractor
74
71
  @extractor.run
75
72
  rescue Haml::I18n::Extractor::InvalidSyntax
76
73
  @prompter.syntax_error(haml_path)
@@ -98,6 +98,11 @@ module Haml
98
98
  end
99
99
 
100
100
  # really integration tests...movez.
101
+ test "it can replace a string body and have expected output ex4" do
102
+ expected_output = File.read(file_path("ex4.output.haml"))
103
+ assert_equal Haml::I18n::Extractor.new(file_path("ex4.haml")).new_body, expected_output
104
+ end
105
+
101
106
  test "it can replace a string body and have expected output ex3" do
102
107
  expected_output = File.read(file_path("ex3.output.haml"))
103
108
  assert_equal Haml::I18n::Extractor.new(file_path("ex3.haml")).new_body, expected_output
@@ -11,12 +11,12 @@ module Haml
11
11
  end
12
12
 
13
13
  test "it can handle namespaced views" do
14
- namespaced_extractor = @workflow.extractors.select{|ex| ex.haml_writer.path.match /namespace/ }.last
14
+ namespaced_extractor = Haml::I18n::Extractor.extractors.select{|ex| ex.haml_writer.path.match /namespace/ }.last
15
15
  assert namespaced_extractor.yaml_tool.yaml_hash["en"]["namespace"], "namespace key works"
16
16
  end
17
17
 
18
18
  test "it can handle partial views" do
19
- partial_extractor = @workflow.extractors.select{|ex| ex.haml_writer.path.match /_partial/ }.last
19
+ partial_extractor = Haml::I18n::Extractor.extractors.select{|ex| ex.haml_writer.path.match /_partial/ }.last
20
20
  assert partial_extractor.yaml_tool.yaml_hash["en"]["view2"]["partial"], "partial filenames in yaml are w/out leading _"
21
21
  end
22
22
 
@@ -1,3 +1,12 @@
1
+ html comments what
2
+ <!-- END OLARK CHAT LINK -->
3
+ <!-- BEGIN OLARK LEAVE MESSAGE LINK -->
4
+ :javascript
5
+ var foo = 1;
6
+ alert("false")
7
+ var bar = foo;
8
+ More
9
+ And More
1
10
  .class This is text
2
11
  - if true
3
12
  :javascript
@@ -0,0 +1,31 @@
1
+ = t('.html_comments_what')
2
+ <!-- END OLARK CHAT LINK -->
3
+ <!-- BEGIN OLARK LEAVE MESSAGE LINK -->
4
+ :javascript
5
+ var foo = 1;
6
+ alert("false")
7
+ var bar = foo;
8
+ = t('.more')
9
+ = t('.and_more')
10
+ .class= t('.this_is_text')
11
+ - if true
12
+ :javascript
13
+ var cheaterButton = $("<a href='#'>Cheat</a>");
14
+ $('form').prepend(cheaterButton);
15
+ cheaterButton.click(function(){
16
+ $('[name="field_creditCardType"]').first().click();
17
+ $('[name="field_creditCardNumber"]').val("4111111111111111");
18
+ $('[name="field_creditCardExpirationMonth"]').val("01");
19
+ $('[name="field_creditCardExpirationYear"]').val("2015");
20
+ $('[name="field_cardSecurityCode"]').val("111");
21
+ $('[name="field_creditCardHolderName"]').val("Foo Bar");
22
+ $('[name="field_creditCardCountry"]').val("USA");
23
+ $('[name="field_creditCardAddress1"]').val("123 Abc St");
24
+ $('[name="field_creditCardAddress2"]').val("Apt 456");
25
+ $('[name="field_creditCardCity"]').val("San Francisco");
26
+ $('[name="field_creditCardState"]').val("CA");
27
+ $('[name="field_creditCardPostalCode"]').val("94107");
28
+ $('[name="field_phone"]').val("1234567890");
29
+ $('[name="field_email"]').val("foo@example.com");
30
+ return false;
31
+ });
@@ -4,9 +4,9 @@ module Haml
4
4
  class StringFinderTest < MiniTest::Unit::TestCase
5
5
 
6
6
  # empty line
7
- test "empty line does not explode" do
8
- assert_equal find_text(""), ""
9
- assert_equal find_type(""), :plain
7
+ test "empty lines, filters, matches with no @metadata" do
8
+ assert_equal find_text(""), nil
9
+ assert_equal find_type(""), nil
10
10
  end
11
11
 
12
12
  # regular text mode
metadata CHANGED
@@ -1,205 +1,216 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: haml-i18n-extractor
3
- version: !ruby/object:Gem::Version
4
- version: 0.4.0
3
+ version: !ruby/object:Gem::Version
4
+ hash: 13
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 4
9
+ - 1
10
+ version: 0.4.1
5
11
  platform: ruby
6
- authors:
12
+ authors:
7
13
  - Shai Rosenfeld
8
14
  autorequire:
9
15
  bindir: bin
10
16
  cert_chain: []
11
- date: 2013-09-02 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
17
+
18
+ date: 2013-09-03 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
14
21
  name: tilt
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ! '>='
18
- - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :runtime
21
22
  prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ! '>='
25
- - !ruby/object:Gem::Version
26
- version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: haml
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ! '>='
32
- - !ruby/object:Gem::Version
33
- version: '0'
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ none: false
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ hash: 3
29
+ segments:
30
+ - 0
31
+ version: "0"
34
32
  type: :runtime
33
+ version_requirements: *id001
34
+ - !ruby/object:Gem::Dependency
35
+ name: haml
35
36
  prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ! '>='
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: activesupport
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ! '>='
46
- - !ruby/object:Gem::Version
47
- version: '0'
37
+ requirement: &id002 !ruby/object:Gem::Requirement
38
+ none: false
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ hash: 3
43
+ segments:
44
+ - 0
45
+ version: "0"
48
46
  type: :runtime
47
+ version_requirements: *id002
48
+ - !ruby/object:Gem::Dependency
49
+ name: activesupport
49
50
  prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ! '>='
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
- - !ruby/object:Gem::Dependency
56
- name: highline
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ! '>='
60
- - !ruby/object:Gem::Version
61
- version: '0'
51
+ requirement: &id003 !ruby/object:Gem::Requirement
52
+ none: false
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ hash: 3
57
+ segments:
58
+ - 0
59
+ version: "0"
62
60
  type: :runtime
61
+ version_requirements: *id003
62
+ - !ruby/object:Gem::Dependency
63
+ name: highline
63
64
  prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ! '>='
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: trollop
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - '='
74
- - !ruby/object:Gem::Version
75
- version: 1.16.2
65
+ requirement: &id004 !ruby/object:Gem::Requirement
66
+ none: false
67
+ requirements:
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ hash: 3
71
+ segments:
72
+ - 0
73
+ version: "0"
76
74
  type: :runtime
75
+ version_requirements: *id004
76
+ - !ruby/object:Gem::Dependency
77
+ name: trollop
77
78
  prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - '='
81
- - !ruby/object:Gem::Version
79
+ requirement: &id005 !ruby/object:Gem::Requirement
80
+ none: false
81
+ requirements:
82
+ - - "="
83
+ - !ruby/object:Gem::Version
84
+ hash: 83
85
+ segments:
86
+ - 1
87
+ - 16
88
+ - 2
82
89
  version: 1.16.2
83
- - !ruby/object:Gem::Dependency
90
+ type: :runtime
91
+ version_requirements: *id005
92
+ - !ruby/object:Gem::Dependency
84
93
  name: rbench
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ! '>='
88
- - !ruby/object:Gem::Version
89
- version: '0'
90
- type: :development
91
94
  prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ! '>='
95
- - !ruby/object:Gem::Version
96
- version: '0'
97
- - !ruby/object:Gem::Dependency
98
- name: m
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ! '>='
102
- - !ruby/object:Gem::Version
103
- version: '0'
95
+ requirement: &id006 !ruby/object:Gem::Requirement
96
+ none: false
97
+ requirements:
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ hash: 3
101
+ segments:
102
+ - 0
103
+ version: "0"
104
104
  type: :development
105
+ version_requirements: *id006
106
+ - !ruby/object:Gem::Dependency
107
+ name: m
105
108
  prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - ! '>='
109
- - !ruby/object:Gem::Version
110
- version: '0'
111
- - !ruby/object:Gem::Dependency
112
- name: pry
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - ! '>='
116
- - !ruby/object:Gem::Version
117
- version: '0'
109
+ requirement: &id007 !ruby/object:Gem::Requirement
110
+ none: false
111
+ requirements:
112
+ - - ">="
113
+ - !ruby/object:Gem::Version
114
+ hash: 3
115
+ segments:
116
+ - 0
117
+ version: "0"
118
118
  type: :development
119
+ version_requirements: *id007
120
+ - !ruby/object:Gem::Dependency
121
+ name: pry
119
122
  prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - ! '>='
123
- - !ruby/object:Gem::Version
124
- version: '0'
125
- - !ruby/object:Gem::Dependency
126
- name: minitest
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - ! '>='
130
- - !ruby/object:Gem::Version
131
- version: '0'
123
+ requirement: &id008 !ruby/object:Gem::Requirement
124
+ none: false
125
+ requirements:
126
+ - - ">="
127
+ - !ruby/object:Gem::Version
128
+ hash: 3
129
+ segments:
130
+ - 0
131
+ version: "0"
132
132
  type: :development
133
+ version_requirements: *id008
134
+ - !ruby/object:Gem::Dependency
135
+ name: minitest
133
136
  prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - ! '>='
137
- - !ruby/object:Gem::Version
138
- version: '0'
139
- - !ruby/object:Gem::Dependency
140
- name: nokogiri
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - ! '>='
144
- - !ruby/object:Gem::Version
145
- version: '0'
137
+ requirement: &id009 !ruby/object:Gem::Requirement
138
+ none: false
139
+ requirements:
140
+ - - ">="
141
+ - !ruby/object:Gem::Version
142
+ hash: 3
143
+ segments:
144
+ - 0
145
+ version: "0"
146
146
  type: :development
147
+ version_requirements: *id009
148
+ - !ruby/object:Gem::Dependency
149
+ name: nokogiri
147
150
  prerelease: false
148
- version_requirements: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - ! '>='
151
- - !ruby/object:Gem::Version
152
- version: '0'
153
- - !ruby/object:Gem::Dependency
154
- name: rake
155
- requirement: !ruby/object:Gem::Requirement
156
- requirements:
157
- - - ! '>='
158
- - !ruby/object:Gem::Version
159
- version: '0'
151
+ requirement: &id010 !ruby/object:Gem::Requirement
152
+ none: false
153
+ requirements:
154
+ - - ">="
155
+ - !ruby/object:Gem::Version
156
+ hash: 3
157
+ segments:
158
+ - 0
159
+ version: "0"
160
160
  type: :development
161
+ version_requirements: *id010
162
+ - !ruby/object:Gem::Dependency
163
+ name: rake
161
164
  prerelease: false
162
- version_requirements: !ruby/object:Gem::Requirement
163
- requirements:
164
- - - ! '>='
165
- - !ruby/object:Gem::Version
166
- version: '0'
167
- - !ruby/object:Gem::Dependency
168
- name: actionpack
169
- requirement: !ruby/object:Gem::Requirement
170
- requirements:
171
- - - ! '>='
172
- - !ruby/object:Gem::Version
173
- version: '0'
165
+ requirement: &id011 !ruby/object:Gem::Requirement
166
+ none: false
167
+ requirements:
168
+ - - ">="
169
+ - !ruby/object:Gem::Version
170
+ hash: 3
171
+ segments:
172
+ - 0
173
+ version: "0"
174
174
  type: :development
175
+ version_requirements: *id011
176
+ - !ruby/object:Gem::Dependency
177
+ name: actionpack
175
178
  prerelease: false
176
- version_requirements: !ruby/object:Gem::Requirement
177
- requirements:
178
- - - ! '>='
179
- - !ruby/object:Gem::Version
180
- version: '0'
181
- - !ruby/object:Gem::Dependency
182
- name: rails
183
- requirement: !ruby/object:Gem::Requirement
184
- requirements:
185
- - - ! '>='
186
- - !ruby/object:Gem::Version
187
- version: '0'
179
+ requirement: &id012 !ruby/object:Gem::Requirement
180
+ none: false
181
+ requirements:
182
+ - - ">="
183
+ - !ruby/object:Gem::Version
184
+ hash: 3
185
+ segments:
186
+ - 0
187
+ version: "0"
188
188
  type: :development
189
+ version_requirements: *id012
190
+ - !ruby/object:Gem::Dependency
191
+ name: rails
189
192
  prerelease: false
190
- version_requirements: !ruby/object:Gem::Requirement
191
- requirements:
192
- - - ! '>='
193
- - !ruby/object:Gem::Version
194
- version: '0'
193
+ requirement: &id013 !ruby/object:Gem::Requirement
194
+ none: false
195
+ requirements:
196
+ - - ">="
197
+ - !ruby/object:Gem::Version
198
+ hash: 3
199
+ segments:
200
+ - 0
201
+ version: "0"
202
+ type: :development
203
+ version_requirements: *id013
195
204
  description: Parse the texts out of the haml files into localization files
196
- email:
205
+ email:
197
206
  - shaiguitar@gmail.com
198
- executables:
207
+ executables:
199
208
  - haml-i18n-extractor
200
209
  extensions: []
210
+
201
211
  extra_rdoc_files: []
202
- files:
212
+
213
+ files:
203
214
  - .gitignore
204
215
  - .rvmrc
205
216
  - Gemfile
@@ -242,9 +253,10 @@ files:
242
253
  - test/support/ex2.output.haml
243
254
  - test/support/ex3.haml
244
255
  - test/support/ex3.output.haml
256
+ - test/support/ex4.haml
257
+ - test/support/ex4.output.haml
245
258
  - test/support/nothing_to_translate.haml
246
259
  - test/support/nothing_to_translate.i18n-extractor.haml
247
- - test/support/with_filter.haml
248
260
  - test/tagging_tool_test.rb
249
261
  - test/test_helper.rb
250
262
  - test/text_finder_test.rb
@@ -252,30 +264,39 @@ files:
252
264
  - test/workflow_test.rb
253
265
  - test/yaml_tool_test.rb
254
266
  homepage: https://github.com/shaiguitar/haml-i18n-extractor
255
- licenses:
267
+ licenses:
256
268
  - MIT
257
- metadata: {}
258
269
  post_install_message:
259
270
  rdoc_options: []
260
- require_paths:
271
+
272
+ require_paths:
261
273
  - lib
262
- required_ruby_version: !ruby/object:Gem::Requirement
263
- requirements:
264
- - - ! '>='
265
- - !ruby/object:Gem::Version
266
- version: '0'
267
- required_rubygems_version: !ruby/object:Gem::Requirement
268
- requirements:
269
- - - ! '>='
270
- - !ruby/object:Gem::Version
271
- version: '0'
274
+ required_ruby_version: !ruby/object:Gem::Requirement
275
+ none: false
276
+ requirements:
277
+ - - ">="
278
+ - !ruby/object:Gem::Version
279
+ hash: 3
280
+ segments:
281
+ - 0
282
+ version: "0"
283
+ required_rubygems_version: !ruby/object:Gem::Requirement
284
+ none: false
285
+ requirements:
286
+ - - ">="
287
+ - !ruby/object:Gem::Version
288
+ hash: 3
289
+ segments:
290
+ - 0
291
+ version: "0"
272
292
  requirements: []
293
+
273
294
  rubyforge_project:
274
- rubygems_version: 2.0.3
295
+ rubygems_version: 1.8.25
275
296
  signing_key:
276
- specification_version: 4
297
+ specification_version: 3
277
298
  summary: Parse the texts out of the haml files into localization files
278
- test_files:
299
+ test_files:
279
300
  - test/cli_test.rb
280
301
  - test/exception_finder_test.rb
281
302
  - test/extractor_test.rb
@@ -291,13 +312,13 @@ test_files:
291
312
  - test/support/ex2.output.haml
292
313
  - test/support/ex3.haml
293
314
  - test/support/ex3.output.haml
315
+ - test/support/ex4.haml
316
+ - test/support/ex4.output.haml
294
317
  - test/support/nothing_to_translate.haml
295
318
  - test/support/nothing_to_translate.i18n-extractor.haml
296
- - test/support/with_filter.haml
297
319
  - test/tagging_tool_test.rb
298
320
  - test/test_helper.rb
299
321
  - test/text_finder_test.rb
300
322
  - test/text_replacer_test.rb
301
323
  - test/workflow_test.rb
302
324
  - test/yaml_tool_test.rb
303
- has_rdoc:
checksums.yaml DELETED
@@ -1,15 +0,0 @@
1
- ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- MDg2NjFhOWVjNTZkOTc4ZWFiMGNkNDc4YmFmNTg3YjhkYmJmZDEwOQ==
5
- data.tar.gz: !binary |-
6
- NmZiYWU3YjVkZWNlN2U3MzFjNjIwNjJkZGI1ODAxMWRhZDQ2MGI2OA==
7
- !binary "U0hBNTEy":
8
- metadata.gz: !binary |-
9
- MmE3ZThkNzJmN2MxYjJlMGM0ZDM4M2NkZTY4NDkzMzk0YjdhYjY2YzM0NDUz
10
- NGVmMTZmMWVkNTIzYjU1MDQ0Mzc4NzUwMzJhYjA5NTIwMTczZGU3ZjU1MDc0
11
- OWYzZjI0OWUwNTBmOWQ0YTQ3ZDlhMzg4YjM1NGJmMWU3MGUxZTg=
12
- data.tar.gz: !binary |-
13
- YzdhNzRkYThiNWMyZjAzMzFhNjExOTliZjg5ZjE1ZGZlMmI3NTM0MGJhNDg2
14
- OTViOWRiYTZiYTEwYzQ2ODczYzdlYWI5ZWYxYzE2NGZjNmZhMTU2Y2MyYzMy
15
- N2NmYzNlZDBjODJiZTg2YmQ1YzEwODM3MDljNzNhZGY1ZmQ3Mjg=