Unverified Commit bea55385 authored by Miroslav Kratochvil's avatar Miroslav Kratochvil Committed by GitHub
Browse files

Merge pull request #504 from LCSB-BioCore/develop

dev→master 20211105
parents 4320c6db ae3c0ebd
Pipeline #49229 passed with stages
in 21 minutes and 2 seconds
stages:
- generator
- test-basic
- test-required
- documentation
- test-additional-v1.5
- test-additional-v1.6
- test # this checks the viability of the code
- documentation-assets # this builds assets to be included in documentation
- documentation # this processes the documentation
- test-compat # this runs many additional compatibility tests
variables:
GIT_STRATEGY: clone
DOCKER_DRIVER: overlay2
DOCKER_TLS_CERTDIR: ""
GIT_STRATEGY: clone
DOCKER_DRIVER: overlay2
DOCKER_TLS_CERTDIR: ""
#
# Predefined conditions for triggering jobs
#
.global_trigger_pull_request: &global_trigger_pull_request
rules:
- if: $CI_COMMIT_BRANCH == "develop"
when: never
- if: $CI_COMMIT_BRANCH == "master"
when: never
- if: $CI_PIPELINE_SOURCE == "external_pull_request_event"
.global_trigger_build_doc: &global_trigger_build_doc
rules:
- if: $CI_PIPELINE_SOURCE == "external_pull_request_event"
when: never
- if: $CI_COMMIT_BRANCH == "develop"
- if: $CI_COMMIT_TAG =~ /^v/
.global_settings: &global_settings_pull
.global_trigger_full_tests: &global_trigger_full_tests
rules:
- if: $CI_PIPELINE_SOURCE == "external_pull_request_event"
- if: $CI_COMMIT_BRANCH == "develop"
- if: $CI_COMMIT_BRANCH == "master"
- if: $CI_COMMIT_TAG =~ /^v/
.global_settings: &global_settings_comprehensive
.global_trigger_compat_tests: &global_trigger_compat_tests
rules:
- if: $CI_COMMIT_BRANCH == "master"
- if: $CI_COMMIT_BRANCH == "develop"
- if: $CI_COMMIT_TAG =~ /^v/
- if: $CI_COMMIT_BRANCH == "master"
#
# Test environment & platform settings
#
.global_testing_v15: &global_testing_v15
.global_julia15: &global_julia15
variables:
JULIA_VER: "v1.5.3"
.global_testing_v16: &global_testing_v16
.global_julia16: &global_julia16
variables:
JULIA_VER: "v1.6.0"
# platform-specific test settings
# --------------------------------------
.global_testing_linux: &global_testing_linux
tags:
- slave01
.global_env_linux: &global_env_linux
script:
- $ARTENOLIS_SOFT_PATH/julia/$JULIA_VER/bin/julia --inline=yes --check-bounds=yes --color=yes --project=@. -e 'import Pkg; Pkg.test(; coverage = true)'
.global_testing_win8: &global_testing_win8
.global_env_win: &global_env_win
script:
- $global:LASTEXITCODE = 0 # Note the global prefix.
- Invoke-Expression $Env:ARTENOLIS_SOFT_PATH"\julia\"$Env:JULIA_VER"\bin\julia" --inline=yes --check-bounds=yes --color=yes --project=@. -e 'import Pkg; Pkg.test(; coverage = true)'
- exit $LASTEXITCODE
.global_env_win8: &global_env_win8
tags:
- windows8
<<: *global_env_win
.global_testing_win10: &global_testing_win10
.global_env_win10: &global_env_win10
tags:
- windows10
<<: *global_env_win
.global_testing_win: &global_testing_win
script:
- $global:LASTEXITCODE = 0 # Note the global prefix.
- Invoke-Expression $Env:ARTENOLIS_SOFT_PATH"\julia\"$Env:JULIA_VER"\bin\julia --inline=yes --check-bounds=yes --color=yes --project=@. -e 'import Pkg; Pkg.test(; coverage = true)'"
- exit $LASTEXITCODE
.global_testing_mac: &global_testing_mac
.global_env_mac: &global_env_mac
tags:
- mac
script:
- $ARTENOLIS_SOFT_PATH/julia/$JULIA_VER/Contents/Resources/julia/bin/julia --inline=yes --check-bounds=yes --color=yes --project=@. -e 'import Pkg; Pkg.test(; coverage = true)'
# Check the format of the code
# --------------------------------------
#
# TESTS
#
# The "basic" required test that gets triggered for the basic testing, runs in
# any available docker and current julia
#
docker:julia1.6:
stage: test
image: $CI_REGISTRY/r3/docker/julia-custom
script:
- julia --check-bounds=yes --inline=yes --project=@. -e "import Pkg; Pkg.test(; coverage = true)"
after_script:
- julia --project=test/coverage test/coverage/coverage-summary.jl
<<: *global_trigger_pull_request
#
# The required compatibility test to pass on branches&tags before the docs get
# built & deployed
#
linux:julia1.5:
stage: test
tags:
- slave01
<<: *global_trigger_full_tests
<<: *global_julia15
<<: *global_env_linux
linux:julia1.6:
stage: test
tags:
- slave02
<<: *global_trigger_full_tests
<<: *global_julia16
<<: *global_env_linux
#
# Additional platform&environment compatibility tests
#
windows8:julia1.5:
stage: test-compat
<<: *global_trigger_compat_tests
<<: *global_julia15
<<: *global_env_win8
windows10:julia1.5:
stage: test-compat
<<: *global_trigger_compat_tests
<<: *global_julia15
<<: *global_env_win10
mac:julia1.5:
stage: test-compat
<<: *global_trigger_compat_tests
<<: *global_julia15
<<: *global_env_mac
windows8:julia1.6:
stage: test-compat
<<: *global_trigger_compat_tests
<<: *global_julia16
<<: *global_env_win8
windows10:julia1.6:
stage: test-compat
<<: *global_trigger_compat_tests
<<: *global_julia16
<<: *global_env_win10
mac:julia1.6:
stage: test-compat
<<: *global_trigger_compat_tests
<<: *global_julia16
<<: *global_env_mac
#
# CODE FORMAT CHECKER
#
format:
stage: test-basic
stage: test
image: docker:19.03.13
tags:
- privileged
......@@ -100,13 +197,17 @@ format:
-e GITHUB_COMMENT_FORMAT \
-e GITHUB_COMMENT \
cloudposse/github-commenter
<<: *global_settings_pull
<<: *global_trigger_pull_request
# Documentation history
# --------------------------------------
#
# DOCUMENTATION ASSETS
#
# This builds the development history gif using gource.
#
generator:gource:
stage: generator
documentation-assets:gource:
stage: documentation-assets
needs: [] # allow faster start
image: docker:19.03.13
tags:
- privileged
......@@ -119,123 +220,71 @@ generator:gource:
- docker run -v "$PWD":/visualization $CI_REGISTRY/r3/docker/gource
artifacts:
paths: ['output.gif']
<<: *global_settings_comprehensive
# Documentation tests
# --------------------------------------
doc-tests:v1.6:
stage: documentation
<<: *global_trigger_build_doc
#
# DOCUMENTATION TESTS
#
# In pull requests, triggered after the tests succeed to avoid unnecessary
# double failure. In normal branch testing, these get triggered with normal
# tests (the error should be visible ASAP). We avoid a separate stage to keep
# the pipeline parallelizable.
#
.global_doctests: &global_doctests
image: $CI_REGISTRY/r3/docker/julia-custom
script:
- julia --project=@. -e 'import Pkg; Pkg.instantiate();'
- julia --project=@. --color=yes test/doctests.jl
<<: *global_settings_pull
# Deploy the documentation
# --------------------------------------
doc-tests-pr:julia1.6:
stage: documentation
<<: *global_doctests
<<: *global_trigger_pull_request
doc-tests:julia1.6:
stage: test
<<: *global_doctests
<<: *global_trigger_full_tests
#
# DOCUMENTATION
#
pages:
stage: documentation
dependencies:
- generator:gource
- documentation-assets:gource
# Note: This dependency is also implied by the stage ordering, but let's
# be sure. As of Nov 2021, the assets are not used directly, but referred
# to externally from the docs.
image: $CI_REGISTRY/r3/docker/julia-custom
script:
# resolve and build packages from the docs/Project.toml file
- julia --project=docs -e 'using Pkg; Pkg.resolve(); Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate();'
# deploy doc (without git history)
# build and deploy docs (this doesn't upload the gource animation asset)
- julia --project=docs --color=yes docs/make.jl
# move to the directory picked up by Gitlab pages (with git history)
# move to the directory to be picked up by Gitlab pages (with assets)
- mv docs/build public
artifacts:
paths:
- public
<<: *global_settings_comprehensive
# Test Docker run with Julia v1.6
# --------------------------------------
<<: *global_trigger_build_doc
docker:v1.6:
stage: test-basic
image: $CI_REGISTRY/r3/docker/julia-custom
script:
- julia --check-bounds=yes --inline=yes --project=@. -e "import Pkg; Pkg.test(; coverage = true)"
after_script:
- julia --project=test/coverage test/coverage/coverage-summary.jl
<<: *global_settings_pull
# Test Julia v1.5
# --------------------------------------
linux:v1.5:
stage: test-required
<<: *global_settings_comprehensive
<<: *global_testing_v15
<<: *global_testing_linux
windows10:v1.5:
stage: test-additional-v1.5
<<: *global_settings_comprehensive
<<: *global_testing_v15
<<: *global_testing_win10
<<: *global_testing_win
windows8:v1.5:
stage: test-additional-v1.5
<<: *global_settings_comprehensive
<<: *global_testing_v15
<<: *global_testing_win8
<<: *global_testing_win
mac:v1.5:
stage: test-additional-v1.5
<<: *global_settings_comprehensive
<<: *global_testing_v15
<<: *global_testing_mac
# Test Julia v1.6
# --------------------------------------
linux:v1.6:
stage: test-additional-v1.6
needs: ["linux:v1.5"]
<<: *global_settings_comprehensive
<<: *global_testing_v16
<<: *global_testing_linux
windows10:v1.6:
stage: test-additional-v1.6
needs: ["windows10:v1.5"]
<<: *global_settings_comprehensive
<<: *global_testing_v16
<<: *global_testing_win10
<<: *global_testing_win
windows8:v1.6:
stage: test-additional-v1.6
needs: ["windows8:v1.5"]
<<: *global_settings_comprehensive
<<: *global_testing_v16
<<: *global_testing_win8
<<: *global_testing_win
mac:v1.6:
stage: test-additional-v1.6
needs: ["mac:v1.5"]
<<: *global_settings_comprehensive
<<: *global_testing_v16
<<: *global_testing_mac
# Trigger test pipelines in external repo
# --------------------------------------
#
# EXTERNAL REPOSITORIES
#
# This trigger the test pipeline in external repo as defined by gitlab
# variables.
#
trigger:
stage: test-required
stage: test-compat
image: curlimages/curl
tags:
- privileged
script:
- curl --silent --output /dev/null -X POST -F token=$EXTERNAL_REPO_TOKEN -F ref=$EXTERNAL_REPO_BRANCH $EXTERNAL_REPO
<<: *global_settings_comprehensive
<<: *global_trigger_full_tests
......@@ -18,7 +18,7 @@
[cov-url]: https://codecov.io/gh/LCSB-BioCore/COBREXA.jl
[contrib-img]: https://img.shields.io/badge/contributions-start%20here-green
[contrib-url]: https://lcsb-biocore.github.io/COBREXA.jl/dev/howToContribute/
[contrib-url]: https://lcsb-biocore.github.io/COBREXA.jl/stable/howToContribute/
[repostatus-url]: https://www.repostatus.org/#active
[repostatus-img]: https://www.repostatus.org/badges/latest/active.svg
......
......@@ -5,8 +5,9 @@ using COBREXA
# some settings
dev_docs_folder = "dev"
pages_branch = "gh-pages"
github_repo_slug = "LCSB-BioCore/COBREXA.jl"
delete!(ENV, "GITHUB_REPOSITORY")
# This must match the repo slug on github!
github_repo_slug = ENV["CI_PROJECT_NAMESPACE"] * "/" * ENV["CI_PROJECT_NAME"]
# generate notebooks
notebooks_path = joinpath(@__DIR__, "src", "notebooks")
......@@ -15,8 +16,6 @@ notebooks_basenames = filter(x -> endswith(x, ".jl"), readdir(notebooks_path))
notebooks = joinpath.(notebooks_path, notebooks_basenames)
notebooks_outdir = joinpath(@__DIR__, "src", "notebooks")
for notebook in notebooks
Literate.markdown(
notebook,
......@@ -51,12 +50,19 @@ cp(
force = true,
)
# a helper for sourcing the documentation files from directories
find_mds(path) =
joinpath.(
Ref(path),
filter(x -> endswith(x, ".md"), readdir(joinpath(@__DIR__, "src", path))),
)
# Documenter tries to guess the repo slug from git remote URL but that doesn't
# work really well here, this is the only fallback. If this breaks, "Edit on
# GitHub" links will stop working. (See Documenter.jl source in
# src/Utilities/Utilities.jl, in November 2021 it was around line 500) -mk
ENV["TRAVIS_REPO_SLUG"] = github_repo_slug
# build the docs
makedocs(
modules = [COBREXA],
......@@ -73,24 +79,22 @@ makedocs(
pages = [
"Home" => "index.md",
"User guide" => [
"Quickstart tutorials" => vcat(
"Detailed tutorial listing" => "tutorials.md",
find_mds("tutorials"),
),
"Advanced tutorials" => vcat(
"Detailed tutorial listing" => "advanced.md",
find_mds("advanced"),
),
"Examples and notebooks" => vcat(
"Detailed notebook listing" => "notebooks.md",
find_mds("notebooks"),
),
"Quickstart tutorials" =>
vcat("All tutorials" => "tutorials.md", find_mds("tutorials")),
"Advanced tutorials" =>
vcat("All advanced tutorials" => "advanced.md", find_mds("advanced")),
"Examples and notebooks" =>
vcat("All notebooks" => "notebooks.md", find_mds("notebooks")),
],
"API reference" => vcat("Contents" => "functions.md", find_mds("functions")),
"Types and functions" => vcat("Contents" => "functions.md", find_mds("functions")),
"How to contribute" => "howToContribute.md",
],
)
# remove the workaround (this would cause deploydocs() to get confused and try
# to deploy the travis way)
delete!(ENV, "TRAVIS_REPO_SLUG")
# replace the "edit this" links for the generated documentation
function replace_in_doc(filename, replacement)
contents = open(f -> read(f, String), joinpath(@__DIR__, "build", filename))
......@@ -142,6 +146,5 @@ deploydocs(
repo = "github.com/$github_repo_slug.git",
target = "build",
branch = pages_branch,
push_preview = true,
devbranch = "develop",
)
This diff is collapsed.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="svg2"
xml:space="preserve"
width="1188.2295"
height="588.8277"
viewBox="0 0 1188.2295 588.8277"
width="131.64713"
height="64"
viewBox="0 0 131.64713 64"
sodipodi:docname="hhu.svg"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"><metadata
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
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"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
id="metadata8"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
id="defs6"><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath18"><path
......@@ -32,25 +32,27 @@
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1047"
inkscape:window-height="1166"
id="namedview4"
showgrid="false"
fit-margin-top="150"
fit-margin-top="16"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="150"
inkscape:zoom="0.54223161"
inkscape:cx="547.04525"
inkscape:cy="254.34294"
fit-margin-bottom="16"
inkscape:zoom="3.0334871"
inkscape:cx="137.46556"
inkscape:cy="40.382568"
inkscape:window-x="0"
inkscape:window-y="33"
inkscape:window-y="2194"
inkscape:window-maximized="1"
inkscape:current-layer="g10" /><g
inkscape:current-layer="g10"
inkscape:pagecheckerboard="0" /><g
id="g10"
inkscape:groupmode="layer"
inkscape:label="Logo_HHU_+Name_horizontal_rgb_+Safezone"
transform="matrix(1.3333333,0,0,-1.3333333,-178.53093,587.69159)"><g
id="g906"><g
transform="matrix(1.3333333,0,0,-1.3333333,-178.53093,453.69159)"><g
id="g906"
transform="matrix(0.11079269,0,0,0.11079269,119.06326,291.89893)"><g
id="g20"
transform="translate(629.8887,280.0385)"><path
d="m 0,0 v -75.451 c 0,-44.976 -33.694,-75.451 -75.256,-75.451 -41.564,0 -75.259,30.475 -75.259,75.451 V 0 h 38.137 c 0,-13.714 0.002,-69.366 0.002,-72.17 0,-23.316 16.62,-39.262 37.12,-39.262 20.5,0 37.119,15.946 37.119,39.262 V 0 Z"
......@@ -66,7 +68,8 @@
d="m 0,0 h -38.139 v 195.239 h 38.137 v -53.498 c 10.96,5.892 23.61,9.159 37.122,9.159 41.562,0 75.256,-30.476 75.256,-75.452 V 0 H 74.24 v 72.17 c 0,23.314 -16.62,39.259 -37.12,39.259 C 16.62,111.429 0,95.484 0,72.17 Z"
style="fill:#006ab3;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path30" /></g></g><g
id="g914"><g
id="g914"
transform="matrix(0.11079269,0,0,0.11079269,119.06326,291.89893)"><g
id="g32"
transform="translate(711.7734,157.6664)"><path
d="m 0,0 c -0.805,2.04 -1.956,3.729 -3.454,5.066 -1.501,1.337 -3.322,2.341 -5.466,3.009 -2.143,0.669 -4.536,1.004 -7.179,1.004 -1.108,0 -1.982,-0.01 -2.626,-0.026 -0.643,-0.02 -1.23,-0.036 -1.767,-0.053 -0.535,-0.02 -1.125,-0.036 -1.769,-0.053 -0.643,-0.019 -1.517,-0.046 -2.626,-0.08 l 0.181,-33.563 c 1.036,0 2.312,-0.018 3.83,-0.054 1.518,-0.033 3.153,-0.053 4.902,-0.053 1.787,0 3.699,0.229 5.734,0.687 2.036,0.458 3.912,1.301 5.625,2.534 1.715,1.231 3.143,2.956 4.288,5.172 1.141,2.217 1.713,5.086 1.713,8.605 C 1.386,-5.062 0.805,-2.04 0,0 m -4.4,-14.88 c -0.68,-1.829 -1.608,-3.271 -2.786,-4.327 -1.177,-1.058 -2.537,-1.787 -4.071,-2.191 -1.537,-0.406 -3.163,-0.608 -4.876,-0.608 -0.679,0 -1.358,0.02 -2.035,0.053 -0.68,0.036 -1.431,0.106 -2.253,0.212 l -0.178,28.074 c 0.608,0.036 1.222,0.053 1.848,0.053 h 1.795 c 4.678,0 8.079,-1.152 10.206,-3.456 2.125,-2.306 3.368,-6.339 3.368,-10.841 0,-2.817 -0.34,-5.139 -1.018,-6.969 M 8.726,-1.525 v -14.57 c 0,-1.23 0.052,-2.408 0.161,-3.536 0.106,-1.125 0.428,-2.11 0.964,-2.956 0.535,-0.843 1.346,-1.522 2.437,-2.03 1.089,-0.511 2.6,-0.767 4.527,-0.767 1.214,0 2.277,0.186 3.187,0.555 0.913,0.368 1.679,0.8 2.306,1.293 0.624,0.492 1.115,0.985 1.471,1.477 0.357,0.494 0.626,0.863 0.805,1.111 l 0.535,-4.014 4.018,0.371 c -0.036,0.176 -0.079,0.482 -0.133,0.923 -0.053,0.44 -0.108,0.932 -0.161,1.479 -0.053,0.544 -0.099,1.125 -0.135,1.742 -0.034,0.614 -0.053,1.187 -0.053,1.715 v 17.207 h -4.177 v -12.984 c 0,-1.055 -0.171,-2.06 -0.511,-3.009 -0.339,-0.952 -0.802,-1.778 -1.392,-2.481 -0.591,-0.704 -1.287,-1.258 -2.089,-1.662 -0.804,-0.405 -1.688,-0.608 -2.652,-0.608 -1.072,0 -1.939,0.133 -2.6,0.396 -0.66,0.265 -1.161,0.66 -1.501,1.187 -0.338,0.528 -0.56,1.178 -0.669,1.954 -0.106,0.773 -0.159,1.652 -0.159,2.637 v 14.57 z m 16.633,9.819 c -0.481,0.475 -1.062,0.713 -1.739,0.713 -0.715,0 -1.306,-0.238 -1.767,-0.713 -0.466,-0.475 -0.697,-1.028 -0.697,-1.662 0,-0.634 0.231,-1.188 0.697,-1.665 0.461,-0.475 1.052,-0.71 1.767,-0.71 0.677,0 1.258,0.235 1.739,0.71 0.485,0.477 0.726,1.031 0.726,1.665 0,0.634 -0.241,1.187 -0.726,1.662 m -9.883,0 c -0.465,0.475 -1.053,0.713 -1.769,0.713 -0.679,0 -1.257,-0.238 -1.741,-0.713 -0.482,-0.475 -0.723,-1.028 -0.723,-1.662 0,-0.634 0.241,-1.188 0.723,-1.665 0.484,-0.475 1.062,-0.71 1.741,-0.71 0.716,0 1.304,0.235 1.769,0.71 0.464,0.477 0.696,1.031 0.696,1.665 0,0.634 -0.232,1.187 -0.696,1.662 m 36.457,-23.41 c -0.446,0.79 -1.017,1.47 -1.713,2.03 -0.697,0.565 -1.457,1.005 -2.279,1.32 -0.821,0.319 -1.624,0.581 -2.409,0.793 -1.465,0.385 -2.652,0.932 -3.562,1.636 -0.911,0.703 -1.366,1.654 -1.366,2.85 0,0.915 0.399,1.681 1.204,2.296 0.804,0.616 1.831,0.924 3.081,0.924 1.32,0 2.348,-0.246 3.081,-0.739 0.73,-0.494 1.366,-1.002 1.901,-1.53 l 2.035,2.585 c -0.571,0.494 -1.402,0.969 -2.491,1.426 -1.089,0.458 -2.544,0.687 -4.367,0.687 -1.106,0 -2.161,-0.133 -3.16,-0.395 -1,-0.265 -1.884,-0.661 -2.653,-1.191 -0.768,-0.527 -1.382,-1.194 -1.847,-2.004 -0.465,-0.809 -0.697,-1.742 -0.697,-2.797 0,-1.233 0.214,-2.261 0.643,-3.088 0.43,-0.829 0.983,-1.515 1.66,-2.059 0.68,-0.545 1.412,-0.969 2.197,-1.268 0.786,-0.298 1.538,-0.553 2.25,-0.763 1.501,-0.424 2.705,-0.942 3.616,-1.559 0.913,-0.616 1.369,-1.645 1.369,-3.088 0,-1.231 -0.369,-2.173 -1.099,-2.823 -0.732,-0.65 -1.778,-0.976 -3.135,-0.976 -0.714,0 -1.384,0.113 -2.008,0.342 -0.626,0.229 -1.207,0.521 -1.742,0.872 -0.537,0.352 -1.009,0.713 -1.421,1.081 -0.41,0.369 -0.74,0.714 -0.991,1.03 l -2.035,-3.219 c 2.25,-1.761 4.965,-2.641 8.143,-2.641 1.179,0 2.286,0.159 3.321,0.475 1.036,0.318 1.93,0.783 2.679,1.4 0.752,0.614 1.349,1.38 1.795,2.296 0.448,0.915 0.67,1.97 0.67,3.167 0,1.161 -0.222,2.137 -0.67,2.93 m 22.34,0 c -0.445,0.79 -1.016,1.47 -1.714,2.03 -0.697,0.565 -1.455,1.005 -2.277,1.32 -0.821,0.319 -1.626,0.581 -2.409,0.793 -1.467,0.385 -2.652,0.932 -3.562,1.636 -0.914,0.703 -1.37,1.654 -1.37,2.85 0,0.915 0.403,1.681 1.207,2.296 0.803,0.616 1.83,0.924 3.081,0.924 1.321,0 2.347,-0.246 3.08,-0.739 0.732,-0.494 1.368,-1.002 1.903,-1.53 l 2.035,2.585 c -0.571,0.494 -1.402,0.969 -2.491,1.426 -1.091,0.458 -2.546,0.687 -4.367,0.687 -1.106,0 -2.161,-0.133 -3.16,-0.395 -1,-0.265 -1.884,-0.661 -2.653,-1.191 -0.768,-0.527 -1.383,-1.194 -1.847,-2.004 -0.465,-0.809 -0.697,-1.742 -0.697,-2.797 0,-1.233 0.214,-2.261 0.643,-3.088 0.429,-0.829 0.98,-1.515 1.66,-2.059 0.68,-0.545 1.412,-0.969 2.197,-1.268 0.785,-0.298 1.534,-0.553 2.25,-0.763 1.501,-0.424 2.705,-0.942 3.615,-1.559 0.912,-0.616 1.367,-1.645 1.367,-3.088 0,-1.231 -0.367,-2.173 -1.096,-2.823 -0.735,-0.65 -1.778,-0.976 -3.137,-0.976 -0.713,0 -1.383,0.113 -2.007,0.342 -0.626,0.229 -1.207,0.521 -1.741,0.872 -0.538,0.352 -1.01,0.713 -1.422,1.081 -0.409,0.369 -0.742,0.714 -0.99,1.03 l -2.035,-3.219 c 2.25,-1.761 4.963,-2.641 8.143,-2.641 1.179,0 2.286,0.159 3.321,0.475 1.036,0.318 1.929,0.783 2.679,1.4 0.751,0.614 1.349,1.38 1.794,2.296 0.447,0.915 0.67,1.97 0.67,3.167 0,1.161 -0.223,2.137 -0.67,2.93 m 26.654,1.294 v 2.322 c 0,1.301 -0.153,2.594 -0.456,3.878 -0.303,1.284 -0.812,2.429 -1.528,3.431 -0.713,1.003 -1.669,1.813 -2.864,2.427 -1.197,0.618 -2.705,0.926 -4.528,0.926 -1.498,0 -2.901,-0.299 -4.206,-0.899 -1.304,-0.597 -2.436,-1.433 -3.402,-2.505 -0.964,-1.074 -1.722,-2.359 -2.276,-3.855 -0.555,-1.496 -0.831,-3.158 -0.831,-4.989 0,-4.047 0.946,-7.106 2.84,-9.183 1.893,-2.076 4.697,-3.115 8.412,-3.115 1.927,0 3.623,0.389 5.09,1.162 1.463,0.773 2.838,1.901 4.124,3.377 l -1.659,1.692 c -1.574,-1.373 -2.92,-2.273 -4.047,-2.694 -1.125,-0.422 -2.222,-0.633 -3.293,-0.633 -2.359,0 -4.127,0.747 -5.305,2.243 -1.179,1.495 -1.841,3.634 -1.982,6.415 z m -5.543,8.496 c 0.91,-1.265 1.365,-2.956 1.365,-5.067 v -0.792 H 85.124 c 0.142,1.022 0.393,1.997 0.749,2.929 0.356,0.933 0.812,1.761 1.365,2.482 0.555,0.72 1.215,1.294 1.983,1.714 0.768,0.425 1.633,0.634 2.599,0.634 1.462,0 2.651,-0.634 3.564,-1.9 m 17.435,16.13 h -4.232 v -35.5 h 4.232 z m 24.48,-28.587 c -0.537,-1.267 -1.188,-2.242 -1.956,-2.929 -0.768,-0.686 -1.572,-1.144 -2.411,-1.371 -0.838,-0.231 -1.544,-0.345 -2.116,-0.345 -1.071,0 -2.001,0.239 -2.787,0.713 -0.785,0.475 -1.437,1.135 -1.953,1.981 -0.52,0.842 -0.903,1.845 -1.154,3.008 -0.25,1.162 -0.373,2.41 -0.373,3.747 0,1.373 0.159,2.63 0.481,3.774 0.321,1.142 0.777,2.12 1.366,2.93 0.59,0.809 1.294,1.433 2.116,1.874 0.821,0.438 1.715,0.66 2.678,0.66 0.93,0 1.814,-0.169 2.653,-0.501 0.841,-0.335 1.573,-0.872 2.196,-1.612 0.624,-0.737 1.125,-1.671 1.501,-2.796 0.376,-1.128 0.562,-2.482 0.562,-4.065 0,-2.112 -0.268,-3.801 -0.803,-5.068 m 1.072,-7.179 4.019,0.371 c -0.036,0.176 -0.082,0.482 -0.135,0.923 -0.054,0.44 -0.107,0.932 -0.162,1.479 -0.053,0.544 -0.099,1.125 -0.132,1.742 -0.036,0.614 -0.054,1.187 -0.054,1.715 v 29.536 h -3.858 V -4.85 c -0.571,1.089 -1.491,2.032 -2.759,2.824 -1.269,0.793 -2.761,1.188 -4.474,1.188 -1.463,0 -2.839,-0.266 -4.126,-0.793 -1.284,-0.527 -2.409,-1.31 -3.375,-2.348 -0.963,-1.039 -1.732,-2.342 -2.302,-3.906 -0.572,-1.565 -0.859,-3.37 -0.859,-5.41 0,-1.655 0.205,-3.211 0.617,-4.671 0.41,-1.463 1.037,-2.746 1.875,-3.854 0.838,-1.109 1.91,-1.981 3.215,-2.615 1.304,-0.63 2.848,-0.949 4.633,-0.949 1.145,0 2.134,0.159 2.975,0.475 0.839,0.318 1.553,0.704 2.141,1.161 0.591,0.458 1.063,0.942 1.422,1.453 0.357,0.508 0.624,0.959 0.802,1.347 z m 32.681,16.972 c -0.502,1.495 -1.234,2.769 -2.198,3.825 -0.963,1.058 -2.17,1.874 -3.616,2.455 -1.447,0.58 -3.1,0.872 -4.955,0.872 -1.859,0 -3.503,-0.292 -4.93,-0.872 -1.429,-0.581 -2.634,-1.397 -3.617,-2.455 -0.982,-1.056 -1.722,-2.33 -2.223,-3.825 -0.501,-1.496 -0.749,-3.158 -0.749,-4.989 0,-1.901 0.294,-3.617 0.883,-5.146 0.591,-1.532 1.403,-2.833 2.439,-3.907 1.035,-1.072 2.257,-1.899 3.668,-2.48 1.412,-0.58 2.92,-0.872 4.529,-0.872 1.607,0 3.115,0.292 4.527,0.872 1.409,0.581 2.632,1.408 3.669,2.48 1.036,1.074 1.85,2.375 2.437,3.907 0.591,1.529 0.885,3.245 0.885,5.146 0,1.831 -0.251,3.493 -0.749,4.989 m -5.599,-11.744 c -1.233,-1.725 -2.956,-2.587 -5.17,-2.587 -2.216,0 -3.938,0.862 -5.172,2.587 -1.231,1.722 -1.847,4.01 -1.847,6.86 0,2.816 0.606,5.069 1.821,6.758 1.214,1.688 2.946,2.531 5.198,2.531 2.25,0 3.983,-0.843 5.196,-2.531 1.214,-1.689 1.822,-3.942 1.822,-6.758 0,-2.85 -0.617,-5.138 -1.848,-6.86 m 13.42,-4.962 h 3.963 v 11.135 c 0,0.774 0.026,1.55 0.082,2.323 0.053,0.773 0.169,1.513 0.347,2.218 0.392,1.441 0.973,2.648 1.742,3.617 0.768,0.966 1.633,1.45 2.598,1.45 1.608,0 2.465,-0.862 2.571,-2.587 l 3.483,1.214 c -0.036,0.775 -0.197,1.443 -0.481,2.007 -0.287,0.56 -0.644,1.011 -1.073,1.346 -0.428,0.332 -0.903,0.58 -1.42,0.74 -0.519,0.156 -1.01,0.236 -1.472,0.236 -1.393,0 -2.609,-0.388 -3.643,-1.161 -1.038,-0.774 -1.913,-1.812 -2.626,-3.115 l -0.537,4.013 -4.018,-0.371 c 0.036,-0.176 0.082,-0.484 0.135,-0.923 0.053,-0.44 0.106,-0.941 0.162,-1.506 0.052,-0.563 0.095,-1.143 0.131,-1.741 0.037,-0.597 0.056,-1.161 0.056,-1.688 z m 37.486,34.655 c -0.464,0.281 -1.187,0.537 -2.171,0.766 -0.982,0.228 -2.044,0.341 -3.186,0.341 -1.573,0 -2.982,-0.281 -4.232,-0.842 C 205.519,9.66 204.447,8.691 203.553,7.32 202.876,6.3 202.464,5.182 202.322,3.968 202.18,2.754 202.107,2.329 202.107,1.271 v -2.796 h -4.232 v -2.64 h 4.232 v -20.531 h 4.019 v 20.531 h 6.482 v 2.64 h -6.482 v 2.64 c 0,0.879 0.036,1.101 0.108,2.089 0.07,0.983 0.248,1.871 0.536,2.664 0.284,0.793 0.705,1.452 1.259,1.981 0.551,0.527 1.329,0.79 2.329,0.79 1.037,0 1.93,-0.176 2.679,-0.528 0.749,-0.352 1.376,-0.72 1.874,-1.108 z"
......@@ -83,7 +86,7 @@
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path42" /></g></g><g
id="g44"
transform="translate(962.7383,111.6479)"><path
transform="matrix(0.11079269,0,0,0.11079269,225.72762,304.2687)"><path
d="m 0,0 h 34.732 c 15.242,0 27.6,12.324 27.6,27.526 0,15.206 -12.358,27.531 -27.6,27.531 H 0 Z"
style="fill:#006ab3;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path46" /></g></g></svg>
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="500px" height="423.45px" viewBox="0 0 500 423.45" enable-background="new 0 0 500 423.45" xml:space="preserve">
<line fill="none" stroke="#676A69" stroke-width="2" x1="0" y1="257.093" x2="500" y2="257.093"/>
<path fill="#676A69" d="M23.256,340.698c-10.965,0-18.596-7.046-18.596-18.785v-29.619h6.58v29.619c0,9.189,5.754,12.652,12.016,12.652c6.191,0,12.195-3.523,12.195-12.652v-29.619h6.459v29.619C41.91,333.265,33.883,340.698,23.256,340.698 M92.192,339.913v-47.619h-6.512v33.658c0,0.586,0.12,1.568,0.12,1.568s-0.456-0.845-0.844-1.37l-24.658-33.856h-5.538v47.619h6.521v-34.235c0-0.525-0.13-1.576-0.13-1.576s0.595,0.922,0.845,1.301l24.977,34.511H92.192z M105.369,339.913h6.521v-47.619h-6.521V339.913z M159.313,292.294h-6.201l-12.127,34.382c-0.189,0.586-0.396,1.628-0.396,1.628s-0.189-1.042-0.388-1.628l-12.075-34.382h-6.322l16.77,47.619h4.039L159.313,292.294z M197.07,339.913v-6.132h-21.325V319.76h19.628v-6.132h-19.628v-15.202h20.094v-6.132h-26.614v47.619H197.07z M242.796,339.913l-17.544-19.955c7.105,0,13.564-6.004,13.564-13.643c0-7.684-5.873-14.021-14.744-14.021h-15.383v47.619h6.52v-22.246l19.241,22.246H242.796z M222.9,298.426c6.201,0,9.139,4.376,9.139,7.648c0,5.081-3.395,8.733-9.268,8.733h-7.563v-16.382H222.9 M263.863,340.698c7.949,0,14.607-4.824,14.607-13.367c0-7.967-5.736-11.422-11.154-14.1c-5.865-2.929-10.422-4.677-10.422-9.845c0-3.583,3.118-5.47,6.83-5.47c3.988,0,6.469,0.845,9.406,2.998l3.514-5.357c-3.713-2.602-8.079-4.039-12.851-4.039c-8.535,0-13.755,5.211-13.755,12.265c0,9.052,6.916,12.058,13.686,15.528c4.256,2.154,7.967,4.358,7.967,8.406c0,4.505-3.332,6.658-8.147,6.658c-3.272,0-7.372-1.249-9.922-3.531l-3.712,5.029C254.277,339.466,259.049,340.698,263.863,340.698 M289.176,339.913h6.512v-47.619h-6.512V339.913z M332.8,298.426v-6.132h-26.338v6.132h9.716v41.487h6.52v-41.487H332.8z M371.42,339.913v-6.132h-21.326V319.76h19.629v-6.132h-19.629v-15.202h20.086v-6.132h-26.613v47.619H371.42z M365.029,278.927h-6.262l-6.072,9.594h6.271L365.029,278.927z M420.918,339.913c16.32,0,26.027-10.688,26.027-23.935c0-12.987-9.189-23.685-25.434-23.685h-12.135v47.619H420.918 M421.374,298.167c11.421,0,18.784,8.148,18.784,17.872c0,8.871-5.934,18.009-20.016,18.009h-4.246v-35.881H421.374 M476.428,340.698c10.628,0,18.664-7.434,18.664-18.785v-29.619h-6.469v29.619c0,9.129-5.994,12.652-12.195,12.652c-6.262,0-12.007-3.463-12.007-12.652v-29.619h-6.571v29.619C457.85,333.652,465.472,340.698,476.428,340.698 M29.482,422.675v-6.133h-18.07v-41.488h-6.52v47.621H29.482z M60.402,423.45c10.619,0,18.646-7.434,18.646-18.777v-29.619H72.59v29.619c0,9.121-5.995,12.645-12.188,12.645c-6.27,0-12.016-3.454-12.016-12.645v-29.619h-6.58v29.619C41.807,416.413,49.438,423.45,60.402,423.45 M132.525,422.675l-16.563-25.443l14.548-22.178h-7.502l-9.198,13.953c-0.844,1.258-1.559,2.618-1.559,2.618s-0.784-1.36-1.508-2.472l-9.129-14.1h-8.02l14.607,22.506l-16.502,25.115h7.57l10.56-16.115c0.913-1.378,2.153-3.453,2.153-3.453s1.24,2.152,2.023,3.324l10.629,16.244H132.525z M173.23,422.675v-6.133h-21.326v-14.03h19.629v-6.124h-19.629v-15.201h20.094v-6.133h-26.621v47.621H173.23z M236.432,422.675v-47.621h-5.806l-17.415,23.289l-17.932-23.289h-5.547v47.621h6.528v-34.512c0-0.854-0.138-1.758-0.138-1.758s0.388,0.715,0.654,1.043l15.072,19.637h2.602l14.943-20.162c0.267-0.328,0.654-1.111,0.654-1.111s-0.138,0.973-0.138,1.834v35.029H236.432z M268.781,422.675c10.508,0,14.685-6.985,14.685-12.92c0-5.873-4.315-10.24-8.027-11.343c3.075-1.964,5.478-5.495,5.478-10.964c0-7.434-5.736-12.395-13.832-12.395H254.5v47.621H268.781 M265.981,381.187c5.349,0,8.157,2.541,8.157,6.795c0,3.963-1.637,8.269-8.742,8.269h-4.367v-15.063H265.981 M268.721,402.382c4.822,0,7.958,2.74,7.958,6.848c0,4.444-2.739,7.313-8.612,7.313h-7.037v-14.16H268.721 M318.873,423.45c13.444,0,24.34-10.758,24.34-24.59c0-13.824-9.914-24.59-24.658-24.59c-13.764,0-24.134,10.568-24.134,24.461C294.421,413.089,305.248,423.45,318.873,423.45 M318.623,380.669c10.49,0,17.803,7.614,17.803,17.933c0,11.412-8.217,18.466-17.553,18.466c-9.379,0-17.665-7.769-17.665-18.336C301.208,388.283,308.313,380.669,318.623,380.669 M374.641,423.45c10.629,0,18.664-7.434,18.664-18.777v-29.619h-6.468v29.619c0,9.121-5.995,12.645-12.196,12.645c-6.262,0-12.006-3.454-12.006-12.645v-29.619h-6.572v29.619C356.063,416.413,363.677,423.45,374.641,423.45 M442.217,422.675l-17.544-19.965c7.114,0,13.565-6.004,13.565-13.625c0-7.691-5.874-14.031-14.746-14.031h-15.391v47.621h6.529v-22.238l19.24,22.238H442.217z M422.33,381.187c6.193,0,9.129,4.375,9.129,7.631c0,5.09-3.401,8.742-9.258,8.742h-7.57v-16.373H422.33 M474.11,423.45c11.481,0,21.79-9.19,21.79-22.109h-21.92v6.132h14.35c-1.688,5.736-7.166,9.595-14.021,9.595c-9.655,0-17.545-8.483-17.545-18.146c0-11.017,7.691-18.252,17.287-18.252c5.537,0,9.594,1.5,13.693,4.893l3.979-4.832c-4.573-3.979-9.853-6.459-17.544-6.459c-13.117,0-24.203,9.844-24.203,24.59C449.977,413.604,462.053,423.45,474.11,423.45"/>
<path fill="#E31B1D" d="M238.326,55.157c7.02,0,13.1-3.979,16.131-10.104h2.068v158.717c0,10.034-8.148,18.191-18.199,18.191c-10.043,0-18.19-8.157-18.19-18.191V45.054h2.075C225.252,51.178,231.324,55.157,238.326,55.157 M223.142,18.518c0,8.406,6.804,15.228,15.219,15.228c8.406,0,15.228-6.821,15.228-15.228c0-8.406-6.821-15.201-15.228-15.201C229.945,3.316,223.142,10.112,223.142,18.518 M223.142,18.518c0,8.406,6.804,15.228,15.219,15.228c8.406,0,15.228-6.821,15.228-15.228c0-8.406-6.821-15.201-15.228-15.201C229.945,3.316,223.142,10.112,223.142,18.518 M41.118,221.97V63.235c0-10.051-8.156-18.189-18.198-18.189c-10.052,0-18.217,8.139-18.217,18.189v140.535c0,10.061,8.165,18.199,18.217,18.199l0,0H41.118z M50.963,221.97h7.605c10.051,0,18.207-9.689,18.207-19.732h-0.018c0,9.742,1.98,19.732,10.586,19.732h-0.026V63.235c0-10.051-8.147-18.189-18.19-18.189s-18.182,8.139-18.182,18.189V221.97h0.009 M158.734,45.036V203.78c0,10.051,8.166,18.189,18.208,18.189c10.025,0,18.182-8.139,18.182-18.189V63.244c0-10.06-8.156-18.208-18.182-18.208l0,0H158.734z M141.268,45.036c-10.033,0-18.182,9.698-18.182,19.741h0.018c0-9.741-1.998-19.731-10.594-19.741h0.018V203.78c0,10.051,8.147,18.189,18.207,18.189c10.034,0,18.182-8.139,18.182-18.189V45.036h-0.025H141.268z"/>
<path fill="#00A4DD" d="M369.344,10.095c7.002,0,13.092-3.971,16.133-10.095h2.031v203.771c0,10.034-8.139,18.191-18.172,18.191c-10.129,0-18.251-8.157-18.251-18.191V0h2.059C356.176,6.124,362.333,10.095,369.344,10.095 M449.056,221.97V63.235c0-10.051-8.165-18.199-18.208-18.199c-10.033,0-18.182,8.148-18.182,18.199v140.535c0,10.052,8.148,18.199,18.182,18.199l0,0H449.056z M466.514,221.97c10.034,0,18.19-9.689,18.19-19.74h-0.017c0,9.74,1.998,19.732,10.602,19.74h-0.025V63.235c0-10.051-8.148-18.199-18.199-18.199c-10.043,0-18.189,8.148-18.189,18.199V221.97h0.033H466.514z M285.688,203.736c0,10.068,8.165,18.233,18.251,18.233c10.06,0,18.233-8.165,18.233-18.233s-8.174-18.241-18.233-18.241C293.853,185.495,285.688,193.668,285.688,203.736"/>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
version="1.1"
id="Layer_1"
x="0px"
y="0px"
width="75.569725"
height="64"
viewBox="0 0 75.569725 63.999998"
enable-background="new 0 0 500 423.45"
xml:space="preserve"
sodipodi:docname="unilu.svg"
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
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"><defs
id="defs13" /><sodipodi:namedview
id="namedview11"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:zoom="1.6790648"
inkscape:cx="250.13925"
inkscape:cy="211.72501"
inkscape:window-width="1920"
inkscape:window-height="1166"
inkscape:window-x="0"
inkscape:window-y="2194"
inkscape:window-maximized="1"
inkscape:current-layer="Layer_1" />
<line
fill="none"
stroke="#676a69"
stroke-width="2"