capybara-lockstep 2.3.1 → 2.4.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +25 -2
- data/Gemfile.lock +2 -2
- data/README.md +15 -1
- data/capybara-lockstep.gemspec +13 -19
- data/lib/capybara-lockstep/client/selenium.rb +16 -0
- data/lib/capybara-lockstep/client.rb +19 -3
- data/lib/capybara-lockstep/configuration.rb +10 -0
- data/lib/capybara-lockstep/page_access.rb +16 -2
- data/lib/capybara-lockstep/version.rb +1 -1
- metadata +1 -8
- data/.github/workflows/test.yml +0 -64
- data/media/logo.dark.shapes.svg +0 -169
- data/media/logo.dark.text.svg +0 -107
- data/media/logo.light.shapes.svg +0 -168
- data/media/logo.light.text.svg +0 -106
- data/media/makandra-with-bottom-margin.dark.svg +0 -180
- data/media/makandra-with-bottom-margin.light.svg +0 -180
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: eb5ab18d6ec37825a825c3da9fdde70e7203b68609242a8a4738cb3034a0c3b2
|
|
4
|
+
data.tar.gz: d74acc6c1c2b73bbeea372f91d54068c548723d28e46cf5a4a01520004d4ef1e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d67cc0d38dc1ab56ff728010cfde78016b357ac5964ab70ed18b7d8173599129eb9ff06bfd4a5e84754698cc568bb14e78378334910afcdabb7a1055f8f1f1ea
|
|
7
|
+
data.tar.gz: 8a8e007d57eb6f2e661a158156aefe4844d26f1de755939040229da146ae32e850b26aacb674cbd02de0ddd196c8e4ee2a39d8b8cb6b526af85ad96eda2d930f
|
data/CHANGELOG.md
CHANGED
|
@@ -13,9 +13,32 @@ This project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html
|
|
|
13
13
|
-
|
|
14
14
|
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
# 2.4.0 - 2026-10-15
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
## Compatible changes
|
|
19
|
+
|
|
20
|
+
- Skip the check for an open alert before synchronizing when the Selenium driver ignores unhandled prompts (`unhandled_prompt_behavior: 'ignore'` or `{ default: 'ignore' }`). Such a driver keeps the alert open while synchronizing, so the check only cost an additional roundtrip to the browser. Configure this with the new option `Capybara::Lockstep.check_alerts` (`true`, `false` or `nil` for auto-detection).
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
# 2.3.2 - 2026-09-11
|
|
24
|
+
|
|
25
|
+
## Compatible changes
|
|
26
|
+
|
|
27
|
+
- Treat a Selenium `UnknownError` carrying the CDP message `Promise was collected` as a benign "navigated away" event,
|
|
28
|
+
- like the existing `document unloaded` `JavascriptError`. Newer Chrome (141+) with selenium-webdriver 4.41 reports
|
|
29
|
+
- a destroyed JS execution context (e.g. Turbo frame swaps, SPA navigations) this way, which previously surfaced as
|
|
30
|
+
- a flaky, hard-to-diagnose test failure.
|
|
31
|
+
- Skip client synchronization when the effective timeout is not positive. Capybara evaluates filter blocks
|
|
32
|
+
- (e.g. `has_css?('.foo') { |node| node.has_field?('bar') }`) with `using_wait_time(0)`. A nested lookup inside such
|
|
33
|
+
- a block triggered a synchronization with a timeout of 0 when the client was out of sync (e.g. after a timed-out
|
|
34
|
+
- synchronization or on a page without the capybara-lockstep snippet). Capybara's Selenium driver persisted that 0
|
|
35
|
+
- as the WebDriver script timeout, so every later script-based command (including Capybara's visibility checks)
|
|
36
|
+
- failed with `Selenium::WebDriver::Error::ScriptTimeoutError`. This only affected the default configuration
|
|
37
|
+
- (`Capybara::Lockstep.timeout = nil`).
|
|
38
|
+
|
|
39
|
+
# 2.3.1 - 2026-02-17
|
|
40
|
+
|
|
41
|
+
## Compatible changes
|
|
19
42
|
|
|
20
43
|
- Add tests for Ruby 4.0
|
|
21
44
|
- Increase `required_ruby_version` and `activesupport` minimum version in gemspec so people
|
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
capybara-lockstep (2.
|
|
4
|
+
capybara-lockstep (2.4.0)
|
|
5
5
|
activesupport (>= 7.0)
|
|
6
6
|
capybara (>= 3.0)
|
|
7
7
|
|
|
@@ -65,7 +65,7 @@ GEM
|
|
|
65
65
|
mustermann (3.0.0)
|
|
66
66
|
ruby2_keywords (~> 0.0.1)
|
|
67
67
|
nio4r (2.6.1)
|
|
68
|
-
nokogiri (1.
|
|
68
|
+
nokogiri (1.19.4)
|
|
69
69
|
mini_portile2 (~> 2.8.2)
|
|
70
70
|
racc (~> 1.4)
|
|
71
71
|
ostruct (0.6.3)
|
data/README.md
CHANGED
|
@@ -184,7 +184,7 @@ use Capybara::Lockstep::Middleware
|
|
|
184
184
|
### Configuring Selenium WebDriver (recommended)
|
|
185
185
|
|
|
186
186
|
By default, webdrivers will automatically dismiss any user prompts (like alerts) when trying to perform an action.
|
|
187
|
-
|
|
187
|
+
With this default, capybara-lockstep checks for an open alert before synchronizing, and will skip interaction with the browser to avoid accidentally dismissing alerts. However, it can not synchronize around some rare race conditions, and the check costs an additional roundtrip to the browser.
|
|
188
188
|
|
|
189
189
|
[We recommend](https://makandracards.com/makandra/617366-how-to-configure-selenium-webdriver-to-not-automatically-close-alerts-or-other-browser-dialogs) you configure your webdriver to not automatically dismiss user prompts by setting the "unhandled prompt behavior" capability to [`ignore`](https://w3c.github.io/webdriver/#dfn-known-prompt-handling-approaches-table). Using "ignore", errors are raised like with the default behavior, but user prompts are kept open.
|
|
190
190
|
|
|
@@ -199,6 +199,18 @@ Capybara.register_driver(:selenium) do |app|
|
|
|
199
199
|
end
|
|
200
200
|
```
|
|
201
201
|
|
|
202
|
+
When your driver ignores user prompts, capybara-lockstep no longer checks for an open alert before synchronizing. The driver keeps the alert open and capybara-lockstep retries synchronization on the next Capybara command. This also works when you configure the capability by prompt type, e.g. `unhandled_prompt_behavior: { default: 'ignore' }`, as long as alerts, confirms and prompts are all ignored. Note that selenium-webdriver 4.35 and older convert such a map to a string when passed through `Options`. On these versions, pass it as `Selenium::WebDriver::Remote::Capabilities.new(unhandled_prompt_behavior: { default: 'ignore' })` alongside your options.
|
|
203
|
+
|
|
204
|
+
You can override this detection:
|
|
205
|
+
|
|
206
|
+
```ruby
|
|
207
|
+
Capybara::Lockstep.check_alerts = true # always check for an open alert before synchronizing
|
|
208
|
+
Capybara::Lockstep.check_alerts = false # never check for an open alert before synchronizing
|
|
209
|
+
Capybara::Lockstep.check_alerts = nil # check unless the driver ignores user prompts (default)
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
Only disable the check if your driver keeps alerts open, otherwise synchronization will dismiss them.
|
|
213
|
+
|
|
202
214
|
### Verify successful integration
|
|
203
215
|
|
|
204
216
|
capybara-lockstep will automatically patch Capybara to wait for the browser after every command.
|
|
@@ -342,6 +354,8 @@ Capybara::Lockstep.timeout = 5 # seconds
|
|
|
342
354
|
|
|
343
355
|
By default Capybara will **not** raise an error after a timeout. You may occasionally get a slow server response, and Capybara will retry synchronization before the next interaction or `visit`. This is often good enough.
|
|
344
356
|
|
|
357
|
+
When the effective timeout is `0` (e.g. inside a Capybara filter block, which Capybara evaluates with `using_wait_time(0)`), capybara-lockstep skips the synchronization, logs `Cannot synchronize client with a timeout of 0 seconds` and retries on the next interaction.
|
|
358
|
+
|
|
345
359
|
If you want to be strict you may configure that an `Capybara::Lockstep::Timeout` error is raised after a timeout:
|
|
346
360
|
|
|
347
361
|
```ruby
|
data/capybara-lockstep.gemspec
CHANGED
|
@@ -5,32 +5,26 @@ Gem::Specification.new do |spec|
|
|
|
5
5
|
spec.version = Capybara::Lockstep::VERSION
|
|
6
6
|
spec.authors = ["Henning Koch"]
|
|
7
7
|
spec.email = ["henning.koch@makandra.de"]
|
|
8
|
-
|
|
9
|
-
spec.summary = "Synchronize Capybara commands with client-side JavaScript and AJAX requests"
|
|
10
8
|
spec.homepage = "https://github.com/makandra/capybara-lockstep"
|
|
9
|
+
spec.summary = "Synchronize Capybara commands with client-side JavaScript and AJAX requests"
|
|
11
10
|
spec.license = "MIT"
|
|
12
|
-
spec.required_ruby_version = Gem::Requirement.new(">= 3.0.0")
|
|
13
11
|
|
|
14
|
-
spec.metadata
|
|
15
|
-
|
|
12
|
+
spec.metadata = {
|
|
13
|
+
"homepage_uri" => spec.homepage,
|
|
14
|
+
"source_code_uri" => spec.homepage,
|
|
15
|
+
"bug_tracker_uri" => "#{spec.homepage}/issues",
|
|
16
|
+
"changelog_uri" => "#{spec.homepage}/blob/main/CHANGELOG.md",
|
|
17
|
+
"rubygems_mfa_required" => 'true',
|
|
18
|
+
}
|
|
16
19
|
|
|
17
|
-
spec.
|
|
18
|
-
spec.
|
|
19
|
-
spec.metadata["rubygems_mfa_required"] = 'true'
|
|
20
|
+
spec.files = `git ls-files`.split("\n").select { |f| !File.symlink?(f) && !f.match(%r{^(spec|dev|media|.github)/}) }
|
|
21
|
+
spec.require_paths = ["lib"]
|
|
20
22
|
|
|
21
|
-
# Specify which files should be added to the gem when it is released.
|
|
22
|
-
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
|
23
|
-
spec.files = Dir.chdir(File.expand_path(__dir__)) do
|
|
24
|
-
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{\A(?:test|spec|features)/}) }
|
|
25
|
-
end
|
|
26
23
|
spec.bindir = "exe"
|
|
27
|
-
spec.executables =
|
|
28
|
-
|
|
24
|
+
spec.executables = []
|
|
25
|
+
|
|
26
|
+
spec.required_ruby_version = Gem::Requirement.new(">= 3.0.0")
|
|
29
27
|
|
|
30
|
-
# Uncomment to register a new dependency of your gem
|
|
31
28
|
spec.add_dependency "capybara", ">= 3.0"
|
|
32
29
|
spec.add_dependency "activesupport", ">= 7.0"
|
|
33
|
-
|
|
34
|
-
# For more information and examples about making a new gem, checkout our
|
|
35
|
-
# guide at: https://bundler.io/guides/creating_gem.html
|
|
36
30
|
end
|
|
@@ -32,6 +32,22 @@ module Capybara
|
|
|
32
32
|
else
|
|
33
33
|
unhandled_synchronize_error(e)
|
|
34
34
|
end
|
|
35
|
+
rescue ::Selenium::WebDriver::Error::UnknownError => e
|
|
36
|
+
# Newer Chrome (e.g. chrome-headless-shell 141) with selenium-webdriver 4.41
|
|
37
|
+
# reports the same "navigated away" condition differently than the older
|
|
38
|
+
# JavascriptError "document unloaded" message handled above. When an interaction
|
|
39
|
+
# destroys the JS execution context that owns our pending async probe (a Turbo
|
|
40
|
+
# frame swap or an SPA navigation), the promise can never resolve and the driver
|
|
41
|
+
# raises a Selenium::WebDriver::Error::UnknownError wrapping the CDP error:
|
|
42
|
+
# 'unknown error: unhandled inspector error: {"code":-32000,"message":"Promise was collected"}'.
|
|
43
|
+
# Treat this symmetrically to the 'unload' branch above: leave the client
|
|
44
|
+
# unsynchronized and retry on the next Capybara synchronize call, by then we
|
|
45
|
+
# should see the new page. Any other UnknownError is still unexpected and re-raised.
|
|
46
|
+
if e.message.include?('Promise was collected')
|
|
47
|
+
log ERROR_NAVIGATED_AWAY
|
|
48
|
+
else
|
|
49
|
+
unhandled_synchronize_error(e)
|
|
50
|
+
end
|
|
35
51
|
rescue StandardError => e
|
|
36
52
|
unhandled_synchronize_error(e)
|
|
37
53
|
end
|
|
@@ -37,9 +37,21 @@ module Capybara
|
|
|
37
37
|
# If synchronization fails below we consider us unsynchronized after.
|
|
38
38
|
self.synchronized = false
|
|
39
39
|
|
|
40
|
-
#
|
|
41
|
-
#
|
|
42
|
-
|
|
40
|
+
# Capybara evaluates filter blocks with `using_wait_time(0)`. Our default timeout is
|
|
41
|
+
# Capybara.default_max_wait_time, so a nested lookup inside such a block would try
|
|
42
|
+
# to synchronize with a timeout of 0. An async script can never finish within 0 seconds,
|
|
43
|
+
# and Capybara's Selenium driver would persist that 0 as the WebDriver script timeout,
|
|
44
|
+
# breaking every later script-based command with a ScriptTimeoutError.
|
|
45
|
+
if timeout <= 0
|
|
46
|
+
log "Cannot synchronize client with a timeout of #{timeout} seconds"
|
|
47
|
+
# Don't raise an error, this will happen in an innocent test.
|
|
48
|
+
# We will retry on the next Capybara synchronize call with a real timeout.
|
|
49
|
+
return
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
# Unless the driver ignores unhandled prompts, running the synchronization script while an alert
|
|
53
|
+
# is open would close the alert, most likely causing subsequent expectations to fail.
|
|
54
|
+
if check_alerts? && alert_present?
|
|
43
55
|
log ERROR_ALERT_OPEN
|
|
44
56
|
# Don't raise an error, this will happen in an innocent test.
|
|
45
57
|
# We will retry on the next Capybara synchronize call.
|
|
@@ -98,6 +110,10 @@ module Capybara
|
|
|
98
110
|
raise e
|
|
99
111
|
end
|
|
100
112
|
|
|
113
|
+
def check_alerts?
|
|
114
|
+
Lockstep.check_alerts?
|
|
115
|
+
end
|
|
116
|
+
|
|
101
117
|
def timeout
|
|
102
118
|
Lockstep.timeout
|
|
103
119
|
end
|
|
@@ -18,6 +18,16 @@ module Capybara
|
|
|
18
18
|
@timeout_with = action&.to_sym
|
|
19
19
|
end
|
|
20
20
|
|
|
21
|
+
def check_alerts?
|
|
22
|
+
# A driver that ignores unhandled prompts keeps an alert open while running our synchronization script.
|
|
23
|
+
# It raises an UnexpectedAlertOpenError instead, which we handle like an open alert.
|
|
24
|
+
@check_alerts.nil? ? !unhandled_prompts_ignored? : @check_alerts
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def check_alerts=(value)
|
|
28
|
+
@check_alerts = value
|
|
29
|
+
end
|
|
30
|
+
|
|
21
31
|
def debug
|
|
22
32
|
@debug.nil? ? false : @debug
|
|
23
33
|
end
|
|
@@ -25,7 +25,22 @@ module Capybara
|
|
|
25
25
|
false
|
|
26
26
|
end
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
def unhandled_prompts_ignored?
|
|
29
|
+
return false unless selenium_driver?
|
|
30
|
+
|
|
31
|
+
# The capabilities were returned when the session was created, so this does not talk to the browser.
|
|
32
|
+
# The behavior is either a string ("ignore") or a map by prompt type ({ "default" => "ignore" }).
|
|
33
|
+
behavior = page.driver.browser.capabilities[:unhandled_prompt_behavior]
|
|
34
|
+
|
|
35
|
+
if behavior.is_a?(Hash)
|
|
36
|
+
# We don't consider "beforeUnload" prompts: the string form doesn't apply to them, WebDriver accepts them instead.
|
|
37
|
+
%w[alert confirm prompt].all? do |type|
|
|
38
|
+
behavior.fetch(type) { behavior['default'] } == 'ignore'
|
|
39
|
+
end
|
|
40
|
+
else
|
|
41
|
+
behavior == 'ignore'
|
|
42
|
+
end
|
|
43
|
+
end
|
|
29
44
|
|
|
30
45
|
def selenium_driver?
|
|
31
46
|
defined?(Capybara::Selenium::Driver) && driver.is_a?(Capybara::Selenium::Driver)
|
|
@@ -35,7 +50,6 @@ module Capybara
|
|
|
35
50
|
defined?(Capybara::Cuprite::Driver) && driver.is_a?(Capybara::Cuprite::Driver)
|
|
36
51
|
end
|
|
37
52
|
|
|
38
|
-
|
|
39
53
|
end
|
|
40
54
|
end
|
|
41
55
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: capybara-lockstep
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.4.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Henning Koch
|
|
@@ -43,7 +43,6 @@ executables: []
|
|
|
43
43
|
extensions: []
|
|
44
44
|
extra_rdoc_files: []
|
|
45
45
|
files:
|
|
46
|
-
- ".github/workflows/test.yml"
|
|
47
46
|
- ".gitignore"
|
|
48
47
|
- ".rspec"
|
|
49
48
|
- ".ruby-version"
|
|
@@ -72,12 +71,6 @@ files:
|
|
|
72
71
|
- lib/capybara-lockstep/server.rb
|
|
73
72
|
- lib/capybara-lockstep/util.rb
|
|
74
73
|
- lib/capybara-lockstep/version.rb
|
|
75
|
-
- media/logo.dark.shapes.svg
|
|
76
|
-
- media/logo.dark.text.svg
|
|
77
|
-
- media/logo.light.shapes.svg
|
|
78
|
-
- media/logo.light.text.svg
|
|
79
|
-
- media/makandra-with-bottom-margin.dark.svg
|
|
80
|
-
- media/makandra-with-bottom-margin.light.svg
|
|
81
74
|
- tasks/spec_tasks.rb
|
|
82
75
|
homepage: https://github.com/makandra/capybara-lockstep
|
|
83
76
|
licenses:
|
data/.github/workflows/test.yml
DELETED
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: Tests
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
branches:
|
|
6
|
-
- main
|
|
7
|
-
pull_request:
|
|
8
|
-
branches:
|
|
9
|
-
- main
|
|
10
|
-
workflow_dispatch:
|
|
11
|
-
branches:
|
|
12
|
-
- main
|
|
13
|
-
jobs:
|
|
14
|
-
test:
|
|
15
|
-
runs-on: ubuntu-24.04
|
|
16
|
-
timeout-minutes: 3
|
|
17
|
-
strategy:
|
|
18
|
-
fail-fast: false
|
|
19
|
-
matrix:
|
|
20
|
-
include:
|
|
21
|
-
- ruby: 3.2.0
|
|
22
|
-
gemfile: Gemfile
|
|
23
|
-
capybara_driver: selenium
|
|
24
|
-
- ruby: 3.2.0
|
|
25
|
-
gemfile: Gemfile
|
|
26
|
-
capybara_driver: cuprite
|
|
27
|
-
- ruby: 3.4.1
|
|
28
|
-
gemfile: Gemfile
|
|
29
|
-
capybara_driver: selenium
|
|
30
|
-
- ruby: 3.4.1
|
|
31
|
-
gemfile: Gemfile
|
|
32
|
-
capybara_driver: cuprite
|
|
33
|
-
- ruby: 4.0.1
|
|
34
|
-
gemfile: Gemfile
|
|
35
|
-
capybara_driver: selenium
|
|
36
|
-
- ruby: 4.0.1
|
|
37
|
-
gemfile: Gemfile
|
|
38
|
-
capybara_driver: cuprite
|
|
39
|
-
env:
|
|
40
|
-
BUNDLE_GEMFILE: "${{ matrix.gemfile }}"
|
|
41
|
-
CAPYBARA_DRIVER: "${{ matrix.capybara_driver }}"
|
|
42
|
-
steps:
|
|
43
|
-
- uses: actions/checkout@v3
|
|
44
|
-
- name: Install Chrome
|
|
45
|
-
uses: browser-actions/setup-chrome@latest
|
|
46
|
-
- name: Show Chrome version
|
|
47
|
-
run: chrome --version
|
|
48
|
-
- name: Install ChromeDriver
|
|
49
|
-
uses: nanasess/setup-chromedriver@master
|
|
50
|
-
if: "${{ matrix.capybara_driver == 'selenium' }}"
|
|
51
|
-
- name: Install ruby
|
|
52
|
-
uses: ruby/setup-ruby@v1
|
|
53
|
-
with:
|
|
54
|
-
ruby-version: "${{ matrix.ruby }}"
|
|
55
|
-
- name: Bundle
|
|
56
|
-
run: |
|
|
57
|
-
gem install bundler:2.3.1
|
|
58
|
-
bundle install --no-deployment
|
|
59
|
-
- name: Run tests
|
|
60
|
-
uses: nick-invision/retry@v2
|
|
61
|
-
with:
|
|
62
|
-
timeout_seconds: 30
|
|
63
|
-
max_attempts: 3
|
|
64
|
-
command: bundle exec rake spec
|
data/media/logo.dark.shapes.svg
DELETED
|
@@ -1,169 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
-
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
|
3
|
-
|
|
4
|
-
<svg
|
|
5
|
-
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
|
6
|
-
xmlns:cc="http://creativecommons.org/ns#"
|
|
7
|
-
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
8
|
-
xmlns:svg="http://www.w3.org/2000/svg"
|
|
9
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
10
|
-
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
11
|
-
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
12
|
-
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
13
|
-
width="103.71816mm"
|
|
14
|
-
height="14.056225mm"
|
|
15
|
-
viewBox="0 0 103.71816 14.056225"
|
|
16
|
-
version="1.1"
|
|
17
|
-
id="svg838"
|
|
18
|
-
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
|
|
19
|
-
sodipodi:docname="logo.dark.shapes.svg"
|
|
20
|
-
inkscape:export-filename="/home/henning/Projects/capybara-lockstep/media/capybara-lockstep.dark.png"
|
|
21
|
-
inkscape:export-xdpi="196"
|
|
22
|
-
inkscape:export-ydpi="196">
|
|
23
|
-
<defs
|
|
24
|
-
id="defs832">
|
|
25
|
-
<linearGradient
|
|
26
|
-
inkscape:collect="always"
|
|
27
|
-
id="linearGradient1406">
|
|
28
|
-
<stop
|
|
29
|
-
style="stop-color:#ff0844;stop-opacity:1"
|
|
30
|
-
offset="0"
|
|
31
|
-
id="stop1402" />
|
|
32
|
-
<stop
|
|
33
|
-
style="stop-color:#ffb199;stop-opacity:1"
|
|
34
|
-
offset="1"
|
|
35
|
-
id="stop1404" />
|
|
36
|
-
</linearGradient>
|
|
37
|
-
<linearGradient
|
|
38
|
-
inkscape:collect="always"
|
|
39
|
-
xlink:href="#linearGradient1406"
|
|
40
|
-
id="linearGradient1408"
|
|
41
|
-
x1="22.054907"
|
|
42
|
-
y1="91.071762"
|
|
43
|
-
x2="88.956696"
|
|
44
|
-
y2="91.071762"
|
|
45
|
-
gradientUnits="userSpaceOnUse"
|
|
46
|
-
gradientTransform="matrix(1.5503049,0,0,0.08820435,-34.191832,57.908781)" />
|
|
47
|
-
</defs>
|
|
48
|
-
<sodipodi:namedview
|
|
49
|
-
id="base"
|
|
50
|
-
pagecolor="#ffffff"
|
|
51
|
-
bordercolor="#666666"
|
|
52
|
-
borderopacity="1.0"
|
|
53
|
-
inkscape:pageopacity="0.0"
|
|
54
|
-
inkscape:pageshadow="2"
|
|
55
|
-
inkscape:zoom="2.8"
|
|
56
|
-
inkscape:cx="120.47146"
|
|
57
|
-
inkscape:cy="-25.333161"
|
|
58
|
-
inkscape:document-units="mm"
|
|
59
|
-
inkscape:current-layer="text1385"
|
|
60
|
-
showgrid="false"
|
|
61
|
-
fit-margin-top="0"
|
|
62
|
-
fit-margin-left="0"
|
|
63
|
-
fit-margin-right="0"
|
|
64
|
-
fit-margin-bottom="0"
|
|
65
|
-
inkscape:window-width="2560"
|
|
66
|
-
inkscape:window-height="1391"
|
|
67
|
-
inkscape:window-x="1920"
|
|
68
|
-
inkscape:window-y="0"
|
|
69
|
-
inkscape:window-maximized="1"
|
|
70
|
-
inkscape:pagecheckerboard="true" />
|
|
71
|
-
<metadata
|
|
72
|
-
id="metadata835">
|
|
73
|
-
<rdf:RDF>
|
|
74
|
-
<cc:Work
|
|
75
|
-
rdf:about="">
|
|
76
|
-
<dc:format>image/svg+xml</dc:format>
|
|
77
|
-
<dc:type
|
|
78
|
-
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
|
79
|
-
<dc:title></dc:title>
|
|
80
|
-
</cc:Work>
|
|
81
|
-
</rdf:RDF>
|
|
82
|
-
</metadata>
|
|
83
|
-
<g
|
|
84
|
-
inkscape:label="Layer 1"
|
|
85
|
-
inkscape:groupmode="layer"
|
|
86
|
-
id="layer1"
|
|
87
|
-
transform="translate(0,-52.518951)">
|
|
88
|
-
<g
|
|
89
|
-
aria-label="CAPYBARA-LOCKSTEP"
|
|
90
|
-
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:1.25;font-family:'League Spartan';-inkscape-font-specification:'League Spartan';letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
|
|
91
|
-
id="text1385">
|
|
92
|
-
<path
|
|
93
|
-
d="m 3.8629165,58.191618 q 0.4868334,0 0.8837084,-0.142875 0.4021666,-0.142875 0.5979583,-0.280459 l 0.6773333,1.344084 q -0.2487083,0.211666 -0.8519583,0.428625 -0.5979583,0.216958 -1.4234583,0.216958 -0.7725833,0 -1.4499166,-0.269875 Q 1.6192499,59.218201 1.1006666,58.731368 0.58737498,58.239243 0.29104166,57.583076 0,56.921618 0,56.149034 0,55.376451 0.29104166,54.714993 0.58208331,54.048243 1.095375,53.556118 q 0.5185833,-0.492125 1.1959166,-0.762 0.682625,-0.275167 1.4552083,-0.275167 0.8255,0 1.4234583,0.216958 0.60325,0.216959 0.8519583,0.428625 L 5.3445832,54.508618 Q 5.1487915,54.365743 4.7466249,54.228159 4.3497499,54.085284 3.8629165,54.085284 q -0.5397499,0 -0.9419166,0.169334 -0.4021666,0.164041 -0.6720416,0.455083 -0.269875,0.291042 -0.4021667,0.656167 -0.1322917,0.365125 -0.1322917,0.767291 0,0.407459 0.1322917,0.777875 0.1322917,0.365125 0.4021667,0.656167 0.269875,0.291042 0.6720416,0.460375 0.4021667,0.164042 0.9419166,0.164042 z"
|
|
94
|
-
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:'League Spartan';-inkscape-font-specification:'League Spartan';fill:#ffffff;fill-opacity:1;stroke-width:0.26458332"
|
|
95
|
-
id="path822" />
|
|
96
|
-
<path
|
|
97
|
-
d="m 9.2498207,52.645951 h 1.5716253 l 2.756958,6.985 h -1.688042 l -0.508,-1.402292 H 8.6941957 L 8.180904,59.630951 H 6.4875707 Z m -0.026458,4.196292 h 1.6351247 l -0.809625,-2.291292 h -0.01587 z"
|
|
98
|
-
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:'League Spartan';-inkscape-font-specification:'League Spartan';fill:#ffffff;fill-opacity:1;stroke-width:0.26458332"
|
|
99
|
-
id="path824" />
|
|
100
|
-
<path
|
|
101
|
-
d="m 14.144601,52.645951 h 2.54 q 0.672042,0 1.211792,0.238125 0.53975,0.232833 0.85725,0.714375 0.322792,0.47625 0.322792,1.195917 0,0.714375 -0.322792,1.217083 -0.3175,0.497417 -0.85725,0.762 -0.53975,0.259292 -1.211792,0.259292 H 15.72681 v 2.598208 h -1.582209 z m 1.582209,3.137958 h 0.518583 q 0.322792,0 0.576792,-0.09525 0.259291,-0.09525 0.41275,-0.301625 0.153458,-0.211666 0.153458,-0.555625 0,-0.34925 -0.153458,-0.550333 -0.153459,-0.206375 -0.41275,-0.296333 -0.254,-0.08996 -0.576792,-0.08996 H 15.72681 Z"
|
|
102
|
-
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:'League Spartan';-inkscape-font-specification:'League Spartan';fill:#ffffff;fill-opacity:1;stroke-width:0.26458332"
|
|
103
|
-
id="path826" />
|
|
104
|
-
<path
|
|
105
|
-
d="m 21.769887,57.117409 -2.407708,-4.471458 h 1.920875 l 1.275291,2.661708 1.280584,-2.661708 h 1.910291 l -2.397125,4.471458 v 2.513542 h -1.582208 z"
|
|
106
|
-
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:'League Spartan';-inkscape-font-specification:'League Spartan';fill:#ffffff;fill-opacity:1;stroke-width:0.26458332"
|
|
107
|
-
id="path828" />
|
|
108
|
-
<path
|
|
109
|
-
d="m 26.384201,52.645951 h 2.397125 q 0.597958,0 1.105958,0.164042 0.513292,0.164041 0.8255,0.53975 0.3175,0.370416 0.3175,1.005416 0,0.418042 -0.15875,0.746125 -0.153458,0.328084 -0.41275,0.53975 -0.254,0.206375 -0.555625,0.275167 0.264583,0.03175 0.513292,0.153458 0.254,0.116417 0.455083,0.328084 0.206375,0.206375 0.322792,0.518583 0.121708,0.306917 0.121708,0.73025 0,0.587375 -0.264583,1.037167 -0.259292,0.4445 -0.762,0.6985 -0.497417,0.248708 -1.222375,0.248708 h -2.682875 z m 1.582208,5.720292 h 0.719667 q 0.338667,0 0.550333,-0.100542 0.216958,-0.105833 0.3175,-0.296333 0.100542,-0.195792 0.100542,-0.465667 0,-0.423333 -0.264584,-0.619125 -0.259291,-0.201083 -0.730249,-0.201083 h -0.693209 z m 0,-2.921 h 0.640292 q 0.280458,0 0.465667,-0.100542 0.190499,-0.100542 0.285749,-0.280458 0.100542,-0.185209 0.100542,-0.423334 0,-0.428625 -0.243416,-0.576791 -0.243417,-0.153459 -0.66675,-0.153459 h -0.582084 z"
|
|
110
|
-
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:'League Spartan';-inkscape-font-specification:'League Spartan';fill:#ffffff;fill-opacity:1;stroke-width:0.26458332"
|
|
111
|
-
id="path830" />
|
|
112
|
-
<path
|
|
113
|
-
d="m 34.438084,52.645951 h 1.571625 l 2.756958,6.985 h -1.688042 l -0.508,-1.402292 h -2.688166 l -0.513292,1.402292 h -1.693333 z m -0.02646,4.196292 h 1.635125 l -0.809625,-2.291292 h -0.01588 z"
|
|
114
|
-
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:'League Spartan';-inkscape-font-specification:'League Spartan';fill:#ffffff;fill-opacity:1;stroke-width:0.26458332"
|
|
115
|
-
id="path832" />
|
|
116
|
-
<path
|
|
117
|
-
d="m 39.290533,52.645951 h 2.846917 q 0.608541,0 1.084791,0.254 0.47625,0.254 0.751417,0.735542 0.280458,0.47625 0.280458,1.137708 0,0.661458 -0.238125,1.084792 -0.232833,0.418041 -0.560917,0.629708 -0.328083,0.206375 -0.608541,0.248708 l 1.698625,2.894542 h -1.778 l -1.513417,-2.772833 h -0.381 v 2.772833 h -1.582208 z m 1.582208,3.116792 h 0.6985 q 0.423334,0 0.740834,-0.206375 0.317499,-0.206375 0.317499,-0.73025 0,-0.523875 -0.312208,-0.724959 -0.312208,-0.206375 -0.735541,-0.206375 h -0.709084 z"
|
|
118
|
-
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:'League Spartan';-inkscape-font-specification:'League Spartan';fill:#ffffff;fill-opacity:1;stroke-width:0.26458332"
|
|
119
|
-
id="path834" />
|
|
120
|
-
<path
|
|
121
|
-
d="m 47.339146,52.645951 h 1.571625 l 2.756958,6.985 h -1.688042 l -0.508,-1.402292 h -2.688166 l -0.513292,1.402292 h -1.693333 z m -0.02646,4.196292 h 1.635125 l -0.809625,-2.291292 h -0.01588 z"
|
|
122
|
-
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:'League Spartan';-inkscape-font-specification:'League Spartan';fill:#ffffff;fill-opacity:1;stroke-width:0.26458332"
|
|
123
|
-
id="path836" />
|
|
124
|
-
<path
|
|
125
|
-
d="m 52.006369,57.905868 v -1.36525 h 2.725208 v 1.36525 z"
|
|
126
|
-
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:'League Spartan';-inkscape-font-specification:'League Spartan';fill:#ffffff;fill-opacity:1;stroke-width:0.26458332"
|
|
127
|
-
id="path838" />
|
|
128
|
-
<path
|
|
129
|
-
d="m 55.927475,52.645951 h 1.582208 v 5.598583 h 2.534708 v 1.386417 h -4.116916 z"
|
|
130
|
-
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:'League Spartan';-inkscape-font-specification:'League Spartan';fill:#ffffff;fill-opacity:1;stroke-width:0.26458332"
|
|
131
|
-
id="path840" />
|
|
132
|
-
<path
|
|
133
|
-
d="m 62.325091,56.133159 q 0,0.597959 0.243416,1.084792 0.248709,0.481542 0.682625,0.767292 0.439209,0.28575 1.016,0.28575 0.576792,0 1.010709,-0.28575 0.439208,-0.28575 0.682625,-0.767292 0.248708,-0.486833 0.248708,-1.084792 0,-0.597958 -0.248708,-1.0795 -0.243417,-0.481541 -0.682625,-0.767291 -0.433917,-0.291042 -1.010709,-0.291042 -0.576791,0 -1.016,0.291042 -0.433916,0.28575 -0.682625,0.767291 -0.243416,0.481542 -0.243416,1.0795 z m -1.645709,0 q 0,-0.762 0.269875,-1.418166 0.269875,-0.661459 0.756709,-1.153584 0.486833,-0.492125 1.143,-0.767291 0.656166,-0.275167 1.418166,-0.275167 0.772584,0 1.423459,0.275167 0.656166,0.275166 1.137708,0.767291 0.486833,0.492125 0.751417,1.153584 0.269875,0.656166 0.269875,1.418166 0,0.767292 -0.259292,1.42875 -0.259292,0.656167 -0.740833,1.153584 -0.481542,0.492125 -1.137709,0.767291 -0.656166,0.275167 -1.444625,0.275167 -0.804333,0 -1.465791,-0.275167 -0.656167,-0.275166 -1.132417,-0.767291 -0.47625,-0.497417 -0.735542,-1.153584 -0.254,-0.661458 -0.254,-1.42875 z"
|
|
134
|
-
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:'League Spartan';-inkscape-font-specification:'League Spartan';fill:#ffffff;fill-opacity:1;stroke-width:0.26458332"
|
|
135
|
-
id="path842" />
|
|
136
|
-
<path
|
|
137
|
-
d="m 72.453325,58.191618 q 0.486833,0 0.883708,-0.142875 0.402167,-0.142875 0.597958,-0.280459 l 0.677334,1.344084 q -0.248709,0.211666 -0.851958,0.428625 -0.597959,0.216958 -1.423459,0.216958 -0.772583,0 -1.449916,-0.269875 -0.677334,-0.269875 -1.195917,-0.756708 -0.513292,-0.492125 -0.809625,-1.148292 -0.291042,-0.661458 -0.291042,-1.434042 0,-0.772583 0.291042,-1.434041 0.291042,-0.66675 0.804333,-1.158875 0.518584,-0.492125 1.195917,-0.762 0.682625,-0.275167 1.455208,-0.275167 0.8255,0 1.423459,0.216958 0.603249,0.216959 0.851958,0.428625 l -0.677334,1.344084 q -0.195791,-0.142875 -0.597958,-0.280459 -0.396875,-0.142875 -0.883708,-0.142875 -0.53975,0 -0.941917,0.169334 -0.402166,0.164041 -0.672041,0.455083 -0.269875,0.291042 -0.402167,0.656167 -0.132292,0.365125 -0.132292,0.767291 0,0.407459 0.132292,0.777875 0.132292,0.365125 0.402167,0.656167 0.269875,0.291042 0.672041,0.460375 0.402167,0.164042 0.941917,0.164042 z"
|
|
138
|
-
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:'League Spartan';-inkscape-font-specification:'League Spartan';fill:#ffffff;fill-opacity:1;stroke-width:0.26458332"
|
|
139
|
-
id="path844" />
|
|
140
|
-
<path
|
|
141
|
-
d="m 78.427604,56.022034 2.656417,3.608917 h -1.889125 l -2.148417,-3.053292 v 3.053292 h -1.582208 v -6.985 h 1.582208 v 2.8575 l 1.979083,-2.8575 h 1.783292 z"
|
|
142
|
-
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:'League Spartan';-inkscape-font-specification:'League Spartan';fill:#ffffff;fill-opacity:1;stroke-width:0.26458332"
|
|
143
|
-
id="path846" />
|
|
144
|
-
<path
|
|
145
|
-
d="m 84.248426,52.518951 q 0.650875,0 1.137709,0.142875 0.486833,0.142875 0.783166,0.301625 0.296334,0.15875 0.359834,0.211667 l -0.762,1.275291 q -0.08467,-0.0635 -0.291042,-0.185208 -0.201083,-0.121708 -0.481542,-0.216958 -0.275166,-0.09525 -0.576791,-0.09525 -0.407459,0 -0.661459,0.148166 -0.248708,0.142875 -0.248708,0.428625 0,0.195792 0.132292,0.354542 0.137583,0.153458 0.41275,0.296333 0.280458,0.137584 0.709083,0.301625 0.391583,0.142875 0.735542,0.338667 0.343958,0.195792 0.60325,0.465667 0.264583,0.264583 0.418041,0.613833 0.153459,0.34925 0.153459,0.79375 0,0.529167 -0.216959,0.92075 -0.216958,0.386292 -0.592666,0.640292 -0.370417,0.254 -0.846667,0.375708 -0.470958,0.127 -0.978958,0.127 -0.719667,0 -1.291167,-0.164042 -0.566208,-0.164041 -0.915458,-0.354541 -0.34925,-0.1905 -0.418042,-0.254 l 0.788458,-1.328209 q 0.0635,0.04762 0.243417,0.153459 0.185208,0.105833 0.449792,0.22225 0.264583,0.111125 0.560916,0.1905 0.301625,0.07937 0.592667,0.07937 0.486833,0 0.73025,-0.185209 0.243417,-0.1905 0.243417,-0.497416 0,-0.227542 -0.153459,-0.407459 -0.153458,-0.179916 -0.460375,-0.338666 -0.306916,-0.164042 -0.767291,-0.343959 -0.460375,-0.185208 -0.862542,-0.449791 -0.396875,-0.264584 -0.645583,-0.661459 -0.248709,-0.396875 -0.248709,-0.98425 0,-0.587375 0.328084,-1.016 0.333375,-0.433916 0.873125,-0.66675 0.545041,-0.232833 1.164166,-0.232833 z"
|
|
146
|
-
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:'League Spartan';-inkscape-font-specification:'League Spartan';fill:#ffffff;fill-opacity:1;stroke-width:0.26458332"
|
|
147
|
-
id="path848" />
|
|
148
|
-
<path
|
|
149
|
-
d="m 88.926256,54.032368 h -1.666875 v -1.386417 h 4.910667 v 1.386417 h -1.661584 v 5.598583 h -1.582208 z"
|
|
150
|
-
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:'League Spartan';-inkscape-font-specification:'League Spartan';fill:#ffffff;fill-opacity:1;stroke-width:0.26458332"
|
|
151
|
-
id="path850" />
|
|
152
|
-
<path
|
|
153
|
-
d="m 93.021982,52.645951 h 4.460875 v 1.386417 h -2.883958 v 1.423458 h 2.8575 v 1.344083 h -2.8575 v 1.444625 h 2.883958 v 1.386417 h -4.460875 z"
|
|
154
|
-
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:'League Spartan';-inkscape-font-specification:'League Spartan';fill:#ffffff;fill-opacity:1;stroke-width:0.26458332"
|
|
155
|
-
id="path852" />
|
|
156
|
-
<path
|
|
157
|
-
d="m 98.689342,52.645951 h 2.539998 q 0.67204,0 1.21179,0.238125 0.53975,0.232833 0.85725,0.714375 0.3228,0.47625 0.3228,1.195917 0,0.714375 -0.3228,1.217083 -0.3175,0.497417 -0.85725,0.762 -0.53975,0.259292 -1.21179,0.259292 h -0.95779 v 2.598208 h -1.582208 z m 1.582208,3.137958 h 0.51858 q 0.3228,0 0.5768,-0.09525 0.25929,-0.09525 0.41275,-0.301625 0.15345,-0.211666 0.15345,-0.555625 0,-0.34925 -0.15345,-0.550333 -0.15346,-0.206375 -0.41275,-0.296333 -0.254,-0.08996 -0.5768,-0.08996 h -0.51858 z"
|
|
158
|
-
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:'League Spartan';-inkscape-font-specification:'League Spartan';fill:#ffffff;fill-opacity:1;stroke-width:0.26458332"
|
|
159
|
-
id="path854" />
|
|
160
|
-
</g>
|
|
161
|
-
<rect
|
|
162
|
-
style="fill:url(#linearGradient1408);fill-opacity:1;stroke:none;stroke-width:0.03697885;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
|
163
|
-
id="rect1387"
|
|
164
|
-
width="103.71816"
|
|
165
|
-
height="1.2668874"
|
|
166
|
-
x="-3.5527137e-15"
|
|
167
|
-
y="65.308289" />
|
|
168
|
-
</g>
|
|
169
|
-
</svg>
|
data/media/logo.dark.text.svg
DELETED
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
-
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
|
3
|
-
|
|
4
|
-
<svg
|
|
5
|
-
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
|
6
|
-
xmlns:cc="http://creativecommons.org/ns#"
|
|
7
|
-
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
8
|
-
xmlns:svg="http://www.w3.org/2000/svg"
|
|
9
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
10
|
-
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
11
|
-
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
12
|
-
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
13
|
-
width="103.71816mm"
|
|
14
|
-
height="14.056225mm"
|
|
15
|
-
viewBox="0 0 103.71816 14.056225"
|
|
16
|
-
version="1.1"
|
|
17
|
-
id="svg838"
|
|
18
|
-
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
|
|
19
|
-
sodipodi:docname="capybara-lockstep.dark.svg"
|
|
20
|
-
inkscape:export-filename="/home/henning/Projects/capybara-lockstep/media/capybara-lockstep.dark.png"
|
|
21
|
-
inkscape:export-xdpi="196"
|
|
22
|
-
inkscape:export-ydpi="196">
|
|
23
|
-
<defs
|
|
24
|
-
id="defs832">
|
|
25
|
-
<linearGradient
|
|
26
|
-
inkscape:collect="always"
|
|
27
|
-
id="linearGradient1406">
|
|
28
|
-
<stop
|
|
29
|
-
style="stop-color:#ff0844;stop-opacity:1"
|
|
30
|
-
offset="0"
|
|
31
|
-
id="stop1402" />
|
|
32
|
-
<stop
|
|
33
|
-
style="stop-color:#ffb199;stop-opacity:1"
|
|
34
|
-
offset="1"
|
|
35
|
-
id="stop1404" />
|
|
36
|
-
</linearGradient>
|
|
37
|
-
<linearGradient
|
|
38
|
-
inkscape:collect="always"
|
|
39
|
-
xlink:href="#linearGradient1406"
|
|
40
|
-
id="linearGradient1408"
|
|
41
|
-
x1="22.054907"
|
|
42
|
-
y1="91.071762"
|
|
43
|
-
x2="88.956696"
|
|
44
|
-
y2="91.071762"
|
|
45
|
-
gradientUnits="userSpaceOnUse"
|
|
46
|
-
gradientTransform="matrix(1.5503049,0,0,0.08820435,-34.191832,57.908781)" />
|
|
47
|
-
</defs>
|
|
48
|
-
<sodipodi:namedview
|
|
49
|
-
id="base"
|
|
50
|
-
pagecolor="#ffffff"
|
|
51
|
-
bordercolor="#666666"
|
|
52
|
-
borderopacity="1.0"
|
|
53
|
-
inkscape:pageopacity="0.0"
|
|
54
|
-
inkscape:pageshadow="2"
|
|
55
|
-
inkscape:zoom="2.8"
|
|
56
|
-
inkscape:cx="183.50717"
|
|
57
|
-
inkscape:cy="-23.90459"
|
|
58
|
-
inkscape:document-units="mm"
|
|
59
|
-
inkscape:current-layer="layer1"
|
|
60
|
-
showgrid="false"
|
|
61
|
-
fit-margin-top="0"
|
|
62
|
-
fit-margin-left="0"
|
|
63
|
-
fit-margin-right="0"
|
|
64
|
-
fit-margin-bottom="0"
|
|
65
|
-
inkscape:window-width="1920"
|
|
66
|
-
inkscape:window-height="1151"
|
|
67
|
-
inkscape:window-x="1920"
|
|
68
|
-
inkscape:window-y="0"
|
|
69
|
-
inkscape:window-maximized="1"
|
|
70
|
-
inkscape:pagecheckerboard="true" />
|
|
71
|
-
<metadata
|
|
72
|
-
id="metadata835">
|
|
73
|
-
<rdf:RDF>
|
|
74
|
-
<cc:Work
|
|
75
|
-
rdf:about="">
|
|
76
|
-
<dc:format>image/svg+xml</dc:format>
|
|
77
|
-
<dc:type
|
|
78
|
-
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
|
79
|
-
<dc:title></dc:title>
|
|
80
|
-
</cc:Work>
|
|
81
|
-
</rdf:RDF>
|
|
82
|
-
</metadata>
|
|
83
|
-
<g
|
|
84
|
-
inkscape:label="Layer 1"
|
|
85
|
-
inkscape:groupmode="layer"
|
|
86
|
-
id="layer1"
|
|
87
|
-
transform="translate(0,-52.518951)">
|
|
88
|
-
<text
|
|
89
|
-
xml:space="preserve"
|
|
90
|
-
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:1.25;font-family:'League Spartan';-inkscape-font-specification:'League Spartan';letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332;"
|
|
91
|
-
x="-0.27516666"
|
|
92
|
-
y="59.630951"
|
|
93
|
-
id="text1385"><tspan
|
|
94
|
-
sodipodi:role="line"
|
|
95
|
-
id="tspan1383"
|
|
96
|
-
x="-0.27516666"
|
|
97
|
-
y="59.630951"
|
|
98
|
-
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:'League Spartan';-inkscape-font-specification:'League Spartan';stroke-width:0.26458332;fill:#ffffff;fill-opacity:1;">CAPYBARA-LOCKSTEP</tspan></text>
|
|
99
|
-
<rect
|
|
100
|
-
style="fill:url(#linearGradient1408);fill-opacity:1;stroke:none;stroke-width:0.03697885;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
|
101
|
-
id="rect1387"
|
|
102
|
-
width="103.71816"
|
|
103
|
-
height="1.2668874"
|
|
104
|
-
x="-3.5527137e-15"
|
|
105
|
-
y="65.308289" />
|
|
106
|
-
</g>
|
|
107
|
-
</svg>
|