From fc2b9fd6cebd6c1d1cf5a48da1f43773e7290f29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrgen=20M=C3=BClbert?= Date: Tue, 7 May 2024 10:28:43 +0200 Subject: [PATCH] fix: some issues --- .github/actions/spelling/README.md | 18 - .github/actions/spelling/advice.md | 38 -- .github/actions/spelling/allow.txt | 5 - .github/actions/spelling/candidate.patterns | 636 ------------------ .github/actions/spelling/dictionary.txt | 0 .github/actions/spelling/excludes.txt | 83 --- .github/actions/spelling/expect.txt | 0 .../actions/spelling/line_forbidden.patterns | 119 ---- .github/actions/spelling/only.txt | 0 .github/actions/spelling/patterns.txt | 32 - .github/actions/spelling/reject.txt | 11 - .github/workflows/ci.yml | 6 +- .github/workflows/spelling.yml | 188 ------ .github/workflows/test.yml | 17 +- docs/developer/core.md | 2 +- docs/js/chat.js | 3 - docs/js/sidecar-1.5.0.js | 584 ---------------- 17 files changed, 14 insertions(+), 1728 deletions(-) delete mode 100644 .github/actions/spelling/README.md delete mode 100644 .github/actions/spelling/advice.md delete mode 100644 .github/actions/spelling/allow.txt delete mode 100644 .github/actions/spelling/candidate.patterns delete mode 100644 .github/actions/spelling/dictionary.txt delete mode 100644 .github/actions/spelling/excludes.txt delete mode 100644 .github/actions/spelling/expect.txt delete mode 100644 .github/actions/spelling/line_forbidden.patterns delete mode 100644 .github/actions/spelling/only.txt delete mode 100644 .github/actions/spelling/patterns.txt delete mode 100644 .github/actions/spelling/reject.txt delete mode 100644 .github/workflows/spelling.yml delete mode 100644 docs/js/chat.js delete mode 100644 docs/js/sidecar-1.5.0.js diff --git a/.github/actions/spelling/README.md b/.github/actions/spelling/README.md deleted file mode 100644 index 66abaa8..0000000 --- a/.github/actions/spelling/README.md +++ /dev/null @@ -1,18 +0,0 @@ -# check-spelling/check-spelling configuration - -| File | Purpose | Format | Info | -| -------------------------------------------------- | -------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | -| [dictionary.txt](dictionary.txt) | Replacement dictionary (creating this file will override the default dictionary) | one word per line | [dictionary](https://github.com/check-spelling/check-spelling/wiki/Configuration#dictionary) | -| [allow.txt](allow.txt) | Add words to the dictionary | one word per line (only letters and `'`s allowed) | [allow](https://github.com/check-spelling/check-spelling/wiki/Configuration#allow) | -| [reject.txt](reject.txt) | Remove words from the dictionary (after allow) | grep pattern matching whole dictionary words | [reject](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-reject) | -| [excludes.txt](excludes.txt) | Files to ignore entirely | perl regular expression | [excludes](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-excludes) | -| [only.txt](only.txt) | Only check matching files (applied after excludes) | perl regular expression | [only](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-only) | -| [patterns.txt](patterns.txt) | Patterns to ignore from checked lines | perl regular expression (order matters, first match wins) | [patterns](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-patterns) | -| [candidate.patterns](candidate.patterns) | Patterns that might be worth adding to [patterns.txt](patterns.txt) | perl regular expression with optional comment block introductions (all matches will be suggested) | [candidates](https://github.com/check-spelling/check-spelling/wiki/Feature:-Suggest-patterns) | -| [line_forbidden.patterns](line_forbidden.patterns) | Patterns to flag in checked lines | perl regular expression (order matters, first match wins) | [patterns](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-patterns) | -| [expect.txt](expect.txt) | Expected words that aren't in the dictionary | one word per line (sorted, alphabetically) | [expect](https://github.com/check-spelling/check-spelling/wiki/Configuration#expect) | -| [advice.md](advice.md) | Supplement for GitHub comment when unrecognized words are found | GitHub Markdown | [advice](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-advice) | - -Note: you can replace any of these files with a directory by the same name -(minus the suffix) and then include multiple files inside that directory -(with that suffix) to merge multiple files together. diff --git a/.github/actions/spelling/advice.md b/.github/actions/spelling/advice.md deleted file mode 100644 index 81fd0dc..0000000 --- a/.github/actions/spelling/advice.md +++ /dev/null @@ -1,38 +0,0 @@ - - -
If the flagged items are :exploding_head: false positives - -If items relate to a ... - -- binary file (or some other file you wouldn't want to check at all). - - Please add a file path to the `excludes.txt` file matching the containing - file. - - File paths are Perl 5 Regular Expressions - you can - [test](https://www.regexplanet.com/advanced/perl/) yours before - committing to verify it will match your files. - - `^` refers to the file's path from the root of the repository, so - `^README\.md$` would exclude [README.md](README.md) (on whichever branch - you're using). - -- well-formed pattern. - - If you can write a - [pattern](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-patterns) - that would match it, try adding it to the `patterns.txt` file. - - Patterns are Perl 5 Regular Expressions - you can - [test](https://www.regexplanet.com/advanced/perl/) yours before - committing to verify it will match your lines. - - Note that patterns can't match multiline strings. - -
- - - -:steam_locomotive: If you're seeing this message and your PR is from a -branch that doesn't have check-spelling, please merge to your PR's base -branch to get the version configured for your repository. diff --git a/.github/actions/spelling/allow.txt b/.github/actions/spelling/allow.txt deleted file mode 100644 index 6156761..0000000 --- a/.github/actions/spelling/allow.txt +++ /dev/null @@ -1,5 +0,0 @@ -github -https -ssh -ubuntu -workarounds diff --git a/.github/actions/spelling/candidate.patterns b/.github/actions/spelling/candidate.patterns deleted file mode 100644 index 9d5de4f..0000000 --- a/.github/actions/spelling/candidate.patterns +++ /dev/null @@ -1,636 +0,0 @@ -# marker to ignore all code on line -^.*/\* #no-spell-check-line \*/.*$ -# marker to ignore all code on line -^.*\bno-spell-check(?:-line|)(?:\s.*|)$ - -# https://cspell.org/configuration/document-settings/ -# cspell inline -^.*\b[Cc][Ss][Pp][Ee][Ll]{2}:\s*[Dd][Ii][Ss][Aa][Bb][Ll][Ee]-[Ll][Ii][Nn][Ee]\b - -# patch hunk comments -^\@\@ -\d+(?:,\d+|) \+\d+(?:,\d+|) \@\@ .* -# git index header -index (?:[0-9a-z]{7,40},|)[0-9a-z]{7,40}\.\.[0-9a-z]{7,40} - -# file permissions -['"`\s][-bcdLlpsw](?:[-r][-w][-Ssx]){2}[-r][-w][-SsTtx]\+?['"`\s] - -# css url wrappings -\burl\([^)]+\) - -# cid urls -(['"])cid:.*?\g{-1} - -# data url in parens -\(data:(?:[^) ][^)]*?|)(?:[A-Z]{3,}|[A-Z][a-z]{2,}|[a-z]{3,})[^)]*\) -# data url in quotes -([`'"])data:(?:[^ `'"].*?|)(?:[A-Z]{3,}|[A-Z][a-z]{2,}|[a-z]{3,}).*\g{-1} -# data url -data:[-a-zA-Z=;:/0-9+]*,\S* - -# https/http/file urls -(?:\b(?:https?|ftp|file)://)[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|] - -# mailto urls -mailto:[-a-zA-Z=;:/?%&0-9+@.]{3,} - -# magnet urls -magnet:[?=:\w]+ - -# magnet urls -"magnet:[^"]+" - -# obs: -"obs:[^"]*" - -# The `\b` here means a break, it's the fancy way to handle urls, but it makes things harder to read -# In this examples content, I'm using a number of different ways to match things to show various approaches -# asciinema -\basciinema\.org/a/[0-9a-zA-Z]+ - -# asciinema v2 -^\[\d+\.\d+, "[io]", ".*"\]$ - -# apple -\bdeveloper\.apple\.com/[-\w?=/]+ -# Apple music -\bembed\.music\.apple\.com/fr/playlist/usr-share/[-\w.]+ - -# appveyor api -\bci\.appveyor\.com/api/projects/status/[0-9a-z]+ -# appveyor project -\bci\.appveyor\.com/project/(?:[^/\s"]*/){2}builds?/\d+/job/[0-9a-z]+ - -# Amazon - -# Amazon -\bamazon\.com/[-\w]+/(?:dp/[0-9A-Z]+|) -# AWS S3 -\b\w*\.s3[^.]*\.amazonaws\.com/[-\w/&#%_?:=]* -# AWS execute-api -\b[0-9a-z]{10}\.execute-api\.[-0-9a-z]+\.amazonaws\.com\b -# AWS ELB -\b\w+\.[-0-9a-z]+\.elb\.amazonaws\.com\b -# AWS SNS -\bsns\.[-0-9a-z]+.amazonaws\.com/[-\w/&#%_?:=]* -# AWS VPC -vpc-\w+ - -# While you could try to match `http://` and `https://` by using `s?` in `https?://`, sometimes there -# YouTube url -\b(?:(?:www\.|)youtube\.com|youtu.be)/(?:channel/|embed/|user/|playlist\?list=|watch\?v=|v/|)[-a-zA-Z0-9?&=_%]* -# YouTube music -\bmusic\.youtube\.com/youtubei/v1/browse(?:[?&]\w+=[-a-zA-Z0-9?&=_]*) -# YouTube tag -<\s*youtube\s+id=['"][-a-zA-Z0-9?_]*['"] -# YouTube image -\bimg\.youtube\.com/vi/[-a-zA-Z0-9?&=_]* -# Google Accounts -\baccounts.google.com/[-_/?=.:;+%&0-9a-zA-Z]* -# Google Analytics -\bgoogle-analytics\.com/collect.[-0-9a-zA-Z?%=&_.~]* -# Google APIs -\bgoogleapis\.(?:com|dev)/[a-z]+/(?:v\d+/|)[a-z]+/[-@:./?=\w+|&]+ -# Google Storage -\b[-a-zA-Z0-9.]*\bstorage\d*\.googleapis\.com(?:/\S*|) -# Google Calendar -\bcalendar\.google\.com/calendar(?:/u/\d+|)/embed\?src=[@./?=\w&%]+ -\w+\@group\.calendar\.google\.com\b -# Google DataStudio -\bdatastudio\.google\.com/(?:(?:c/|)u/\d+/|)(?:embed/|)(?:open|reporting|datasources|s)/[-0-9a-zA-Z]+(?:/page/[-0-9a-zA-Z]+|) -# The leading `/` here is as opposed to the `\b` above -# ... a short way to match `https://` or `http://` since most urls have one of those prefixes -# Google Docs -/docs\.google\.com/[a-z]+/(?:ccc\?key=\w+|(?:u/\d+|d/(?:e/|)[0-9a-zA-Z_-]+/)?(?:edit\?[-\w=#.]*|/\?[\w=&]*|)) -# Google Drive -\bdrive\.google\.com/(?:file/d/|open)[-0-9a-zA-Z_?=]* -# Google Groups -\bgroups\.google\.com(?:/[a-z]+/(?:#!|)[^/\s"]+)* -# Google Maps -\bmaps\.google\.com/maps\?[\w&;=]* -# Google themes -themes\.googleusercontent\.com/static/fonts/[^/\s"]+/v\d+/[^.]+. -# Google CDN -\bclients2\.google(?:usercontent|)\.com[-0-9a-zA-Z/.]* -# Goo.gl -/goo\.gl/[a-zA-Z0-9]+ -# Google Chrome Store -\bchrome\.google\.com/webstore/detail/[-\w]*(?:/\w*|) -# Google Books -\bgoogle\.(?:\w{2,4})/books(?:/\w+)*\?[-\w\d=&#.]* -# Google Fonts -\bfonts\.(?:googleapis|gstatic)\.com/[-/?=:;+&0-9a-zA-Z]* -# Google Forms -\bforms\.gle/\w+ -# Google Scholar -\bscholar\.google\.com/citations\?user=[A-Za-z0-9_]+ -# Google Colab Research Drive -\bcolab\.research\.google\.com/drive/[-0-9a-zA-Z_?=]* - -# GitHub SHAs (api) -\bapi.github\.com/repos(?:/[^/\s"]+){3}/[0-9a-f]+\b -# GitHub SHAs (markdown) -(?:\[`?[0-9a-f]+`?\]\(https:/|)/(?:www\.|)github\.com(?:/[^/\s"]+){2,}(?:/[^/\s")]+)(?:[0-9a-f]+(?:[-0-9a-zA-Z/#.]*|)\b|) -# GitHub SHAs -\bgithub\.com(?:/[^/\s"]+){2}[@#][0-9a-f]+\b -# GitHub SHA refs -\[([0-9a-f]+)\]\(https://(?:www\.|)github.com/[-\w]+/[-\w]+/commit/\g{-1}[0-9a-f]* -# GitHub wiki -\bgithub\.com/(?:[^/]+/){2}wiki/(?:(?:[^/]+/|)_history|[^/]+(?:/_compare|)/[0-9a-f.]{40,})\b -# githubusercontent -/[-a-z0-9]+\.githubusercontent\.com/[-a-zA-Z0-9?&=_\/.]* -# githubassets -\bgithubassets.com/[0-9a-f]+(?:[-/\w.]+) -# gist github -\bgist\.github\.com/[^/\s"]+/[0-9a-f]+ -# git.io -\bgit\.io/[0-9a-zA-Z]+ -# GitHub JSON -"node_id": "[-a-zA-Z=;:/0-9+_]*" -# Contributor -\[[^\]]+\]\(https://github\.com/[^/\s"]+/?\) -# GHSA -GHSA(?:-[0-9a-z]{4}){3} - -# GitLab commit -\bgitlab\.[^/\s"]*/\S+/\S+/commit/[0-9a-f]{7,16}#[0-9a-f]{40}\b -# GitLab merge requests -\bgitlab\.[^/\s"]*/\S+/\S+/-/merge_requests/\d+/diffs#[0-9a-f]{40}\b -# GitLab uploads -\bgitlab\.[^/\s"]*/uploads/[-a-zA-Z=;:/0-9+]* -# GitLab commits -\bgitlab\.[^/\s"]*/(?:[^/\s"]+/){2}commits?/[0-9a-f]+\b - -# binance -accounts\.binance\.com/[a-z/]*oauth/authorize\?[-0-9a-zA-Z&%]* - -# bitbucket diff -\bapi\.bitbucket\.org/\d+\.\d+/repositories/(?:[^/\s"]+/){2}diff(?:stat|)(?:/[^/\s"]+){2}:[0-9a-f]+ -# bitbucket repositories commits -\bapi\.bitbucket\.org/\d+\.\d+/repositories/(?:[^/\s"]+/){2}commits?/[0-9a-f]+ -# bitbucket commits -\bbitbucket\.org/(?:[^/\s"]+/){2}commits?/[0-9a-f]+ - -# bit.ly -\bbit\.ly/\w+ - -# bitrise -\bapp\.bitrise\.io/app/[0-9a-f]*/[\w.?=&]* - -# bootstrapcdn.com -\bbootstrapcdn\.com/[-./\w]+ - -# cdn.cloudflare.com -\bcdnjs\.cloudflare\.com/[./\w]+ - -# circleci -\bcircleci\.com/gh(?:/[^/\s"]+){1,5}.[a-z]+\?[-0-9a-zA-Z=&]+ - -# gitter -\bgitter\.im(?:/[^/\s"]+){2}\?at=[0-9a-f]+ - -# gravatar -\bgravatar\.com/avatar/[0-9a-f]+ - -# ibm -[a-z.]*ibm\.com/[-_#=:%!?~.\\/\d\w]* - -# imgur -\bimgur\.com/[^.]+ - -# Internet Archive -\barchive\.org/web/\d+/(?:[-\w.?,'/\\+&%$#_:]*) - -# discord -/discord(?:app\.com|\.gg)/(?:invite/)?[a-zA-Z0-9]{7,} - -# Disqus -\bdisqus\.com/[-\w/%.()!?&=_]* - -# medium link -\blink\.medium\.com/[a-zA-Z0-9]+ -# medium -\bmedium\.com/\@?[^/\s"]+/[-\w]+ - -# microsoft -\b(?:https?://|)(?:(?:download\.visualstudio|docs|msdn2?|research)\.microsoft|blogs\.msdn)\.com/[-_a-zA-Z0-9()=./%]* -# powerbi -\bapp\.powerbi\.com/reportEmbed/[^"' ]* -# vs devops -\bvisualstudio.com(?::443|)/[-\w/?=%&.]* -# microsoft store -\bmicrosoft\.com/store/apps/\w+ - -# mvnrepository.com -\bmvnrepository\.com/[-0-9a-z./]+ - -# now.sh -/[0-9a-z-.]+\.now\.sh\b - -# oracle -\bdocs\.oracle\.com/[-0-9a-zA-Z./_?#&=]* - -# chromatic.com -/\S+.chromatic.com\S*[")] - -# codacy -\bapi\.codacy\.com/project/badge/Grade/[0-9a-f]+ - -# compai -\bcompai\.pub/v1/png/[0-9a-f]+ - -# mailgun api -\.api\.mailgun\.net/v3/domains/[0-9a-z]+\.mailgun.org/messages/[0-9a-zA-Z=@]* -# mailgun -\b[0-9a-z]+.mailgun.org - -# /message-id/ -/message-id/[-\w@./%]+ - -# Reddit -\breddit\.com/r/[/\w_]* - -# requestb.in -\brequestb\.in/[0-9a-z]+ - -# sched -\b[a-z0-9]+\.sched\.com\b - -# Slack url -slack://[a-zA-Z0-9?&=]+ -# Slack -\bslack\.com/[-0-9a-zA-Z/_~?&=.]* -# Slack edge -\bslack-edge\.com/[-a-zA-Z0-9?&=%./]+ -# Slack images -\bslack-imgs\.com/[-a-zA-Z0-9?&=%.]+ - -# shields.io -\bshields\.io/[-\w/%?=&.:+;,]* - -# stackexchange -- https://stackexchange.com/feeds/sites -\b(?:askubuntu|serverfault|stack(?:exchange|overflow)|superuser).com/(?:questions/\w+/[-\w]+|a/) - -# Sentry -[0-9a-f]{32}\@o\d+\.ingest\.sentry\.io\b - -# Twitter markdown -\[\@[^[/\]:]*?\]\(https://twitter.com/[^/\s"')]*(?:/status/\d+(?:\?[-_0-9a-zA-Z&=]*|)|)\) -# Twitter hashtag -\btwitter\.com/hashtag/[\w?_=&]* -# Twitter status -\btwitter\.com/[^/\s"')]*(?:/status/\d+(?:\?[-_0-9a-zA-Z&=]*|)|) -# Twitter profile images -\btwimg\.com/profile_images/[_\w./]* -# Twitter media -\btwimg\.com/media/[-_\w./?=]* -# Twitter link shortened -\bt\.co/\w+ - -# facebook -\bfburl\.com/[0-9a-z_]+ -# facebook CDN -\bfbcdn\.net/[\w/.,]* -# facebook watch -\bfb\.watch/[0-9A-Za-z]+ - -# dropbox -\bdropbox\.com/sh?/[^/\s"]+/[-0-9A-Za-z_.%?=&;]+ - -# ipfs protocol -ipfs://[0-9a-zA-Z]{3,} -# ipfs url -/ipfs/[0-9a-zA-Z]{3,} - -# w3 -\bw3\.org/[-0-9a-zA-Z/#.]+ - -# loom -\bloom\.com/embed/[0-9a-f]+ - -# regex101 -\bregex101\.com/r/[^/\s"]+/\d+ - -# figma -\bfigma\.com/file(?:/[0-9a-zA-Z]+/)+ - -# freecodecamp.org -\bfreecodecamp\.org/[-\w/.]+ - -# image.tmdb.org -\bimage\.tmdb\.org/[/\w.]+ - -# mermaid -\bmermaid\.ink/img/[-\w]+|\bmermaid-js\.github\.io/mermaid-live-editor/#/edit/[-\w]+ - -# Wikipedia -\ben\.wikipedia\.org/wiki/[-\w%.#]+ - -# gitweb -[^"\s]+/gitweb/\S+;h=[0-9a-f]+ - -# HyperKitty lists -/archives/list/[^@/]+\@[^/\s"]*/message/[^/\s"]*/ - -# lists -/thread\.html/[^"\s]+ - -# list-management -\blist-manage\.com/subscribe(?:[?&](?:u|id)=[0-9a-f]+)+ - -# kubectl.kubernetes.io/last-applied-configuration -"kubectl.kubernetes.io/last-applied-configuration": ".*" - -# pgp -\bgnupg\.net/pks/lookup[?&=0-9a-zA-Z]* - -# Spotify -\bopen\.spotify\.com/embed/playlist/\w+ - -# Mastodon -\bmastodon\.[-a-z.]*/(?:media/|\@)[?&=0-9a-zA-Z_]* - -# scastie -\bscastie\.scala-lang\.org/[^/]+/\w+ - -# images.unsplash.com -\bimages\.unsplash\.com/(?:(?:flagged|reserve)/|)[-\w./%?=%&.;]+ - -# pastebin -\bpastebin\.com/[\w/]+ - -# heroku -\b\w+\.heroku\.com/source/archive/\w+ - -# quip -\b\w+\.quip\.com/\w+(?:(?:#|/issues/)\w+)? - -# badgen.net -\bbadgen\.net/badge/[^")\]'\s]+ - -# statuspage.io -\w+\.statuspage\.io\b - -# media.giphy.com -\bmedia\.giphy\.com/media/[^/]+/[\w.?&=]+ - -# tinyurl -\btinyurl\.com/\w+ - -# codepen -\bcodepen\.io/[\w/]+ - -# registry.npmjs.org -\bregistry\.npmjs\.org/(?:@[^/"']+/|)[^/"']+/-/[-\w@.]+ - -# getopts -\bgetopts\s+(?:"[^"]+"|'[^']+') - -# ANSI color codes -(?:\\(?:u00|x)1[Bb]|\x1b|\\u\{1[Bb]\})\[\d+(?:;\d+|)m - -# URL escaped characters -\%[0-9A-F][A-F] -# lower URL escaped characters -\%[0-9a-f][a-f](?=[a-z]{2,}) -# IPv6 -\b(?:[0-9a-fA-F]{0,4}:){3,7}[0-9a-fA-F]{0,4}\b -# c99 hex digits (not the full format, just one I've seen) -0x[0-9a-fA-F](?:\.[0-9a-fA-F]*|)[pP] -# Punycode -\bxn--[-0-9a-z]+ -# sha -sha\d+:[0-9]*[a-f]{3,}[0-9a-f]* -# sha-... -- uses a fancy capture -(\\?['"]|")[0-9a-f]{40,}\g{-1} -# hex runs -\b[0-9a-fA-F]{16,}\b -# hex in url queries -=[0-9a-fA-F]*?(?:[A-F]{3,}|[a-f]{3,})[0-9a-fA-F]*?& -# ssh -(?:ssh-\S+|-nistp256) [-a-zA-Z=;:/0-9+]{12,} - -# PGP -\b(?:[0-9A-F]{4} ){9}[0-9A-F]{4}\b -# GPG keys -\b(?:[0-9A-F]{4} ){5}(?: [0-9A-F]{4}){5}\b -# Well known gpg keys -.well-known/openpgpkey/[\w./]+ - -# pki ------BEGIN.*-----END - -# uuid: -\b[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}\b -# hex digits including css/html color classes: -(?:[\\0][xX]|\\u|[uU]\+|#x?|\%23)[0-9_a-fA-FgGrR]*?[a-fA-FgGrR]{2,}[0-9_a-fA-FgGrR]*(?:[uUlL]{0,3}|[iu]\d+)\b -# integrity -integrity=(['"])(?:\s*sha\d+-[-a-zA-Z=;:/0-9+]{40,})+\g{-1} - -# https://www.gnu.org/software/groff/manual/groff.html -# man troff content -\\f[BCIPR] -# '/" -\\\([ad]q - -# .desktop mime types -^MimeTypes?=.*$ -# .desktop localized entries -^[A-Z][a-z]+\[[a-z]+\]=.*$ -# Localized .desktop content -Name\[[^\]]+\]=.* - -# IServiceProvider / isAThing -\b(?:I|isA)(?=(?:[A-Z][a-z]{2,})+\b) - -# crypt -(['"])\$2[ayb]\$.{56}\g{-1} - -# scrypt / argon -\$(?:scrypt|argon\d+[di]*)\$\S+ - -# go.sum -\bh1:\S+ - -# scala modules -("[^"]+"\s*%%?\s*){2,3}"[^"]+" - -# Input to GitHub JSON -content: (['"])[-a-zA-Z=;:/0-9+]*=\g{-1} - -# This does not cover multiline strings, if your repository has them, -# you'll want to remove the `(?=.*?")` suffix. -# The `(?=.*?")` suffix should limit the false positives rate -# printf -%(?:(?:(?:hh?|ll?|[jzt])?[diuoxn]|l?[cs]|L?[fega]|p)(?=[a-z]{2,})|(?:X|L?[FEGA]|p)(?=[a-zA-Z]{2,}))(?=[_a-zA-Z]+\b)(?!%)(?=.*?['"]) - -# Python string prefix / binary prefix -# Note that there's a high false positive rate, remove the `?=` and search for the regex to see if the matches seem like reasonable strings -(?|m([|!/@#,;']).*?\g{-1}) - -# perl qr regex -(?|\(.*?\)|([|!/@#,;']).*?\g{-1}) - -# Go regular expressions -regexp?\.MustCompile\(`[^`]*`\) - -# regex choice -\(\?:[^)]+\|[^)]+\) - -# proto -^\s*(\w+)\s\g{-1} = - -# sed regular expressions -sed 's/(?:[^/]*?[a-zA-Z]{3,}[^/]*?/){2} - -# node packages -(["'])\@[^/'" ]+/[^/'" ]+\g{-1} - -# go install -go install(?:\s+[a-z]+\.[-@\w/.]+)+ - -# kubernetes pod status lists -# https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase -\w+(?:-\w+)+\s+\d+/\d+\s+(?:Running|Pending|Succeeded|Failed|Unknown)\s+ - -# kubectl - pods in CrashLoopBackOff -\w+-[0-9a-f]+-\w+\s+\d+/\d+\s+CrashLoopBackOff\s+ - -# kubernetes object suffix --[0-9a-f]{10}-\w{5}\s - -# posthog secrets -([`'"])phc_[^"',]+\g{-1} - -# xcode - -# xcodeproject scenes -(?:Controller|destination|ID|id)="\w{3}-\w{2}-\w{3}" - -# xcode api botches -customObjectInstantitationMethod - -# configure flags -.* \| --\w{2,}.*?(?=\w+\s\w+) - -# font awesome classes -\.fa-[-a-z0-9]+ - -# bearer auth -(['"])Bear[e][r] .*?\g{-1} - -# basic auth -(['"])Basic [-a-zA-Z=;:/0-9+]{3,}\g{-1} - -# base64 encoded content -([`'"])[-a-zA-Z=;:/0-9+]+=\g{-1} -# base64 encoded content in xml/sgml ->[-a-zA-Z=;:/0-9+]+== 0.0.22) -\\\w{2,}\{ - -# eslint -"varsIgnorePattern": ".+" - -# Windows short paths -[/\\][^/\\]{5,6}~\d{1,2}[/\\] - -# in check-spelling@v0.0.22+, printf markers aren't automatically consumed -# printf markers -(?v# -(?:(?<=[A-Z]{2})V|(?<=[a-z]{2}|[A-Z]{2})v)\d+(?:\b|(?=[a-zA-Z_])) - -# Compiler flags (Unix, Java/Scala) -# Use if you have things like `-Pdocker` and want to treat them as `docker` -(?:^|[\t ,>"'`=(])-(?:(?:J-|)[DPWXY]|[Llf])(?=[A-Z]{2,}|[A-Z][a-z]|[a-z]{2,}) - -# Compiler flags (Windows / PowerShell) -# This is a subset of the more general compiler flags pattern. -# It avoids matching `-Path` to prevent it from being treated as `ath` -(?:^|[\t ,"'`=(])-(?:[DPL](?=[A-Z]{2,})|[WXYlf](?=[A-Z]{2,}|[A-Z][a-z]|[a-z]{2,})) - -# Compiler flags (linker) -,-B - -# curl arguments -\b(?:\\n|)curl(?:\s+-[a-zA-Z]{1,2}\b)*(?:\s+-[a-zA-Z]{3,})(?:\s+-[a-zA-Z]+)* -# set arguments -\bset(?:\s+-[abefimouxE]{1,2})*\s+-[abefimouxE]{3,}(?:\s+-[abefimouxE]+)* -# tar arguments -\b(?:\\n|)g?tar(?:\.exe|)(?:(?:\s+--[-a-zA-Z]+|\s+-[a-zA-Z]+|\s[ABGJMOPRSUWZacdfh-pr-xz]+\b)(?:=[^ ]*|))+ -# tput arguments -- https://man7.org/linux/man-pages/man5/terminfo.5.html -- technically they can be more than 5 chars long... -\btput\s+(?:(?:-[SV]|-T\s*\w+)\s+)*\w{3,5}\b -# macOS temp folders -/var/folders/\w\w/[+\w]+/(?:T|-Caches-)/ diff --git a/.github/actions/spelling/dictionary.txt b/.github/actions/spelling/dictionary.txt deleted file mode 100644 index e69de29..0000000 diff --git a/.github/actions/spelling/excludes.txt b/.github/actions/spelling/excludes.txt deleted file mode 100644 index 5977f03..0000000 --- a/.github/actions/spelling/excludes.txt +++ /dev/null @@ -1,83 +0,0 @@ -# See https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-excludes -(?:^|/)(?i)COPYRIGHT -(?:^|/)(?i)LICEN[CS]E -(?:^|/)3rdparty/ -(?:^|/)go\.sum$ -(?:^|/)package(?:-lock|)\.json$ -(?:^|/)Pipfile$ -(?:^|/)pyproject.toml -(?:^|/)requirements(?:-dev|-doc|-test|)\.txt$ -(?:^|/)vendor/ -ignore$ -\.a$ -\.ai$ -\.all-contributorsrc$ -\.avi$ -\.bmp$ -\.bz2$ -\.cer$ -\.class$ -\.coveragerc$ -\.crl$ -\.crt$ -\.csr$ -\.dll$ -\.docx?$ -\.drawio$ -\.DS_Store$ -\.eot$ -\.eps$ -\.exe$ -\.gif$ -\.git-blame-ignore-revs$ -\.gitattributes$ -\.gitkeep$ -\.graffle$ -\.gz$ -\.icns$ -\.ico$ -\.ipynb$ -\.jar$ -\.jks$ -\.jpe?g$ -\.key$ -\.lib$ -\.lock$ -\.map$ -\.min\.. -\.mo$ -\.mod$ -\.mp[34]$ -\.o$ -\.ocf$ -\.otf$ -\.p12$ -\.parquet$ -\.pdf$ -\.pem$ -\.pfx$ -\.png$ -\.psd$ -\.pyc$ -\.pylintrc$ -\.qm$ -\.s$ -\.sig$ -\.so$ -\.svgz?$ -\.sys$ -\.tar$ -\.tgz$ -\.tiff?$ -\.ttf$ -\.wav$ -\.webm$ -\.webp$ -\.woff2?$ -\.xcf$ -\.xlsx?$ -\.xpm$ -\.xz$ -\.zip$ -^\.github/actions/spelling/ -^\Q.github/workflows/spelling.yml\E$ diff --git a/.github/actions/spelling/expect.txt b/.github/actions/spelling/expect.txt deleted file mode 100644 index e69de29..0000000 diff --git a/.github/actions/spelling/line_forbidden.patterns b/.github/actions/spelling/line_forbidden.patterns deleted file mode 100644 index a752ea3..0000000 --- a/.github/actions/spelling/line_forbidden.patterns +++ /dev/null @@ -1,119 +0,0 @@ -# reject `m_data` as VxWorks defined it and that breaks things if it's used elsewhere -# see [fprime](https://github.com/nasa/fprime/commit/d589f0a25c59ea9a800d851ea84c2f5df02fb529) -# and [Qt](https://github.com/qtproject/qt-solutions/blame/fb7bc42bfcc578ff3fa3b9ca21a41e96eb37c1c7/qtscriptclassic/src/qscriptbuffer_p.h#L46) -# \bm_data\b - -# If you have a framework that uses `it()` for testing and `fit()` for debugging a specific test, -# you might not want to check in code where you were debugging w/ `fit()`, in which case, you might want -# to use this: -#\bfit\( - -# s.b. anymore -\bany more[,.] - -# s.b. GitHub -(?]*>|[^<]*)\s*$ - -# Autogenerated revert commit message -^This reverts commit [0-9a-f]{40}\.$ - -# ignore long runs of a single character: -\b([A-Za-z])\g{-1}{3,}\b diff --git a/.github/actions/spelling/reject.txt b/.github/actions/spelling/reject.txt deleted file mode 100644 index 17e97e6..0000000 --- a/.github/actions/spelling/reject.txt +++ /dev/null @@ -1,11 +0,0 @@ -^attache$ -^bellow$ -benefitting -occurrences? -^dependan.* -^oer$ -Sorce -^[Ss]pae.* -^until$ -^untilling$ -^wether.* diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e6372ca..cea8087 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -94,9 +94,9 @@ jobs: needs: - release runs-on: ubuntu-latest + steps: - - name: Decide whether the needed jobs succeeded or failed - uses: re-actors/alls-green@release/v1 + - name: "Decide whether the needed jobs succeeded or failed" + uses: re-actors/alls-green@223e4bb7a751b91f43eda76992bcfbf23b8b0302 # v1.2.2 with: jobs: ${{ toJSON(needs) }} - allowed-skips: release diff --git a/.github/workflows/spelling.yml b/.github/workflows/spelling.yml deleted file mode 100644 index 0783a42..0000000 --- a/.github/workflows/spelling.yml +++ /dev/null @@ -1,188 +0,0 @@ ---- -# SPDX-FileCopyrightText: Josh Soref -# -# SPDX-License-Identifier: MIT - -name: "Check Spelling" - -# Comment management is handled through a secondary job, for details see: -# https://github.com/check-spelling/check-spelling/wiki/Feature%3A-Restricted-Permissions -# -# `jobs.comment-push` -# runs when a push is made to a repository and the -# -# `jobs.spelling` -# job needs to make a comment (in odd cases, it might actually -# run just to collapse a comment, but that's fairly rare) it -# needs `contents: write` in order to add a comment. -# -# `jobs.comment-pr` -# runs when a pull_request is made to a repository and the -# -# `jobs.spelling` job needs to make a comment -# or collapse a comment (in the case where it had previously made -# a comment and now no longer needs to show a comment) -# it needs `pull-requests: write` in order to manipulate those comments. - -# Updating pull request branches is managed via comment handling. -# For details, see: https://github.com/check-spelling/check-spelling/wiki/Feature:-Update-expect-list -# -# These elements work together to make it happen: -# -# `on.issue_comment` -# This event listens to comments by users asking to update the metadata. -# -# `jobs.update` -# This job runs in response to an issue_comment and will push a new commit -# to update the spelling metadata. -# -# `with.experimental_apply_changes_via_bot` -# Tells the action to support and generate messages that enable it -# to make a commit to update the spelling metadata. -# -# `with.ssh_key` -# In order to trigger workflows when the commit is made, you can provide a -# secret (typically, a write-enabled github deploy key). -# -# For background, see: -# https://github.com/check-spelling/check-spelling/wiki/Feature:-Update-with-deploy-key - -# Sarif reporting -# -# Access to Sarif reports is generally restricted (by GitHub) to members of the repository. -# -# Requires enabling `security-events: write` -# and configuring the action with `use_sarif: 1` -# -# For information on the feature, see: -# https://github.com/check-spelling/check-spelling/wiki/Feature:-Sarif-output - -# Minimal workflow structure: -# -# on: -# push: -# ... -# pull_request_target: -# ... -# jobs: -# # you only want the spelling job, all others should be omitted -# spelling: -# # remove `security-events: write` and `use_sarif: 1` -# # remove `experimental_apply_changes_via_bot: 1` -# ... otherwise adjust the `with:` as you wish - -on: # yamllint disable-line rule:truthy - push: - branches: [main, develop, release] - tags-ignore: - - "**" - pull_request_target: - types: [opened, reopened, synchronize] - - issue_comment: - types: - - "created" - -permissions: - contents: read - -jobs: - spelling: - name: "Check Spelling" - permissions: - contents: read - pull-requests: read - actions: read - security-events: write - outputs: - followup: ${{ steps.spelling.outputs.followup }} - runs-on: ubuntu-latest - if: ${{ contains(github.event_name, 'pull_request') || github.event_name == 'push' }} - concurrency: - group: spelling-${{ github.event.pull_request.number || github.ref }} - # note: If you use only_check_changed_files, you do not want cancel-in-progress - cancel-in-progress: true - steps: - - name: "check-spelling" - id: spelling - uses: check-spelling/check-spelling@00c989c97749eb0cb2d256bdc55ac61b0096c6d3 # v0.0.22 - with: - suppress_push_for_open_pull_request: ${{ github.actor != 'dependabot[bot]' && 1 }} - checkout: true - check_file_names: 1 - spell_check_this: check-spelling/spell-check-this@prerelease - post_comment: 0 - use_magic_file: 1 - report-timing: 1 - warnings: bad-regex,binary-file,deprecated-feature,large-file,limited-references,no-newline-at-eof,noisy-file,non-alpha-in-dictionary,token-is-substring,unexpected-line-ending,whitespace-in-dictionary,minified-file,unsupported-configuration,no-files-to-check - experimental_apply_changes_via_bot: 1 - use_sarif: - ${{ (!github.event.pull_request || (github.event.pull_request.head.repo.full_name == - github.repository)) && 1 }} - extra_dictionary_limit: 20 - extra_dictionaries: cspell:bash/bash-words.txt - cspell:companies/companies.txt - cspell:csharp/csharp.txt - cspell:css/css.txt - cspell:dotnet/dotnet.txt - cspell:filetypes/filetypes.txt - cspell:fonts/fonts.txt - cspell:html/html.txt - cspell:node/node.txt - cspell:npm/npm.txt - cspell:software-terms/dict/softwareTerms.txt - - comment-push: - name: "Report (Push)" - # If your workflow isn't running on push, you can remove this job - runs-on: ubuntu-latest - needs: spelling - permissions: - contents: write - if: (success() || failure()) && needs.spelling.outputs.followup && github.event_name == 'push' - steps: - - name: comment - uses: check-spelling/check-spelling@00c989c97749eb0cb2d256bdc55ac61b0096c6d3 # v0.0.22 - with: - checkout: true - spell_check_this: check-spelling/spell-check-this@prerelease - task: ${{ needs.spelling.outputs.followup }} - - comment-pr: - name: "Report (PR)" - # If you workflow isn't running on pull_request*, you can remove this job - runs-on: ubuntu-latest - needs: spelling - permissions: - contents: read - pull-requests: write - if: (success() || failure()) && needs.spelling.outputs.followup && contains(github.event_name, - 'pull_request') - steps: - - name: "comment" - uses: check-spelling/check-spelling@00c989c97749eb0cb2d256bdc55ac61b0096c6d3 # v0.0.22 - with: - checkout: true - spell_check_this: check-spelling/spell-check-this@prerelease - task: ${{ needs.spelling.outputs.followup }} - experimental_apply_changes_via_bot: 1 - - update: - name: "Update PR" - permissions: - contents: write - pull-requests: write - actions: read - runs-on: ubuntu-latest - if: ${{ github.event_name == 'issue_comment' && github.event.issue.pull_request && - contains(github.event.comment.body, '@check-spelling-bot apply') }} - concurrency: - group: spelling-update-${{ github.event.issue.number }} - cancel-in-progress: false - steps: - - name: "apply spelling updates" - uses: check-spelling/check-spelling@00c989c97749eb0cb2d256bdc55ac61b0096c6d3 # v0.0.22 - with: - experimental_apply_changes_via_bot: 1 - checkout: true - ssh_key: "${{ secrets.CHECK_SPELLING }}" diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 8a51878..661ae58 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -33,7 +33,7 @@ env: jobs: test-docs: - name: "Docs" + name: "Test Docs" runs-on: ubuntu-latest steps: # Checkout the repository to the GitHub Actions runner @@ -43,7 +43,7 @@ jobs: - name: "Set up Python" uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 with: - python-version: ".python-version" + python-version: ".standard-python-version" cache: pip - name: "Ensure latest pip" @@ -70,7 +70,10 @@ jobs: matrix: os: [ubuntu-latest, windows-latest, macos-latest] python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] - + environment: [staging, production] + exclude: + - os: ubuntu-latest + python-version: "3.12" steps: # Checkout the repository to the GitHub Actions runner - name: "🧰 Checkout Source Code" @@ -101,7 +104,7 @@ jobs: run: mv .coverage ".coverage.${{ matrix.os }}.${{ matrix.python-version }}" - name: "Upload coverage data" - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3 with: name: coverage-${{ matrix.os }}-${{ matrix.python-version }} path: .coverage* @@ -135,7 +138,7 @@ jobs: run: hatch build --hooks-only - name: "Download coverage data" - uses: actions/download-artifact@v4 + uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7 with: pattern: coverage-* merge-multiple: true @@ -149,7 +152,7 @@ jobs: hatch run coverage:report-uncovered-html - name: "Upload uncovered HTML report" - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3 with: name: uncovered-html-report path: htmlcov @@ -163,7 +166,7 @@ jobs: - name: "Update coverage pull request comment" if: github.event_name == 'pull_request' && !github.event.pull_request.head.repo.fork - uses: marocchino/sticky-pull-request-comment@v2 + uses: marocchino/sticky-pull-request-comment@331f8f5b4215f0445d3c07b4967662a32a2d3e31 # v2.9.0 with: path: coverage-report.md diff --git a/docs/developer/core.md b/docs/developer/core.md index 6da7784..2798c40 100644 --- a/docs/developer/core.md +++ b/docs/developer/core.md @@ -1,6 +1,6 @@ # core -______________________________________________________________________ +--- ## NTP Check diff --git a/docs/js/chat.js b/docs/js/chat.js deleted file mode 100644 index 39bf558..0000000 --- a/docs/js/chat.js +++ /dev/null @@ -1,3 +0,0 @@ -((window.gitter = {}).chat = {}).options = { - room: 'encode/community', -}; diff --git a/docs/js/sidecar-1.5.0.js b/docs/js/sidecar-1.5.0.js deleted file mode 100644 index fb6347d..0000000 --- a/docs/js/sidecar-1.5.0.js +++ /dev/null @@ -1,584 +0,0 @@ -/*! - * Gitter Sidecar v1.5.0 - * https://sidecar.gitter.im/ - */ -var sidecar = (function (t) { - function e(r) { - if (i[r]) return i[r].exports; - var n = (i[r] = {exports: {}, id: r, loaded: !1}); - return t[r].call(n.exports, n, n.exports, e), (n.loaded = !0), n.exports; - } - var i = {}; - return (e.m = t), (e.c = i), (e.p = ''), e(0); -})([ - function (t, e, i) { - 'use strict'; - function r(t) { - return t && t.__esModule ? t : {default: t}; - } - Object.defineProperty(e, '__esModule', {value: !0}); - var n = - Object.assign || - function (t) { - for (var e = 1; e < arguments.length; e++) { - var i = arguments[e]; - for (var r in i) Object.prototype.hasOwnProperty.call(i, r) && (t[r] = i[r]); - } - return t; - }, - o = i(1), - a = r(o), - u = i(3), - M = r(u), - c = function (t, e) { - return ( - t[e] || - (function () { - return (t[e] = {}), t[e]; - })() - ); - }, - s = {Chat: M.default}, - l = n({}, c(window, 'gitter'), s), - d = new a.default('gitter-sidecar-ready', {detail: s}); - if ((document.dispatchEvent(d), !((l.chat || {}).options || {}).disableDefaultChat)) { - var L = c(l, 'chat'); - L.defaultChat = new M.default(L.options || {}); - } - e.default = s; - }, - function (t, e) { - 'use strict'; - function i(t, e) { - var i = e.bubbles, - r = void 0 !== i && i, - n = e.cancelable, - o = void 0 !== n && n, - a = e.detail, - u = void 0 === a ? void 0 : a, - M = void 0; - try { - M = new window.CustomEvent(t, {bubbles: r, cancelable: o, detail: u}); - } catch (e) { - (M = document.createEvent('CustomEvent')), M.initCustomEvent(t, r, o, u); - } - return M; - } - Object.defineProperty(e, '__esModule', {value: !0}), - (e.default = i), - (i.prototype = window.Event.prototype); - }, - function (t, e) { - 'use strict'; - function i(t) { - if ('function' == typeof Symbol) return Symbol(t); - var e = Math.random().toString(36).substr(2, 8); - return t + e; - } - Object.defineProperty(e, '__esModule', {value: !0}), (e.default = i); - }, - function (t, e, i) { - 'use strict'; - function r(t) { - if (t && t.__esModule) return t; - var e = {}; - if (null != t) for (var i in t) Object.prototype.hasOwnProperty.call(t, i) && (e[i] = t[i]); - return (e.default = t), e; - } - function n(t) { - return t && t.__esModule ? t : {default: t}; - } - function o(t, e) { - if (!(t instanceof e)) throw new TypeError('Cannot call a class as a function'); - } - Object.defineProperty(e, '__esModule', {value: !0}); - var a = (function () { - function t(t, e) { - for (var i = 0; i < e.length; i++) { - var r = e[i]; - (r.enumerable = r.enumerable || !1), - (r.configurable = !0), - 'value' in r && (r.writable = !0), - Object.defineProperty(t, r.key, r); - } - } - return function (e, i, r) { - return i && t(e.prototype, i), r && t(e, r), e; - }; - })(), - u = - Object.assign || - function (t) { - for (var e = 1; e < arguments.length; e++) { - var i = arguments[e]; - for (var r in i) Object.prototype.hasOwnProperty.call(i, r) && (t[r] = i[r]); - } - return t; - }, - M = i(2), - c = n(M), - s = i(1), - l = n(s), - d = i(5), - L = n(d), - N = i(7), - f = n(N), - g = i(4), - x = r(g), - y = i(6), - j = n(y), - T = function (t) { - if (t) { - var e = t.trim().toLowerCase(); - if ('true' === e || '1' === e) return !0; - if ('false' === e || '0' === e) return !1; - } - return t; - }, - b = function (t, e) { - if (!e) return t; - var i = {}; - return ( - Object.keys(t).forEach(function (t) { - var r = 'data-' + t; - if (e.hasAttribute(r)) { - var n = e.getAttribute(r); - i[t] = n; - } - }), - u({}, t, i) - ); - }, - E = 32, - D = 13, - z = function (t, e) { - t = (0, x.default)(t); - var i = function (t) { - if ( - 'click' === t.type || - ('keydown' === t.type && (t.keyCode === E || t.keyCode === D)) - ) { - for (var i = arguments.length, r = Array(i > 1 ? i - 1 : 0), n = 1; n < i; n++) - r[n - 1] = arguments[n]; - e.call.apply(e, [this, t].concat(r)); - } - }; - return ( - x.on(t, 'click keydown', i), - function () { - x.off(t, 'click keydown', i); - } - ); - }, - h = function () { - var t = new L.default(), - e = t.createElement('style'); - return ( - (e.type = 'text/css'), - (e.innerHTML = f.default), - x.prependElementTo(e, (0, x.default)('head')[0]), - t - ); - }, - w = function (t) { - var e = new L.default(), - i = t.targetElement; - return ( - i.forEach(function (i) { - var r = b(t, i); - if (r.room) { - var n = e.createElement('iframe'); - n.setAttribute('frameborder', '0'), - (n.src = '' + t.host + r.room + '/~embed'), - i.appendChild(n); - } else console.error('Gitter Sidecar: No room specified for targetElement', i); - }), - e - ); - }, - p = function (t) { - var e = t.options, - i = new L.default(); - return ( - e.targetElement.forEach(function (r) { - var n = i.createElement('div'); - n.classList.add('gitter-chat-embed-action-bar'), r.insertBefore(n, r.firstChild); - var o = i.createElement('a'); - o.classList.add('gitter-chat-embed-action-bar-item'), - o.classList.add('gitter-chat-embed-action-bar-item-pop-out'), - o.setAttribute('aria-label', 'Open Chat in Gitter.im'), - o.setAttribute('href', '' + e.host + e.room), - o.setAttribute('target', '_blank'), - o.setAttribute('rel', 'noopener'), - n.appendChild(o); - var a = i.createElement('button'); - a.classList.add('gitter-chat-embed-action-bar-item'), - a.classList.add('gitter-chat-embed-action-bar-item-collapse-chat'), - a.setAttribute('aria-label', 'Collapse Gitter Chat'), - z(a, function (e) { - t.toggleChat(!1), e.preventDefault(); - }), - n.appendChild(a); - }), - i - ); - }, - m = document.body || document.documentElement, - v = { - room: void 0, - targetElement: void 0, - activationElement: void 0, - showChatByDefault: !1, - preload: !1, - useStyles: !0, - layout: 'fixed', - host: 'https://gitter.im/', - }, - I = (0, c.default)('DEFAULTS'), - A = (0, c.default)('OPTIONS'), - C = (0, c.default)('ELEMENTSTORE'), - S = (0, c.default)('EVENTHANDLESTORE'), - O = (0, c.default)('INIT'), - k = (0, c.default)('ISEMBEDDED'), - U = (0, c.default)('EMBEDCHATONCE'), - Y = (0, c.default)('TOGGLETARGETELEMENTS'), - Q = (function () { - function t() { - var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; - o(this, t), - (this[C] = new L.default()), - (this[S] = []), - (this[I] = v), - (this[A] = u({}, this[I], e)), - this[O](); - } - return ( - a(t, [ - { - key: O, - value: function () { - var t = this, - e = this[A]; - e.useStyles && this[C].add(h()), - (e.targetElement = (0, x.default)( - e.targetElement || - (function () { - var e = t[C].createElement('aside'); - return ( - e.classList.add('gitter-chat-embed'), - e.classList.add('is-collapsed'), - m.appendChild(e), - e - ); - })() - )), - e.targetElement.forEach(function (e) { - var i = t[C].createElement('div'); - i.classList.add('gitter-chat-embed-loading-wrapper'), - (i.innerHTML = - '\n
\n '), - e.insertBefore(i, e.firstChild); - }), - p(this), - e.preload && this.toggleChat(!1), - e.showChatByDefault - ? this.toggleChat(!0) - : (void 0 === e.activationElement || e.activationElement === !0 - ? (e.activationElement = (0, x.default)( - (function () { - var i = t[C].createElement('a'); - return ( - (i.href = '' + e.host + e.room), - (i.innerHTML = 'Open Chat'), - i.classList.add('gitter-open-chat-button'), - m.appendChild(i), - i - ); - })() - )) - : e.activationElement && - (e.activationElement = (0, x.default)(e.activationElement)), - e.activationElement && - (z(e.activationElement, function (e) { - t.toggleChat(!0), e.preventDefault(); - }), - e.targetElement.forEach(function (t) { - x.on(t, 'gitter-chat-toggle', function (t) { - var i = t.detail.state; - e.activationElement.forEach(function (t) { - x.toggleClass(t, 'is-collapsed', i); - }); - }); - }))); - var i = z((0, x.default)('.js-gitter-toggle-chat-button'), function (e) { - var i = T(e.target.getAttribute('data-gitter-toggle-chat-state')); - t.toggleChat(null !== i ? i : 'toggle'), e.preventDefault(); - }); - this[S].push(i), - e.targetElement.forEach(function (e) { - var i = new l.default('gitter-chat-started', {detail: {chat: t}}); - e.dispatchEvent(i); - }); - var r = new l.default('gitter-sidecar-instance-started', {detail: {chat: this}}); - document.dispatchEvent(r); - }, - }, - { - key: U, - value: function () { - if (!this[k]) { - var t = this[A], - e = w(t); - this[C].add(e); - } - this[k] = !0; - }, - }, - { - key: Y, - value: function (t) { - var e = this[A]; - e.targetElement || - console.warn('Gitter Sidecar: No chat embed elements to toggle visibility on'); - var i = e.targetElement; - i.forEach(function (e) { - 'toggle' === t - ? x.toggleClass(e, 'is-collapsed') - : x.toggleClass(e, 'is-collapsed', !t); - var i = new l.default('gitter-chat-toggle', {detail: {state: t}}); - e.dispatchEvent(i); - }); - }, - }, - { - key: 'toggleChat', - value: function (t) { - var e = this, - i = this[A]; - if (t && !this[k]) { - var r = i.targetElement; - r.forEach(function (t) { - t.classList.add('is-loading'); - }), - setTimeout(function () { - e[U](), - e[Y](t), - r.forEach(function (t) { - t.classList.remove('is-loading'); - }); - }, 300); - } else this[U](), this[Y](t); - }, - }, - { - key: 'destroy', - value: function () { - this[S].forEach(function (t) { - t(); - }), - this[C].destroy(); - }, - }, - { - key: 'options', - get: function () { - return (0, j.default)(this[A]); - }, - }, - ]), - t - ); - })(); - e.default = Q; - }, - function (t, e) { - 'use strict'; - function i(t) { - if (Array.isArray(t)) { - for (var e = 0, i = Array(t.length); e < t.length; e++) i[e] = t[e]; - return i; - } - return Array.from(t); - } - function r(t, e) { - return ( - M(t).forEach(function () { - e && e.apply(void 0, arguments); - }), - this - ); - } - function n(t, e, i) { - return ( - e.split(/\s/).forEach(function (e) { - r(t, function (t) { - t.addEventListener(e, i); - }); - }), - this - ); - } - function o(t, e, i) { - return ( - e.split(/\s/).forEach(function (e) { - r(t, function (t) { - t.removeEventListener(e, i); - }); - }), - this - ); - } - function a(t, e) { - var i = (e.children || [])[0]; - i ? e.insertBefore(t, i) : e.appendChild(t); - } - function u(t, e, i) { - return ( - void 0 !== i ? (i ? t.classList.add(e) : t.classList.remove(e)) : t.classList.toggle(e), i - ); - } - Object.defineProperty(e, '__esModule', {value: !0}), - (e.forEach = r), - (e.on = n), - (e.off = o), - (e.prependElementTo = a), - (e.toggleClass = u); - var M = function () { - for (var t = arguments.length, e = Array(t), i = 0; i < t; i++) e[i] = arguments[i]; - return e.reduce(function (t, e) { - return ( - !e || - void 0 === e.length || - Array.isArray(e) || - (window && (!window || e instanceof window.constructor)) || - (e = Array.prototype.slice.call(e)), - t.concat(e) - ); - }, []); - }, - c = function () { - for (var t = arguments.length, e = Array(t), r = 0; r < t; r++) e[r] = arguments[r]; - var n = e; - if ('string' == typeof e[0]) { - var o; - n = (o = document.querySelectorAll).call.apply(o, [document].concat(e)); - } - return M.apply(void 0, i(n)); - }, - s = function () { - return c.apply(void 0, arguments); - }; - e.default = s; - }, - function (t, e) { - 'use strict'; - function i(t, e) { - if (!(t instanceof e)) throw new TypeError('Cannot call a class as a function'); - } - Object.defineProperty(e, '__esModule', {value: !0}); - var r = (function () { - function t(t, e) { - for (var i = 0; i < e.length; i++) { - var r = e[i]; - (r.enumerable = r.enumerable || !1), - (r.configurable = !0), - 'value' in r && (r.writable = !0), - Object.defineProperty(t, r.key, r); - } - } - return function (e, i, r) { - return i && t(e.prototype, i), r && t(e, r), e; - }; - })(), - n = function (t) { - t && t.parentElement.removeChild(t); - }, - o = (function () { - function t() { - i(this, t), (this.elements = []); - } - return ( - r(t, [ - { - key: 'createElement', - value: function () { - for (var t = arguments.length, e = Array(t), i = 0; i < t; i++) e[i] = arguments[i]; - var r = document.createElement.apply(document, e); - return this.add(r), r; - }, - }, - { - key: 'add', - value: function () { - for (var e = arguments.length, i = Array(e), r = 0; r < e; r++) i[r] = arguments[r]; - var n = [].concat(i).reduce(function (e, i) { - return i ? (i instanceof t ? e.concat(i.elements) : e.concat(i)) : e; - }, []); - this.elements = this.elements.concat(n); - }, - }, - { - key: 'destroy', - value: function () { - this.elements.forEach(function (t) { - return n(t); - }), - (this.elements = []); - }, - }, - ]), - t - ); - })(); - e.default = o; - }, - function (t, e) { - 'use strict'; - function i(t) { - var e = {}; - return ( - Object.keys(t).forEach(function (i) { - Object.defineProperty(e, i, {value: t[i], writable: !1, configurable: !1}); - }), - e - ); - } - Object.defineProperty(e, '__esModule', {value: !0}), (e.default = i); - }, - function (t, e, i) { - (e = t.exports = i(8)()), - e.push([ - t.id, - '.gitter-hidden{box-sizing:border-box;display:none}.gitter-icon{box-sizing:border-box;width:22px;height:22px;fill:currentColor}.gitter-chat-embed{box-sizing:border-box;z-index:100;position:fixed;top:0;left:60%;bottom:0;right:0;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;background-color:#fff;border-left:1px solid #333;box-shadow:-12px 0 18px 0 rgba(50,50,50,.3);transition:transform .3s cubic-bezier(.16,.22,.22,1.7)}@context border-box{.gitter-chat-embed{box-sizing:border-box;background-color:#fff}}.gitter-chat-embed.is-collapsed:not(.is-loading){box-sizing:border-box;transform:translateX(110%)}.gitter-chat-embed:after{box-sizing:border-box;content:"";z-index:-1;position:absolute;top:0;left:100%;bottom:0;right:-100%;background-color:#fff}@context border-box{.gitter-chat-embed:after{box-sizing:border-box;background-color:#fff}}@media(max-width:1150px){.gitter-chat-embed{box-sizing:border-box;left:45%}}@media(max-width:944px){.gitter-chat-embed{box-sizing:border-box;left:30%}}@media(max-width:600px){.gitter-chat-embed{box-sizing:border-box;left:15%}}@media(max-width:500px){.gitter-chat-embed{box-sizing:border-box;left:0;border-left:none}}.gitter-chat-embed>iframe{box-sizing:border-box;-ms-flex:1;flex:1;width:100%;height:100%;border:0}.gitter-chat-embed-loading-wrapper{box-sizing:border-box;position:absolute;top:0;left:0;bottom:0;right:0;display:none;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.is-loading .gitter-chat-embed-loading-wrapper{box-sizing:border-box;display:-ms-flexbox;display:flex}.gitter-chat-embed-loading-indicator{box-sizing:border-box;opacity:.75;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNzkyIDE3OTIiIGZpbGw9IiMzYTMxMzMiPjxwYXRoIGQ9Ik01MjYgMTM5NHEwIDUzLTM3LjUgOTAuNXQtOTAuNSAzNy41cS01MiAwLTkwLTM4dC0zOC05MHEwLTUzIDM3LjUtOTAuNXQ5MC41LTM3LjUgOTAuNSAzNy41IDM3LjUgOTAuNXptNDk4IDIwNnEwIDUzLTM3LjUgOTAuNXQtOTAuNSAzNy41LTkwLjUtMzcuNS0zNy41LTkwLjUgMzcuNS05MC41IDkwLjUtMzcuNSA5MC41IDM3LjUgMzcuNSA5MC41em0tNzA0LTcwNHEwIDUzLTM3LjUgOTAuNXQtOTAuNSAzNy41LTkwLjUtMzcuNS0zNy41LTkwLjUgMzcuNS05MC41IDkwLjUtMzcuNSA5MC41IDM3LjUgMzcuNSA5MC41em0xMjAyIDQ5OHEwIDUyLTM4IDkwdC05MCAzOHEtNTMgMC05MC41LTM3LjV0LTM3LjUtOTAuNSAzNy41LTkwLjUgOTAuNS0zNy41IDkwLjUgMzcuNSAzNy41IDkwLjV6bS05NjQtOTk2cTAgNjYtNDcgMTEzdC0xMTMgNDctMTEzLTQ3LTQ3LTExMyA0Ny0xMTMgMTEzLTQ3IDExMyA0NyA0NyAxMTN6bTExNzAgNDk4cTAgNTMtMzcuNSA5MC41dC05MC41IDM3LjUtOTAuNS0zNy41LTM3LjUtOTAuNSAzNy41LTkwLjUgOTAuNS0zNy41IDkwLjUgMzcuNSAzNy41IDkwLjV6bS02NDAtNzA0cTAgODAtNTYgMTM2dC0xMzYgNTYtMTM2LTU2LTU2LTEzNiA1Ni0xMzYgMTM2LTU2IDEzNiA1NiA1NiAxMzZ6bTUzMCAyMDZxMCA5My02NiAxNTguNXQtMTU4IDY1LjVxLTkzIDAtMTU4LjUtNjUuNXQtNjUuNS0xNTguNXEwLTkyIDY1LjUtMTU4dDE1OC41LTY2cTkyIDAgMTU4IDY2dDY2IDE1OHoiLz48L3N2Zz4=);animation:spin 2s infinite linear}@keyframes spin{0%{box-sizing:border-box;transform:rotate(0deg)}to{box-sizing:border-box;transform:rotate(359.9deg)}}.gitter-chat-embed-action-bar{box-sizing:border-box;position:absolute;top:0;left:0;right:0;display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end;padding-bottom:.7em;background:linear-gradient(180deg,#fff 0,#fff 50%,hsla(0,0%,100%,0))}.gitter-chat-embed-action-bar-item{box-sizing:border-box;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;width:40px;height:40px;padding-left:0;padding-right:0;opacity:.65;background:none;background-position:50%;background-repeat:no-repeat;background-size:22px 22px;border:0;outline:none;cursor:pointer;cursor:hand;transition:all .2s ease}.gitter-chat-embed-action-bar-item:focus,.gitter-chat-embed-action-bar-item:hover{box-sizing:border-box;opacity:1}.gitter-chat-embed-action-bar-item:active{box-sizing:border-box;filter:hue-rotate(80deg) saturate(150)}.gitter-chat-embed-action-bar-item-pop-out{box-sizing:border-box;margin-right:-4px;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMDAgMTcxLjQyOSIgZmlsbD0iIzNhMzEzMyI+PHBhdGggZD0iTTE1Ny4xNDMsMTAzLjU3MXYzNS43MTRjMCw4Ljg1NC0zLjE0NCwxNi40MjYtOS40MzEsMjIuNzEzcy0xMy44NTgsOS40MzEtMjIuNzEyLDkuNDMxSDMyLjE0MyBjLTguODU0LDAtMTYuNDI1LTMuMTQ0LTIyLjcxMi05LjQzMVMwLDE0OC4xNCwwLDEzOS4yODVWNDYuNDI5YzAtOC44NTQsMy4xNDQtMTYuNDI1LDkuNDMxLTIyLjcxMiBjNi4yODctNi4yODcsMTMuODU4LTkuNDMxLDIyLjcxMi05LjQzMWg3OC41NzJjMS4wNDEsMCwxLjg5NiwwLjMzNSwyLjU2NiwxLjAwNGMwLjY3LDAuNjcsMS4wMDQsMS41MjUsMS4wMDQsMi41NjdWMjUgYzAsMS4wNDItMC4zMzQsMS44OTctMS4wMDQsMi41NjdjLTAuNjcsMC42Ny0xLjUyNSwxLjAwNC0yLjU2NiwxLjAwNEgzMi4xNDNjLTQuOTExLDAtOS4xMTUsMS43NDktMTIuNjEyLDUuMjQ2IHMtNS4yNDYsNy43MDEtNS4yNDYsMTIuNjEydjkyLjg1NmMwLDQuOTExLDEuNzQ5LDkuMTE1LDUuMjQ2LDEyLjYxMnM3LjcwMSw1LjI0NSwxMi42MTIsNS4yNDVIMTI1YzQuOTEsMCw5LjExNS0xLjc0OCwxMi42MTEtNS4yNDUgYzMuNDk3LTMuNDk3LDUuMjQ2LTcuNzAxLDUuMjQ2LTEyLjYxMnYtMzUuNzE0YzAtMS4wNDIsMC4zMzQtMS44OTcsMS4wMDQtMi41NjdjMC42Ny0wLjY2OSwxLjUyNS0xLjAwNCwyLjU2Ny0xLjAwNGg3LjE0MyBjMS4wNDIsMCwxLjg5NywwLjMzNSwyLjU2NywxLjAwNEMxNTYuODA5LDEwMS42NzQsMTU3LjE0MywxMDIuNTI5LDE1Ny4xNDMsMTAzLjU3MXogTTIwMCw3LjE0M3Y1Ny4xNDMgYzAsMS45MzUtMC43MDcsMy42MDktMi4xMjEsNS4wMjJjLTEuNDEzLDEuNDE0LTMuMDg4LDIuMTIxLTUuMDIxLDIuMTIxYy0xLjkzNSwwLTMuNjA5LTAuNzA3LTUuMDIyLTIuMTIxbC0xOS42NDQtMTkuNjQzIGwtNzIuNzY3LDcyLjc2OWMtMC43NDQsMC43NDQtMS42LDEuMTE1LTIuNTY3LDEuMTE1cy0xLjgyMy0wLjM3MS0yLjU2Ny0xLjExNUw3Ny41NjcsMTA5LjcxYy0wLjc0NC0wLjc0NC0xLjExNi0xLjYtMS4xMTYtMi41NjcgYzAtMC45NjcsMC4zNzItMS44MjIsMS4xMTYtMi41NjZsNzIuNzY4LTcyLjc2OGwtMTkuNjQ0LTE5LjY0M2MtMS40MTMtMS40MTQtMi4xMi0zLjA4OC0yLjEyLTUuMDIyYzAtMS45MzUsMC43MDctMy42MDksMi4xMi01LjAyMiBDMTMyLjEwNSwwLjcwNywxMzMuNzc5LDAsMTM1LjcxNSwwaDU3LjE0M2MxLjkzNCwwLDMuNjA4LDAuNzA3LDUuMDIxLDIuMTIxQzE5OS4yOTMsMy41MzQsMjAwLDUuMjA4LDIwMCw3LjE0M3oiLz48L3N2Zz4=)}.gitter-chat-embed-action-bar-item-collapse-chat{box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNzEuNDI5IDE3MS40MjkiIGZpbGw9IiMzYTMxMzMiPjxwYXRoIGQ9Ik0xMjIuNDMzLDEwNi4xMzhsLTE2LjI5NSwxNi4yOTVjLTAuNzQ0LDAuNzQ0LTEuNiwxLjExNi0yLjU2NiwxLjExNmMtMC45NjgsMC0xLjgyMy0wLjM3Mi0yLjU2Ny0xLjExNmwtMTUuMjktMTUuMjkgbC0xNS4yOSwxNS4yOWMtMC43NDQsMC43NDQtMS42LDEuMTE2LTIuNTY3LDEuMTE2cy0xLjgyMy0wLjM3Mi0yLjU2Ny0xLjExNmwtMTYuMjk0LTE2LjI5NWMtMC43NDQtMC43NDQtMS4xMTYtMS42LTEuMTE2LTIuNTY2IGMwLTAuOTY4LDAuMzcyLTEuODIzLDEuMTE2LTIuNTY3bDE1LjI5LTE1LjI5bC0xNS4yOS0xNS4yOWMtMC43NDQtMC43NDQtMS4xMTYtMS42LTEuMTE2LTIuNTY3czAuMzcyLTEuODIzLDEuMTE2LTIuNTY3IEw2NS4yOSw0OC45OTZjMC43NDQtMC43NDQsMS42LTEuMTE2LDIuNTY3LTEuMTE2czEuODIzLDAuMzcyLDIuNTY3LDEuMTE2bDE1LjI5LDE1LjI5bDE1LjI5LTE1LjI5IGMwLjc0NC0wLjc0NCwxLjYtMS4xMTYsMi41NjctMS4xMTZjMC45NjcsMCwxLjgyMiwwLjM3MiwyLjU2NiwxLjExNmwxNi4yOTUsMTYuMjk0YzAuNzQ0LDAuNzQ0LDEuMTE2LDEuNiwxLjExNiwyLjU2NyBzLTAuMzcyLDEuODIzLTEuMTE2LDIuNTY3bC0xNS4yOSwxNS4yOWwxNS4yOSwxNS4yOWMwLjc0NCwwLjc0NCwxLjExNiwxLjYsMS4xMTYsMi41NjcgQzEyMy41NDksMTA0LjUzOSwxMjMuMTc3LDEwNS4zOTQsMTIyLjQzMywxMDYuMTM4eiBNMTQ2LjQyOSw4NS43MTRjMC0xMS4wMTItMi43MTctMjEuMTY4LTguMTQ4LTMwLjQ2OSBzLTEyLjc5Ny0xNi42NjctMjIuMDk4LTIyLjA5OFM5Ni43MjYsMjUsODUuNzE0LDI1cy0yMS4xNjgsMi43MTYtMzAuNDY5LDguMTQ3UzM4LjU3OSw0NS45NDUsMzMuMTQ3LDU1LjI0NlMyNSw3NC43MDMsMjUsODUuNzE0IHMyLjcxNiwyMS4xNjgsOC4xNDcsMzAuNDY5czEyLjc5NywxNi42NjYsMjIuMDk4LDIyLjA5OHMxOS40NTcsOC4xNDgsMzAuNDY5LDguMTQ4czIxLjE2OC0yLjcxNywzMC40NjktOC4xNDggczE2LjY2Ni0xMi43OTcsMjIuMDk4LTIyLjA5OFMxNDYuNDI5LDk2LjcyNiwxNDYuNDI5LDg1LjcxNHogTTE3MS40MjksODUuNzE0YzAsMTUuNTUxLTMuODMyLDI5Ljg5My0xMS40OTYsNDMuMDI0IGMtNy42NjQsMTMuMTMzLTE4LjA2MiwyMy41My0zMS4xOTQsMzEuMTk0Yy0xMy4xMzIsNy42NjQtMjcuNDc0LDExLjQ5Ni00My4wMjQsMTEuNDk2cy0yOS44OTItMy44MzItNDMuMDI0LTExLjQ5NiBjLTEzLjEzMy03LjY2NC0yMy41MzEtMTguMDYyLTMxLjE5NC0zMS4xOTRDMy44MzIsMTE1LjYwNywwLDEwMS4yNjUsMCw4NS43MTRTMy44MzIsNTUuODIyLDExLjQ5Niw0Mi42OSBjNy42NjQtMTMuMTMzLDE4LjA2Mi0yMy41MzEsMzEuMTk0LTMxLjE5NEM1NS44MjIsMy44MzIsNzAuMTY0LDAsODUuNzE0LDBzMjkuODkzLDMuODMyLDQzLjAyNCwxMS40OTYgYzEzLjEzMyw3LjY2NCwyMy41MywxOC4wNjIsMzEuMTk0LDMxLjE5NEMxNjcuNTk3LDU1LjgyMiwxNzEuNDI5LDcwLjE2NCwxNzEuNDI5LDg1LjcxNHoiLz48L3N2Zz4=)}.gitter-open-chat-button{z-index:100;position:fixed;bottom:0;right:10px;padding:1em 3em;background-color:#36bc98;border:0;border-top-left-radius:.5em;border-top-right-radius:.5em;font-family:sans-serif;font-size:12px;letter-spacing:1px;text-transform:uppercase;text-align:center;text-decoration:none;cursor:pointer;cursor:hand;transition:all .3s ease}.gitter-open-chat-button,.gitter-open-chat-button:visited{box-sizing:border-box;color:#fff}.gitter-open-chat-button:focus,.gitter-open-chat-button:hover{box-sizing:border-box;background-color:#3ea07f;color:#fff}.gitter-open-chat-button:focus{box-sizing:border-box;box-shadow:0 0 8px rgba(62,160,127,.6);outline:none}.gitter-open-chat-button:active{box-sizing:border-box;color:#eee}.gitter-open-chat-button.is-collapsed{box-sizing:border-box;transform:translateY(120%)}', - '', - ]); - }, - function (t, e) { - t.exports = function () { - var t = []; - return ( - (t.toString = function () { - for (var t = [], e = 0; e < this.length; e++) { - var i = this[e]; - i[2] ? t.push('@media ' + i[2] + '{' + i[1] + '}') : t.push(i[1]); - } - return t.join(''); - }), - (t.i = function (e, i) { - 'string' == typeof e && (e = [[null, e, '']]); - for (var r = {}, n = 0; n < this.length; n++) { - var o = this[n][0]; - 'number' == typeof o && (r[o] = !0); - } - for (n = 0; n < e.length; n++) { - var a = e[n]; - ('number' == typeof a[0] && r[a[0]]) || - (i && !a[2] ? (a[2] = i) : i && (a[2] = '(' + a[2] + ') and (' + i + ')'), t.push(a)); - } - }), - t - ); - }; - }, -]); -//# sourceMappingURL=sidecar.js.map