numbers-parser 3.9.6__tar.gz → 3.10.1__tar.gz
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.
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/PKG-INFO +23 -5
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/README.md +22 -4
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/pyproject.toml +2 -3
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/src/numbers_parser/_cat_numbers.py +14 -0
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/src/numbers_parser/_unpack_numbers.py +15 -1
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/src/numbers_parser/cell.py +23 -11
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/src/numbers_parser/cell_storage.py +2 -28
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/src/numbers_parser/constants.py +1 -1
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/src/numbers_parser/file.py +7 -0
- numbers_parser-3.10.1/src/numbers_parser/generated/TSCHArchives_GEN_pb2.py +69 -0
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/src/numbers_parser/generated/TSCHArchives_sos_pb2.py +2 -2
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/src/numbers_parser/generated/TSKArchives_pb2.py +47 -47
- numbers_parser-3.10.1/src/numbers_parser/generated/TSSArchives_pb2.py +64 -0
- numbers_parser-3.10.1/src/numbers_parser/generated/TSWPArchives_pb2.py +284 -0
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/src/numbers_parser/iwafile.py +6 -0
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/src/numbers_parser/model.py +31 -11
- numbers_parser-3.9.6/src/numbers_parser/generated/TSCHArchives_GEN_pb2.py +0 -69
- numbers_parser-3.9.6/src/numbers_parser/generated/TSSArchives_pb2.py +0 -64
- numbers_parser-3.9.6/src/numbers_parser/generated/TSWPArchives_pb2.py +0 -286
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/LICENSE.rst +0 -0
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/src/numbers_parser/__init__.py +0 -0
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/src/numbers_parser/bullets.py +0 -0
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/src/numbers_parser/containers.py +0 -0
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/src/numbers_parser/data/empty.numbers +0 -0
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/src/numbers_parser/document.py +0 -0
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/src/numbers_parser/exceptions.py +0 -0
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/src/numbers_parser/formula.py +0 -0
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/src/numbers_parser/functionmap.py +0 -0
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/src/numbers_parser/generated/TNArchives_pb2.py +0 -0
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/src/numbers_parser/generated/TNArchives_sos_pb2.py +0 -0
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/src/numbers_parser/generated/TNCommandArchives_pb2.py +0 -0
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/src/numbers_parser/generated/TNCommandArchives_sos_pb2.py +0 -0
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/src/numbers_parser/generated/TSAArchives_pb2.py +0 -0
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/src/numbers_parser/generated/TSAArchives_sos_pb2.py +0 -0
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/src/numbers_parser/generated/TSACommandArchives_sos_pb2.py +0 -0
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/src/numbers_parser/generated/TSCEArchives_pb2.py +0 -0
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/src/numbers_parser/generated/TSCH3DArchives_pb2.py +0 -0
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/src/numbers_parser/generated/TSCHArchives_Common_pb2.py +0 -0
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/src/numbers_parser/generated/TSCHArchives_pb2.py +0 -0
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/src/numbers_parser/generated/TSCHCommandArchives_pb2.py +0 -0
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/src/numbers_parser/generated/TSCHPreUFFArchives_pb2.py +0 -0
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/src/numbers_parser/generated/TSDArchives_pb2.py +0 -0
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/src/numbers_parser/generated/TSDArchives_sos_pb2.py +0 -0
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/src/numbers_parser/generated/TSDCommandArchives_pb2.py +0 -0
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/src/numbers_parser/generated/TSKArchives_sos_pb2.py +0 -0
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/src/numbers_parser/generated/TSPArchiveMessages_pb2.py +0 -0
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/src/numbers_parser/generated/TSPDatabaseMessages_pb2.py +0 -0
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/src/numbers_parser/generated/TSPMessages_pb2.py +0 -0
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/src/numbers_parser/generated/TSSArchives_sos_pb2.py +0 -0
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/src/numbers_parser/generated/TSTArchives_pb2.py +0 -0
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/src/numbers_parser/generated/TSTArchives_sos_pb2.py +0 -0
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/src/numbers_parser/generated/TSTCommandArchives_pb2.py +0 -0
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/src/numbers_parser/generated/TSTStylePropertyArchiving_pb2.py +0 -0
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/src/numbers_parser/generated/TSWPArchives_sos_pb2.py +0 -0
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/src/numbers_parser/generated/TSWPCommandArchives_pb2.py +0 -0
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/src/numbers_parser/generated/__init__.py +0 -0
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/src/numbers_parser/mapping.py +0 -0
- {numbers_parser-3.9.6 → numbers_parser-3.10.1}/src/numbers_parser/numbers_uuid.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: numbers-parser
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.10.1
|
|
4
4
|
Summary: Read and write Apple Numbers spreadsheets
|
|
5
5
|
Home-page: https://github.com/masaccio/numbers-parser
|
|
6
6
|
License: MIT
|
|
@@ -33,8 +33,8 @@ Description-Content-Type: text/markdown
|
|
|
33
33
|
[](https://codecov.io/gh/masaccio/numbers-parser)
|
|
34
34
|
|
|
35
35
|
`numbers-parser` is a Python module for parsing [Apple Numbers](https://www.apple.com/numbers/)
|
|
36
|
-
`.numbers` files. It supports Numbers files generated by Numbers version 10.3, and up with the latest tested version being
|
|
37
|
-
(current as of
|
|
36
|
+
`.numbers` files. It supports Numbers files generated by Numbers version 10.3, and up with the latest tested version being 13.0
|
|
37
|
+
(current as of April 2023).
|
|
38
38
|
|
|
39
39
|
It supports and is tested against Python versions from 3.8 onwards. It is not compatible with earlier versions of Python.
|
|
40
40
|
|
|
@@ -200,6 +200,15 @@ else:
|
|
|
200
200
|
|
|
201
201
|
Bulleted and numbered data can also be extracted with the bullet or number characters present in the text for each line in the cell in the same way as above but using the `formatted_bullets` property. A single space is inserted between the bullet character and the text string and in the case of bullets, this will be the Unicode character seen in Numbers, for example `"• some text"`.
|
|
202
202
|
|
|
203
|
+
### Hyperlinks
|
|
204
|
+
|
|
205
|
+
Numbers does not support hyperlinks to cells within a spreadsheet, but does allow embedding links in cells. When cells contain hyperlinks, `numbers_parser` returns the text version of the cell. The `hyperlinks` property of cells where `is_bulleted` is `True` is a list of text and URL tuples:
|
|
206
|
+
|
|
207
|
+
``` python
|
|
208
|
+
cell = table.cell(0, 0)
|
|
209
|
+
(text, url) = cell.hyperlinks[0]
|
|
210
|
+
```
|
|
211
|
+
|
|
203
212
|
### Cell images
|
|
204
213
|
|
|
205
214
|
Querying cell formats is currently limited to image backrgounds only. If a cell has no background image, `None` is returned for all calls.
|
|
@@ -349,10 +358,19 @@ The default protobuf package installation may not include the C++ optimised vers
|
|
|
349
358
|
|
|
350
359
|
`This script requires the Protobuf installation to use the C++ implementation. Please reinstall Protobuf with C++ support.`
|
|
351
360
|
|
|
352
|
-
To include the C++ support, download a released version of Google protobuf [from github](https://github.com/protocolbuffers/protobuf). Build instructions are in
|
|
361
|
+
To include the C++ support, download a released version of Google protobuf [from github](https://github.com/protocolbuffers/protobuf). Build instructions are described in [`src/README.md`](https://github.com/protocolbuffers/protobuf/blob/main/src/README).These have changed greatly over time, but as of April 2023, this was useful:
|
|
353
362
|
|
|
363
|
+
``` shell
|
|
364
|
+
bazel build :protoc :protobuf
|
|
365
|
+
cmake . -DCMAKE_CXX_STANDARD=14
|
|
366
|
+
cmake --build . --parallel 8
|
|
367
|
+
export PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=cpp
|
|
368
|
+
export LD_LIBRARY_PATH=../bazel-bin/src/google
|
|
369
|
+
cd python
|
|
370
|
+
python3 setup.py -q bdist_wheel --cpp_implementation --warnings_as_errors --compile_static_extension
|
|
371
|
+
```
|
|
354
372
|
|
|
355
|
-
|
|
373
|
+
This can then be used `make bootstrap` in the `numbers-parser` source tree. The signing workflow assumes that you have an Apple Developer Account and that you have created provisioning profile that includes iCloud. Using a self-signed certificate does not seem to work, at least on Apple Silicon (a working PR contradicting this is greatly appreciated).
|
|
356
374
|
|
|
357
375
|
## Credits
|
|
358
376
|
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
[](https://codecov.io/gh/masaccio/numbers-parser)
|
|
6
6
|
|
|
7
7
|
`numbers-parser` is a Python module for parsing [Apple Numbers](https://www.apple.com/numbers/)
|
|
8
|
-
`.numbers` files. It supports Numbers files generated by Numbers version 10.3, and up with the latest tested version being
|
|
9
|
-
(current as of
|
|
8
|
+
`.numbers` files. It supports Numbers files generated by Numbers version 10.3, and up with the latest tested version being 13.0
|
|
9
|
+
(current as of April 2023).
|
|
10
10
|
|
|
11
11
|
It supports and is tested against Python versions from 3.8 onwards. It is not compatible with earlier versions of Python.
|
|
12
12
|
|
|
@@ -172,6 +172,15 @@ else:
|
|
|
172
172
|
|
|
173
173
|
Bulleted and numbered data can also be extracted with the bullet or number characters present in the text for each line in the cell in the same way as above but using the `formatted_bullets` property. A single space is inserted between the bullet character and the text string and in the case of bullets, this will be the Unicode character seen in Numbers, for example `"• some text"`.
|
|
174
174
|
|
|
175
|
+
### Hyperlinks
|
|
176
|
+
|
|
177
|
+
Numbers does not support hyperlinks to cells within a spreadsheet, but does allow embedding links in cells. When cells contain hyperlinks, `numbers_parser` returns the text version of the cell. The `hyperlinks` property of cells where `is_bulleted` is `True` is a list of text and URL tuples:
|
|
178
|
+
|
|
179
|
+
``` python
|
|
180
|
+
cell = table.cell(0, 0)
|
|
181
|
+
(text, url) = cell.hyperlinks[0]
|
|
182
|
+
```
|
|
183
|
+
|
|
175
184
|
### Cell images
|
|
176
185
|
|
|
177
186
|
Querying cell formats is currently limited to image backrgounds only. If a cell has no background image, `None` is returned for all calls.
|
|
@@ -321,10 +330,19 @@ The default protobuf package installation may not include the C++ optimised vers
|
|
|
321
330
|
|
|
322
331
|
`This script requires the Protobuf installation to use the C++ implementation. Please reinstall Protobuf with C++ support.`
|
|
323
332
|
|
|
324
|
-
To include the C++ support, download a released version of Google protobuf [from github](https://github.com/protocolbuffers/protobuf). Build instructions are in
|
|
333
|
+
To include the C++ support, download a released version of Google protobuf [from github](https://github.com/protocolbuffers/protobuf). Build instructions are described in [`src/README.md`](https://github.com/protocolbuffers/protobuf/blob/main/src/README).These have changed greatly over time, but as of April 2023, this was useful:
|
|
325
334
|
|
|
335
|
+
``` shell
|
|
336
|
+
bazel build :protoc :protobuf
|
|
337
|
+
cmake . -DCMAKE_CXX_STANDARD=14
|
|
338
|
+
cmake --build . --parallel 8
|
|
339
|
+
export PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=cpp
|
|
340
|
+
export LD_LIBRARY_PATH=../bazel-bin/src/google
|
|
341
|
+
cd python
|
|
342
|
+
python3 setup.py -q bdist_wheel --cpp_implementation --warnings_as_errors --compile_static_extension
|
|
343
|
+
```
|
|
326
344
|
|
|
327
|
-
|
|
345
|
+
This can then be used `make bootstrap` in the `numbers-parser` source tree. The signing workflow assumes that you have an Apple Developer Account and that you have created provisioning profile that includes iCloud. Using a self-signed certificate does not seem to work, at least on Apple Silicon (a working PR contradicting this is greatly appreciated).
|
|
328
346
|
|
|
329
347
|
## Credits
|
|
330
348
|
|
|
@@ -12,7 +12,7 @@ name = "numbers-parser"
|
|
|
12
12
|
packages = [{include = "numbers_parser", from = "src"}]
|
|
13
13
|
readme = "README.md"
|
|
14
14
|
repository = "https://github.com/masaccio/numbers-parser"
|
|
15
|
-
version = "3.
|
|
15
|
+
version = "3.10.1"
|
|
16
16
|
|
|
17
17
|
[tool.poetry.scripts]
|
|
18
18
|
cat-numbers = "numbers_parser._cat_numbers:main"
|
|
@@ -50,8 +50,7 @@ omit = ["src/numbers_parser/generated/*.py"]
|
|
|
50
50
|
directory = "coverage_html_report"
|
|
51
51
|
|
|
52
52
|
[tool.pytest.ini_options]
|
|
53
|
-
addopts = "
|
|
54
|
-
minversion = 6.0
|
|
53
|
+
addopts = "--cov=src/numbers_parser --cov-report=term-missing"
|
|
55
54
|
|
|
56
55
|
[tool.tox]
|
|
57
56
|
legacy_tox_ini = """
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import argparse
|
|
2
2
|
import csv
|
|
3
|
+
import logging
|
|
3
4
|
import sys
|
|
4
5
|
|
|
5
6
|
from numbers_parser import Document, _get_version
|
|
7
|
+
from numbers_parser import __name__ as numbers_parser_name
|
|
6
8
|
from numbers_parser.exceptions import FileFormatError
|
|
7
9
|
from numbers_parser.cell import ErrorCell
|
|
8
10
|
|
|
11
|
+
logger = logging.getLogger(numbers_parser_name)
|
|
12
|
+
|
|
9
13
|
|
|
10
14
|
def command_line_parser():
|
|
11
15
|
parser = argparse.ArgumentParser(
|
|
@@ -49,6 +53,9 @@ def command_line_parser():
|
|
|
49
53
|
"-t", "--table", action="append", help="Names of table(s) to include in export"
|
|
50
54
|
)
|
|
51
55
|
parser.add_argument("document", nargs="*", help="Document(s) to export")
|
|
56
|
+
parser.add_argument(
|
|
57
|
+
"--debug", default=False, action="store_true", help="Enable debug logging"
|
|
58
|
+
)
|
|
52
59
|
return parser
|
|
53
60
|
|
|
54
61
|
|
|
@@ -100,6 +107,13 @@ def main():
|
|
|
100
107
|
elif len(args.document) == 0:
|
|
101
108
|
parser.print_help()
|
|
102
109
|
else:
|
|
110
|
+
hdlr = logging.StreamHandler()
|
|
111
|
+
hdlr.setFormatter(logging.Formatter("%(levelname)s:%(name)s:%(message)s"))
|
|
112
|
+
logger.addHandler(hdlr)
|
|
113
|
+
if args.debug:
|
|
114
|
+
logger.setLevel("DEBUG")
|
|
115
|
+
else:
|
|
116
|
+
logger.setLevel("ERROR")
|
|
103
117
|
for filename in args.document:
|
|
104
118
|
try:
|
|
105
119
|
if args.list_sheets:
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import os
|
|
2
2
|
import json
|
|
3
|
+
import logging
|
|
3
4
|
import regex
|
|
4
5
|
import sys
|
|
5
6
|
|
|
@@ -9,14 +10,17 @@ from base64 import b64decode
|
|
|
9
10
|
from binascii import hexlify
|
|
10
11
|
from compact_json import Formatter
|
|
11
12
|
|
|
12
|
-
|
|
13
13
|
from numbers_parser.file import read_numbers_file
|
|
14
14
|
from numbers_parser import _get_version
|
|
15
|
+
from numbers_parser import __name__ as numbers_parser_name
|
|
15
16
|
from numbers_parser.iwafile import IWAFile
|
|
16
17
|
from numbers_parser.exceptions import FileFormatError, UnsupportedError, FileError
|
|
17
18
|
from numbers_parser.numbers_uuid import NumbersUUID
|
|
18
19
|
|
|
19
20
|
|
|
21
|
+
logger = logging.getLogger(numbers_parser_name)
|
|
22
|
+
|
|
23
|
+
|
|
20
24
|
def ensure_directory_exists(prefix, path):
|
|
21
25
|
"""Ensure that a path's directory exists."""
|
|
22
26
|
parts = os.path.split(path)
|
|
@@ -113,6 +117,9 @@ def main():
|
|
|
113
117
|
"--pretty", action="store_true", help="Enable all prettifying options"
|
|
114
118
|
)
|
|
115
119
|
parser.add_argument("--output", "-o", help="directory name to unpack into")
|
|
120
|
+
parser.add_argument(
|
|
121
|
+
"--debug", default=False, action="store_true", help="Enable debug logging"
|
|
122
|
+
)
|
|
116
123
|
args = parser.parse_args()
|
|
117
124
|
if args.version:
|
|
118
125
|
print(_get_version())
|
|
@@ -125,6 +132,13 @@ def main():
|
|
|
125
132
|
elif len(args.document) == 0:
|
|
126
133
|
parser.print_help()
|
|
127
134
|
else:
|
|
135
|
+
hdlr = logging.StreamHandler()
|
|
136
|
+
hdlr.setFormatter(logging.Formatter("%(levelname)s:%(name)s:%(message)s"))
|
|
137
|
+
logger.addHandler(hdlr)
|
|
138
|
+
if args.debug:
|
|
139
|
+
logger.setLevel("DEBUG")
|
|
140
|
+
else:
|
|
141
|
+
logger.setLevel("ERROR")
|
|
128
142
|
for document in args.document:
|
|
129
143
|
output_dir = args.output or document.replace(".numbers", "")
|
|
130
144
|
try:
|
|
@@ -6,6 +6,7 @@ from numbers_parser.cell_storage import CellType, CellStorage
|
|
|
6
6
|
|
|
7
7
|
from pendulum import duration, Duration, DateTime
|
|
8
8
|
from functools import lru_cache
|
|
9
|
+
from typing import List, Tuple
|
|
9
10
|
|
|
10
11
|
|
|
11
12
|
class Cell:
|
|
@@ -25,7 +26,7 @@ class Cell:
|
|
|
25
26
|
return cell
|
|
26
27
|
|
|
27
28
|
@classmethod
|
|
28
|
-
def from_storage(cls, cell_storage: CellStorage):
|
|
29
|
+
def from_storage(cls, cell_storage: CellStorage): # noqa: C901
|
|
29
30
|
row_col = (cell_storage.row_num, cell_storage.col_num)
|
|
30
31
|
merge_cells = cell_storage.model.merge_cell_ranges(cell_storage.table_id)
|
|
31
32
|
is_merged = row_col in merge_cells
|
|
@@ -48,8 +49,8 @@ class Cell:
|
|
|
48
49
|
cell = DurationCell(*row_col, value)
|
|
49
50
|
elif cell_storage.type == CellType.ERROR:
|
|
50
51
|
cell = ErrorCell(*row_col)
|
|
51
|
-
elif cell_storage.type == CellType.
|
|
52
|
-
cell =
|
|
52
|
+
elif cell_storage.type == CellType.RICH_TEXT:
|
|
53
|
+
cell = RichTextCell(*row_col, cell_storage.value)
|
|
53
54
|
else:
|
|
54
55
|
raise UnsupportedError( # pragma: no cover
|
|
55
56
|
f"Unsupport cell type {cell_storage.type} "
|
|
@@ -140,18 +141,20 @@ class TextCell(Cell):
|
|
|
140
141
|
return self._value
|
|
141
142
|
|
|
142
143
|
|
|
143
|
-
class
|
|
144
|
+
class RichTextCell(Cell):
|
|
144
145
|
def __init__(self, row_num: int, col_num: int, value):
|
|
145
146
|
self._type = TSTArchives.automaticCellType
|
|
146
147
|
super().__init__(row_num, col_num, value["text"])
|
|
147
148
|
self._bullets = value["bullets"]
|
|
148
|
-
self.
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
149
|
+
self._hyperlinks = value["hyperlinks"]
|
|
150
|
+
if value["bulleted"]:
|
|
151
|
+
self._formatted_bullets = [
|
|
152
|
+
value["bullet_chars"][i] + " " + value["bullets"][i]
|
|
153
|
+
if value["bullet_chars"][i] is not None
|
|
154
|
+
else value["bullets"][i]
|
|
155
|
+
for i in range(len(self._bullets))
|
|
156
|
+
]
|
|
157
|
+
self.is_bulleted = True
|
|
155
158
|
|
|
156
159
|
@property
|
|
157
160
|
def value(self) -> str:
|
|
@@ -165,6 +168,15 @@ class BulletedTextCell(Cell):
|
|
|
165
168
|
def formatted_bullets(self) -> str:
|
|
166
169
|
return self._formatted_bullets
|
|
167
170
|
|
|
171
|
+
@property
|
|
172
|
+
def hyperlinks(self) -> List[Tuple]:
|
|
173
|
+
return self._hyperlinks
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
# Backwards compatibility to earlier class names
|
|
177
|
+
class BulletedTextCell(RichTextCell):
|
|
178
|
+
pass
|
|
179
|
+
|
|
168
180
|
|
|
169
181
|
class EmptyCell(Cell):
|
|
170
182
|
def __init__(self, row_num: int, col_num: int):
|
|
@@ -94,32 +94,6 @@ CELL_STORAGE_MAP_V5 = OrderedDict(
|
|
|
94
94
|
]
|
|
95
95
|
)
|
|
96
96
|
|
|
97
|
-
# CELL_STORAGE_MAP_V4 = OrderedDict(
|
|
98
|
-
# [
|
|
99
|
-
# (0x2, {"attr": "cell_style_id"}),
|
|
100
|
-
# (0x80, {"attr": "text_style_id"}), # SheetJS skips
|
|
101
|
-
# (0x400, {"attr": "conditional_style_id"}), # SheetJS skips
|
|
102
|
-
# (0x800, {"attr": "conditional_style_rule_id"}), # SheetJS skips
|
|
103
|
-
# (0x4, {"attr": "current_format_id"}), # SheetJS skips
|
|
104
|
-
# (0x8, {"attr": "formula_id"}), # SheetJS skips
|
|
105
|
-
# (0x100, {"attr": "formula_error_id"}), # SheetJS skips
|
|
106
|
-
# (0x200, {"attr": "rich_id"}),
|
|
107
|
-
# (0x1000, {"attr": "comment_id"}), # SheetJS skips
|
|
108
|
-
# (0x2000, {"attr": "import_warning_id"}), # SheetJS skips
|
|
109
|
-
# (0x10, {"attr": "string_id"}),
|
|
110
|
-
# (0x20, {"attr": "double", "size": 8}),
|
|
111
|
-
# (0x40, {"attr": "seconds", "size": 8}),
|
|
112
|
-
# (0x10000, {"attr": "num_format_id"}), # SheetJS skips
|
|
113
|
-
# (0x80000, {"attr": "currency_format_id"}), # SheetJS skips
|
|
114
|
-
# (0x20000, {"attr": "date_format_id"}), # SheetJS skips
|
|
115
|
-
# (0x40000, {"attr": "duration_format_id"}), # SheetJS skips
|
|
116
|
-
# (0x100000, {"attr": "control_format_id"}), # SheetJS skips
|
|
117
|
-
# (0x200000, {"attr": "custom_format_id"}), # SheetJS skips
|
|
118
|
-
# (0x400000, {"attr": "base_format_id"}), # SheetJS skips
|
|
119
|
-
# (0x800000, {"attr": "multiple_choice_id"}), # SheetJS skips
|
|
120
|
-
# ]
|
|
121
|
-
# )
|
|
122
|
-
|
|
123
97
|
|
|
124
98
|
class CellStorage:
|
|
125
99
|
def __init__( # noqa: C901
|
|
@@ -178,8 +152,8 @@ class CellStorage:
|
|
|
178
152
|
self.value = None
|
|
179
153
|
self.type = CellType.ERROR
|
|
180
154
|
elif cell_type == TSTArchives.automaticCellType:
|
|
181
|
-
self.value = self.model.
|
|
182
|
-
self.type = CellType.
|
|
155
|
+
self.value = self.model.table_rich_text(self.table_id, self.rich_id)
|
|
156
|
+
self.type = CellType.RICH_TEXT
|
|
183
157
|
elif cell_type == 10:
|
|
184
158
|
self.value = self.d128
|
|
185
159
|
self.type = CellType.NUMBER
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import logging
|
|
2
|
+
|
|
1
3
|
from io import BytesIO
|
|
2
4
|
from zipfile import ZipFile, BadZipFile
|
|
3
5
|
|
|
@@ -6,8 +8,12 @@ from numbers_parser.exceptions import FileError, FileFormatError
|
|
|
6
8
|
|
|
7
9
|
import os
|
|
8
10
|
|
|
11
|
+
logger = logging.getLogger(__name__)
|
|
12
|
+
debug = logger.debug
|
|
13
|
+
|
|
9
14
|
|
|
10
15
|
def read_numbers_file(path, file_handler=None, object_handler=None):
|
|
16
|
+
debug("read_numbers_file: path=%s", path)
|
|
11
17
|
if os.path.isdir(path):
|
|
12
18
|
if os.path.isfile(os.path.join(path, "Index.zip")):
|
|
13
19
|
get_objects_from_zip_file(
|
|
@@ -80,6 +86,7 @@ def extract_iwa_archives(blob, filename, file_handler, object_handler):
|
|
|
80
86
|
return
|
|
81
87
|
|
|
82
88
|
try:
|
|
89
|
+
debug("extract_iwa_archives: filename=%s", filename)
|
|
83
90
|
iwaf = IWAFile.from_buffer(blob, filename)
|
|
84
91
|
except Exception as e: # pragma: no cover
|
|
85
92
|
raise FileFormatError(f"{filename}: invalid IWA file {filename}") from e
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# source: TSCHArchives_GEN.proto
|
|
4
|
+
"""Generated protocol buffer code."""
|
|
5
|
+
from google.protobuf.internal import builder as _builder
|
|
6
|
+
from google.protobuf import descriptor as _descriptor
|
|
7
|
+
from google.protobuf import descriptor_pool as _descriptor_pool
|
|
8
|
+
from google.protobuf import symbol_database as _symbol_database
|
|
9
|
+
# @@protoc_insertion_point(imports)
|
|
10
|
+
|
|
11
|
+
_sym_db = _symbol_database.Default()
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
import numbers_parser.generated.TSPMessages_pb2 as TSPMessages__pb2
|
|
15
|
+
import numbers_parser.generated.TSKArchives_pb2 as TSKArchives__pb2
|
|
16
|
+
import numbers_parser.generated.TSDArchives_pb2 as TSDArchives__pb2
|
|
17
|
+
import numbers_parser.generated.TSSArchives_pb2 as TSSArchives__pb2
|
|
18
|
+
import numbers_parser.generated.TSCHArchives_Common_pb2 as TSCHArchives__Common__pb2
|
|
19
|
+
import numbers_parser.generated.TSCH3DArchives_pb2 as TSCH3DArchives__pb2
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16TSCHArchives_GEN.proto\x12\x0eTSCH.Generated\x1a\x11TSPMessages.proto\x1a\x11TSKArchives.proto\x1a\x11TSDArchives.proto\x1a\x11TSSArchives.proto\x1a\x19TSCHArchives_Common.proto\x1a\x14TSCH3DArchives.proto\"\xae\x0c\n\x11\x43hartStyleArchive\x12*\n\"tschchartinfodefault3dchartopacity\x18\x01 \x01(\x02\x12O\n\"tschchartinfoarea3dlightingpackage\x18\x02 \x01(\x0b\x32#.TSCH.Chart3DLightingPackageArchive\x12N\n!tschchartinfobar3dlightingpackage\x18\x03 \x01(\x0b\x32#.TSCH.Chart3DLightingPackageArchive\x12Q\n$tschchartinfocolumn3dlightingpackage\x18\x04 \x01(\x0b\x32#.TSCH.Chart3DLightingPackageArchive\x12R\n%tschchartinfodefault3dlightingpackage\x18\x05 \x01(\x0b\x32#.TSCH.Chart3DLightingPackageArchive\x12O\n\"tschchartinfoline3dlightingpackage\x18\x06 \x01(\x0b\x32#.TSCH.Chart3DLightingPackageArchive\x12N\n!tschchartinfopie3dlightingpackage\x18\x07 \x01(\x0b\x32#.TSCH.Chart3DLightingPackageArchive\x12\x31\n)tschchartinfodefaultaxisanchorlabelatends\x18| \x01(\x08\x12<\n\"tschchartinfodefaultbackgroundfill\x18\x08 \x01(\x0b\x32\x10.TSD.FillArchive\x12@\n$tschchartinfodefaultbackgroundstroke\x18\t \x01(\x0b\x32\x12.TSD.StrokeArchive\x12)\n!tschchartinfodefaultborderopacity\x18\n \x01(\x02\x12<\n tschchartinfodefaultbordershadow\x18\x0b \x01(\x0b\x32\x12.TSD.ShadowArchive\x12<\n tschchartinfodefaultborderstroke\x18\x0c \x01(\x0b\x32\x12.TSD.StrokeArchive\x12)\n!tschchartinfodefaultcombinelayers\x18\r \x01(\x08\x12:\n2tschchartinfodefaultdatasetnameparagraphstyleindex\x18\x15 \x01(\x05\x12@\n&tschchartinfodefaultgridbackgroundfill\x18\x0e \x01(\x0b\x32\x10.TSD.FillArchive\x12\x31\n)tschchartinfodefaultgridbackgroundopacity\x18\x0f \x01(\x02\x12\'\n\x1ftschchartinfodefaultinterbargap\x18\x10 \x01(\x02\x12\'\n\x1ftschchartinfodefaultintersetgap\x18\x11 \x01(\x02\x12\x34\n,tschchartinfodefaultradarradiusgridlinecurve\x18\x1d \x01(\x08\x12\x35\n-tschchartinfodefaultroundedcornerouterendonly\x18{ \x01(\x08\x12/\n\'tschchartinfodefaultroundedcornerradius\x18z \x01(\x02\x12&\n\x1etschchartinfodefaultshowborder\x18\x12 \x01(\x08\x12\x32\n\x1etschchartinfodefaulttitlecolor\x18\x13 \x01(\x0b\x32\n.TSP.Color\x12\x34\n,tschchartinfodefaulttitleparagraphstyleindex\x18\x14 \x01(\x05\x32L\n\x07\x63urrent\x12\x17.TSCH.ChartStyleArchive\x18\x90N \x01(\x0b\x32!.TSCH.Generated.ChartStyleArchive\"\xab\r\n\x14\x43hartNonStyleArchive\x12&\n\x1etschchartinfodefault3dbarshape\x18\x01 \x01(\x05\x12(\n tschchartinfodefault3dbeveledges\x18\x02 \x01(\x08\x12.\n&tschchartinfodefault3dintersetdepthgap\x18\x03 \x01(\x02\x12\x42\n\x1etschchartinfodefault3drotation\x18\x04 \x01(\x0b\x32\x1a.TSCH.Chart3DVectorArchive\x12<\n\x18tschchartinfoarea3dscale\x18\x05 \x01(\x0b\x32\x1a.TSCH.Chart3DVectorArchive\x12;\n\x17tschchartinfobar3dscale\x18\x06 \x01(\x0b\x32\x1a.TSCH.Chart3DVectorArchive\x12>\n\x1atschchartinfocolumn3dscale\x18\x07 \x01(\x0b\x32\x1a.TSCH.Chart3DVectorArchive\x12?\n\x1btschchartinfodefault3dscale\x18\x08 \x01(\x0b\x32\x1a.TSCH.Chart3DVectorArchive\x12<\n\x18tschchartinfoline3dscale\x18\t \x01(\x0b\x32\x1a.TSCH.Chart3DVectorArchive\x12;\n\x17tschchartinfopie3dscale\x18\n \x01(\x0b\x32\x1a.TSCH.Chart3DVectorArchive\x12\x42\n\x1etschchartinfodefault3dviewport\x18\x0b \x01(\x0b\x32\x1a.TSCH.Chart3DVectorArchive\x12(\n tschchartinfoareacalloutlinetype\x18p \x01(\x05\x12\'\n\x1ftschchartinfobarcalloutlinetype\x18q \x01(\x05\x12*\n\"tschchartinfobubblecalloutlinetype\x18r \x01(\x05\x12+\n#tschchartinfodefaultcalloutlinetype\x18w \x01(\x05\x12(\n tschchartinfolinecalloutlinetype\x18s \x01(\x05\x12\'\n\x1ftschchartinfopiecalloutlinetype\x18o \x01(\x05\x12+\n#tschchartinfoscattercalloutlinetype\x18t \x01(\x05\x12/\n\'tschchartinfostackedareacalloutlinetype\x18u \x01(\x05\x12.\n&tschchartinfostackedbarcalloutlinetype\x18v \x01(\x05\x12?\n7tschchartinfodefaultdeprecatedroundedcornerouterendonly\x18y \x01(\x08\x12\x39\n1tschchartinfodefaultdeprecatedroundedcornerradius\x18x \x01(\x02\x12/\n\'tschchartinfodefaultdatasetnamelocation\x18\x18 \x01(\x05\x12\x33\n+tschchartinfodefaultdonutplacetitleatcenter\x18\x1c \x01(\x08\x12\'\n\x1ftschchartinfodefaultinnerradius\x18\x1b \x01(\x02\x12\x30\n(tschchartinfodefaultmultidatacontroltype\x18\x19 \x01(\x05\x12)\n!tschchartinfodefaultpiestartangle\x18\x13 \x01(\x02\x12+\n#tschchartinfodefaultradarstartangle\x18\x1d \x01(\x02\x12&\n\x1etschchartinfodefaultshowlegend\x18\x14 \x01(\x08\x12%\n\x1dtschchartinfodefaultshowtitle\x18\x15 \x01(\x08\x12*\n\"tschchartinfodefaultskiphiddendata\x18\x16 \x01(\x08\x12!\n\x19tschchartinfodefaulttitle\x18\x17 \x01(\t2R\n\x07\x63urrent\x12\x1a.TSCH.ChartNonStyleArchive\x18\x90N \x01(\x0b\x32$.TSCH.Generated.ChartNonStyleArchive\"\xed\x02\n\x12LegendStyleArchive\x12\x34\n\x1atschlegendmodeldefaultfill\x18\x01 \x01(\x0b\x32\x10.TSD.FillArchive\x12\x36\n.tschlegendmodeldefaultlabelparagraphstyleindex\x18\x02 \x01(\x05\x12%\n\x1dtschlegendmodeldefaultopacity\x18\x03 \x01(\x02\x12\x38\n\x1ctschlegendmodeldefaultshadow\x18\x04 \x01(\x0b\x32\x12.TSD.ShadowArchive\x12\x38\n\x1ctschlegendmodeldefaultstroke\x18\x05 \x01(\x0b\x32\x12.TSD.StrokeArchive2N\n\x07\x63urrent\x12\x18.TSCH.LegendStyleArchive\x18\x90N \x01(\x0b\x32\".TSCH.Generated.LegendStyleArchive\"m\n\x15LegendNonStyleArchive2T\n\x07\x63urrent\x12\x1b.TSCH.LegendNonStyleArchive\x18\x90N \x01(\x0b\x32%.TSCH.Generated.LegendNonStyleArchive\"\xe1\x13\n\x15\x43hartAxisStyleArchive\x12.\n&tschchartaxiscategory3dgridlineopacity\x18\x01 \x01(\x02\x12+\n#tschchartaxisvalue3dgridlineopacity\x18\x02 \x01(\x02\x12\x41\n%tschchartaxiscategory3dgridlinestroke\x18\x03 \x01(\x0b\x32\x12.TSD.StrokeArchive\x12>\n\"tschchartaxisvalue3dgridlinestroke\x18\x04 \x01(\x0b\x32\x12.TSD.StrokeArchive\x12.\n&tschchartaxiscategoryhorizontalspacing\x18\x05 \x01(\x05\x12\x37\n/tschchartaxisdefaultlabelanglebaselinedirection\x18. \x01(\x05\x12\x35\n-tschchartaxiscategorylabelparagraphstyleindex\x18\x06 \x01(\x05\x12\x34\n,tschchartaxisdefaultlabelparagraphstyleindex\x18\x07 \x01(\x05\x12\x32\n*tschchartaxisvaluelabelparagraphstyleindex\x18\x08 \x01(\x05\x12.\n&tschchartaxiscategorylabelsorientation\x18\t \x01(\x02\x12-\n%tschchartaxisdefaultlabelsorientation\x18\n \x01(\x02\x12+\n#tschchartaxisvaluelabelsorientation\x18\x0b \x01(\x02\x12\x31\n)tschchartaxiscategorymajorgridlineopacity\x18\x0c \x01(\x02\x12.\n&tschchartaxisvaluemajorgridlineopacity\x18\r \x01(\x02\x12\x44\n(tschchartaxiscategorymajorgridlineshadow\x18\x0e \x01(\x0b\x32\x12.TSD.ShadowArchive\x12\x41\n%tschchartaxisvaluemajorgridlineshadow\x18\x0f \x01(\x0b\x32\x12.TSD.ShadowArchive\x12\x44\n(tschchartaxiscategorymajorgridlinestroke\x18\x10 \x01(\x0b\x32\x12.TSD.StrokeArchive\x12\x41\n%tschchartaxisvaluemajorgridlinestroke\x18\x11 \x01(\x0b\x32\x12.TSD.StrokeArchive\x12\x31\n)tschchartaxiscategoryminorgridlineopacity\x18\x12 \x01(\x02\x12.\n&tschchartaxisvalueminorgridlineopacity\x18\x13 \x01(\x02\x12\x44\n(tschchartaxiscategoryminorgridlineshadow\x18\x14 \x01(\x0b\x32\x12.TSD.ShadowArchive\x12\x41\n%tschchartaxisvalueminorgridlineshadow\x18\x15 \x01(\x0b\x32\x12.TSD.ShadowArchive\x12\x44\n(tschchartaxiscategoryminorgridlinestroke\x18\x16 \x01(\x0b\x32\x12.TSD.StrokeArchive\x12\x41\n%tschchartaxisvalueminorgridlinestroke\x18\x17 \x01(\x0b\x32\x12.TSD.StrokeArchive\x12%\n\x1dtschchartaxiscategoryshowaxis\x18\x18 \x01(\x08\x12\"\n\x1atschchartaxisvalueshowaxis\x18\x19 \x01(\x08\x12.\n&tschchartaxisdefaultshowextensionlines\x18/ \x01(\x08\x12\x32\n*tschchartaxiscategoryshowgridlinetickmarks\x18* \x01(\x08\x12/\n\'tschchartaxisvalueshowgridlinetickmarks\x18+ \x01(\x08\x12*\n\"tschchartaxiscategoryshowlastlabel\x18\x1a \x01(\x08\x12/\n\'tschchartaxiscategoryshowmajorgridlines\x18\x1b \x01(\x08\x12\x34\n,tschchartaxispolarcategoryshowmajorgridlines\x18, \x01(\x08\x12,\n$tschchartaxisvalueshowmajorgridlines\x18\x1c \x01(\x08\x12/\n\'tschchartaxiscategoryshowmajortickmarks\x18\x1d \x01(\x08\x12,\n$tschchartaxisvalueshowmajortickmarks\x18\x1e \x01(\x08\x12*\n\"tschchartaxisvalueshowminimumlabel\x18\x1f \x01(\x08\x12/\n\'tschchartaxiscategoryshowminorgridlines\x18 \x01(\x08\x12,\n$tschchartaxisvalueshowminorgridlines\x18! \x01(\x08\x12/\n\'tschchartaxiscategoryshowminortickmarks\x18\" \x01(\x08\x12,\n$tschchartaxisvalueshowminortickmarks\x18# \x01(\x08\x12-\n%tschchartaxiscategorytickmarklocation\x18$ \x01(\x05\x12*\n\"tschchartaxisvaluetickmarklocation\x18% \x01(\x05\x12\x35\n-tschchartaxiscategorytitleparagraphstyleindex\x18& \x01(\x05\x12\x34\n,tschchartaxisdefaulttitleparagraphstyleindex\x18\' \x01(\x05\x12\x32\n*tschchartaxisvaluetitleparagraphstyleindex\x18( \x01(\x05\x12,\n$tschchartaxiscategoryverticalspacing\x18) \x01(\x05\x32T\n\x07\x63urrent\x12\x1b.TSCH.ChartAxisStyleArchive\x18\x90N \x01(\x0b\x32%.TSCH.Generated.ChartAxisStyleArchive\"\xa7\n\n\x18\x43hartAxisNonStyleArchive\x12\x43\n!tschchartaxisdefault1_0dateformat\x18\x14 \x01(\x0b\x32\x18.TSK.FormatStructArchive\x12\x45\n#tschchartaxisdefault1_0numberformat\x18\x02 \x01(\x0b\x32\x18.TSK.FormatStructArchive\x12+\n#tschchartaxisdefault3dlabelposition\x18\x01 \x01(\x05\x12@\n\x1etschchartaxisdefaultdateformat\x18\x16 \x01(\x0b\x32\x18.TSK.FormatStructArchive\x12\x44\n\"tschchartaxisdefaultdurationformat\x18\x15 \x01(\x0b\x32\x18.TSK.FormatStructArchive\x12*\n\"tschchartaxisdefaultlabelexplosion\x18\x17 \x01(\x02\x12\x42\n tschchartaxisdefaultnumberformat\x18* \x01(\x0b\x32\x18.TSK.FormatStructArchive\x12,\n$tschchartaxisdefaultnumberformattype\x18\x03 \x01(\x05\x12)\n!tschchartaxisvaluenumberofdecades\x18\x04 \x01(\x05\x12\x30\n(tschchartaxisvaluenumberofmajorgridlines\x18\x05 \x01(\x05\x12\x30\n(tschchartaxisvaluenumberofminorgridlines\x18\x06 \x01(\x05\x12(\n tschchartaxiscategoryplottoedges\x18\x07 \x01(\x08\x12\x1f\n\x17tschchartaxisvaluescale\x18\x08 \x01(\x05\x12\'\n\x1ftschchartaxiscategoryshowlabels\x18\t \x01(\x08\x12&\n\x1etschchartaxisdefaultshowlabels\x18\n \x01(\x08\x12$\n\x1ctschchartaxisvalueshowlabels\x18\x0b \x01(\x08\x12-\n%tschchartaxiscategoryshowserieslabels\x18\x0c \x01(\x08\x12.\n&tschchartaxismultidatashowserieslabels\x18\x13 \x01(\x08\x12&\n\x1etschchartaxiscategoryshowtitle\x18\r \x01(\x08\x12#\n\x1btschchartaxisvalueshowtitle\x18\x0e \x01(\x08\x12\"\n\x1atschchartaxiscategorytitle\x18\x0f \x01(\t\x12\x1f\n\x17tschchartaxisvaluetitle\x18\x10 \x01(\t\x12\x46\n\x1btschchartaxisdefaultusermax\x18\x11 \x01(\x0b\x32!.TSCH.ChartsNSNumberDoubleArchive\x12\x46\n\x1btschchartaxisdefaultusermin\x18\x12 \x01(\x0b\x32!.TSCH.ChartsNSNumberDoubleArchive2Z\n\x07\x63urrent\x12\x1e.TSCH.ChartAxisNonStyleArchive\x18\x90N \x01(\x0b\x32(.TSCH.Generated.ChartAxisNonStyleArchive\"\xb3\x35\n\x17\x43hartSeriesStyleArchive\x12I\n+tschchartseriesdefaultcalloutlineendlineend\x18\x82\x01 \x01(\x0b\x32\x13.TSD.LineEndArchive\x12K\n-tschchartseriesdefaultcalloutlinestartlineend\x18\x81\x01 \x01(\x0b\x32\x13.TSD.LineEndArchive\x12I\n,tschchartseriesdefaultcalloutlinestrokestyle\x18\x80\x01 \x01(\x0b\x32\x12.TSD.StrokeArchive\x12\x42\n%tschchartseriesdefaulterrorbarlineend\x18\x01 \x01(\x0b\x32\x13.TSD.LineEndArchive\x12J\n-tschchartseriesdefaulterrorbarlineendscatterx\x18\x02 \x01(\x0b\x32\x13.TSD.LineEndArchive\x12@\n$tschchartseriesdefaulterrorbarshadow\x18\x03 \x01(\x0b\x32\x12.TSD.ShadowArchive\x12-\n%tschchartseriesdefaulterrorbarspacing\x18\x62 \x01(\x05\x12\x35\n-tschchartseriesdefaulterrorbarspacingscatterx\x18\x63 \x01(\x05\x12@\n$tschchartseriesdefaulterrorbarstroke\x18\x04 \x01(\x0b\x32\x12.TSD.StrokeArchive\x12H\n,tschchartseriesdefaulterrorbarstrokescatterx\x18\x05 \x01(\x0b\x32\x12.TSD.StrokeArchive\x12\x33\n\x19tschchartseries3dareafill\x18\x06 \x01(\x0b\x32\x10.TSD.FillArchive\x12\x32\n\x18tschchartseries3dbarfill\x18\x07 \x01(\x0b\x32\x10.TSD.FillArchive\x12\x35\n\x1btschchartseries3dcolumnfill\x18\x08 \x01(\x0b\x32\x10.TSD.FillArchive\x12\x33\n\x19tschchartseries3dlinefill\x18\t \x01(\x0b\x32\x10.TSD.FillArchive\x12\x32\n\x18tschchartseries3dpiefill\x18\n \x01(\x0b\x32\x10.TSD.FillArchive\x12\x31\n\x17tschchartseriesareafill\x18\x0b \x01(\x0b\x32\x10.TSD.FillArchive\x12\x30\n\x16tschchartseriesbarfill\x18\x0c \x01(\x0b\x32\x10.TSD.FillArchive\x12\x33\n\x19tschchartseriescolumnfill\x18\r \x01(\x0b\x32\x10.TSD.FillArchive\x12\x34\n\x1atschchartseriesdefaultfill\x18\x0e \x01(\x0b\x32\x10.TSD.FillArchive\x12\x36\n\x1ctschchartseriesmixedareafill\x18\x0f \x01(\x0b\x32\x10.TSD.FillArchive\x12\x38\n\x1etschchartseriesmixedcolumnfill\x18\x10 \x01(\x0b\x32\x10.TSD.FillArchive\x12\x30\n\x16tschchartseriespiefill\x18\x11 \x01(\x0b\x32\x10.TSD.FillArchive\x12\x37\n\x1ctschchartseriesradarareafill\x18\xa5\x01 \x01(\x0b\x32\x10.TSD.FillArchive\x12\x43\n:tschchartseriesradarareafilluseseriesstrokealphamultiplier\x18\xbd\x01 \x01(\x02\x12\x34\n+tschchartseriesradarareafilluseseriesstroke\x18\xbc\x01 \x01(\x08\x12\x33\n+tschchartseriesarealabelparagraphstyleindex\x18\x12 \x01(\x05\x12\x32\n*tschchartseriesbarlabelparagraphstyleindex\x18\x13 \x01(\x05\x12\x36\n.tschchartseriesdefaultlabelparagraphstyleindex\x18\x14 \x01(\x05\x12\x35\n,tschchartseriesdonutlabelparagraphstyleindex\x18\x98\x01 \x01(\x05\x12\x33\n+tschchartserieslinelabelparagraphstyleindex\x18\x15 \x01(\x05\x12\x34\n,tschchartseriesmixedlabelparagraphstyleindex\x18\x16 \x01(\x05\x12\x32\n*tschchartseriespielabelparagraphstyleindex\x18\x17 \x01(\x05\x12\x35\n,tschchartseriesradarlabelparagraphstyleindex\x18\xa7\x01 \x01(\x05\x12%\n\x1dtschchartseriesdefaultopacity\x18\x18 \x01(\x02\x12:\n2tschchartseriesareaoutsidelabelparagraphstyleindex\x18\x19 \x01(\x05\x12\x39\n1tschchartseriesbaroutsidelabelparagraphstyleindex\x18\x1a \x01(\x05\x12=\n5tschchartseriesdefaultoutsidelabelparagraphstyleindex\x18\x1b \x01(\x05\x12<\n3tschchartseriesdonutoutsidelabelparagraphstyleindex\x18\x99\x01 \x01(\x05\x12;\n3tschchartseriesmixedoutsidelabelparagraphstyleindex\x18\x1c \x01(\x05\x12\x39\n1tschchartseriespieoutsidelabelparagraphstyleindex\x18\x1d \x01(\x05\x12<\n3tschchartseriesradaroutsidelabelparagraphstyleindex\x18\xa8\x01 \x01(\x05\x12\x37\n\x1btschchartseries3dareashadow\x18\x1e \x01(\x0b\x32\x12.TSD.ShadowArchive\x12\x36\n\x1atschchartseries3dbarshadow\x18\x1f \x01(\x0b\x32\x12.TSD.ShadowArchive\x12\x39\n\x1dtschchartseries3dcolumnshadow\x18 \x01(\x0b\x32\x12.TSD.ShadowArchive\x12\x37\n\x1btschchartseries3dlineshadow\x18! \x01(\x0b\x32\x12.TSD.ShadowArchive\x12\x36\n\x1atschchartseries3dpieshadow\x18\" \x01(\x0b\x32\x12.TSD.ShadowArchive\x12\x35\n\x19tschchartseriesareashadow\x18# \x01(\x0b\x32\x12.TSD.ShadowArchive\x12\x34\n\x18tschchartseriesbarshadow\x18$ \x01(\x0b\x32\x12.TSD.ShadowArchive\x12\x37\n\x1btschchartseriesbubbleshadow\x18% \x01(\x0b\x32\x12.TSD.ShadowArchive\x12\x38\n\x1ctschchartseriesdefaultshadow\x18& \x01(\x0b\x32\x12.TSD.ShadowArchive\x12\x35\n\x19tschchartserieslineshadow\x18\' \x01(\x0b\x32\x12.TSD.ShadowArchive\x12:\n\x1etschchartseriesmixedareashadow\x18( \x01(\x0b\x32\x12.TSD.ShadowArchive\x12<\n tschchartseriesmixedcolumnshadow\x18) \x01(\x0b\x32\x12.TSD.ShadowArchive\x12:\n\x1etschchartseriesmixedlineshadow\x18* \x01(\x0b\x32\x12.TSD.ShadowArchive\x12\x34\n\x18tschchartseriespieshadow\x18+ \x01(\x0b\x32\x12.TSD.ShadowArchive\x12;\n\x1etschchartseriesradarareashadow\x18\xa9\x01 \x01(\x0b\x32\x12.TSD.ShadowArchive\x12\x38\n\x1ctschchartseriesscattershadow\x18, \x01(\x0b\x32\x12.TSD.ShadowArchive\x12\x35\n\x19tschchartseriesareastroke\x18- \x01(\x0b\x32\x12.TSD.StrokeArchive\x12\x34\n\x18tschchartseriesbarstroke\x18. \x01(\x0b\x32\x12.TSD.StrokeArchive\x12\x37\n\x1btschchartseriesbubblestroke\x18/ \x01(\x0b\x32\x12.TSD.StrokeArchive\x12\x35\n\x19tschchartserieslinestroke\x18\x30 \x01(\x0b\x32\x12.TSD.StrokeArchive\x12:\n\x1etschchartseriesmixedareastroke\x18\x31 \x01(\x0b\x32\x12.TSD.StrokeArchive\x12<\n tschchartseriesmixedcolumnstroke\x18\x32 \x01(\x0b\x32\x12.TSD.StrokeArchive\x12:\n\x1etschchartseriesmixedlinestroke\x18\x33 \x01(\x0b\x32\x12.TSD.StrokeArchive\x12\x34\n\x18tschchartseriespiestroke\x18\x34 \x01(\x0b\x32\x12.TSD.StrokeArchive\x12;\n\x1etschchartseriesradarareastroke\x18\xac\x01 \x01(\x0b\x32\x12.TSD.StrokeArchive\x12\x38\n\x1ctschchartseriesscatterstroke\x18\x35 \x01(\x0b\x32\x12.TSD.StrokeArchive\x12\x37\n\x1dtschchartseriesareasymbolfill\x18\x36 \x01(\x0b\x32\x10.TSD.FillArchive\x12\x39\n\x1ftschchartseriesbubblesymbolfill\x18\x37 \x01(\x0b\x32\x10.TSD.FillArchive\x12\x37\n\x1dtschchartserieslinesymbolfill\x18\x38 \x01(\x0b\x32\x10.TSD.FillArchive\x12<\n\"tschchartseriesmixedareasymbolfill\x18\x39 \x01(\x0b\x32\x10.TSD.FillArchive\x12<\n\"tschchartseriesmixedlinesymbolfill\x18: \x01(\x0b\x32\x10.TSD.FillArchive\x12=\n\"tschchartseriesradarareasymbolfill\x18\xaf\x01 \x01(\x0b\x32\x10.TSD.FillArchive\x12:\n tschchartseriesscattersymbolfill\x18; \x01(\x0b\x32\x10.TSD.FillArchive\x12\x32\n*tschchartseriesareasymbolfilluseseriesfill\x18< \x01(\x08\x12\x32\n*tschchartserieslinesymbolfilluseseriesfill\x18= \x01(\x08\x12\x37\n/tschchartseriesmixedareasymbolfilluseseriesfill\x18> \x01(\x08\x12\x37\n/tschchartseriesmixedlinesymbolfilluseseriesfill\x18? \x01(\x08\x12\x38\n/tschchartseriesradarareasymbolfilluseseriesfill\x18\xb1\x01 \x01(\x08\x12\x34\n,tschchartseriesareasymbolfilluseseriesstroke\x18@ \x01(\x08\x12\x36\n.tschchartseriesbubblesymbolfilluseseriesstroke\x18\x41 \x01(\x08\x12\x34\n,tschchartserieslinesymbolfilluseseriesstroke\x18\x42 \x01(\x08\x12\x39\n1tschchartseriesmixedareasymbolfilluseseriesstroke\x18\x43 \x01(\x08\x12\x39\n1tschchartseriesmixedlinesymbolfilluseseriesstroke\x18\x44 \x01(\x08\x12:\n1tschchartseriesradarareasymbolfilluseseriesstroke\x18\xb3\x01 \x01(\x08\x12\x37\n/tschchartseriesscattersymbolfilluseseriesstroke\x18\x45 \x01(\x08\x12%\n\x1dtschchartseriesareasymbolsize\x18\x46 \x01(\x02\x12%\n\x1dtschchartserieslinesymbolsize\x18G \x01(\x02\x12*\n\"tschchartseriesmixedareasymbolsize\x18H \x01(\x02\x12*\n\"tschchartseriesmixedlinesymbolsize\x18I \x01(\x02\x12+\n\"tschchartseriesradarareasymbolsize\x18\xb5\x01 \x01(\x02\x12(\n tschchartseriesscattersymbolsize\x18J \x01(\x02\x12;\n\x1ftschchartseriesareasymbolstroke\x18K \x01(\x0b\x32\x12.TSD.StrokeArchive\x12=\n!tschchartseriesbubblesymbolstroke\x18L \x01(\x0b\x32\x12.TSD.StrokeArchive\x12;\n\x1ftschchartserieslinesymbolstroke\x18M \x01(\x0b\x32\x12.TSD.StrokeArchive\x12@\n$tschchartseriesmixedareasymbolstroke\x18N \x01(\x0b\x32\x12.TSD.StrokeArchive\x12@\n$tschchartseriesmixedlinesymbolstroke\x18O \x01(\x0b\x32\x12.TSD.StrokeArchive\x12\x41\n$tschchartseriesradarareasymbolstroke\x18\xb7\x01 \x01(\x0b\x32\x12.TSD.StrokeArchive\x12>\n\"tschchartseriesscattersymbolstroke\x18P \x01(\x0b\x32\x12.TSD.StrokeArchive\x12\x41\n%tschchartseriesdefaulttrendlineshadow\x18U \x01(\x0b\x32\x12.TSD.ShadowArchive\x12\x41\n%tschchartseriesdefaulttrendlinestroke\x18V \x01(\x0b\x32\x12.TSD.StrokeArchive\x12\x36\n.tschchartseriesdefaulttrendlineequationopacity\x18Q \x01(\x02\x12\x42\n:tschchartseriesdefaulttrendlineequationparagraphstyleindex\x18R \x01(\x05\x12\x36\n.tschchartseriesdefaulttrendlinersquaredopacity\x18S \x01(\x02\x12\x42\n:tschchartseriesdefaulttrendlinersquaredparagraphstyleindex\x18T \x01(\x05\x12-\n%tschchartseriesareavaluelabelposition\x18W \x01(\x05\x12,\n$tschchartseriesbarvaluelabelposition\x18X \x01(\x05\x12/\n\'tschchartseriesbubblevaluelabelposition\x18Y \x01(\x05\x12\x30\n(tschchartseriesdefaultvaluelabelposition\x18Z \x01(\x05\x12-\n%tschchartserieslinevaluelabelposition\x18[ \x01(\x05\x12\x32\n*tschchartseriesmixedareavaluelabelposition\x18\\ \x01(\x05\x12\x34\n,tschchartseriesmixedcolumnvaluelabelposition\x18] \x01(\x05\x12\x32\n*tschchartseriesmixedlinevaluelabelposition\x18^ \x01(\x05\x12\x33\n*tschchartseriesradarareavaluelabelposition\x18\xb9\x01 \x01(\x05\x12\x30\n(tschchartseriesscattervaluelabelposition\x18_ \x01(\x05\x12\x34\n,tschchartseriesstackedareavaluelabelposition\x18` \x01(\x05\x12\x33\n+tschchartseriesstackedbarvaluelabelposition\x18\x61 \x01(\x05\x12/\n\'tschchartseriesdefaultvaluelabelspacing\x18\x64 \x01(\x05\x32X\n\x07\x63urrent\x12\x1d.TSCH.ChartSeriesStyleArchive\x18\x90N \x01(\x0b\x32\'.TSCH.Generated.ChartSeriesStyleArchive\"\xeb\'\n\x1a\x43hartSeriesNonStyleArchive\x12\x45\n#tschchartseriesdefault1_0dateformat\x18\x45 \x01(\x0b\x32\x18.TSK.FormatStructArchive\x12G\n%tschchartseriesdefault1_0numberformat\x18\x15 \x01(\x0b\x32\x18.TSK.FormatStructArchive\x12\x43\n!tschchartseriespie1_0numberformat\x18\x16 \x01(\x0b\x32\x18.TSK.FormatStructArchive\x12+\n#tschchartseriespie2_3labelexplosion\x18\x10 \x01(\x02\x12,\n$tschchartseriesbubbleadjustmentscale\x18\x01 \x01(\x02\x12\x42\n tschchartseriesdefaultdateformat\x18G \x01(\x0b\x32\x18.TSK.FormatStructArchive\x12\x46\n$tschchartseriesdefaultdurationformat\x18\x46 \x01(\x0b\x32\x18.TSK.FormatStructArchive\x12,\n$tschchartseriesareaenablecalloutline\x18g \x01(\x05\x12+\n#tschchartseriesbarenablecalloutline\x18h \x01(\x05\x12.\n&tschchartseriesbubbleenablecalloutline\x18i \x01(\x05\x12/\n\'tschchartseriesdefaultenablecalloutline\x18n \x01(\x05\x12,\n$tschchartserieslineenablecalloutline\x18j \x01(\x05\x12+\n#tschchartseriespieenablecalloutline\x18\x66 \x01(\x05\x12/\n\'tschchartseriesscatterenablecalloutline\x18k \x01(\x05\x12\x33\n+tschchartseriesstackedareaenablecalloutline\x18l \x01(\x05\x12\x32\n*tschchartseriesstackedbarenablecalloutline\x18m \x01(\x05\x12\x64\n0tschchartseriesdefaulterrorbarcustomnegativedata\x18\x02 \x01(\x0b\x32*.TSCH.ChartsNSArrayOfNSNumberDoubleArchive\x12l\n8tschchartseriesdefaulterrorbarcustomnegativedatascatterx\x18\x03 \x01(\x0b\x32*.TSCH.ChartsNSArrayOfNSNumberDoubleArchive\x12\x64\n0tschchartseriesdefaulterrorbarcustompositivedata\x18\x04 \x01(\x0b\x32*.TSCH.ChartsNSArrayOfNSNumberDoubleArchive\x12l\n8tschchartseriesdefaulterrorbarcustompositivedatascatterx\x18\x05 \x01(\x0b\x32*.TSCH.ChartsNSArrayOfNSNumberDoubleArchive\x12\x30\n(tschchartseriesdefaulterrorbarfixedvalue\x18\x06 \x01(\x02\x12\x38\n0tschchartseriesdefaulterrorbarfixedvaluescatterx\x18\x07 \x01(\x02\x12\x32\n*tschchartseriesdefaulterrorbarpercentvalue\x18\x08 \x01(\x02\x12:\n2tschchartseriesdefaulterrorbarpercentvaluescatterx\x18\t \x01(\x02\x12-\n%tschchartseriesdefaulterrorbarsetting\x18\n \x01(\x05\x12\x35\n-tschchartseriesdefaulterrorbarsettingscatterx\x18\x0b \x01(\x05\x12\x31\n)tschchartseriesdefaulterrorbarstddevvalue\x18\x0c \x01(\x02\x12\x39\n1tschchartseriesdefaulterrorbarstddevvaluescatterx\x18\r \x01(\x02\x12*\n\"tschchartseriesdefaulterrorbartype\x18\x0e \x01(\x05\x12\x32\n*tschchartseriesdefaulterrorbartypescatterx\x18\x0f \x01(\x05\x12)\n tschchartseriespielabelexplosion\x18\x93\x01 \x01(\x02\x12%\n\x1dtschchartseriesbubblelinetype\x18\x11 \x01(\x05\x12#\n\x1btschchartserieslinelinetype\x18\x12 \x01(\x05\x12(\n tschchartseriesmixedlinelinetype\x18\x13 \x01(\x05\x12)\n tschchartseriesradararealinetype\x18\xbd\x01 \x01(\x05\x12&\n\x1etschchartseriesscatterlinetype\x18\x14 \x01(\x05\x12\x44\n\"tschchartseriesdefaultnumberformat\x18\x62 \x01(\x0b\x32\x18.TSK.FormatStructArchive\x12@\n\x1etschchartseriespienumberformat\x18\x63 \x01(\x0b\x32\x18.TSK.FormatStructArchive\x12.\n&tschchartseriesdefaultnumberformattype\x18\x17 \x01(\x05\x12*\n\"tschchartseriespienumberformattype\x18\x18 \x01(\x05\x12K\n)tschchartseriesstackedpercentnumberformat\x18\x19 \x01(\x0b\x32\x18.TSK.FormatStructArchive\x12(\n tschchartseriesdefaultseriestype\x18\x1a \x01(\x05\x12*\n\"tschchartseriesdefaultshowerrorbar\x18\x1b \x01(\x08\x12\x32\n*tschchartseriesdefaultshowerrorbarscatterx\x18\x1c \x01(\x08\x12.\n&tschchartseriesbubbleshowlabelsinfront\x18\x65 \x01(\x08\x12/\n\'tschchartseriesdefaultshowlabelsinfront\x18\x64 \x01(\x08\x12&\n\x1etschchartseriesscattershowline\x18\x1d \x01(\x08\x12-\n%tschchartseriesbubbleshownegativedata\x18\x1e \x01(\x08\x12-\n%tschchartseriesbubbleshowserieslabels\x18\x41 \x01(\x08\x12*\n\"tschchartseriespieshowserieslabels\x18\x1f \x01(\x08\x12.\n&tschchartseriesscattershowserieslabels\x18\x43 \x01(\x08\x12%\n\x1dtschchartseriesareashowsymbol\x18 \x01(\x08\x12%\n\x1dtschchartserieslineshowsymbol\x18! \x01(\x08\x12*\n\"tschchartseriesmixedareashowsymbol\x18\" \x01(\x08\x12*\n\"tschchartseriesmixedlineshowsymbol\x18# \x01(\x08\x12+\n\"tschchartseriesradarareashowsymbol\x18\xa0\x01 \x01(\x08\x12(\n tschchartseriesscattershowsymbol\x18$ \x01(\x08\x12+\n#tschchartseriesdefaultshowtrendline\x18% \x01(\x08\x12*\n\"tschchartseriesareashowvaluelabels\x18& \x01(\x08\x12)\n!tschchartseriesbarshowvaluelabels\x18\' \x01(\x08\x12,\n$tschchartseriesbubbleshowvaluelabels\x18( \x01(\x08\x12-\n%tschchartseriesdefaultshowvaluelabels\x18) \x01(\x08\x12*\n\"tschchartserieslineshowvaluelabels\x18* \x01(\x08\x12+\n#tschchartseriesmixedshowvaluelabels\x18+ \x01(\x08\x12)\n!tschchartseriespieshowvaluelabels\x18, \x01(\x08\x12,\n#tschchartseriesradarshowvaluelabels\x18\xa2\x01 \x01(\x08\x12-\n%tschchartseriesscattershowvaluelabels\x18- \x01(\x08\x12*\n\"tschchartseriesbubblesizedimension\x18. \x01(\x05\x12\'\n\x1etschchartseriesareastacklabels\x18\x8b\x01 \x01(\x08\x12&\n\x1dtschchartseriesbarstacklabels\x18\x8c\x01 \x01(\x08\x12)\n tschchartseriesbubblestacklabels\x18\x8d\x01 \x01(\x08\x12*\n!tschchartseriesdefaultstacklabels\x18\x92\x01 \x01(\x08\x12\'\n\x1etschchartserieslinestacklabels\x18\x8e\x01 \x01(\x08\x12&\n\x1dtschchartseriespiestacklabels\x18\x8a\x01 \x01(\x08\x12*\n!tschchartseriesscatterstacklabels\x18\x8f\x01 \x01(\x08\x12.\n%tschchartseriesstackedareastacklabels\x18\x90\x01 \x01(\x08\x12-\n$tschchartseriesstackedbarstacklabels\x18\x91\x01 \x01(\x08\x12%\n\x1dtschchartseriesareasymboltype\x18/ \x01(\x05\x12%\n\x1dtschchartserieslinesymboltype\x18\x30 \x01(\x05\x12*\n\"tschchartseriesmixedareasymboltype\x18\x31 \x01(\x05\x12*\n\"tschchartseriesmixedlinesymboltype\x18\x32 \x01(\x05\x12+\n\"tschchartseriesradarareasymboltype\x18\xa3\x01 \x01(\x05\x12(\n tschchartseriesscattersymboltype\x18\x33 \x01(\x05\x12\x36\n.tschchartseriesdefaulttrendlineequationoffsetx\x18\x34 \x01(\x02\x12\x36\n.tschchartseriesdefaulttrendlineequationoffsety\x18\x35 \x01(\x02\x12\x32\n*tschchartseriesdefaulttrendlinelabelstring\x18\x36 \x01(\t\x12,\n$tschchartseriesdefaulttrendlineorder\x18\x37 \x01(\x05\x12-\n%tschchartseriesdefaulttrendlineperiod\x18\x38 \x01(\x05\x12\x36\n.tschchartseriesdefaulttrendlinersquaredoffsetx\x18\x39 \x01(\x02\x12\x36\n.tschchartseriesdefaulttrendlinersquaredoffsety\x18: \x01(\x02\x12\x33\n+tschchartseriesdefaulttrendlineshowequation\x18; \x01(\x08\x12\x30\n(tschchartseriesdefaulttrendlineshowlabel\x18< \x01(\x08\x12\x32\n*tschchartseriesdefaulttrendlineshowr2value\x18= \x01(\x08\x12+\n#tschchartseriesdefaulttrendlinetype\x18> \x01(\x05\x12,\n$tschchartseriesbubblevaluelabelsaxis\x18\x42 \x01(\x05\x12-\n%tschchartseriesscattervaluelabelsaxis\x18\x44 \x01(\x05\x12(\n tschchartseriespiewedgeexplosion\x18? \x01(\x02\x12*\n\"tschchartseriesdefaultyaxisordinal\x18@ \x01(\x05\x32^\n\x07\x63urrent\x12 .TSCH.ChartSeriesNonStyleArchive\x18\x90N \x01(\x0b\x32*.TSCH.Generated.ChartSeriesNonStyleArchive\"\xea\x02\n\x19ReferenceLineStyleArchive\x12\x38\n0tschreferencelinedefaultlabelparagraphstyleindex\x18\x03 \x01(\x05\x12:\n\x1etschreferencelinedefaultshadow\x18\x02 \x01(\x0b\x32\x12.TSD.ShadowArchive\x12:\n\x1etschreferencelinedefaultstroke\x18\x01 \x01(\x0b\x32\x12.TSD.StrokeArchive\x12=\n5tschreferencelinedefaultvaluelabelparagraphstyleindex\x18\x04 \x01(\x05\x32\\\n\x07\x63urrent\x12\x1f.TSCH.ReferenceLineStyleArchive\x18\x90N \x01(\x0b\x32).TSCH.Generated.ReferenceLineStyleArchive\"\xa4\x03\n\x1cReferenceLineNonStyleArchive\x12N\n#tschreferencelinedefaultcustomvalue\x18\x06 \x01(\x0b\x32!.TSCH.ChartsNSNumberDoubleArchive\x12%\n\x1dtschreferencelinedefaultlabel\x18\x05 \x01(\t\x12)\n!tschreferencelinedefaultshowlabel\x18\x03 \x01(\x08\x12(\n tschreferencelinedefaultshowline\x18\x02 \x01(\x08\x12.\n&tschreferencelinedefaultshowvaluelabel\x18\x04 \x01(\x08\x12$\n\x1ctschreferencelinedefaulttype\x18\x01 \x01(\x05\x32\x62\n\x07\x63urrent\x12\".TSCH.ReferenceLineNonStyleArchive\x18\x90N \x01(\x0b\x32,.TSCH.Generated.ReferenceLineNonStyleArchive\"\xf2\r\n\x1e\x43hartGenericPropertyMapArchive\x12\x1f\n\x17tschchartinfo3dbarshape\x18\x01 \x01(\x05\x12!\n\x19tschchartinfo3dbeveledges\x18\x02 \x01(\x08\x12#\n\x1btschchartinfo3dchartopacity\x18\x03 \x01(\x02\x12\'\n\x1ftschchartinfo3dintersetdepthgap\x18\x04 \x01(\x02\x12K\n\x1etschchartinfo3dlightingpackage\x18\x05 \x01(\x0b\x32#.TSCH.Chart3DLightingPackageArchive\x12;\n\x17tschchartinfo3drotation\x18\x06 \x01(\x0b\x32\x1a.TSCH.Chart3DVectorArchive\x12\x38\n\x14tschchartinfo3dscale\x18\x07 \x01(\x0b\x32\x1a.TSCH.Chart3DVectorArchive\x12;\n\x17tschchartinfo3dviewport\x18\x08 \x01(\x0b\x32\x1a.TSCH.Chart3DVectorArchive\x12*\n\"tschchartinfoaxisanchorlabelatends\x18\t \x01(\x08\x12\x35\n\x1btschchartinfobackgroundfill\x18\n \x01(\x0b\x32\x10.TSD.FillArchive\x12\x39\n\x1dtschchartinfobackgroundstroke\x18\x0b \x01(\x0b\x32\x12.TSD.StrokeArchive\x12\"\n\x1atschchartinfoborderopacity\x18\x0c \x01(\x02\x12\x35\n\x19tschchartinfobordershadow\x18\r \x01(\x0b\x32\x12.TSD.ShadowArchive\x12\x35\n\x19tschchartinfoborderstroke\x18\x0e \x01(\x0b\x32\x12.TSD.StrokeArchive\x12$\n\x1ctschchartinfocalloutlinetype\x18\x0f \x01(\x05\x12\"\n\x1atschchartinfocombinelayers\x18\x10 \x01(\x08\x12\x38\n0tschchartinfodeprecatedroundedcornerouterendonly\x18\x11 \x01(\x08\x12\x32\n*tschchartinfodeprecatedroundedcornerradius\x18\x12 \x01(\x02\x12(\n tschchartinfodatasetnamelocation\x18\x13 \x01(\x05\x12\x33\n+tschchartinfodatasetnameparagraphstyleindex\x18\x14 \x01(\x05\x12,\n$tschchartinfodonutplacetitleatcenter\x18\x15 \x01(\x08\x12\x39\n\x1ftschchartinfogridbackgroundfill\x18\x16 \x01(\x0b\x32\x10.TSD.FillArchive\x12*\n\"tschchartinfogridbackgroundopacity\x18\x17 \x01(\x02\x12 \n\x18tschchartinfoinnerradius\x18\x18 \x01(\x02\x12 \n\x18tschchartinfointerbargap\x18\x19 \x01(\x02\x12 \n\x18tschchartinfointersetgap\x18\x1a \x01(\x02\x12)\n!tschchartinfomultidatacontroltype\x18\x1b \x01(\x05\x12\"\n\x1atschchartinfopiestartangle\x18\x1c \x01(\x02\x12-\n%tschchartinforadarradiusgridlinecurve\x18\x1d \x01(\x08\x12$\n\x1ctschchartinforadarstartangle\x18\x1e \x01(\x02\x12.\n&tschchartinforoundedcornerouterendonly\x18\x1f \x01(\x08\x12(\n tschchartinforoundedcornerradius\x18 \x01(\x02\x12\x1f\n\x17tschchartinfoshowborder\x18! \x01(\x08\x12\x1f\n\x17tschchartinfoshowlegend\x18\" \x01(\x08\x12\x1e\n\x16tschchartinfoshowtitle\x18# \x01(\x08\x12#\n\x1btschchartinfoskiphiddendata\x18$ \x01(\x08\x12+\n\x17tschchartinfotitlecolor\x18% \x01(\x0b\x32\n.TSP.Color\x12\x1a\n\x12tschchartinfotitle\x18& \x01(\t\x12-\n%tschchartinfotitleparagraphstyleindex\x18\' \x01(\x05\"\x87\x02\n\x1fLegendGenericPropertyMapArchive\x12-\n\x13tschlegendmodelfill\x18\x01 \x01(\x0b\x32\x10.TSD.FillArchive\x12/\n\'tschlegendmodellabelparagraphstyleindex\x18\x02 \x01(\x05\x12\x1e\n\x16tschlegendmodelopacity\x18\x03 \x01(\x02\x12\x31\n\x15tschlegendmodelshadow\x18\x04 \x01(\x0b\x32\x12.TSD.ShadowArchive\x12\x31\n\x15tschlegendmodelstroke\x18\x05 \x01(\x0b\x32\x12.TSD.StrokeArchive\"\xd0\x0f\n\"ChartAxisGenericPropertyMapArchive\x12<\n\x1atschchartaxis1_0dateformat\x18\x01 \x01(\x0b\x32\x18.TSK.FormatStructArchive\x12>\n\x1ctschchartaxis1_0numberformat\x18\x02 \x01(\x0b\x32\x18.TSK.FormatStructArchive\x12&\n\x1etschchartaxis3dgridlineopacity\x18\x03 \x01(\x02\x12\x39\n\x1dtschchartaxis3dgridlinestroke\x18\x04 \x01(\x0b\x32\x12.TSD.StrokeArchive\x12$\n\x1ctschchartaxis3dlabelposition\x18\x05 \x01(\x05\x12\x39\n\x17tschchartaxisdateformat\x18\x06 \x01(\x0b\x32\x18.TSK.FormatStructArchive\x12=\n\x1btschchartaxisdurationformat\x18\x07 \x01(\x0b\x32\x18.TSK.FormatStructArchive\x12&\n\x1etschchartaxishorizontalspacing\x18\x08 \x01(\x05\x12\x30\n(tschchartaxislabelanglebaselinedirection\x18\t \x01(\x05\x12#\n\x1btschchartaxislabelexplosion\x18\n \x01(\x02\x12-\n%tschchartaxislabelparagraphstyleindex\x18\x0b \x01(\x05\x12&\n\x1etschchartaxislabelsorientation\x18\x0c \x01(\x02\x12)\n!tschchartaxismajorgridlineopacity\x18\r \x01(\x02\x12<\n tschchartaxismajorgridlineshadow\x18\x0e \x01(\x0b\x32\x12.TSD.ShadowArchive\x12<\n tschchartaxismajorgridlinestroke\x18\x0f \x01(\x0b\x32\x12.TSD.StrokeArchive\x12)\n!tschchartaxisminorgridlineopacity\x18\x10 \x01(\x02\x12<\n tschchartaxisminorgridlineshadow\x18\x11 \x01(\x0b\x32\x12.TSD.ShadowArchive\x12<\n tschchartaxisminorgridlinestroke\x18\x12 \x01(\x0b\x32\x12.TSD.StrokeArchive\x12;\n\x19tschchartaxisnumberformat\x18\x13 \x01(\x0b\x32\x18.TSK.FormatStructArchive\x12%\n\x1dtschchartaxisnumberformattype\x18\x14 \x01(\x05\x12$\n\x1ctschchartaxisnumberofdecades\x18\x15 \x01(\x05\x12+\n#tschchartaxisnumberofmajorgridlines\x18\x16 \x01(\x05\x12+\n#tschchartaxisnumberofminorgridlines\x18\x17 \x01(\x05\x12 \n\x18tschchartaxisplottoedges\x18\x18 \x01(\x08\x12\x1a\n\x12tschchartaxisscale\x18\x19 \x01(\x05\x12\x1d\n\x15tschchartaxisshowaxis\x18\x1a \x01(\x08\x12\'\n\x1ftschchartaxisshowextensionlines\x18\x1b \x01(\x08\x12*\n\"tschchartaxisshowgridlinetickmarks\x18\x1c \x01(\x08\x12\x1f\n\x17tschchartaxisshowlabels\x18\x1d \x01(\x08\x12\"\n\x1atschchartaxisshowlastlabel\x18\x1e \x01(\x08\x12\'\n\x1ftschchartaxisshowmajorgridlines\x18\x1f \x01(\x08\x12\'\n\x1ftschchartaxisshowmajortickmarks\x18 \x01(\x08\x12%\n\x1dtschchartaxisshowminimumlabel\x18! \x01(\x08\x12\'\n\x1ftschchartaxisshowminorgridlines\x18\" \x01(\x08\x12\'\n\x1ftschchartaxisshowminortickmarks\x18# \x01(\x08\x12%\n\x1dtschchartaxisshowserieslabels\x18$ \x01(\x08\x12\x1e\n\x16tschchartaxisshowtitle\x18% \x01(\x08\x12%\n\x1dtschchartaxistickmarklocation\x18& \x01(\x05\x12\x1a\n\x12tschchartaxistitle\x18\' \x01(\t\x12-\n%tschchartaxistitleparagraphstyleindex\x18( \x01(\x05\x12?\n\x14tschchartaxisusermax\x18) \x01(\x0b\x32!.TSCH.ChartsNSNumberDoubleArchive\x12?\n\x14tschchartaxisusermin\x18* \x01(\x0b\x32!.TSCH.ChartsNSNumberDoubleArchive\x12$\n\x1ctschchartaxisverticalspacing\x18+ \x01(\x05\"\xbd!\n$ChartSeriesGenericPropertyMapArchive\x12>\n\x1ctschchartseries1_0dateformat\x18\x01 \x01(\x0b\x32\x18.TSK.FormatStructArchive\x12@\n\x1etschchartseries1_0numberformat\x18\x02 \x01(\x0b\x32\x18.TSK.FormatStructArchive\x12(\n tschchartseries2_3labelexplosion\x18\x03 \x01(\x02\x12&\n\x1etschchartseriesadjustmentscale\x18\x04 \x01(\x02\x12\x41\n$tschchartseriescalloutlineendlineend\x18\x05 \x01(\x0b\x32\x13.TSD.LineEndArchive\x12\x43\n&tschchartseriescalloutlinestartlineend\x18\x06 \x01(\x0b\x32\x13.TSD.LineEndArchive\x12\x41\n%tschchartseriescalloutlinestrokestyle\x18\x07 \x01(\x0b\x32\x12.TSD.StrokeArchive\x12;\n\x19tschchartseriesdateformat\x18\x08 \x01(\x0b\x32\x18.TSK.FormatStructArchive\x12?\n\x1dtschchartseriesdurationformat\x18\t \x01(\x0b\x32\x18.TSK.FormatStructArchive\x12(\n tschchartseriesenablecalloutline\x18\n \x01(\x05\x12]\n)tschchartserieserrorbarcustomnegativedata\x18\x0b \x01(\x0b\x32*.TSCH.ChartsNSArrayOfNSNumberDoubleArchive\x12\x65\n1tschchartserieserrorbarcustomnegativedatascatterx\x18\x0c \x01(\x0b\x32*.TSCH.ChartsNSArrayOfNSNumberDoubleArchive\x12]\n)tschchartserieserrorbarcustompositivedata\x18\r \x01(\x0b\x32*.TSCH.ChartsNSArrayOfNSNumberDoubleArchive\x12\x65\n1tschchartserieserrorbarcustompositivedatascatterx\x18\x0e \x01(\x0b\x32*.TSCH.ChartsNSArrayOfNSNumberDoubleArchive\x12)\n!tschchartserieserrorbarfixedvalue\x18\x0f \x01(\x02\x12\x31\n)tschchartserieserrorbarfixedvaluescatterx\x18\x10 \x01(\x02\x12;\n\x1etschchartserieserrorbarlineend\x18\x11 \x01(\x0b\x32\x13.TSD.LineEndArchive\x12\x43\n&tschchartserieserrorbarlineendscatterx\x18\x12 \x01(\x0b\x32\x13.TSD.LineEndArchive\x12+\n#tschchartserieserrorbarpercentvalue\x18\x13 \x01(\x02\x12\x33\n+tschchartserieserrorbarpercentvaluescatterx\x18\x14 \x01(\x02\x12&\n\x1etschchartserieserrorbarsetting\x18\x15 \x01(\x05\x12.\n&tschchartserieserrorbarsettingscatterx\x18\x16 \x01(\x05\x12\x39\n\x1dtschchartserieserrorbarshadow\x18\x17 \x01(\x0b\x32\x12.TSD.ShadowArchive\x12&\n\x1etschchartserieserrorbarspacing\x18\x18 \x01(\x05\x12.\n&tschchartserieserrorbarspacingscatterx\x18\x19 \x01(\x05\x12*\n\"tschchartserieserrorbarstddevvalue\x18\x1a \x01(\x02\x12\x32\n*tschchartserieserrorbarstddevvaluescatterx\x18\x1b \x01(\x02\x12\x39\n\x1dtschchartserieserrorbarstroke\x18\x1c \x01(\x0b\x32\x12.TSD.StrokeArchive\x12\x41\n%tschchartserieserrorbarstrokescatterx\x18\x1d \x01(\x0b\x32\x12.TSD.StrokeArchive\x12#\n\x1btschchartserieserrorbartype\x18\x1e \x01(\x05\x12+\n#tschchartserieserrorbartypescatterx\x18\x1f \x01(\x05\x12-\n\x13tschchartseriesfill\x18 \x01(\x0b\x32\x10.TSD.FillArchive\x12\x39\n1tschchartseriesfilluseseriesstrokealphamultiplier\x18! \x01(\x02\x12*\n\"tschchartseriesfilluseseriesstroke\x18\" \x01(\x08\x12%\n\x1dtschchartserieslabelexplosion\x18# \x01(\x02\x12/\n\'tschchartserieslabelparagraphstyleindex\x18$ \x01(\x05\x12\x1f\n\x17tschchartserieslinetype\x18% \x01(\x05\x12=\n\x1btschchartseriesnumberformat\x18& \x01(\x0b\x32\x18.TSK.FormatStructArchive\x12\'\n\x1ftschchartseriesnumberformattype\x18\' \x01(\x05\x12\x1e\n\x16tschchartseriesopacity\x18( \x01(\x02\x12\x36\n.tschchartseriesoutsidelabelparagraphstyleindex\x18) \x01(\x05\x12\x44\n\"tschchartseriespercentnumberformat\x18* \x01(\x0b\x32\x18.TSK.FormatStructArchive\x12!\n\x19tschchartseriesseriestype\x18+ \x01(\x05\x12\x31\n\x15tschchartseriesshadow\x18, \x01(\x0b\x32\x12.TSD.ShadowArchive\x12#\n\x1btschchartseriesshowerrorbar\x18- \x01(\x08\x12+\n#tschchartseriesshowerrorbarscatterx\x18. \x01(\x08\x12(\n tschchartseriesshowlabelsinfront\x18/ \x01(\x08\x12\x1f\n\x17tschchartseriesshowline\x18\x30 \x01(\x08\x12\'\n\x1ftschchartseriesshownegativedata\x18\x31 \x01(\x08\x12\'\n\x1ftschchartseriesshowserieslabels\x18\x32 \x01(\x08\x12!\n\x19tschchartseriesshowsymbol\x18\x33 \x01(\x08\x12$\n\x1ctschchartseriesshowtrendline\x18\x34 \x01(\x08\x12&\n\x1etschchartseriesshowvaluelabels\x18\x35 \x01(\x08\x12$\n\x1ctschchartseriessizedimension\x18\x36 \x01(\x05\x12\"\n\x1atschchartseriesstacklabels\x18\x37 \x01(\x08\x12\x31\n\x15tschchartseriesstroke\x18\x38 \x01(\x0b\x32\x12.TSD.StrokeArchive\x12\x33\n\x19tschchartseriessymbolfill\x18\x39 \x01(\x0b\x32\x10.TSD.FillArchive\x12.\n&tschchartseriessymbolfilluseseriesfill\x18: \x01(\x08\x12\x30\n(tschchartseriessymbolfilluseseriesstroke\x18; \x01(\x08\x12!\n\x19tschchartseriessymbolsize\x18< \x01(\x02\x12\x37\n\x1btschchartseriessymbolstroke\x18= \x01(\x0b\x32\x12.TSD.StrokeArchive\x12!\n\x19tschchartseriessymboltype\x18> \x01(\x05\x12/\n\'tschchartseriestrendlineequationoffsetx\x18? \x01(\x02\x12/\n\'tschchartseriestrendlineequationoffsety\x18@ \x01(\x02\x12+\n#tschchartseriestrendlinelabelstring\x18\x41 \x01(\t\x12%\n\x1dtschchartseriestrendlineorder\x18\x42 \x01(\x05\x12&\n\x1etschchartseriestrendlineperiod\x18\x43 \x01(\x05\x12/\n\'tschchartseriestrendlinersquaredoffsetx\x18\x44 \x01(\x02\x12/\n\'tschchartseriestrendlinersquaredoffsety\x18\x45 \x01(\x02\x12:\n\x1etschchartseriestrendlineshadow\x18\x46 \x01(\x0b\x32\x12.TSD.ShadowArchive\x12,\n$tschchartseriestrendlineshowequation\x18G \x01(\x08\x12)\n!tschchartseriestrendlineshowlabel\x18H \x01(\x08\x12+\n#tschchartseriestrendlineshowr2value\x18I \x01(\x08\x12:\n\x1etschchartseriestrendlinestroke\x18J \x01(\x0b\x32\x12.TSD.StrokeArchive\x12$\n\x1ctschchartseriestrendlinetype\x18K \x01(\x05\x12/\n\'tschchartseriestrendlineequationopacity\x18L \x01(\x02\x12;\n3tschchartseriestrendlineequationparagraphstyleindex\x18M \x01(\x05\x12/\n\'tschchartseriestrendlinersquaredopacity\x18N \x01(\x02\x12;\n3tschchartseriestrendlinersquaredparagraphstyleindex\x18O \x01(\x05\x12)\n!tschchartseriesvaluelabelposition\x18P \x01(\x05\x12(\n tschchartseriesvaluelabelspacing\x18Q \x01(\x05\x12&\n\x1etschchartseriesvaluelabelsaxis\x18R \x01(\x05\x12%\n\x1dtschchartserieswedgeexplosion\x18S \x01(\x02\x12#\n\x1btschchartseriesyaxisordinal\x18T \x01(\x05\"\xf5\x03\n&ReferenceLineGenericPropertyMapArchive\x12G\n\x1ctschreferencelinecustomvalue\x18\x01 \x01(\x0b\x32!.TSCH.ChartsNSNumberDoubleArchive\x12\x1e\n\x16tschreferencelinelabel\x18\x02 \x01(\t\x12\x31\n)tschreferencelinelabelparagraphstyleindex\x18\x03 \x01(\x05\x12\x33\n\x17tschreferencelineshadow\x18\x04 \x01(\x0b\x32\x12.TSD.ShadowArchive\x12\"\n\x1atschreferencelineshowlabel\x18\x05 \x01(\x08\x12!\n\x19tschreferencelineshowline\x18\x06 \x01(\x08\x12\'\n\x1ftschreferencelineshowvaluelabel\x18\x07 \x01(\x08\x12\x33\n\x17tschreferencelinestroke\x18\x08 \x01(\x0b\x32\x12.TSD.StrokeArchive\x12\x1d\n\x15tschreferencelinetype\x18\t \x01(\x05\x12\x36\n.tschreferencelinevaluelabelparagraphstyleindex\x18\n \x01(\x05')
|
|
23
|
+
|
|
24
|
+
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
|
|
25
|
+
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'TSCHArchives_GEN_pb2', globals())
|
|
26
|
+
if _descriptor._USE_C_DESCRIPTORS == False:
|
|
27
|
+
TSCHArchives__Common__pb2.ChartStyleArchive.RegisterExtension(_CHARTSTYLEARCHIVE.extensions_by_name['current'])
|
|
28
|
+
TSCHArchives__Common__pb2.ChartNonStyleArchive.RegisterExtension(_CHARTNONSTYLEARCHIVE.extensions_by_name['current'])
|
|
29
|
+
TSCHArchives__Common__pb2.LegendStyleArchive.RegisterExtension(_LEGENDSTYLEARCHIVE.extensions_by_name['current'])
|
|
30
|
+
TSCHArchives__Common__pb2.LegendNonStyleArchive.RegisterExtension(_LEGENDNONSTYLEARCHIVE.extensions_by_name['current'])
|
|
31
|
+
TSCHArchives__Common__pb2.ChartAxisStyleArchive.RegisterExtension(_CHARTAXISSTYLEARCHIVE.extensions_by_name['current'])
|
|
32
|
+
TSCHArchives__Common__pb2.ChartAxisNonStyleArchive.RegisterExtension(_CHARTAXISNONSTYLEARCHIVE.extensions_by_name['current'])
|
|
33
|
+
TSCHArchives__Common__pb2.ChartSeriesStyleArchive.RegisterExtension(_CHARTSERIESSTYLEARCHIVE.extensions_by_name['current'])
|
|
34
|
+
TSCHArchives__Common__pb2.ChartSeriesNonStyleArchive.RegisterExtension(_CHARTSERIESNONSTYLEARCHIVE.extensions_by_name['current'])
|
|
35
|
+
TSCHArchives__Common__pb2.ReferenceLineStyleArchive.RegisterExtension(_REFERENCELINESTYLEARCHIVE.extensions_by_name['current'])
|
|
36
|
+
TSCHArchives__Common__pb2.ReferenceLineNonStyleArchive.RegisterExtension(_REFERENCELINENONSTYLEARCHIVE.extensions_by_name['current'])
|
|
37
|
+
|
|
38
|
+
DESCRIPTOR._options = None
|
|
39
|
+
_CHARTSTYLEARCHIVE._serialized_start=168
|
|
40
|
+
_CHARTSTYLEARCHIVE._serialized_end=1750
|
|
41
|
+
_CHARTNONSTYLEARCHIVE._serialized_start=1753
|
|
42
|
+
_CHARTNONSTYLEARCHIVE._serialized_end=3460
|
|
43
|
+
_LEGENDSTYLEARCHIVE._serialized_start=3463
|
|
44
|
+
_LEGENDSTYLEARCHIVE._serialized_end=3828
|
|
45
|
+
_LEGENDNONSTYLEARCHIVE._serialized_start=3830
|
|
46
|
+
_LEGENDNONSTYLEARCHIVE._serialized_end=3939
|
|
47
|
+
_CHARTAXISSTYLEARCHIVE._serialized_start=3942
|
|
48
|
+
_CHARTAXISSTYLEARCHIVE._serialized_end=6471
|
|
49
|
+
_CHARTAXISNONSTYLEARCHIVE._serialized_start=6474
|
|
50
|
+
_CHARTAXISNONSTYLEARCHIVE._serialized_end=7793
|
|
51
|
+
_CHARTSERIESSTYLEARCHIVE._serialized_start=7796
|
|
52
|
+
_CHARTSERIESSTYLEARCHIVE._serialized_end=14631
|
|
53
|
+
_CHARTSERIESNONSTYLEARCHIVE._serialized_start=14634
|
|
54
|
+
_CHARTSERIESNONSTYLEARCHIVE._serialized_end=19733
|
|
55
|
+
_REFERENCELINESTYLEARCHIVE._serialized_start=19736
|
|
56
|
+
_REFERENCELINESTYLEARCHIVE._serialized_end=20098
|
|
57
|
+
_REFERENCELINENONSTYLEARCHIVE._serialized_start=20101
|
|
58
|
+
_REFERENCELINENONSTYLEARCHIVE._serialized_end=20521
|
|
59
|
+
_CHARTGENERICPROPERTYMAPARCHIVE._serialized_start=20524
|
|
60
|
+
_CHARTGENERICPROPERTYMAPARCHIVE._serialized_end=22302
|
|
61
|
+
_LEGENDGENERICPROPERTYMAPARCHIVE._serialized_start=22305
|
|
62
|
+
_LEGENDGENERICPROPERTYMAPARCHIVE._serialized_end=22568
|
|
63
|
+
_CHARTAXISGENERICPROPERTYMAPARCHIVE._serialized_start=22571
|
|
64
|
+
_CHARTAXISGENERICPROPERTYMAPARCHIVE._serialized_end=24571
|
|
65
|
+
_CHARTSERIESGENERICPROPERTYMAPARCHIVE._serialized_start=24574
|
|
66
|
+
_CHARTSERIESGENERICPROPERTYMAPARCHIVE._serialized_end=28859
|
|
67
|
+
_REFERENCELINEGENERICPROPERTYMAPARCHIVE._serialized_start=28862
|
|
68
|
+
_REFERENCELINEGENERICPROPERTYMAPARCHIVE._serialized_end=29363
|
|
69
|
+
# @@protoc_insertion_point(module_scope)
|