patentscope 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,29 @@
1
+ require 'bundler'
2
+ Bundler.setup(:default, :development)
3
+
4
+ require 'patentscope'
5
+ require 'rspec'
6
+ require 'vcr'
7
+ require 'yaml'
8
+ require 'open-uri'
9
+
10
+ # generate versions of username and password with unsafe characters encoded
11
+ unsafe_characters = %q[$&+,/:;=?!@ "'<>#%{}|\^~[]`]
12
+ escaped_patentscope_webservice_username = URI::escape(ENV['PATENTSCOPE_WEBSERVICE_USERNAME'], unsafe_characters)
13
+ escaped_patentscope_webservice_password = URI::escape(ENV['PATENTSCOPE_WEBSERVICE_PASSWORD'], unsafe_characters)
14
+
15
+ VCR.configure do |config|
16
+ config.cassette_library_dir = 'spec/cassettes'
17
+ config.hook_into :webmock
18
+ config.default_cassette_options = { record: :new_episodes }
19
+ config.default_cassette_options = { match_requests_on: [:body] }
20
+ config.configure_rspec_metadata!
21
+ config.allow_http_connections_when_no_cassette = true
22
+ config.filter_sensitive_data('*****') { escaped_patentscope_webservice_username }
23
+ config.filter_sensitive_data('*****') { escaped_patentscope_webservice_password }
24
+ end
25
+
26
+ RSpec.configure do |config|
27
+ # config.treat_symbols_as_metadata_keys_with_true_values = true
28
+ config.order = 'random'
29
+ end
@@ -0,0 +1,318 @@
1
+ require 'spec_helper'
2
+
3
+ module Patentscope
4
+
5
+ describe WebserviceSoapBuilder, :core do
6
+ before { Patentscope.configure_from_env}
7
+
8
+ let(:ws_soap_builder) { WebserviceSoapBuilder.new }
9
+
10
+ it "exists" do
11
+ expect(ws_soap_builder).to_not be_nil
12
+ end
13
+
14
+ it "has the right methods" do
15
+ expect(ws_soap_builder).to respond_to(:build_envelope)
16
+ expect(ws_soap_builder).to respond_to(:strip_envelope)
17
+ end
18
+
19
+ describe "build_envelope method" do
20
+ let(:envelope) { ws_soap_builder.build_envelope('foo', {bar: 'baz'}) }
21
+
22
+ it "returns an XML document" do
23
+ expect(envelope).to include('<?xml')
24
+ end
25
+
26
+ it "has an envelope element" do
27
+ expect(envelope).to include('<S:Envelope')
28
+ end
29
+
30
+ it "has a namespace definition for the envelope" do
31
+ expect(envelope).to include('xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"')
32
+ end
33
+
34
+ it "has a body element" do
35
+ expect(envelope).to include('<S:Body>')
36
+ end
37
+
38
+ it "has an operation element" do
39
+ expect(envelope).to include('<foo ')
40
+ end
41
+
42
+ it "has a namespace definition for the operation" do
43
+ expect(envelope).to include('xmlns="http://www.wipo.org/wsdl/ps"')
44
+ end
45
+
46
+ it "has a option key element" do
47
+ expect(envelope).to include('<bar>')
48
+ end
49
+
50
+ it "has an option value element" do
51
+ expect(envelope).to include('baz')
52
+ end
53
+
54
+ describe "specific operations" do
55
+
56
+ context "get_available_documents" do
57
+
58
+ it 'generates an appropriate soap envelope' do
59
+ envelope = ws_soap_builder.build_envelope(:getAvailableDocuments, { iaNumber: 'SG2009000062' })
60
+ expect(envelope).to include('<?xml version="1.0"')
61
+ expect(envelope).to include('<getAvailableDocuments ')
62
+ expect(envelope).to include('<iaNumber>SG2009000062</iaNumber')
63
+ end
64
+ end
65
+
66
+ context "get_document_content" do
67
+
68
+ it 'generates an appropriate soap envelope' do
69
+ envelope = ws_soap_builder.build_envelope(:getDocumentContent, { docId: 'id50000000125222' })
70
+ expect(envelope).to include('<?xml version="1.0"')
71
+ expect(envelope).to include('<getDocumentContent ')
72
+ expect(envelope).to include('<docId>id50000000125222</docId>')
73
+ end
74
+ end
75
+
76
+ context "get_document_ocr_content" do
77
+
78
+ it 'generates an appropriate soap envelope' do
79
+ envelope = ws_soap_builder.build_envelope(:getDocumentOcrContent, { docId: 'id50000000125222' })
80
+ expect(envelope).to include('<?xml version="1.0"')
81
+ expect(envelope).to include('<getDocumentOcrContent ')
82
+ expect(envelope).to include('<docId>id50000000125222</docId>')
83
+ end
84
+ end
85
+
86
+ context "get_iasr" do
87
+
88
+ it 'generates an appropriate soap envelope' do
89
+ envelope = ws_soap_builder.build_envelope(:getIASR, { iaNumber: 'SG2009000062' })
90
+ expect(envelope).to include('<?xml version="1.0"')
91
+ expect(envelope).to include('<getIASR ')
92
+ expect(envelope).to include('<iaNumber>SG2009000062</iaNumber')
93
+ end
94
+ end
95
+
96
+ context "get_document_table_of_contents" do
97
+
98
+ it 'generates an appropriate soap envelope' do
99
+ envelope = ws_soap_builder.build_envelope(:getDocumentTableOfContents, { docId: 'id50000000125222' })
100
+ expect(envelope).to include('<?xml version="1.0"')
101
+ expect(envelope).to include('<getDocumentTableOfContents ')
102
+ expect(envelope).to include('<docId>id50000000125222</docId>')
103
+ end
104
+ end
105
+
106
+ context "get_document_content_page" do
107
+
108
+ it 'generates an appropriate soap envelope' do
109
+ envelope = ws_soap_builder.build_envelope(:getDocumentContentPage, { docId: 'id50000000125222', pageId: '000031.tif' })
110
+ expect(envelope).to include('<?xml version="1.0"')
111
+ expect(envelope).to include('<getDocumentContentPage ')
112
+ expect(envelope).to include('<docId>id50000000125222</docId>')
113
+ expect(envelope).to include('<pageId>000031.tif</pageId>')
114
+ end
115
+ end
116
+ end
117
+ end
118
+
119
+ describe "strip_envelope method" do
120
+
121
+ context "getAvailableDocuments operation" do
122
+ let(:envelope) { '<?xml version="1.0" ?>
123
+ <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
124
+ <S:Body>
125
+ <getAvailableDocumentsResponse xmlns="http://www.wipo.org/wsdl/ps">
126
+ <doc gazette="35/2006" docType="PAMPH" docId="id50000000162179"></doc>
127
+ <doc docType="WOSA" docId="id50000000125420"></doc>
128
+ <doc docType="ETIP1" docId="id50000000329130"></doc>
129
+ <doc priorityNumber="10 2005 008 395.1" docType="PDOC" docId="id50000000116310"></doc> <doc docType="IB304" docId="id50000000116985"></doc>
130
+ <doc docType="ETWOS" docId="id50000000325635">
131
+ </doc>
132
+ </getAvailableDocumentsResponse>
133
+ </S:Body></S:Envelope>' }
134
+ let(:stripped) { ws_soap_builder.strip_envelope(envelope, :getAvailableDocuments) }
135
+
136
+ it "retains the xml declaration" do
137
+ expect(stripped).to include('<?xml')
138
+ end
139
+
140
+ it "strips the Envelope element" do
141
+ expect(stripped).to_not include('<S:Envelope')
142
+ end
143
+
144
+ it "strips the Body element" do
145
+ expect(stripped).to_not include('<S:Body>')
146
+ end
147
+
148
+ it "strips the getAvailableDocumentsResponse element" do
149
+ expect(stripped).to_not include('<getAvailableDocumentsResponse xmlns="http://www.wipo.org/wsdl/ps">')
150
+ end
151
+
152
+ it "retains the inner elements" do
153
+ expect(stripped).to include('<doc gazette="35/2006" docType="PAMPH" docId="id50000000162179"/>')
154
+ end
155
+ end
156
+
157
+ context "getDocumentContent operation" do
158
+ let(:envelope) { '<?xml version="1.0" encoding="utf-8"?>
159
+ <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
160
+ <S:Body>
161
+ <getDocumentContentResponse xmlns="http://www.wipo.org/wsdl/ps">
162
+ <documentContent>UEsDBBQACAAIAIyMOy0AAAAAAAAAAAAAAAAKAAAAMDAwMDA...AAAAAA=</documentContent>
163
+ </getDocumentContentResponse>
164
+ </S:Body>
165
+ </S:Envelope>' }
166
+ let(:stripped) { ws_soap_builder.strip_envelope(envelope, :getDocumentContent) }
167
+
168
+ it "retains the xml declaration" do
169
+ expect(stripped).to include('<?xml')
170
+ end
171
+
172
+ it "strips the Envelope element" do
173
+ expect(stripped).to_not include('<S:Envelope')
174
+ end
175
+
176
+ it "strips the Body element" do
177
+ expect(stripped).to_not include('<S:Body>')
178
+ end
179
+
180
+ it "strips the getDocumentContentResponse element" do
181
+ expect(stripped).to_not include('<getDocumentContentResponse xmlns="http://www.wipo.org/wsdl/ps">')
182
+ end
183
+
184
+ it "retains the inner elements" do
185
+ expect(stripped).to include('<documentContent>UEsDBBQACAAIAIyMOy0AAAAAAAAAAAAAAAAKAAAAMDAwMDA...AAAAAA=</documentContent>')
186
+ end
187
+ end
188
+
189
+ context "getDocumentOcrContent operation" do
190
+ let(:envelope) { '<?xml version="1.0" encoding="utf-8"?>
191
+ <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
192
+ <S:Body>
193
+ <getDocumentOcrContentResponse xmlns="http://www.wipo.org/wsdl/ps">
194
+ <documentContent>JVBERi0xLjQKJeLjz9MKOCAwIG9iago8P...DUKJSVFT0YK</documentContent>
195
+ </getDocumentOcrContentResponse>
196
+ </S:Body>
197
+ </S:Envelope>' }
198
+ let(:stripped) { ws_soap_builder.strip_envelope(envelope, :getDocumentOcrContent) }
199
+
200
+ it "retains the xml declaration" do
201
+ expect(stripped).to include('<?xml')
202
+ end
203
+
204
+ it "strips the Envelope element" do
205
+ expect(stripped).to_not include('<S:Envelope')
206
+ end
207
+
208
+ it "strips the Body element" do
209
+ expect(stripped).to_not include('<S:Body>')
210
+ end
211
+
212
+ it "strips the getDocumentOcrContentResponse element" do
213
+ expect(stripped).to_not include('<getDocumentOcrContentResponse xmlns="http://www.wipo.org/wsdl/ps">')
214
+ end
215
+
216
+ it "retains the inner elements" do
217
+ expect(stripped).to include('<documentContent>JVBERi0xLjQKJeLjz9MKOCAwIG9iago8P...DUKJSVFT0YK</documentContent>')
218
+ end
219
+ end
220
+
221
+ context "getIASR operation" do
222
+ let(:envelope) { '<?xml version="1.0" encoding="utf-8"?>
223
+ <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
224
+ <S:Body>
225
+ <getIASRResponse xmlns="http://www.wipo.org/wsdl/ps">
226
+ <wo-international-application-status>baz</wo-international-application-status>
227
+ </getIASRResponse>
228
+ </S:Body>
229
+ </S:Envelope>' }
230
+ let(:stripped) { ws_soap_builder.strip_envelope(envelope, :getIASR) }
231
+
232
+ it "retains the xml declaration" do
233
+ expect(stripped).to include('<?xml')
234
+ end
235
+
236
+ it "strips the Envelope element" do
237
+ expect(stripped).to_not include('<S:Envelope')
238
+ end
239
+
240
+ it "strips the Body element" do
241
+ expect(stripped).to_not include('<S:Body>')
242
+ end
243
+
244
+ it "strips the getIASRResponse element" do
245
+ expect(stripped).to_not include('<getIASRResponse xmlns="http://www.wipo.org/wsdl/ps">')
246
+ end
247
+
248
+ it "retains the inner elements" do
249
+ expect(stripped).to include('<wo-international-application-status>baz</wo-international-application-status>')
250
+ end
251
+ end
252
+
253
+ context "getDocumentTableOfContents operation" do
254
+ let(:envelope) { '<?xml version=\'1.0\' encoding=\'UTF-8\'?>
255
+ <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
256
+ <S:Body>
257
+ <getDocumentTableOfContentsResponse xmlns="http://www.wipo.org/wsdl/ps">
258
+ <content>000001.tif</content>
259
+ </getDocumentTableOfContentsResponse>
260
+ </S:Body>
261
+ </S:Envelope>' }
262
+ let(:stripped) { ws_soap_builder.strip_envelope(envelope, :getDocumentTableOfContents) }
263
+
264
+ it "retains the xml declaration" do
265
+ expect(stripped).to include('<?xml')
266
+ end
267
+
268
+ it "strips the Envelope element" do
269
+ expect(stripped).to_not include('<S:Envelope')
270
+ end
271
+
272
+ it "strips the Body element" do
273
+ expect(stripped).to_not include('<S:Body>')
274
+ end
275
+
276
+ it "strips the getDocumentTableOfContentsResponse element" do
277
+ expect(stripped).to_not include('<getDocumentTableOfContentsResponse xmlns="http://www.wipo.org/wsdl/ps">')
278
+ end
279
+
280
+ it "retains the inner elements" do
281
+ expect(stripped).to include('<content>000001.tif</content>')
282
+ end
283
+ end
284
+
285
+ context "getDocumentContentPage operation" do
286
+ let(:envelope) { '<?xml version="1.0" encoding="utf-8"?>
287
+ <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
288
+ <S:Body>
289
+ <getDocumentContentPageResponse xmlns="http://www.wipo.org/wsdl/ps">
290
+ <pageContent>SUkqAAgAAAASAP4ABAABAAAAAAAAAAABAwABAAAAqwk...//wAQAQAQAQ==</pageContent>
291
+ </getDocumentContentPageResponse>
292
+ </S:Body>
293
+ </S:Envelope>' }
294
+ let(:stripped) { ws_soap_builder.strip_envelope(envelope, :getDocumentContentPage) }
295
+
296
+ it "retains the xml declaration" do
297
+ expect(stripped).to include('<?xml')
298
+ end
299
+
300
+ it "strips the Envelope element" do
301
+ expect(stripped).to_not include('<S:Envelope')
302
+ end
303
+
304
+ it "strips the Body element" do
305
+ expect(stripped).to_not include('<S:Body>')
306
+ end
307
+
308
+ it "strips the getDocumentContentPageResponse element" do
309
+ expect(stripped).to_not include('<getDocumentContentPageResponse xmlns="http://www.wipo.org/wsdl/ps">')
310
+ end
311
+
312
+ it "retains the inner elements" do
313
+ expect(stripped).to include('<pageContent>SUkqAAgAAAASAP4ABAABAAAAAAAAAAABAwABAAAAqwk...//wAQAQAQAQ==</pageContent>')
314
+ end
315
+ end
316
+ end
317
+ end
318
+ end
@@ -0,0 +1,97 @@
1
+ require 'spec_helper'
2
+
3
+ module Patentscope
4
+
5
+ describe Webservice, :core, :vcr do
6
+
7
+ before { Patentscope.configure_from_env}
8
+
9
+ let(:webservice) { Webservice.new }
10
+
11
+ it "exists" do
12
+ expect(webservice).to_not be_nil
13
+ end
14
+
15
+ it "has the right methods" do
16
+ expect(webservice).to respond_to(:wsdl)
17
+ expect(webservice).to respond_to(:get_available_documents)
18
+ expect(webservice).to respond_to(:get_document_content)
19
+ expect(webservice).to respond_to(:get_document_ocr_content)
20
+ expect(webservice).to respond_to(:get_iasr)
21
+ expect(webservice).to respond_to(:get_document_table_of_contents)
22
+ expect(webservice).to respond_to(:get_document_content_page)
23
+ end
24
+
25
+ describe "constants" do
26
+ it "has a webservice location constant" do
27
+ expect(Webservice::PATENTSCOPE_WEBSERVICE_LOCATION).to_not be_nil
28
+ end
29
+ end
30
+
31
+ describe "wsdl method" do
32
+ it "returns a wsdl document" do
33
+ response = webservice.wsdl
34
+ expect(response).to include('<?xml')
35
+ expect(response).to include('<wsdl:definitions')
36
+ end
37
+ end
38
+
39
+ describe "get_available_documents method" do
40
+ it 'returns an appropriate XML document for the get_available_documents operation' do
41
+ response = webservice.get_available_documents(ia_number: 'SG2009000062')
42
+ expect(response).to include('<?xml version="1.0"?>')
43
+ expect(response).to include('<doc ocrPresence="no" docType="RO101" docId="id00000008679651"/>')
44
+ expect(response).to_not include('<getAvailableDocumentsResponse xmlns="http://www.wipo.org/wsdl/ps">')
45
+ end
46
+ end
47
+
48
+ describe "get_document_content method" do
49
+ it 'returns an appropriate XML document for the get_document_content operation' do
50
+ response = webservice.get_document_content(doc_id: '090063618004ca88')
51
+ expect(response).to include('<?xml version="1.0"?>')
52
+ expect(response).to include('<documentContent>')
53
+ expect(response).to include('nRpZsy7ezxU2/8/fk5JM6HIXReMWymXUCmhYcRgUIjjNk2pDAkdlxox7xiSLm')
54
+ expect(response).to_not include('<getDocumentContentResponse xmlns="http://www.wipo.org/wsdl/ps">')
55
+ end
56
+ end
57
+
58
+ describe "get_document_ocr_content method" do
59
+ it 'returns an appropriate XML document for the get_document_ocr_content operation' do
60
+ response = webservice.get_document_ocr_content(doc_id: 'id00000015801579')
61
+ expect(response).to include('<?xml version="1.0"?>')
62
+ expect(response).to include('<documentContent>')
63
+ expect(response).to include('XdDb9Ain4kev61wgZc36X022QPCEZZASS2Rwpcy4Hx7I5GYHhriRwpsDwoX9tgjgZwcEGGEksgthsHsNtkFmyGZYQIGGCCX3dhggRDTgEEDNgVgkvuw2ECDDSYMEF')
64
+ expect(response).to_not include('<getDocumentOcrContentResponse xmlns="http://www.wipo.org/wsdl/ps">')
65
+ end
66
+ end
67
+
68
+ describe "get_iasr method" do
69
+ it 'returns an appropriate XML document for the get_iasr operation' do
70
+ response = webservice.get_iasr(ia_number: 'SG2009000062')
71
+ expect(response).to include('<?xml version="1.0"?>')
72
+ expect(response).to include('<wo-international-application-status>')
73
+ expect(response).to include('MESENCHYMAL STEM CELL PARTICLES')
74
+ expect(response).to_not include('<getIASRResponse xmlns="http://www.wipo.org/wsdl/ps">')
75
+ end
76
+ end
77
+
78
+ describe "get_document_table_of_contents method" do
79
+ it 'returns an appropriate XML document for the get_document_table_of_contents operation' do
80
+ response = webservice.get_document_table_of_contents(doc_id: '090063618004ca88')
81
+ expect(response).to include('<?xml version="1.0"?>')
82
+ expect(response).to include('<content>')
83
+ expect(response).to include('<content>000001.tif</content>')
84
+ expect(response).to_not include('<getDocumentTableOfContentsResponse xmlns="http://www.wipo.org/wsdl/ps">')
85
+ end
86
+ end
87
+
88
+ describe "get_document_content_page method" do
89
+ it 'returns an appropriate XML document for the get_document_content_page operation' do
90
+ response = webservice.get_document_content_page(doc_id: '090063618004ca88', page_id: '000001.tif')
91
+ expect(response).to include('<?xml version="1.0"?>')
92
+ expect(response).to include('+GP0kv9dhgiY7Rb5h2q4RN6Jj9NpDCJjuMImO0l0TfLe7QRO2yFceTvvTu6C6qTH')
93
+ expect(response).to_not include('<getDocumentContentPageResponse xmlns="http://www.wipo.org/wsdl/ps">')
94
+ end
95
+ end
96
+ end
97
+ end
@@ -0,0 +1,298 @@
1
+ passes:
2
+ -
3
+ doc_id: '090063618004ca88'
4
+ signature: '<content>000001.tif</content>'
5
+ -
6
+ doc_id: '090063618004ca89'
7
+ signature: '<content>000001.tif</content>'
8
+ -
9
+ doc_id: '090063618004ca7c'
10
+ signature: '<content>000001.tif</content>'
11
+ -
12
+ doc_id: '090063618004ca7d'
13
+ signature: '<content>000001.tif</content>'
14
+ -
15
+ doc_id: '090063618004ca8b'
16
+ signature: '<content>000001.tif</content>'
17
+ -
18
+ doc_id: '090063618004ca8d'
19
+ signature: '<content>000001.tif</content>'
20
+ -
21
+ doc_id: '0900636180050716'
22
+ signature: '<content>000001.tif</content>'
23
+ -
24
+ doc_id: '090063618004ca8f'
25
+ signature: '<content>000001.tif</content>'
26
+ -
27
+ doc_id: '090063618004ca90'
28
+ signature: '<content>000001.tif</content>'
29
+ -
30
+ doc_id: '090063618006d63c'
31
+ signature: '<content>000001.tif</content>'
32
+ -
33
+ doc_id: '090063618006d508'
34
+ signature: '<content>000001.tif</content>'
35
+ -
36
+ doc_id: '090063618006d509'
37
+ signature: '<content>000001.tif</content>'
38
+ -
39
+ doc_id: '090063618006d50a'
40
+ signature: '<content>000001.tif</content>'
41
+ -
42
+ doc_id: '0900636180078779'
43
+ signature: '<content>000001.tif</content>'
44
+ -
45
+ doc_id: '0900636180078611'
46
+ signature: '<content>000001.tif</content>'
47
+ -
48
+ doc_id: '0900636180082aed'
49
+ signature: '<content>000001.tif</content>'
50
+ -
51
+ doc_id: '090063618007f732'
52
+ signature: '<content>000001.tif</content>'
53
+ -
54
+ doc_id: '0900636180082aee'
55
+ signature: '<content>000001.tif</content>'
56
+ -
57
+ doc_id: '0900636180082c31'
58
+ signature: '<content>000001.tif</content>'
59
+ -
60
+ doc_id: '09006361800827c0'
61
+ signature: '<content>000001.tif</content>'
62
+ -
63
+ doc_id: '0900636180082aef'
64
+ signature: '<content>000001.tif</content>'
65
+ -
66
+ doc_id: '0900636180083c5e'
67
+ signature: '<content>000001.tif</content>'
68
+ -
69
+ doc_id: '0900636180083c8a'
70
+ signature: '<content>000001.tif</content>'
71
+ -
72
+ doc_id: '0900636180083c8b'
73
+ signature: '<content>000001.tif</content>'
74
+ -
75
+ doc_id: '0900636180083ca1'
76
+ signature: '<content>000001.tif</content>'
77
+ -
78
+ doc_id: '0900636180083ca2'
79
+ signature: '<content>000001.tif</content>'
80
+ -
81
+ doc_id: '0900636180083ca3'
82
+ signature: '<content>000001.tif</content>'
83
+ -
84
+ doc_id: '0900636180083caa'
85
+ signature: '<content>000001.tif</content>'
86
+ -
87
+ doc_id: '0900636180083cab'
88
+ signature: '<content>000001.tif</content>'
89
+ -
90
+ doc_id: '0900636180083cbd'
91
+ signature: '<content>000001.tif</content>'
92
+ -
93
+ doc_id: '0900636180083cbe'
94
+ signature: '<content>000001.tif</content>'
95
+ -
96
+ doc_id: '0900636180083cd9'
97
+ signature: '<content>000001.tif</content>'
98
+ -
99
+ doc_id: '0900636180083cdf'
100
+ signature: '<content>000001.tif</content>'
101
+ -
102
+ doc_id: '0900636180083d50'
103
+ signature: '<content>000001.tif</content>'
104
+ -
105
+ doc_id: '0900636180083dac'
106
+ signature: '<content>000001.tif</content>'
107
+ -
108
+ doc_id: '0900636180083dad'
109
+ signature: '<content>000001.tif</content>'
110
+ -
111
+ doc_id: '0900636180083de9'
112
+ signature: '<content>000001.tif</content>'
113
+ -
114
+ doc_id: '0900636180083df8'
115
+ signature: '<content>000001.tif</content>'
116
+ -
117
+ doc_id: '0900636180083e14'
118
+ signature: '<content>000001.tif</content>'
119
+ -
120
+ doc_id: '0900636180083e15'
121
+ signature: '<content>000001.tif</content>'
122
+ -
123
+ doc_id: '0900636180083e4f'
124
+ signature: '<content>000001.tif</content>'
125
+ -
126
+ doc_id: '0900636180083e50'
127
+ signature: '<content>000001.tif</content>'
128
+ -
129
+ doc_id: '0900636180083e51'
130
+ signature: '<content>000001.tif</content>'
131
+ -
132
+ doc_id: '0900636180083ee5'
133
+ signature: '<content>000001.tif</content>'
134
+ -
135
+ doc_id: '0900636180083f14'
136
+ signature: '<content>000001.tif</content>'
137
+ -
138
+ doc_id: '0900636180083f15'
139
+ signature: '<content>000001.tif</content>'
140
+ -
141
+ doc_id: '0900636180083fe8'
142
+ signature: '<content>000001.tif</content>'
143
+ -
144
+ doc_id: '0900636180083fe9'
145
+ signature: '<content>000001.tif</content>'
146
+ -
147
+ doc_id: '09006361800840e0'
148
+ signature: '<content>000001.tif</content>'
149
+ -
150
+ doc_id: '09006361800840e1'
151
+ signature: '<content>000001.tif</content>'
152
+ -
153
+ doc_id: '0900636180084428'
154
+ signature: '<content>000001.tif</content>'
155
+ -
156
+ doc_id: '0900636180084429'
157
+ signature: '<content>000001.tif</content>'
158
+ -
159
+ doc_id: '0900636180084490'
160
+ signature: '<content>000001.tif</content>'
161
+ -
162
+ doc_id: '0900636180084491'
163
+ signature: '<content>000001.tif</content>'
164
+ -
165
+ doc_id: '0900636180084492'
166
+ signature: '<content>000001.tif</content>'
167
+ -
168
+ doc_id: '09006361800844f4'
169
+ signature: '<content>000001.tif</content>'
170
+ -
171
+ doc_id: '0900636180084577'
172
+ signature: '<content>000001.tif</content>'
173
+ -
174
+ doc_id: '0900636180084578'
175
+ signature: '<content>000001.tif</content>'
176
+ -
177
+ doc_id: '09006361800845a1'
178
+ signature: '<content>000001.tif</content>'
179
+ -
180
+ doc_id: '09006361800845a2'
181
+ signature: '<content>000001.tif</content>'
182
+ -
183
+ doc_id: '09006361800845b2'
184
+ signature: '<content>000001.tif</content>'
185
+ -
186
+ doc_id: '09006361800845b3'
187
+ signature: '<content>000001.tif</content>'
188
+ -
189
+ doc_id: '09006361800845cb'
190
+ signature: '<content>000001.tif</content>'
191
+ -
192
+ doc_id: '09006361800845cc'
193
+ signature: '<content>000001.tif</content>'
194
+ -
195
+ doc_id: '09006361800845f5'
196
+ signature: '<content>000001.tif</content>'
197
+ -
198
+ doc_id: '09006361800845f6'
199
+ signature: '<content>000001.tif</content>'
200
+ -
201
+ doc_id: '09006361800845f7'
202
+ signature: '<content>000001.tif</content>'
203
+ -
204
+ doc_id: '09006361800854a7'
205
+ signature: '<content>000001.tif</content>'
206
+ -
207
+ doc_id: '09006361800854f4'
208
+ signature: '<content>000001.tif</content>'
209
+ -
210
+ doc_id: '09006361800854f5'
211
+ signature: '<content>000001.tif</content>'
212
+ -
213
+ doc_id: '090063618008a415'
214
+ signature: '<content>000001.tif</content>'
215
+ -
216
+ doc_id: '090063618008a416'
217
+ signature: '<content>000001.tif</content>'
218
+ -
219
+ doc_id: '090063618008a417'
220
+ signature: '<content>000001.tif</content>'
221
+ -
222
+ doc_id: '090063618008a419'
223
+ signature: '<content>000001.tif</content>'
224
+ -
225
+ doc_id: '090063618008a41a'
226
+ signature: '<content>000001.tif</content>'
227
+ -
228
+ doc_id: '090063618008a41b'
229
+ signature: '<content>000001.tif</content>'
230
+ -
231
+ doc_id: '0900636180084451'
232
+ signature: '<content>000001.tif</content>'
233
+ -
234
+ doc_id: '0900636180084461'
235
+ signature: '<content>000001.tif</content>'
236
+ -
237
+ doc_id: '0900636180084462'
238
+ signature: '<content>000001.tif</content>'
239
+ -
240
+ doc_id: '0900636180084479'
241
+ signature: '<content>000001.tif</content>'
242
+ -
243
+ doc_id: '090063618008447a'
244
+ signature: '<content>000001.tif</content>'
245
+ -
246
+ doc_id: '09006361800844cc'
247
+ signature: '<content>000001.tif</content>'
248
+ -
249
+ doc_id: '09006361800844cd'
250
+ signature: '<content>000001.tif</content>'
251
+ -
252
+ doc_id: '09006361800844ce'
253
+ signature: '<content>000001.tif</content>'
254
+ -
255
+ doc_id: '0900636180084585'
256
+ signature: '<content>000001.tif</content>'
257
+ -
258
+ doc_id: '09006361800845d4'
259
+ signature: '<content>000001.tif</content>'
260
+ -
261
+ doc_id: '09006361800845d5'
262
+ signature: '<content>000001.tif</content>'
263
+ -
264
+ doc_id: '09006361800854a9'
265
+ signature: '<content>000001.tif</content>'
266
+ -
267
+ doc_id: '09006361800854d8'
268
+ signature: '<content>000001.tif</content>'
269
+ -
270
+ doc_id: '0900636180085517'
271
+ signature: '<content>000001.tif</content>'
272
+ -
273
+ doc_id: '0900636180085518'
274
+ signature: '<content>000001.tif</content>'
275
+ -
276
+ doc_id: '090063618008552a'
277
+ signature: '<content>000001.tif</content>'
278
+ -
279
+ doc_id: '090063618008552b'
280
+ signature: '<content>000001.tif</content>'
281
+ -
282
+ doc_id: '090063618008a3bb'
283
+ signature: '<content>000001.tif</content>'
284
+ -
285
+ doc_id: '090063618008a3bc'
286
+ signature: '<content>000001.tif</content>'
287
+ -
288
+ doc_id: '090063618008a3bd'
289
+ signature: '<content>000001.tif</content>'
290
+ -
291
+ doc_id: '0900636180083c2b'
292
+ signature: '<content>000001.tif</content>'
293
+ -
294
+ doc_id: '0900636180083c2c'
295
+ signature: '<content>000001.tif</content>'
296
+ -
297
+ doc_id: '0900636180083c3c'
298
+ signature: '<content>000001.tif</content>'