Compare commits

..
393 Commits
Author SHA1 Message Date
Tobias Waldekranz 964a4c755e [TEMP] save 2023-04-12 09:36:50 +02:00
Tobias Waldekranz 7eec8c2964 sysrest: Initial add
A RESTCONF front-end for sysrepo.
2023-04-05 17:00:01 +02:00
Tobias Waldekranz e729c82c32 klinfix: Initial add
Infix integration of klish and klish-plugin-sysrepo.

Initially we add:

More flexible management of running vs. startup: Instead of always
committing changes both to running and startup, commit only modifies
running. To persist changes to startup, the copy command is
introduced. This lets the user copy from factory/startup/running to
startup/running at any time.

Well-known verbs like abort, leave, end, etc.
2023-03-31 17:31:34 +02:00
Joachim Wiberg abd001f57d package/confd: start netopeer2-server along with sysrepo
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-31 11:03:44 +02:00
Joachim Wiberg cfef79bbf9 configs: enable netopeer2-cli and add klish to defconfigs
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-31 11:02:45 +02:00
Joachim Wiberg 3cce1e6427 src/confd: drop shortname yang module aliases and load with version
Drop the shortname yang aliases, installed they become copies of
their versioned counterpart, which is not the intention, but also,
no other yang consumer does this.

We'd like to use ly_ctx_load_module() directly, or a slim sysrepo
wrapper of the same, but no such API (load by yang module *name*
with optional revision) exists currently.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-29 13:00:10 +02:00
Tobias Waldekranz d66dc16600 package/klish-plugin-sysrepo: Bump to latest master
This adds completion support for nodes nested under choice and case
nodes.
2023-03-29 11:32:09 +02:00
Joachim Wiberg 24a1eb542d src/confd: add support for enabling yang features
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-29 08:03:37 +02:00
Joachim Wiberg 708b756eba src/confd: minor, coding style
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-29 07:43:48 +02:00
Joachim Wiberg 3bbc5c49cd src/confd: derive YANG module search path from configure
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-29 07:12:13 +02:00
Joachim Wiberg 41db19ffaa src/confd: import updated yang models from mech
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-29 06:22:27 +02:00
Joachim Wiberg 1907bd6a75 src/confd: adjust Denis' copyright year, last changed 2020
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-29 06:22:27 +02:00
Joachim Wiberg d1444b900a package/confd: allow klishd to run in NETCONF mode
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-28 20:53:55 +02:00
Joachim Wiberg 737f99e35e package/klish: make sure to enable libxml2 in configure
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-28 20:53:41 +02:00
Tobias WaldekranzandJoachim Wiberg b549ddd88a package/klish-plugin-sysrepo: Add version 1.0.0
Adds a klish interface to local datastores managed by sysrepo.
2023-03-28 20:29:31 +02:00
Tobias WaldekranzandJoachim Wiberg 5d8e0ec123 package/klish: Add version 3.0.0
Extensible CLI application
2023-03-28 20:29:31 +02:00
Tobias WaldekranzandJoachim Wiberg fdfcac70eb package/faux: Add version 2.1.0
Used by the upcoming klish package
2023-03-28 20:29:31 +02:00
Joachim Wiberg 7a69c21e9d configs: change default NETCONF to use sysrepo instead of clixon
Extended evaluation of sysrepo due to problems parsing yang v1.1 models
with the built-in yang parser in Clixon.  Problems not seen with libyang

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-28 20:27:18 +02:00
Joachim Wiberg b1be357a41 package/confd: new package
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-28 20:27:18 +02:00
Joachim Wiberg 767296e830 src/confd: port to sysrepo 2.x
Changes compared to original project:

 - installs into the sysrepo-plugind plugin directory, so no need
   for calling sysrepoctl to load the plugin
 - the plugin loads its yang module, so no need for calling sysrepoctl
   to load the module before starting sysrepo-plugind
 - bug fix ERROR() macro

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-28 20:27:18 +02:00
Joachim Wiberg 91d67e6b00 src/confd: import sysrepo ietf-system plugin by Denis Kalashnikov
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-28 20:27:18 +02:00
Joachim Wiberg 8e03114518 patches: add support for running sysrepo-plugind in the foreground
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-28 20:27:18 +02:00
Joachim Wiberg 546a2f3afb package/mech: relocate clixon system setup
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-28 20:27:18 +02:00
Joachim Wiberg aa3d8945b9 buildroot: switch to (updated) sysrepo branch from kkit
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-28 13:37:45 +02:00
Joachim Wiberg d7b032cee7 .github: dispatch workflows manually from now on
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-27 15:53:35 +02:00
Joachim Wiberg f5a863df04 package/finit: bump for initctl -n additions (enable/disable)
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-27 15:48:38 +02:00
Joachim Wiberg 0cfd0fcd89 package/skeleton-init-finit: add Frr pathd and vrrpd start scripts
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-27 14:38:17 +02:00
Joachim Wiberg 81c9398a19 doc: project goals and founding ideas
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-27 14:13:25 +02:00
Joachim Wiberg eed61988d1 doc: RESTCONF adventures, lab notes
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-27 14:11:10 +02:00
Joachim Wiberg fe20f4a470 mech: new autocli commands, cut-and-paste from various examples
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-27 14:10:26 +02:00
Joachim Wiberg ac7b9073a5 mech: disable debug dumps of transactions by default
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-27 14:08:27 +02:00
Joachim Wiberg aec2514eae mech: add support for ietf-syste:system/dns-resolver
This commit adds multi-nameserver support using openresolv (resolvconf)
and dnsmasq.  This means that a DHCP client (dhcpcd) or VPN client can
be providers of nameservers to the system.  Dnsmasq takes over as the
system resolver, except when the user has set up static configuration.

Static nameserver(s), as well as search and options, are always added
first by openresolv to /etc/resolv.conf.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-27 14:05:03 +02:00
Joachim Wiberg a5258d7102 mech: wrap system() as run(), returning WEXITSTATUS() or -1 on error
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-27 14:03:03 +02:00
Joachim Wiberg 4acaa170e4 mech: add support for ietf-system:set-current-datetime rpc
Also adds:
 - namespace validation
 - proper rpc operation lookup

Fixes:
 - ietf-system:system-shutdown (broken due do invalid op)

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-24 01:50:36 +01:00
Joachim Wiberg 688c0ce2f7 mech: add support for ietf-system state data
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-24 01:50:36 +01:00
Joachim Wiberg 2ff4f869fa board/common: add ID_LIKE, BUILD_ID and ARCHITECTURE to /etc/os-release
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-24 01:50:36 +01:00
Joachim Wiberg cdb68cb611 package/skeleton-init-finit: add remaining Frr daemons
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-24 01:50:36 +01:00
Joachim Wiberg 8cff15e215 package/skeleton-init-finit: drop stdout log redirection
lldpd already use syslog

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-24 01:50:31 +01:00
Joachim Wiberg b25a374409 mech: drop unused code
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-23 18:40:18 +01:00
Joachim Wiberg 35b0880e7b package/clixon: add clish alias and append to /etc/shells
Allow clixon_cli to be a login shell.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-23 15:00:15 +01:00
Joachim Wiberg 80f57d0809 Add Building section and ToC
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-23 14:51:49 +01:00
Joachim Wiberg 89d08338ce mech: initial support for ietf-interfaces state data
First example of how to implement supoort for ro/state-data.
Only oper-status and phys-address per interface currently.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-23 13:25:23 +01:00
Joachim Wiberg 2abb0a5eb9 mech: add support for setting interface description as ifalias
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-23 13:24:26 +01:00
Joachim Wiberg 4730f3fe09 mech: clean up developer logs in ietf-interfaces
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-23 13:23:54 +01:00
Joachim Wiberg ec7d72c4c5 package/finit: bump to latest snapshot
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-22 09:43:41 +01:00
Joachim Wiberg cbc0374251 mech: add support for ietf-system:system-restart and system-shutdown
Shutdown depends on how the kernel is configured, on most embedded
systems this just means reboot.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-16 19:32:24 +01:00
Joachim Wiberg 2124f27d2c mech: initial support for ietf-interfaces and ietf-ip
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-16 17:40:39 +01:00
Joachim Wiberg 6df91143ba board/common: no need to clean up rc.local or /etc/network/*
In managed NETCONF mode /etc is always based on the image's read-only
/etc with a read-writable overlay as a RAM disk.  We control the image
and know the default rc.local is empty and the interfaces file only
list the loopback interface.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-16 17:38:38 +01:00
Tobias Waldekranz c74203720a mech: Compress empty yang containers in CLI
E.g. instead of: `set interfaces interface eth0`

We can now say: `set interface eth0`
2023-03-16 16:13:09 +01:00
Joachim Wiberg 74cf105512 mech: fix disabling chronyd when system ntp client is disabled
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-16 15:55:13 +01:00
Joachim Wiberg 0da4578362 board/common: allow lldpd to run by default in NETCONF mode
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-16 15:55:13 +01:00
Joachim Wiberg 24d2f28fb6 board/common: allow default auth:none restconf via nginx to clixon
- Only disable default services we don't need, prevents touching
   services mid-air in runlevel S.  Allow nginx now as well
 - Enable fcgi based RESTCONF interface via nginx by default
 - Enable auth:none for customer demo

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-16 15:55:13 +01:00
Tobias Waldekranz 3c6c2ec66d mech: Import ietf-{interface,ip} models 2023-03-16 15:48:38 +01:00
Tobias Waldekranz f7f6333b6f mech: Generate a tree representation of the YANG model
If pyang is available, generate texual and HTML representations of the
system's YANG model.
2023-03-16 15:48:38 +01:00
Joachim Wiberg 4e46b60b6f mech: deviation /sys:system/clock/timezone-utc-offset not-supported
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-16 08:26:21 +01:00
Joachim Wiberg 0185efeb3f mech: add support for setting timezone, e.g. Europe/Stockholm
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-16 08:00:40 +01:00
Joachim Wiberg f0e659c185 chrony: does not support SIGHUP, requires /var/lib/chrony
Chrony drops privs after startup to user chrony, when restarting it
writes its state in /var/lib/chrony, so the directory needs to have
the correct permissions for that user.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-16 07:26:40 +01:00
Joachim Wiberg 4ca2e2d8c4 mech: initial support for ietf-system ntp using chrony
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-16 07:26:40 +01:00
Joachim Wiberg 79f4baf519 board/common: enable syslog LOG_DEBUG messages to /var/log/debug
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-16 06:37:56 +01:00
Joachim Wiberg fa45015140 mech: debug transactions
For observability. All transactions that reach ietf-system are logged
with LOG_DEBUG log level.  See /var/log/debug for details.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-16 06:37:56 +01:00
Joachim Wiberg 17424a140f mech: ensure clixon_backend always use syslog backend
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-16 06:37:56 +01:00
Joachim Wiberg d130011f96 mech: common convenience library, currently only XML debug fns
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-16 06:37:56 +01:00
Joachim Wiberg d01617a79e board/amd64: enable RTC subsystem
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-16 06:37:56 +01:00
Joachim Wiberg 00daab72fc package/mech: start clixon_backend as 'clixon', redirect stdout/err
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-14 20:32:38 +01:00
Joachim Wiberg 90b4a739b5 mech: always run initctl in batch mode when in non-interactive mode
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-14 20:31:50 +01:00
Joachim Wiberg 28b6cecb73 package/clixon: bump to 6.1.0+kkit
Tracking kkit branch (clixon 6.1+) w/a for issue #334.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-14 17:05:21 +01:00
Joachim Wiberg 48f819b315 package/cligen: bump to v6.1.0
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-14 17:05:00 +01:00
Joachim Wiberg e9b252b514 buildroot: bump to 2023.02 LTS
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-14 16:07:15 +01:00
Joachim Wiberg 060af92a29 package/clixon: /var/clixon is a directory
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-14 09:38:08 +01:00
Joachim Wiberg 7a4fe98a3e mech: remember hard-coded strings
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-14 09:06:22 +01:00
Joachim Wiberg f43b31b1f5 mech: system headers before clixon, skip sys/ prefix
The canonical location for syslog.h is in the root.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-14 09:06:22 +01:00
Joachim Wiberg 1aac798041 mech: must specify model revision
Found when debugging output from "show state", which displayed NULL for
the infix model.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-14 09:06:22 +01:00
Joachim Wiberg 77f6d5e82e mech: use same pager as Clixon by default
Add configurable pager support to Clixon later.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-14 09:06:22 +01:00
Joachim Wiberg cc5453bfbd mech: use new 'show -n' to skip shell user's help notice
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-14 09:06:22 +01:00
Joachim Wiberg 3c4ff8cabb board/common: add 'show -n' for no footer output
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-14 09:06:22 +01:00
Joachim Wiberg 6fec738628 board/common: make sure to enable clixon_backend in NETCONF mode
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-14 09:06:22 +01:00
Joachim Wiberg 6a591ddd5a mech: use NOTICE file and spdx format for Apache 2.0 license
Recommendations on how to apply the Apache 2.0 license to a project from
https://www.linkedin.com/pulse/how-apply-apache-20-license-your-open-source-software-vladimír-gorej/

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-14 09:06:22 +01:00
Joachim Wiberg d8d761bfa4 mech: change license to Apache v2.0, same as Clixon package
To facilitate linking and circumvent any possible legal problems.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com>
2023-03-14 09:06:22 +01:00
Joachim Wiberg 2f7dbe110a src/mech: add some basic 'show' commands
- Example of optional args (show log [FILE])
 - Example of dynamic expansion
 - Example of how to re-enable signals for external commands
 - Example of hidden commands
 - Add basic 'help' command for the current level

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-14 09:06:22 +01:00
Joachim Wiberg 9041c54dbd README: mention Clixon and add Qeneth as alternative to GNS3
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-14 09:06:22 +01:00
Joachim Wiberg 9f74bac06c README: fix footnote link
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-14 09:06:22 +01:00
Joachim Wiberg 70a393ec99 package/mech: minor, for Buildroot conformance
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-14 09:06:22 +01:00
Tobias Waldekranz 77d94e0ffd doc: Expand boot procedure documentation
Provide more details on the boot procedure, different image types
used, how to configure the bootloader, and how to perform system
upgrades.
2023-03-13 23:20:01 +01:00
Tobias Waldekranz 19672fcc58 rauc: Initial support
Add support for firmware updates via RAUC on aarch64. The created RAUC
bundle (images/infix-$BR2_ARCH.pkg) is signed with the same key used
to sign the raw FIT image.
2023-03-13 14:46:37 +01:00
Tobias Waldekranz e7112ca0c9 qemu: Support mounting host filesystem inside guest
This is mounted at /mnt/host in the guest. By default the images
directory is mounted.
2023-03-13 13:53:12 +01:00
Tobias Waldekranz 162f019574 aarch64: Remove U-Boot envimage generation from defconfig
This created a circular dependency that caused the build to fail. This
is now handled by the mkdisk.sh script instead.
2023-03-13 10:21:08 +01:00
Tobias Waldekranz bf240e0d89 amd64: Update GNS3 appliance generation to use the disk image
The appliance now uses the same QEMU setup as when using `make run`
with OVMF loader.
2023-03-13 09:57:04 +01:00
Tobias Waldekranz 6cc26307b7 common: Mark output from Infix shell scripts similarly to Make
Similarly to how $(call IXMSG,"hello world") outputs a blue
information line from a makefile, provide `ixmsg` to accomplish the
same thing in shell scripts.

Use a different prefix (`#!:` vs `>>>`) to differentiate it from
makefile output.
2023-03-13 09:57:04 +01:00
Tobias Waldekranz d777d59ee2 common: Prettify output from Infix extensions to the build system
This makes it easier to spot where we've added things (that might not
work :))
2023-03-13 09:57:04 +01:00
Tobias Waldekranz 3c720892dc aarch64: Cleanup unused stuff from defconfig
Config options are now loaded internally by the post-image script.

We never use the EXT image for anything.
2023-03-13 09:57:04 +01:00
Tobias Waldekranz f3304a6539 common: Unify disk image generation across aarch64 and amd64
On amd64, we use grub instead of U-Boot, because yours truly can't
figure out how to handle ACPI handover to the kernel.

The resulting image is now called disk.img instead of the old mmc.img,
since we can use it over any interface (e.g. virtio or SCSI).
2023-03-13 09:57:03 +01:00
Tobias Waldekranz 515d9f6e84 config: Replace $() with ${}
This lets us source .config from shell scripts
2023-03-13 09:56:37 +01:00
Tobias Waldekranz 96af542d40 qemu: Consolidate DTB extension handling in qemu.sh 2023-03-13 09:55:16 +01:00
Tobias Waldekranz e9adde4100 qemu: Add option to start with UEFI instead of BIOS 2023-03-13 09:55:16 +01:00
Tobias Waldekranz 81f0276a31 qemu: Remove redundant enabling of KVM 2023-03-13 09:55:16 +01:00
Tobias Waldekranz 7ba2e0a0b1 qemu: Always use disk images when using U-Boot
The U-Boot scripts won't accept a raw squash.
2023-03-13 09:55:16 +01:00
Tobias Waldekranz d1607cc2f3 doc: Document boot process and image formats 2023-03-13 09:55:16 +01:00
Tobias Waldekranz 9869c1a290 common: uboot: Update environment to new disk layout
- Adapt boot scripts to exepect the split FIT header/SquashFS image
  layout.

- Make sure that we can boot from any kind of block device (most
  importantly virtio for GNS3).

- Rename net -> dhcp as we might have more kinds of netboots in the
  future (http).
2023-03-13 09:55:16 +01:00
Tobias Waldekranz 8296a98e61 common: Use plain SquashFS images on disk
Store FIT headers separately on aux, and place the raw SquashFS images
on primary/secondary. This removes the need to muck about with the
device mapper to setup the rootfs, and it allows us to boot using
syslinux files.
2023-03-13 09:55:16 +01:00
Joachim Wiberg c328c41eff package/profeth: document QEMU_NET_TAP_N=10 requirement
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-09 07:21:50 +01:00
Joachim Wiberg 6c1a53ffdb package/skeleton-init-finit: add missing /etc/sysctl.d directory
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-09 07:17:21 +01:00
Joachim Wiberg 597207b7dd profeth: drop copy of p-net headers, use library headers instead
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-09 06:58:46 +01:00
Joachim Wiberg 67727e3050 configs: enable PROFINET support in default builds
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-09 05:58:09 +01:00
Joachim Wiberg 8eb879c8b2 board/amd64: enable E1000 ethernet nic support for Qemu
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-09 05:58:09 +01:00
Joachim Wiberg f8738de608 package/skeletin-init/finit: per-package tmpfiles.d directory
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-09 05:58:09 +01:00
Joachim Wiberg 2f0b2e113e package/skeleton-init-finit: update lldpd configuration
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-09 05:58:09 +01:00
Joachim Wiberg 0f38ac54f8 src/profeth: add submodules for all ports, matching the GSD file
These changes allow profeth to pass the Automatic RT Tester's first
behavior tests: Scenario 1-9.

 - Explorative changes to the GSD file to appease the conformance tool
 - Fix mismatch in installed submodules vs advertised ports in GSD file

Note: changes in GSD file only match the amd64 virtual build.  Must be
      updated for the final product.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-09 05:58:09 +01:00
Joachim Wiberg 25db613398 Refactor boot mode handling
With the recent `if:<cond>` addition to Finit we can simplify a lot of
the logic for disabling and enabling features in Infix.  Standardizing
on conditions that Finit provides.

We create boot/netconf, boot/etc, and boot/profinet conditions early,
after all filesystems have been mounted (and cleaned), so they are all
set before Finit loads its configuration files in runlevel S.

The default is still to boot into a managed NETCONF mode, since the end
goal remains to integrate PROFINET as yet another service.  The other
mode, native /etc, should then be the only exception.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-08 20:02:03 +01:00
Joachim Wiberg 81212e12f1 package/profeth: persistent data in /var/lib, syslog.conf
Split tmpfiles config in two, one for snmpd and one for profeth.
Add logging and redirect profeth logs to /log/profinet.log with
default log rotation.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-08 20:02:03 +01:00
Joachim Wiberg f8670f7150 package/p-net: increase log level slightly Fatal -> Info
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-08 20:01:55 +01:00
Joachim Wiberg 917633f439 mech: create the /run/clixon directory at boot
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-08 18:40:25 +01:00
Joachim Wiberg e94b4de865 rootfs: add handy /log shortcut to /var/log
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-08 18:39:23 +01:00
Joachim Wiberg 5045c6e6ba utils: use same IP subnet as PROFINET Automated RT Tester
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-08 17:05:37 +01:00
Joachim Wiberg f41846fab4 src/profeth: use RT-Labs VendorID and DeviceID for now
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-06 15:08:20 +01:00
Joachim Wiberg 4942a53483 package/profeth: add set_network_parameters script
Allow profeth to set IP address, netmask and gateway on PROFINET set.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-06 15:08:09 +01:00
Joachim Wiberg 06599d2097 package/finit: bump for next snapshot
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-06 10:54:00 +01:00
Joachim Wiberg 5ddbb2cf55 utils: helper script for briding a Qemu instance with the real world
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-06 10:50:58 +01:00
Joachim Wiberg 7cf945af5b board/common: add PROFINET boot mode, compliments native /etc
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-06 10:50:58 +01:00
Joachim Wiberg 6c7d945e8b profeth: use /var/run/agentx/master socket instead of default
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-06 10:50:58 +01:00
Joachim Wiberg bb62d58b17 profeth: branding
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-06 10:50:58 +01:00
Joachim Wiberg c0c087e719 src/profeth: fix system IP address/netmask and gateway query
Replace the old p-net API for querying the interface address, netmask
and gateway with the new ones that use getifaddrs() and inspect the
kernel routing table.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-06 10:50:58 +01:00
Joachim Wiberg e33f191d07 package/profeth: add support for starting and monitoring PROFINET
An Infix build with PROFINET gears Net-SNMP heavily towards acting as a
servant to profeth (p-net stack).  This will be hard-coded for now until
we've integrated it all better in Clixon.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-06 10:50:58 +01:00
Joachim Wiberg d572bc78f3 package/skeleton-init-finit: add support for monitoring net-snmp
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-06 10:50:58 +01:00
Joachim Wiberg 5a003c40c3 package/skeleton-init-finit: add env file to mini-snmpd
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-06 10:50:58 +01:00
Joachim Wiberg e3adc8a6e4 src/profeth: add GPLv3 license and basic README
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-06 10:50:58 +01:00
Joachim Wiberg 221cc0b1f6 mech: move Finit service .conf to package and add conditions
The new if: conditions require latest Finit master, unreleased v4.4

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-06 10:50:58 +01:00
Joachim Wiberg 90a1fd99ec board/common: ensure cache directory for nginx is created at boot
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-06 10:50:58 +01:00
Joachim Wiberg 80b23566b5 board/common: use same method to determine operating mode
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-06 10:50:58 +01:00
Joachim Wiberg 281183755b qemu: replace -nic with -netdev to get >8 NICs, fix MAC calculation
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-06 10:50:58 +01:00
Tobias WaldekranzandJoachim Wiberg 5a441252f8 profeth: Initial add 2023-03-06 10:50:58 +01:00
Tobias WaldekranzandJoachim Wiberg 23a25147cc package/p-net: new package
Use ael fork with not-yet upstreamed fixes for now.

Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com>
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-06 10:50:51 +01:00
Joachim Wiberg 04e646ab40 qemu: default to 256M RAM for both targets
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-28 14:47:56 +01:00
Joachim Wiberg 7537e7e263 package/clixon: prevent host install from stripping .so files
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-28 11:34:59 +01:00
Joachim Wiberg bc7b366c85 package/cligen: prevent host install from stripping .so files
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-28 11:34:55 +01:00
Joachim Wiberg 046b15fbc0 common: separate handling of aarch64 and amd64 images, for now
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-28 11:33:35 +01:00
Joachim Wiberg 759f8aa589 aarch64: add missing $BR2_ARCH arg to post-image.sh
Needed by sign.sh when creating the image.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-28 11:33:08 +01:00
Tobias WaldekranzandJoachim Wiberg d8c529a2a7 common: Make U-Boot's auxiliary environment accessable from Infix
This is not the full environment used by U-Boot, just the bits needed
for U-Boot to know which slot to boot and for Infix to know how the
boot process went.

U-Boot will selectively import/export only these keys during boot,
which avoids a malicious user from altering the boot in a way that
might bypass signature validation.
2023-02-28 11:01:04 +01:00
Tobias WaldekranzandJoachim Wiberg dd8bcca180 common: Generate a new dev cert with a distant expiry date
100 years ought to be enough for everyone.
2023-02-28 11:00:15 +01:00
Tobias WaldekranzandJoachim Wiberg d4432b72dd common: uboot: Add missing blkmap patches
The blkmap patches were not included in the original U-Boot Secure
Boot changeset.

Fixes: d243c80 ("aarch64: Convenience target to configure a QEMU compatible U-Boot")
2023-02-28 11:00:15 +01:00
Tobias WaldekranzandJoachim Wiberg 07dd863fb9 common: Remove remnants of old separate FIT-header-PoC
Now that the uncut FIT is stored in primary/secondary, we don't create
any FIT header files.

Fixes: 499a8f7 ("common: Create (e)MMC image with redundant root filesystems")
2023-02-28 11:00:15 +01:00
Joachim Wiberg c94c360d4a configs: sync aarch64 with amd64 to get Clixon, Frr, nginx, etc.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-28 10:49:27 +01:00
Joachim Wiberg 513316f19e configs: drop qemu tap settings, default should bet user
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-27 15:56:38 +01:00
Joachim Wiberg 47c39c311f Basic User Guide for the Open Source base
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-24 20:08:34 +01:00
Joachim Wiberg 48a64a39f2 amd64,aarch64: disable udev hwdb, not needed currently
Saves 18 MiB from /etc

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-23 09:41:38 +01:00
Joachim Wiberg 0c07f10062 board/amd64: minor fixups to isolinux.cfg
- Drop unused com32 modules
 - Fix duplicate prompt output (serial not needed)
 - Reduce timeout before booting default to 0.5 sec
 - UI or DEFAULT must be set, otherwise isolinux complains
   so replace ONTIMEOUT with DEFAULT
 - Increase user-walked-away timeout to 5 minutes
 - Always show the prompt

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-23 09:37:40 +01:00
Joachim Wiberg f2dd7430a7 package/finit: bump for next snapshot
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-22 20:00:04 +01:00
Joachim Wiberg fc6a793269 configs/amd64_defconfig: simplify syslinux, drop graphical menu
Not required and often just looks garbled, better to drop it for now.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-22 18:56:28 +01:00
Joachim Wiberg c098629ce9 mkgns3a.sh: increase node ram even more, we need 512 MiB (!) to run
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-22 18:53:30 +01:00
Joachim Wiberg 384ef8c189 package/skeleton-init-finit: fix regression introduced in aee7fb9
On rebuild (without distclean) the getty.conf contained two tty lines
for the same TTY, causing Finit to believe the command line args had
been changed between each reload -- and thus kicking out the logged
in console user who just typed `initctl reload`.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-22 18:51:45 +01:00
Joachim Wiberg 8e7b173de3 mkgns3a.sh: increase node ram, we now provide Frr
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-22 07:32:43 +01:00
Joachim Wiberg 0a5729cbea package/skeleton-init-finit: fix ftbfs regression from aee7fb9
Need to rsync the whole skeleton since we provide more than just the
finit.d files, e.g. /etc/fstab, which we also modify in this .mk.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-22 07:31:31 +01:00
Joachim Wiberg c3d7405b8f Add support for using /usr/bin/pdmenu (setup) as a login shell
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-21 22:28:42 +01:00
Joachim Wiberg 378633fa5c setup: make this the default /etc/pdmenurc in Infix
Set COLORTERM instead of using -c flag.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-21 22:28:42 +01:00
Joachim Wiberg 6cf4a986f5 setup: add support for performing factory reset
Now that we have dialog on target we can add a user-friendly factory
reset dialog.  The new `yorn` script handles any form of yes-or-no
question, with or without dialog, to call a command.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-21 22:28:42 +01:00
Joachim Wiberg 9af4155a83 board/common: always clear the tty after the setup command
Exiting pdmenu leaves artifacts on screen.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-21 22:28:42 +01:00
Joachim Wiberg 0bd3acd361 setup: add support for easily switching system boot mode
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-21 22:28:42 +01:00
Joachim Wiberg 7733f18179 configs/amd64: enable squashfs images as well as kernel support
Now that we only support mmc and squash in `make run` we should make
sure the reference platform works as well as aarch64.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-21 20:12:12 +01:00
Joachim Wiberg 12b5731655 board/common: add support for overriding managed mode
This change adds support for setting the system boot mode to native /etc
style for systems where it's difficult, or close to impossible, to set
the Finit boot condition to 'etc'.

Note: this also moves the check for factory reset before we check if we
should use_etc, rather than NETCONF.  This to allow clearing out any of
the state files (.use_etc) before proceeding to boot in the default mode

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-21 20:05:31 +01:00
Joachim Wiberg 605bd7262b src/factory: use new /mnt/cfg/infix/.reset path
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-21 20:02:34 +01:00
Joachim Wiberg 357799bf47 package/skeleton-init-finit: add support for Frr
1. Use same naming standard for quagga and frr
 2. Only one of quagga and frr can be used at the same time
 3. Subdirectories in available/ only in the skeleton, not on target

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-20 14:49:37 +01:00
Joachim Wiberg aee7fb91d0 package/skeleton-init-finit: refactor, install svc files on demand
Only install the corresponding Finit svc if the package is selected in
the Buildroot menuconfig.  Some packages cannot be enabled by default
though, since they require a daemon configuration file, e.g. in the
case of ulogd it requires a valid /etc/ulogd.conf

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-20 14:49:37 +01:00
Tobias Waldekranz 499a8f718c common: Create (e)MMC image with redundant root filesystems
This image contains:

- A partition to hold bootloader config ("aux").

- Two redundant copies of the FIT framed rootfs (which will be
  upgradable by RAUC from within Infix).

- A partition to store critical configuration data ("cfg")

- A partition to store data created dynamically by Infix ("var")
2023-02-20 10:48:24 +01:00
Tobias Waldekranz ca3966db62 common: Create signature of root filesystem
mkimage will generate an FIT image containing a signature of the
rootfs, where the data is kept out of the DTB data structure, i.e.:

.---------.
|   DTB   |
:---------:
| Padding |
:---------:
|         |
|         |
| rootfs  |
|         |
|         |
'---------'

This is the on-disk format of Infix. At boot, we extract kernel and
device trees from the rootfs, and then use Linux's device mapper to
create a virtual block device that exposes the rootfs (squash).
2023-02-20 10:45:51 +01:00
Tobias Waldekranz 40f55058c6 common: Enable required U-Boot options in fragment file
This ensures that U-Boot images that we build can always:

- Rely on the environment extensions in env.dtsi being available
- Access the configured signing keys
- Use SD/eMMC cards
- Extract files from SquashFS filesystems

All of which are foundations that we intend to design our image
loading around.
2023-02-20 09:57:31 +01:00
Tobias Waldekranz b655ac778a common: Install signing key and environment in U-Boot's build tree
Ensure that whenever U-Boot is built:
- The chosen signing key and is converted to the expected format and
  installed in the build tree.
- Infix's environment extensions are installed in the build tree
2023-02-20 09:57:31 +01:00
Tobias Waldekranz 8716bea698 common: Add a development signing key
Keep a shared in-tree key that can be used to sign Infix images during
development. The idea is that this will also be included in developer
builds of U-Boot.
2023-02-20 09:57:31 +01:00
Tobias Waldekranz 98b59ac20b qemu: Optionally start from U-Boot using MMC disk
This is very useful for testing things like image signature
verification, system upgrades, etc.
2023-02-20 09:57:31 +01:00
Tobias Waldekranz d243c802b0 aarch64: Convenience target to configure a QEMU compatible U-Boot 2023-02-20 09:57:31 +01:00
Tobias Waldekranz 205d6e0187 aarch64: Enable support for PCI SDHC controllers
This let's us easily emulate SD/MMC disks from QEMU.
2023-02-20 08:56:06 +01:00
Joachim Wiberg 1cb4c9ac63 package/finit: bump for next snapshot
This is likely the last before v4.4-rc1.  Last remaining thing is a very
basic tmpfiles.so plugin that replaces a lot of what bootmisc.so hs been
(ab)used for.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-15 19:30:43 +01:00
Joachim Wiberg df6a19bac4 configs; enable nginx and clixon restconf over fcgi
Also add libcurl so all Clixon utility functions and apps are build with
full support for RESTCONF.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-15 19:15:57 +01:00
Joachim Wiberg 14dea1c6e1 src/mech: allow backend to start restconf in fcgi mode
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-15 19:15:22 +01:00
Joachim Wiberg 2875a787d4 package/clixon: add missing libfcgi dependency
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-15 19:14:49 +01:00
Joachim Wiberg 0162c2382a src/mech: sock and pid files should go in /run
This introduces a dependency on /run/clixon to exist when starting up.
Requires a patch to Finit panding the upcoming tempfiles.so plugin.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-15 19:13:08 +01:00
Joachim Wiberg c0c2ca622b board/common: add nginx.conf with /restconf fcgi reverse proxy
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-15 19:11:49 +01:00
Joachim Wiberg b0dfad05fb package/skeleton-init-finit: add support for monitoring nginx
Also needs /var/cache/nginx when starting up.  Requires separate patch
for now, but will be added a tmpflies.so plugn to Finit.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-15 19:10:20 +01:00
Joachim Wiberg efb4efc0a0 Add support for Frr and SMCRoute
Primarily for evaluating OSPF in customer's use-case.  Preparing for
some (static) multicast routing tests as well.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-15 19:03:05 +01:00
Joachim Wiberg 6822c92fb2 package/skeleton-init-finit: fix copy-paste error in chrony env file
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-15 11:17:41 +01:00
Tobias Waldekranz 581c0946b7 defconfig: Build mech by default
Clixon is the future :)
2023-02-10 16:11:34 +01:00
Tobias Waldekranz 00c93cd70c mech: Initial ietf-system support
Only hostname is supported for now.
2023-02-10 16:11:34 +01:00
Tobias Waldekranz 3d35194341 mech: Add infrastructure for backend plugins using Augeas 2023-02-10 16:11:34 +01:00
Tobias Waldekranz 3235f00cd1 mech: Import basic autocli support from clixon's main example
This allows use the autogenerated CLI to modify the database.
2023-02-10 16:11:34 +01:00
Tobias Waldekranz e56348a916 mech: Make startup_db persistent, prepare for factory configs
Keep the transient files in the system's /mnt/tmp, and only persist
startup_db in /cfg.

This design (with a symlink) means that /cfg/startup_db _must_ exist
in order for clixon to start properly. Therefore run
/lib/infix/prep-db to take care of this.

At the moment, this just creates an empty factory config, and copies
it to startup if it doesn't exist. In the future, prep-db could select
a factory config based on some hardware identifier, or even build one
dynamically, based on available ports etc.
2023-02-10 15:51:47 +01:00
Tobias Waldekranz 5a27b30c7c mech: Startup clixon at boot 2023-02-09 10:26:10 +01:00
Tobias Waldekranz 61213c7c3c sshd: Move hostkeys to /var/lib/ssh
This means keys are persistent even when /etc is not.
2023-02-09 10:26:10 +01:00
Tobias Waldekranz fbd68c4a65 qemu: Let user supply extra append options 2023-02-09 10:26:10 +01:00
Tobias Waldekranz 66688b4e5a board/common: mnt: Fix boot/etc detection
Previously, the absense of any finit boot conditions would be
interpreted as unmanaged mode, but managed should be the default.
2023-02-09 10:26:10 +01:00
Tobias Waldekranz d7c83cb9a7 board/common: Make it easier to access the CLI
- Create a shell alias, 'cli'
- Add an sshd subsystem, 'cli'
2023-02-09 10:26:10 +01:00
Tobias Waldekranz 3036b08945 board/common: Split out iface renaming from swup
The factory config part of swup will now only run when in unmanaged
mode.
2023-02-09 09:43:15 +01:00
Tobias Waldekranz 437961a644 board/common: Keep static /etc/iproute2/group
This way we don't have to patch it at every boot.
2023-02-09 09:43:15 +01:00
Tobias Waldekranz fa4a83e38d board/common: Keep our own dhcpcd.conf
This avoids the issue where the config file keeps growing as more
"background" lines are appended to it with each build.
2023-02-09 09:43:15 +01:00
Tobias Waldekranz 16af6f9622 board/common: Remove remnants of dropbear key generation 2023-02-09 09:43:15 +01:00
Tobias Waldekranz 7740baf796 Revert "board/common: enable NETCONF over SSH"
This reverts commit 2ddf9448fe.

Two reasons:

1. We will move to a debian-style /etc/ssh/ssh_config.d/ structure
   soon.

2. In a managed scenario, NETCONF could be disabled, so mech should be
   responsible for activating it at boot.
2023-02-09 09:43:15 +01:00
Joachim Wiberg 7bfb0a9478 Follow-up to 252feef: rename Orc to Mech everywhere
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-08 15:12:57 +01:00
Joachim Wiberg f75842ab8b src/mech: update socket group s/clixon/clicon/
Recommended group according to Clixon FAQ

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-08 14:55:03 +01:00
Joachim Wiberg 8f82d24724 board/common: add clicon user according to FAQ
https://github.com/clicon/clixon/blob/master/doc/FAQ.md#do-i-need-to-setup-anything

With the additional wheel group for the clicon user since our plugins
need to modify files in /etc at bootstrap and reconf.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-08 14:53:47 +01:00
Joachim Wiberg 2ddf9448fe board/common: enable NETCONF over SSH
The allows remote NETCONF access to the Clixon example (for now).  This
will be replaced later with the Clixon Infix system.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-08 14:53:03 +01:00
Joachim Wiberg 83b3a1b1cc board/common: follow-up to 91b40a1, fix bridge access ports
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-08 14:53:03 +01:00
Joachim Wiberg 6de17bb06a board/common: follow-up to 4ca58836b, let less be less
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-08 14:53:03 +01:00
Joachim Wiberg 8fe9e87550 patches/clixon: adjust paths to PID file and XML db store
- Use the more common .pid format for the PID file
 - Use an existing directory for the XML db, /var/lib/misc

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-08 14:53:03 +01:00
Joachim Wiberg 58c2ee159c package/clixon: fix misspelled BR2 variables in clixon.mk
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-08 14:53:01 +01:00
Joachim Wiberg e5545f1d27 Add licensing information, GPL like Buildroot
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-08 14:52:19 +01:00
Joachim Wiberg e5032e1835 board/common: minor shellcheck fixes to mnt script
- Double quoting to prevent word splitting
 - local keyword is undefined in POSIX sh
 - `-m 0755` only applies to deepest directory (ignore)
 - Useless cat
 - Redirect to null, lilke the other mount_rw statements

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-08 14:52:19 +01:00
Tobias Waldekranz 252feef1c4 mech: Initial add
The mechanic, Infix's integration layer to Clixon
2023-02-08 14:05:47 +01:00
Tobias Waldekranz f8b32fb1be package/clixon: Fix default config file location
The comment in the makefile says it all.

With this in place, we can start clixon_{backend,cli,...} without any
arguments.
2023-02-08 14:05:47 +01:00
Joachim Wiberg 41737b2343 package/clixon: new package
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-07 19:12:40 +01:00
Joachim Wiberg aa9a986d4b package/cligen: new package
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-07 19:12:40 +01:00
Tobias Waldekranz ca1467736f common: Refactor persistent storage setup
In the new model, we have three sources of storage:

- /mnt/var: Mountpoint for a disk with the label "var"
- /mnt/cfg: Mountpoint for a disk with the label "cfg"
- /mnt/tmp: Mountpoint for a ramdisk

These sources are used for the following overlays:

- **/cfg, /home, /root**: /mnt/cfg if available, else /mnt/tmp

- **/etc**: /mnt/cfg if available and the boot/etc finit condition is
            set, else /mnt/tmp

- **/var**: /mnt/var if available, else /mnt/tmp

- **/var/lib**: /mnt/var if available, else /mnt/cfg if available,
                else /mnt/tmp

See board/common/rootfs/lib/infix/mnt for more information.
2023-02-07 15:42:35 +01:00
Joachim Wiberg 5ec019f97a Add link to GitHub Releases page
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-06 08:48:53 +01:00
Joachim Wiberg 17692eb250 package/sysrepo-plugin-system: new package
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-01 13:50:25 +01:00
Joachim Wiberg f4c1f48d04 package/sysrepo-plugins-common: new package
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-01 13:14:42 +01:00
Joachim Wiberg baa0d77598 package/umgmt: new package
Required by upcoming package sysrepo-plugin-system by Deutsche Telekom.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-01 12:38:50 +01:00
Joachim Wiberg ad22478866 board/common: allow full color output in setup tool
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-01 08:46:05 +01:00
Joachim Wiberg 326f2024d7 board/common: use plain view of log files in setup tool
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-01 08:46:02 +01:00
Joachim Wiberg 31d036c8c7 board/common: very basic 'setup' tool, also works as login shell
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-01 08:35:36 +01:00
Joachim Wiberg 8525f26137 board/common: fix show formatting in '-p' (plain output) mode
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-01 08:35:36 +01:00
Joachim Wiberg 0d9a218d95 board/common: add '-p' (plain output) to help command
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-01 08:35:36 +01:00
Joachim Wiberg 8b263f2766 board/common: add template /etc/mactab, syntax reminder only
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-01 08:35:36 +01:00
Joachim Wiberg 92ce79bc7a board/common: add simple 'hostnm' script to change system hostname
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-01 08:35:36 +01:00
Joachim Wiberg b313096745 board/common: add '-p' option to help script for plain/noansi output
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-01 08:35:36 +01:00
Joachim Wiberg 81698b17a1 board/common: update and fix show script for plain/noansi output
Also, the "show port foo" didn't work.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-01 08:35:36 +01:00
Joachim Wiberg c4f40a49c7 board/common: ensure port+iface group is assigned in factory defaults
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-01 08:35:33 +01:00
Joachim Wiberg 4ca58836b4 board/common: replace edit and editor with symlink to nano
The nano editor has been shown, over and over again, to be more
user-friendly to complete UNIX/Linux beginners than even Mg.

Also, change the default pager/less to be less (again), it was
very confusing to have less be most and more just be more.  We
recommend scripts to use pager and edit/editor to call system
safe defaults.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-31 21:45:32 +01:00
Joachim Wiberg 70b725baec board/common: some helpful hints on port classification and NAT
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-31 20:03:59 +01:00
Joachim Wiberg 5ab09ccad0 Demo issues fixed
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-31 12:35:39 +01:00
Joachim Wiberg 11e96318ef board/common: make rc.local executable, not called otherwise
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-31 12:35:39 +01:00
Joachim Wiberg d100f27585 board/common: import default sysctl.conf from Debian
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-31 12:35:39 +01:00
Joachim Wiberg a1c5e8b33f board/common: drop ifupdown2 defaults, not used anymore
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-31 12:25:58 +01:00
Joachim Wiberg 2e62e0d655 package/ifupdown-ng: fix overlayfs issue (DT_REG)
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-31 11:35:24 +01:00
Joachim Wiberg 69e3e4672b Minor issues observed when preparing the first demo
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-27 19:24:02 +01:00
Joachim Wiberg c84af105ec board/common: 192 MiB RAM is not longer enough, increase to 256 MiB
Regrettably, the latest additions of functionality to Infix have also
incresed the size of the ramdisk.  We expect it to go down slightly
before v1.0, but considering we'll add Frr before then it's better to
be realistic of our needs when run in GNS3.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-26 17:59:59 +01:00
Joachim Wiberg 4cc1a14a87 configs: fix .gns3a file generation, missing rw.ext4
Sync amd64 build with genimage support from aarch64.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-26 15:58:04 +01:00
Joachim Wiberg 193a51af86 .github: always update latest tag on builds
The previous fix, setting 'rm: false' to prevent the parallel builds
from replacing each other, caused the latest tag to not be updated.
Very confusing, not just to end-users, but also for devs.

This patch changes the workflow to use a separate release step that
runs in sequence, waiting for the build to finish, before it moves
the latest tag.

The trick to solving this is to use upload/download artifact.  It is the
recommended way of sharing files between independent jobs in a workflow.
Notice the lack of 'name:' in both and 'path:' in the latter, it means
"don't care" just upload and then download everything to the artifact/
directory.  Making the job of the releaser action quite simple.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-26 08:22:05 +01:00
Joachim Wiberg cba6926918 TODO: wizard idea, use pdmenu for initial setup
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-25 21:22:49 +01:00
Joachim Wiberg 2d7ca5ac88 board/common: drop bridge.template, same text now in 'help net'
Will also be part of the upcoming setup-bridge wizard built on pdmenu.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-25 21:20:45 +01:00
Joachim Wiberg 91b40a1385 Fix factory default, untagged access ports
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-25 21:16:38 +01:00
Joachim Wiberg 37ab226c9e Adjust ingress, we've moved to ifupdown-ng
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-25 21:00:00 +01:00
Joachim Wiberg ee926b52a2 Update 'help' with info on most, pwgen, fping, socat, etc.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-25 20:57:54 +01:00
Joachim Wiberg 2872227ec1 configs: add ttyd to all builds for sharing terminal over web
Experimental, may be reverted later after evaluation.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-25 20:50:27 +01:00
Joachim Wiberg b3c08d3503 configs: add irqbalance and the full kmod tools, for evaluation
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-25 20:49:19 +01:00
Joachim Wiberg 4aec9bf8cb configs: add pdmenu, neofetch, and pwgen to all builds
- pdmenu for the made-easy management tool for Infix
 - neofetch is just for demo purposes, we can add KernelKit logo
 - pwgen is for basic help, like netcalc

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-25 20:47:11 +01:00
Joachim Wiberg 05d86832f0 configs: enable fping and netcat for all builds
- fping is better for checking multiple hosts
 - OpenBSD netcat has more features and is generally better for multiple
   network testing scenarios

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-25 20:44:45 +01:00
Joachim Wiberg 45a03f17f8 configs: enable stress-ng, for stressing SoC, kernel, etc.
For board bringup, burn in testing, compliance testing, and general
troubleshooting.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-25 20:42:58 +01:00
Joachim Wiberg e7fad6fc7f We have terminfo for more terminals, let's default to TERM=linux
This gives us much better rendering of help system and other
console mode tools.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-25 20:41:40 +01:00
Joachim Wiberg 683e16cba2 configs: enable text-mode browser lynx
For debugging and external viewing of, e.g., man pages.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-25 20:40:18 +01:00
Joachim Wiberg df1cf36437 Change help viewer to 'most', more helpful to newbies
- Default to start pager (most), fall back to less/more/cat
 - Drop : from sub-headings
 - Repeat 'See Also' section
 - Relocate network section's Interesting Files to end
 - Add dhcpcd.conf to list of interesting files

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-25 20:36:55 +01:00
Joachim Wiberg 08cd175cfc package/tetris: new package
Small easter egg for presentations, demos, etc.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-25 19:57:32 +01:00
Joachim Wiberg 028298714a configs: add conntrack tools to default build
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-25 19:02:40 +01:00
Joachim Wiberg 579d0b5789 configs: add universal nework logging daemon (netfilter logging)
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-25 19:01:52 +01:00
Joachim Wiberg fdd94a5943 configs: add nftables, with iptables compat, to default build
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-25 19:00:05 +01:00
Joachim Wiberg 36ccea2ab0 configs: enable a few more network debugging tools
- traceroute + mtr
 - nmap et al

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-25 17:52:06 +01:00
Joachim Wiberg 04ad1b90e3 Minor update, mention GNS3 support, initial password, and 'help'
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-25 17:41:13 +01:00
Joachim Wiberg 3e4891bcaf board/common: update gns3a template, better description and usage
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-25 17:41:13 +01:00
Joachim Wiberg e421e938ff board/common: ensure dhcpcd backgrounds immediately for quicker boot
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-25 17:41:13 +01:00
Joachim Wiberg 96c8f838e3 Update online help slightly
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-25 17:41:13 +01:00
Joachim Wiberg 2730c87772 configs: udev + dbus + avahi
This patch drops our use of mdnsd and mdev in regular Infix builds, yet
keeping them in the config and repo for smaller builds, e.g. endpoints.

Also, enable dbus to increase level of integration between compoents.
The dbus-test-tool is included for debugging connections.

Since it's about the tenth time I've been missing strace on target, it
too is added in this commit.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-25 17:41:13 +01:00
Joachim Wiberg f5a95b3a91 package/finit: bump to latest snapshot (pre -rc1)
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-25 17:41:13 +01:00
Joachim Wiberg 1fd929a68e buildroot: bump to latest master for upcoming 2023 LTS
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-25 17:41:13 +01:00
Joachim Wiberg 1ee3ab604d package/skeleton-init-finit: enable Avahi if selected in Buildroot
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-25 17:41:13 +01:00
Joachim Wiberg d6e578e060 package/ifupdown-ng: change to KernelKit integration branch
- Disable IPv6 on bridge links when adding to a bridge

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-25 12:41:14 +01:00
Joachim Wiberg 7a9af5d244 package/skeleton-init-finit: let /var/lock be a symlink to /run/lock
The whole of /var may be read-only, while /run is a newstyle ramdisk.
The /run/lock directory is created by the Finit bootmisc.so plugin at
boot.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-24 14:45:52 +01:00
Joachim Wiberg 51f24b7765 board/common: initial /etc/mdev.conf from mdev-like-a-boss
- Support modprobe for hotplugged devices
 - Allow writable /dev/{null,zero,...} by all users
 - Correct TTY and console permissions
 - Adapt groups to Buildroot standard (Debian)

https://github.com/slashbeast/mdev-like-a-boss

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-24 08:06:07 +01:00
Joachim Wiberg fef42eb45b configs: switch from ifupdown2 to ifupdown-ng
- Replace ISC dhclient with dhcpcd => IPv4 link-local address
 - Enable openresolv to handle /etc/resolv.conf for us
 - iproute2 was a dependency of ifupdown2, but now we need to
   enable it explicitly
 - Ensure we have the same default system interface in infix
 - Reenable BusyBox applets disabled when enabling ifupdown2, for
   infix derivatives that may prefer a smaller base image.

Note: ifupdown-ng prefers dhcpcd over udhcpc, so no risk for conflict by
      reenabling udhcpc.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-19 18:09:26 +01:00
Joachim Wiberg 9fd0015873 package/ifupdown-ng: new package
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-19 16:13:15 +01:00
Joachim Wiberg 9018024ca9 Add support for generating GNS3 appliance file for amd64 builds
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-16 19:15:40 +01:00
Joachim Wiberg 2a89445570 board/common: default to show group 'iface' in show iface command
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-16 19:15:40 +01:00
Joachim Wiberg 59a2abb203 board/common: include a default (empty) rc.local as example
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-16 19:15:40 +01:00
Joachim Wiberg 9cda32b4f5 board/common: bridge template for ifupdown2
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-16 19:15:40 +01:00
Joachim Wiberg e514cf419d board/common: use swup to ensure port and iface groups exist
Used by the 'show' script for grouping and filtering Linux interfaces.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-16 19:15:40 +01:00
Joachim Wiberg 3283090401 .github: always replace artifacts in the latest release
With two parallel builds (amd64, aarch64) we have contention of who last
uploads their artifact, meaning aarch currently removes the amd64 build.
This change should fix that.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-12 15:21:56 +01:00
Joachim Wiberg 3160162f9c .github: debug workflow, try *.tar.gz instead of *.tgz
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-11 22:43:59 +01:00
Joachim Wiberg ebc776bbfc .github: add workflow to build and upload tarballs to latest tag
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-11 18:35:32 +01:00
Joachim Wiberg b05f51f673 Guidelines for how to contribute to the project
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-11 18:07:12 +01:00
Joachim Wiberg d625a4915d Import a general CoC for project
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-11 17:58:35 +01:00
Joachim Wiberg bc21f93ec2 Add support for returning a device to factory defaults
This change adds a `factory` tool, and login shell, that schedules a
reset of all writable (overlay) filesystems.  The tool is set up with
the suid gid flag to allow all members of the wheel group to perform
the reset.

The login method only allows reset from /dev/console, to prevent any
malicious reset over SSH.  This should be further constrained later
when PAM is introduced.

To initiate factory reset from the login prompt, use login/pass:

    factory/reset

To initiate factory reset from the shell, call

    factory

Both methods are interactive by default, but two command line options
can be used to modify the behavior:

  -r  Skip reboot, and "reboot now?" question
  -y  Assume yes to all questions, for non-interactive use

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-04 15:24:36 +01:00
Joachim Wiberg ec177085d9 Reminders for later
@wkz look here, something for your ~/.emacs:

(use-package magit-org-todos
  :after magit
  :config
  (magit-org-todos-autoinsert)
  (setq magit-org-todos-filename "TODO.org"))

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-03 20:41:15 +01:00
Joachim Wiberg c748128137 configs: enable jq regexp support with Oniguruma
Needed by, e.g., new swup script, but also everything else we might want
to do with jq in any sane way.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-03 20:37:22 +01:00
Joachim Wiberg ccba72b083 Add factory default, all switch ports in group VLAN 1 on br0
This change checks¹ if the system does not have a br0 interface, creates
a default one consisting of all switch ports in VLAN 1 of br0.

On top of br0 a vlan1 management interface is created with DHCP address.

For emulation and test purposes, a way to supply tap interfaces from
Qemu, and pass off as if they were regular switch ports, is added.
____
¹ obviously a better way to detect a factory-reset device is needed,
  not all systems running infix will need or want a br0 interface.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-03 18:25:18 +01:00
Joachim Wiberg ec3c6e245a show: drop auto-port classification
This should now be handled by the swup script at bootstrap instead.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-03 18:14:43 +01:00
Joachim Wiberg 7e56dec874 board/common: new ifduown2 dhcp policy
Do not wait for dhclient to acquire first release, this will cause
unnecessary delays when booting, and not provide any real value in our
system.  Because we will never have any service that depends on a
network address being set when starting up, this is a feature that
Finit can provide for us as a condition when starting such services.

Also, never set global "README" in multiple policy files, this will
cause ifupdown2 to crash in horrific ways.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-03 17:11:02 +01:00
Joachim Wiberg ef86cd23f4 configs: enable rngd to improve entropy with /dev/hwrng
Also, enable virtio-rng-pci in Qemu for testing.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-12-21 10:35:37 +01:00
Joachim Wiberg 1c5730d193 configs: enable jq for all targets
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-12-21 10:35:00 +01:00
Joachim Wiberg 50493740e4 board/common: new script swup
Probe for switch ports, classify, rename interfaces according to mactab

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-12-20 16:32:21 +01:00
Joachim Wiberg c3cf4a4d60 board/common: set local mgmt interface prefix policy for ifupdown2
The default policy for management interface prefix in ifupdown2 is
"eth", which currently clashes with Infix default switch port names.
Changing our naming policy of switch ports to "swpN", mimicing the
naming using in Cumulus Linux, would also help.  To be discussed.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-12-16 11:29:32 +01:00
Joachim Wiberg d9841fbf3e board/common: override ifupdown2 addons.conf
We will not use features like batman, vxrd, or openvswitch.  Also, the
clagd and vxrd addons are not in ifupdown2, so likely proprietary ext.
by Cumulus.  Dropping them makes "unknown addon" warnings go away.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-12-16 11:27:22 +01:00
Joachim Wiberg 26e127d495 configs: enable mdnsd for all platforms
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-12-14 23:06:16 +01:00
Joachim Wiberg e3c772e25a package/ifupdown2: bump to latest git hash
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-12-14 23:05:07 +01:00
Joachim Wiberg ab6c156c89 board/common: add compat symlinks to ip command
Various scripts and tools search for the ip command in different
places.  Most distros install it to /bin/ip and symlink to /sbin
and /usr dito, but Buildroot only installs to /sbin/ip

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-12-14 22:21:16 +01:00
Joachim Wiberg 6a5ce15fc0 package/ifupdown2: use older version of python-mako for now
This is a workaround for the following code in ifupdown/template.py:37
that throw the exception with python-mako >= 1.2.0:

    try:
        self.logger.debug('setting template lookuppath to %s'
                template_lookuppath)
        lc = utils.importName('mako.lookup', 'TemplateLookup')
        self.tclassargs['lookup'] = lc(
                    directories=template_lookuppath.split(':'))
    except Exception as e:
        self.logger.warning('unable to set template lookup path'
                            ' %s (%s): are you sure \'python3-mako\''
                            'is installed?'
                            % (template_lookuppath, str(e)))

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-12-14 22:21:16 +01:00
Joachim Wiberg af6907a380 package/python-templating: port of old python-mako
The ifupdown2 package is incompatible with python-mako >= v1.2.0.  So as
a workaround we add the old one as a local override.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-12-14 22:21:16 +01:00
Joachim Wiberg 245c298f0d configs: drop old ifupdown-scripts, not needed anymore
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-12-14 22:21:16 +01:00
Joachim Wiberg 6829e0b72d Follow-up to e7d3a42: add noauto to cfgfs, optional feature atm
Unlike debugfs, cfgfs is currently an optional feature in Infix, so
let's set it to noauto for now.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-12-14 22:21:16 +01:00
Joachim Wiberg bf37f8bbf8 package/mdnsd: new package
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-12-14 22:21:16 +01:00
Joachim Wiberg dc42c70f4e configs: enable IGMP querier daemon in default builds
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-12-14 22:21:16 +01:00
Joachim Wiberg cfb8a8aa88 package/querierd: new package
The Westermo querierd is an IGMP querier daemon for use on top of a
standard Linux VLAN-aware bridge.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-12-14 22:21:16 +01:00
Joachim Wiberg 1653980b19 configs/aarch64_defconfig: enable mdio-tools
Latest Buildroot now has mdio-tools in mainline.  This is useful when
debugging devices attaced over MDIO interfaces, eg. switches.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-12-14 22:21:16 +01:00
Joachim Wiberg 08fba1ea05 buildroot: bump to latest master, preparing for 2023.02 LTS
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-12-14 22:21:16 +01:00
Joachim Wiberg 3c02e4b675 board/common: silence runtime warnings from ifupdown2
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-12-14 22:21:16 +01:00
Joachim WibergandGitHub 698420b90d Mention ifupdown2, another load bearing component 2022-12-13 17:36:15 +01:00
Joachim Wiberg 63b0849ca7 qemu: prefer squashfs as initrd if enabled in .config
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-12-13 17:34:19 +01:00
Joachim Wiberg 66f605681d configs: enable socat, for testing and scripting
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-12-13 17:34:19 +01:00
Joachim Wiberg 989a81fdc9 Enable ifupdown2 for all platforms, replacing BusyBox ifup/ifdown
This change replaces the BusyBox ifup/ifdown applets with the full-blown
ifupdown2 package.  To get it fully working we also need to enable a few
missing kernel features: ipv4 + ipv6, multiple routing tables, and some
netfilter features.  We take the opportunity to sync kernel features in
between the two archs as well.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-12-13 17:34:19 +01:00
Joachim Wiberg cd5282c636 package/ifupdown2: new package
This is the next generation ifupdown from Cumulus Networks (now NVIDIA).
The idea is to use this to set up everything port/lag/vlan/interface
related in the system.

This first import uses the kkit branch from the KernelKit fork, becuase
of, amongst other things, integration problems with upstream packages.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-12-13 17:34:19 +01:00
Tobias Waldekranz e7d3a42eec common: Mount configfs, if available 2022-12-12 16:07:25 +01:00
Tobias Waldekranz d56937f9dc qemu: Support passing custom options to setup user mode networking
This can be used to specify things like port forwards, TFTP server,
etc.
2022-12-12 16:07:25 +01:00
Joachim Wiberg c2c45026d0 show: add support for port classification and "show port NAME"
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-12-08 11:29:58 +01:00
Joachim Wiberg e2f3e43461 Update .PHONY rule, missing argument
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-12-08 11:29:58 +01:00
Joachim WibergandGitHub e14eccbbc0 Revert, project front page is not as wide
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-12-05 21:18:28 +01:00
Joachim WibergandGitHub ed341df849 Force line break in project description for effect
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-12-05 21:16:42 +01:00
Joachim WibergandGitHub d9fc2c68d2 Update README.md
Drop Introduction heading, redundant.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-12-05 21:15:18 +01:00
Joachim Wiberg 073f2fb043 qemu: move quick-help text to right before starting qemu
The qemu.sh script can fail, due to misconfiguration or other problems,
before it actually starts qemu.  Therefore, move the help text to right
before starting the emulator.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-12-05 21:12:04 +01:00
Joachim Wiberg 8d9bd8ec09 Roll out final product branding
Change all inf/IX or Inf/IX to plain Infix after steering group meeting.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-12-05 21:09:05 +01:00
Joachim Wiberg 333f972d12 board/marvell: drop linux-extras, merged in aarch6/linux_defconfig
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-12-05 20:39:03 +01:00
Joachim Wiberg 5446978a5a Minor, spellcheck and mention new EspressoBIN support
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-11-26 17:59:41 +01:00
Joachim Wiberg 179024b091 doc: add raw svg logos made using Inkscape
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-11-26 17:09:43 +01:00
Joachim Wiberg a83542df8d Change to logo variant more suitable for dark mode
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-11-26 17:09:15 +01:00
Joachim Wiberg 1b426edc2a New logo
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-11-26 17:08:59 +01:00
Joachim Wiberg 6530bcaacb Drop ASCII logo and convert to an introduction
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-11-26 17:08:46 +01:00
Joachim Wiberg 5adb612dda board/aarch64: initial support for EspressoBIN
- Drop Cortex A72 in favor of more general A53 images
 - Enable device trees for all supported EspressoBIN models
 - Bump kernel to latest 6.0
 - Currently only starts from SD card, so add genimage to post-build
 - Create Ext2/4 disk image for SD card
 - Add infix-rw partition to sd-card image
 - The genimage tool needs genext2fs to create rw.ext4

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-11-26 17:05:26 +01:00
Joachim Wiberg 0bbb908114 patches/mstdp: drop, already in Buildroot
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-11-26 17:05:14 +01:00
Tobias Waldekranz 9358a0f277 aarch64: Enable SMP support for SparX-5i
Upstream device trees specify regular PSCI support for SparX-5i, but
the U-Boot that Microchip ships does not actually support it.
Therefore, wrap the upstream version to disable PSCI and revert to
spin tables for SMP bringup.
2022-11-24 22:55:11 +01:00
Tobias Waldekranz a3ed770e1e aarch64: Add make target to flash U-Boot to the SparX-5i eval board 2022-11-24 22:55:11 +01:00
Joachim Wiberg 0a5870aa64 package/skeleton-init-finit: sync OpenSSH support from myLinux
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-11-23 18:03:28 +01:00
Joachim Wiberg 766e07e9c3 amd64,aarch64: change from Dropbear SSH -> OpenSSH
OpenSSH also enable OpenSSL and ZLIB, both of which we'll need later.
This in turn means Net-SNMP no longer needs its built-in OpenSSL stub.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-11-23 18:02:22 +01:00
Joachim Wiberg 6e2438da6e patches/tcpdump: backport DSA fix for extracting VID
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-11-23 14:41:23 +01:00
Joachim Wiberg 23ce9485ea packages/skeleton-init-finit: sync Finit start scripts with myLinux
This adds Finit support for starting chronydy and mstpd, as well as
an update to inadyn supporting env file for custom args.

Also included is a patch to the start script of mstpd for BusyBox pidof,
which don't have the '-c' option.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-11-23 14:41:23 +01:00
Joachim Wiberg 9f9581ae83 amd64,aarch64: drop Finit watchdog in favor of watchdogd
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-11-23 14:41:23 +01:00
Joachim Wiberg c5ffeb2d06 qemu: add default options to enable i6300 WDT and host RTC
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-11-23 14:41:23 +01:00
Joachim Wiberg 2a06a50687 amd64,aarch64: enable kernel watchdog driver support
- At least softdog should always be there
 - Add i6300esb driver for Qemu

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-11-23 14:41:23 +01:00
Joachim Wiberg 49b0e81571 aarch64,amd64: add chrony, dnsmasq, mstpd, net-snmp, ssdpd, watchdogd
- chrony will be used as NTP v3/v4 server
 - dnsmasq will serve as a DNS forwarder and DHCP server when the
   very basic BusyBox DHCP server is insufficient
 - mstpd provides RSTP support
 - ssdp-responder provides device discovery in Windows
 - watchdogd provides basic system supervision and reset cause logging

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-11-23 14:41:23 +01:00
Tobias Waldekranz feb73e84ef doc: Unbricking instruction for SparX-5i eval board
For...you know...other people.
2022-11-22 15:33:25 +01:00
Tobias Waldekranz 4d41f16a7e common: Add ethtool to defconfigs 2022-11-21 20:46:23 +01:00
Joachim Wiberg 41eaae2369 Follow-up to a399bc1, re-add Finit to project identity
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-11-20 11:36:36 +01:00
Joachim Wiberg 25205f0957 common: follow-up to 3cb7606, prevent host key regen on boot
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-11-20 11:33:44 +01:00
Joachim Wiberg 0bdacbf59b common: add default /etc/issue
Preparing for the upcoming Finit v4.4 which takes system information
from /etc/os-release -- reduces branding efforts.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-11-20 11:33:44 +01:00
Joachim Wiberg a399bc1f88 motd logo too big, move to README for now
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-11-20 11:33:44 +01:00
Joachim Wiberg 03023c23af aarch64,amd64: enable tcpdump support
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-11-19 15:50:00 +01:00
Joachim Wiberg ceacc5a3dc common: add support for 'factory' to reset /rw/infix to defaults
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-11-19 12:36:43 +01:00
Joachim Wiberg 1d89526fac common: resize serial terminal on login
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-11-19 12:18:38 +01:00
Joachim Wiberg 8d0653b5e9 common: default Inf/IX message of the day
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-11-19 12:18:08 +01:00
Joachim Wiberg f5f4af380e common: colorize fdb/mdb and route show commands
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-11-18 17:54:37 +01:00
Joachim Wiberg 9ef2078758 common: standardize on 8 char (tab) indent for shell scripts
Like Buildroot

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-11-18 17:49:15 +01:00
Joachim Wiberg 138a4261a3 common: add 'show fdb' and 'show mdb' commands
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-11-18 17:48:20 +01:00
Joachim Wiberg 5355876821 common: source /etc/bash.bashrc to disable built-in help command
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-11-18 17:44:22 +01:00
Joachim Wiberg 4e8e5bc228 aarch64,amd64: enable netcalc command line tool
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-11-18 17:44:22 +01:00
Joachim Wiberg 82bd7ea032 mkfit.sh: silent by default
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-11-18 17:44:22 +01:00
Joachim Wiberg 8388c647bf common: add 'help' and 'show' commands
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-11-18 17:44:22 +01:00
Joachim Wiberg e8c2f11821 aarch64,amd64: enable LLDP support
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-11-18 17:08:59 +01:00
Joachim Wiberg 3cb760626e aarch64,amd64: enable SSH servver support using Dropbear daemon
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-11-18 17:08:59 +01:00
Joachim Wiberg 71948c6c9b aarch64,amd64: enable IEC 62439-2 MRP bridge and userspace support
Set up bridge first:

    root@infix:~# ip link set dev eth0 up
    root@infix:~# ip link set dev eth1 up
    root@infix:~# ip link set dev eth2 up
    root@infix:~# ip link set dev eth3 up
    root@infix:~# ip link add name br0 type bridge
    root@infix:~# ip link set dev eth0 master br0
    root@infix:~# ip link set dev eth1 master br0
    root@infix:~# ip link set dev eth2 master br0
    root@infix:~# ip link set dev eth3 master br0

Start MRP server and add a configuration:

    root@infix:~# mrp_server &
    root@infix:~# mrp addmrp bridge br0 ring_nr 1 pport eth0 sport eth1 ring_role mrm
    root@infix:~# mrp addmrp bridge br0 ring_nr 2 pport eth2 sport eth3 ring_role mrm
    root@infix:~# mrp getmrp
    bridge: br0 ring_nr: 1 pport: eth0 sport: eth1 ring_role: MRM ring_state: CHK_RO
    bridge: br0 ring_nr: 2 pport: eth2 sport: eth3 ring_role: MRM ring_state: CHK_RC

Once all rings are set up:

    root@infix:~# ip link set dev br0 up

For more information, see:

 - https://github.com/microchip-ung/mrp
 - https://lwn.net/Articles/809089/

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-11-18 17:08:59 +01:00
Joachim Wiberg 8fe0ac2901 Follow-up to 0332cfe: fix aarch64 toolchain regression
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-11-18 17:08:59 +01:00
Tobias Waldekranz dc9de06317 README: Add some basic documentation 2022-11-18 16:24:32 +01:00
Tobias Waldekranz 4948cfebff aarch64/sparx5: Add support for PCB135 (eMMC) board 2022-11-18 16:24:32 +01:00
Tobias Waldekranz cef9cd9e44 aarch64/kernel: Support SparX-5i 2022-11-18 16:24:32 +01:00
Joachim WibergandTobias Waldekranz 15572e9ec6 aarch64: enable bash, en_CA locale, tzdata, and tmux
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-11-18 12:05:51 +01:00
Joachim WibergandTobias Waldekranz e641ca947e aarch64: replace package override with local.mk rule in external.mk
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-11-18 12:05:51 +01:00
Joachim WibergandTobias Waldekranz 0332cfe483 configs: bump kernel to last 5.19
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-11-18 12:05:51 +01:00
Joachim WibergandTobias Waldekranz 0d31903736 amd64: enable common rootfs overlay import Buildroot linux_defconfig
The Buildroot linux_defconfig doesn't have CONFIG_OVERLAY_FS, which we
need for our shared rootfs overlay.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-11-18 12:05:51 +01:00
Joachim WibergandTobias Waldekranz 92dde2ea20 amd64: enable bash, en_CA locale, tzdata, and tmux
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-11-18 12:05:51 +01:00
Joachim WibergandTobias Waldekranz d322a7153c configs: sync aarch64 and amd64 defconfigs, same kernel + packages
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-11-18 12:05:51 +01:00
Joachim WibergandTobias Waldekranz 9e3a9e12d1 amd64: update defconfig and change from uclibc to glibc
Also, like the other defconfigs, ensure we have gdb-server on target.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-11-18 12:05:51 +01:00
Joachim WibergandTobias Waldekranz d8d05b5278 qemu: silence dd and mkfs outputs, otherwise used by qemu
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-11-18 12:05:51 +01:00
Joachim WibergandTobias Waldekranz 7badb97d06 qemu: add support for x86_64 with ext2 rootfs
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-11-18 12:05:51 +01:00
Joachim Wiberg e3c4bffb99 qemu: drop debug message from stdout
Fixes first-start error: "Qemu: cannot find 'Creating'"

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-11-18 07:59:54 +01:00
Tobias Waldekranz b2befc4566 build: Optionally build an FIT image with all enabled DTBs 2022-11-17 20:26:53 +01:00
Tobias Waldekranz aba3d1c5ce aarch64: Add post-build script to defconfig 2022-11-17 20:24:53 +01:00
Tobias Waldekranz 7477f81d71 post-image: Remove old QEMU remnants
TODO: Restore x86_64 support
2022-11-17 20:16:38 +01:00
Tobias Waldekranz 5ec3817bf3 aarch64/sparx5: Add defconfig to build U-Boot for devboard 2022-11-17 16:05:20 +01:00
Tobias Waldekranz 4232b22b76 qemu: Add virtualization support
The virtualized system is configured through kconfig under "External
Options"->"QEMU Virtualization".

To launch the system, simply run "make run". This works both from
output directories, and from the infix root with O= set.
2022-11-17 00:19:23 +01:00
Tobias Waldekranz e2fbd55970 aarch64: Add kernel defconfig
Default to build CN9130 for now.
2022-11-16 20:29:48 +01:00
Tobias Waldekranz e8943b77cf rootfs: Disable mg backups by default 2022-11-16 20:28:41 +01:00
Tobias Waldekranz 1e326a1ce2 rootfs: Add ipaddr/iplink aliases to the default profile 2022-11-16 20:27:42 +01:00
Tobias Waldekranz 45d07372d8 rootfs: Pluggable ifup scripts
Allow networking config to be supplied from multiple fragmens in
/etc/network/interfaces.d. This way, a user can customize their setup
without having to override /etc/network/interfaces.
2022-10-06 10:50:32 +02:00
Tobias Waldekranz d3e32f3286 rootfs: Add support for persistent system configuration 2022-10-06 10:46:13 +02:00
Tobias Waldekranz c4e6a24a47 rootfs: Add common overlay
Start out with some convenience macros and a proper PS1.
2022-10-06 10:46:02 +02:00
Tobias Waldekranz ef8f975b58 aarch64: Add mg and iproute2 to defconfig 2022-10-06 10:41:51 +02:00
Tobias Waldekranz 8b4c2615b2 aarch64: Initial support
Start with a basic config for the CN9130-CRB board.
2022-09-27 16:02:20 +02:00
Tobias Waldekranz 2bffa52be3 common/post-build: Use infix's version, not buildroot's, in os-release
This way we can more easily know exactly from which commit an image
was built.
2022-09-27 16:02:20 +02:00
Tobias Waldekranz 878e46c3f9 common/post-build: Make architecture independent
Until there's a real need to specify a variant, let's just not.
2022-09-27 16:02:20 +02:00
Tobias Waldekranz 9f31622e77 Add defconfig to build U-Boot for CN9130 CRB
NOTE: We globally disable stack protection, as the ATF specific
setting for disabling it does not seem to be respected by all rules in
the repo.
2022-09-27 13:26:23 +02:00
Tobias Waldekranz 3d9ad3b65b boot/arm-trusted-firmware: Workaround for non-GIT source builds
For some reason, the ATF build system does not deem an mv-ddr-marvell
archive to be valid unless it versioned using GIT. This is obviously
not the case when building from a tarball downloaded from GitHub.

Therefore, remove the check.

Despite the ominous warning above the removed line, the lack of a .git
directory does not seem to have any detrimental effect on the
generated artifact - at least not on a Marvell CN9130 build.
2022-09-27 13:20:06 +02:00
Tobias Waldekranz f6348db852 buildroot: Bump to 2022.08 2022-09-13 13:28:46 +02:00
Joachim Wiberg 2181bda965 package/finit: wrap custom fstab setting in an advanced sub-menu
Turns out its real easy to get this wrong, ending up with a "" as your
default fstab.  Since this is an advanced option let's mark it as such.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-06-13 05:43:05 +02:00
Joachim Wiberg 22de57e0dc configs: enable Buildroot host env. setup for SDK relocation
Note: update-defconfig moved sysklogd config and dropped custom headers.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-06-13 05:42:08 +02:00
Joachim Wiberg 38b5c16dc1 board/common: generate /etc/os-release in new post-build.sh
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-05-18 08:33:23 +02:00
Joachim Wiberg 06c1306dc5 board/common: enable kernel quiet mode by default
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-05-17 08:49:31 +02:00
Joachim Wiberg 976c45b2b1 configs/amd64: add e2fsprogs for fsck.auto
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-05-17 08:49:13 +02:00
Joachim Wiberg 123937ea5f configs/amd64: enable sysklogd as system logger
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-05-17 08:45:50 +02:00
Joachim Wiberg 48195a1894 configs/amd64: enable finit by default
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-05-17 08:44:44 +02:00
Joachim Wiberg 2dd603113b package/finit: new init package, with skeleton
This patch imports Finit v4.3 from myLinux to infIX along with a
rudimentary rootfs skeleton.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-05-17 08:43:08 +02:00
Joachim Wiberg 1b492c905a configs: add custom BusyBox defconfig for amd64_defconfig
- Disable default init
 - Disable syslogd/klogd

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-05-17 08:41:11 +02:00
Joachim Wiberg fb018ece43 Minor fixups, make buildroot/Makefile and order-only dep
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-05-16 08:23:10 +02:00
Joachim Wiberg a441f9a988 Create basic BR2_EXTERNAL, with a twist
Initial defconfig is based on Buildroot qemu_x86_64_defconfig, with a
Bootlin pre-built toolchain and a very basic qemu.sh script, generated
by a local post-image.sh, for `make run`.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-05-09 19:52:45 +02:00
1987 changed files with 33952 additions and 1544923 deletions
+45
View File
@@ -0,0 +1,45 @@
Contributor Code of Conduct
===========================
As contributors and maintainers of this project, and in the interest of
fostering an open and welcoming community, we pledge to respect all
people who contribute through reporting issues, posting feature
requests, updating documentation, submitting pull requests or patches,
and other activities.
We are committed to making participation in this project a
harassment-free experience for everyone, regardless of level of
experience, gender, gender identity and expression, sexual orientation,
disability, personal appearance, body size, race, ethnicity, age,
religion, or nationality.
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery
* Personal attacks
* Trolling or insulting/derogatory comments
* Public or private harassment
* Publishing other's private information, such as physical or electronic
addresses, without explicit permission
* Other unethical or unprofessional conduct.
Project maintainers have the right and responsibility to remove, edit,
or reject comments, commits, code, wiki edits, issues, and other
contributions that are not aligned to this Code of Conduct. By adopting
this Code of Conduct, project maintainers commit themselves to fairly
and consistently applying these principles to every aspect of managing
this project. Project maintainers who do not follow or enforce the Code
of Conduct may be permanently removed from the project team.
This code of conduct applies both within project spaces and in public
spaces when an individual is representing the project or its community.
Instances of abusive, harassing, or otherwise unacceptable behavior may
be reported by opening an issue or contacting one or more of the project
maintainers.
This Code of Conduct is adapted from the [Contributor Covenant][1],
[version 1.2.0][2].
[1]: http://contributor-covenant.org
[2]: http://contributor-covenant.org/version/1/2/0/
+78
View File
@@ -0,0 +1,78 @@
Contributing to Infix
=====================
We welcome any and all help in the form of bug reports, fixes, patches
to add new features -- *preferably as GitHub pull requests*. Other
methods are of course also possible: emailing the [maintainers][] a
patch or even a raw file, a feature request or an alert of a problem.
If you are unsure of what to do, or how to implement an idea or bugfix,
open an issue with `"[RFC: Unsure if this is a bug ... ?"`, or use the
GitHub discussions forum, so we can discuss it. Talking about the code
first is the best way to get started before submitting a pull request.
Either way, when sending an email, patch, or pull request, start by
stating the version the change is made against, what it does, and why.
Please take care to ensure you follow the project coding style and the
commit message format. If you follow these recommendations you help
the maintainer(s) and make it easier for them to include your code.
Coding Style
------------
> **Tip:** Always submit code that follows the style of surrounding code!
First of all, lines are allowed to be longer than 72 characters these
days. In fact, there exist no enforced maximum, but keeping it around
100 chars is OK.
The coding style itself is otherwise strictly Linux [KNF][].
Commit Messages
---------------
Commit messages exist to track *why* a change was made. Try to be as
clear and concise as possible in your commit messages, and always, be
proud of your work and set up a proper GIT identity for your commits:
git config --global user.name "Jane Doe"
git config --global user.email jane.doe@example.com
Example commit message from the [Pro Git][gitbook] online book, notice
how `git commit -s` is used to automatically add a `Signed-off-by`:
Brief, but clear and concise summary of changes
More detailed explanatory text, if necessary. Wrap it to about 72
characters or so. In some contexts, the first line is treated as
the subject of an email and the rest of the text as the body. The
blank line separating the ummary from the body is critical (unless
you omit the body entirely); tools like rebase can get confused if
you run the two together.
Further paragraphs come after blank lines.
- Bullet points are okay, too
- Typically a hyphen or asterisk is used for the bullet, preceded
by a single space, with blank lines in between, but conventions
vary here
Signed-off-by: Jane Doe <jane.doe@example.com>
Code of Conduct
---------------
It is expected of everyone to respect the [Code of Conduct][conduct].
The *"maintainers have the right and responsibility to remove, edit,
or reject comments, commits, code, wiki edits, issues, and other
contributions that are not aligned to this Code of Conduct."*
[1]: ../doc/MAINTAINERS
[KNF]: https://en.wikipedia.org/wiki/Kernel_Normal_Form
[gitbook]: https://git-scm.com/book/ch5-2.html
[conduct]: CODE-OF-CONDUCT.md
+79
View File
@@ -0,0 +1,79 @@
name: Bob the Builder
#on:
# push:
# branches:
# - '*'
# pull_request:
# branches:
# - '*'
on:
pull_request:
workflow_dispatch:
jobs:
build:
name: Build ${{ matrix.platform }}
runs-on: ubuntu-latest
strategy:
matrix:
platform: [aarch64, amd64]
fail-fast: false
steps:
- uses: actions/checkout@v3
- name: Set Build Variables
id: vars
run: |
echo "dir=infix-${{ matrix.platform }}" >> $GITHUB_OUTPUT
echo "tgz=infix-${{ matrix.platform }}.tar.gz" >> $GITHUB_OUTPUT
- name: Restore Cache of dl/
uses: actions/cache@v3
with:
path: dl/
key: dl-${{ matrix.platform }}-${{ hashFiles('.git/modules/buildroot/HEAD', 'configs/*', 'package/*/*.hash') }}
restore-keys: |
dl-${{ matrix.platform }}-
dl-
- name: Restore Cache of .ccache/
uses: actions/cache@v3
with:
path: .buildroot-ccache/
key: ccache-${{ matrix.board }}-os-${{ hashFiles('.git/modules/buildroot/HEAD', 'package/*/*.hash') }}
restore-keys: |
ccache-${{ matrix.board }}-os-
ccache-${{ matrix.board }}-
ccache--os-
- name: Configure & Build
run: |
make ${{ matrix.platform }}_defconfig
make
- name: Prepare Artifact
run: |
cd output
mv images ${{ steps.vars.outputs.dir }}
tar cfz ${{ steps.vars.outputs.tgz }} ${{ steps.vars.outputs.dir }}
ls -l
ls -l ${{ steps.vars.outputs.dir }}
- uses: actions/upload-artifact@v3
with:
path: output/${{ steps.vars.outputs.tgz }}
release:
name: Upload Latest Build
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v3
- uses: pyTooling/Actions/releaser@main
with:
tag: latest
rm: true
token: ${{ secrets.GITHUB_TOKEN }}
files: artifact/*
- name: Summary
run: |
cat <<EOF >> $GITHUB_STEP_SUMMARY
# Latest Build Complete! :rocket:
For the public download links of these build artifacts, please see:
<https://github.com/kernelkit/infix/releases/tag/latest>
EOF
+6
View File
@@ -0,0 +1,6 @@
*~
.gdb_history
/.ccache
/dl
/output*
/local.mk
+3
View File
@@ -0,0 +1,3 @@
[submodule "buildroot"]
path = buildroot
url = ../buildroot.git
-1744
View File
File diff suppressed because it is too large Load Diff
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-18
View File
@@ -1,18 +0,0 @@
/*!
* Lunr languages, `Danish` language
* https://github.com/MihaiValentin/lunr-languages
*
* Copyright 2014, Mihai Valentin
* http://www.mozilla.org/MPL/
*/
/*!
* based on
* Snowball JavaScript Library v0.3
* http://code.google.com/p/urim/
* http://snowball.tartarus.org/
*
* Copyright 2010, Oleg Mazko
* http://www.mozilla.org/MPL/
*/
!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.da=function(){this.pipeline.reset(),this.pipeline.add(e.da.trimmer,e.da.stopWordFilter,e.da.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.da.stemmer))},e.da.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.da.trimmer=e.trimmerSupport.generateTrimmer(e.da.wordCharacters),e.Pipeline.registerFunction(e.da.trimmer,"trimmer-da"),e.da.stemmer=function(){var r=e.stemmerSupport.Among,i=e.stemmerSupport.SnowballProgram,n=new function(){function e(){var e,r=f.cursor+3;if(d=f.limit,0<=r&&r<=f.limit){for(a=r;;){if(e=f.cursor,f.in_grouping(w,97,248)){f.cursor=e;break}if(f.cursor=e,e>=f.limit)return;f.cursor++}for(;!f.out_grouping(w,97,248);){if(f.cursor>=f.limit)return;f.cursor++}d=f.cursor,d<a&&(d=a)}}function n(){var e,r;if(f.cursor>=d&&(r=f.limit_backward,f.limit_backward=d,f.ket=f.cursor,e=f.find_among_b(c,32),f.limit_backward=r,e))switch(f.bra=f.cursor,e){case 1:f.slice_del();break;case 2:f.in_grouping_b(p,97,229)&&f.slice_del()}}function t(){var e,r=f.limit-f.cursor;f.cursor>=d&&(e=f.limit_backward,f.limit_backward=d,f.ket=f.cursor,f.find_among_b(l,4)?(f.bra=f.cursor,f.limit_backward=e,f.cursor=f.limit-r,f.cursor>f.limit_backward&&(f.cursor--,f.bra=f.cursor,f.slice_del())):f.limit_backward=e)}function s(){var e,r,i,n=f.limit-f.cursor;if(f.ket=f.cursor,f.eq_s_b(2,"st")&&(f.bra=f.cursor,f.eq_s_b(2,"ig")&&f.slice_del()),f.cursor=f.limit-n,f.cursor>=d&&(r=f.limit_backward,f.limit_backward=d,f.ket=f.cursor,e=f.find_among_b(m,5),f.limit_backward=r,e))switch(f.bra=f.cursor,e){case 1:f.slice_del(),i=f.limit-f.cursor,t(),f.cursor=f.limit-i;break;case 2:f.slice_from("løs")}}function o(){var e;f.cursor>=d&&(e=f.limit_backward,f.limit_backward=d,f.ket=f.cursor,f.out_grouping_b(w,97,248)?(f.bra=f.cursor,u=f.slice_to(u),f.limit_backward=e,f.eq_v_b(u)&&f.slice_del()):f.limit_backward=e)}var a,d,u,c=[new r("hed",-1,1),new r("ethed",0,1),new r("ered",-1,1),new r("e",-1,1),new r("erede",3,1),new r("ende",3,1),new r("erende",5,1),new r("ene",3,1),new r("erne",3,1),new r("ere",3,1),new r("en",-1,1),new r("heden",10,1),new r("eren",10,1),new r("er",-1,1),new r("heder",13,1),new r("erer",13,1),new r("s",-1,2),new r("heds",16,1),new r("es",16,1),new r("endes",18,1),new r("erendes",19,1),new r("enes",18,1),new r("ernes",18,1),new r("eres",18,1),new r("ens",16,1),new r("hedens",24,1),new r("erens",24,1),new r("ers",16,1),new r("ets",16,1),new r("erets",28,1),new r("et",-1,1),new r("eret",30,1)],l=[new r("gd",-1,-1),new r("dt",-1,-1),new r("gt",-1,-1),new r("kt",-1,-1)],m=[new r("ig",-1,1),new r("lig",0,1),new r("elig",1,1),new r("els",-1,1),new r("løst",-1,2)],w=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,48,0,128],p=[239,254,42,3,0,0,0,0,0,0,0,0,0,0,0,0,16],f=new i;this.setCurrent=function(e){f.setCurrent(e)},this.getCurrent=function(){return f.getCurrent()},this.stem=function(){var r=f.cursor;return e(),f.limit_backward=r,f.cursor=f.limit,n(),f.cursor=f.limit,t(),f.cursor=f.limit,s(),f.cursor=f.limit,o(),!0}};return function(e){return"function"==typeof e.update?e.update(function(e){return n.setCurrent(e),n.stem(),n.getCurrent()}):(n.setCurrent(e),n.stem(),n.getCurrent())}}(),e.Pipeline.registerFunction(e.da.stemmer,"stemmer-da"),e.da.stopWordFilter=e.generateStopWordFilter("ad af alle alt anden at blev blive bliver da de dem den denne der deres det dette dig din disse dog du efter eller en end er et for fra ham han hans har havde have hende hendes her hos hun hvad hvis hvor i ikke ind jeg jer jo kunne man mange med meget men mig min mine mit mod ned noget nogle nu når og også om op os over på selv sig sin sine sit skal skulle som sådan thi til ud under var vi vil ville vor være været".split(" ")),e.Pipeline.registerFunction(e.da.stopWordFilter,"stopWordFilter-da")}});
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-1
View File
@@ -1 +0,0 @@
!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.hi=function(){this.pipeline.reset(),this.pipeline.add(e.hi.trimmer,e.hi.stopWordFilter,e.hi.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.hi.stemmer))},e.hi.wordCharacters="ऀ-ःऄ-एऐ-टठ-यर-िी-ॏॐ-य़ॠ-९॰-ॿa-zA-Z-zA-0-9-",e.hi.trimmer=e.trimmerSupport.generateTrimmer(e.hi.wordCharacters),e.Pipeline.registerFunction(e.hi.trimmer,"trimmer-hi"),e.hi.stopWordFilter=e.generateStopWordFilter("अत अपना अपनी अपने अभी अंदर आदि आप इत्यादि इन इनका इन्हीं इन्हें इन्हों इस इसका इसकी इसके इसमें इसी इसे उन उनका उनकी उनके उनको उन्हीं उन्हें उन्हों उस उसके उसी उसे एक एवं एस ऐसे और कई कर करता करते करना करने करें कहते कहा का काफ़ी कि कितना किन्हें किन्हों किया किर किस किसी किसे की कुछ कुल के को कोई कौन कौनसा गया घर जब जहाँ जा जितना जिन जिन्हें जिन्हों जिस जिसे जीधर जैसा जैसे जो तक तब तरह तिन तिन्हें तिन्हों तिस तिसे तो था थी थे दबारा दिया दुसरा दूसरे दो द्वारा न नके नहीं ना निहायत नीचे ने पर पहले पूरा पे फिर बनी बही बहुत बाद बाला बिलकुल भी भीतर मगर मानो मे में यदि यह यहाँ यही या यिह ये रखें रहा रहे ऱ्वासा लिए लिये लेकिन व वग़ैरह वर्ग वह वहाँ वहीं वाले वुह वे वो सकता सकते सबसे सभी साथ साबुत साभ सारा से सो संग ही हुआ हुई हुए है हैं हो होता होती होते होना होने".split(" ")),e.hi.stemmer=function(){return function(e){return"function"==typeof e.update?e.update(function(e){return e}):e}}();var r=e.wordcut;r.init(),e.hi.tokenizer=function(i){if(!arguments.length||null==i||void 0==i)return[];if(Array.isArray(i))return i.map(function(r){return isLunr2?new e.Token(r.toLowerCase()):r.toLowerCase()});var t=i.toString().toLowerCase().replace(/^\s+/,"");return r.cut(t).split("|")},e.Pipeline.registerFunction(e.hi.stemmer,"stemmer-hi"),e.Pipeline.registerFunction(e.hi.stopWordFilter,"stopWordFilter-hi")}});
File diff suppressed because one or more lines are too long
-1
View File
@@ -1 +0,0 @@
!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.hy=function(){this.pipeline.reset(),this.pipeline.add(e.hy.trimmer,e.hy.stopWordFilter)},e.hy.wordCharacters="[A-Za-z԰-֏ff-ﭏ]",e.hy.trimmer=e.trimmerSupport.generateTrimmer(e.hy.wordCharacters),e.Pipeline.registerFunction(e.hy.trimmer,"trimmer-hy"),e.hy.stopWordFilter=e.generateStopWordFilter("դու և եք էիր էիք հետո նաև նրանք որը վրա է որ պիտի են այս մեջ ն իր ու ի այդ որոնք այն կամ էր մի ես համար այլ իսկ էին ենք հետ ին թ էինք մենք նրա նա դուք եմ էի ըստ որպես ում".split(" ")),e.Pipeline.registerFunction(e.hy.stopWordFilter,"stopWordFilter-hy"),e.hy.stemmer=function(){return function(e){return"function"==typeof e.update?e.update(function(e){return e}):e}}(),e.Pipeline.registerFunction(e.hy.stemmer,"stemmer-hy")}});
File diff suppressed because one or more lines are too long
-1
View File
@@ -1 +0,0 @@
!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var r="2"==e.version[0];e.ja=function(){this.pipeline.reset(),this.pipeline.add(e.ja.trimmer,e.ja.stopWordFilter,e.ja.stemmer),r?this.tokenizer=e.ja.tokenizer:(e.tokenizer&&(e.tokenizer=e.ja.tokenizer),this.tokenizerFn&&(this.tokenizerFn=e.ja.tokenizer))};var t=new e.TinySegmenter;e.ja.tokenizer=function(i){var n,o,s,p,a,u,m,l,c,f;if(!arguments.length||null==i||void 0==i)return[];if(Array.isArray(i))return i.map(function(t){return r?new e.Token(t.toLowerCase()):t.toLowerCase()});for(o=i.toString().toLowerCase().replace(/^\s+/,""),n=o.length-1;n>=0;n--)if(/\S/.test(o.charAt(n))){o=o.substring(0,n+1);break}for(a=[],s=o.length,c=0,l=0;c<=s;c++)if(u=o.charAt(c),m=c-l,u.match(/\s/)||c==s){if(m>0)for(p=t.segment(o.slice(l,c)).filter(function(e){return!!e}),f=l,n=0;n<p.length;n++)r?a.push(new e.Token(p[n],{position:[f,p[n].length],index:a.length})):a.push(p[n]),f+=p[n].length;l=c+1}return a},e.ja.stemmer=function(){return function(e){return e}}(),e.Pipeline.registerFunction(e.ja.stemmer,"stemmer-ja"),e.ja.wordCharacters="一二三四五六七八九十百千万億兆一-龠々〆ヵヶぁ-んァ-ヴーア-ン゙a-zA-Z-zA-0-9-",e.ja.trimmer=e.trimmerSupport.generateTrimmer(e.ja.wordCharacters),e.Pipeline.registerFunction(e.ja.trimmer,"trimmer-ja"),e.ja.stopWordFilter=e.generateStopWordFilter("これ それ あれ この その あの ここ そこ あそこ こちら どこ だれ なに なん 何 私 貴方 貴方方 我々 私達 あの人 あのかた 彼女 彼 です あります おります います は が の に を で え から まで より も どの と し それで しかし".split(" ")),e.Pipeline.registerFunction(e.ja.stopWordFilter,"stopWordFilter-ja"),e.jp=e.ja,e.Pipeline.registerFunction(e.jp.stemmer,"stemmer-jp"),e.Pipeline.registerFunction(e.jp.trimmer,"trimmer-jp"),e.Pipeline.registerFunction(e.jp.stopWordFilter,"stopWordFilter-jp")}});
-1
View File
@@ -1 +0,0 @@
module.exports=require("./lunr.ja");
-1
View File
@@ -1 +0,0 @@
!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.kn=function(){this.pipeline.reset(),this.pipeline.add(e.kn.trimmer,e.kn.stopWordFilter,e.kn.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.kn.stemmer))},e.kn.wordCharacters="ಀ-಄ಅ-ಔಕ-ಹಾ-ೌ಼-ಽೕ-ೖೝ-ೞೠ-ೡೢ-ೣ೤೥೦-೯ೱ-ೳ",e.kn.trimmer=e.trimmerSupport.generateTrimmer(e.kn.wordCharacters),e.Pipeline.registerFunction(e.kn.trimmer,"trimmer-kn"),e.kn.stopWordFilter=e.generateStopWordFilter("ಮತ್ತು ಈ ಒಂದು ರಲ್ಲಿ ಹಾಗೂ ಎಂದು ಅಥವಾ ಇದು ರ ಅವರು ಎಂಬ ಮೇಲೆ ಅವರ ತನ್ನ ಆದರೆ ತಮ್ಮ ನಂತರ ಮೂಲಕ ಹೆಚ್ಚು ನ ಆ ಕೆಲವು ಅನೇಕ ಎರಡು ಹಾಗು ಪ್ರಮುಖ ಇದನ್ನು ಇದರ ಸುಮಾರು ಅದರ ಅದು ಮೊದಲ ಬಗ್ಗೆ ನಲ್ಲಿ ರಂದು ಇತರ ಅತ್ಯಂತ ಹೆಚ್ಚಿನ ಸಹ ಸಾಮಾನ್ಯವಾಗಿ ನೇ ಹಲವಾರು ಹೊಸ ದಿ ಕಡಿಮೆ ಯಾವುದೇ ಹೊಂದಿದೆ ದೊಡ್ಡ ಅನ್ನು ಇವರು ಪ್ರಕಾರ ಇದೆ ಮಾತ್ರ ಕೂಡ ಇಲ್ಲಿ ಎಲ್ಲಾ ವಿವಿಧ ಅದನ್ನು ಹಲವು ರಿಂದ ಕೇವಲ ದ ದಕ್ಷಿಣ ಗೆ ಅವನ ಅತಿ ನೆಯ ಬಹಳ ಕೆಲಸ ಎಲ್ಲ ಪ್ರತಿ ಇತ್ಯಾದಿ ಇವು ಬೇರೆ ಹೀಗೆ ನಡುವೆ ಇದಕ್ಕೆ ಎಸ್ ಇವರ ಮೊದಲು ಶ್ರೀ ಮಾಡುವ ಇದರಲ್ಲಿ ರೀತಿಯ ಮಾಡಿದ ಕಾಲ ಅಲ್ಲಿ ಮಾಡಲು ಅದೇ ಈಗ ಅವು ಗಳು ಎ ಎಂಬುದು ಅವನು ಅಂದರೆ ಅವರಿಗೆ ಇರುವ ವಿಶೇಷ ಮುಂದೆ ಅವುಗಳ ಮುಂತಾದ ಮೂಲ ಬಿ ಮೀ ಒಂದೇ ಇನ್ನೂ ಹೆಚ್ಚಾಗಿ ಮಾಡಿ ಅವರನ್ನು ಇದೇ ಯ ರೀತಿಯಲ್ಲಿ ಜೊತೆ ಅದರಲ್ಲಿ ಮಾಡಿದರು ನಡೆದ ಆಗ ಮತ್ತೆ ಪೂರ್ವ ಆತ ಬಂದ ಯಾವ ಒಟ್ಟು ಇತರೆ ಹಿಂದೆ ಪ್ರಮಾಣದ ಗಳನ್ನು ಕುರಿತು ಯು ಆದ್ದರಿಂದ ಅಲ್ಲದೆ ನಗರದ ಮೇಲಿನ ಏಕೆಂದರೆ ರಷ್ಟು ಎಂಬುದನ್ನು ಬಾರಿ ಎಂದರೆ ಹಿಂದಿನ ಆದರೂ ಆದ ಸಂಬಂಧಿಸಿದ ಮತ್ತೊಂದು ಸಿ ಆತನ ".split(" ")),e.kn.stemmer=function(){return function(e){return"function"==typeof e.update?e.update(function(e){return e}):e}}();var r=e.wordcut;r.init(),e.kn.tokenizer=function(t){if(!arguments.length||null==t||void 0==t)return[];if(Array.isArray(t))return t.map(function(r){return isLunr2?new e.Token(r.toLowerCase()):r.toLowerCase()});var n=t.toString().toLowerCase().replace(/^\s+/,"");return r.cut(n).split("|")},e.Pipeline.registerFunction(e.kn.stemmer,"stemmer-kn"),e.Pipeline.registerFunction(e.kn.stopWordFilter,"stopWordFilter-kn")}});
File diff suppressed because one or more lines are too long
-1
View File
@@ -1 +0,0 @@
!function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():t()(e.lunr)}(this,function(){return function(e){e.multiLanguage=function(){for(var t=Array.prototype.slice.call(arguments),i=t.join("-"),r="",n=[],s=[],p=0;p<t.length;++p)"en"==t[p]?(r+="\\w",n.unshift(e.stopWordFilter),n.push(e.stemmer),s.push(e.stemmer)):(r+=e[t[p]].wordCharacters,e[t[p]].stopWordFilter&&n.unshift(e[t[p]].stopWordFilter),e[t[p]].stemmer&&(n.push(e[t[p]].stemmer),s.push(e[t[p]].stemmer)));var o=e.trimmerSupport.generateTrimmer(r);return e.Pipeline.registerFunction(o,"lunr-multi-trimmer-"+i),n.unshift(o),function(){this.pipeline.reset(),this.pipeline.add.apply(this.pipeline,n),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add.apply(this.searchPipeline,s))}}}});
File diff suppressed because one or more lines are too long
-18
View File
@@ -1,18 +0,0 @@
/*!
* Lunr languages, `Norwegian` language
* https://github.com/MihaiValentin/lunr-languages
*
* Copyright 2014, Mihai Valentin
* http://www.mozilla.org/MPL/
*/
/*!
* based on
* Snowball JavaScript Library v0.3
* http://code.google.com/p/urim/
* http://snowball.tartarus.org/
*
* Copyright 2010, Oleg Mazko
* http://www.mozilla.org/MPL/
*/
!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.no=function(){this.pipeline.reset(),this.pipeline.add(e.no.trimmer,e.no.stopWordFilter,e.no.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.no.stemmer))},e.no.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.no.trimmer=e.trimmerSupport.generateTrimmer(e.no.wordCharacters),e.Pipeline.registerFunction(e.no.trimmer,"trimmer-no"),e.no.stemmer=function(){var r=e.stemmerSupport.Among,n=e.stemmerSupport.SnowballProgram,i=new function(){function e(){var e,r=w.cursor+3;if(a=w.limit,0<=r||r<=w.limit){for(s=r;;){if(e=w.cursor,w.in_grouping(d,97,248)){w.cursor=e;break}if(e>=w.limit)return;w.cursor=e+1}for(;!w.out_grouping(d,97,248);){if(w.cursor>=w.limit)return;w.cursor++}a=w.cursor,a<s&&(a=s)}}function i(){var e,r,n;if(w.cursor>=a&&(r=w.limit_backward,w.limit_backward=a,w.ket=w.cursor,e=w.find_among_b(m,29),w.limit_backward=r,e))switch(w.bra=w.cursor,e){case 1:w.slice_del();break;case 2:n=w.limit-w.cursor,w.in_grouping_b(c,98,122)?w.slice_del():(w.cursor=w.limit-n,w.eq_s_b(1,"k")&&w.out_grouping_b(d,97,248)&&w.slice_del());break;case 3:w.slice_from("er")}}function t(){var e,r=w.limit-w.cursor;w.cursor>=a&&(e=w.limit_backward,w.limit_backward=a,w.ket=w.cursor,w.find_among_b(u,2)?(w.bra=w.cursor,w.limit_backward=e,w.cursor=w.limit-r,w.cursor>w.limit_backward&&(w.cursor--,w.bra=w.cursor,w.slice_del())):w.limit_backward=e)}function o(){var e,r;w.cursor>=a&&(r=w.limit_backward,w.limit_backward=a,w.ket=w.cursor,e=w.find_among_b(l,11),e?(w.bra=w.cursor,w.limit_backward=r,1==e&&w.slice_del()):w.limit_backward=r)}var s,a,m=[new r("a",-1,1),new r("e",-1,1),new r("ede",1,1),new r("ande",1,1),new r("ende",1,1),new r("ane",1,1),new r("ene",1,1),new r("hetene",6,1),new r("erte",1,3),new r("en",-1,1),new r("heten",9,1),new r("ar",-1,1),new r("er",-1,1),new r("heter",12,1),new r("s",-1,2),new r("as",14,1),new r("es",14,1),new r("edes",16,1),new r("endes",16,1),new r("enes",16,1),new r("hetenes",19,1),new r("ens",14,1),new r("hetens",21,1),new r("ers",14,1),new r("ets",14,1),new r("et",-1,1),new r("het",25,1),new r("ert",-1,3),new r("ast",-1,1)],u=[new r("dt",-1,-1),new r("vt",-1,-1)],l=[new r("leg",-1,1),new r("eleg",0,1),new r("ig",-1,1),new r("eig",2,1),new r("lig",2,1),new r("elig",4,1),new r("els",-1,1),new r("lov",-1,1),new r("elov",7,1),new r("slov",7,1),new r("hetslov",9,1)],d=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,48,0,128],c=[119,125,149,1],w=new n;this.setCurrent=function(e){w.setCurrent(e)},this.getCurrent=function(){return w.getCurrent()},this.stem=function(){var r=w.cursor;return e(),w.limit_backward=r,w.cursor=w.limit,i(),w.cursor=w.limit,t(),w.cursor=w.limit,o(),!0}};return function(e){return"function"==typeof e.update?e.update(function(e){return i.setCurrent(e),i.stem(),i.getCurrent()}):(i.setCurrent(e),i.stem(),i.getCurrent())}}(),e.Pipeline.registerFunction(e.no.stemmer,"stemmer-no"),e.no.stopWordFilter=e.generateStopWordFilter("alle at av bare begge ble blei bli blir blitt både båe da de deg dei deim deira deires dem den denne der dere deres det dette di din disse ditt du dykk dykkar då eg ein eit eitt eller elles en enn er et ett etter for fordi fra før ha hadde han hans har hennar henne hennes her hjå ho hoe honom hoss hossen hun hva hvem hver hvilke hvilken hvis hvor hvordan hvorfor i ikke ikkje ikkje ingen ingi inkje inn inni ja jeg kan kom korleis korso kun kunne kva kvar kvarhelst kven kvi kvifor man mange me med medan meg meget mellom men mi min mine mitt mot mykje ned no noe noen noka noko nokon nokor nokre nå når og også om opp oss over på samme seg selv si si sia sidan siden sin sine sitt sjøl skal skulle slik so som som somme somt så sånn til um upp ut uten var vart varte ved vere verte vi vil ville vore vors vort vår være være vært å".split(" ")),e.Pipeline.registerFunction(e.no.stopWordFilter,"stopWordFilter-no")}});
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-1
View File
@@ -1 +0,0 @@
!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.sa=function(){this.pipeline.reset(),this.pipeline.add(e.sa.trimmer,e.sa.stopWordFilter,e.sa.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.sa.stemmer))},e.sa.wordCharacters="ऀ-ःऄ-एऐ-टठ-यर-िी-ॏॐ-य़ॠ-९॰-ॿ꣠-꣱ꣲ-ꣷ꣸-ꣻ꣼-ꣽꣾ-ꣿᆰ0-ᆰ9",e.sa.trimmer=e.trimmerSupport.generateTrimmer(e.sa.wordCharacters),e.Pipeline.registerFunction(e.sa.trimmer,"trimmer-sa"),e.sa.stopWordFilter=e.generateStopWordFilter('तथा अयम्‌ एकम्‌ इत्यस्मिन्‌ तथा तत्‌ वा अयम्‌ इत्यस्य ते आहूत उपरि तेषाम्‌ किन्तु तेषाम्‌ तदा इत्यनेन अधिकः इत्यस्य तत्‌ केचन बहवः द्वि तथा महत्वपूर्णः अयम्‌ अस्य विषये अयं अस्ति तत्‌ प्रथमः विषये इत्युपरि इत्युपरि इतर अधिकतमः अधिकः अपि सामान्यतया ठ इतरेतर नूतनम्‌ द न्यूनम्‌ कश्चित्‌ वा विशालः द सः अस्ति तदनुसारम् तत्र अस्ति केवलम्‌ अपि अत्र सर्वे विविधाः तत्‌ बहवः यतः इदानीम्‌ द दक्षिण इत्यस्मै तस्य उपरि नथ अतीव कार्यम्‌ सर्वे एकैकम्‌ इत्यादि। एते सन्ति उत इत्थम्‌ मध्ये एतदर्थं . स कस्य प्रथमः श्री. करोति अस्मिन् प्रकारः निर्मिता कालः तत्र कर्तुं समान अधुना ते सन्ति स एकः अस्ति सः अर्थात् तेषां कृते . स्थितम् विशेषः अग्रिम तेषाम्‌ समान स्रोतः ख म समान इदानीमपि अधिकतया करोतु ते समान इत्यस्य वीथी सह यस्मिन् कृतवान्‌ धृतः तदा पुनः पूर्वं सः आगतः किम्‌ कुल इतर पुरा मात्रा स विषये उ अतएव अपि नगरस्य उपरि यतः प्रतिशतं कतरः कालः साधनानि भूत तथापि जात सम्बन्धि अन्यत्‌ ग अतः अस्माकं स्वकीयाः अस्माकं इदानीं अन्तः इत्यादयः भवन्तः इत्यादयः एते एताः तस्य अस्य इदम् एते तेषां तेषां तेषां तान् तेषां तेषां तेषां समानः सः एकः च तादृशाः बहवः अन्ये च वदन्ति यत् कियत् कस्मै कस्मै यस्मै यस्मै यस्मै यस्मै न अतिनीचः किन्तु प्रथमं सम्पूर्णतया ततः चिरकालानन्तरं पुस्तकं सम्पूर्णतया अन्तः किन्तु अत्र वा इह इव श्रद्धाय अवशिष्यते परन्तु अन्ये वर्गाः सन्ति ते सन्ति शक्नुवन्ति सर्वे मिलित्वा सर्वे एकत्र"'.split(" ")),e.sa.stemmer=function(){return function(e){return"function"==typeof e.update?e.update(function(e){return e}):e}}();var r=e.wordcut;r.init(),e.sa.tokenizer=function(t){if(!arguments.length||null==t||void 0==t)return[];if(Array.isArray(t))return t.map(function(r){return isLunr2?new e.Token(r.toLowerCase()):r.toLowerCase()});var i=t.toString().toLowerCase().replace(/^\s+/,"");return r.cut(i).split("|")},e.Pipeline.registerFunction(e.sa.stemmer,"stemmer-sa"),e.Pipeline.registerFunction(e.sa.stopWordFilter,"stopWordFilter-sa")}});
@@ -1 +0,0 @@
!function(r,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():t()(r.lunr)}(this,function(){return function(r){r.stemmerSupport={Among:function(r,t,i,s){if(this.toCharArray=function(r){for(var t=r.length,i=new Array(t),s=0;s<t;s++)i[s]=r.charCodeAt(s);return i},!r&&""!=r||!t&&0!=t||!i)throw"Bad Among initialisation: s:"+r+", substring_i: "+t+", result: "+i;this.s_size=r.length,this.s=this.toCharArray(r),this.substring_i=t,this.result=i,this.method=s},SnowballProgram:function(){var r;return{bra:0,ket:0,limit:0,cursor:0,limit_backward:0,setCurrent:function(t){r=t,this.cursor=0,this.limit=t.length,this.limit_backward=0,this.bra=this.cursor,this.ket=this.limit},getCurrent:function(){var t=r;return r=null,t},in_grouping:function(t,i,s){if(this.cursor<this.limit){var e=r.charCodeAt(this.cursor);if(e<=s&&e>=i&&(e-=i,t[e>>3]&1<<(7&e)))return this.cursor++,!0}return!1},in_grouping_b:function(t,i,s){if(this.cursor>this.limit_backward){var e=r.charCodeAt(this.cursor-1);if(e<=s&&e>=i&&(e-=i,t[e>>3]&1<<(7&e)))return this.cursor--,!0}return!1},out_grouping:function(t,i,s){if(this.cursor<this.limit){var e=r.charCodeAt(this.cursor);if(e>s||e<i)return this.cursor++,!0;if(e-=i,!(t[e>>3]&1<<(7&e)))return this.cursor++,!0}return!1},out_grouping_b:function(t,i,s){if(this.cursor>this.limit_backward){var e=r.charCodeAt(this.cursor-1);if(e>s||e<i)return this.cursor--,!0;if(e-=i,!(t[e>>3]&1<<(7&e)))return this.cursor--,!0}return!1},eq_s:function(t,i){if(this.limit-this.cursor<t)return!1;for(var s=0;s<t;s++)if(r.charCodeAt(this.cursor+s)!=i.charCodeAt(s))return!1;return this.cursor+=t,!0},eq_s_b:function(t,i){if(this.cursor-this.limit_backward<t)return!1;for(var s=0;s<t;s++)if(r.charCodeAt(this.cursor-t+s)!=i.charCodeAt(s))return!1;return this.cursor-=t,!0},find_among:function(t,i){for(var s=0,e=i,n=this.cursor,u=this.limit,o=0,h=0,c=!1;;){for(var a=s+(e-s>>1),f=0,l=o<h?o:h,_=t[a],m=l;m<_.s_size;m++){if(n+l==u){f=-1;break}if(f=r.charCodeAt(n+l)-_.s[m])break;l++}if(f<0?(e=a,h=l):(s=a,o=l),e-s<=1){if(s>0||e==s||c)break;c=!0}}for(;;){var _=t[s];if(o>=_.s_size){if(this.cursor=n+_.s_size,!_.method)return _.result;var b=_.method();if(this.cursor=n+_.s_size,b)return _.result}if((s=_.substring_i)<0)return 0}},find_among_b:function(t,i){for(var s=0,e=i,n=this.cursor,u=this.limit_backward,o=0,h=0,c=!1;;){for(var a=s+(e-s>>1),f=0,l=o<h?o:h,_=t[a],m=_.s_size-1-l;m>=0;m--){if(n-l==u){f=-1;break}if(f=r.charCodeAt(n-1-l)-_.s[m])break;l++}if(f<0?(e=a,h=l):(s=a,o=l),e-s<=1){if(s>0||e==s||c)break;c=!0}}for(;;){var _=t[s];if(o>=_.s_size){if(this.cursor=n-_.s_size,!_.method)return _.result;var b=_.method();if(this.cursor=n-_.s_size,b)return _.result}if((s=_.substring_i)<0)return 0}},replace_s:function(t,i,s){var e=s.length-(i-t),n=r.substring(0,t),u=r.substring(i);return r=n+s+u,this.limit+=e,this.cursor>=i?this.cursor+=e:this.cursor>t&&(this.cursor=t),e},slice_check:function(){if(this.bra<0||this.bra>this.ket||this.ket>this.limit||this.limit>r.length)throw"faulty slice operation"},slice_from:function(r){this.slice_check(),this.replace_s(this.bra,this.ket,r)},slice_del:function(){this.slice_from("")},insert:function(r,t,i){var s=this.replace_s(r,t,i);r<=this.bra&&(this.bra+=s),r<=this.ket&&(this.ket+=s)},slice_to:function(){return this.slice_check(),r.substring(this.bra,this.ket)},eq_v_b:function(r){return this.eq_s_b(r.length,r)}}}},r.trimmerSupport={generateTrimmer:function(r){var t=new RegExp("^[^"+r+"]+"),i=new RegExp("[^"+r+"]+$");return function(r){return"function"==typeof r.update?r.update(function(r){return r.replace(t,"").replace(i,"")}):r.replace(t,"").replace(i,"")}}}}});
-18
View File
@@ -1,18 +0,0 @@
/*!
* Lunr languages, `Swedish` language
* https://github.com/MihaiValentin/lunr-languages
*
* Copyright 2014, Mihai Valentin
* http://www.mozilla.org/MPL/
*/
/*!
* based on
* Snowball JavaScript Library v0.3
* http://code.google.com/p/urim/
* http://snowball.tartarus.org/
*
* Copyright 2010, Oleg Mazko
* http://www.mozilla.org/MPL/
*/
!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.sv=function(){this.pipeline.reset(),this.pipeline.add(e.sv.trimmer,e.sv.stopWordFilter,e.sv.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.sv.stemmer))},e.sv.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.sv.trimmer=e.trimmerSupport.generateTrimmer(e.sv.wordCharacters),e.Pipeline.registerFunction(e.sv.trimmer,"trimmer-sv"),e.sv.stemmer=function(){var r=e.stemmerSupport.Among,n=e.stemmerSupport.SnowballProgram,t=new function(){function e(){var e,r=w.cursor+3;if(o=w.limit,0<=r||r<=w.limit){for(a=r;;){if(e=w.cursor,w.in_grouping(l,97,246)){w.cursor=e;break}if(w.cursor=e,w.cursor>=w.limit)return;w.cursor++}for(;!w.out_grouping(l,97,246);){if(w.cursor>=w.limit)return;w.cursor++}o=w.cursor,o<a&&(o=a)}}function t(){var e,r=w.limit_backward;if(w.cursor>=o&&(w.limit_backward=o,w.cursor=w.limit,w.ket=w.cursor,e=w.find_among_b(u,37),w.limit_backward=r,e))switch(w.bra=w.cursor,e){case 1:w.slice_del();break;case 2:w.in_grouping_b(d,98,121)&&w.slice_del()}}function i(){var e=w.limit_backward;w.cursor>=o&&(w.limit_backward=o,w.cursor=w.limit,w.find_among_b(c,7)&&(w.cursor=w.limit,w.ket=w.cursor,w.cursor>w.limit_backward&&(w.bra=--w.cursor,w.slice_del())),w.limit_backward=e)}function s(){var e,r;if(w.cursor>=o){if(r=w.limit_backward,w.limit_backward=o,w.cursor=w.limit,w.ket=w.cursor,e=w.find_among_b(m,5))switch(w.bra=w.cursor,e){case 1:w.slice_del();break;case 2:w.slice_from("lös");break;case 3:w.slice_from("full")}w.limit_backward=r}}var a,o,u=[new r("a",-1,1),new r("arna",0,1),new r("erna",0,1),new r("heterna",2,1),new r("orna",0,1),new r("ad",-1,1),new r("e",-1,1),new r("ade",6,1),new r("ande",6,1),new r("arne",6,1),new r("are",6,1),new r("aste",6,1),new r("en",-1,1),new r("anden",12,1),new r("aren",12,1),new r("heten",12,1),new r("ern",-1,1),new r("ar",-1,1),new r("er",-1,1),new r("heter",18,1),new r("or",-1,1),new r("s",-1,2),new r("as",21,1),new r("arnas",22,1),new r("ernas",22,1),new r("ornas",22,1),new r("es",21,1),new r("ades",26,1),new r("andes",26,1),new r("ens",21,1),new r("arens",29,1),new r("hetens",29,1),new r("erns",21,1),new r("at",-1,1),new r("andet",-1,1),new r("het",-1,1),new r("ast",-1,1)],c=[new r("dd",-1,-1),new r("gd",-1,-1),new r("nn",-1,-1),new r("dt",-1,-1),new r("gt",-1,-1),new r("kt",-1,-1),new r("tt",-1,-1)],m=[new r("ig",-1,1),new r("lig",0,1),new r("els",-1,1),new r("fullt",-1,3),new r("löst",-1,2)],l=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,24,0,32],d=[119,127,149],w=new n;this.setCurrent=function(e){w.setCurrent(e)},this.getCurrent=function(){return w.getCurrent()},this.stem=function(){var r=w.cursor;return e(),w.limit_backward=r,w.cursor=w.limit,t(),w.cursor=w.limit,i(),w.cursor=w.limit,s(),!0}};return function(e){return"function"==typeof e.update?e.update(function(e){return t.setCurrent(e),t.stem(),t.getCurrent()}):(t.setCurrent(e),t.stem(),t.getCurrent())}}(),e.Pipeline.registerFunction(e.sv.stemmer,"stemmer-sv"),e.sv.stopWordFilter=e.generateStopWordFilter("alla allt att av blev bli blir blivit de dem den denna deras dess dessa det detta dig din dina ditt du där då efter ej eller en er era ert ett från för ha hade han hans har henne hennes hon honom hur här i icke ingen inom inte jag ju kan kunde man med mellan men mig min mina mitt mot mycket ni nu när någon något några och om oss på samma sedan sig sin sina sitta själv skulle som så sådan sådana sådant till under upp ut utan vad var vara varför varit varje vars vart vem vi vid vilka vilkas vilken vilket vår våra vårt än är åt över".split(" ")),e.Pipeline.registerFunction(e.sv.stopWordFilter,"stopWordFilter-sv")}});
-1
View File
@@ -1 +0,0 @@
!function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():t()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.ta=function(){this.pipeline.reset(),this.pipeline.add(e.ta.trimmer,e.ta.stopWordFilter,e.ta.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.ta.stemmer))},e.ta.wordCharacters="஀-உஊ-ஏஐ-ஙச-ட஠-னப-யர-ஹ஺-ிீ-௉ொ-௏ௐ-௙௚-௟௠-௩௪-௯௰-௹௺-௿a-zA-Z-zA-0-9-",e.ta.trimmer=e.trimmerSupport.generateTrimmer(e.ta.wordCharacters),e.Pipeline.registerFunction(e.ta.trimmer,"trimmer-ta"),e.ta.stopWordFilter=e.generateStopWordFilter("அங்கு அங்கே அது அதை அந்த அவர் அவர்கள் அவள் அவன் அவை ஆக ஆகவே ஆகையால் ஆதலால் ஆதலினால் ஆனாலும் ஆனால் இங்கு இங்கே இது இதை இந்த இப்படி இவர் இவர்கள் இவள் இவன் இவை இவ்வளவு உனக்கு உனது உன் உன்னால் எங்கு எங்கே எது எதை எந்த எப்படி எவர் எவர்கள் எவள் எவன் எவை எவ்வளவு எனக்கு எனது எனவே என் என்ன என்னால் ஏது ஏன் தனது தன்னால் தானே தான் நாங்கள் நாம் நான் நீ நீங்கள்".split(" ")),e.ta.stemmer=function(){return function(e){return"function"==typeof e.update?e.update(function(e){return e}):e}}();var t=e.wordcut;t.init(),e.ta.tokenizer=function(r){if(!arguments.length||null==r||void 0==r)return[];if(Array.isArray(r))return r.map(function(t){return isLunr2?new e.Token(t.toLowerCase()):t.toLowerCase()});var i=r.toString().toLowerCase().replace(/^\s+/,"");return t.cut(i).split("|")},e.Pipeline.registerFunction(e.ta.stemmer,"stemmer-ta"),e.Pipeline.registerFunction(e.ta.stopWordFilter,"stopWordFilter-ta")}});
-1
View File
@@ -1 +0,0 @@
!function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():t()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.te=function(){this.pipeline.reset(),this.pipeline.add(e.te.trimmer,e.te.stopWordFilter,e.te.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.te.stemmer))},e.te.wordCharacters="ఀ-ఄఅ-ఔక-హా-ౌౕ-ౖౘ-ౚౠ-ౡౢ-ౣ౦-౯౸-౿఼ఽ్ౝ౷౤౥",e.te.trimmer=e.trimmerSupport.generateTrimmer(e.te.wordCharacters),e.Pipeline.registerFunction(e.te.trimmer,"trimmer-te"),e.te.stopWordFilter=e.generateStopWordFilter("అందరూ అందుబాటులో అడగండి అడగడం అడ్డంగా అనుగుణంగా అనుమతించు అనుమతిస్తుంది అయితే ఇప్పటికే ఉన్నారు ఎక్కడైనా ఎప్పుడు ఎవరైనా ఎవరో ఏ ఏదైనా ఏమైనప్పటికి ఒక ఒకరు కనిపిస్తాయి కాదు కూడా గా గురించి చుట్టూ చేయగలిగింది తగిన తర్వాత దాదాపు దూరంగా నిజంగా పై ప్రకారం ప్రక్కన మధ్య మరియు మరొక మళ్ళీ మాత్రమే మెచ్చుకో వద్ద వెంట వేరుగా వ్యతిరేకంగా సంబంధం".split(" ")),e.te.stemmer=function(){return function(e){return"function"==typeof e.update?e.update(function(e){return e}):e}}();var t=e.wordcut;t.init(),e.te.tokenizer=function(r){if(!arguments.length||null==r||void 0==r)return[];if(Array.isArray(r))return r.map(function(t){return isLunr2?new e.Token(t.toLowerCase()):t.toLowerCase()});var i=r.toString().toLowerCase().replace(/^\s+/,"");return t.cut(i).split("|")},e.Pipeline.registerFunction(e.te.stemmer,"stemmer-te"),e.Pipeline.registerFunction(e.te.stopWordFilter,"stopWordFilter-te")}});
-1
View File
@@ -1 +0,0 @@
!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var r="2"==e.version[0];e.th=function(){this.pipeline.reset(),this.pipeline.add(e.th.trimmer),r?this.tokenizer=e.th.tokenizer:(e.tokenizer&&(e.tokenizer=e.th.tokenizer),this.tokenizerFn&&(this.tokenizerFn=e.th.tokenizer))},e.th.wordCharacters="[฀-๿]",e.th.trimmer=e.trimmerSupport.generateTrimmer(e.th.wordCharacters),e.Pipeline.registerFunction(e.th.trimmer,"trimmer-th");var t=e.wordcut;t.init(),e.th.tokenizer=function(i){if(!arguments.length||null==i||void 0==i)return[];if(Array.isArray(i))return i.map(function(t){return r?new e.Token(t):t});var n=i.toString().replace(/^\s+/,"");return t.cut(n).split("|")}}});
File diff suppressed because one or more lines are too long
-1
View File
@@ -1 +0,0 @@
!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.vi=function(){this.pipeline.reset(),this.pipeline.add(e.vi.stopWordFilter,e.vi.trimmer)},e.vi.wordCharacters="[A-Za-ẓ̀͐́͑̉̃̓ÂâÊêÔôĂ-ăĐ-đƠ-ơƯ-ư]",e.vi.trimmer=e.trimmerSupport.generateTrimmer(e.vi.wordCharacters),e.Pipeline.registerFunction(e.vi.trimmer,"trimmer-vi"),e.vi.stopWordFilter=e.generateStopWordFilter("là cái nhưng mà".split(" "))}});
-1
View File
@@ -1 +0,0 @@
!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r(require("@node-rs/jieba")):r()(e.lunr)}(this,function(e){return function(r,t){if(void 0===r)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===r.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var i="2"==r.version[0];r.zh=function(){this.pipeline.reset(),this.pipeline.add(r.zh.trimmer,r.zh.stopWordFilter,r.zh.stemmer),i?this.tokenizer=r.zh.tokenizer:(r.tokenizer&&(r.tokenizer=r.zh.tokenizer),this.tokenizerFn&&(this.tokenizerFn=r.zh.tokenizer))},r.zh.tokenizer=function(n){if(!arguments.length||null==n||void 0==n)return[];if(Array.isArray(n))return n.map(function(e){return i?new r.Token(e.toLowerCase()):e.toLowerCase()});t&&e.load(t);var o=n.toString().trim().toLowerCase(),s=[];e.cut(o,!0).forEach(function(e){s=s.concat(e.split(" "))}),s=s.filter(function(e){return!!e});var u=0;return s.map(function(e,t){if(i){var n=o.indexOf(e,u),s={};return s.position=[n,e.length],s.index=t,u=n,new r.Token(e,s)}return e})},r.zh.wordCharacters="\\w一-龥",r.zh.trimmer=r.trimmerSupport.generateTrimmer(r.zh.wordCharacters),r.Pipeline.registerFunction(r.zh.trimmer,"trimmer-zh"),r.zh.stemmer=function(){return function(e){return e}}(),r.Pipeline.registerFunction(r.zh.stemmer,"stemmer-zh"),r.zh.stopWordFilter=r.generateStopWordFilter("的 一 不 在 人 有 是 为 為 以 于 於 上 他 而 后 後 之 来 來 及 了 因 下 可 到 由 这 這 与 與 也 此 但 并 並 个 個 其 已 无 無 小 我 们 們 起 最 再 今 去 好 只 又 或 很 亦 某 把 那 你 乃 它 吧 被 比 别 趁 当 當 从 從 得 打 凡 儿 兒 尔 爾 该 該 各 给 給 跟 和 何 还 還 即 几 幾 既 看 据 據 距 靠 啦 另 么 麽 每 嘛 拿 哪 您 凭 憑 且 却 卻 让 讓 仍 啥 如 若 使 谁 誰 虽 雖 随 隨 同 所 她 哇 嗡 往 些 向 沿 哟 喲 用 咱 则 則 怎 曾 至 致 着 著 诸 諸 自".split(" ")),r.Pipeline.registerFunction(r.zh.stopWordFilter,"stopWordFilter-zh")}});
-206
View File
@@ -1,206 +0,0 @@
/**
* export the module via AMD, CommonJS or as a browser global
* Export code from https://github.com/umdjs/umd/blob/master/returnExports.js
*/
;(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module.
define(factory)
} else if (typeof exports === 'object') {
/**
* Node. Does not work with strict CommonJS, but
* only CommonJS-like environments that support module.exports,
* like Node.
*/
module.exports = factory()
} else {
// Browser globals (root is window)
factory()(root.lunr);
}
}(this, function () {
/**
* Just return a value to define the module export.
* This example returns an object, but the module
* can return a function as the exported value.
*/
return function(lunr) {
// TinySegmenter 0.1 -- Super compact Japanese tokenizer in Javascript
// (c) 2008 Taku Kudo <taku@chasen.org>
// TinySegmenter is freely distributable under the terms of a new BSD licence.
// For details, see http://chasen.org/~taku/software/TinySegmenter/LICENCE.txt
function TinySegmenter() {
var patterns = {
"[一二三四五六七八九十百千万億兆]":"M",
"[一-龠々〆ヵヶ]":"H",
"[ぁ-ん]":"I",
"[ァ-ヴーア-ン゙ー]":"K",
"[a-zA-Z-zA-]":"A",
"[0-9-]":"N"
}
this.chartype_ = [];
for (var i in patterns) {
var regexp = new RegExp(i);
this.chartype_.push([regexp, patterns[i]]);
}
this.BIAS__ = -332
this.BC1__ = {"HH":6,"II":2461,"KH":406,"OH":-1378};
this.BC2__ = {"AA":-3267,"AI":2744,"AN":-878,"HH":-4070,"HM":-1711,"HN":4012,"HO":3761,"IA":1327,"IH":-1184,"II":-1332,"IK":1721,"IO":5492,"KI":3831,"KK":-8741,"MH":-3132,"MK":3334,"OO":-2920};
this.BC3__ = {"HH":996,"HI":626,"HK":-721,"HN":-1307,"HO":-836,"IH":-301,"KK":2762,"MK":1079,"MM":4034,"OA":-1652,"OH":266};
this.BP1__ = {"BB":295,"OB":304,"OO":-125,"UB":352};
this.BP2__ = {"BO":60,"OO":-1762};
this.BQ1__ = {"BHH":1150,"BHM":1521,"BII":-1158,"BIM":886,"BMH":1208,"BNH":449,"BOH":-91,"BOO":-2597,"OHI":451,"OIH":-296,"OKA":1851,"OKH":-1020,"OKK":904,"OOO":2965};
this.BQ2__ = {"BHH":118,"BHI":-1159,"BHM":466,"BIH":-919,"BKK":-1720,"BKO":864,"OHH":-1139,"OHM":-181,"OIH":153,"UHI":-1146};
this.BQ3__ = {"BHH":-792,"BHI":2664,"BII":-299,"BKI":419,"BMH":937,"BMM":8335,"BNN":998,"BOH":775,"OHH":2174,"OHM":439,"OII":280,"OKH":1798,"OKI":-793,"OKO":-2242,"OMH":-2402,"OOO":11699};
this.BQ4__ = {"BHH":-3895,"BIH":3761,"BII":-4654,"BIK":1348,"BKK":-1806,"BMI":-3385,"BOO":-12396,"OAH":926,"OHH":266,"OHK":-2036,"ONN":-973};
this.BW1__ = {",と":660,",同":727,"B1あ":1404,"B1同":542,"、と":660,"、同":727,"」と":1682,"あっ":1505,"いう":1743,"いっ":-2055,"いる":672,"うし":-4817,"うん":665,"から":3472,"がら":600,"こう":-790,"こと":2083,"こん":-1262,"さら":-4143,"さん":4573,"した":2641,"して":1104,"すで":-3399,"そこ":1977,"それ":-871,"たち":1122,"ため":601,"った":3463,"つい":-802,"てい":805,"てき":1249,"でき":1127,"です":3445,"では":844,"とい":-4915,"とみ":1922,"どこ":3887,"ない":5713,"なっ":3015,"など":7379,"なん":-1113,"にし":2468,"には":1498,"にも":1671,"に対":-912,"の一":-501,"の中":741,"ませ":2448,"まで":1711,"まま":2600,"まる":-2155,"やむ":-1947,"よっ":-2565,"れた":2369,"れで":-913,"をし":1860,"を見":731,"亡く":-1886,"京都":2558,"取り":-2784,"大き":-2604,"大阪":1497,"平方":-2314,"引き":-1336,"日本":-195,"本当":-2423,"毎日":-2113,"目指":-724,"B1あ":1404,"B1同":542,"」と":1682};
this.BW2__ = {"..":-11822,"11":-669,"――":-5730,"−−":-13175,"いう":-1609,"うか":2490,"かし":-1350,"かも":-602,"から":-7194,"かれ":4612,"がい":853,"がら":-3198,"きた":1941,"くな":-1597,"こと":-8392,"この":-4193,"させ":4533,"され":13168,"さん":-3977,"しい":-1819,"しか":-545,"した":5078,"して":972,"しな":939,"その":-3744,"たい":-1253,"たた":-662,"ただ":-3857,"たち":-786,"たと":1224,"たは":-939,"った":4589,"って":1647,"っと":-2094,"てい":6144,"てき":3640,"てく":2551,"ては":-3110,"ても":-3065,"でい":2666,"でき":-1528,"でし":-3828,"です":-4761,"でも":-4203,"とい":1890,"とこ":-1746,"とと":-2279,"との":720,"とみ":5168,"とも":-3941,"ない":-2488,"なが":-1313,"など":-6509,"なの":2614,"なん":3099,"にお":-1615,"にし":2748,"にな":2454,"によ":-7236,"に対":-14943,"に従":-4688,"に関":-11388,"のか":2093,"ので":-7059,"のに":-6041,"のの":-6125,"はい":1073,"はが":-1033,"はず":-2532,"ばれ":1813,"まし":-1316,"まで":-6621,"まれ":5409,"めて":-3153,"もい":2230,"もの":-10713,"らか":-944,"らし":-1611,"らに":-1897,"りし":651,"りま":1620,"れた":4270,"れて":849,"れば":4114,"ろう":6067,"われ":7901,"を通":-11877,"んだ":728,"んな":-4115,"一人":602,"一方":-1375,"一日":970,"一部":-1051,"上が":-4479,"会社":-1116,"出て":2163,"分の":-7758,"同党":970,"同日":-913,"大阪":-2471,"委員":-1250,"少な":-1050,"年度":-8669,"年間":-1626,"府県":-2363,"手権":-1982,"新聞":-4066,"日新":-722,"日本":-7068,"日米":3372,"曜日":-601,"朝鮮":-2355,"本人":-2697,"東京":-1543,"然と":-1384,"社会":-1276,"立て":-990,"第に":-1612,"米国":-4268,"11":-669};
this.BW3__ = {"あた":-2194,"あり":719,"ある":3846,"い.":-1185,"い。":-1185,"いい":5308,"いえ":2079,"いく":3029,"いた":2056,"いっ":1883,"いる":5600,"いわ":1527,"うち":1117,"うと":4798,"えと":1454,"か.":2857,"か。":2857,"かけ":-743,"かっ":-4098,"かに":-669,"から":6520,"かり":-2670,"が,":1816,"が、":1816,"がき":-4855,"がけ":-1127,"がっ":-913,"がら":-4977,"がり":-2064,"きた":1645,"けど":1374,"こと":7397,"この":1542,"ころ":-2757,"さい":-714,"さを":976,"し,":1557,"し、":1557,"しい":-3714,"した":3562,"して":1449,"しな":2608,"しま":1200,"す.":-1310,"す。":-1310,"する":6521,"ず,":3426,"ず、":3426,"ずに":841,"そう":428,"た.":8875,"た。":8875,"たい":-594,"たの":812,"たり":-1183,"たる":-853,"だ.":4098,"だ。":4098,"だっ":1004,"った":-4748,"って":300,"てい":6240,"てお":855,"ても":302,"です":1437,"でに":-1482,"では":2295,"とう":-1387,"とし":2266,"との":541,"とも":-3543,"どう":4664,"ない":1796,"なく":-903,"など":2135,"に,":-1021,"に、":-1021,"にし":1771,"にな":1906,"には":2644,"の,":-724,"の、":-724,"の子":-1000,"は,":1337,"は、":1337,"べき":2181,"まし":1113,"ます":6943,"まっ":-1549,"まで":6154,"まれ":-793,"らし":1479,"られ":6820,"るる":3818,"れ,":854,"れ、":854,"れた":1850,"れて":1375,"れば":-3246,"れる":1091,"われ":-605,"んだ":606,"んで":798,"カ月":990,"会議":860,"入り":1232,"大会":2217,"始め":1681,"市":965,"新聞":-5055,"日,":974,"日、":974,"社会":2024,"カ月":990};
this.TC1__ = {"AAA":1093,"HHH":1029,"HHM":580,"HII":998,"HOH":-390,"HOM":-331,"IHI":1169,"IOH":-142,"IOI":-1015,"IOM":467,"MMH":187,"OOI":-1832};
this.TC2__ = {"HHO":2088,"HII":-1023,"HMM":-1154,"IHI":-1965,"KKH":703,"OII":-2649};
this.TC3__ = {"AAA":-294,"HHH":346,"HHI":-341,"HII":-1088,"HIK":731,"HOH":-1486,"IHH":128,"IHI":-3041,"IHO":-1935,"IIH":-825,"IIM":-1035,"IOI":-542,"KHH":-1216,"KKA":491,"KKH":-1217,"KOK":-1009,"MHH":-2694,"MHM":-457,"MHO":123,"MMH":-471,"NNH":-1689,"NNO":662,"OHO":-3393};
this.TC4__ = {"HHH":-203,"HHI":1344,"HHK":365,"HHM":-122,"HHN":182,"HHO":669,"HIH":804,"HII":679,"HOH":446,"IHH":695,"IHO":-2324,"IIH":321,"III":1497,"IIO":656,"IOO":54,"KAK":4845,"KKA":3386,"KKK":3065,"MHH":-405,"MHI":201,"MMH":-241,"MMM":661,"MOM":841};
this.TQ1__ = {"BHHH":-227,"BHHI":316,"BHIH":-132,"BIHH":60,"BIII":1595,"BNHH":-744,"BOHH":225,"BOOO":-908,"OAKK":482,"OHHH":281,"OHIH":249,"OIHI":200,"OIIH":-68};
this.TQ2__ = {"BIHH":-1401,"BIII":-1033,"BKAK":-543,"BOOO":-5591};
this.TQ3__ = {"BHHH":478,"BHHM":-1073,"BHIH":222,"BHII":-504,"BIIH":-116,"BIII":-105,"BMHI":-863,"BMHM":-464,"BOMH":620,"OHHH":346,"OHHI":1729,"OHII":997,"OHMH":481,"OIHH":623,"OIIH":1344,"OKAK":2792,"OKHH":587,"OKKA":679,"OOHH":110,"OOII":-685};
this.TQ4__ = {"BHHH":-721,"BHHM":-3604,"BHII":-966,"BIIH":-607,"BIII":-2181,"OAAA":-2763,"OAKK":180,"OHHH":-294,"OHHI":2446,"OHHO":480,"OHIH":-1573,"OIHH":1935,"OIHI":-493,"OIIH":626,"OIII":-4007,"OKAK":-8156};
this.TW1__ = {"につい":-4681,"東京都":2026};
this.TW2__ = {"ある程":-2049,"いった":-1256,"ころが":-2434,"しょう":3873,"その後":-4430,"だって":-1049,"ていた":1833,"として":-4657,"ともに":-4517,"もので":1882,"一気に":-792,"初めて":-1512,"同時に":-8097,"大きな":-1255,"対して":-2721,"社会党":-3216};
this.TW3__ = {"いただ":-1734,"してい":1314,"として":-4314,"につい":-5483,"にとっ":-5989,"に当た":-6247,"ので,":-727,"ので、":-727,"のもの":-600,"れから":-3752,"十二月":-2287};
this.TW4__ = {"いう.":8576,"いう。":8576,"からな":-2348,"してい":2958,"たが,":1516,"たが、":1516,"ている":1538,"という":1349,"ました":5543,"ません":1097,"ようと":-4258,"よると":5865};
this.UC1__ = {"A":484,"K":93,"M":645,"O":-505};
this.UC2__ = {"A":819,"H":1059,"I":409,"M":3987,"N":5775,"O":646};
this.UC3__ = {"A":-1370,"I":2311};
this.UC4__ = {"A":-2643,"H":1809,"I":-1032,"K":-3450,"M":3565,"N":3876,"O":6646};
this.UC5__ = {"H":313,"I":-1238,"K":-799,"M":539,"O":-831};
this.UC6__ = {"H":-506,"I":-253,"K":87,"M":247,"O":-387};
this.UP1__ = {"O":-214};
this.UP2__ = {"B":69,"O":935};
this.UP3__ = {"B":189};
this.UQ1__ = {"BH":21,"BI":-12,"BK":-99,"BN":142,"BO":-56,"OH":-95,"OI":477,"OK":410,"OO":-2422};
this.UQ2__ = {"BH":216,"BI":113,"OK":1759};
this.UQ3__ = {"BA":-479,"BH":42,"BI":1913,"BK":-7198,"BM":3160,"BN":6427,"BO":14761,"OI":-827,"ON":-3212};
this.UW1__ = {",":156,"、":156,"「":-463,"あ":-941,"う":-127,"が":-553,"き":121,"こ":505,"で":-201,"と":-547,"ど":-123,"に":-789,"の":-185,"は":-847,"も":-466,"や":-470,"よ":182,"ら":-292,"り":208,"れ":169,"を":-446,"ん":-137,"・":-135,"主":-402,"京":-268,"区":-912,"午":871,"国":-460,"大":561,"委":729,"市":-411,"日":-141,"理":361,"生":-408,"県":-386,"都":-718,"「":-463,"・":-135};
this.UW2__ = {",":-829,"、":-829,"":892,"「":-645,"」":3145,"あ":-538,"い":505,"う":134,"お":-502,"か":1454,"が":-856,"く":-412,"こ":1141,"さ":878,"ざ":540,"し":1529,"す":-675,"せ":300,"そ":-1011,"た":188,"だ":1837,"つ":-949,"て":-291,"で":-268,"と":-981,"ど":1273,"な":1063,"に":-1764,"の":130,"は":-409,"ひ":-1273,"べ":1261,"ま":600,"も":-1263,"や":-402,"よ":1639,"り":-579,"る":-694,"れ":571,"を":-2516,"ん":2095,"ア":-587,"カ":306,"キ":568,"ッ":831,"三":-758,"不":-2150,"世":-302,"中":-968,"主":-861,"事":492,"人":-123,"会":978,"保":362,"入":548,"初":-3025,"副":-1566,"北":-3414,"区":-422,"大":-1769,"天":-865,"太":-483,"子":-1519,"学":760,"実":1023,"小":-2009,"市":-813,"年":-1060,"強":1067,"手":-1519,"揺":-1033,"政":1522,"文":-1355,"新":-1682,"日":-1815,"明":-1462,"最":-630,"朝":-1843,"本":-1650,"東":-931,"果":-665,"次":-2378,"民":-180,"気":-1740,"理":752,"発":529,"目":-1584,"相":-242,"県":-1165,"立":-763,"第":810,"米":509,"自":-1353,"行":838,"西":-744,"見":-3874,"調":1010,"議":1198,"込":3041,"開":1758,"間":-1257,"「":-645,"」":3145,"ッ":831,"ア":-587,"カ":306,"キ":568};
this.UW3__ = {",":4889,"1":-800,"":-1723,"、":4889,"々":-2311,"":5827,"」":2670,"〓":-3573,"あ":-2696,"い":1006,"う":2342,"え":1983,"お":-4864,"か":-1163,"が":3271,"く":1004,"け":388,"げ":401,"こ":-3552,"ご":-3116,"さ":-1058,"し":-395,"す":584,"せ":3685,"そ":-5228,"た":842,"ち":-521,"っ":-1444,"つ":-1081,"て":6167,"で":2318,"と":1691,"ど":-899,"な":-2788,"に":2745,"の":4056,"は":4555,"ひ":-2171,"ふ":-1798,"へ":1199,"ほ":-5516,"ま":-4384,"み":-120,"め":1205,"も":2323,"や":-788,"よ":-202,"ら":727,"り":649,"る":5905,"れ":2773,"わ":-1207,"を":6620,"ん":-518,"ア":551,"グ":1319,"ス":874,"ッ":-1350,"ト":521,"ム":1109,"ル":1591,"ロ":2201,"ン":278,"・":-3794,"一":-1619,"下":-1759,"世":-2087,"両":3815,"中":653,"主":-758,"予":-1193,"二":974,"人":2742,"今":792,"他":1889,"以":-1368,"低":811,"何":4265,"作":-361,"保":-2439,"元":4858,"党":3593,"全":1574,"公":-3030,"六":755,"共":-1880,"円":5807,"再":3095,"分":457,"初":2475,"別":1129,"前":2286,"副":4437,"力":365,"動":-949,"務":-1872,"化":1327,"北":-1038,"区":4646,"千":-2309,"午":-783,"協":-1006,"口":483,"右":1233,"各":3588,"合":-241,"同":3906,"和":-837,"員":4513,"国":642,"型":1389,"場":1219,"外":-241,"妻":2016,"学":-1356,"安":-423,"実":-1008,"家":1078,"小":-513,"少":-3102,"州":1155,"市":3197,"平":-1804,"年":2416,"広":-1030,"府":1605,"度":1452,"建":-2352,"当":-3885,"得":1905,"思":-1291,"性":1822,"戸":-488,"指":-3973,"政":-2013,"教":-1479,"数":3222,"文":-1489,"新":1764,"日":2099,"旧":5792,"昨":-661,"時":-1248,"曜":-951,"最":-937,"月":4125,"期":360,"李":3094,"村":364,"東":-805,"核":5156,"森":2438,"業":484,"氏":2613,"民":-1694,"決":-1073,"法":1868,"海":-495,"無":979,"物":461,"特":-3850,"生":-273,"用":914,"町":1215,"的":7313,"直":-1835,"省":792,"県":6293,"知":-1528,"私":4231,"税":401,"立":-960,"第":1201,"米":7767,"系":3066,"約":3663,"級":1384,"統":-4229,"総":1163,"線":1255,"者":6457,"能":725,"自":-2869,"英":785,"見":1044,"調":-562,"財":-733,"費":1777,"車":1835,"軍":1375,"込":-1504,"通":-1136,"選":-681,"郎":1026,"郡":4404,"部":1200,"金":2163,"長":421,"開":-1432,"間":1302,"関":-1282,"雨":2009,"電":-1045,"非":2066,"駅":1620,"":-800,"」":2670,"・":-3794,"ッ":-1350,"ア":551,"グ":1319,"ス":874,"ト":521,"ム":1109,"ル":1591,"ロ":2201,"ン":278};
this.UW4__ = {",":3930,".":3508,"―":-4841,"、":3930,"。":3508,"":4999,"「":1895,"」":3798,"〓":-5156,"あ":4752,"い":-3435,"う":-640,"え":-2514,"お":2405,"か":530,"が":6006,"き":-4482,"ぎ":-3821,"く":-3788,"け":-4376,"げ":-4734,"こ":2255,"ご":1979,"さ":2864,"し":-843,"じ":-2506,"す":-731,"ず":1251,"せ":181,"そ":4091,"た":5034,"だ":5408,"ち":-3654,"っ":-5882,"つ":-1659,"て":3994,"で":7410,"と":4547,"な":5433,"に":6499,"ぬ":1853,"ね":1413,"の":7396,"は":8578,"ば":1940,"ひ":4249,"び":-4134,"ふ":1345,"へ":6665,"べ":-744,"ほ":1464,"ま":1051,"み":-2082,"む":-882,"め":-5046,"も":4169,"ゃ":-2666,"や":2795,"ょ":-1544,"よ":3351,"ら":-2922,"り":-9726,"る":-14896,"れ":-2613,"ろ":-4570,"わ":-1783,"を":13150,"ん":-2352,"カ":2145,"コ":1789,"セ":1287,"ッ":-724,"ト":-403,"メ":-1635,"ラ":-881,"リ":-541,"ル":-856,"ン":-3637,"・":-4371,"ー":-11870,"一":-2069,"中":2210,"予":782,"事":-190,"井":-1768,"人":1036,"以":544,"会":950,"体":-1286,"作":530,"側":4292,"先":601,"党":-2006,"共":-1212,"内":584,"円":788,"初":1347,"前":1623,"副":3879,"力":-302,"動":-740,"務":-2715,"化":776,"区":4517,"協":1013,"参":1555,"合":-1834,"和":-681,"員":-910,"器":-851,"回":1500,"国":-619,"園":-1200,"地":866,"場":-1410,"塁":-2094,"士":-1413,"多":1067,"大":571,"子":-4802,"学":-1397,"定":-1057,"寺":-809,"小":1910,"屋":-1328,"山":-1500,"島":-2056,"川":-2667,"市":2771,"年":374,"庁":-4556,"後":456,"性":553,"感":916,"所":-1566,"支":856,"改":787,"政":2182,"教":704,"文":522,"方":-856,"日":1798,"時":1829,"最":845,"月":-9066,"木":-485,"来":-442,"校":-360,"業":-1043,"氏":5388,"民":-2716,"気":-910,"沢":-939,"済":-543,"物":-735,"率":672,"球":-1267,"生":-1286,"産":-1101,"田":-2900,"町":1826,"的":2586,"目":922,"省":-3485,"県":2997,"空":-867,"立":-2112,"第":788,"米":2937,"系":786,"約":2171,"経":1146,"統":-1169,"総":940,"線":-994,"署":749,"者":2145,"能":-730,"般":-852,"行":-792,"規":792,"警":-1184,"議":-244,"谷":-1000,"賞":730,"車":-1481,"軍":1158,"輪":-1433,"込":-3370,"近":929,"道":-1291,"選":2596,"郎":-4866,"都":1192,"野":-1100,"銀":-2213,"長":357,"間":-2344,"院":-2297,"際":-2604,"電":-878,"領":-1659,"題":-792,"館":-1984,"首":1749,"高":2120,"「":1895,"」":3798,"・":-4371,"ッ":-724,"ー":-11870,"カ":2145,"コ":1789,"セ":1287,"ト":-403,"メ":-1635,"ラ":-881,"リ":-541,"ル":-856,"ン":-3637};
this.UW5__ = {",":465,".":-299,"1":-514,"E2":-32768,"]":-2762,"、":465,"。":-299,"「":363,"あ":1655,"い":331,"う":-503,"え":1199,"お":527,"か":647,"が":-421,"き":1624,"ぎ":1971,"く":312,"げ":-983,"さ":-1537,"し":-1371,"す":-852,"だ":-1186,"ち":1093,"っ":52,"つ":921,"て":-18,"で":-850,"と":-127,"ど":1682,"な":-787,"に":-1224,"の":-635,"は":-578,"べ":1001,"み":502,"め":865,"ゃ":3350,"ょ":854,"り":-208,"る":429,"れ":504,"わ":419,"を":-1264,"ん":327,"イ":241,"ル":451,"ン":-343,"中":-871,"京":722,"会":-1153,"党":-654,"務":3519,"区":-901,"告":848,"員":2104,"大":-1296,"学":-548,"定":1785,"嵐":-1304,"市":-2991,"席":921,"年":1763,"思":872,"所":-814,"挙":1618,"新":-1682,"日":218,"月":-4353,"査":932,"格":1356,"機":-1508,"氏":-1347,"田":240,"町":-3912,"的":-3149,"相":1319,"省":-1052,"県":-4003,"研":-997,"社":-278,"空":-813,"統":1955,"者":-2233,"表":663,"語":-1073,"議":1219,"選":-1018,"郎":-368,"長":786,"間":1191,"題":2368,"館":-689,"":-514,"E2":-32768,"「":363,"イ":241,"ル":451,"ン":-343};
this.UW6__ = {",":227,".":808,"1":-270,"E1":306,"、":227,"。":808,"あ":-307,"う":189,"か":241,"が":-73,"く":-121,"こ":-200,"じ":1782,"す":383,"た":-428,"っ":573,"て":-1014,"で":101,"と":-105,"な":-253,"に":-149,"の":-417,"は":-236,"も":-206,"り":187,"る":-135,"を":195,"ル":-673,"ン":-496,"一":-277,"中":201,"件":-800,"会":624,"前":302,"区":1792,"員":-1212,"委":798,"学":-960,"市":887,"広":-695,"後":535,"業":-697,"相":753,"社":-507,"福":974,"空":-822,"者":1811,"連":463,"郎":1082,"":-270,"E1":306,"ル":-673,"ン":-496};
return this;
}
TinySegmenter.prototype.ctype_ = function(str) {
for (var i in this.chartype_) {
if (str.match(this.chartype_[i][0])) {
return this.chartype_[i][1];
}
}
return "O";
}
TinySegmenter.prototype.ts_ = function(v) {
if (v) { return v; }
return 0;
}
TinySegmenter.prototype.segment = function(input) {
if (input == null || input == undefined || input == "") {
return [];
}
var result = [];
var seg = ["B3","B2","B1"];
var ctype = ["O","O","O"];
var o = input.split("");
for (i = 0; i < o.length; ++i) {
seg.push(o[i]);
ctype.push(this.ctype_(o[i]))
}
seg.push("E1");
seg.push("E2");
seg.push("E3");
ctype.push("O");
ctype.push("O");
ctype.push("O");
var word = seg[3];
var p1 = "U";
var p2 = "U";
var p3 = "U";
for (var i = 4; i < seg.length - 3; ++i) {
var score = this.BIAS__;
var w1 = seg[i-3];
var w2 = seg[i-2];
var w3 = seg[i-1];
var w4 = seg[i];
var w5 = seg[i+1];
var w6 = seg[i+2];
var c1 = ctype[i-3];
var c2 = ctype[i-2];
var c3 = ctype[i-1];
var c4 = ctype[i];
var c5 = ctype[i+1];
var c6 = ctype[i+2];
score += this.ts_(this.UP1__[p1]);
score += this.ts_(this.UP2__[p2]);
score += this.ts_(this.UP3__[p3]);
score += this.ts_(this.BP1__[p1 + p2]);
score += this.ts_(this.BP2__[p2 + p3]);
score += this.ts_(this.UW1__[w1]);
score += this.ts_(this.UW2__[w2]);
score += this.ts_(this.UW3__[w3]);
score += this.ts_(this.UW4__[w4]);
score += this.ts_(this.UW5__[w5]);
score += this.ts_(this.UW6__[w6]);
score += this.ts_(this.BW1__[w2 + w3]);
score += this.ts_(this.BW2__[w3 + w4]);
score += this.ts_(this.BW3__[w4 + w5]);
score += this.ts_(this.TW1__[w1 + w2 + w3]);
score += this.ts_(this.TW2__[w2 + w3 + w4]);
score += this.ts_(this.TW3__[w3 + w4 + w5]);
score += this.ts_(this.TW4__[w4 + w5 + w6]);
score += this.ts_(this.UC1__[c1]);
score += this.ts_(this.UC2__[c2]);
score += this.ts_(this.UC3__[c3]);
score += this.ts_(this.UC4__[c4]);
score += this.ts_(this.UC5__[c5]);
score += this.ts_(this.UC6__[c6]);
score += this.ts_(this.BC1__[c2 + c3]);
score += this.ts_(this.BC2__[c3 + c4]);
score += this.ts_(this.BC3__[c4 + c5]);
score += this.ts_(this.TC1__[c1 + c2 + c3]);
score += this.ts_(this.TC2__[c2 + c3 + c4]);
score += this.ts_(this.TC3__[c3 + c4 + c5]);
score += this.ts_(this.TC4__[c4 + c5 + c6]);
// score += this.ts_(this.TC5__[c4 + c5 + c6]);
score += this.ts_(this.UQ1__[p1 + c1]);
score += this.ts_(this.UQ2__[p2 + c2]);
score += this.ts_(this.UQ3__[p3 + c3]);
score += this.ts_(this.BQ1__[p2 + c2 + c3]);
score += this.ts_(this.BQ2__[p2 + c3 + c4]);
score += this.ts_(this.BQ3__[p3 + c2 + c3]);
score += this.ts_(this.BQ4__[p3 + c3 + c4]);
score += this.ts_(this.TQ1__[p2 + c1 + c2 + c3]);
score += this.ts_(this.TQ2__[p2 + c2 + c3 + c4]);
score += this.ts_(this.TQ3__[p3 + c1 + c2 + c3]);
score += this.ts_(this.TQ4__[p3 + c2 + c3 + c4]);
var p = "O";
if (score > 0) {
result.push(word);
word = "";
p = "B";
}
p1 = p2;
p2 = p3;
p3 = p;
word += seg[i];
}
result.push(word);
return result;
}
lunr.TinySegmenter = TinySegmenter;
};
}));
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
{"version":3,"sources":["src/templates/assets/stylesheets/palette/_scheme.scss","../../../../src/templates/assets/stylesheets/palette.scss","src/templates/assets/stylesheets/palette/_accent.scss","src/templates/assets/stylesheets/palette/_primary.scss","src/templates/assets/stylesheets/utilities/_break.scss"],"names":[],"mappings":"AA2BA,cAGE,6BAME,sDAAA,CACA,6DAAA,CACA,+DAAA,CACA,gEAAA,CACA,mDAAA,CACA,6DAAA,CACA,+DAAA,CACA,gEAAA,CAGA,mDAAA,CACA,gDAAA,CACA,yDAAA,CACA,4DAAA,CAGA,0BAAA,CACA,mCAAA,CAGA,iCAAA,CACA,kCAAA,CACA,mCAAA,CACA,mCAAA,CACA,kCAAA,CACA,iCAAA,CACA,+CAAA,CACA,6DAAA,CACA,gEAAA,CACA,4DAAA,CACA,4DAAA,CACA,6DAAA,CAGA,6CAAA,CAGA,+CAAA,CAGA,uDAAA,CACA,6DAAA,CACA,2DAAA,CAGA,iCAAA,CAGA,yDAAA,CACA,iEAAA,CAGA,mDAAA,CACA,mDAAA,CAGA,qDAAA,CACA,uDAAA,CAGA,8DAAA,CAKA,8DAAA,CAKA,0DAAA,CAzEA,iBCiBF,CD6DE,kHAEE,YC3DJ,CDkFE,yDACE,4BChFJ,CD+EE,2DACE,4BC7EJ,CD4EE,gEACE,4BC1EJ,CDyEE,2DACE,4BCvEJ,CDsEE,yDACE,4BCpEJ,CDmEE,0DACE,4BCjEJ,CDgEE,gEACE,4BC9DJ,CD6DE,0DACE,4BC3DJ,CD0DE,2OACE,4BC/CJ,CDsDA,+FAGE,iCCpDF,CACF,CCjDE,2BACE,4BAAA,CACA,2CAAA,CAOE,yBAAA,CACA,qCD6CN,CCvDE,4BACE,4BAAA,CACA,2CAAA,CAOE,yBAAA,CACA,qCDoDN,CC9DE,8BACE,4BAAA,CACA,2CAAA,CAOE,yBAAA,CACA,qCD2DN,CCrEE,mCACE,4BAAA,CACA,2CAAA,CAOE,yBAAA,CACA,qCDkEN,CC5EE,8BACE,4BAAA,CACA,2CAAA,CAOE,yBAAA,CACA,qCDyEN,CCnFE,4BACE,4BAAA,CACA,2CAAA,CAOE,yBAAA,CACA,qCDgFN,CC1FE,kCACE,4BAAA,CACA,2CAAA,CAOE,yBAAA,CACA,qCDuFN,CCjGE,4BACE,4BAAA,CACA,2CAAA,CAOE,yBAAA,CACA,qCD8FN,CCxGE,4BACE,4BAAA,CACA,2CAAA,CAOE,yBAAA,CACA,qCDqGN,CC/GE,6BACE,4BAAA,CACA,2CAAA,CAOE,yBAAA,CACA,qCD4GN,CCtHE,mCACE,4BAAA,CACA,2CAAA,CAOE,yBAAA,CACA,qCDmHN,CC7HE,4BACE,4BAAA,CACA,2CAAA,CAIE,8BAAA,CACA,qCD6HN,CCpIE,8BACE,4BAAA,CACA,2CAAA,CAIE,8BAAA,CACA,qCDoIN,CC3IE,6BACE,yBAAA,CACA,2CAAA,CAIE,8BAAA,CACA,qCD2IN,CClJE,8BACE,4BAAA,CACA,2CAAA,CAIE,8BAAA,CACA,qCDkJN,CCzJE,mCACE,4BAAA,CACA,2CAAA,CAOE,yBAAA,CACA,qCDsJN,CE3JE,4BACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAOE,0BAAA,CACA,sCFwJN,CEnKE,6BACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAOE,0BAAA,CACA,sCFgKN,CE3KE,+BACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAOE,0BAAA,CACA,sCFwKN,CEnLE,oCACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAOE,0BAAA,CACA,sCFgLN,CE3LE,+BACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAOE,0BAAA,CACA,sCFwLN,CEnME,6BACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAOE,0BAAA,CACA,sCFgMN,CE3ME,mCACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAOE,0BAAA,CACA,sCFwMN,CEnNE,6BACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAOE,0BAAA,CACA,sCFgNN,CE3NE,6BACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAOE,0BAAA,CACA,sCFwNN,CEnOE,8BACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAOE,0BAAA,CACA,sCFgON,CE3OE,oCACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAOE,0BAAA,CACA,sCFwON,CEnPE,6BACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAIE,+BAAA,CACA,sCFmPN,CE3PE,+BACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAIE,+BAAA,CACA,sCF2PN,CEnQE,8BACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAIE,+BAAA,CACA,sCFmQN,CE3QE,+BACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAIE,+BAAA,CACA,sCF2QN,CEnRE,oCACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAOE,0BAAA,CACA,sCFgRN,CE3RE,8BACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAOE,0BAAA,CACA,sCFwRN,CEnSE,6BACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAOE,0BAAA,CACA,sCAAA,CAKA,4BF4RN,CE5SE,kCACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAOE,0BAAA,CACA,sCAAA,CAKA,4BFqSN,CEtRE,sEACE,4BFyRJ,CE1RE,+DACE,4BF6RJ,CE9RE,iEACE,4BFiSJ,CElSE,gEACE,4BFqSJ,CEtSE,iEACE,4BFySJ,CEhSA,8BACE,mDAAA,CACA,4DAAA,CACA,0DAAA,CACA,oDAAA,CACA,2DAAA,CAGA,4BFiSF,CE9RE,yCACE,+BFgSJ,CE7RI,kDAEE,0CAAA,CACA,sCAAA,CAFA,mCFiSN,CG7MI,mCD1EA,+CACE,8CF0RJ,CEvRI,qDACE,8CFyRN,CEpRE,iEACE,mCFsRJ,CACF,CGxNI,sCDvDA,uCACE,oCFkRJ,CACF,CEzQA,8BACE,kDAAA,CACA,4DAAA,CACA,wDAAA,CACA,oDAAA,CACA,6DAAA,CAGA,4BF0QF,CEvQE,yCACE,+BFyQJ,CEtQI,kDAEE,0CAAA,CACA,sCAAA,CAFA,mCF0QN,CEnQE,yCACE,6CFqQJ,CG9NI,0CDhCA,8CACE,gDFiQJ,CACF,CGnOI,0CDvBA,iFACE,6CF6PJ,CACF,CG3PI,sCDKA,uCACE,6CFyPJ,CACF","file":"palette.css"}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
-12
View File
@@ -1,12 +0,0 @@
.md-header__title {
font-size: 1.1rem;
line-height: 2.6rem;
}
[data-md-color-primary="orange"] {
--md-primary-fg-color: #ff7f2a;
--md-primary-bg-color: #5c5f5c;
}
[data-md-color-primary="black"] {
--md-primary-bg-color: #5c5f5c;
}
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 317 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 340 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 269 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 368 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 261 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 302 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 1.1 MiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 335 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 250 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 227 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 237 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 230 KiB

-478
View File
@@ -1,478 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="234pt"
height="155.039993pt"
viewBox="0 0 234 155.039993"
version="1.1"
id="svg141"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs53">
<g
id="g48">
<g
id="glyph-0-0" />
<g
id="glyph-0-1">
<path
d="M 4.078125 0.15625 C 3.578125 0.15625 3.117188 0.078125 2.703125 -0.078125 C 2.296875 -0.234375 1.945313 -0.460938 1.65625 -0.765625 C 1.363281 -1.066406 1.132813 -1.4375 0.96875 -1.875 C 0.8125 -2.320313 0.734375 -2.832031 0.734375 -3.40625 C 0.734375 -3.988281 0.816406 -4.503906 0.984375 -4.953125 C 1.148438 -5.398438 1.375 -5.773438 1.65625 -6.078125 C 1.9375 -6.390625 2.269531 -6.625 2.65625 -6.78125 C 3.039063 -6.9375 3.453125 -7.015625 3.890625 -7.015625 C 4.273438 -7.015625 4.632813 -6.945313 4.96875 -6.8125 C 5.3125 -6.6875 5.609375 -6.488281 5.859375 -6.21875 C 6.109375 -5.957031 6.304688 -5.625 6.453125 -5.21875 C 6.597656 -4.8125 6.671875 -4.328125 6.671875 -3.765625 C 6.671875 -3.679688 6.664063 -3.597656 6.65625 -3.515625 C 6.65625 -3.429688 6.648438 -3.347656 6.640625 -3.265625 L 1.765625 -3.265625 C 1.785156 -2.828125 1.859375 -2.445313 1.984375 -2.125 C 2.117188 -1.800781 2.289063 -1.535156 2.5 -1.328125 C 2.707031 -1.117188 2.945313 -0.960938 3.21875 -0.859375 C 3.5 -0.765625 3.796875 -0.71875 4.109375 -0.71875 C 4.347656 -0.71875 4.570313 -0.742188 4.78125 -0.796875 C 4.988281 -0.859375 5.1875 -0.945313 5.375 -1.0625 C 5.5625 -1.175781 5.726563 -1.316406 5.875 -1.484375 L 6.484375 -0.90625 C 6.285156 -0.675781 6.0625 -0.476563 5.8125 -0.3125 C 5.570313 -0.15625 5.304688 -0.0390625 5.015625 0.03125 C 4.734375 0.113281 4.421875 0.15625 4.078125 0.15625 Z M 1.8125 -4.109375 L 5.578125 -4.109375 C 5.578125 -4.429688 5.535156 -4.71875 5.453125 -4.96875 C 5.367188 -5.226563 5.25 -5.445313 5.09375 -5.625 C 4.9375 -5.8125 4.75 -5.953125 4.53125 -6.046875 C 4.320313 -6.140625 4.082031 -6.1875 3.8125 -6.1875 C 3.570313 -6.1875 3.34375 -6.144531 3.125 -6.0625 C 2.914063 -5.988281 2.71875 -5.863281 2.53125 -5.6875 C 2.351563 -5.519531 2.203125 -5.304688 2.078125 -5.046875 C 1.953125 -4.785156 1.863281 -4.472656 1.8125 -4.109375 Z M 1.8125 -4.109375 "
id="path3" />
</g>
<g
id="glyph-0-2">
<path
d="M 4.484375 0.109375 C 4.046875 0.109375 3.6875 0.0351563 3.40625 -0.109375 C 3.125 -0.265625 2.90625 -0.5 2.75 -0.8125 C 2.601563 -1.132813 2.507813 -1.535156 2.46875 -2.015625 C 2.425781 -2.492188 2.414063 -3.0625 2.4375 -3.71875 L 2.609375 -8.609375 L 3.734375 -8.75 L 3.890625 -8.765625 L 3.90625 -8.65625 C 3.851563 -8.582031 3.804688 -8.507813 3.765625 -8.4375 C 3.734375 -8.375 3.707031 -8.253906 3.6875 -8.078125 L 3.5625 -6.390625 L 3.59375 -6.125 L 3.5 -3.640625 C 3.46875 -2.878906 3.484375 -2.289063 3.546875 -1.875 C 3.617188 -1.46875 3.742188 -1.1875 3.921875 -1.03125 C 4.109375 -0.875 4.351563 -0.796875 4.65625 -0.796875 C 4.976563 -0.796875 5.265625 -0.859375 5.515625 -0.984375 C 5.773438 -1.117188 6.046875 -1.285156 6.328125 -1.484375 L 6.65625 -0.625 C 6.320313 -0.375 5.972656 -0.1875 5.609375 -0.0625 C 5.242188 0.0507813 4.867188 0.109375 4.484375 0.109375 Z M 1.046875 -6.859375 L 5.984375 -6.859375 L 5.984375 -5.96875 L 1.046875 -5.96875 Z M 1.046875 -6.859375 "
id="path6" />
</g>
<g
id="glyph-0-3">
<path
d="M 1.09375 -9.96875 L 2.28125 -9.96875 L 2.28125 -9.875 C 2.21875 -9.8125 2.175781 -9.742188 2.15625 -9.671875 C 2.144531 -9.597656 2.140625 -9.476563 2.140625 -9.3125 L 2.140625 -5.640625 C 2.328125 -5.921875 2.539063 -6.160156 2.78125 -6.359375 C 3.03125 -6.566406 3.289063 -6.726563 3.5625 -6.84375 C 3.832031 -6.957031 4.109375 -7.015625 4.390625 -7.015625 C 4.804688 -7.015625 5.171875 -6.921875 5.484375 -6.734375 C 5.796875 -6.546875 6.039063 -6.238281 6.21875 -5.8125 C 6.394531 -5.394531 6.484375 -4.84375 6.484375 -4.15625 L 6.484375 0 L 5.4375 0 L 5.4375 -4.125 C 5.4375 -4.601563 5.378906 -4.984375 5.265625 -5.265625 C 5.148438 -5.554688 5 -5.765625 4.8125 -5.890625 C 4.625 -6.015625 4.410156 -6.078125 4.171875 -6.078125 C 3.992188 -6.078125 3.804688 -6.046875 3.609375 -5.984375 C 3.421875 -5.921875 3.238281 -5.828125 3.0625 -5.703125 C 2.894531 -5.585938 2.738281 -5.441406 2.59375 -5.265625 C 2.457031 -5.097656 2.347656 -4.898438 2.265625 -4.671875 C 2.179688 -4.453125 2.140625 -4.207031 2.140625 -3.9375 L 2.140625 0 L 1.09375 0 Z M 1.09375 -9.96875 "
id="path9" />
</g>
<g
id="glyph-0-4">
<path
d="M 1.609375 -2.3125 L 5.609375 -7.453125 L 5.953125 -6.75 L 1.953125 -1.671875 Z M 3.75 0.171875 C 3.125 0.171875 2.597656 -0.0078125 2.171875 -0.375 C 1.742188 -0.75 1.414063 -1.296875 1.1875 -2.015625 C 0.96875 -2.734375 0.859375 -3.601563 0.859375 -4.625 C 0.859375 -5.613281 0.96875 -6.460938 1.1875 -7.171875 C 1.414063 -7.890625 1.742188 -8.441406 2.171875 -8.828125 C 2.597656 -9.210938 3.125 -9.40625 3.75 -9.40625 C 4.375 -9.40625 4.898438 -9.210938 5.328125 -8.828125 C 5.753906 -8.441406 6.078125 -7.890625 6.296875 -7.171875 C 6.523438 -6.460938 6.640625 -5.613281 6.640625 -4.625 C 6.640625 -3.601563 6.523438 -2.734375 6.296875 -2.015625 C 6.078125 -1.296875 5.753906 -0.75 5.328125 -0.375 C 4.898438 -0.0078125 4.375 0.171875 3.75 0.171875 Z M 3.75 -0.75 C 4.125 -0.75 4.445313 -0.898438 4.71875 -1.203125 C 4.988281 -1.503906 5.195313 -1.941406 5.34375 -2.515625 C 5.488281 -3.085938 5.5625 -3.789063 5.5625 -4.625 C 5.5625 -5.414063 5.488281 -6.097656 5.34375 -6.671875 C 5.195313 -7.242188 4.988281 -7.6875 4.71875 -8 C 4.445313 -8.320313 4.125 -8.484375 3.75 -8.484375 C 3.375 -8.484375 3.050781 -8.320313 2.78125 -8 C 2.507813 -7.6875 2.300781 -7.242188 2.15625 -6.671875 C 2.007813 -6.097656 1.9375 -5.414063 1.9375 -4.625 C 1.9375 -3.789063 2.007813 -3.085938 2.15625 -2.515625 C 2.300781 -1.941406 2.507813 -1.503906 2.78125 -1.203125 C 3.050781 -0.898438 3.375 -0.75 3.75 -0.75 Z M 3.75 -0.75 "
id="path12" />
</g>
<g
id="glyph-0-5">
<path
d="M 1.5 0 L 1.5 -0.875 L 3.25 -0.875 L 3.25 -5.984375 L 1.59375 -5.984375 L 1.59375 -6.859375 L 4.328125 -6.859375 L 4.328125 -0.875 L 5.9375 -0.875 L 5.9375 0 Z M 3.734375 -8.296875 C 3.523438 -8.296875 3.34375 -8.367188 3.1875 -8.515625 C 3.039063 -8.671875 2.96875 -8.851563 2.96875 -9.0625 C 2.96875 -9.28125 3.039063 -9.460938 3.1875 -9.609375 C 3.332031 -9.765625 3.515625 -9.84375 3.734375 -9.84375 C 3.941406 -9.84375 4.125 -9.765625 4.28125 -9.609375 C 4.4375 -9.453125 4.515625 -9.269531 4.515625 -9.0625 C 4.515625 -8.851563 4.4375 -8.671875 4.28125 -8.515625 C 4.125 -8.367188 3.941406 -8.296875 3.734375 -8.296875 Z M 3.734375 -8.296875 "
id="path15" />
</g>
<g
id="glyph-0-6">
<path
d="M 0.90625 2.5 L 0.90625 -6.859375 L 2 -6.859375 L 2 -5.5 C 2.101563 -5.851563 2.257813 -6.140625 2.46875 -6.359375 C 2.675781 -6.578125 2.914063 -6.738281 3.1875 -6.84375 C 3.457031 -6.945313 3.753906 -7 4.078125 -7 C 4.460938 -7 4.828125 -6.925781 5.171875 -6.78125 C 5.515625 -6.632813 5.816406 -6.414063 6.078125 -6.125 C 6.347656 -5.84375 6.554688 -5.476563 6.703125 -5.03125 C 6.859375 -4.59375 6.9375 -4.078125 6.9375 -3.484375 C 6.9375 -2.878906 6.851563 -2.347656 6.6875 -1.890625 C 6.53125 -1.429688 6.3125 -1.046875 6.03125 -0.734375 C 5.757813 -0.429688 5.453125 -0.203125 5.109375 -0.046875 C 4.765625 0.109375 4.410156 0.1875 4.046875 0.1875 C 3.773438 0.1875 3.507813 0.140625 3.25 0.046875 C 3 -0.0351563 2.769531 -0.15625 2.5625 -0.3125 C 2.351563 -0.476563 2.171875 -0.675781 2.015625 -0.90625 L 2.015625 2.5 Z M 3.875 -0.78125 C 4.113281 -0.78125 4.347656 -0.820313 4.578125 -0.90625 C 4.804688 -0.988281 5.015625 -1.128906 5.203125 -1.328125 C 5.390625 -1.535156 5.535156 -1.8125 5.640625 -2.15625 C 5.753906 -2.5 5.8125 -2.925781 5.8125 -3.4375 C 5.8125 -3.988281 5.742188 -4.457031 5.609375 -4.84375 C 5.472656 -5.226563 5.269531 -5.523438 5 -5.734375 C 4.738281 -5.941406 4.414063 -6.054688 4.03125 -6.078125 C 3.75 -6.097656 3.484375 -6.054688 3.234375 -5.953125 C 2.992188 -5.859375 2.78125 -5.691406 2.59375 -5.453125 C 2.40625 -5.222656 2.257813 -4.921875 2.15625 -4.546875 C 2.050781 -4.171875 2 -3.71875 2 -3.1875 C 2.007813 -2.875 2.039063 -2.585938 2.09375 -2.328125 C 2.15625 -2.066406 2.238281 -1.835938 2.34375 -1.640625 C 2.457031 -1.441406 2.585938 -1.28125 2.734375 -1.15625 C 2.890625 -1.03125 3.0625 -0.9375 3.25 -0.875 C 3.445313 -0.8125 3.65625 -0.78125 3.875 -0.78125 Z M 3.875 -0.78125 "
id="path18" />
</g>
<g
id="glyph-0-7">
<path
d="M 1.1875 0 L 1.1875 -0.875 L 3.203125 -0.875 L 3.203125 -9.109375 L 1.28125 -9.109375 L 1.28125 -9.96875 L 4.3125 -9.96875 L 4.3125 -0.875 L 6.3125 -0.875 L 6.3125 0 Z M 1.1875 0 "
id="path21" />
</g>
<g
id="glyph-0-8">
<path
d="M 3.75 0.125 C 3.125 0.125 2.570313 -0.0234375 2.09375 -0.328125 C 1.625 -0.640625 1.253906 -1.0625 0.984375 -1.59375 C 0.710938 -2.132813 0.578125 -2.75 0.578125 -3.4375 C 0.578125 -4.132813 0.710938 -4.75 0.984375 -5.28125 C 1.253906 -5.820313 1.625 -6.242188 2.09375 -6.546875 C 2.570313 -6.847656 3.125 -7 3.75 -7 C 4.375 -7 4.921875 -6.847656 5.390625 -6.546875 C 5.867188 -6.242188 6.242188 -5.820313 6.515625 -5.28125 C 6.785156 -4.75 6.921875 -4.132813 6.921875 -3.4375 C 6.921875 -2.75 6.785156 -2.132813 6.515625 -1.59375 C 6.242188 -1.0625 5.867188 -0.640625 5.390625 -0.328125 C 4.921875 -0.0234375 4.375 0.125 3.75 0.125 Z M 3.75 -0.78125 C 4.144531 -0.78125 4.492188 -0.894531 4.796875 -1.125 C 5.097656 -1.351563 5.335938 -1.664063 5.515625 -2.0625 C 5.691406 -2.46875 5.78125 -2.929688 5.78125 -3.453125 C 5.78125 -3.972656 5.691406 -4.429688 5.515625 -4.828125 C 5.335938 -5.234375 5.097656 -5.546875 4.796875 -5.765625 C 4.492188 -5.992188 4.144531 -6.109375 3.75 -6.109375 C 3.363281 -6.109375 3.015625 -5.992188 2.703125 -5.765625 C 2.398438 -5.546875 2.160156 -5.234375 1.984375 -4.828125 C 1.804688 -4.429688 1.71875 -3.972656 1.71875 -3.453125 C 1.71875 -2.929688 1.804688 -2.46875 1.984375 -2.0625 C 2.160156 -1.664063 2.398438 -1.351563 2.703125 -1.125 C 3.015625 -0.894531 3.363281 -0.78125 3.75 -0.78125 Z M 3.75 -0.78125 "
id="path24" />
</g>
<g
id="glyph-1-0">
<path
d="M 1.6875 0 L 1.6875 -8.4375 L 8.4375 -8.4375 L 8.4375 0 Z M 1.90625 -0.21875 L 8.234375 -0.21875 L 8.234375 -8.234375 L 1.90625 -8.234375 Z M 1.90625 -0.21875 "
id="path27" />
</g>
<g
id="glyph-1-1">
<path
d="M 5.015625 -2.234375 L 6.875 -1.921875 C 6.632813 -1.242188 6.257813 -0.726563 5.75 -0.375 C 5.238281 -0.0195313 4.597656 0.15625 3.828125 0.15625 C 2.609375 0.15625 1.707031 -0.238281 1.125 -1.03125 C 0.65625 -1.664063 0.421875 -2.472656 0.421875 -3.453125 C 0.421875 -4.609375 0.722656 -5.515625 1.328125 -6.171875 C 1.941406 -6.828125 2.710938 -7.15625 3.640625 -7.15625 C 4.679688 -7.15625 5.5 -6.8125 6.09375 -6.125 C 6.695313 -5.4375 6.988281 -4.382813 6.96875 -2.96875 L 2.328125 -2.96875 C 2.335938 -2.414063 2.484375 -1.984375 2.765625 -1.671875 C 3.054688 -1.367188 3.414063 -1.21875 3.84375 -1.21875 C 4.132813 -1.21875 4.378906 -1.296875 4.578125 -1.453125 C 4.773438 -1.617188 4.921875 -1.878906 5.015625 -2.234375 Z M 5.125 -4.09375 C 5.113281 -4.632813 4.972656 -5.039063 4.703125 -5.3125 C 4.441406 -5.59375 4.125 -5.734375 3.75 -5.734375 C 3.34375 -5.734375 3.007813 -5.585938 2.75 -5.296875 C 2.488281 -5.003906 2.359375 -4.601563 2.359375 -4.09375 Z M 5.125 -4.09375 "
id="path30" />
</g>
<g
id="glyph-1-2">
<path
d="M 0.078125 0 L 2.609375 -3.609375 L 0.1875 -7 L 2.453125 -7 L 3.6875 -5.078125 L 4.984375 -7 L 7.171875 -7 L 4.796875 -3.6875 L 7.390625 0 L 5.109375 0 L 3.6875 -2.171875 L 2.25 0 Z M 0.078125 0 "
id="path33" />
</g>
<g
id="glyph-1-3">
<path
d="M 2.359375 -4.859375 L 0.671875 -5.171875 C 0.859375 -5.847656 1.179688 -6.347656 1.640625 -6.671875 C 2.109375 -6.992188 2.796875 -7.15625 3.703125 -7.15625 C 4.523438 -7.15625 5.140625 -7.054688 5.546875 -6.859375 C 5.953125 -6.671875 6.238281 -6.425781 6.40625 -6.125 C 6.570313 -5.820313 6.65625 -5.269531 6.65625 -4.46875 L 6.625 -2.296875 C 6.625 -1.679688 6.65625 -1.226563 6.71875 -0.9375 C 6.78125 -0.644531 6.890625 -0.332031 7.046875 0 L 5.21875 0 C 5.164063 -0.125 5.109375 -0.304688 5.046875 -0.546875 C 5.015625 -0.660156 4.992188 -0.734375 4.984375 -0.765625 C 4.660156 -0.453125 4.316406 -0.21875 3.953125 -0.0625 C 3.597656 0.0820313 3.21875 0.15625 2.8125 0.15625 C 2.09375 0.15625 1.523438 -0.0351563 1.109375 -0.421875 C 0.691406 -0.816406 0.484375 -1.3125 0.484375 -1.90625 C 0.484375 -2.300781 0.578125 -2.65625 0.765625 -2.96875 C 0.953125 -3.28125 1.210938 -3.515625 1.546875 -3.671875 C 1.890625 -3.835938 2.382813 -3.984375 3.03125 -4.109375 C 3.894531 -4.273438 4.492188 -4.425781 4.828125 -4.5625 L 4.828125 -4.75 C 4.828125 -5.101563 4.738281 -5.351563 4.5625 -5.5 C 4.382813 -5.65625 4.054688 -5.734375 3.578125 -5.734375 C 3.242188 -5.734375 2.984375 -5.671875 2.796875 -5.546875 C 2.617188 -5.421875 2.472656 -5.191406 2.359375 -4.859375 Z M 4.828125 -3.359375 C 4.585938 -3.285156 4.210938 -3.191406 3.703125 -3.078125 C 3.191406 -2.960938 2.859375 -2.851563 2.703125 -2.75 C 2.453125 -2.582031 2.328125 -2.367188 2.328125 -2.109375 C 2.328125 -1.847656 2.421875 -1.617188 2.609375 -1.421875 C 2.804688 -1.234375 3.054688 -1.140625 3.359375 -1.140625 C 3.691406 -1.140625 4.007813 -1.253906 4.3125 -1.484375 C 4.539063 -1.648438 4.691406 -1.851563 4.765625 -2.09375 C 4.804688 -2.25 4.828125 -2.550781 4.828125 -3 Z M 4.828125 -3.359375 "
id="path36" />
</g>
<g
id="glyph-1-4">
<path
d="M 0.828125 -7 L 2.53125 -7 L 2.53125 -6.046875 C 3.144531 -6.785156 3.875 -7.15625 4.71875 -7.15625 C 5.164063 -7.15625 5.550781 -7.0625 5.875 -6.875 C 6.207031 -6.695313 6.484375 -6.421875 6.703125 -6.046875 C 7.003906 -6.421875 7.332031 -6.695313 7.6875 -6.875 C 8.050781 -7.0625 8.429688 -7.15625 8.828125 -7.15625 C 9.347656 -7.15625 9.785156 -7.050781 10.140625 -6.84375 C 10.492188 -6.632813 10.757813 -6.328125 10.9375 -5.921875 C 11.0625 -5.628906 11.125 -5.144531 11.125 -4.46875 L 11.125 0 L 9.28125 0 L 9.28125 -4 C 9.28125 -4.695313 9.210938 -5.144531 9.078125 -5.34375 C 8.910156 -5.601563 8.648438 -5.734375 8.296875 -5.734375 C 8.035156 -5.734375 7.789063 -5.65625 7.5625 -5.5 C 7.332031 -5.34375 7.164063 -5.109375 7.0625 -4.796875 C 6.96875 -4.492188 6.921875 -4.015625 6.921875 -3.359375 L 6.921875 0 L 5.0625 0 L 5.0625 -3.84375 C 5.0625 -4.519531 5.023438 -4.957031 4.953125 -5.15625 C 4.890625 -5.351563 4.789063 -5.5 4.65625 -5.59375 C 4.519531 -5.6875 4.332031 -5.734375 4.09375 -5.734375 C 3.8125 -5.734375 3.554688 -5.65625 3.328125 -5.5 C 3.097656 -5.351563 2.929688 -5.132813 2.828125 -4.84375 C 2.734375 -4.550781 2.6875 -4.070313 2.6875 -3.40625 L 2.6875 0 L 0.828125 0 Z M 0.828125 -7 "
id="path39" />
</g>
<g
id="glyph-1-5">
<path
d="M 0.921875 -7 L 2.640625 -7 L 2.640625 -5.96875 C 2.867188 -6.320313 3.171875 -6.609375 3.546875 -6.828125 C 3.929688 -7.046875 4.359375 -7.15625 4.828125 -7.15625 C 5.640625 -7.15625 6.328125 -6.835938 6.890625 -6.203125 C 7.460938 -5.566406 7.75 -4.679688 7.75 -3.546875 C 7.75 -2.367188 7.460938 -1.457031 6.890625 -0.8125 C 6.316406 -0.164063 5.625 0.15625 4.8125 0.15625 C 4.425781 0.15625 4.078125 0.0820313 3.765625 -0.0625 C 3.453125 -0.21875 3.117188 -0.484375 2.765625 -0.859375 L 2.765625 2.65625 L 0.921875 2.65625 Z M 2.75 -3.625 C 2.75 -2.832031 2.90625 -2.25 3.21875 -1.875 C 3.53125 -1.5 3.910156 -1.3125 4.359375 -1.3125 C 4.785156 -1.3125 5.140625 -1.484375 5.421875 -1.828125 C 5.710938 -2.171875 5.859375 -2.738281 5.859375 -3.53125 C 5.859375 -4.257813 5.710938 -4.800781 5.421875 -5.15625 C 5.128906 -5.519531 4.765625 -5.703125 4.328125 -5.703125 C 3.867188 -5.703125 3.488281 -5.523438 3.1875 -5.171875 C 2.894531 -4.816406 2.75 -4.300781 2.75 -3.625 Z M 2.75 -3.625 "
id="path42" />
</g>
<g
id="glyph-1-6">
<path
d="M 0.96875 0 L 0.96875 -9.65625 L 2.828125 -9.65625 L 2.828125 0 Z M 0.96875 0 "
id="path45" />
</g>
</g>
<clipPath
id="clip-0">
<path
clip-rule="nonzero"
d="M 72 118 L 94 118 L 94 153 L 72 153 Z M 72 118 "
id="path50" />
</clipPath>
</defs>
<path
fill-rule="nonzero"
fill="rgb(100%, 94.898987%, 79.998779%)"
fill-opacity="1"
stroke-width="1"
stroke-linecap="butt"
stroke-linejoin="miter"
stroke="rgb(83.918762%, 71.369934%, 33.729553%)"
stroke-opacity="1"
stroke-miterlimit="4"
d="M 40.000002 1 L 310.000013 1 L 310.000013 201.000008 L 40.000002 201.000008 Z M 40.000002 1 "
transform="matrix(0.75, 0, 0, 0.75, 0.375, 0.375)"
id="path55" />
<path
fill-rule="nonzero"
fill="rgb(97.24884%, 80.778503%, 79.998779%)"
fill-opacity="1"
stroke-width="2"
stroke-linecap="butt"
stroke-linejoin="miter"
stroke="rgb(72.158813%, 32.939148%, 31.369019%)"
stroke-opacity="1"
stroke-miterlimit="4"
d="M 70.000003 122.000005 L 150.000006 122.000005 L 150.000006 162.000007 L 70.000003 162.000007 Z M 70.000003 122.000005 "
transform="matrix(0.75, 0, 0, 0.75, 0, 0)"
id="path57" />
<g
fill="#000000"
fill-opacity="1"
id="g67">
<use
xlink:href="#glyph-0-1"
x="67.5"
y="111.74999"
id="use59" />
<use
xlink:href="#glyph-0-2"
x="75"
y="111.74999"
id="use61" />
<use
xlink:href="#glyph-0-3"
x="82.5"
y="111.74999"
id="use63" />
<use
xlink:href="#glyph-0-4"
x="89.999992"
y="111.74999"
id="use65" />
</g>
<path
fill-rule="nonzero"
fill="rgb(97.24884%, 80.778503%, 79.998779%)"
fill-opacity="1"
stroke-width="2"
stroke-linecap="butt"
stroke-linejoin="miter"
stroke="rgb(72.158813%, 32.939148%, 31.369019%)"
stroke-opacity="1"
stroke-miterlimit="4"
d="M 120.000005 112.000005 L 140.000006 112.000005 L 140.000006 122.000005 L 120.000005 122.000005 Z M 120.000005 112.000005 "
transform="matrix(0.75, 0, 0, 0.75, 0, 0)"
id="path69" />
<path
fill-rule="nonzero"
fill="rgb(97.24884%, 80.778503%, 79.998779%)"
fill-opacity="1"
stroke-width="2"
stroke-linecap="butt"
stroke-linejoin="miter"
stroke="rgb(72.158813%, 32.939148%, 31.369019%)"
stroke-opacity="1"
stroke-miterlimit="10"
d="M 85.000005 116.999996 C 91.666672 116.999996 95.000006 120.333329 95.000006 126.999996 C 95.000006 133.666663 91.666672 136.999997 85.000005 136.999997 Z M 85.000005 116.999996 "
transform="matrix(0, 0.75, -0.75, 0, 162.749993, 27.749999)"
id="path71" />
<path
fill="none"
stroke-width="2"
stroke-linecap="butt"
stroke-linejoin="miter"
stroke="rgb(72.158813%, 32.939148%, 31.369019%)"
stroke-opacity="1"
stroke-miterlimit="10"
d="M 80.000003 167.000007 L 140.000006 167.000007 "
transform="matrix(0.75, 0, 0, 0.75, 0, 0)"
id="path73" />
<path
fill-rule="nonzero"
fill="rgb(96.078491%, 96.078491%, 96.078491%)"
fill-opacity="1"
stroke-width="2"
stroke-linecap="butt"
stroke-linejoin="miter"
stroke="rgb(39.99939%, 39.99939%, 39.99939%)"
stroke-opacity="1"
stroke-miterlimit="4"
d="M 110.000005 76.000003 C 110.000005 77.312503 109.869796 78.614587 109.614588 79.901045 C 109.35938 81.187503 108.979171 82.442712 108.479171 83.656253 C 107.973963 84.864587 107.359379 86.020837 106.630213 87.109379 C 105.901046 88.203129 105.072921 89.213545 104.140629 90.140629 C 103.213546 91.07292 102.203129 91.901045 101.109379 92.630212 C 100.020838 93.359379 98.864587 93.973962 97.656254 94.479171 C 96.442712 94.979171 95.187504 95.359379 93.901046 95.614587 C 92.614587 95.869796 91.312504 96.000004 90.000004 96.000004 C 88.687504 96.000004 87.38542 95.869796 86.098962 95.614587 C 84.812504 95.359379 83.557295 94.979171 82.343753 94.479171 C 81.13542 93.973962 79.97917 93.359379 78.890628 92.630212 C 77.796878 91.901045 76.786462 91.07292 75.859378 90.140629 C 74.927086 89.213545 74.098961 88.203129 73.369795 87.109379 C 72.640628 86.020837 72.026045 84.864587 71.520836 83.656253 C 71.020836 82.442712 70.640628 81.187503 70.38542 79.901045 C 70.130211 78.614587 70.000003 77.312503 70.000003 76.000003 C 70.000003 74.687503 70.130211 73.38542 70.38542 72.098961 C 70.640628 70.812503 71.020836 69.557295 71.520836 68.343753 C 72.026045 67.135419 72.640628 65.979169 73.369795 64.890628 C 74.098961 63.796878 74.927086 62.786461 75.859378 61.859378 C 76.786462 60.927086 77.796878 60.098961 78.890628 59.369794 C 79.97917 58.640627 81.13542 58.026044 82.343753 57.520836 C 83.557295 57.020836 84.812504 56.640627 86.098962 56.385419 C 87.38542 56.130211 88.687504 56.000002 90.000004 56.000002 C 91.312504 56.000002 92.614587 56.130211 93.901046 56.385419 C 95.187504 56.640627 96.442712 57.020836 97.656254 57.520836 C 98.864587 58.026044 100.020838 58.640627 101.109379 59.369794 C 102.203129 60.098961 103.213546 60.927086 104.140629 61.859378 C 105.072921 62.786461 105.901046 63.796878 106.630213 64.890628 C 107.359379 65.979169 107.973963 67.135419 108.479171 68.343753 C 108.979171 69.557295 109.35938 70.812503 109.614588 72.098961 C 109.869796 73.38542 110.000005 74.687503 110.000005 76.000003 Z M 110.000005 76.000003 "
transform="matrix(0.75, 0, 0, 0.75, 0, 0)"
id="path75" />
<g
fill="#333333"
fill-opacity="1"
id="g81">
<use
xlink:href="#glyph-0-5"
x="59.999996"
y="62.249996"
id="use77" />
<use
xlink:href="#glyph-0-6"
x="67.5"
y="62.249996"
id="use79" />
</g>
<path
fill-rule="nonzero"
fill="rgb(96.078491%, 96.078491%, 96.078491%)"
fill-opacity="1"
stroke-width="2"
stroke-linecap="butt"
stroke-linejoin="miter"
stroke="rgb(39.99939%, 39.99939%, 39.99939%)"
stroke-opacity="1"
stroke-miterlimit="10"
d="M 85.000004 87.999996 C 91.666671 87.999996 95.000004 91.333329 95.000004 97.999996 C 95.000004 104.666663 91.666671 107.999997 85.000004 107.999997 Z M 85.000004 87.999996 "
transform="matrix(0, 0.75, -0.75, 0, 140.999994, 6)"
id="path83" />
<path
fill="none"
stroke-width="2"
stroke-linecap="butt"
stroke-linejoin="miter"
stroke="rgb(39.99939%, 39.99939%, 39.99939%)"
stroke-opacity="1"
stroke-miterlimit="10"
d="M 90.000004 103.000004 L 89.828129 119.000005 "
transform="matrix(0.75, 0, 0, 0.75, 0, 0)"
id="path85" />
<path
fill-rule="nonzero"
fill="rgb(39.99939%, 39.99939%, 39.99939%)"
fill-opacity="1"
stroke-width="2"
stroke-linecap="butt"
stroke-linejoin="miter"
stroke="rgb(39.99939%, 39.99939%, 39.99939%)"
stroke-opacity="1"
stroke-miterlimit="4"
d="M 92.802087 122.000005 C 92.802087 122.395838 92.723962 122.781255 92.572921 123.145838 C 92.421879 123.51563 92.203129 123.838547 91.921879 124.119797 C 91.640629 124.401047 91.317712 124.619797 90.94792 124.770839 C 90.578129 124.92188 90.19792 125.000005 89.802087 125.000005 C 89.401045 125.000005 89.020837 124.92188 88.651045 124.770839 C 88.286462 124.619797 87.958337 124.401047 87.677087 124.119797 C 87.395837 123.838547 87.182295 123.51563 87.026045 123.145838 C 86.875004 122.781255 86.802087 122.395838 86.802087 122.000005 C 86.802087 121.604172 86.875004 121.218755 87.026045 120.854172 C 87.182295 120.48438 87.395837 120.161463 87.677087 119.880213 C 87.958337 119.598963 88.286462 119.380213 88.651045 119.229172 C 89.020837 119.07813 89.401045 119.000005 89.802087 119.000005 C 90.19792 119.000005 90.578129 119.07813 90.94792 119.229172 C 91.317712 119.380213 91.640629 119.598963 91.921879 119.880213 C 92.203129 120.161463 92.421879 120.48438 92.572921 120.854172 C 92.723962 121.218755 92.802087 121.604172 92.802087 122.000005 Z M 92.802087 122.000005 "
transform="matrix(0.75, 0, 0, 0.75, 0, 0)"
id="path87" />
<path
fill-rule="nonzero"
fill="rgb(96.078491%, 96.078491%, 96.078491%)"
fill-opacity="1"
stroke-width="2"
stroke-linecap="butt"
stroke-linejoin="miter"
stroke="rgb(39.99939%, 39.99939%, 39.99939%)"
stroke-opacity="1"
stroke-miterlimit="4"
d="M 190.000008 122.000005 L 270.000011 122.000005 L 270.000011 162.000007 L 190.000008 162.000007 Z M 190.000008 122.000005 "
transform="matrix(0.75, 0, 0, 0.75, 0, 0)"
id="path89" />
<g
fill="#333333"
fill-opacity="1"
id="g95">
<use
xlink:href="#glyph-0-7"
x="165"
y="111.74999"
id="use91" />
<use
xlink:href="#glyph-0-8"
x="172.5"
y="111.74999"
id="use93" />
</g>
<path
fill-rule="nonzero"
fill="rgb(96.078491%, 96.078491%, 96.078491%)"
fill-opacity="1"
stroke-width="2"
stroke-linecap="butt"
stroke-linejoin="miter"
stroke="rgb(39.99939%, 39.99939%, 39.99939%)"
stroke-opacity="1"
stroke-miterlimit="4"
d="M 240.00001 112.000005 L 260.000011 112.000005 L 260.000011 122.000005 L 240.00001 122.000005 Z M 240.00001 112.000005 "
transform="matrix(0.75, 0, 0, 0.75, 0, 0)"
id="path97" />
<path
fill-rule="nonzero"
fill="rgb(96.078491%, 96.078491%, 96.078491%)"
fill-opacity="1"
stroke-width="2"
stroke-linecap="butt"
stroke-linejoin="miter"
stroke="rgb(39.99939%, 39.99939%, 39.99939%)"
stroke-opacity="1"
stroke-miterlimit="10"
d="M 205.000005 116.999991 C 211.666672 116.999991 215.000006 120.333324 215.000006 126.999991 C 215.000006 133.666658 211.666672 136.999992 205.000005 136.999992 Z M 205.000005 116.999991 "
transform="matrix(0, 0.75, -0.75, 0, 252.749989, -62.249997)"
id="path99" />
<path
fill="none"
stroke-width="2"
stroke-linecap="butt"
stroke-linejoin="miter"
stroke="rgb(39.99939%, 39.99939%, 39.99939%)"
stroke-opacity="1"
stroke-miterlimit="10"
d="M 210.000009 162.000007 L 210.000009 182.000008 L 250.00001 182.000008 L 250.00001 170.23959 "
transform="matrix(0.75, 0, 0, 0.75, 0, 0)"
id="path101" />
<path
fill-rule="nonzero"
fill="rgb(39.99939%, 39.99939%, 39.99939%)"
fill-opacity="1"
stroke-width="2"
stroke-linecap="butt"
stroke-linejoin="miter"
stroke="rgb(39.99939%, 39.99939%, 39.99939%)"
stroke-opacity="1"
stroke-miterlimit="10"
d="M 250.00001 164.23959 L 254.000011 172.239591 L 250.00001 170.23959 L 246.00001 172.239591 Z M 250.00001 164.23959 "
transform="matrix(0.75, 0, 0, 0.75, 0, 0)"
id="path103" />
<path
fill-rule="nonzero"
fill="rgb(96.078491%, 96.078491%, 96.078491%)"
fill-opacity="1"
stroke-width="2"
stroke-linecap="butt"
stroke-linejoin="miter"
stroke="rgb(39.99939%, 39.99939%, 39.99939%)"
stroke-opacity="1"
stroke-miterlimit="4"
d="M 230.00001 76.000003 C 230.00001 77.312503 229.869801 78.614587 229.614593 79.901045 C 229.359385 81.187503 228.979176 82.442712 228.479176 83.656253 C 227.973968 84.864587 227.359384 86.020837 226.630218 87.109379 C 225.901051 88.203129 225.072926 89.213545 224.140634 90.140629 C 223.213551 91.07292 222.203134 91.901045 221.109384 92.630212 C 220.020843 93.359379 218.864592 93.973962 217.656259 94.479171 C 216.442717 94.979171 215.187509 95.359379 213.901051 95.614587 C 212.614592 95.869796 211.312509 96.000004 210.000009 96.000004 C 208.687509 96.000004 207.385425 95.869796 206.098967 95.614587 C 204.812509 95.359379 203.5573 94.979171 202.343758 94.479171 C 201.135425 93.973962 199.979175 93.359379 198.890633 92.630212 C 197.796883 91.901045 196.786467 91.07292 195.859383 90.140629 C 194.927091 89.213545 194.098966 88.203129 193.3698 87.109379 C 192.640633 86.020837 192.02605 84.864587 191.520841 83.656253 C 191.020841 82.442712 190.640633 81.187503 190.385425 79.901045 C 190.130216 78.614587 190.000008 77.312503 190.000008 76.000003 C 190.000008 74.687503 190.130216 73.38542 190.385425 72.098961 C 190.640633 70.812503 191.020841 69.557295 191.520841 68.343753 C 192.02605 67.135419 192.640633 65.979169 193.3698 64.890628 C 194.098966 63.796878 194.927091 62.786461 195.859383 61.859378 C 196.786467 60.927086 197.796883 60.098961 198.890633 59.369794 C 199.979175 58.640627 201.135425 58.026044 202.343758 57.520836 C 203.5573 57.020836 204.812509 56.640627 206.098967 56.385419 C 207.385425 56.130211 208.687509 56.000002 210.000009 56.000002 C 211.312509 56.000002 212.614592 56.130211 213.901051 56.385419 C 215.187509 56.640627 216.442717 57.020836 217.656259 57.520836 C 218.864592 58.026044 220.020843 58.640627 221.109384 59.369794 C 222.203134 60.098961 223.213551 60.927086 224.140634 61.859378 C 225.072926 62.786461 225.901051 63.796878 226.630218 64.890628 C 227.359384 65.979169 227.973968 67.135419 228.479176 68.343753 C 228.979176 69.557295 229.359385 70.812503 229.614593 72.098961 C 229.869801 73.38542 230.00001 74.687503 230.00001 76.000003 Z M 230.00001 76.000003 "
transform="matrix(0.75, 0, 0, 0.75, 0, 0)"
id="path105" />
<g
fill="#333333"
fill-opacity="1"
id="g111">
<use
xlink:href="#glyph-0-5"
x="150"
y="62.249996"
id="use107" />
<use
xlink:href="#glyph-0-6"
x="157.5"
y="62.249996"
id="use109" />
</g>
<path
fill-rule="nonzero"
fill="rgb(96.078491%, 96.078491%, 96.078491%)"
fill-opacity="1"
stroke-width="2"
stroke-linecap="butt"
stroke-linejoin="miter"
stroke="rgb(39.99939%, 39.99939%, 39.99939%)"
stroke-opacity="1"
stroke-miterlimit="10"
d="M 205.000004 87.999991 C 211.666671 87.999991 215.000004 91.333324 215.000004 97.999991 C 215.000004 104.666658 211.666671 107.999992 205.000004 107.999992 Z M 205.000004 87.999991 "
transform="matrix(0, 0.75, -0.75, 0, 230.99999, -83.999997)"
id="path113" />
<path
fill="none"
stroke-width="2"
stroke-linecap="butt"
stroke-linejoin="miter"
stroke="rgb(39.99939%, 39.99939%, 39.99939%)"
stroke-opacity="1"
stroke-miterlimit="10"
d="M 210.000009 103.000004 L 209.828134 119.000005 "
transform="matrix(0.75, 0, 0, 0.75, 0, 0)"
id="path115" />
<path
fill-rule="nonzero"
fill="rgb(39.99939%, 39.99939%, 39.99939%)"
fill-opacity="1"
stroke-width="2"
stroke-linecap="butt"
stroke-linejoin="miter"
stroke="rgb(39.99939%, 39.99939%, 39.99939%)"
stroke-opacity="1"
stroke-miterlimit="4"
d="M 212.802092 122.000005 C 212.802092 122.395838 212.723967 122.781255 212.572926 123.145838 C 212.421884 123.51563 212.203134 123.838547 211.921884 124.119797 C 211.640634 124.401047 211.317717 124.619797 210.947925 124.770839 C 210.578134 124.92188 210.197925 125.000005 209.802092 125.000005 C 209.40105 125.000005 209.020842 124.92188 208.65105 124.770839 C 208.286467 124.619797 207.958342 124.401047 207.677092 124.119797 C 207.395842 123.838547 207.1823 123.51563 207.02605 123.145838 C 206.875009 122.781255 206.802092 122.395838 206.802092 122.000005 C 206.802092 121.604172 206.875009 121.218755 207.02605 120.854172 C 207.1823 120.48438 207.395842 120.161463 207.677092 119.880213 C 207.958342 119.598963 208.286467 119.380213 208.65105 119.229172 C 209.020842 119.07813 209.40105 119.000005 209.802092 119.000005 C 210.197925 119.000005 210.578134 119.07813 210.947925 119.229172 C 211.317717 119.380213 211.640634 119.598963 211.921884 119.880213 C 212.203134 120.161463 212.421884 120.48438 212.572926 120.854172 C 212.723967 121.218755 212.802092 121.604172 212.802092 122.000005 Z M 212.802092 122.000005 "
transform="matrix(0.75, 0, 0, 0.75, 0, 0)"
id="path117" />
<g
fill="#000000"
fill-opacity="1"
id="g133">
<use
xlink:href="#glyph-1-1"
x="44.226562"
y="23.999998"
id="use119" />
<use
xlink:href="#glyph-1-2"
x="51.734615"
y="23.999998"
id="use121" />
<use
xlink:href="#glyph-1-3"
x="59.242672"
y="23.999998"
id="use123" />
<use
xlink:href="#glyph-1-4"
x="66.750732"
y="23.999998"
id="use125" />
<use
xlink:href="#glyph-1-5"
x="78.754395"
y="23.999998"
id="use127" />
<use
xlink:href="#glyph-1-6"
x="87.000732"
y="23.999998"
id="use129" />
<use
xlink:href="#glyph-1-1"
x="90.751457"
y="23.999998"
id="use131" />
</g>
<g
clip-path="url(#clip-0)"
id="g137">
<path
fill="none"
stroke-width="1"
stroke-linecap="butt"
stroke-linejoin="miter"
stroke="#000000"
stroke-opacity="1"
stroke-miterlimit="10"
d="m 110.00001,201.00001 -0.23959,-29"
transform="matrix(0.75,0,0,0.75,0.375,0.375)"
id="path135" />
</g>
<path
fill="none"
stroke-width="2"
stroke-linecap="butt"
stroke-linejoin="miter"
stroke="rgb(72.158813%, 32.939148%, 31.369019%)"
stroke-opacity="1"
stroke-miterlimit="10"
d="M 90.000004 172.000007 L 130.000005 172.000007 "
transform="matrix(0.75, 0, 0, 0.75, 0, 0)"
id="path139" />
</svg>

Before

Width:  |  Height:  |  Size: 33 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 342 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 339 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 280 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 262 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 258 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 464 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 388 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 343 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 224 KiB

-82
View File
@@ -1,82 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.43.0 (0)
-->
<!-- Title: dhcp&#45;client&#45;server Pages: 1 -->
<svg width="309pt" height="252pt"
viewBox="0.00 0.00 308.52 252.02" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 248.02)">
<title>dhcp&#45;client&#45;server</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-248.02 304.52,-248.02 304.52,4 -4,4"/>
<!-- host -->
<g id="node1" class="node">
<title>host</title>
<polygon fill="none" stroke="grey" points="0,-87.51 0,-156.51 91,-156.51 91,-87.51 0,-87.51"/>
<text text-anchor="middle" x="25" y="-118.31" font-family="monospace" font-size="14.00" fill="grey">host</text>
<polyline fill="none" stroke="grey" points="50,-87.51 50,-156.51 "/>
<text text-anchor="middle" x="70.5" y="-141.31" font-family="monospace" font-size="14.00" fill="grey">c1</text>
<polyline fill="none" stroke="grey" points="50,-133.51 91,-133.51 "/>
<text text-anchor="middle" x="70.5" y="-118.31" font-family="monospace" font-size="14.00" fill="grey">srv</text>
<polyline fill="none" stroke="grey" points="50,-110.51 91,-110.51 "/>
<text text-anchor="middle" x="70.5" y="-95.31" font-family="monospace" font-size="14.00" fill="grey">c2</text>
</g>
<!-- server -->
<g id="node2" class="node">
<title>server</title>
<polygon fill="none" stroke="black" points="143.52,-99.01 143.52,-145.01 292.52,-145.01 292.52,-99.01 143.52,-99.01"/>
<text text-anchor="middle" x="168.52" y="-118.31" font-family="monospace" font-size="14.00">mgmt</text>
<polyline fill="none" stroke="black" points="193.52,-99.01 193.52,-145.01 "/>
<text text-anchor="middle" x="226.52" y="-118.31" font-family="monospace" font-size="14.00">server</text>
<polyline fill="none" stroke="black" points="259.52,-99.01 259.52,-145.01 "/>
<text text-anchor="middle" x="276.02" y="-129.81" font-family="monospace" font-size="14.00">c1</text>
<polyline fill="none" stroke="black" points="259.52,-122.01 292.52,-122.01 "/>
<text text-anchor="middle" x="276.02" y="-106.81" font-family="monospace" font-size="14.00">c2</text>
</g>
<!-- host&#45;&#45;server -->
<g id="edge1" class="edge">
<title>host:srv&#45;&#45;server:mgmt</title>
<path fill="none" stroke="grey" stroke-width="2" d="M91.5,-122.01C91.5,-122.01 143.02,-122.01 143.02,-122.01"/>
</g>
<!-- client1 -->
<g id="node3" class="node">
<title>client1</title>
<polygon fill="none" stroke="black" points="135.52,-207.52 135.52,-243.52 300.52,-243.52 300.52,-207.52 135.52,-207.52"/>
<text text-anchor="middle" x="160.52" y="-221.82" font-family="monospace" font-size="14.00">mgmt</text>
<polyline fill="none" stroke="black" points="185.52,-207.52 185.52,-243.52 "/>
<text text-anchor="middle" x="222.52" y="-221.82" font-family="monospace" font-size="14.00">client1</text>
<polyline fill="none" stroke="black" points="259.52,-207.52 259.52,-243.52 "/>
<text text-anchor="middle" x="280.02" y="-221.82" font-family="monospace" font-size="14.00">srv</text>
</g>
<!-- host&#45;&#45;client1 -->
<g id="edge2" class="edge">
<title>host:c1&#45;&#45;client1:mgmt</title>
<path fill="none" stroke="grey" stroke-width="2" d="M91.5,-145.01C91.5,-145.01 135.02,-225.52 135.02,-225.52"/>
</g>
<!-- client2 -->
<g id="node4" class="node">
<title>client2</title>
<polygon fill="none" stroke="black" points="135.52,-0.5 135.52,-36.5 300.52,-36.5 300.52,-0.5 135.52,-0.5"/>
<text text-anchor="middle" x="160.52" y="-14.8" font-family="monospace" font-size="14.00">mgmt</text>
<polyline fill="none" stroke="black" points="185.52,-0.5 185.52,-36.5 "/>
<text text-anchor="middle" x="222.52" y="-14.8" font-family="monospace" font-size="14.00">client2</text>
<polyline fill="none" stroke="black" points="259.52,-0.5 259.52,-36.5 "/>
<text text-anchor="middle" x="280.02" y="-14.8" font-family="monospace" font-size="14.00">srv</text>
</g>
<!-- host&#45;&#45;client2 -->
<g id="edge3" class="edge">
<title>host:c2&#45;&#45;client2:mgmt</title>
<path fill="none" stroke="grey" stroke-width="2" d="M91.5,-99.01C91.5,-99.01 135.02,-18.5 135.02,-18.5"/>
</g>
<!-- server&#45;&#45;client1 -->
<g id="edge4" class="edge">
<title>server:c1&#45;&#45;client1:srv</title>
<path fill="none" stroke="cornflowerblue" stroke-width="2" d="M276.02,-145.01C276.02,-145.01 280.02,-207.52 280.02,-207.52"/>
</g>
<!-- server&#45;&#45;client2 -->
<g id="edge5" class="edge">
<title>server:c2&#45;&#45;client2:srv</title>
<path fill="none" stroke="cornflowerblue" stroke-width="2" d="M276.02,-99.01C276.02,-99.01 280.02,-36.5 280.02,-36.5"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 4.6 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 416 KiB

-187
View File
@@ -1,187 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.43.0 (0)
-->
<!-- Title: quad&#45;ring Pages: 1 -->
<svg width="347pt" height="438pt"
viewBox="0.00 0.00 346.65 438.04" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 434.04)">
<title>quad&#45;ring</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-434.04 342.65,-434.04 342.65,4 -4,4"/>
<!-- host -->
<g id="node1" class="node">
<title>host</title>
<polygon fill="none" stroke="grey" points="0,-77.02 0,-353.02 91,-353.02 91,-77.02 0,-77.02"/>
<text text-anchor="middle" x="25" y="-211.32" font-family="monospace" font-size="14.00" fill="grey">host</text>
<polyline fill="none" stroke="grey" points="50,-77.02 50,-353.02 "/>
<text text-anchor="middle" x="70.5" y="-337.82" font-family="monospace" font-size="14.00" fill="grey">d1a</text>
<polyline fill="none" stroke="grey" points="50,-330.02 91,-330.02 "/>
<text text-anchor="middle" x="70.5" y="-314.82" font-family="monospace" font-size="14.00" fill="grey">d1b</text>
<polyline fill="none" stroke="grey" points="50,-307.02 91,-307.02 "/>
<text text-anchor="middle" x="70.5" y="-291.82" font-family="monospace" font-size="14.00" fill="grey">d1c</text>
<polyline fill="none" stroke="grey" points="50,-284.02 91,-284.02 "/>
<text text-anchor="middle" x="70.5" y="-268.82" font-family="monospace" font-size="14.00" fill="grey">d2a</text>
<polyline fill="none" stroke="grey" points="50,-261.02 91,-261.02 "/>
<text text-anchor="middle" x="70.5" y="-245.82" font-family="monospace" font-size="14.00" fill="grey">d2b</text>
<polyline fill="none" stroke="grey" points="50,-238.02 91,-238.02 "/>
<text text-anchor="middle" x="70.5" y="-222.82" font-family="monospace" font-size="14.00" fill="grey">d2c</text>
<polyline fill="none" stroke="grey" points="50,-215.02 91,-215.02 "/>
<text text-anchor="middle" x="70.5" y="-199.82" font-family="monospace" font-size="14.00" fill="grey">d3a</text>
<polyline fill="none" stroke="grey" points="50,-192.02 91,-192.02 "/>
<text text-anchor="middle" x="70.5" y="-176.82" font-family="monospace" font-size="14.00" fill="grey">d3b</text>
<polyline fill="none" stroke="grey" points="50,-169.02 91,-169.02 "/>
<text text-anchor="middle" x="70.5" y="-153.82" font-family="monospace" font-size="14.00" fill="grey">d3c</text>
<polyline fill="none" stroke="grey" points="50,-146.02 91,-146.02 "/>
<text text-anchor="middle" x="70.5" y="-130.82" font-family="monospace" font-size="14.00" fill="grey">d4a</text>
<polyline fill="none" stroke="grey" points="50,-123.02 91,-123.02 "/>
<text text-anchor="middle" x="70.5" y="-107.82" font-family="monospace" font-size="14.00" fill="grey">d4b</text>
<polyline fill="none" stroke="grey" points="50,-100.02 91,-100.02 "/>
<text text-anchor="middle" x="70.5" y="-84.82" font-family="monospace" font-size="14.00" fill="grey">d4c</text>
</g>
<!-- dut1 -->
<g id="node2" class="node">
<title>dut1</title>
<polygon fill="none" stroke="black" points="187.52,-360.54 187.52,-429.54 303.52,-429.54 303.52,-360.54 187.52,-360.54"/>
<text text-anchor="middle" x="204.02" y="-414.34" font-family="monospace" font-size="14.00">e1</text>
<polyline fill="none" stroke="black" points="187.52,-406.54 220.52,-406.54 "/>
<text text-anchor="middle" x="204.02" y="-391.34" font-family="monospace" font-size="14.00">e2</text>
<polyline fill="none" stroke="black" points="187.52,-383.54 220.52,-383.54 "/>
<text text-anchor="middle" x="204.02" y="-368.34" font-family="monospace" font-size="14.00">e3</text>
<polyline fill="none" stroke="black" points="220.52,-360.54 220.52,-429.54 "/>
<text text-anchor="middle" x="245.52" y="-391.34" font-family="monospace" font-size="14.00">dut1</text>
<polyline fill="none" stroke="black" points="270.52,-360.54 270.52,-429.54 "/>
<text text-anchor="middle" x="287.02" y="-408.84" font-family="monospace" font-size="14.00">e4</text>
<polyline fill="none" stroke="black" points="270.52,-395.54 303.52,-395.54 "/>
<text text-anchor="middle" x="287.02" y="-374.34" font-family="monospace" font-size="14.00">e5</text>
</g>
<!-- host&#45;&#45;dut1 -->
<g id="edge1" class="edge">
<title>host:d1a&#45;&#45;dut1:e1</title>
<path fill="none" stroke="grey" stroke-width="2" d="M91.5,-342.02C91.5,-342.02 187.52,-418.04 187.52,-418.04"/>
</g>
<!-- host&#45;&#45;dut1 -->
<g id="edge5" class="edge">
<title>host:d1b&#45;&#45;dut1:e2</title>
<path fill="none" stroke="grey" stroke-width="2" d="M91.5,-319.02C91.5,-319.02 187.52,-395.04 187.52,-395.04"/>
</g>
<!-- host&#45;&#45;dut1 -->
<g id="edge9" class="edge">
<title>host:d1c&#45;&#45;dut1:e3</title>
<path fill="none" stroke="grey" stroke-width="2" d="M91.5,-296.02C91.5,-296.02 187.52,-372.04 187.52,-372.04"/>
</g>
<!-- dut2 -->
<g id="node3" class="node">
<title>dut2</title>
<polygon fill="none" stroke="black" points="187.52,-240.52 187.52,-309.52 303.52,-309.52 303.52,-240.52 187.52,-240.52"/>
<text text-anchor="middle" x="204.02" y="-294.32" font-family="monospace" font-size="14.00">e1</text>
<polyline fill="none" stroke="black" points="187.52,-286.52 220.52,-286.52 "/>
<text text-anchor="middle" x="204.02" y="-271.32" font-family="monospace" font-size="14.00">e2</text>
<polyline fill="none" stroke="black" points="187.52,-263.52 220.52,-263.52 "/>
<text text-anchor="middle" x="204.02" y="-248.32" font-family="monospace" font-size="14.00">e3</text>
<polyline fill="none" stroke="black" points="220.52,-240.52 220.52,-309.52 "/>
<text text-anchor="middle" x="245.52" y="-271.32" font-family="monospace" font-size="14.00">dut2</text>
<polyline fill="none" stroke="black" points="270.52,-240.52 270.52,-309.52 "/>
<text text-anchor="middle" x="287.02" y="-288.82" font-family="monospace" font-size="14.00">e4</text>
<polyline fill="none" stroke="black" points="270.52,-275.52 303.52,-275.52 "/>
<text text-anchor="middle" x="287.02" y="-254.32" font-family="monospace" font-size="14.00">e5</text>
</g>
<!-- host&#45;&#45;dut2 -->
<g id="edge2" class="edge">
<title>host:d2a&#45;&#45;dut2:e1</title>
<path fill="none" stroke="grey" stroke-width="2" d="M91.5,-273.02C91.5,-273.02 187.52,-298.02 187.52,-298.02"/>
</g>
<!-- host&#45;&#45;dut2 -->
<g id="edge6" class="edge">
<title>host:d2b&#45;&#45;dut2:e2</title>
<path fill="none" stroke="grey" stroke-width="2" d="M91.5,-250.02C91.5,-250.02 187.52,-275.02 187.52,-275.02"/>
</g>
<!-- host&#45;&#45;dut2 -->
<g id="edge10" class="edge">
<title>host:d2c&#45;&#45;dut2:e3</title>
<path fill="none" stroke="grey" stroke-width="2" d="M91.5,-227.02C91.5,-227.02 187.52,-252.02 187.52,-252.02"/>
</g>
<!-- dut3 -->
<g id="node4" class="node">
<title>dut3</title>
<polygon fill="none" stroke="black" points="187.52,-120.51 187.52,-189.51 303.52,-189.51 303.52,-120.51 187.52,-120.51"/>
<text text-anchor="middle" x="204.02" y="-174.31" font-family="monospace" font-size="14.00">e1</text>
<polyline fill="none" stroke="black" points="187.52,-166.51 220.52,-166.51 "/>
<text text-anchor="middle" x="204.02" y="-151.31" font-family="monospace" font-size="14.00">e2</text>
<polyline fill="none" stroke="black" points="187.52,-143.51 220.52,-143.51 "/>
<text text-anchor="middle" x="204.02" y="-128.31" font-family="monospace" font-size="14.00">e3</text>
<polyline fill="none" stroke="black" points="220.52,-120.51 220.52,-189.51 "/>
<text text-anchor="middle" x="245.52" y="-151.31" font-family="monospace" font-size="14.00">dut3</text>
<polyline fill="none" stroke="black" points="270.52,-120.51 270.52,-189.51 "/>
<text text-anchor="middle" x="287.02" y="-168.81" font-family="monospace" font-size="14.00">e4</text>
<polyline fill="none" stroke="black" points="270.52,-155.51 303.52,-155.51 "/>
<text text-anchor="middle" x="287.02" y="-134.31" font-family="monospace" font-size="14.00">e5</text>
</g>
<!-- host&#45;&#45;dut3 -->
<g id="edge3" class="edge">
<title>host:d3a&#45;&#45;dut3:e1</title>
<path fill="none" stroke="grey" stroke-width="2" d="M91.5,-203.02C91.5,-203.02 187.52,-178.01 187.52,-178.01"/>
</g>
<!-- host&#45;&#45;dut3 -->
<g id="edge7" class="edge">
<title>host:d3b&#45;&#45;dut3:e2</title>
<path fill="none" stroke="grey" stroke-width="2" d="M91.5,-180.02C91.5,-180.02 187.52,-155.01 187.52,-155.01"/>
</g>
<!-- host&#45;&#45;dut3 -->
<g id="edge11" class="edge">
<title>host:d3c&#45;&#45;dut3:e3</title>
<path fill="none" stroke="grey" stroke-width="2" d="M91.5,-157.02C91.5,-157.02 187.52,-132.01 187.52,-132.01"/>
</g>
<!-- dut4 -->
<g id="node5" class="node">
<title>dut4</title>
<polygon fill="none" stroke="black" points="187.52,-0.5 187.52,-69.5 303.52,-69.5 303.52,-0.5 187.52,-0.5"/>
<text text-anchor="middle" x="204.02" y="-54.3" font-family="monospace" font-size="14.00">e1</text>
<polyline fill="none" stroke="black" points="187.52,-46.5 220.52,-46.5 "/>
<text text-anchor="middle" x="204.02" y="-31.3" font-family="monospace" font-size="14.00">e2</text>
<polyline fill="none" stroke="black" points="187.52,-23.5 220.52,-23.5 "/>
<text text-anchor="middle" x="204.02" y="-8.3" font-family="monospace" font-size="14.00">e3</text>
<polyline fill="none" stroke="black" points="220.52,-0.5 220.52,-69.5 "/>
<text text-anchor="middle" x="245.52" y="-31.3" font-family="monospace" font-size="14.00">dut4</text>
<polyline fill="none" stroke="black" points="270.52,-0.5 270.52,-69.5 "/>
<text text-anchor="middle" x="287.02" y="-48.8" font-family="monospace" font-size="14.00">e4</text>
<polyline fill="none" stroke="black" points="270.52,-35.5 303.52,-35.5 "/>
<text text-anchor="middle" x="287.02" y="-14.3" font-family="monospace" font-size="14.00">e5</text>
</g>
<!-- host&#45;&#45;dut4 -->
<g id="edge4" class="edge">
<title>host:d4a&#45;&#45;dut4:e1</title>
<path fill="none" stroke="grey" stroke-width="2" d="M91.5,-134.02C91.5,-134.02 187.52,-58 187.52,-58"/>
</g>
<!-- host&#45;&#45;dut4 -->
<g id="edge8" class="edge">
<title>host:d4b&#45;&#45;dut4:e2</title>
<path fill="none" stroke="grey" stroke-width="2" d="M91.5,-111.02C91.5,-111.02 187.52,-35 187.52,-35"/>
</g>
<!-- host&#45;&#45;dut4 -->
<g id="edge12" class="edge">
<title>host:d4c&#45;&#45;dut4:e3</title>
<path fill="none" stroke="grey" stroke-width="2" d="M91.5,-88.02C91.5,-88.02 187.52,-12 187.52,-12"/>
</g>
<!-- dut1&#45;&#45;dut2 -->
<g id="edge13" class="edge">
<title>dut1:e5&#45;&#45;dut2:e4</title>
<path fill="none" stroke="cornflowerblue" stroke-width="2" d="M287.52,-360.04C287.52,-360.04 287.52,-310.02 287.52,-310.02"/>
</g>
<!-- dut2&#45;&#45;dut3 -->
<g id="edge14" class="edge">
<title>dut2:e5&#45;&#45;dut3:e4</title>
<path fill="none" stroke="cornflowerblue" stroke-width="2" d="M287.52,-240.02C287.52,-240.02 287.52,-190.01 287.52,-190.01"/>
</g>
<!-- dut3&#45;&#45;dut4 -->
<g id="edge15" class="edge">
<title>dut3:e5&#45;&#45;dut4:e4</title>
<path fill="none" stroke="cornflowerblue" stroke-width="2" d="M287.52,-120.01C287.52,-120.01 287.52,-70 287.52,-70"/>
</g>
<!-- dut4&#45;&#45;dut1 -->
<g id="edge16" class="edge">
<title>dut4:e5&#45;&#45;dut1:e4</title>
<path fill="none" stroke="cornflowerblue" stroke-width="2" d="M303.6,-18.06C303.6,-18.06 319.05,-56.84 323.52,-89.5 338.65,-200.04 338.45,-229.97 323.52,-340.54 319.05,-373.62 303.59,-412.97 303.59,-412.97"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 11 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 269 KiB

-1973
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

File diff suppressed because it is too large Load Diff
Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

-338
View File
@@ -1,338 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="81.545341mm"
height="26.582481mm"
viewBox="0 0 81.545341 26.582481"
version="1.1"
id="svg5"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
sodipodi:docname="datadatafinal2.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview7"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="4.1146545"
inkscape:cx="339.51818"
inkscape:cy="495.54586"
inkscape:window-width="2560"
inkscape:window-height="1385"
inkscape:window-x="1920"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer5" />
<defs
id="defs2" />
<g
inkscape:groupmode="layer"
id="layer6"
inkscape:label="bg"
style="display:none;fill:#ff0000;fill-opacity:1"
transform="matrix(1.2831201,0,0,3.2117929,-85.704829,-329.92383)">
<rect
style="fill:#22272e;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:0;stroke-dasharray:none;stroke-opacity:1"
id="rect10264"
width="163.66356"
height="92.471725"
x="20.800945"
y="69.866936"
inkscape:label="bg" />
</g>
<g
inkscape:groupmode="layer"
id="layer5"
inkscape:label="tagline"
style="display:inline"
transform="translate(-59.014718,-105.5257)">
<g
aria-label="Immutable . Friendly . Secure"
transform="scale(0.95128779,1.0512066)"
id="text9503"
style="font-size:6.44339px;font-family:Laksaman;-inkscape-font-specification:'Laksaman, Normal';stroke:#5c5f5c;stroke-width:0;stroke-miterlimit:0"
inkscape:label="linux-netconf"
inkscape:export-filename="minidata3.png"
inkscape:export-xdpi="191.95932"
inkscape:export-ydpi="191.95932">
<path
d="m 62.472956,124.15871 h -0.386604 v -4.61347 h 0.386604 z"
id="path2380" />
<path
d="m 67.144418,120.79526 q 0.573462,0 0.869857,0.4317 0.296396,0.43171 0.296396,1.10182 v 1.82993 h -0.386603 v -1.82348 q 0,-0.54125 -0.219075,-0.8763 -0.212632,-0.3415 -0.663669,-0.3415 -0.367274,0 -0.657226,0.28995 -0.289953,0.28995 -0.289953,0.65722 v 2.09411 h -0.386603 v -1.99745 q 0,-1.04383 -0.831197,-1.04383 -0.38016,0 -0.689443,0.32861 -0.309283,0.32861 -0.309283,0.71522 v 1.99745 H 63.491016 V 121.678 q 0,-0.28995 -0.06443,-0.81187 h 0.354386 q 0.06443,0.19975 0.07732,0.58635 0.373717,-0.65722 1.108263,-0.65722 0.670113,0 0.998725,0.73454 0.386604,-0.73454 1.179141,-0.73454 z"
id="path2382" />
<path
d="m 72.969238,120.79526 q 0.573462,0 0.869858,0.4317 0.296396,0.43171 0.296396,1.10182 v 1.82993 h -0.386604 v -1.82348 q 0,-0.54125 -0.219075,-0.8763 -0.212632,-0.3415 -0.663669,-0.3415 -0.367273,0 -0.657226,0.28995 -0.289953,0.28995 -0.289953,0.65722 v 2.09411 h -0.386603 v -1.99745 q 0,-1.04383 -0.831197,-1.04383 -0.38016,0 -0.689443,0.32861 -0.309283,0.32861 -0.309283,0.71522 v 1.99745 H 69.315836 V 121.678 q 0,-0.28995 -0.06443,-0.81187 h 0.354386 q 0.06443,0.19975 0.07732,0.58635 0.373717,-0.65722 1.108263,-0.65722 0.670113,0 0.998726,0.73454 0.386603,-0.73454 1.17914,-0.73454 z"
id="path2384" />
<path
d="m 78.078841,124.14582 -0.36083,0.0838 q -0.115981,-0.32861 -0.154641,-0.64434 -0.431707,0.66367 -1.237131,0.66367 -1.185584,0 -1.185584,-1.53352 v -1.84926 h 0.386604 v 1.77838 q 0,1.28223 0.882744,1.28223 0.457481,0 0.786094,-0.30928 0.328613,-0.31572 0.328613,-0.76032 v -1.99101 h 0.386603 v 2.48715 q 0,0.34795 0.167528,0.79254 z"
id="path2386" />
<path
d="m 79.973201,124.24891 q -0.39949,0 -0.625009,-0.29639 -0.219075,-0.30284 -0.219075,-0.76032 v -2.03611 h -0.657226 v -0.28996 h 0.657226 v -0.97939 l 0.386603,-0.17397 v 1.15336 h 1.050273 v 0.28996 H 79.51572 v 2.03611 q 0,0.73454 0.489698,0.73454 0.302839,0 0.444594,-0.058 l 0.03866,0.28996 q -0.199745,0.0902 -0.515471,0.0902 z"
id="path2388" />
<path
d="m 82.015758,124.24891 q -0.43815,0 -0.747433,-0.25129 -0.302839,-0.25773 -0.302839,-0.66367 0,-1.23068 2.190752,-1.23068 0,-0.47037 -0.225519,-0.72811 -0.225518,-0.25773 -0.663669,-0.25773 -0.354386,0 -1.050272,0.21907 l -0.0451,-0.36727 q 0.541245,-0.17397 1.12115,-0.17397 1.250018,0 1.250018,1.37888 v 1.17914 q 0,0.40594 0.115981,0.80543 l -0.335057,0.0709 -0.135311,-0.5348 q -0.444594,0.55413 -1.172697,0.55413 z m -0.663669,-0.97939 q 0,0.30284 0.186858,0.48325 0.186859,0.17397 0.489698,0.17397 0.386603,0 0.753876,-0.2384 0.373717,-0.24485 0.373717,-0.59279 v -0.67012 q -1.804149,0 -1.804149,0.84409 z"
id="path2390" />
<path
d="m 86.178189,120.79526 q 0.683,0 1.08249,0.47681 0.39949,0.47037 0.39949,1.19847 0,0.77965 -0.412377,1.28223 -0.412377,0.49614 -1.127593,0.49614 -0.766764,0 -1.224244,-0.67011 0,0.32861 -0.01933,0.57991 h -0.354387 q 0.02577,-0.22552 0.02577,-0.80543 v -4.09155 h 0.386603 v 2.22941 q 0.425264,-0.69588 1.243574,-0.69588 z m -1.243574,2.04255 q 0,0.46393 0.328613,0.77965 0.328613,0.30928 0.805424,0.30928 1.204914,0 1.204914,-1.44331 0,-0.61213 -0.30284,-0.98584 -0.302839,-0.38016 -0.863414,-0.38016 -0.489698,0 -0.831197,0.3415 -0.3415,0.3415 -0.3415,0.83119 z"
id="path2392" />
<path
d="m 89.696285,123.92674 -0.03866,0.32217 q -1.224244,-0.058 -1.224244,-1.74615 v -3.24103 h 0.386603 v 3.10571 q 0,0.36728 0.03222,0.61857 0.03222,0.25129 0.115981,0.48325 0.09021,0.23197 0.270623,0.34795 0.180415,0.10953 0.457481,0.10953 z"
id="path2394" />
<path
d="m 90.51459,122.54142 q 0.01933,0.625 0.373717,1.00516 0.36083,0.38016 0.960065,0.38016 0.560575,0 1.153367,-0.23196 l 0.03222,0.31573 q -0.573462,0.2384 -1.224245,0.2384 -0.740989,0 -1.211357,-0.45748 -0.470367,-0.46392 -0.470367,-1.19202 0,-0.77965 0.451037,-1.28868 0.457481,-0.51547 1.192027,-0.51547 1.385329,0 1.417546,1.74616 z m 2.287403,-0.32217 q -0.01289,-0.50259 -0.309282,-0.79898 -0.289953,-0.30284 -0.766764,-0.30284 -0.47681,0 -0.79898,0.31572 -0.322169,0.30929 -0.393047,0.7861 z"
id="path2396" />
<path
d="m 96.345854,123.54658 q 0.135311,0 0.238405,0.1031 0.103095,0.10309 0.103095,0.2384 0,0.13532 -0.103095,0.23197 -0.103094,0.0966 -0.238405,0.0966 -0.135311,0 -0.231962,-0.0966 -0.09665,-0.0967 -0.09665,-0.23197 0,-0.13531 0.09665,-0.2384 0.09665,-0.1031 0.231962,-0.1031 z"
id="path2398" />
<path
d="m 102.20934,121.94218 h -2.07477 v 2.21653 h -0.386608 v -4.61347 h 2.609578 v 0.32217 h -2.22297 v 1.7526 h 2.07477 z"
id="path2400" />
<path
d="m 104.6385,121.13031 q -0.0387,-0.0129 -0.11598,-0.0129 -0.42527,0 -0.72166,0.34794 -0.28996,0.3415 -0.28996,0.9214 v 1.77194 h -0.3866 v -2.21653 q 0,-0.7281 -0.0967,-1.07605 h 0.32861 q 0.1031,0.20619 0.1031,0.65723 0.30928,-0.7281 0.99228,-0.7281 0.0902,0 0.18686,0.0193 z"
id="path2402" />
<path
d="m 105.60501,124.15871 h -0.38661 v -3.29258 h 0.38661 z m -0.20619,-4.60058 q 0.13531,0 0.21907,0.0902 0.0902,0.0838 0.0902,0.21908 0,0.13531 -0.0902,0.21907 -0.0838,0.0773 -0.21907,0.0773 -0.13531,0 -0.21908,-0.0773 -0.0773,-0.0838 -0.0773,-0.21907 0,-0.13531 0.0773,-0.21908 0.0838,-0.0902 0.21908,-0.0902 z"
id="path2404" />
<path
d="m 106.75838,122.54142 q 0.0193,0.625 0.37371,1.00516 0.36083,0.38016 0.96007,0.38016 0.56057,0 1.15336,-0.23196 l 0.0322,0.31573 q -0.57346,0.2384 -1.22424,0.2384 -0.74099,0 -1.21136,-0.45748 -0.47037,-0.46392 -0.47037,-1.19202 0,-0.77965 0.45104,-1.28868 0.45748,-0.51547 1.19203,-0.51547 1.38533,0 1.41754,1.74616 z m 2.2874,-0.32217 q -0.0129,-0.50259 -0.30928,-0.79898 -0.28996,-0.30284 -0.76677,-0.30284 -0.47681,0 -0.79898,0.31572 -0.32217,0.30929 -0.39304,0.7861 z"
id="path2406" />
<path
d="m 113.00202,124.15871 h -0.3866 v -1.86859 q 0,-1.17269 -0.9794,-1.17269 -0.3866,0 -0.70233,0.32861 -0.31572,0.32861 -0.31572,0.71522 v 1.99745 h -0.38661 V 121.678 q 0,-0.28995 -0.0644,-0.81187 h 0.36083 q 0.0644,0.19975 0.0773,0.58635 0.37372,-0.65722 1.10826,-0.65722 1.28868,0 1.28868,1.49486 z"
id="path2408" />
<path
d="m 113.77523,122.47054 q 0,-0.72166 0.39949,-1.19847 0.40593,-0.47681 1.08249,-0.47681 0.81831,0 1.24357,0.69588 v -2.22941 h 0.38661 v 4.09155 q 0,0.57991 0.0258,0.80543 h -0.35439 q -0.0193,-0.2513 -0.0193,-0.57991 -0.45748,0.67011 -1.22424,0.67011 -0.72166,0 -1.13404,-0.49614 -0.40593,-0.50258 -0.40593,-1.28223 z m 1.59152,1.4562 q 0.47681,0 0.80542,-0.30928 0.32861,-0.31572 0.32861,-0.77965 v -0.54769 q 0,-0.49614 -0.3415,-0.83119 -0.33505,-0.3415 -0.83119,-0.3415 -0.56058,0 -0.86342,0.38016 -0.30284,0.38016 -0.30284,0.98584 0,1.44331 1.20492,1.44331 z"
id="path2410" />
<path
d="m 119.15547,123.92674 -0.0387,0.32217 q -1.22424,-0.058 -1.22424,-1.74615 v -3.24103 h 0.3866 v 3.10571 q 0,0.36728 0.0322,0.61857 0.0322,0.25129 0.11598,0.48325 0.0902,0.23197 0.27062,0.34795 0.18042,0.10953 0.45749,0.10953 z"
id="path2412" />
<path
d="m 121.10781,124.15871 q -0.57346,1.28867 -1.52064,1.51419 l -0.0902,-0.30284 q 0.82476,-0.18685 1.25002,-1.32089 0,-0.058 -0.0258,-0.11598 l -1.366,-3.06706 h 0.40593 l 1.23069,2.78999 1.15337,-2.78999 h 0.41237 z"
id="path2414" />
<path
d="m 125.44421,123.54658 q 0.13531,0 0.2384,0.1031 0.1031,0.10309 0.1031,0.2384 0,0.13532 -0.1031,0.23197 -0.10309,0.0966 -0.2384,0.0966 -0.13531,0 -0.23196,-0.0966 -0.0966,-0.0967 -0.0966,-0.23197 0,-0.13531 0.0966,-0.2384 0.0966,-0.1031 0.23196,-0.1031 z"
id="path2416" />
<path
d="m 131.42367,122.95379 q 0,0.59924 -0.45103,0.94718 -0.4446,0.34794 -1.11471,0.34794 -0.76032,0 -1.26935,-0.35438 l 0.15464,-0.32862 q 0.47681,0.36083 1.15337,0.36083 0.50903,0 0.82475,-0.24484 0.31573,-0.24485 0.31573,-0.69589 0,-0.43815 -0.25129,-0.65723 -0.2513,-0.22551 -0.75388,-0.38016 -1.28868,-0.41882 -1.28868,-1.30156 0,-0.54125 0.41238,-0.85697 0.41238,-0.32217 1.01805,-0.32217 0.64434,0 1.05672,0.24485 -0.0129,0.0258 -0.0773,0.14175 -0.058,0.10954 -0.0838,0.16109 -0.41882,-0.22552 -0.90208,-0.22552 -0.45104,0 -0.74743,0.21263 -0.28995,0.21263 -0.28995,0.59924 0,0.63789 0.99872,0.98583 0.32217,0.11599 0.51547,0.21264 0.19975,0.0902 0.39949,0.24484 0.19975,0.15465 0.28995,0.38016 0.0902,0.22552 0.0902,0.52836 z"
id="path2418" />
<path
d="m 132.38373,122.54142 q 0.0193,0.625 0.37372,1.00516 0.36083,0.38016 0.96006,0.38016 0.56058,0 1.15337,-0.23196 l 0.0322,0.31573 q -0.57347,0.2384 -1.22425,0.2384 -0.74099,0 -1.21136,-0.45748 -0.47036,-0.46392 -0.47036,-1.19202 0,-0.77965 0.45103,-1.28868 0.45749,-0.51547 1.19203,-0.51547 1.38533,0 1.41755,1.74616 z m 2.2874,-0.32217 q -0.0129,-0.50259 -0.30928,-0.79898 -0.28995,-0.30284 -0.76676,-0.30284 -0.47681,0 -0.79898,0.31572 -0.32217,0.30929 -0.39305,0.7861 z"
id="path2420" />
<path
d="m 137.3387,121.11743 q -0.61212,0 -0.97295,0.3866 -0.36083,0.3866 -0.36083,1.01806 0,0.625 0.36727,1.01805 0.36727,0.3866 0.96651,0.3866 0.54124,0 0.90207,-0.23196 l 0.13531,0.31573 q -0.42526,0.2384 -1.01805,0.2384 -0.79898,0 -1.26935,-0.46392 -0.47037,-0.47037 -0.47037,-1.2629 0,-0.79254 0.47037,-1.25647 0.47037,-0.47036 1.26935,-0.47036 0.59923,0 1.01805,0.23196 l -0.13531,0.32217 q -0.36083,-0.23196 -0.90207,-0.23196 z"
id="path2422" />
<path
d="m 141.99727,124.14582 -0.36083,0.0838 q -0.11598,-0.32861 -0.15464,-0.64434 -0.4317,0.66367 -1.23713,0.66367 -1.18558,0 -1.18558,-1.53352 v -1.84926 h 0.3866 v 1.77838 q 0,1.28223 0.88275,1.28223 0.45748,0 0.78609,-0.30928 0.32861,-0.31572 0.32861,-0.76032 v -1.99101 h 0.38661 v 2.48715 q 0,0.34795 0.16752,0.79254 z"
id="path2424" />
<path
d="m 144.34911,121.13031 q -0.0387,-0.0129 -0.11598,-0.0129 -0.42526,0 -0.72166,0.34794 -0.28995,0.3415 -0.28995,0.9214 v 1.77194 h -0.38661 v -2.21653 q 0,-0.7281 -0.0967,-1.07605 h 0.32862 q 0.10309,0.20619 0.10309,0.65723 0.30928,-0.7281 0.99228,-0.7281 0.0902,0 0.18686,0.0193 z"
id="path2426" />
<path
d="m 145.08366,122.54142 q 0.0193,0.625 0.37372,1.00516 0.36083,0.38016 0.96006,0.38016 0.56058,0 1.15337,-0.23196 l 0.0322,0.31573 q -0.57346,0.2384 -1.22424,0.2384 -0.74099,0 -1.21136,-0.45748 -0.47036,-0.46392 -0.47036,-1.19202 0,-0.77965 0.45103,-1.28868 0.45748,-0.51547 1.19203,-0.51547 1.38533,0 1.41755,1.74616 z m 2.2874,-0.32217 q -0.0129,-0.50259 -0.30928,-0.79898 -0.28995,-0.30284 -0.76676,-0.30284 -0.47681,0 -0.79898,0.31572 -0.32217,0.30929 -0.39305,0.7861 z"
id="path2428" />
</g>
<path
style="fill:#5c5f5c;fill-opacity:1;stroke:#5c5f5c;stroke-width:0.194246;stroke-linejoin:bevel"
d="m 223.38329,484.15901 v -9.03246 h 0.58274 0.58274 v 9.03246 9.03245 h -0.58274 -0.58274 z"
id="path1834"
transform="scale(0.26458333)" />
<path
style="fill:#5c5f5c;fill-opacity:1;stroke:#5c5f5c;stroke-width:0.194246;stroke-linejoin:bevel"
d="m 228.43253,488.38386 c -6.4e-4,-2.64417 -0.0579,-5.53584 -0.12713,-6.42592 l -0.12597,-1.61833 0.56419,0.0644 c 0.53405,0.0609 0.56732,0.11883 0.6229,1.08415 0.0323,0.56089 0.12967,1.01979 0.21639,1.01979 0.0867,0 0.38929,-0.33422 0.67238,-0.74271 0.91393,-1.3188 2.66926,-2.00044 4.13506,-1.60574 0.86092,0.23182 2.04111,1.29757 2.40217,2.16924 0.12933,0.31224 0.2901,0.56535 0.35727,0.56248 0.0672,-0.003 0.34006,-0.35837 0.60644,-0.78999 1.62805,-2.638 5.25262,-2.76519 6.73464,-0.23631 0.85471,1.45845 1.03015,2.6805 1.03347,7.19885 l 0.003,4.12773 h -0.58274 -0.58274 v -3.85841 c 0,-4.04906 -0.16272,-5.48953 -0.74837,-6.62489 -0.97524,-1.89066 -3.35323,-2.11305 -4.92303,-0.4604 -1.03875,1.09356 -1.12722,1.60138 -1.12722,6.4698 v 4.4739 h -0.56535 -0.56534 l -0.0723,-4.8076 c -0.0781,-5.19309 -0.16625,-5.68505 -1.188,-6.62687 -0.5343,-0.49249 -1.87288,-0.75083 -2.74992,-0.53071 -0.72522,0.18202 -2.04937,1.44652 -2.46084,2.34999 -0.30871,0.67784 -0.35441,1.34084 -0.35813,5.19609 l -0.004,4.4191 h -0.58274 -0.58274 z"
id="path1836"
transform="scale(0.26458333)" />
<path
style="fill:#5c5f5c;fill-opacity:1;stroke:#5c5f5c;stroke-width:0.194246;stroke-linejoin:bevel"
d="m 249.39406,488.57811 c -0.01,-2.53734 -0.0756,-5.42192 -0.14569,-6.41017 l -0.12744,-1.79683 0.53048,5e-5 c 0.57465,5e-5 0.68172,0.2256 0.77747,1.63776 l 0.0518,0.76361 0.5691,-0.82445 c 1.00313,-1.45322 2.80602,-2.19608 4.33232,-1.78509 0.80947,0.21797 1.99805,1.32577 2.42291,2.25823 0.11908,0.26135 0.26804,0.47242 0.33102,0.46905 0.063,-0.003 0.34597,-0.38783 0.62888,-0.85432 0.7501,-1.23686 2.06363,-1.95451 3.57903,-1.95541 1.33872,-8e-4 2.22364,0.46503 2.97983,1.56862 0.89814,1.31075 1.04718,2.23303 1.13543,7.02607 l 0.0831,4.51623 h -0.60091 -0.60092 l -0.006,-3.44787 c -0.007,-4.03899 -0.2174,-5.95631 -0.77305,-7.04547 -1.0695,-2.09639 -3.90894,-2.05963 -5.38561,0.0697 l -0.53685,0.77414 -0.0581,4.82474 -0.0581,4.82474 h -0.54937 -0.54937 l -0.0848,-4.71047 c -0.0769,-4.27252 -0.12307,-4.79578 -0.49627,-5.62796 -1.17692,-2.62436 -4.42294,-2.20832 -5.94644,0.76215 -0.26842,0.52335 -0.31884,1.32971 -0.31884,5.09897 v 4.47731 h -0.58274 -0.58274 z"
id="path1838"
transform="scale(0.26458333)" />
<path
style="fill:#5c5f5c;fill-opacity:1;stroke:#5c5f5c;stroke-width:0.194246;stroke-linejoin:bevel"
d="m 273.01323,493.28817 c -0.42734,-0.15111 -1.05549,-0.57696 -1.3959,-0.94634 -1.08415,-1.17645 -1.27314,-2.18958 -1.37243,-7.35728 l -0.0886,-4.61335 h 0.60294 0.60294 l 0.003,3.15651 c 0.004,3.91414 0.25019,6.36807 0.73168,7.3013 1.13174,2.19355 4.30257,2.12242 5.93754,-0.1332 l 0.61157,-0.84373 0.0582,-4.74044 0.0582,-4.74044 h 0.67021 0.67021 l 0.005,5.48746 c 0.003,3.0181 0.0937,5.87338 0.20243,6.34505 0.15249,0.66158 0.14031,0.89461 -0.0533,1.01955 -0.55281,0.35673 -0.83165,0.0557 -1.09962,-1.18733 -0.24582,-1.14025 -0.29208,-1.21548 -0.53608,-0.87175 -1.45497,2.04964 -3.5618,2.84756 -5.60816,2.12399 z"
id="path1840"
transform="scale(0.26458333)" />
<path
style="fill:#5c5f5c;fill-opacity:1;stroke:#5c5f5c;stroke-width:0.0228637;stroke-linejoin:bevel"
d="m 287.30474,493.62291 c -0.5234,-0.0325 -0.99929,-0.2067 -1.39355,-0.51007 -0.0711,-0.0547 -0.21266,-0.18756 -0.31455,-0.2952 -0.51237,-0.54129 -0.84906,-1.32221 -1.01656,-2.35786 l -0.0518,-0.32009 -0.007,-4.39554 -0.007,-4.39554 h -1.17681 -1.17681 v -0.56016 -0.56016 h 1.17748 1.17748 v -1.94931 -1.9493 l 0.67458,-0.33706 c 0.37102,-0.18538 0.67968,-0.33706 0.68591,-0.33706 0.006,0 0.0113,1.02886 0.0113,2.28637 v 2.28636 h 1.88625 1.88625 v 0.56016 0.56016 h -1.88681 -1.8868 l 0.007,4.42983 c 0.008,4.76198 0.003,4.54099 0.11952,5.05219 0.16032,0.70049 0.47404,1.17713 0.91502,1.3902 0.25035,0.12096 0.40253,0.14734 0.85223,0.14773 0.56364,4.8e-4 1.01334,-0.0544 1.32518,-0.16168 0.0702,-0.0241 0.13023,-0.0412 0.13351,-0.0379 0.003,0.003 0.0357,0.2528 0.072,0.5545 l 0.066,0.54854 -0.0472,0.0278 c -0.0785,0.0463 -0.33404,0.13919 -0.51588,0.18759 -0.42382,0.11279 -1.01712,0.16607 -1.509,0.13551 z"
id="path1842"
transform="scale(0.26458333)" />
<path
style="fill:#5c5f5c;fill-opacity:1;stroke:#5c5f5c;stroke-width:0.0228637;stroke-linejoin:bevel"
d="m 294.5861,493.62213 c -1.33382,-0.0703 -2.53644,-0.82061 -3.09275,-1.92964 -0.24094,-0.48033 -0.34819,-0.94143 -0.36461,-1.5675 -0.0163,-0.62035 0.0506,-1.12228 0.21568,-1.62005 0.34649,-1.04458 1.07298,-1.83524 2.204,-2.3987 1.19263,-0.59414 2.78564,-0.91132 4.79719,-0.95516 l 0.64935,-0.0142 -0.0145,-0.368 c -0.0763,-1.94209 -0.90557,-3.17288 -2.34847,-3.4855 -0.11953,-0.0259 -0.35827,-0.0588 -0.53054,-0.0732 -0.83261,-0.0693 -2.06866,0.17313 -3.73081,0.73187 -0.18772,0.0631 -0.34391,0.11214 -0.34708,0.10897 -0.003,-0.003 -0.0374,-0.29372 -0.0761,-0.64564 -0.0386,-0.35192 -0.0755,-0.67149 -0.0819,-0.71015 l -0.0116,-0.0703 0.37182,-0.11744 c 1.20391,-0.38027 2.32736,-0.55784 3.54986,-0.5611 0.7727,-0.002 1.23902,0.0602 1.77856,0.23734 1.46594,0.48137 2.35205,1.64256 2.66841,3.49679 0.12045,0.70598 0.11904,0.66437 0.1383,4.08126 0.01,1.7605 0.0238,3.23692 0.0308,3.28093 0.007,0.044 0.0291,0.23435 0.0491,0.42298 0.0465,0.43878 0.14592,1.02673 0.2474,1.4631 0.0438,0.18852 0.0764,0.34605 0.0724,0.35005 -0.01,0.01 -1.16361,0.2786 -1.16815,0.2723 -0.002,-0.003 -0.10844,-0.46785 -0.23669,-1.03372 -0.12825,-0.56588 -0.23848,-1.0443 -0.24496,-1.06316 -0.009,-0.0258 -0.0241,-0.0174 -0.0616,0.0341 -0.24974,0.34282 -0.61859,0.73947 -0.92993,1.00003 -0.98835,0.82713 -2.1679,1.2056 -3.53328,1.13367 z m 0.93086,-1.28687 c 0.65714,-0.0991 1.29513,-0.35128 1.90495,-0.7531 0.81304,-0.53573 1.28846,-1.12731 1.48996,-1.85402 l 0.0634,-0.22864 0.008,-1.55251 0.008,-1.55252 -0.63565,0.0142 c -3.56014,0.0798 -5.51289,1.02626 -5.8264,2.82409 -0.0446,0.25589 -0.0441,0.85092 10e-4,1.11538 0.18522,1.08602 0.8607,1.80366 1.87004,1.98675 0.22689,0.0412 0.84543,0.0413 1.1175,3.3e-4 z"
id="path1844"
transform="scale(0.26458333)" />
<path
style="fill:#5c5f5c;fill-opacity:1;stroke:#5c5f5c;stroke-width:0.0228637;stroke-linejoin:bevel"
d="m 309.32244,493.62288 c -0.96944,-0.0469 -1.85038,-0.37861 -2.65218,-0.99851 -0.41295,-0.31926 -0.94289,-0.9117 -1.28908,-1.44113 l -0.1399,-0.21394 -0.005,0.14535 c -0.003,0.0799 -0.0158,0.50031 -0.0286,0.93415 -0.0128,0.43384 -0.03,0.88911 -0.0382,1.01172 l -0.0148,0.22292 h -0.62644 -0.62644 l 0.0136,-0.13147 c 0.0609,-0.58676 0.0652,-1.17336 0.0733,-10.07144 l 0.008,-9.2312 h 0.68506 0.68507 l 7.2e-4,4.42983 c 5.8e-4,3.48836 0.007,4.42158 0.0286,4.39101 0.0153,-0.0214 0.0947,-0.14835 0.17647,-0.28221 0.23909,-0.39153 0.48968,-0.7084 0.83324,-1.05364 0.79409,-0.79798 1.61045,-1.19749 2.77922,-1.36008 0.2959,-0.0412 1.07923,-0.0347 1.40611,0.0117 1.32147,0.18728 2.34057,0.79358 3.15682,1.87808 0.76131,1.0115 1.19388,2.16861 1.36296,3.64582 0.0403,0.35233 0.0407,1.83298 6e-4,2.20634 -0.11974,1.1141 -0.37776,2.05613 -0.79532,2.90368 -1.03324,2.09723 -2.72255,3.11307 -4.99399,3.00306 z m 0.86193,-1.2892 c 1.76169,-0.22995 2.85867,-1.28108 3.34269,-3.20299 0.30067,-1.19391 0.35369,-2.89198 0.12825,-4.108 -0.29692,-1.60162 -1.09958,-2.84593 -2.19579,-3.40403 -0.57991,-0.29523 -1.09671,-0.4111 -1.83985,-0.41248 -0.63377,-0.001 -1.01616,0.0697 -1.55843,0.28899 -0.58207,0.23535 -1.2143,0.72589 -1.6676,1.29385 -0.44764,0.56087 -0.77863,1.27537 -0.92145,1.98914 -0.0992,0.49576 -0.10972,0.74403 -0.0998,2.35496 0.0101,1.63879 0.0104,1.64172 0.15709,2.19491 0.35782,1.34881 1.39583,2.46469 2.66595,2.86592 0.16235,0.0513 0.55199,0.13409 0.74972,0.15934 0.19748,0.0252 0.99214,0.0126 1.23918,-0.0196 z"
id="path1846"
transform="scale(0.26458333)" />
<path
style="fill:#5c5f5c;fill-opacity:1;stroke:#5c5f5c;stroke-width:0.0228637;stroke-linejoin:bevel"
d="m 321.87459,493.58992 c -0.8696,-0.12637 -1.59301,-0.47045 -2.17909,-1.03646 -1.03984,-1.00425 -1.58419,-2.59401 -1.70723,-4.98593 -0.0142,-0.27698 -0.023,-2.95931 -0.0231,-7.08202 l -2.2e-4,-6.63618 h 0.68513 0.68513 l 0.009,6.87625 c 0.009,7.02584 0.008,7.00928 0.0967,7.81365 0.10578,0.96416 0.35005,1.9335 0.62093,2.46402 0.44664,0.87476 1.13121,1.30724 2.15714,1.36279 l 0.26385,0.0143 -0.0674,0.62303 -0.0674,0.62304 -0.12782,-0.002 c -0.0703,-0.001 -0.22557,-0.0167 -0.34503,-0.034 z"
id="path1848"
transform="scale(0.26458333)" />
<path
style="fill:#5c5f5c;fill-opacity:1;stroke:#5c5f5c;stroke-width:0.0228637;stroke-linejoin:bevel"
d="m 329.71682,493.62332 c -0.82899,-0.0372 -1.61396,-0.23055 -2.30398,-0.56754 -0.37825,-0.18472 -0.54944,-0.28931 -0.89693,-0.54795 -1.01662,-0.7567 -1.78269,-1.89329 -2.17055,-3.22039 -0.0777,-0.26591 -0.16487,-0.69455 -0.21981,-1.08101 -0.0576,-0.40513 -0.0709,-1.55129 -0.0238,-2.04475 0.11581,-1.21225 0.35793,-2.09011 0.8324,-3.01808 0.61749,-1.20767 1.53413,-2.14784 2.59917,-2.66589 0.77538,-0.37715 1.4905,-0.53207 2.44641,-0.52996 0.56508,0.001 0.9552,0.047 1.4181,0.16637 1.6679,0.43005 2.77783,1.70533 3.2916,3.78196 0.19164,0.7746 0.29118,1.5435 0.34432,2.65973 l 0.0144,0.30294 h -4.81566 -4.81566 l 0.0115,0.1086 c 0.006,0.0597 0.0176,0.21149 0.025,0.33724 0.0636,1.07931 0.381,2.14843 0.87454,2.9463 0.31378,0.50727 0.79874,1.03354 1.23804,1.3435 0.55763,0.39346 1.23414,0.64767 1.97432,0.74188 0.37368,0.0476 1.35758,0.0353 1.79434,-0.0224 0.9694,-0.12807 2.04082,-0.42013 2.89393,-0.78886 0.0608,-0.0263 0.11819,-0.0478 0.1276,-0.0478 0.0179,0 0.13106,1.20581 0.11442,1.21964 -0.005,0.004 -0.11245,0.0518 -0.2382,0.10527 -1.16468,0.49571 -2.41589,0.77766 -3.61246,0.81404 -0.21378,0.007 -0.42469,0.0143 -0.46871,0.0174 -0.044,0.003 -0.23949,-0.002 -0.43441,-0.0103 z m 3.95534,-8.11924 c -2.5e-4,-0.30965 -0.0819,-0.91311 -0.17265,-1.27644 -0.21244,-0.85027 -0.58191,-1.49481 -1.19286,-2.08098 -0.59602,-0.57184 -1.29064,-0.86751 -2.19852,-0.93583 -1.41629,-0.10657 -2.61061,0.44344 -3.51878,1.62047 -0.52227,0.67689 -0.89262,1.54618 -1.04384,2.45013 -0.02,0.11931 -0.0415,0.24008 -0.0478,0.26838 l -0.0115,0.0514 h 4.09303 4.09303 l -7e-5,-0.0972 z"
id="path1850"
transform="scale(0.26458333)" />
<path
style="fill:#5c5f5c;fill-opacity:1;stroke:#5c5f5c;stroke-width:0.0228637;stroke-linejoin:bevel"
d="m 358.63935,484.12654 v -9.15689 h 4.68705 4.68705 v 0.62875 0.62875 h -4.00114 -4.00114 v 3.49814 3.49814 h 3.72678 3.72678 v 0.62875 0.62875 h -3.72678 -3.72678 v 4.40126 4.40125 h -0.68591 -0.68591 z"
id="path1852"
transform="scale(0.26458333)" />
<path
style="fill:#5c5f5c;fill-opacity:1;stroke:#5c5f5c;stroke-width:0.0228637;stroke-linejoin:bevel"
d="m 370.77972,488.3849 c -2.5e-4,-5.30842 -0.0101,-5.84482 -0.12715,-6.89911 -0.0383,-0.34527 -0.13012,-0.92558 -0.17819,-1.12641 l -0.0315,-0.13185 0.58559,0.006 0.58559,0.006 0.0735,0.21721 c 0.15373,0.45451 0.2441,1.0906 0.27609,1.94333 l 0.0167,0.44577 0.11057,-0.26286 c 0.36692,-0.87227 0.86854,-1.56026 1.46921,-2.01506 0.22423,-0.16978 0.70767,-0.41064 0.98068,-0.48859 0.44934,-0.1283 1.03347,-0.17067 1.45783,-0.10575 l 0.20005,0.0306 v 0.61599 0.61599 l -0.0857,-0.0182 c -0.13914,-0.0295 -0.64614,-0.0138 -0.8626,0.0268 -0.61492,0.11523 -1.11795,0.37837 -1.59623,0.83501 -0.69911,0.66749 -1.13847,1.50376 -1.35187,2.57318 -0.14099,0.70651 -0.13497,0.50782 -0.144,4.74916 l -0.008,3.88111 h -0.68498 -0.68498 z"
id="path1854"
transform="scale(0.26458333)" />
<path
style="fill:#5c5f5c;fill-opacity:1;stroke:#5c5f5c;stroke-width:0.0228637;stroke-linejoin:bevel"
d="m 378.32496,486.75587 v -6.52758 h 0.67448 0.67448 v 6.52758 6.52757 h -0.67448 -0.67448 z"
id="path1856"
transform="scale(0.26458333)" />
<path
style="fill:#5c5f5c;fill-opacity:1;stroke:#5c5f5c;stroke-width:0.0228637;stroke-linejoin:bevel"
d="m 388.12204,493.62228 c -1.25745,-0.0534 -2.37679,-0.45935 -3.33031,-1.20766 -0.24611,-0.19314 -0.70076,-0.64519 -0.89683,-0.89168 -1.00908,-1.26862 -1.47423,-2.80387 -1.42354,-4.69848 0.0143,-0.53323 0.0346,-0.79039 0.0969,-1.22321 0.23095,-1.60525 0.88593,-2.99875 1.90618,-4.05551 0.84662,-0.87693 1.87353,-1.39202 3.11031,-1.5601 0.38666,-0.0525 1.16134,-0.0519 1.56251,0.001 2.18606,0.29027 3.51464,1.7209 4.04732,4.35822 0.13263,0.65663 0.24325,1.71374 0.24325,2.32446 v 0.18901 h -4.80137 -4.80136 l 4.6e-4,0.1429 c 6.4e-4,0.19414 0.0574,0.76627 0.10322,1.03965 0.36981,2.20844 1.63422,3.74849 3.43951,4.18933 0.48183,0.11766 0.80028,0.14581 1.48681,0.13141 1.20975,-0.0254 2.2518,-0.2443 3.51863,-0.73929 0.20618,-0.0806 0.37851,-0.14284 0.38295,-0.1384 0.0189,0.0189 0.11827,1.19481 0.10234,1.21087 -0.0372,0.0375 -0.75552,0.31882 -1.09377,0.42834 -1.19108,0.38565 -2.40723,0.55167 -3.65322,0.49872 z m 3.93653,-8.32397 c -0.0603,-1.26072 -0.4967,-2.31101 -1.28476,-3.09231 -0.61702,-0.61174 -1.3169,-0.92024 -2.25737,-0.99504 -0.82674,-0.0657 -1.6698,0.12102 -2.31532,0.51292 -0.68961,0.41867 -1.32032,1.12589 -1.72724,1.93675 -0.26734,0.53273 -0.48183,1.23016 -0.56034,1.82199 l -0.0157,0.11863 h 4.08763 4.08763 z"
id="path1858"
transform="scale(0.26458333)" />
<path
style="fill:#5c5f5c;fill-opacity:1;stroke:#5c5f5c;stroke-width:0.0228637;stroke-linejoin:bevel"
d="m 396.33573,487.92763 c -0.007,-4.85115 -0.0113,-5.40106 -0.0474,-5.83595 -0.0419,-0.50482 -0.14345,-1.56986 -0.16734,-1.75479 l -0.014,-0.1086 h 0.64122 0.64123 l 0.0468,0.20006 c 0.0992,0.42383 0.17468,1.04371 0.20039,1.64553 0.0218,0.50978 0.0231,0.51241 0.14388,0.29078 0.59123,-1.08475 1.43569,-1.84809 2.4257,-2.19269 1.10461,-0.38449 2.66603,-0.27883 3.70071,0.25042 0.8891,0.45479 1.5357,1.23968 1.9221,2.3332 0.1634,0.46242 0.3086,1.13494 0.37746,1.74821 0.0675,0.60122 0.0799,1.38673 0.0803,5.07001 l 3.9e-4,3.70963 h -0.68487 -0.68486 l -0.009,-4.08688 c -0.009,-4.35633 -0.007,-4.24692 -0.11966,-4.90345 -0.28126,-1.6339 -1.06832,-2.63359 -2.33622,-2.96739 -0.50206,-0.13217 -1.2151,-0.16247 -1.65293,-0.0702 -0.60486,0.12742 -1.12382,0.4215 -1.65451,0.9376 -0.72158,0.70173 -1.17829,1.50047 -1.36742,2.39144 l -0.0532,0.25081 -0.006,4.22406 -0.006,4.22406 h -0.68464 -0.68464 z"
id="path1860"
transform="scale(0.26458333)" />
<path
style="fill:#5c5f5c;fill-opacity:1;stroke:#5c5f5c;stroke-width:0.0228637;stroke-linejoin:bevel"
d="m 414.26664,493.62294 c -1.83788,-0.0825 -3.26746,-1.00338 -4.2008,-2.70589 -0.3807,-0.69442 -0.68091,-1.57878 -0.82789,-2.43875 -0.32417,-1.89678 -0.14434,-3.83422 0.49126,-5.29275 0.72289,-1.65881 1.92778,-2.75033 3.42854,-3.10596 0.98187,-0.23267 2.13233,-0.17008 3.02943,0.16481 0.9147,0.34146 1.69547,0.97787 2.32066,1.89159 0.088,0.12864 0.2012,0.30739 0.2515,0.39721 0.0503,0.0898 0.0992,0.16355 0.10861,0.16384 0.009,2.9e-4 0.0171,-1.99033 0.0171,-4.42359 v -4.42412 h 0.68591 0.68591 l 5e-5,8.92254 c 5e-5,8.49944 0.007,9.65931 0.0654,10.32295 l 0.0165,0.18862 h -0.62082 -0.62083 l -0.014,-0.12003 c -0.0166,-0.14264 -0.0605,-1.34328 -0.0674,-1.84624 l -0.005,-0.35439 -0.11162,0.17148 c -0.3375,0.51847 -0.89762,1.15186 -1.29751,1.46724 -0.83405,0.65779 -1.75585,0.99446 -2.82064,1.03019 -0.1006,0.003 -0.3321,-5.6e-4 -0.51443,-0.009 z m 1.3558,-1.32012 c 0.35926,-0.0732 0.62876,-0.16658 0.96486,-0.33421 0.37422,-0.18665 0.66148,-0.3911 0.97956,-0.69717 0.53286,-0.51277 0.9243,-1.15698 1.12209,-1.84669 0.17991,-0.62736 0.20239,-0.94624 0.18986,-2.69281 -0.0111,-1.54266 -0.0188,-1.64719 -0.16426,-2.21467 -0.22385,-0.8734 -0.6468,-1.57951 -1.34393,-2.24368 -0.60411,-0.57555 -1.26473,-0.90366 -2.07518,-1.0307 -0.31902,-0.05 -0.99883,-0.0499 -1.32396,3e-4 -0.46296,0.0714 -0.93142,0.22332 -1.26637,0.41064 -1.12396,0.62855 -1.91578,1.9733 -2.16607,3.67865 -0.15488,1.05527 -0.10279,2.50934 0.12831,3.58196 0.36088,1.67489 1.20542,2.76253 2.49248,3.20992 0.54115,0.18811 0.93885,0.24428 1.66696,0.23545 0.45707,-0.006 0.58998,-0.0151 0.79565,-0.057 z"
id="path1862"
transform="scale(0.26458333)" />
<path
style="fill:#5c5f5c;fill-opacity:1;stroke:#5c5f5c;stroke-width:0.0228637;stroke-linejoin:bevel"
d="m 427.79049,493.5892 c -1.40617,-0.21864 -2.4022,-0.95029 -3.05109,-2.24123 -0.40773,-0.81115 -0.64172,-1.72903 -0.79471,-3.1174 -0.0358,-0.3249 -0.0396,-0.93786 -0.0463,-7.36781 l -0.007,-7.01343 h 0.67359 0.6736 l 0.009,6.70477 c 0.01,6.82326 0.0118,7.00237 0.0974,7.84795 0.12779,1.26122 0.41372,2.29884 0.79658,2.89067 0.13134,0.20304 0.44038,0.52728 0.61719,0.64753 0.38213,0.25992 0.95533,0.42813 1.46027,0.42851 0.12463,9e-5 0.1772,0.008 0.1772,0.0282 0,0.0501 -0.11612,1.12498 -0.12726,1.17801 -0.01,0.0465 -0.0234,0.0512 -0.14183,0.0489 -0.0721,-0.001 -0.22363,-0.017 -0.3368,-0.0346 z"
id="path1864"
transform="scale(0.26458333)" />
<path
style="fill:#5c5f5c;fill-opacity:1;stroke:#5c5f5c;stroke-width:0.0228637;stroke-linejoin:bevel"
d="m 429.95866,499.23186 c -0.008,-0.0336 -0.0795,-0.29767 -0.15796,-0.58689 -0.0785,-0.28923 -0.14107,-0.52669 -0.13906,-0.52769 0.002,-10e-4 0.1333,-0.0436 0.29174,-0.0947 1.13222,-0.36509 2.10503,-1.1714 2.90787,-2.41017 0.43294,-0.66802 0.86412,-1.56618 1.19488,-2.489 0.0949,-0.26487 0.10313,-0.37893 0.0425,-0.59175 -0.0193,-0.0677 -1.09304,-2.74786 -2.38612,-5.95598 -1.29307,-3.20811 -2.39757,-5.94868 -2.45443,-6.09015 l -0.10338,-0.25722 h 0.71428 0.71428 l 1.18482,2.96656 c 0.65166,1.63161 1.64529,4.11889 2.20807,5.52729 0.56279,1.4084 1.032,2.55843 1.0427,2.55562 0.0107,-0.003 0.94775,-2.4864 2.08233,-5.5191 1.13458,-3.0327 2.06671,-5.51783 2.07139,-5.52251 0.005,-0.005 0.33206,-0.006 0.72749,-0.002 l 0.71899,0.006 -1.49381,3.74964 c -3.35876,8.43093 -3.81479,9.57116 -3.95489,9.88854 -1.3015,2.94837 -2.97284,4.73642 -5.00775,5.35742 l -0.18866,0.0576 z"
id="path1866"
transform="scale(0.26458333)" />
<path
style="fill:#5c5f5c;fill-opacity:1;stroke:#5c5f5c;stroke-width:0.0228637;stroke-linejoin:bevel"
d="m 466.4758,493.62314 c -1.45181,-0.0518 -2.74209,-0.444 -3.79537,-1.15362 -0.13832,-0.0932 -0.27004,-0.18378 -0.29271,-0.20131 -0.0388,-0.03 -0.0255,-0.0688 0.22467,-0.65706 0.14623,-0.34386 0.26967,-0.62899 0.27431,-0.63362 0.005,-0.005 0.10416,0.0634 0.22117,0.1512 0.67232,0.50442 1.34476,0.82699 2.15829,1.03532 0.54738,0.14018 0.89369,0.18432 1.55671,0.19842 0.63362,0.0135 0.92514,-0.007 1.3677,-0.0968 1.32858,-0.26911 2.35262,-1.09378 2.72806,-2.19693 0.18459,-0.54239 0.26064,-1.19762 0.2121,-1.82751 -0.0878,-1.1388 -0.41159,-1.84567 -1.11432,-2.4323 -0.61331,-0.51197 -1.2819,-0.86992 -2.3653,-1.26634 -1.26557,-0.46308 -2.05129,-0.86777 -2.82085,-1.4529 -0.28325,-0.21536 -0.82457,-0.75065 -1.01574,-1.00442 -0.65231,-0.86591 -0.952,-1.83625 -0.90894,-2.94301 0.0533,-1.37071 0.52091,-2.37763 1.48963,-3.20783 0.644,-0.55192 1.4352,-0.94552 2.25611,-1.12235 0.46021,-0.0991 0.66417,-0.12051 1.26489,-0.13258 1.07258,-0.0215 1.99133,0.11405 2.81436,0.41535 0.24038,0.088 0.79477,0.35451 0.974,0.46822 l 0.1073,0.0681 -0.2759,0.56664 c -0.15175,0.31165 -0.28315,0.57464 -0.292,0.58442 -0.009,0.01 -0.10274,-0.0303 -0.20865,-0.089 -0.72347,-0.40119 -1.56973,-0.65953 -2.43295,-0.74271 -0.35408,-0.0341 -1.16128,-0.0144 -1.45209,0.0356 -0.86066,0.14772 -1.5369,0.47184 -2.04917,0.98215 -0.42088,0.41927 -0.65249,0.86296 -0.77831,1.491 -0.0586,0.2927 -0.0587,1.06224 -1.6e-4,1.33409 0.19406,0.90065 0.66802,1.58854 1.54586,2.24356 0.50705,0.37834 1.11699,0.69785 2.07057,1.08465 1.7404,0.70595 2.67043,1.24813 3.40775,1.98661 0.43957,0.44027 0.68634,0.84041 0.87774,1.42329 0.21093,0.64235 0.28583,1.22039 0.26905,2.07638 -0.0123,0.62679 -0.0378,0.85377 -0.1452,1.2918 -0.28152,1.14819 -0.97439,2.0959 -2.04295,2.79439 -1.06152,0.69388 -2.2618,0.98509 -3.82966,0.92913 z"
id="path1868"
transform="scale(0.26458333)" />
<path
style="fill:#5c5f5c;fill-opacity:1;stroke:#5c5f5c;stroke-width:0.0228637;stroke-linejoin:bevel"
d="m 480.25115,493.62391 c -1.76943,-0.0824 -3.28993,-0.87015 -4.32828,-2.24257 -0.2674,-0.35344 -0.42444,-0.60902 -0.62244,-1.01302 -0.33343,-0.68033 -0.52948,-1.35217 -0.64384,-2.20634 -0.0591,-0.44104 -0.0584,-1.736 0.001,-2.22921 0.1851,-1.53321 0.63888,-2.7246 1.44812,-3.802 0.22897,-0.30485 0.71268,-0.81249 0.97864,-1.02706 0.75983,-0.61301 1.63095,-0.98187 2.64075,-1.11816 0.34389,-0.0464 1.1342,-0.0519 1.47471,-0.0103 1.60517,0.19621 2.76041,0.99424 3.47192,2.39837 0.53771,1.06112 0.81782,2.35304 0.89687,4.13649 l 0.0155,0.34867 h -4.81007 -4.81008 l 0.0166,0.31284 c 0.1063,2.00432 0.90234,3.6062 2.23549,4.49853 0.52294,0.35002 1.20005,0.58817 1.92006,0.67532 0.251,0.0304 1.0811,0.03 1.41814,-6e-4 1.00947,-0.0917 2.10982,-0.3665 3.10524,-0.77539 0.12971,-0.0533 0.23905,-0.0933 0.24296,-0.0888 0.004,0.004 0.0321,0.27911 0.0627,0.61042 l 0.0556,0.60239 -0.1271,0.0563 c -1.16017,0.51427 -2.50008,0.82649 -3.7167,0.86607 -0.2012,0.007 -0.41211,0.0147 -0.4687,0.0182 -0.0566,0.003 -0.26236,-10e-4 -0.45728,-0.0102 z m 3.95517,-8.15413 c -3.8e-4,-0.20384 -0.0628,-0.7459 -0.11648,-1.01171 -0.19744,-0.97746 -0.63711,-1.77073 -1.32584,-2.39213 -0.6974,-0.62923 -1.67691,-0.93541 -2.73725,-0.85562 -0.56747,0.0427 -0.96231,0.14731 -1.43321,0.37975 -0.40065,0.19776 -0.67408,0.39776 -1.02924,0.75282 -0.60261,0.60243 -0.9847,1.22701 -1.25817,2.05663 -0.11691,0.35465 -0.26189,0.97972 -0.26189,1.12908 v 0.0727 h 4.08116 4.08117 l -2.5e-4,-0.13147 z"
id="path1870"
transform="scale(0.26458333)" />
<path
style="fill:#5c5f5c;fill-opacity:1;stroke:#5c5f5c;stroke-width:0.0228637;stroke-linejoin:bevel"
d="m 493.46635,493.62321 c -2.04371,-0.0792 -3.6873,-0.97429 -4.73803,-2.58041 -0.19454,-0.29736 -0.48014,-0.86462 -0.60714,-1.20589 -0.36186,-0.97241 -0.53611,-2.1313 -0.49935,-3.32111 0.0624,-2.02032 0.59394,-3.50094 1.69299,-4.71605 0.80338,-0.88822 1.84034,-1.47099 3.05407,-1.71638 1.36434,-0.27584 3.03495,-0.14656 4.22978,0.32732 0.23352,0.0926 0.69485,0.31495 0.8358,0.4028 l 0.0699,0.0435 -0.23456,0.61435 c -0.12902,0.33789 -0.23782,0.6176 -0.24179,0.62157 -0.004,0.004 -0.079,-0.0396 -0.16683,-0.0969 -0.23026,-0.15027 -0.71251,-0.37932 -1.01699,-0.48303 -1.18521,-0.40372 -2.66961,-0.4219 -3.74881,-0.0459 -1.39343,0.48545 -2.47138,1.75971 -2.89099,3.41748 -0.15698,0.62019 -0.2079,1.09369 -0.20616,1.91704 0.002,0.71863 0.0298,1.03925 0.13792,1.56474 0.41693,2.02586 1.72207,3.48002 3.48881,3.88718 0.68218,0.15721 1.7335,0.15662 2.52189,-10e-4 0.63562,-0.12742 1.28939,-0.38719 1.73463,-0.68923 0.10289,-0.0698 0.13852,-0.084 0.15283,-0.0608 0.0491,0.0794 0.45768,1.17263 0.44786,1.19824 -0.019,0.0494 -0.83248,0.43882 -1.12355,0.53787 -0.91263,0.31054 -1.79248,0.42769 -2.89225,0.38508 z"
id="path1872"
transform="scale(0.26458333)" />
<path
style="fill:#5c5f5c;fill-opacity:1;stroke:#5c5f5c;stroke-width:0.0228637;stroke-linejoin:bevel"
d="m 503.93791,493.62356 c -2.07746,-0.096 -3.36279,-1.42647 -3.78398,-3.91681 -0.16081,-0.95079 -0.17097,-1.28755 -0.17122,-5.67738 l -2.2e-4,-3.80108 h 0.6849 0.6849 l 0.009,3.99543 c 0.01,4.29399 0.006,4.17411 0.12928,4.93283 0.20902,1.29048 0.65545,2.18782 1.34885,2.71126 0.22059,0.16652 0.57424,0.33239 0.88637,0.41571 0.26636,0.0711 0.27564,0.0719 0.81814,0.0723 0.60452,3.7e-4 0.79632,-0.0264 1.23464,-0.17254 0.98027,-0.32675 1.85898,-1.11843 2.34438,-2.11214 0.22207,-0.45462 0.35237,-0.91771 0.40987,-1.45666 0.0154,-0.14456 0.0237,-1.64625 0.0237,-4.30408 v -4.08207 h 0.68539 0.68539 l 0.007,5.25293 c 0.007,4.8294 0.0106,5.27483 0.0469,5.52463 0.09,0.61989 0.24915,1.3115 0.43807,1.90345 0.0554,0.17357 0.0987,0.31745 0.0962,0.31975 -0.002,0.002 -0.27202,0.0726 -0.59897,0.15629 -0.32695,0.0837 -0.61099,0.15692 -0.63119,0.16279 -0.0837,0.0243 -0.40863,-1.27913 -0.53383,-2.14145 -0.0314,-0.2163 -0.0614,-0.39756 -0.0666,-0.4028 -0.005,-0.005 -0.0427,0.0484 -0.0832,0.11926 -0.19471,0.34032 -0.67239,0.94143 -0.95894,1.20673 -0.73586,0.68127 -1.55316,1.08244 -2.52759,1.24065 -0.29945,0.0486 -0.79251,0.0708 -1.17747,0.053 z"
id="path1874"
transform="scale(0.26458333)" />
<path
style="fill:#5c5f5c;fill-opacity:1;stroke:#5c5f5c;stroke-width:0.0228637;stroke-linejoin:bevel"
d="m 513.56348,488.56781 c -3e-5,-5.43156 -0.016,-6.15699 -0.16068,-7.29922 -0.0428,-0.33756 -0.14488,-0.93016 -0.17285,-1.00305 -0.013,-0.0338 0.0394,-0.0372 0.56954,-0.0372 h 0.58382 l 0.0498,0.13147 c 0.0757,0.19985 0.17257,0.60415 0.21498,0.8974 0.0351,0.24236 0.0545,0.49597 0.0991,1.29179 l 0.0167,0.29723 0.0661,-0.17148 c 0.10456,-0.27115 0.39165,-0.82502 0.56014,-1.08066 0.60146,-0.91256 1.36468,-1.43844 2.33457,-1.60862 0.26524,-0.0465 0.87847,-0.0489 1.09746,-0.004 l 0.14861,0.0303 0.006,0.61334 0.006,0.61333 -0.0633,-0.0124 c -0.26434,-0.0519 -0.73294,-0.0272 -1.07303,0.0566 -0.79128,0.19479 -1.48057,0.7114 -2.0224,1.51578 -0.37454,0.556 -0.62369,1.1928 -0.76406,1.95278 -0.12391,0.67092 -0.12487,0.70772 -0.12487,4.77523 v 3.7574 h -0.68591 -0.68591 l -3e-5,-4.71563 z"
id="path1876"
transform="scale(0.26458333)" />
<path
style="fill:#5c5f5c;fill-opacity:1;stroke:#5c5f5c;stroke-width:0.0228637;stroke-linejoin:bevel"
d="m 525.93275,493.62391 c -1.65452,-0.0715 -3.07447,-0.7456 -4.11474,-1.9535 -0.83427,-0.9687 -1.30115,-2.06319 -1.50149,-3.51986 -0.0581,-0.42251 -0.0589,-1.70686 -10e-4,-2.18348 0.0779,-0.64501 0.16884,-1.09602 0.32509,-1.61225 0.51873,-1.71385 1.6463,-3.14863 3.02432,-3.84831 0.84066,-0.42683 1.82792,-0.61855 2.85487,-0.55438 1.07584,0.0672 1.89386,0.35168 2.60276,0.90508 0.20635,0.16109 0.56637,0.52552 0.72259,0.73147 0.72056,0.94989 1.15786,2.26485 1.32302,3.97828 0.0318,0.32999 0.0691,0.94289 0.0692,1.13746 l 8e-5,0.15433 h -4.80491 -4.80491 l 0.0146,0.30473 c 0.0472,0.98364 0.27777,1.91316 0.66744,2.69041 0.2357,0.47015 0.50073,0.85081 0.83361,1.19731 0.63858,0.66471 1.37965,1.06361 2.30458,1.24049 0.26668,0.051 0.39656,0.0617 0.86587,0.0714 0.33057,0.007 0.67463,7.4e-4 0.85739,-0.0151 1.01661,-0.0883 1.99119,-0.32316 3.01133,-0.72583 0.20569,-0.0812 0.37732,-0.14428 0.3814,-0.1402 0.004,0.004 0.0286,0.2439 0.0545,0.53294 0.0259,0.28904 0.0517,0.55935 0.0574,0.60069 0.01,0.0723 0.005,0.0774 -0.11982,0.13367 -1.12856,0.5072 -2.5105,0.82826 -3.73119,0.86686 -0.20749,0.007 -0.41326,0.0145 -0.45728,0.0175 -0.044,0.003 -0.23949,-0.001 -0.4344,-0.01 z m 3.92525,-8.30586 c -0.0373,-0.73639 -0.22124,-1.47872 -0.50762,-2.04889 -0.28846,-0.57429 -0.77842,-1.14091 -1.28138,-1.48185 -0.64227,-0.43537 -1.49807,-0.64373 -2.37308,-0.57777 -0.56959,0.0429 -0.99582,0.15659 -1.46652,0.39103 -0.3711,0.18484 -0.65462,0.39226 -0.98382,0.71975 -0.65559,0.65217 -1.08507,1.38337 -1.34693,2.29315 -0.0801,0.27833 -0.19568,0.82804 -0.19568,0.93077 v 0.057 h 4.08469 4.08469 z"
id="path1878"
transform="scale(0.26458333)" />
<path
style="fill:#ff7f2a;fill-opacity:1;stroke:#5c5f5c;stroke-width:0.00390625;stroke-linejoin:bevel"
d="m 346.33008,493.51692 c -0.19105,-0.0158 -0.34947,-0.0666 -0.4961,-0.15884 -0.0726,-0.0457 -0.13623,-0.0975 -0.20933,-0.17041 -0.1413,-0.14094 -0.23085,-0.27268 -0.30043,-0.44196 -0.11571,-0.28148 -0.132,-0.6355 -0.0434,-0.94224 0.0788,-0.27256 0.25714,-0.54021 0.47695,-0.71562 0.25991,-0.20741 0.58983,-0.27683 0.91602,-0.19276 0.13845,0.0357 0.27496,0.10481 0.40429,0.20471 0.0575,0.0444 0.19,0.1766 0.24059,0.24004 0.1757,0.22033 0.27037,0.44545 0.30308,0.72071 0.007,0.0569 0.007,0.25165 0,0.30859 -0.0388,0.32638 -0.16923,0.58254 -0.41682,0.81856 -0.20563,0.19601 -0.44692,0.30676 -0.71433,0.32786 -0.0469,0.004 -0.12443,0.004 -0.16056,0.001 z"
id="path2003"
transform="scale(0.26458333)" />
<path
style="fill:#ff7f2a;fill-opacity:1;stroke:#5c5f5c;stroke-width:0.00692709;stroke-linejoin:bevel"
d="m 450.94689,493.51322 c -0.32583,-0.0199 -0.61424,-0.18585 -0.83574,-0.48077 -0.15606,-0.2078 -0.23824,-0.43252 -0.26022,-0.71159 -0.0326,-0.41326 0.11286,-0.81204 0.4093,-1.12247 0.16176,-0.16939 0.36357,-0.28049 0.58322,-0.32108 0.0889,-0.0164 0.2697,-0.0166 0.35975,-3.6e-4 0.24158,0.0436 0.45295,0.16241 0.64304,0.3615 0.25309,0.26509 0.38491,0.56712 0.40054,0.91773 0.0166,0.37248 -0.10928,0.7059 -0.36849,0.97597 -0.26495,0.27604 -0.57497,0.40288 -0.9314,0.38107 z"
id="path2005"
transform="scale(0.26458333)" />
<path
style="fill:#5c5f5c;fill-opacity:1;stroke:#5c5f5c;stroke-width:0.0142009;stroke-linejoin:bevel"
d="m 378.70973,477.38924 c -0.30862,-0.0605 -0.54776,-0.23712 -0.67364,-0.49739 -0.10967,-0.22674 -0.12982,-0.3282 -0.12944,-0.65164 2.8e-4,-0.24333 0.004,-0.29156 0.0328,-0.39763 0.10884,-0.40416 0.38122,-0.69509 0.74078,-0.79124 0.11521,-0.0308 0.41144,-0.0341 0.52544,-0.006 0.11426,0.0283 0.29411,0.1165 0.38193,0.18723 0.19583,0.15773 0.3649,0.41716 0.42983,0.65955 0.0444,0.16582 0.0446,0.53239 3.3e-4,0.69584 -0.11118,0.41058 -0.39121,0.69673 -0.7709,0.78775 -0.128,0.0307 -0.41275,0.0378 -0.53716,0.0134 z"
id="path2161"
transform="scale(0.26458333)" />
</g>
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="heading"
transform="translate(-59.014718,-105.5257)">
<g
aria-label="Infix"
id="text1160"
style="font-size:25.4px;font-family:'URW Bookman';-inkscape-font-specification:'URW Bookman, Normal';fill:#5c5f5c;stroke-width:1.029"
inkscape:label="infix">
<path
d="m 85.532731,107.6593 0.508,0.0762 c 1.3462,0.1778 1.6256,0.635 1.651,2.794 v 9.9822 c -0.0254,2.159 -0.3048,2.6162 -1.651,2.794 l -0.508,0.0762 v 0.7874 h 6.858 v -0.7874 l -0.508,-0.0762 c -1.3462,-0.1778 -1.6256,-0.635 -1.651,-2.794 v -9.9822 c 0.0254,-2.159 0.3048,-2.6162 1.651,-2.794 l 0.508,-0.0762 v -0.7874 h -6.858 z"
id="path2431" />
<path
d="m 98.588334,111.8503 h -0.8636 c -1.5748,0.3048 -2.413,0.4064 -3.8354,0.508 v 0.762 l 0.6096,0.0508 c 1.3462,0.1524 1.6764,0.5588 1.6764,2.1082 v 5.969 c 0,1.397 -0.4572,2.0066 -1.5748,2.1082 l -0.635,0.0508 v 0.762 h 6.832596 v -0.762 l -0.635,-0.0508 c -1.117596,-0.1016 -1.574796,-0.7112 -1.574796,-2.1082 v -6.2738 c 1.574796,-1.4224 3.073396,-2.1336 4.495796,-2.1336 1.397,0 2.159,0.889 2.159,2.54 v 5.8674 c 0,1.397 -0.4826,2.0066 -1.5748,2.1082 l -0.635,0.0508 v 0.762 h 6.8326 v -0.762 l -0.635,-0.0508 c -1.1176,-0.1016 -1.5748,-0.7112 -1.5748,-2.1082 v -6.2738 c 0,-2.1082 -1.4224,-3.3528 -3.8354,-3.3528 -1.9558,0 -3.429,0.635 -5.232396,2.2352 z"
id="path2433" />
<path
d="m 115.27613,111.8503 v -1.5748 c 0,-1.651 0.0508,-1.9812 0.4064,-2.5908 0.4826,-0.8382 1.4986,-1.3462 2.6416,-1.3462 1.27,0 2.4638,0.762 2.4638,1.6256 0.0254,1.0414 0.0254,1.0414 0.2286,1.397 0.2286,0.4064 0.635,0.635 1.143,0.635 0.762,0 1.27,-0.5334 1.27,-1.27 0,-0.5842 -0.2286,-1.0668 -0.762,-1.6256 -1.016,-1.0414 -2.413,-1.5748 -4.191,-1.5748 -1.9558,0 -3.7338,0.6604 -4.6482,1.7272 -0.6858,0.8128 -0.9652,1.8542 -0.9652,3.6322 v 0.9652 h -2.159 v 0.8382 h 2.159 v 8.5598 c 0,1.397 -0.4572,2.0066 -1.5748,2.1082 l -0.635,0.0508 v 0.762 h 6.8326 v -0.762 l -0.635,-0.0508 c -1.1176,-0.1016 -1.5748,-0.7112 -1.5748,-2.1082 v -8.5598 h 3.3782 c 1.8288,0 2.3368,0.5842 2.3114,2.667 v 5.8928 c 0,1.397 -0.4572,2.0066 -1.5748,2.1082 l -0.635,0.0508 v 0.762 h 6.8326 v -0.762 l -0.635,-0.0508 c -1.1176,-0.1016 -1.5748,-0.7112 -1.5748,-2.1082 v -9.398 z"
id="path2435" />
<path
d="m 134.09755,117.0827 2.2098,-2.3622 c 1.397,-1.3716 2.1082,-1.778 3.81,-2.1082 v -0.762 h -5.3594 v 0.762 c 0.9144,0.1016 1.143,0.2286 1.143,0.6604 0,0.2032 -0.0762,0.4064 -0.254,0.6096 l -2.159,2.4384 -2.0066,-2.4384 c -0.1778,-0.254 -0.3048,-0.4826 -0.3048,-0.635 0,-0.3556 0.3048,-0.5334 1.0414,-0.6096 l 0.254,-0.0254 v -0.762 h -6.2992 v 0.762 c 1.2192,0.1778 1.7018,0.4826 2.5908,1.5494 l 2.9718,3.7338 -3.2258,3.6322 c -1.143,1.2954 -1.8034,1.7018 -3.0226,1.8796 v 0.762 h 5.6896 v -0.762 c -0.889,-0.1524 -1.0922,-0.2032 -1.27,-0.3048 -0.254,-0.1524 -0.4318,-0.4064 -0.4318,-0.6604 0,-0.254 0.1778,-0.5842 0.4572,-0.9144 l 2.54,-2.8448 2.286,3.2004 c 0.1524,0.2286 0.254,0.4826 0.254,0.6858 0,0.4826 -0.3048,0.6604 -1.524,0.8382 v 0.762 h 7.0358 v -0.762 c -1.3716,-0.2286 -1.8288,-0.5334 -2.9464,-1.8796 z"
id="path2437" />
</g>
</g>
<g
inkscape:label="tux"
inkscape:groupmode="layer"
id="layer1"
style="display:inline"
transform="translate(-59.014718,-105.5257)">
<path
id="rect1698"
style="fill:#f9f9f9;stroke:#5c5f5c;stroke-width:1.029;stroke-linejoin:round"
inkscape:label="body"
d="M 59.529221,107.02922 H 82 V 124 H 59.529221 Z" />
<path
id="rect184-3"
style="fill:#ff7f2a;stroke:#5c5f5c;stroke-linejoin:round"
inkscape:label="foot-r"
d="m 76,120 h 6 v 4 h -6 z" />
<path
id="rect184"
style="fill:#ff7f2a;stroke:#5c5f5c;stroke-linejoin:round"
inkscape:label="foot-l"
d="m 59.529221,120 h 6 v 4 h -6 z" />
<path
id="path11801"
style="fill:#ff7f2a"
inkscape:label="nose"
inkscape:transform-center-y="0.49151511"
transform="translate(28.350554,16.321792)"
d="m 42.414055,100.66737 -1.702663,-2.949101 h 3.405325 z" />
<path
id="path6519-5"
style="display:inline;fill:#5c5f5c;stroke-width:4.99999"
inkscape:label="eye-r"
d="m 73.711082,111.02191 a 0.5,0.5 0 0 1 -0.5,0.5 0.5,0.5 0 0 1 -0.5,-0.5 0.5,0.5 0 0 1 0.5,-0.5 0.5,0.5 0 0 1 0.5,0.5 z" />
<path
id="path6519"
style="fill:#5c5f5c;stroke-width:4.99999"
inkscape:label="eye-l"
d="m 68.81813,111.02191 a 0.5,0.5 0 0 1 -0.5,0.5 0.5,0.5 0 0 1 -0.5,-0.5 0.5,0.5 0 0 1 0.5,-0.5 0.5,0.5 0 0 1 0.5,0.5 z" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 46 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Some files were not shown because too many files have changed in this diff Show More