company-skill 3.5.4 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +95 -87
  2. package/package.json +1 -1
  3. package/banner.svg +0 -299
package/README.md CHANGED
@@ -1,93 +1,135 @@
1
- <p align="center">
2
- <img src="https://raw.githubusercontent.com/jagmarques/company-skill/main/banner.svg" alt="COMPANY" width="700">
3
- </p>
1
+ # /company
4
2
 
5
- Give it a goal. The whole company works until it's done.
3
+ [![npm](https://img.shields.io/npm/v/company-skill)](https://www.npmjs.com/package/company-skill) [![license](https://img.shields.io/npm/l/company-skill)](LICENSE) [![downloads](https://img.shields.io/npm/dw/company-skill)](https://www.npmjs.com/package/company-skill)
4
+
5
+ **Define your team in markdown. Give it a goal. Walk away.**
6
+
7
+ A Claude Code skill that runs your entire company — CEO delegates, departments execute in parallel, built-in reviewers verify — and doesn't stop until the goal is done.
6
8
 
7
9
  ```
8
10
  /company "Build the user auth system with OAuth2"
9
11
  ```
10
12
 
11
- A Claude Code skill that reads your team structure from `COMPANY.md`, runs every employee in loops, and doesn't stop until built-in reviewers verify the goal is met.
13
+ ## Why /company
14
+
15
+ | | Without /company | With /company |
16
+ |---|---|---|
17
+ | Task routing | You manually prompt each agent | CEO reads the goal, picks relevant employees, delegates |
18
+ | Quality gates | Hope it's correct | Reviewer + Devil's Advocate + Elegance Enforcer triple-check |
19
+ | Knowledge retention | Lost every session | Playbook accumulates what worked, what failed, what's faster |
20
+ | Parallelism | One agent at a time | All departments run in parallel |
21
+ | Stopping condition | You decide when it's done | criteria.json blocks exit until ALL criteria pass |
12
22
 
13
- ## Install
23
+ ## Quick Start
14
24
 
25
+ **1. Install**
15
26
  ```bash
16
27
  npx company-skill install
17
28
  ```
18
29
 
19
- Or from git:
20
- ```bash
21
- curl -sL https://raw.githubusercontent.com/jagmarques/company-skill/main/install.sh | bash
30
+ **2. Define your team** (optional — a minimal company is created automatically)
31
+ ```markdown
32
+ ## Engineering
33
+ - Backend Lead, API design and database architecture
34
+ - Frontend Dev, React components and state management
35
+
36
+ ## Research
37
+ - ML Scientist, model experiments and benchmarks
22
38
  ```
23
39
 
24
- Edit `COMPANY.md` with your team. Or skip it, the skill creates a minimal company automatically.
40
+ **3. Run**
41
+ ```
42
+ /company "Build a REST API for user management with tests"
43
+ ```
25
44
 
26
45
  ## How It Works
27
46
 
47
+ ```mermaid
48
+ graph LR
49
+ G[GOAL] --> T[THINK]
50
+ T -->|Opus: CEO + leads assign tasks| E[EXECUTE]
51
+ E -->|Sonnet: workers do the work| V[VERIFY]
52
+ V -->|Opus: Reviewer + Advocate| D{Done?}
53
+ D -->|NO: feedback| T
54
+ D -->|YES| S[STATUS.md]
28
55
  ```
29
- GOAL: "Build the auth system"
30
56
 
31
- THINK CEO picks relevant employees, leads assign tasks
32
- EXECUTE Employees do the work, use installed skills
33
- VERIFY Reviewer checks criteria.json, Advocate attacks results
57
+ The loop does NOT stop until the Reviewer confirms all criteria pass AND the Devil's Advocate accepts. There is no iteration limit.
34
58
 
35
- Not done? Loop back with feedback.
36
- Done? Update playbook, write STATUS.md.
37
- ```
59
+ <details>
60
+ <summary><strong>THINK</strong> CEO picks relevant employees, leads assign tasks</summary>
61
+
62
+ The CEO reads the goal and COMPANY.md, decides which departments and employees are relevant (a mobile app goal doesn't need a Topologist), writes an active roster, then launches all department leads in parallel. Each lead assigns tasks to their employees with one sentence, one skill, and context.
63
+
64
+ If a lead sees a skill gap, they write `HIRE: {role}, {why}` and the CEO adds it to the team.
65
+ </details>
38
66
 
39
- The loop runs until ALL criteria in `criteria.json` pass. A Stop Hook blocks Claude from exiting early. To cancel: `touch .company/CANCEL`.
67
+ <details>
68
+ <summary><strong>EXECUTE</strong> — All workers run in parallel with installed skills</summary>
69
+
70
+ Every employee gets their task, previous findings, and failed approaches from the playbook. Every finding must have a source — file path, URL, or command output. Novel ideas use "NOVEL — needs validation" and the reviewer adds a validation criterion. No source = rejected.
71
+ </details>
72
+
73
+ <details>
74
+ <summary><strong>VERIFY</strong> — Triple quality gate blocks premature completion</summary>
75
+
76
+ **Internal Reviewer** checks each criterion in criteria.json against evidence. No evidence? Stays `false`.
77
+
78
+ **Devil's Advocate** attacks anything marked as passing. "Is this actually complete or surface-level? What edge cases were missed?"
79
+
80
+ **Elegance Enforcer** asks "Can this be simpler? Does every component justify its existence?"
81
+
82
+ All three must accept before the loop exits.
83
+ </details>
40
84
 
41
85
  ## Goal Enforcement
42
86
 
43
- The skill creates `criteria.json` with checkable success criteria:
87
+ The skill creates `criteria.json` with machine-checkable success criteria:
44
88
 
45
89
  ```json
46
- {"goal":"Build auth","criteria":[
47
- {"id":1,"description":"OAuth2 login works with Google","passes":false,"evidence":null},
48
- {"id":2,"description":"All tests pass","passes":false,"evidence":null}
90
+ {"goal": "Build auth", "criteria": [
91
+ {"id": 1, "description": "OAuth2 login works with Google", "passes": false, "evidence": null},
92
+ {"id": 2, "description": "All tests pass", "passes": false, "evidence": null}
49
93
  ]}
50
94
  ```
51
95
 
52
- The reviewer updates `passes` to `true` with evidence as work completes. The stop hook reads this file and blocks exit until everything passes.
96
+ A Stop Hook reads this file and **blocks Claude from exiting** until every criterion passes. To cancel: `touch .company/CANCEL`.
53
97
 
54
- ## Self-Improvement
98
+ ## Self-Improving Playbook
55
99
 
56
100
  One file: `.company/playbook.md`. Accumulates across sessions.
57
101
 
58
- After each session, the CEO writes:
59
- - WORKED: what succeeded (with evidence)
60
- - FAILED: what failed, USE INSTEAD: what works, WHY: the difference
61
- - INEFFICIENT: what was slow, FASTER: better approach
62
- - TOP: best employees for priority activation next time
63
- - HIRE/FIRE: roles added or deactivated
102
+ After each session, the CEO writes what worked, what failed (and what to use instead), what was slow (and what's faster), which employees performed best, and which roles to hire or deactivate. Leads read the playbook before every THINK phase.
64
103
 
65
- Leads read the playbook before every THINK phase. Employees check failed approaches before proposing new ones. The company that starts session 5 is smarter than session 1.
104
+ **The company that starts session 5 is smarter than session 1.**
66
105
 
67
- The CEO also updates COMPANY.md: tags `[inactive]` on zero-contribution roles, `[priority]` on top performers, adds hired roles, evolves employee descriptions based on what they're good at.
106
+ The CEO also evolves COMPANY.md: tags `[inactive]` on zero-contribution roles, `[priority]` on top performers, and updates employee descriptions based on what they're actually good at.
68
107
 
69
108
  ## Built-In Roles
70
109
 
71
- Every company gets these automatically:
110
+ Every company gets these automatically (deduplicated if you define them in COMPANY.md):
72
111
 
73
- | Role | Phase | What they do |
74
- |------|-------|-------------|
75
- | CEO | THINK | Picks relevant employees for the goal, resolves conflicts |
76
- | CTO | THINK | Technical decisions, architecture |
112
+ | Role | Phase | Purpose |
113
+ |------|-------|---------|
114
+ | CEO | THINK | Reads goal, picks relevant employees, resolves conflicts |
115
+ | CTO | THINK | Technical decisions, architecture review |
77
116
  | Internal Reviewer | VERIFY | Checks criteria.json, rejects findings without sources |
78
- | User Advocate | VERIFY | Represents the end user |
79
- | Devil's Advocate | VERIFY | Attacks results, finds holes |
80
- | Elegance Enforcer | VERIFY | Prevents over-engineering |
117
+ | User Advocate | VERIFY | "Would a real user understand this?" |
118
+ | Devil's Advocate | VERIFY | Attacks results, finds holes, prevents false completion |
119
+ | Elegance Enforcer | VERIFY | Prevents over-engineering, kills unnecessary complexity |
81
120
 
82
- Deduplicated if you define them in COMPANY.md.
121
+ A 2-person COMPANY.md (Backend Dev + Frontend Dev) automatically gets CEO + CTO + both devs + all 4 reviewers = **8 employees running**.
83
122
 
84
- ## Source Citations
123
+ ## Model Assignment
85
124
 
86
- Every finding needs a source:
87
- - Existing claims: file path, URL, or command output
88
- - Novel ideas: "NOVEL - needs validation" (reviewer adds a validation criterion)
125
+ | Phase | Model | Who |
126
+ |-------|-------|-----|
127
+ | THINK | Opus | CEO, CTO, department leads |
128
+ | EXECUTE | Sonnet | Workers |
129
+ | VERIFY | Opus | All reviewers |
130
+ | COMPRESS | Haiku | Digest writer |
89
131
 
90
- No source = rejected by reviewer.
132
+ Override per employee: `- ML Scientist, experiments [opus]`
91
133
 
92
134
  ## Commands
93
135
 
@@ -99,66 +141,32 @@ No source = rejected by reviewer.
99
141
  /company:resume Continue from last session
100
142
  ```
101
143
 
102
- ## Visual Indicators
103
-
104
- ```
105
- ════════════════════════════════════════════════
106
- CYCLE 1 - THINK > EXECUTE > VERIFY
107
- ════════════════════════════════════════════════
108
-
109
- CYCLE 1 VERDICT: NOT DONE
110
- Missing validation of compression ratios
111
- ```
112
-
113
- Employees show with colors: leads (cyan), workers (green), reviewers (yellow), digest (gray).
114
-
115
- ## Agents
116
-
117
- | Agent | Phase | Color |
118
- |-------|-------|-------|
119
- | company-lead | THINK | Cyan |
120
- | company-worker | EXECUTE | Green |
121
- | company-reviewer | VERIFY | Yellow |
122
- | company-critic | VERIFY | Yellow |
123
- | company-digest | COMPRESS | Gray |
124
-
125
- ## Model Assignment
126
-
127
- | Phase | Model | Who |
128
- |-------|-------|-----|
129
- | THINK | Opus | CEO, CTO, leads |
130
- | EXECUTE | Sonnet | Workers |
131
- | VERIFY | Opus | Reviewers |
132
- | COMPRESS | Haiku | Digest writer |
133
-
134
- Override per employee: `- ML Scientist, experiments [opus]`
135
-
136
144
  ## Installed Skills
137
145
 
138
- Auto-installed on first run:
146
+ Auto-installed on first run. When installed, employees MUST use them.
139
147
 
140
148
  | Pack | What employees get |
141
149
  |------|-------------------|
142
- | gstack | /review, /ship, /qa, /investigate, /browse, /office-hours |
143
- | GSD | /gsd:plan-phase, /gsd:execute-phase, /gsd:verify-work, /gsd:debug |
150
+ | gstack | /review, /ship, /qa, /investigate, /browse |
151
+ | GSD | /gsd-plan-phase, /gsd-execute-phase, /gsd-verify-work, /gsd-debug |
144
152
  | trailofbits | Security audit, vulnerability detection |
145
153
 
146
- Install manually for more:
154
+ <details>
155
+ <summary>Install more skill packs</summary>
147
156
 
148
157
  ```
149
158
  /plugin marketplace add obra/superpowers-marketplace
150
159
  /plugin marketplace add wshobson/agents
151
160
  /plugin marketplace add alirezarezvani/claude-skills
152
161
  ```
153
-
154
- When installed, employees MUST use them.
162
+ </details>
155
163
 
156
164
  ## What Gets Created
157
165
 
158
166
  ```
159
167
  .company/
160
168
  criteria.json Machine-checkable goal state
161
- playbook.md Accumulated lessons (self-improvement)
169
+ playbook.md Accumulated lessons (THE self-improvement file)
162
170
  active-roster.md Employees activated for this goal
163
171
  active-tasks.md Deduplicated task list
164
172
  STATUS.md Final report
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "company-skill",
3
- "version": "3.5.4",
3
+ "version": "4.1.0",
4
4
  "description": "Goal-driven multi-employee company for Claude Code. Give it a goal, it runs until done.",
5
5
  "bin": {
6
6
  "company-skill": "./bin/install.js"
package/banner.svg DELETED
@@ -1,299 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 750 124" fill="none">
2
- <rect width="750" height="124" rx="8" fill="#0d1117"/>
3
- <rect x="30" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
4
- <rect x="40" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
5
- <rect x="50" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
6
- <rect x="60" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
7
- <rect x="70" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
8
- <rect x="80" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
9
- <rect x="90" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
10
- <rect x="100" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
11
- <rect x="110" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
12
- <rect x="120" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
13
- <rect x="130" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
14
- <rect x="140" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
15
- <rect x="150" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
16
- <rect x="160" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
17
- <rect x="170" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
18
- <rect x="180" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
19
- <rect x="190" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
20
- <rect x="200" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
21
- <rect x="210" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
22
- <rect x="220" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
23
- <rect x="230" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
24
- <rect x="240" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
25
- <rect x="250" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
26
- <rect x="260" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
27
- <rect x="270" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
28
- <rect x="280" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
29
- <rect x="290" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
30
- <rect x="300" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
31
- <rect x="310" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
32
- <rect x="320" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
33
- <rect x="330" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
34
- <rect x="340" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
35
- <rect x="350" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
36
- <rect x="360" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
37
- <rect x="370" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
38
- <rect x="380" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
39
- <rect x="390" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
40
- <rect x="400" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
41
- <rect x="410" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
42
- <rect x="420" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
43
- <rect x="430" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
44
- <rect x="440" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
45
- <rect x="450" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
46
- <rect x="460" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
47
- <rect x="470" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
48
- <rect x="480" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
49
- <rect x="490" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
50
- <rect x="500" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
51
- <rect x="510" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
52
- <rect x="520" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
53
- <rect x="530" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
54
- <rect x="540" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
55
- <rect x="550" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
56
- <rect x="560" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
57
- <rect x="570" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
58
- <rect x="580" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
59
- <rect x="590" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
60
- <rect x="600" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
61
- <rect x="610" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
62
- <rect x="620" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
63
- <rect x="630" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
64
- <rect x="640" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
65
- <rect x="650" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
66
- <rect x="660" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
67
- <rect x="670" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
68
- <rect x="680" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
69
- <rect x="690" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
70
- <rect x="700" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
71
- <rect x="710" y="23" width="8" height="2" rx="0.5" fill="#e6edf3"/>
72
- <rect x="40" y="32" width="8" height="8" rx="1.5" fill="#e6edf3"/>
73
- <rect x="50" y="32" width="8" height="8" rx="1.5" fill="#e6edf3"/>
74
- <rect x="60" y="32" width="8" height="8" rx="1.5" fill="#e6edf3"/>
75
- <rect x="70" y="32" width="8" height="8" rx="1.5" fill="#e6edf3"/>
76
- <rect x="80" y="32" width="8" height="8" rx="1.5" fill="#e6edf3"/>
77
- <rect x="90" y="32" width="8" height="8" rx="1.5" fill="#e6edf3"/>
78
- <rect x="140" y="32" width="8" height="8" rx="1.5" fill="#e6edf3"/>
79
- <rect x="150" y="32" width="8" height="8" rx="1.5" fill="#e6edf3"/>
80
- <rect x="160" y="32" width="8" height="8" rx="1.5" fill="#e6edf3"/>
81
- <rect x="170" y="32" width="8" height="8" rx="1.5" fill="#e6edf3"/>
82
- <rect x="180" y="32" width="8" height="8" rx="1.5" fill="#e6edf3"/>
83
- <rect x="190" y="32" width="8" height="8" rx="1.5" fill="#e6edf3"/>
84
- <rect x="230" y="32" width="8" height="8" rx="1.5" fill="#e6edf3"/>
85
- <rect x="240" y="32" width="8" height="8" rx="1.5" fill="#e6edf3"/>
86
- <rect x="250" y="32" width="8" height="8" rx="1.5" fill="#e6edf3"/>
87
- <rect x="300" y="32" width="8" height="8" rx="1.5" fill="#e6edf3"/>
88
- <rect x="310" y="32" width="8" height="8" rx="1.5" fill="#e6edf3"/>
89
- <rect x="320" y="32" width="8" height="8" rx="1.5" fill="#e6edf3"/>
90
- <rect x="350" y="32" width="8" height="8" rx="1.5" fill="#e6edf3"/>
91
- <rect x="360" y="32" width="8" height="8" rx="1.5" fill="#e6edf3"/>
92
- <rect x="370" y="32" width="8" height="8" rx="1.5" fill="#e6edf3"/>
93
- <rect x="380" y="32" width="8" height="8" rx="1.5" fill="#e6edf3"/>
94
- <rect x="390" y="32" width="8" height="8" rx="1.5" fill="#e6edf3"/>
95
- <rect x="400" y="32" width="8" height="8" rx="1.5" fill="#e6edf3"/>
96
- <rect x="450" y="32" width="8" height="8" rx="1.5" fill="#e6edf3"/>
97
- <rect x="460" y="32" width="8" height="8" rx="1.5" fill="#e6edf3"/>
98
- <rect x="470" y="32" width="8" height="8" rx="1.5" fill="#e6edf3"/>
99
- <rect x="480" y="32" width="8" height="8" rx="1.5" fill="#e6edf3"/>
100
- <rect x="490" y="32" width="8" height="8" rx="1.5" fill="#e6edf3"/>
101
- <rect x="530" y="32" width="8" height="8" rx="1.5" fill="#e6edf3"/>
102
- <rect x="540" y="32" width="8" height="8" rx="1.5" fill="#e6edf3"/>
103
- <rect x="590" y="32" width="8" height="8" rx="1.5" fill="#e6edf3"/>
104
- <rect x="600" y="32" width="8" height="8" rx="1.5" fill="#e6edf3"/>
105
- <rect x="630" y="32" width="8" height="8" rx="1.5" fill="#e6edf3"/>
106
- <rect x="640" y="32" width="8" height="8" rx="1.5" fill="#e6edf3"/>
107
- <rect x="690" y="32" width="8" height="8" rx="1.5" fill="#e6edf3"/>
108
- <rect x="700" y="32" width="8" height="8" rx="1.5" fill="#e6edf3"/>
109
- <rect x="30" y="44" width="8" height="8" rx="1.5" fill="#e6edf3"/>
110
- <rect x="40" y="44" width="8" height="8" rx="1.5" fill="#e6edf3"/>
111
- <rect x="130" y="44" width="8" height="8" rx="1.5" fill="#e6edf3"/>
112
- <rect x="140" y="44" width="8" height="8" rx="1.5" fill="#e6edf3"/>
113
- <rect x="190" y="44" width="8" height="8" rx="1.5" fill="#e6edf3"/>
114
- <rect x="200" y="44" width="8" height="8" rx="1.5" fill="#e6edf3"/>
115
- <rect x="230" y="44" width="8" height="8" rx="1.5" fill="#e6edf3"/>
116
- <rect x="240" y="44" width="8" height="8" rx="1.5" fill="#e6edf3"/>
117
- <rect x="250" y="44" width="8" height="8" rx="1.5" fill="#e6edf3"/>
118
- <rect x="260" y="44" width="8" height="8" rx="1.5" fill="#e6edf3"/>
119
- <rect x="290" y="44" width="8" height="8" rx="1.5" fill="#e6edf3"/>
120
- <rect x="300" y="44" width="8" height="8" rx="1.5" fill="#e6edf3"/>
121
- <rect x="310" y="44" width="8" height="8" rx="1.5" fill="#e6edf3"/>
122
- <rect x="320" y="44" width="8" height="8" rx="1.5" fill="#e6edf3"/>
123
- <rect x="350" y="44" width="8" height="8" rx="1.5" fill="#e6edf3"/>
124
- <rect x="360" y="44" width="8" height="8" rx="1.5" fill="#e6edf3"/>
125
- <rect x="400" y="44" width="8" height="8" rx="1.5" fill="#e6edf3"/>
126
- <rect x="410" y="44" width="8" height="8" rx="1.5" fill="#e6edf3"/>
127
- <rect x="440" y="44" width="8" height="8" rx="1.5" fill="#e6edf3"/>
128
- <rect x="450" y="44" width="8" height="8" rx="1.5" fill="#e6edf3"/>
129
- <rect x="490" y="44" width="8" height="8" rx="1.5" fill="#e6edf3"/>
130
- <rect x="500" y="44" width="8" height="8" rx="1.5" fill="#e6edf3"/>
131
- <rect x="530" y="44" width="8" height="8" rx="1.5" fill="#e6edf3"/>
132
- <rect x="540" y="44" width="8" height="8" rx="1.5" fill="#e6edf3"/>
133
- <rect x="550" y="44" width="8" height="8" rx="1.5" fill="#e6edf3"/>
134
- <rect x="590" y="44" width="8" height="8" rx="1.5" fill="#e6edf3"/>
135
- <rect x="600" y="44" width="8" height="8" rx="1.5" fill="#e6edf3"/>
136
- <rect x="640" y="44" width="8" height="8" rx="1.5" fill="#e6edf3"/>
137
- <rect x="650" y="44" width="8" height="8" rx="1.5" fill="#e6edf3"/>
138
- <rect x="680" y="44" width="8" height="8" rx="1.5" fill="#e6edf3"/>
139
- <rect x="690" y="44" width="8" height="8" rx="1.5" fill="#e6edf3"/>
140
- <rect x="30" y="56" width="8" height="8" rx="1.5" fill="#e6edf3"/>
141
- <rect x="40" y="56" width="8" height="8" rx="1.5" fill="#e6edf3"/>
142
- <rect x="130" y="56" width="8" height="8" rx="1.5" fill="#e6edf3"/>
143
- <rect x="140" y="56" width="8" height="8" rx="1.5" fill="#e6edf3"/>
144
- <rect x="190" y="56" width="8" height="8" rx="1.5" fill="#e6edf3"/>
145
- <rect x="200" y="56" width="8" height="8" rx="1.5" fill="#e6edf3"/>
146
- <rect x="230" y="56" width="8" height="8" rx="1.5" fill="#e6edf3"/>
147
- <rect x="240" y="56" width="8" height="8" rx="1.5" fill="#e6edf3"/>
148
- <rect x="260" y="56" width="8" height="8" rx="1.5" fill="#e6edf3"/>
149
- <rect x="270" y="56" width="8" height="8" rx="1.5" fill="#e6edf3"/>
150
- <rect x="280" y="56" width="8" height="8" rx="1.5" fill="#e6edf3"/>
151
- <rect x="290" y="56" width="8" height="8" rx="1.5" fill="#e6edf3"/>
152
- <rect x="310" y="56" width="8" height="8" rx="1.5" fill="#e6edf3"/>
153
- <rect x="320" y="56" width="8" height="8" rx="1.5" fill="#e6edf3"/>
154
- <rect x="350" y="56" width="8" height="8" rx="1.5" fill="#e6edf3"/>
155
- <rect x="360" y="56" width="8" height="8" rx="1.5" fill="#e6edf3"/>
156
- <rect x="370" y="56" width="8" height="8" rx="1.5" fill="#e6edf3"/>
157
- <rect x="380" y="56" width="8" height="8" rx="1.5" fill="#e6edf3"/>
158
- <rect x="390" y="56" width="8" height="8" rx="1.5" fill="#e6edf3"/>
159
- <rect x="400" y="56" width="8" height="8" rx="1.5" fill="#e6edf3"/>
160
- <rect x="440" y="56" width="8" height="8" rx="1.5" fill="#e6edf3"/>
161
- <rect x="450" y="56" width="8" height="8" rx="1.5" fill="#e6edf3"/>
162
- <rect x="460" y="56" width="8" height="8" rx="1.5" fill="#e6edf3"/>
163
- <rect x="470" y="56" width="8" height="8" rx="1.5" fill="#e6edf3"/>
164
- <rect x="480" y="56" width="8" height="8" rx="1.5" fill="#e6edf3"/>
165
- <rect x="490" y="56" width="8" height="8" rx="1.5" fill="#e6edf3"/>
166
- <rect x="500" y="56" width="8" height="8" rx="1.5" fill="#e6edf3"/>
167
- <rect x="530" y="56" width="8" height="8" rx="1.5" fill="#e6edf3"/>
168
- <rect x="540" y="56" width="8" height="8" rx="1.5" fill="#e6edf3"/>
169
- <rect x="560" y="56" width="8" height="8" rx="1.5" fill="#e6edf3"/>
170
- <rect x="570" y="56" width="8" height="8" rx="1.5" fill="#e6edf3"/>
171
- <rect x="590" y="56" width="8" height="8" rx="1.5" fill="#e6edf3"/>
172
- <rect x="600" y="56" width="8" height="8" rx="1.5" fill="#e6edf3"/>
173
- <rect x="650" y="56" width="8" height="8" rx="1.5" fill="#e6edf3"/>
174
- <rect x="660" y="56" width="8" height="8" rx="1.5" fill="#e6edf3"/>
175
- <rect x="670" y="56" width="8" height="8" rx="1.5" fill="#e6edf3"/>
176
- <rect x="680" y="56" width="8" height="8" rx="1.5" fill="#e6edf3"/>
177
- <rect x="30" y="68" width="8" height="8" rx="1.5" fill="#e6edf3"/>
178
- <rect x="40" y="68" width="8" height="8" rx="1.5" fill="#e6edf3"/>
179
- <rect x="130" y="68" width="8" height="8" rx="1.5" fill="#e6edf3"/>
180
- <rect x="140" y="68" width="8" height="8" rx="1.5" fill="#e6edf3"/>
181
- <rect x="190" y="68" width="8" height="8" rx="1.5" fill="#e6edf3"/>
182
- <rect x="200" y="68" width="8" height="8" rx="1.5" fill="#e6edf3"/>
183
- <rect x="230" y="68" width="8" height="8" rx="1.5" fill="#e6edf3"/>
184
- <rect x="240" y="68" width="8" height="8" rx="1.5" fill="#e6edf3"/>
185
- <rect x="270" y="68" width="8" height="8" rx="1.5" fill="#e6edf3"/>
186
- <rect x="280" y="68" width="8" height="8" rx="1.5" fill="#e6edf3"/>
187
- <rect x="310" y="68" width="8" height="8" rx="1.5" fill="#e6edf3"/>
188
- <rect x="320" y="68" width="8" height="8" rx="1.5" fill="#e6edf3"/>
189
- <rect x="350" y="68" width="8" height="8" rx="1.5" fill="#e6edf3"/>
190
- <rect x="360" y="68" width="8" height="8" rx="1.5" fill="#e6edf3"/>
191
- <rect x="440" y="68" width="8" height="8" rx="1.5" fill="#e6edf3"/>
192
- <rect x="450" y="68" width="8" height="8" rx="1.5" fill="#e6edf3"/>
193
- <rect x="490" y="68" width="8" height="8" rx="1.5" fill="#e6edf3"/>
194
- <rect x="500" y="68" width="8" height="8" rx="1.5" fill="#e6edf3"/>
195
- <rect x="530" y="68" width="8" height="8" rx="1.5" fill="#e6edf3"/>
196
- <rect x="540" y="68" width="8" height="8" rx="1.5" fill="#e6edf3"/>
197
- <rect x="580" y="68" width="8" height="8" rx="1.5" fill="#e6edf3"/>
198
- <rect x="590" y="68" width="8" height="8" rx="1.5" fill="#e6edf3"/>
199
- <rect x="600" y="68" width="8" height="8" rx="1.5" fill="#e6edf3"/>
200
- <rect x="660" y="68" width="8" height="8" rx="1.5" fill="#e6edf3"/>
201
- <rect x="670" y="68" width="8" height="8" rx="1.5" fill="#e6edf3"/>
202
- <rect x="40" y="80" width="8" height="8" rx="1.5" fill="#e6edf3"/>
203
- <rect x="50" y="80" width="8" height="8" rx="1.5" fill="#e6edf3"/>
204
- <rect x="60" y="80" width="8" height="8" rx="1.5" fill="#e6edf3"/>
205
- <rect x="70" y="80" width="8" height="8" rx="1.5" fill="#e6edf3"/>
206
- <rect x="80" y="80" width="8" height="8" rx="1.5" fill="#e6edf3"/>
207
- <rect x="90" y="80" width="8" height="8" rx="1.5" fill="#e6edf3"/>
208
- <rect x="140" y="80" width="8" height="8" rx="1.5" fill="#e6edf3"/>
209
- <rect x="150" y="80" width="8" height="8" rx="1.5" fill="#e6edf3"/>
210
- <rect x="160" y="80" width="8" height="8" rx="1.5" fill="#e6edf3"/>
211
- <rect x="170" y="80" width="8" height="8" rx="1.5" fill="#e6edf3"/>
212
- <rect x="180" y="80" width="8" height="8" rx="1.5" fill="#e6edf3"/>
213
- <rect x="190" y="80" width="8" height="8" rx="1.5" fill="#e6edf3"/>
214
- <rect x="230" y="80" width="8" height="8" rx="1.5" fill="#e6edf3"/>
215
- <rect x="240" y="80" width="8" height="8" rx="1.5" fill="#e6edf3"/>
216
- <rect x="310" y="80" width="8" height="8" rx="1.5" fill="#e6edf3"/>
217
- <rect x="320" y="80" width="8" height="8" rx="1.5" fill="#e6edf3"/>
218
- <rect x="350" y="80" width="8" height="8" rx="1.5" fill="#e6edf3"/>
219
- <rect x="360" y="80" width="8" height="8" rx="1.5" fill="#e6edf3"/>
220
- <rect x="440" y="80" width="8" height="8" rx="1.5" fill="#e6edf3"/>
221
- <rect x="450" y="80" width="8" height="8" rx="1.5" fill="#e6edf3"/>
222
- <rect x="490" y="80" width="8" height="8" rx="1.5" fill="#e6edf3"/>
223
- <rect x="500" y="80" width="8" height="8" rx="1.5" fill="#e6edf3"/>
224
- <rect x="530" y="80" width="8" height="8" rx="1.5" fill="#e6edf3"/>
225
- <rect x="540" y="80" width="8" height="8" rx="1.5" fill="#e6edf3"/>
226
- <rect x="590" y="80" width="8" height="8" rx="1.5" fill="#e6edf3"/>
227
- <rect x="600" y="80" width="8" height="8" rx="1.5" fill="#e6edf3"/>
228
- <rect x="660" y="80" width="8" height="8" rx="1.5" fill="#e6edf3"/>
229
- <rect x="670" y="80" width="8" height="8" rx="1.5" fill="#e6edf3"/>
230
- <rect x="30" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
231
- <rect x="40" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
232
- <rect x="50" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
233
- <rect x="60" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
234
- <rect x="70" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
235
- <rect x="80" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
236
- <rect x="90" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
237
- <rect x="100" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
238
- <rect x="110" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
239
- <rect x="120" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
240
- <rect x="130" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
241
- <rect x="140" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
242
- <rect x="150" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
243
- <rect x="160" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
244
- <rect x="170" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
245
- <rect x="180" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
246
- <rect x="190" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
247
- <rect x="200" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
248
- <rect x="210" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
249
- <rect x="220" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
250
- <rect x="230" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
251
- <rect x="240" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
252
- <rect x="250" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
253
- <rect x="260" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
254
- <rect x="270" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
255
- <rect x="280" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
256
- <rect x="290" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
257
- <rect x="300" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
258
- <rect x="310" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
259
- <rect x="320" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
260
- <rect x="330" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
261
- <rect x="340" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
262
- <rect x="350" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
263
- <rect x="360" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
264
- <rect x="370" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
265
- <rect x="380" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
266
- <rect x="390" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
267
- <rect x="400" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
268
- <rect x="410" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
269
- <rect x="420" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
270
- <rect x="430" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
271
- <rect x="440" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
272
- <rect x="450" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
273
- <rect x="460" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
274
- <rect x="470" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
275
- <rect x="480" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
276
- <rect x="490" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
277
- <rect x="500" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
278
- <rect x="510" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
279
- <rect x="520" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
280
- <rect x="530" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
281
- <rect x="540" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
282
- <rect x="550" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
283
- <rect x="560" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
284
- <rect x="570" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
285
- <rect x="580" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
286
- <rect x="590" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
287
- <rect x="600" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
288
- <rect x="610" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
289
- <rect x="620" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
290
- <rect x="630" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
291
- <rect x="640" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
292
- <rect x="650" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
293
- <rect x="660" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
294
- <rect x="670" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
295
- <rect x="680" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
296
- <rect x="690" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
297
- <rect x="700" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
298
- <rect x="710" y="95" width="8" height="2" rx="0.5" fill="#e6edf3"/>
299
- </svg>