feat(iot): repackaged Odoo iot modules + Fusion Plating sensor wrapper
Phase A of the IoT initiative — gets the server-side infrastructure
in place before the Raspberry Pi hardware arrives, so the iot admin
UI + /fp/iot/ingest endpoint are ready to accept the first real
temperature reading as soon as the Pi is wired up.
New top-level folder: fusion_iot/
1. **iot_base/** — Odoo S.A. iot_base module, copied from
RePackaged-Odoo verbatim. LGPL-3 upstream, no changes needed.
2. **iot/** — Odoo S.A. iot module, repackaged:
- `models/update.py` neutralised (removed the publisher_warranty
IoT-Box-counting report that phones home to odoo.com for
enterprise licence enforcement)
- `iot_handlers/lib/load_worldline_library.sh` deleted (proprietary
Worldline payment lib fetch from download.odoo.com, not needed)
- `wizard/add_iot_box.py._connect_iot_box_with_pairing_code` —
upstream called odoo.com's iot-proxy to resolve pairing codes;
replaced with a no-op. Pi-side iot_drivers proxy registers
directly with this Odoo server instead.
- Manifest rebranded with an explicit changelog preamble.
3. **fusion_plating_iot/** — new plating-specific wrapper:
- `fp.tank.sensor` — maps an iot.device (or a direct-HTTP-ingest
sensor) to a fusion.plating.tank + fusion.plating.bath.parameter.
Supports DS18B20, PT100/1000, pH, conductivity, level. Per-sensor
alert_min/max overrides.
- `fp.tank.reading` — append-only time-series. On create, evaluates
against sensor's alert range. On in-spec → out-of-spec TRANSITION,
auto-raises a fusion.plating.quality.hold (once per excursion,
no spam during sustained out-of-spec).
- `POST /fp/iot/ingest` — shared-secret HTTP endpoint for sensors
bypassing the Pi proxy. Token via X-FP-IOT-Token header OR body.
Accepts single-reading or batch payloads.
- Menu under Plating → Operations → Sensors & Readings.
- Tank form inherits get a Sensors tab inline.
Deployed to entech. Verified end-to-end:
- Install: iot_base + iot + fusion_plating_iot all 'installed'
- Smoke test: in-spec → out-of-spec → hold raised (HOLD-0010);
continued excursion → NO duplicate hold; back-in-spec → NEW
excursion → NEW hold (HOLD-0011) ✓
- HTTP endpoint: correct token → 200 accepted; wrong token → 401;
unknown device_serial → 404; batch payload → 200 accepted=N ✓
Phase B (when Raspberry Pi hardware arrives): DS18B20 iot_handler
driver for the Pi-side iot_drivers proxy + systemd service on
vanilla Raspberry Pi OS + first live reading from physical probe.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
65
fusion_iot/iot/static/src/img/payment-terminal.svg
Normal file
65
fusion_iot/iot/static/src/img/payment-terminal.svg
Normal file
@@ -0,0 +1,65 @@
|
||||
<svg width="64" height="64" viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M43.1975 55.8797L21.2168 33.599C19.5277 31.8868 17.2915 30.8213 14.8976 30.5881L6.45126 29.7654C5.94413 29.716 5.50488 30.1146 5.50488 30.6241V32.9498C5.50488 36.3255 7.91158 39.2216 11.2303 39.8393L14.6401 40.474C16.0514 40.7367 17.3846 41.3162 18.5394 42.1689L41.4257 59.0676C41.7978 59.3423 42.3291 59.1912 42.5009 58.7618L43.3504 56.6379C43.4547 56.3773 43.3947 56.0796 43.1975 55.8797Z" fill="#C1DBF6"/>
|
||||
<path d="M42.5009 58.7618L43.3505 56.6379C43.4202 56.4637 43.4149 56.2734 43.3458 56.1065L59.028 47.1269C59.247 47.4855 59.3891 48.0016 59.2563 48.4799C59.1026 49.0339 58.1719 50.1703 58.1719 50.1703L42.4395 59.2022C42.3154 59.2735 42.1689 59.2953 42.0294 59.2631L41.7424 59.1971C42.0521 59.2422 42.3742 59.0785 42.5009 58.7618Z" fill="#FBDBD0"/>
|
||||
<path d="M41.6813 59.1829L41.6246 59.1699L41.6263 59.167C41.6445 59.1729 41.6628 59.1786 41.6813 59.1829Z" fill="#C1DBF6"/>
|
||||
<path d="M43.1975 55.8798L21.2168 33.599C19.5277 31.8868 17.2915 30.8213 14.8976 30.5882L6.45126 29.7655C6.22216 29.7432 6.00952 29.8156 5.84237 29.945L5.50488 29.7855L22.0194 20.3502L30.1213 21.1394C32.5702 21.3779 34.8579 22.4678 36.5859 24.2194L58.3978 46.3291C59.049 46.8533 59.2563 47.7038 59.2563 47.7038L43.3468 56.1088C43.3126 56.025 43.2635 55.9467 43.1975 55.8798Z" fill="white"/>
|
||||
<path d="M40.5028 30.7151L34.8061 25.1019L22.1959 32L27.873 37.6679L40.5028 30.7151Z" fill="#374874"/>
|
||||
<path d="M7.39734 17.5112C7.39734 17.5112 5.22856 18.7869 5.80267 21.4022L12.4365 17.5112C12.4365 17.5112 9.75748 15.9165 7.39734 17.5112Z" fill="#FBDBD0"/>
|
||||
<path d="M17.7947 28.355L9.65649 26.8879L16.8166 22.4669C16.8166 22.4669 19.2831 26.6115 17.7947 28.355Z" fill="#FBDBD0"/>
|
||||
<path d="M28.9893 22.8822L17.6937 29.0354L16.6465 28.379L27.6957 22.2383L28.9893 22.8822Z" fill="#374874"/>
|
||||
<path d="M17.7947 28.3551C17.7947 28.3551 18.0498 23.7624 13.7123 19.4248C10.3316 16.1717 7.39734 17.5112 7.39734 17.5112L17.7975 11.579C17.7975 11.579 20.5183 9.99002 25.0026 15.5338C27.1205 18.6558 27.6179 22.8694 27.6179 22.8694L17.7947 28.3551Z" fill="white"/>
|
||||
<path d="M42.8202 37.3184L41.3092 35.7455V35.0101L41.713 35.3893L42.9043 36.7573C42.9941 36.8442 43.1292 36.8646 43.2407 36.8081L45.31 35.5311V36.2965L43.15 37.3649C43.0411 37.4194 42.9098 37.4009 42.8202 37.3184Z" fill="#C1DBF6"/>
|
||||
<path d="M39.5032 39.126L37.9922 37.5531V36.8177L38.396 37.1969L39.5873 38.5649C39.6771 38.6518 39.8122 38.6722 39.9237 38.6157L41.9929 37.3387V38.1041L39.833 39.1726C39.7241 39.227 39.5928 39.2085 39.5032 39.126Z" fill="#C1DBF6"/>
|
||||
<path d="M36.0428 40.9336L34.5317 39.3607V38.6253L34.9355 39.0044L36.1268 40.3725C36.2167 40.4594 36.3517 40.4798 36.4632 40.4233L38.5325 39.1462V39.9117L36.3726 40.9801C36.2636 41.0346 36.1324 41.016 36.0428 40.9336Z" fill="#C1DBF6"/>
|
||||
<path d="M32.5823 42.7411L31.0713 41.1682V40.4329L31.4751 40.812L32.6664 42.18C32.7562 42.2669 32.8913 42.2873 33.0028 42.2308L35.072 40.9538V41.7192L32.9121 42.7877C32.8032 42.8421 32.6719 42.8236 32.5823 42.7411Z" fill="#C1DBF6"/>
|
||||
<path d="M39.5433 33.1428L40.3298 34.046C40.4197 34.1328 40.5547 34.1532 40.6662 34.0968L42.7355 32.8198V33.5852L40.5756 34.6536C40.4667 34.708 40.3354 34.6895 40.2458 34.607L39.5832 33.8966L39.5433 33.1428Z" fill="#C1DBF6"/>
|
||||
<path d="M36.1946 34.9139L37.0129 35.8536C37.1027 35.9404 37.2378 35.9608 37.3493 35.9044L39.4186 34.6274V35.3928L37.2587 36.4612C37.1497 36.5157 37.0185 36.4971 36.9289 36.4146L36.1434 35.58L36.1946 34.9139Z" fill="#C1DBF6"/>
|
||||
<path d="M32.7476 36.7369L33.5524 37.6611C33.6422 37.748 33.7773 37.7684 33.8888 37.7119L35.9581 36.4348V37.2003L33.7982 38.2687C33.6892 38.3232 33.5579 38.3047 33.4683 38.2222L32.7445 37.4497L32.7476 36.7369Z" fill="#C1DBF6"/>
|
||||
<path d="M29.3007 38.5601L30.0919 39.4686C30.1818 39.5556 30.3169 39.576 30.4284 39.5196L32.4976 38.2424V39.0079L30.3377 40.0764C30.2288 40.1308 30.0975 40.1123 30.0079 40.0298L29.3294 39.3032L29.3007 38.5601Z" fill="#C1DBF6"/>
|
||||
<path d="M45.563 40.0297L44.052 38.4569V37.7215L44.4558 38.1006L45.6471 39.4687C45.7369 39.5556 45.872 39.576 45.9835 39.5195L48.0528 38.2424V39.0079L45.8928 40.0763C45.7839 40.1308 45.6526 40.1122 45.563 40.0297Z" fill="#C1DBF6"/>
|
||||
<path d="M42.2461 41.8374L40.7351 40.2645V39.5291L41.1389 39.9082L42.3302 41.2763C42.42 41.3632 42.5551 41.3836 42.6666 41.3271L44.7359 40.0501V40.8155L42.576 41.8839C42.467 41.9384 42.3357 41.9199 42.2461 41.8374Z" fill="#C1DBF6"/>
|
||||
<path d="M38.7857 43.6449L37.2747 42.0721V41.3367L37.6785 41.7158L38.8697 43.0838C38.9596 43.1707 39.0946 43.1911 39.2062 43.1347L41.2754 41.8576V42.623L39.1155 43.6915C39.0066 43.7459 38.8753 43.7274 38.7857 43.6449Z" fill="#C1DBF6"/>
|
||||
<path d="M35.3252 45.4525L33.8142 43.8796V43.1442L34.218 43.5234L35.4093 44.8914C35.4991 44.9783 35.6342 44.9987 35.7457 44.9422L37.815 43.6652V44.4306L35.6551 45.499C35.5461 45.5535 35.4148 45.535 35.3252 45.4525Z" fill="#C1DBF6"/>
|
||||
<path d="M48.306 42.7411L46.7949 41.1682V40.4329L47.1987 40.812L48.39 42.18C48.4798 42.2669 48.6149 42.2873 48.7264 42.2308L50.7957 40.9538V41.7192L48.6358 42.7877C48.5268 42.8421 48.3956 42.8236 48.306 42.7411Z" fill="#C1DBF6"/>
|
||||
<path d="M44.9891 44.5487L43.478 42.9759V42.2405L43.8818 42.6196L45.0731 43.9876C45.1629 44.0745 45.298 44.0949 45.4095 44.0385L47.4788 42.7614V43.5269L45.3189 44.5953C45.2099 44.6498 45.0787 44.6312 44.9891 44.5487Z" fill="#C1DBF6"/>
|
||||
<path d="M41.5285 46.3563L40.0175 44.7834V44.048L40.4213 44.4272L41.6125 45.7952C41.7024 45.8821 41.8374 45.9025 41.949 45.846L44.0182 44.569V45.3344L41.8583 46.4028C41.7494 46.4573 41.6181 46.4388 41.5285 46.3563Z" fill="#C1DBF6"/>
|
||||
<path d="M38.068 48.1638L36.557 46.591V45.8556L36.9608 46.2347L38.1521 47.6027C38.2419 47.6896 38.377 47.7101 38.4885 47.6536L40.5578 46.3765V47.142L38.3979 48.2104C38.2889 48.2649 38.1576 48.2463 38.068 48.1638Z" fill="#C1DBF6"/>
|
||||
<path d="M51.0488 45.4525L49.5377 43.8796V43.1442L49.9415 43.5234L51.1328 44.8914C51.2226 44.9783 51.3577 44.9987 51.4692 44.9422L53.5385 43.6652V44.4306L51.3786 45.499C51.2696 45.5535 51.1384 45.535 51.0488 45.4525Z" fill="#C1DBF6"/>
|
||||
<path d="M47.7319 47.26L46.2208 45.6872V44.9518L46.6246 45.3309L47.8159 46.6989C47.9057 46.7858 48.0408 46.8062 48.1523 46.7498L50.2216 45.4727V46.2382L48.0617 47.3066C47.9527 47.3611 47.8215 47.3425 47.7319 47.26Z" fill="#C1DBF6"/>
|
||||
<path d="M44.2714 49.0677L42.7604 47.4948V46.7594L43.1642 47.1385L44.3554 48.5066C44.4453 48.5935 44.5804 48.6139 44.6919 48.5574L46.7611 47.2803V48.0458L44.6012 49.1142C44.4923 49.1687 44.361 49.1501 44.2714 49.0677Z" fill="#C1DBF6"/>
|
||||
<path d="M40.811 50.8752L39.2999 49.3023V48.567L39.7037 48.9461L40.895 50.3141C40.9848 50.401 41.1199 50.4214 41.2314 50.3649L43.3007 49.0879V49.8533L41.1408 50.9218C41.0318 50.9762 40.9006 50.9577 40.811 50.8752Z" fill="#C1DBF6"/>
|
||||
<path d="M53.7917 48.1638L52.2806 46.591V45.8556L52.6844 46.2347L53.8757 47.6027C53.9656 47.6896 54.1006 47.7101 54.2121 47.6536L56.2814 46.3765V47.142L54.1215 48.2104C54.0125 48.2649 53.8813 48.2463 53.7917 48.1638Z" fill="#C1DBF6"/>
|
||||
<path d="M50.4747 49.9714L48.9636 48.3985V47.6631L49.3674 48.0423L50.5587 49.4103C50.6485 49.4972 50.7836 49.5176 50.8951 49.4611L52.9644 48.1841V48.9495L50.8045 50.018C50.6955 50.0724 50.5643 50.0539 50.4747 49.9714Z" fill="#C1DBF6"/>
|
||||
<path d="M47.0142 51.779L45.5032 50.2061V49.4708L45.907 49.8499L47.0982 51.2179C47.1881 51.3048 47.3231 51.3252 47.4347 51.2688L49.5039 49.9917V50.7571L47.344 51.8256C47.2351 51.88 47.1038 51.8615 47.0142 51.779Z" fill="#C1DBF6"/>
|
||||
<path d="M43.5538 53.5866L42.0427 52.0137V51.2783L42.4465 51.6575L43.6378 53.0255C43.7276 53.1124 43.8627 53.1328 43.9742 53.0763L46.0435 51.7993V52.5647L43.8836 53.6331C43.7746 53.6876 43.6434 53.6691 43.5538 53.5866Z" fill="#C1DBF6"/>
|
||||
<path d="M45.224 35.3725L43.7182 33.8667C43.627 33.7755 43.4869 33.7546 43.373 33.8152L41.4647 34.8314C41.289 34.9249 41.2555 35.1627 41.3986 35.3011L42.9043 36.7573C42.9941 36.8442 43.1292 36.8647 43.2407 36.8082L45.1491 35.8416C45.3272 35.7514 45.3651 35.5136 45.224 35.3725Z" fill="white"/>
|
||||
<path d="M41.9071 37.1801L40.4014 35.6743C40.3101 35.5831 40.17 35.5622 40.0561 35.6228L38.1478 36.6389C37.9721 36.7325 37.9386 36.9702 38.0817 37.1086L39.5874 38.5649C39.6772 38.6518 39.8123 38.6722 39.9238 38.6157L41.8322 37.6491C42.0103 37.559 42.0482 37.3212 41.9071 37.1801Z" fill="white"/>
|
||||
<path d="M38.4467 38.9876L36.9409 37.4818C36.8497 37.3906 36.7095 37.3697 36.5956 37.4304L34.6873 38.4465C34.5116 38.54 34.4782 38.7778 34.6213 38.9162L36.1269 40.3725C36.2168 40.4594 36.3518 40.4798 36.4633 40.4233L38.3718 39.4567C38.5498 39.3665 38.5878 39.1287 38.4467 38.9876Z" fill="white"/>
|
||||
<path d="M34.9861 40.7952L33.4803 39.2894C33.3891 39.1982 33.249 39.1773 33.1351 39.2379L31.2268 40.254C31.051 40.3476 31.0176 40.5853 31.1607 40.7237L32.6663 42.18C32.7562 42.2669 32.8913 42.2873 33.0028 42.2308L34.9112 41.2642C35.0892 41.1741 35.1272 40.9363 34.9861 40.7952Z" fill="white"/>
|
||||
<path d="M42.0398 32.0515L42.6495 32.6611C42.7906 32.8022 42.7526 33.04 42.5746 33.1301L40.6661 34.0968C40.5546 34.1533 40.4196 34.1328 40.3298 34.046L39.5822 33.3229C39.516 33.2589 39.5316 33.149 39.613 33.106L41.7028 32.0007C41.8141 31.9418 41.9508 31.9624 42.0398 32.0515Z" fill="white"/>
|
||||
<path d="M38.6881 33.8242L39.3326 34.4688C39.4737 34.6099 39.4357 34.8476 39.2577 34.9378L37.3493 35.9044C37.2377 35.9609 37.1027 35.9405 37.0128 35.8535L36.2296 35.096C36.1635 35.032 36.1791 34.9221 36.2604 34.8791L38.351 33.7734C38.4623 33.7145 38.599 33.7351 38.6881 33.8242Z" fill="white"/>
|
||||
<path d="M35.2394 35.6435L35.8722 36.2762C36.0133 36.4173 35.9753 36.6551 35.7973 36.7453L33.8888 37.712C33.7773 37.7685 33.6422 37.7481 33.5524 37.6612L32.7919 36.9255C32.722 36.858 32.7385 36.7418 32.8244 36.6964L34.9092 35.5938C35.0183 35.5361 35.1521 35.5562 35.2394 35.6435Z" fill="white"/>
|
||||
<path d="M31.7937 37.4658L32.4117 38.0838C32.5528 38.2249 32.5148 38.4627 32.3368 38.5529L30.4285 39.5195C30.3169 39.576 30.1818 39.5556 30.0919 39.4686L29.3531 38.7541C29.28 38.6834 29.2972 38.5619 29.3872 38.5143L31.4635 37.4161C31.5725 37.3584 31.7065 37.3786 31.7937 37.4658Z" fill="white"/>
|
||||
<path d="M47.9668 38.0839L46.461 36.5781C46.3698 36.4869 46.2297 36.466 46.1158 36.5266L44.2075 37.5427C44.0318 37.6363 43.9983 37.874 44.1414 38.0124L45.6471 39.4687C45.7369 39.5556 45.872 39.576 45.9835 39.5195L47.8919 38.5529C48.07 38.4628 48.1079 38.225 47.9668 38.0839Z" fill="white"/>
|
||||
<path d="M44.6499 39.8914L43.1441 38.3857C43.0529 38.2944 42.9128 38.2735 42.7989 38.3342L40.8906 39.3503C40.7149 39.4439 40.6814 39.6816 40.8245 39.82L42.3302 41.2763C42.42 41.3632 42.5551 41.3836 42.6666 41.3271L44.575 40.3605C44.7531 40.2703 44.791 40.0325 44.6499 39.8914Z" fill="white"/>
|
||||
<path d="M41.1895 41.699L39.6837 40.1932C39.5925 40.102 39.4523 40.0811 39.3384 40.1417L37.4301 41.1578C37.2544 41.2514 37.221 41.4891 37.3641 41.6275L38.8697 43.0838C38.9596 43.1707 39.0946 43.1911 39.2061 43.1347L41.1146 42.1681C41.2926 42.0779 41.3306 41.8401 41.1895 41.699Z" fill="white"/>
|
||||
<path d="M37.729 43.5065L36.2232 42.0008C36.132 41.9095 35.9919 41.8886 35.878 41.9493L33.9697 42.9654C33.794 43.059 33.7605 43.2967 33.9036 43.4351L35.4093 44.8914C35.4991 44.9783 35.6342 44.9987 35.7457 44.9422L37.6541 43.9756C37.8322 43.8854 37.8701 43.6476 37.729 43.5065Z" fill="white"/>
|
||||
<path d="M50.7097 40.7952L49.204 39.2894C49.1127 39.1982 48.9726 39.1773 48.8587 39.2379L46.9504 40.254C46.7747 40.3476 46.7412 40.5853 46.8844 40.7237L48.39 42.18C48.4798 42.2669 48.6149 42.2873 48.7264 42.2308L50.6348 41.2642C50.8129 41.1741 50.8508 40.9363 50.7097 40.7952Z" fill="white"/>
|
||||
<path d="M47.3928 42.6028L45.8871 41.097C45.7958 41.0058 45.6557 40.9849 45.5418 41.0455L43.6335 42.0616C43.4578 42.1552 43.4243 42.393 43.5675 42.5314L45.0731 43.9876C45.1629 44.0745 45.298 44.0949 45.4095 44.0385L47.3179 43.0719C47.496 42.9817 47.5339 42.7439 47.3928 42.6028Z" fill="white"/>
|
||||
<path d="M43.9324 44.4103L42.4266 42.9046C42.3354 42.8134 42.1953 42.7924 42.0814 42.8531L40.1731 43.8692C39.9973 43.9628 39.9639 44.2005 40.107 44.3389L41.6126 45.7952C41.7025 45.8821 41.8375 45.9025 41.9491 45.846L43.8575 44.8794C44.0355 44.7892 44.0735 44.5514 43.9324 44.4103Z" fill="white"/>
|
||||
<path d="M40.4718 46.2179L38.966 44.7121C38.8748 44.6209 38.7347 44.6 38.6208 44.6606L36.7125 45.6768C36.5368 45.7703 36.5033 46.0081 36.6464 46.1465L38.1521 47.6027C38.2419 47.6896 38.377 47.7101 38.4885 47.6536L40.3969 46.687C40.575 46.5968 40.6129 46.359 40.4718 46.2179Z" fill="white"/>
|
||||
<path d="M53.4525 43.5065L51.9468 42.0008C51.8555 41.9095 51.7154 41.8886 51.6015 41.9493L49.6932 42.9654C49.5175 43.059 49.484 43.2967 49.6271 43.4351L51.1328 44.8914C51.2226 44.9783 51.3577 44.9987 51.4692 44.9422L53.3776 43.9756C53.5557 43.8854 53.5936 43.6476 53.4525 43.5065Z" fill="white"/>
|
||||
<path d="M50.1356 45.3141L48.6299 43.8084C48.5386 43.7172 48.3985 43.6963 48.2846 43.7569L46.3763 44.773C46.2006 44.8666 46.1671 45.1043 46.3103 45.2427L47.8159 46.699C47.9057 46.7859 48.0408 46.8063 48.1523 46.7498L50.0607 45.7832C50.2388 45.6931 50.2767 45.4552 50.1356 45.3141Z" fill="white"/>
|
||||
<path d="M46.6752 47.1217L45.1694 45.6159C45.0782 45.5247 44.9381 45.5038 44.8242 45.5644L42.9159 46.5806C42.7401 46.6741 42.7067 46.9119 42.8498 47.0503L44.3554 48.5066C44.4453 48.5935 44.5803 48.6139 44.6919 48.5574L46.6003 47.5908C46.7783 47.5006 46.8163 47.2628 46.6752 47.1217Z" fill="white"/>
|
||||
<path d="M43.2147 48.9293L41.709 47.4235C41.6177 47.3323 41.4776 47.3114 41.3637 47.372L39.4554 48.3881C39.2797 48.4817 39.2462 48.7194 39.3894 48.8578L40.895 50.3141C40.9848 50.401 41.1199 50.4214 41.2314 50.3649L43.1398 49.3983C43.3179 49.3082 43.3558 49.0704 43.2147 48.9293Z" fill="white"/>
|
||||
<path d="M56.1954 46.2179L54.6897 44.7121C54.5985 44.6209 54.4583 44.6 54.3444 44.6606L52.4361 45.6768C52.2604 45.7703 52.227 46.0081 52.3701 46.1465L53.8757 47.6027C53.9655 47.6896 54.1006 47.7101 54.2121 47.6536L56.1206 46.687C56.2986 46.5968 56.3365 46.359 56.1954 46.2179Z" fill="white"/>
|
||||
<path d="M52.8784 48.0255L51.3727 46.5198C51.2814 46.4285 51.1413 46.4076 51.0274 46.4683L49.1191 47.4844C48.9434 47.5779 48.9099 47.8157 49.0531 47.9541L50.5587 49.4104C50.6485 49.4973 50.7836 49.5177 50.8951 49.4612L52.8035 48.4946C52.9816 48.4044 53.0195 48.1666 52.8784 48.0255Z" fill="white"/>
|
||||
<path d="M49.418 49.8331L47.9122 48.3273C47.821 48.2361 47.6809 48.2152 47.567 48.2758L45.6587 49.2919C45.4829 49.3855 45.4495 49.6232 45.5926 49.7616L47.0982 51.2179C47.1881 51.3048 47.3231 51.3252 47.4347 51.2687L49.3431 50.3021C49.5211 50.212 49.5591 49.9742 49.418 49.8331Z" fill="white"/>
|
||||
<path d="M45.9575 51.6406L44.4518 50.1349C44.3605 50.0436 44.2204 50.0227 44.1065 50.0834L42.1982 51.0995C42.0225 51.1931 41.989 51.4308 42.1322 51.5692L43.6378 53.0255C43.7276 53.1124 43.8627 53.1328 43.9742 53.0763L45.8826 52.1097C46.0607 52.0195 46.0986 51.7817 45.9575 51.6406Z" fill="white"/>
|
||||
<path d="M18.8349 11.3681C20.0144 11.3681 22.1523 12.01 25.0026 15.5338C26.1845 17.276 26.8613 19.3576 27.2291 20.8577L30.1214 21.1394C32.5703 21.3779 34.8579 22.4679 36.5859 24.2194L58.3978 46.3291C58.6907 46.565 58.8932 46.8663 59.028 47.127C59.247 47.4856 59.389 48.0016 59.2563 48.4799C59.1026 49.0339 58.1719 50.1703 58.1719 50.1703L42.4395 59.2022C42.3528 59.252 42.2553 59.2777 42.1568 59.2777C42.1142 59.2777 42.0715 59.2729 42.0294 59.2631L41.7424 59.1971C41.7505 59.1982 41.7586 59.1975 41.7667 59.1984C41.738 59.1947 41.7093 59.1897 41.6807 59.1828L41.6581 59.1762C41.6585 59.1763 41.6589 59.1764 41.6593 59.1765C41.6586 59.1763 41.6579 59.1762 41.6573 59.176L41.6334 59.1691C41.5613 59.147 41.4908 59.1157 41.4258 59.0676L18.5394 42.169C17.3846 41.3163 16.0514 40.7368 14.6402 40.4741L11.2304 39.8394C7.91164 39.2217 5.50494 36.3256 5.50494 32.9498V30.6241C5.50494 30.3446 5.63968 30.1019 5.84242 29.945L16.5955 23.4491C15.9891 22.1834 15.079 20.7915 13.7122 19.4248C13.0133 18.7522 12.3341 18.2784 11.6953 17.946L5.80261 21.4023C5.2285 18.787 7.39728 17.5112 7.39728 17.5112C7.5734 17.3922 7.75134 17.293 7.92978 17.2075L17.7974 11.5791C17.7974 11.5791 18.1587 11.3681 18.8349 11.3681ZM5.84277 29.9448C5.84274 29.9448 5.84279 29.9447 5.84277 29.9448V29.9448ZM41.6263 59.167L41.6334 59.1691C41.6392 59.1708 41.6451 59.1726 41.6509 59.1743C41.6427 59.1719 41.6344 59.1697 41.6263 59.167ZM41.6509 59.1743C41.6531 59.1748 41.6552 59.1754 41.6573 59.176L41.6581 59.1762C41.6557 59.1755 41.6533 59.1749 41.6509 59.1743ZM18.8349 10.4538C17.9558 10.4538 17.4324 10.7335 17.3364 10.7895L7.50405 16.3978C7.29161 16.5011 7.09609 16.613 6.90809 16.7384C5.95662 17.3119 4.34814 19.0403 4.90965 21.5982L5.17952 22.8277L6.26524 22.1908L11.7027 19.0017C12.1689 19.2905 12.6279 19.6509 13.0719 20.0774C14.0042 21.0107 14.7811 22.0279 15.3891 23.1097L5.36997 29.1623L5.32487 29.1895L5.28293 29.2219C4.843 29.5624 4.5907 30.0735 4.5907 30.6241V32.9498C4.5907 36.7646 7.31276 40.0402 11.0631 40.7383L14.4729 41.373C15.7407 41.609 16.9591 42.1386 17.9964 42.9045L40.8827 59.8031C41.0184 59.9034 41.1734 59.9818 41.3437 60.0364C41.3641 60.043 41.3846 60.0491 41.4051 60.0548L41.4065 60.0553L41.4077 60.0556L41.4255 60.0608L41.4454 60.0666L41.4656 60.0715C41.4891 60.0772 41.5131 60.0824 41.5375 60.0871L41.5373 60.0881L41.8243 60.1542C41.9331 60.1793 42.045 60.192 42.1568 60.192C42.4155 60.192 42.6707 60.1239 42.895 59.9951L58.6272 50.9632L58.7729 50.8796L58.8793 50.7497C59.1263 50.4481 59.9469 49.4108 60.1374 48.7244C60.318 48.0734 60.2014 47.3114 59.8257 46.6793C59.6083 46.2667 59.336 45.9219 59.0155 45.6533L37.2368 23.5774C35.3622 21.6772 32.8667 20.4882 30.2101 20.2295L27.9529 20.0097C27.5465 18.5373 26.8628 16.6474 25.7592 15.0206L25.7377 14.9888L25.7135 14.9589C22.7016 11.2354 20.3105 10.4538 18.8349 10.4538Z" fill="#374874"/>
|
||||
<path d="M19.8042 24.8183C19.7247 24.8183 19.6477 24.777 19.6055 24.7031C19.5428 24.5935 19.581 24.4538 19.6906 24.3913L25.4952 21.0746C25.6048 21.0112 25.7443 21.05 25.8071 21.1596C25.8698 21.2692 25.8316 21.4089 25.722 21.4714L19.9174 24.7882C19.8816 24.8087 19.8426 24.8183 19.8042 24.8183Z" fill="#374874"/>
|
||||
<path d="M21.5676 21.306C21.4881 21.306 21.4111 21.2647 21.3689 21.1908C21.3062 21.0812 21.3444 20.9415 21.454 20.879L24.9049 18.9071C25.0145 18.8439 25.154 18.8826 25.2167 18.9922C25.2795 19.1018 25.2413 19.2415 25.1317 19.304L21.6808 21.2759C21.6451 21.2964 21.606 21.306 21.5676 21.306Z" fill="#374874"/>
|
||||
<path d="M20.3267 18.9487C20.2473 18.9487 20.1703 18.9074 20.1281 18.8335C20.0654 18.7239 20.1035 18.5844 20.2131 18.5216L23.789 16.4781C23.8986 16.4147 24.0381 16.4536 24.1009 16.5632C24.1636 16.6728 24.1254 16.8123 24.0158 16.875L20.4399 18.9185C20.4042 18.9391 20.3651 18.9487 20.3267 18.9487Z" fill="#374874"/>
|
||||
<path d="M17.7182 20.5393C17.6388 20.5393 17.5617 20.498 17.5196 20.4241C17.4569 20.3145 17.495 20.1748 17.6046 20.1122L19.1473 19.2308C19.2566 19.1676 19.3964 19.2062 19.4591 19.3158C19.5218 19.4254 19.4836 19.5652 19.374 19.6277L17.8314 20.5091C17.7957 20.5297 17.7566 20.5393 17.7182 20.5393Z" fill="#374874"/>
|
||||
<path d="M18.327 23.1362C18.2475 23.1362 18.1705 23.0949 18.1283 23.021C18.0656 22.9114 18.1038 22.7717 18.2134 22.7092L19.756 21.8277C19.8654 21.7645 20.0051 21.8032 20.0679 21.9128C20.1306 22.0224 20.0924 22.1621 19.9828 22.2246L18.4402 23.1061C18.4045 23.1266 18.3654 23.1362 18.327 23.1362Z" fill="#374874"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 19 KiB |
Reference in New Issue
Block a user