From 6cb49b3353bdcd0e5f439032e9c2354f60924f24 Mon Sep 17 00:00:00 2001 From: Dorian Zedler Date: Fri, 5 Aug 2022 07:40:51 +0000 Subject: [PATCH] =?UTF-8?q?Update=20pages=20=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- annotated.html | 118 ++ classScStw.html | 492 +++++ classScStwRace.html | 175 ++ classScStwSoundPlayer.html | 240 +++ classScStwTimer.html | 814 ++++++++ favicon.png | Bin 0 -> 44973 bytes files.html | 114 ++ index.html | 101 + m-dark+documentation.compiled.css | 2923 +++++++++++++++++++++++++++++ modules.html | 114 ++ namespaces.html | 114 ++ pages.html | 114 ++ refman.pdf | Bin 0 -> 220723 bytes search-v2.js | 897 +++++++++ searchdata-v2.js | 2 + 15 files changed, 6218 insertions(+) create mode 100644 annotated.html create mode 100644 classScStw.html create mode 100644 classScStwRace.html create mode 100644 classScStwSoundPlayer.html create mode 100644 classScStwTimer.html create mode 100644 favicon.png create mode 100644 files.html create mode 100644 index.html create mode 100644 m-dark+documentation.compiled.css create mode 100644 modules.html create mode 100644 namespaces.html create mode 100644 pages.html create mode 100644 refman.pdf create mode 100644 search-v2.js create mode 100644 searchdata-v2.js diff --git a/annotated.html b/annotated.html new file mode 100644 index 0000000..a48c7fa --- /dev/null +++ b/annotated.html @@ -0,0 +1,118 @@ + + + + + ScStw shared libraries + + + + + + + +
+
+
+
+
+

Classes

+
    +
  • class ScStw The ScStw class provides some shared functions and enums for use in the ScStw project.
  • +
  • class ScStwRace The ScStwRace class can be used to measure timings of climbing races with multiple lanes at once.
  • +
  • class ScStwSoundPlayer The ScStwSoundPlayer class is used for ultra low latency sound playback of the speed clibing start tones and commands.
  • +
  • class ScStwTimer The ScStwTimer class is used for advanced time measurement.
  • +
+ +
+
+
+
+ + + + + + diff --git a/classScStw.html b/classScStw.html new file mode 100644 index 0000000..b54afba --- /dev/null +++ b/classScStw.html @@ -0,0 +1,492 @@ + + + + + ScStw class | ScStw shared libraries + + + + + + + +
+
+
+
+
+

+ ScStw class +

+

The ScStw class provides some shared functions and enums for use in the ScStw project.

+ +
+

Public types

+
+
+ enum SignalKey { InvalidSignal = -1, + RaceStateChanged = 9000, + TimersChanged = 9001, + ExtensionsChanged = 9002, + CurrentStartDelayChanged = 9003, + SettingChanged = 9004, + RaceDetailsChanged = 9005 } +
+
The SignalKey enum contains all signal keys a client can subscribe to.
+
+ enum SocketCommand { InvalidCommand = -1, + InitializeSessionCommand = 1, + StartRaceCommand = 1000, + StopRaceCommand = 1001, + ResetRaceCommand = 1002, + CancelRaceCommand = 1003, + SetTimerDisabledCommand = 1004, + GetRaceStateCommand = 2000, + GetRaceDetailsCommand = 2001, + GetExtensionsCommand = 2006, + GetTimersCommand = 2007, + GetCurrentStartDelayCommand = 2009, + WriteSettingCommand = 3000, + ReadSettingCommand = 3001, + LoginAthleteCommand = 4000, + CreateAthleteCommand = 4001, + DeleteAthleteCommand = 4002, + GetAtheletesCommand = 4003, + GetAthleteResultsCommand = 4004, + UpdateFirmwareCommand = 5000, + UpdateSystemTimeCommand = 5001, + PairExtensionsCommand = 5002 } +
+
The SocketCommand enum contains all commands the base station can handle.
+
+ enum StatusCode { Success = 200, + FirmwareAlreadyUpToDateInfo = 304, + AccessDeniedError = 401, + UpdateSignatureInvalidError = 402, + CurrentStateNotVaildForOperationError = 403, + CommandNotFoundError = 404, + RequiredParameterNotGivenError = 405, + TimestampTooSmallError = 406, + ClientSessionAlreadyActiveError = 407, + NoSessionActiveError = 408, + ItemNotFoundError = 409, + LastTimerCannotBeDisabledError = 410, + UpdateFailedError = 500, + Error = 900, + NotConnectedError = 910, + TimeoutError = 911, + SettingNotAccessibleError = 901, + InternalError = 950, + InternalErrorTimerOperationFailed = 951, + ApiVersionNotSupportedError = 952, + CompetitionModeProhibitsThisError = 953, + FirmwareUpdateFormatInvalidError = 954, + TimersNotReadyError = 501 } +
+
The ErrorCode enum contains all error codes that can occur when sending a command to the basestation.
+
+ enum ExtensionType { StartPad, + TopPad } +
+
The ExtensionType enum contains all types of extensions.
+
+ enum ExtensionState { ExtensionDisconnected = 0, + ExtensionConnecting = 1, + ExtensionInitialising = 2, + ExtensionConnected = 3 } +
+
The ExtensionState enum contains all possible states of an extension.
+
+ enum ExtensionBatteryState { BatteryUnknown = -1, + BatteryCritical = 0, + BatteryWarning = 1, + BatteryFine = 2, + BatteryCharging = 3, + BatteryNotCharging = 4 } +
+
The ExtensionBatteryState enum contains all possible battery states of an extension.
+
+ enum PadState { PadNotPressed = 0, + PadPressed = 1 } +
+
The PadState enum contains whether a pad is currently pressed or not.
+
+
+
+

Public static variables

+
+
+ static const char* SOCKET_MESSAGE_START_KEY +
+
SOCKET_MESSAGE_START_KEY contains the key, a message is supposed to start with.
+
+ static const char* SOCKET_MESSAGE_END_KEY +
+
SOCKET_MESSAGE_END_KEY contains the key, a message is supposed to end with.
+
+
+
+

Public static functions

+
+
+ static auto signalKeyFromInt(int i) -> SignalKey +
+
Function to convert an int to a SignalKey.
+
+ static auto socketCommandFromInt(int i) -> SocketCommand +
+
Function to convert an int to a SocketCommand.
+
+ static auto extensionTypeToString(ExtensionType t) -> QString +
+
Function to convert an ExtensionType to a string.
+
+ static auto firmwareCompare(QString a, + QString b) -> int +
+
Function to compare to string firmware versions in <major>.<minor>.<patch> formar.
+
+
template<typename Enum>
+ static auto toEnumValue(const int& value, + bool* ok) -> Enum +
+
Function to convert a value to an enum.
+
+
+
+

Enum documentation

+
+

+ enum ScStw::SignalKey +

+

The SignalKey enum contains all signal keys a client can subscribe to.

+ +
+
+

+ enum ScStw::SocketCommand +

+

The SocketCommand enum contains all commands the base station can handle.

+ +
+
+

+ enum ScStw::StatusCode +

+

The ErrorCode enum contains all error codes that can occur when sending a command to the basestation.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Enumerators
Success +
FirmwareAlreadyUpToDateInfo +
AccessDeniedError +
UpdateSignatureInvalidError +
CurrentStateNotVaildForOperationError +
CommandNotFoundError +
RequiredParameterNotGivenError +
TimestampTooSmallError +
ClientSessionAlreadyActiveError +
NoSessionActiveError +
ItemNotFoundError +
LastTimerCannotBeDisabledError +
UpdateFailedError +
Error +
NotConnectedError +
TimeoutError +
SettingNotAccessibleError +
InternalError +
InternalErrorTimerOperationFailed +
ApiVersionNotSupportedError +
CompetitionModeProhibitsThisError +
FirmwareUpdateFormatInvalidError +
TimersNotReadyError +

One or more timer is not ready

+
+
+
+
+

Function documentation

+
+

+ static SignalKey ScStw::signalKeyFromInt(int i) +

+

Function to convert an int to a SignalKey.

+ + + + + + + + + + + + + + + + +
Parameters
ithe int to convert
Returnsa SignalKey
+ +
+
+

+ static SocketCommand ScStw::socketCommandFromInt(int i) +

+

Function to convert an int to a SocketCommand.

+ + + + + + + + + + + + + + + + +
Parameters
ithe int to convert
Returnsa SocketCommand
+ +
+
+

+ static QString ScStw::extensionTypeToString(ExtensionType t) +

+

Function to convert an ExtensionType to a string.

+ + + + + + + + + + + + + + + + +
Parameters
tthe ExtensionType to convert
ReturnsString
+ +
+
+

+ static int ScStw::firmwareCompare(QString a, + QString b) +

+

Function to compare to string firmware versions in <major>.<minor>.<patch> formar.

+ + + + + + + + + + + + + + + + + + + + +
Parameters
aversion a
bversion b
Returns-4: a is of invalid format -3: major of a is lower than b -2: minor of a is lower than b -1: patch of a is lower than b 0: a and b are identical 1: patch b is lower than a 2: minor of b is lower than a 3: major of b is lower than a 4: b is of invalid format
+
+
+
+
+
+
+ + + + + + diff --git a/classScStwRace.html b/classScStwRace.html new file mode 100644 index 0000000..bf407cf --- /dev/null +++ b/classScStwRace.html @@ -0,0 +1,175 @@ + + + + + ScStwRace class | ScStw shared libraries + + + + + + + +
+
+
+
+
+

+ ScStwRace class +

+

The ScStwRace class can be used to measure timings of climbing races with multiple lanes at once.

+ +

The ScStwRace is a container to manage multiple timers at a time and introduces a propper start sequence with start commands ('At your Marks' and 'Ready') and the official IFSC start signal.

Basic usage:

ScStwRace race;
+
+// add two timers
+race.addTimer(new ScStwTimer());
+race.addTimer(new ScStwTimer());
+
+// start a race
+race.start();
+
+

Public slots

+
+
+ auto start(bool asyncronous = true) -> ScStw::StatusCode virtual +
+
Function to start the race.
+
+ auto stop() -> ScStw::StatusCode virtual +
+
Function to stop the currently running race.
+
+ auto reset() -> ScStw::StatusCode virtual +
+
Function to reset a stopped race.
+
+
+
+

Function documentation

+
+

+ ScStw::StatusCode ScStwRace::start(bool asyncronous = true) virtual public slot +

+

Function to start the race.

+ + + + + + + + + + + + + + + + +
Parameters
asyncronousif the function should just start the start sequence and then quit (true) or if if should wait until the start sequence is over and quit after that (false)
Returns200: OK; 904: state not matching
+
+
+

+ ScStw::StatusCode ScStwRace::stop() virtual public slot +

+

Function to stop the currently running race.

+ + + + + + + +
Returns200: OK; 904: state not matching
+
+
+
+
+
+
+ + + + + + diff --git a/classScStwSoundPlayer.html b/classScStwSoundPlayer.html new file mode 100644 index 0000000..0655a4d --- /dev/null +++ b/classScStwSoundPlayer.html @@ -0,0 +1,240 @@ + + + + + ScStwSoundPlayer class | ScStw shared libraries + + + + + + + +
+
+
+
+
+

+ ScStwSoundPlayer class +

+

The ScStwSoundPlayer class is used for ultra low latency sound playback of the speed clibing start tones and commands.

+ +
+

Constructors, destructors, conversion operators

+
+
+ ScStwSoundPlayer(QObject* parent = nullptr) explicit +
+
ScStwSoundPlayer constructor.
+
+
+
+

Signals

+
+
+ void playbackStarted() +
+
Emitted whenever a playback started.
+
+
+
+

Public slots

+
+
+ auto play(StartSound sound, + double volume, + double* timeOfStart = nullptr) -> ScStwSoundPlayer::PlayResult +
+
Function to begin playing the sound of a certain state.
+
+ auto waitForSoundFinish(double* timeOfStop = nullptr) -> ScStwSoundPlayer::PlayResult +
+
Function to wait for the playback to finish.
+
+ auto cancel() -> bool +
+
Function to cancel the current playback.
+
+
+
+

Function documentation

+
+

+ ScStwSoundPlayer::ScStwSoundPlayer(QObject* parent = nullptr) explicit +

+

ScStwSoundPlayer constructor.

+ + + + + + + + + + +
Parameters
parent
+
+
+

+ ScStwSoundPlayer::PlayResult ScStwSoundPlayer::play(StartSound sound, + double volume, + double* timeOfStart = nullptr) public slot +

+

Function to begin playing the sound of a certain state.

+ + + + + + + + + + + + + + + + + + + + + + + + +
Parameters
sound
volumeThe volume to play at
timeOfStart
ReturnsTODO true if the playback was successfully started, false otherwise
+
+
+

+ ScStwSoundPlayer::PlayResult ScStwSoundPlayer::waitForSoundFinish(double* timeOfStop = nullptr) public slot +

+

Function to wait for the playback to finish.

+ + + + + + + + + + + + + + + + +
Parameters
timeOfStopthe point in time when the plyback actually stopped (msecs since epoch)
Returnsfalse if there was any error (eg. there was no playback currently), true otherwise
+
+
+

+ bool ScStwSoundPlayer::cancel() public slot +

+

Function to cancel the current playback.

+ + + + + + + +
Returnstrue if the playback was successfully stopped, false otherwise
+

Note that this function will automatically play the false start tone if the currently playing action is 2

+
+
+
+
+
+
+ + + + + + diff --git a/classScStwTimer.html b/classScStwTimer.html new file mode 100644 index 0000000..86b5343 --- /dev/null +++ b/classScStwTimer.html @@ -0,0 +1,814 @@ + + + + + ScStwTimer class | ScStw shared libraries + + + + + + + +
+
+
+
+
+

+ ScStwTimer class +

+

The ScStwTimer class is used for advanced time measurement.

+ +

It does not work on its own though. It is recommended to use it in combination with the ScStwRace class.

When using standalone:

ScStwTimer timer;
+// start the timer
+timer.start();
+// stop the timer
+timer.stop();

The timer will now go into ScStw::WAITING state. That indicates that the timer has stopped and the final result has to be assigned by an external handler.

// assign result 'won'
+timer.setResult(ScStwTimer::WON);

The timer is now in ScStwTimer::WON state.

// reset the timer
+timer.reset();

The timer is not in ScStwTimer::IDLE state again.

+
+

Public types

+
+
+ enum TimerState { IDLE, + STARTING, + RUNNING, + WAITING, + WON, + LOST, + FAILING, + WILDCARD, + FAILED, + CANCELLED, + INCIDENT, + DISABLED } +
+
The TimerState enum contains all state the timer can be in.
+
+ enum ReadyState { IsReady = 0, + NotInIdleState, + IsDisabled, + ExtensionIsNotConnected, + ExtensionBatteryIsCritical, + ClimberIsNotReady } +
+
The ReadyStatus enum contains all possible reasons for a timer not to be ready (>0) and the case that it is ready (0)
+
+
+
+

Constructors, destructors, conversion operators

+
+
+ ScStwTimer(QString letter, + QObject* parent = nullptr) explicit +
+
ScStwTimer constructor.
+
+
+
+

Signals

+
+
+ void stateChanged(TimerState state) +
+
Emitted when the state of the timer changed.
+
+ void reactionTimeChanged() +
+
Emitted when the reaction time changed.
+
+ void wantsToBeDisabledChanged(ScStwTimer* timer, + bool wantsToBeDisabled) +
+
Emitted when the timer wants its state to be changed by the external handler.
+
+ void readyStateChanged(ReadyState readyState) +
+
Emitted when the ready state of the timer changes.
+
+
+
+

Public slots

+
+
+ auto start() -> bool +
+
Function to start the timer.
+
+ auto start(double timeOfStart) -> bool virtual +
+
Function to start the timer at a given point in time (present or future)
+
+ auto cancel() -> bool +
+
Function to cancel the timer.
+
+ auto stop() -> bool +
+
Function to stop the timer.
+
+ auto stop(double timeOfStop) -> bool +
+
Function to stop the timer at a given point in time (past or future)
+
+ auto setResult(TimerState) -> bool +
+
Function to assing the result of the race to the timer.
+
+ auto reset() -> bool virtual +
+
Function to reset the timer.
+
+ auto getState() -> TimerState +
+
Function to get the current state of the timer.
+
+ auto getCurrentTime() -> double +
+
Function to get the current time of the timer.
+
+ auto getReactionTime() -> double +
+
Function to get the reaction time of the climber.
+
+ auto getText() -> QString +
+
Function to get the text, a timer display is supposed to show.
+
+ auto getLetter() -> QString +
+
Function to get the letter of the timer.
+
+ void setDisabled(bool disabled) +
+
Function to set if the timer is supposed to be disabled.
+
+ auto getWantsToBeDisabled() -> bool +
+
Function to check if the timer currently wants to be disabled.
+
+ auto getReadyState() -> ScStwTimer::ReadyState virtual +
+
Function to get the current ready status of a timer.
+
+
+
+

Protected slots

+
+
+ void handleClimberStart(double timeOfStart) +
+
slot to call when the climber has started
+
+ void setState(TimerState newState) +
+
Function to change the state of the timer.
+
+ void setWantsToBeDisabled(bool wantsToBeDisabled) +
+
Function to set whether the timer currently wants to be disabled.
+
+ void technicalIncident() +
+
Function to set the timer into INCIDENT state immidieately.
+
+ auto wildcard() -> bool +
+
Function to set the timer into WILDCARD state.
+
+
+
+

Protected variables

+
+
+ TimerState state +
+
The current state of the timer.
+
+ double startTime +
+
The time the timer was started at.
+
+ double stopTime +
+
The time the timer was stopped at.
+
+ double reactionTime +
+
the reaction time of the climber
+
+ QString letter +
+
The letter (eg. "A" or "B") of the Timer (only one char)
+
+ bool wantsToBeDisabled +
+
Defines if the timer currently wants to be disabled or not.
+
+
+
+

Enum documentation

+
+

+ enum ScStwTimer::TimerState +

+

The TimerState enum contains all state the timer can be in.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Enumerators
IDLE +

Timer is waiting to be started

+
STARTING +

Timer is starting and will react with a false start if the climber starts

+
RUNNING +

Timer is running

+
WAITING +

Timer was stopped and is waiting to be set to either WON or LOST

+
WON +

Timer has won

+
LOST +

Timer has lost

+
FAILING +

Timer encountered a false start and is waiting to be set to either FAILED or WILDCARD

+
WILDCARD +

The opponent has done a false start

+
FAILED +

A false start occured

+
CANCELLED +

Timer was cancelled

+
INCIDENT +

There was a technical incident (most likely a disconnected extension)

+
DISABLED +

Timer is disabled

+
+
+
+

+ enum ScStwTimer::ReadyState +

+

The ReadyStatus enum contains all possible reasons for a timer not to be ready (>0) and the case that it is ready (0)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Enumerators
IsReady +

Timer is ready for start

+
NotInIdleState +

Timer is not in IDLE state

+
IsDisabled +

Timer is disabled

+
ExtensionIsNotConnected +

Not all extension of the timer are conneted

+
ExtensionBatteryIsCritical +

The battery level of one or more extension is critical or unknown

+
ClimberIsNotReady +

The startpad of the timer is not triggered

+
+
+
+
+

Function documentation

+
+

+ ScStwTimer::ScStwTimer(QString letter, + QObject* parent = nullptr) explicit +

+

ScStwTimer constructor.

+ + + + + + + + + + + + + + +
Parameters
letterthe letter of the timer (only first char will be used!)
parentthe parent object
+
+
+

+ void ScStwTimer::wantsToBeDisabledChanged(ScStwTimer* timer, + bool wantsToBeDisabled) signal +

+

Emitted when the timer wants its state to be changed by the external handler.

+ + + + + + + + + + + + + + +
Parameters
timerthe timer object
wantsToBeDisabled
+
+
+

+ void ScStwTimer::readyStateChanged(ReadyState readyState) signal +

+

Emitted when the ready state of the timer changes.

+ + + + + + + + + + +
Parameters
readyStatethe new ReadyState
+
+
+

+ bool ScStwTimer::start() public slot +

+

Function to start the timer.

+ + + + + + + +
Returnsfalse if the timer was not in the required state and therefore not started, true otherwise
+

To do this, the timer has to be in ScStwTimer::STARTING state!

+
+
+

+ bool ScStwTimer::start(double timeOfStart) virtual public slot +

+

Function to start the timer at a given point in time (present or future)

+ + + + + + + + + + + + + + + + +
Parameters
timeOfStartthe point in time (msecs since epoch) when the timer is supposted to be started
Returnsfalse if the timer was not in the required state and therefore not started, true otherwise
+

To do this, the timer has to be in ScStwTimer::STARTING state!

+
+
+

+ bool ScStwTimer::cancel() public slot +

+

Function to cancel the timer.

+ + + + + + + +
Returnsfalse if the timer was not in the required state and therefore not cancelled, true otherwise
+

To do this, the timer has to be in ScStwTimer::IDLE, ScStwTimer::STARTING or ScStwTimer::RUNNING state!

+
+
+

+ bool ScStwTimer::stop() public slot +

+

Function to stop the timer.

+ + + + + + + +
Returnsfalse if the timer was not in the required state and therefore not stopped, true otherwise
+

To do this, the timer has to be in ScStwTimer::RUNNING state!

+
+
+

+ bool ScStwTimer::stop(double timeOfStop) public slot +

+

Function to stop the timer at a given point in time (past or future)

+ + + + + + + + + + + + + + + + +
Parameters
timeOfStopthe point in time (msecs since epoch) when the timer is supposted to be stopped
Returnsfalse if the timer was not in the required state and therefore not stopped, true otherwise
+

To do this, the timer has to be in ScStwTimer::RUNNING state!

+
+
+

+ bool ScStwTimer::setResult(TimerState) public slot +

+

Function to assing the result of the race to the timer.

+ + + + + + + +
Returnsfalse if the timer was not in the required state and the result therefore not set, true otherwise
+

To do this, the timer has to be in ScStwTimer::WAITING state!

+
+
+

+ bool ScStwTimer::reset() virtual public slot +

+

Function to reset the timer.

+ + + + + + + +
Returnsfalse if the timer was not in the required state and therefore not reset, true otherwise
+

To do this, the timer has to be in ScStwTimer::WON or ScSTw::LOST state!

+
+
+

+ TimerState ScStwTimer::getState() public slot +

+

Function to get the current state of the timer.

+ + + + + + + +
Returnscurrent state of the timer
+ +
+
+

+ double ScStwTimer::getCurrentTime() public slot +

+

Function to get the current time of the timer.

+ + + + + + + +
ReturnsThe current / final time of the timer or -1 if it is not in the required state
+

To do this, the timer has to be in ScStwTimer::RUNNING, ScStwTimer::WAITING, ScStwTimer::WON or ScSTw::LOST state!

+
+
+

+ double ScStwTimer::getReactionTime() public slot +

+

Function to get the reaction time of the climber.

+ + + + + + + +
ReturnsThe climbers reaction time
+
+
+

+ QString ScStwTimer::getText() public slot +

+

Function to get the text, a timer display is supposed to show.

+ + + + + + + +
ReturnsThe text to show
+
+
+

+ QString ScStwTimer::getLetter() public slot +

+

Function to get the letter of the timer.

+ + + + + + + +
ReturnsThe letter of the timer or ""
+
+
+

+ void ScStwTimer::setDisabled(bool disabled) public slot +

+

Function to set if the timer is supposed to be disabled.

+ + + + + + + + + + +
Parameters
disabledif the timer is supposed to be diabled
+

!!! CAUTION use this function with care, it immidiately changes the state of the timer !!! It is recommended to only use this function to change the timers state after the ScStwTimer::requestTimerEnableChange() signal was called, during the race, the timer is used in, is in IDLE state.

+
+
+

+ bool ScStwTimer::getWantsToBeDisabled() public slot +

+

Function to check if the timer currently wants to be disabled.

+ + + + + + + +
Returnstrue or false
+
+
+

+ ScStwTimer::ReadyState ScStwTimer::getReadyState() virtual public slot +

+

Function to get the current ready status of a timer.

+ + + + + + + +
ReturnsThe current ready status
+
+
+

+ void ScStwTimer::handleClimberStart(double timeOfStart) protected slot +

+

slot to call when the climber has started

+ + + + + + + + + + +
Parameters
timeOfStarttime (msecs since epoch) when the climber started
+
+
+

+ void ScStwTimer::setState(TimerState newState) protected slot +

+

Function to change the state of the timer.

+ + + + + + + + + + +
Parameters
newStateThe new state
+

Doing this will emit the ScStwTimer::stateChanged() signal (only if the new state differs from the current one)

+
+
+

+ void ScStwTimer::setWantsToBeDisabled(bool wantsToBeDisabled) protected slot +

+

Function to set whether the timer currently wants to be disabled.

+ + + + + + + + + + +
Parameters
wantsToBeDisabledtrue or false
+
+
+

+ void ScStwTimer::technicalIncident() protected slot +

+

Function to set the timer into INCIDENT state immidieately.

+

The current state of the timer will be ignored! It can only get out of this state by calling ScStwTimer::reset

+
+
+

+ bool ScStwTimer::wildcard() protected slot +

+

Function to set the timer into WILDCARD state.

+ + + + + + + +
Returnsfalse if not in STARTING state
+

Only works when the timer is in STARTING state.

+
+
+
+
+
+
+ + + + + + diff --git a/favicon.png b/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..0b3888c89925db13cd021efeb5b34064269933f9 GIT binary patch literal 44973 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 + + + + ScStw shared libraries + + + + + + + +
+
+
+
+
+

Files

+
    +
+ +
+
+
+
+ + + +
+ + diff --git a/index.html b/index.html new file mode 100644 index 0000000..beba7de --- /dev/null +++ b/index.html @@ -0,0 +1,101 @@ + + + + + ScStw Libraries documentation | ScStw shared libraries + + + + + + + +
+
+
+
+
+

+ ScStw Libraries documentation +

+

Introduction

This library is meant for usage with the Speed climbing stopwatch project. It contains some helper classes to build a client application for the ScStw basestation with Qt.

Installation

cd yourRepo
+git submodule add https://git.itsblue.de/ScStw/shared-libraries/
+git submodule update --init --recursive

And in your MyProject.pro include the .pri file: include($$PWD/shared-libraries/ScStwLibraries/ScStwLibraries.pri)

+
+
+
+
+ + + +
+ + diff --git a/m-dark+documentation.compiled.css b/m-dark+documentation.compiled.css new file mode 100644 index 0000000..8cc82fb --- /dev/null +++ b/m-dark+documentation.compiled.css @@ -0,0 +1,2923 @@ +/* Generated using `./postprocess.py m-dark.css m-documentation.css -o m-dark+documentation.compiled.css`. Do not edit. */ + +/* + This file is part of m.css. + + Copyright © 2017, 2018, 2019, 2020, 2021, 2022 + Vladimír Vondruš + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +*/ + +*, ::before, ::after { box-sizing: border-box; } +body { margin: 0; } +.m-container { + width: 100%; + margin: auto; + padding-left: 1rem; + padding-right: 1rem; +} +.m-row { + margin-left: -1rem; + margin-right: -1rem; +} +.m-row::after { + content: ' '; + clear: both; + display: table; +} +.m-row > [class*='m-col-'] { + position: relative; + padding: 1rem; +} +[class*='m-clearfix-']::after { + display: block; + content: ' '; + clear: both; +} +[class*='m-show-'] { + display: none; +} +.m-container-inflate, :not(.m-row) > [class*='m-col-'] { + margin-bottom: 1rem; +} +.m-container-inflate:last-child, :not(.m-row) > [class*='m-col-']:last-child { + margin-bottom: 0; +} +.m-container.m-nopad, [class*='m-col-'].m-nopad, +.m-container.m-nopadx, [class*='m-col-'].m-nopadx, +.m-container.m-nopadl, [class*='m-col-'].m-nopadl { + padding-left: 0; +} +.m-container.m-nopad, [class*='m-col-'].m-nopad, +.m-container.m-nopadx, [class*='m-col-'].m-nopadx, +.m-container.m-nopadr, [class*='m-col-'].m-nopadr { + padding-right: 0; +} +[class*='m-col-'].m-nopad, [class*='m-col-'].m-nopady, [class*='m-col-'].m-nopadt { + padding-top: 0; +} +[class*='m-col-'].m-nopad, [class*='m-col-'].m-nopady, [class*='m-col-'].m-nopadb, +.m-container-inflate.m-nopadb { + padding-bottom: 0; +} +[class*='m-col-t-'] { float: left; } +.m-left-t { + padding-right: 1rem; + float: left; +} +.m-right-t, [class*='m-col-t-'].m-right-t { + padding-left: 1rem; + float: right; +} +.m-center-t, [class*='m-col-t-'].m-center-t { + float: none; +} +.m-center-t, [class*='m-col-t-'].m-center-t { + margin-left: auto; + margin-right: auto; + float: none; +} +.m-col-t-1 { width: calc(1 * 100% / 12); } +.m-col-t-2 { width: calc(2 * 100% / 12); } +.m-col-t-3 { width: calc(3 * 100% / 12); } +.m-col-t-4 { width: calc(4 * 100% / 12); } +.m-col-t-5 { width: calc(5 * 100% / 12); } +.m-col-t-6 { width: calc(6 * 100% / 12); } +.m-col-t-7 { width: calc(7 * 100% / 12); } +.m-col-t-8 { width: calc(8 * 100% / 12); } +.m-col-t-9 { width: calc(9 * 100% / 12); } +.m-col-t-10 { width: calc(10 * 100% / 12); } +.m-col-t-11 { width: calc(11 * 100% / 12); } +.m-col-t-12 { width: calc(12 * 100% / 12); } +.m-push-t-1 { left: calc(1 * 100% / 12); } +.m-push-t-2 { left: calc(2 * 100% / 12); } +.m-push-t-3 { left: calc(3 * 100% / 12); } +.m-push-t-4 { left: calc(4 * 100% / 12); } +.m-push-t-5 { left: calc(5 * 100% / 12); } +.m-push-t-6 { left: calc(6 * 100% / 12); } +.m-push-t-7 { left: calc(7 * 100% / 12); } +.m-push-t-8 { left: calc(8 * 100% / 12); } +.m-push-t-9 { left: calc(9 * 100% / 12); } +.m-push-t-10 { left: calc(10 * 100% / 12); } +.m-push-t-11 { left: calc(11 * 100% / 12); } +.m-pull-t-1 { right: calc(1 * 100% / 12); } +.m-pull-t-2 { right: calc(2 * 100% / 12); } +.m-pull-t-3 { right: calc(3 * 100% / 12); } +.m-pull-t-4 { right: calc(4 * 100% / 12); } +.m-pull-t-5 { right: calc(5 * 100% / 12); } +.m-pull-t-6 { right: calc(6 * 100% / 12); } +.m-pull-t-7 { right: calc(7 * 100% / 12); } +.m-pull-t-8 { right: calc(8 * 100% / 12); } +.m-pull-t-9 { right: calc(9 * 100% / 12); } +.m-pull-t-10 { right: calc(10 * 100% / 12); } +.m-pull-t-11 { right: calc(11 * 100% / 12); } +@media screen and (min-width: 576px) { + .m-container { width: 560px; } + .m-container-inflatable .m-col-s-10 .m-container-inflate:not([class*='m-left-']):not([class*='m-right-']) { + margin-left: -10%; + margin-right: -10%; + } + .m-container-inflatable .m-col-s-10 .m-container-inflate.m-left-s { + margin-left: -10%; + } + .m-container-inflatable .m-col-s-10 .m-container-inflate.m-right-s { + margin-right: -10%; + } + [class*='m-col-s-'] { float: left; } + .m-left-s { + padding-right: 1rem; + float: left; + } + .m-right-s, [class*='m-col-s-'].m-right-s { + padding-left: 1rem; + float: right; + } + .m-center-s, [class*='m-col-s-'].m-center-s { + margin-left: auto; + margin-right: auto; + float: none; + } + .m-col-s-1 { width: calc(1 * 100% / 12); } + .m-col-s-2 { width: calc(2 * 100% / 12); } + .m-col-s-3 { width: calc(3 * 100% / 12); } + .m-col-s-4 { width: calc(4 * 100% / 12); } + .m-col-s-5 { width: calc(5 * 100% / 12); } + .m-col-s-6 { width: calc(6 * 100% / 12); } + .m-col-s-7 { width: calc(7 * 100% / 12); } + .m-col-s-8 { width: calc(8 * 100% / 12); } + .m-col-s-9 { width: calc(9 * 100% / 12); } + .m-col-s-10 { width: calc(10 * 100% / 12); } + .m-col-s-11 { width: calc(11 * 100% / 12); } + .m-col-s-12 { width: calc(12 * 100% / 12); } + .m-push-s-0 { left: calc(0 * 100% / 12); } + .m-push-s-1 { left: calc(1 * 100% / 12); } + .m-push-s-2 { left: calc(2 * 100% / 12); } + .m-push-s-3 { left: calc(3 * 100% / 12); } + .m-push-s-4 { left: calc(4 * 100% / 12); } + .m-push-s-5 { left: calc(5 * 100% / 12); } + .m-push-s-6 { left: calc(6 * 100% / 12); } + .m-push-s-7 { left: calc(7 * 100% / 12); } + .m-push-s-8 { left: calc(8 * 100% / 12); } + .m-push-s-9 { left: calc(9 * 100% / 12); } + .m-push-s-10 { left: calc(10 * 100% / 12); } + .m-push-s-11 { left: calc(11 * 100% / 12); } + .m-pull-s-0 { right: calc(0 * 100% / 12); } + .m-pull-s-1 { right: calc(1 * 100% / 12); } + .m-pull-s-2 { right: calc(2 * 100% / 12); } + .m-pull-s-3 { right: calc(3 * 100% / 12); } + .m-pull-s-4 { right: calc(4 * 100% / 12); } + .m-pull-s-5 { right: calc(5 * 100% / 12); } + .m-pull-s-6 { right: calc(6 * 100% / 12); } + .m-pull-s-7 { right: calc(7 * 100% / 12); } + .m-pull-s-8 { right: calc(8 * 100% / 12); } + .m-pull-s-9 { right: calc(9 * 100% / 12); } + .m-pull-s-10 { right: calc(10 * 100% / 12); } + .m-pull-s-11 { right: calc(11 * 100% / 12); } + .m-clearfix-t::after { display: none; } + .m-hide-s { display: none; } + .m-show-s { display: block; } + .m-col-s-none { + width: auto; + float: none; + } +} +@media screen and (min-width: 768px) { + .m-container { width: 750px; } + .m-container-inflatable .m-col-m-10 .m-container-inflate:not([class*='m-left-']):not([class*='m-right-']) { + margin-left: -10%; + margin-right: -10%; + } + .m-container-inflatable .m-col-m-10 .m-container-inflate.m-left-m { + margin-left: -10%; + } + .m-container-inflatable .m-col-m-10 .m-container-inflate.m-right-m { + margin-right: -10%; + } + [class*='m-col-m-'] { float: left; } + .m-left-m { + padding-right: 1rem; + float: left; + } + .m-right-m, [class*='m-col-m-'].m-right-m { + padding-left: 1rem; + float: right; + } + .m-center-m, [class*='m-col-m-'].m-center-m { + margin-left: auto; + margin-right: auto; + float: none; + } + .m-col-m-1 { width: calc(1 * 100% / 12); } + .m-col-m-2 { width: calc(2 * 100% / 12); } + .m-col-m-3 { width: calc(3 * 100% / 12); } + .m-col-m-4 { width: calc(4 * 100% / 12); } + .m-col-m-5 { width: calc(5 * 100% / 12); } + .m-col-m-6 { width: calc(6 * 100% / 12); } + .m-col-m-7 { width: calc(7 * 100% / 12); } + .m-col-m-8 { width: calc(8 * 100% / 12); } + .m-col-m-9 { width: calc(9 * 100% / 12); } + .m-col-m-10 { width: calc(10 * 100% / 12); } + .m-col-m-11 { width: calc(11 * 100% / 12); } + .m-col-m-12 { width: calc(12 * 100% / 12); } + .m-push-m-0 { left: calc(0 * 100% / 12); } + .m-push-m-1 { left: calc(1 * 100% / 12); } + .m-push-m-2 { left: calc(2 * 100% / 12); } + .m-push-m-3 { left: calc(3 * 100% / 12); } + .m-push-m-4 { left: calc(4 * 100% / 12); } + .m-push-m-5 { left: calc(5 * 100% / 12); } + .m-push-m-6 { left: calc(6 * 100% / 12); } + .m-push-m-7 { left: calc(7 * 100% / 12); } + .m-push-m-8 { left: calc(8 * 100% / 12); } + .m-push-m-9 { left: calc(9 * 100% / 12); } + .m-push-m-10 { left: calc(10 * 100% / 12); } + .m-push-m-11 { left: calc(11 * 100% / 12); } + .m-pull-m-0 { right: calc(0 * 100% / 12); } + .m-pull-m-1 { right: calc(1 * 100% / 12); } + .m-pull-m-2 { right: calc(2 * 100% / 12); } + .m-pull-m-3 { right: calc(3 * 100% / 12); } + .m-pull-m-4 { right: calc(4 * 100% / 12); } + .m-pull-m-5 { right: calc(5 * 100% / 12); } + .m-pull-m-6 { right: calc(6 * 100% / 12); } + .m-pull-m-7 { right: calc(7 * 100% / 12); } + .m-pull-m-8 { right: calc(8 * 100% / 12); } + .m-pull-m-9 { right: calc(9 * 100% / 12); } + .m-pull-m-10 { right: calc(10 * 100% / 12); } + .m-pull-m-11 { right: calc(11 * 100% / 12); } + .m-clearfix-s::after { display: none; } + .m-hide-m { display: none; } + .m-show-m { display: block; } + .m-col-m-none { + width: auto; + float: none; + } +} +@media screen and (min-width: 992px) { + .m-container { width: 960px; } + .m-container-inflatable .m-col-l-10 .m-container-inflate:not([class*='m-left-']):not([class*='m-right-']) { + margin-left: -10%; + margin-right: -10%; + } + .m-container-inflatable .m-col-l-10 .m-container-inflate.m-left-l { + margin-left: -10%; + } + .m-container-inflatable .m-col-l-10 .m-container-inflate.m-right-l { + margin-right: -10%; + } + [class*='m-col-l-'] { float: left; } + .m-left-l { + padding-right: 1rem; + float: left; + } + .m-right-l, [class*='m-col-l-'].m-right-l { + padding-left: 1rem; + float: right; + } + .m-center-l, [class*='m-col-l-'].m-center-l { + margin-left: auto; + margin-right: auto; + float: none; + } + .m-col-l-1 { width: calc(1 * 100% / 12); } + .m-col-l-2 { width: calc(2 * 100% / 12); } + .m-col-l-3 { width: calc(3 * 100% / 12); } + .m-col-l-4 { width: calc(4 * 100% / 12); } + .m-col-l-5 { width: calc(5 * 100% / 12); } + .m-col-l-6 { width: calc(6 * 100% / 12); } + .m-col-l-7 { width: calc(7 * 100% / 12); } + .m-col-l-8 { width: calc(8 * 100% / 12); } + .m-col-l-9 { width: calc(9 * 100% / 12); } + .m-col-l-10 { width: calc(10 * 100% / 12); } + .m-col-l-11 { width: calc(11 * 100% / 12); } + .m-col-l-12 { width: calc(12 * 100% / 12); } + .m-push-l-0 { left: calc(0 * 100% / 12); } + .m-push-l-1 { left: calc(1 * 100% / 12); } + .m-push-l-2 { left: calc(2 * 100% / 12); } + .m-push-l-3 { left: calc(3 * 100% / 12); } + .m-push-l-4 { left: calc(4 * 100% / 12); } + .m-push-l-5 { left: calc(5 * 100% / 12); } + .m-push-l-6 { left: calc(6 * 100% / 12); } + .m-push-l-7 { left: calc(7 * 100% / 12); } + .m-push-l-8 { left: calc(8 * 100% / 12); } + .m-push-l-9 { left: calc(9 * 100% / 12); } + .m-push-l-10 { left: calc(10 * 100% / 12); } + .m-push-l-11 { left: calc(11 * 100% / 12); } + .m-pull-l-0 { right: calc(0 * 100% / 12); } + .m-pull-l-1 { right: calc(1 * 100% / 12); } + .m-pull-l-2 { right: calc(2 * 100% / 12); } + .m-pull-l-3 { right: calc(3 * 100% / 12); } + .m-pull-l-4 { right: calc(4 * 100% / 12); } + .m-pull-l-5 { right: calc(5 * 100% / 12); } + .m-pull-l-6 { right: calc(6 * 100% / 12); } + .m-pull-l-7 { right: calc(7 * 100% / 12); } + .m-pull-l-8 { right: calc(8 * 100% / 12); } + .m-pull-l-9 { right: calc(9 * 100% / 12); } + .m-pull-l-10 { right: calc(10 * 100% / 12); } + .m-pull-l-11 { right: calc(11 * 100% / 12); } + .m-clearfix-m::after { display: none; } + .m-hide-l { display: none; } + .m-show-l { display: block; } + .m-col-l-none { + width: auto; + float: none; + } +} + +html { + font-size: 16px; + background-color: #2f363f; +} +body { + font-family: 'Source Sans Pro', sans-serif; + font-size: 1rem; + line-height: normal; + color: #dcdcdc; +} +h1, h2, h3, h4, h5, h6 { + margin-top: 0; + font-weight: 600; +} +h1 { + margin-bottom: 1rem; +} +h2, h3, h4, h5, h6 { + margin-bottom: 0.5rem; +} +p, ul, ol, dl { + margin-top: 0; +} +ul, ol { + padding-left: 2rem; +} +ul ol, ul ul, ol ol, ol ul { + margin-bottom: 0; +} +main p { + text-indent: 1.5rem; + text-align: justify; +} +main p.m-noindent, li > p, dd > p, table.m-table td > p { + text-indent: 0; + text-align: left; +} +blockquote { + margin-top: 0; + margin-left: 1rem; + margin-right: 1rem; + padding: 1rem; + border-left-style: solid; + border-left-width: 0.25rem; +} +hr { + width: 75%; + border-width: 0.0625rem; + border-style: solid; +} +blockquote, hr { + border-color: #405363; +} +strong, .m-text.m-strong { font-weight: bold; } +em, .m-text.m-em { font-style: italic; } +s, .m-text.m-s { text-decoration: line-through; } +sub, sup, .m-text.m-sub, .m-text.m-sup { + font-size: 0.75rem; + line-height: 0; + position: relative; + vertical-align: baseline; +} +sup, .m-text.m-sup { top: -0.35rem; } +sub, .m-text.m-sub { bottom: -0.2rem; } +abbr { + cursor: help; + text-decoration: underline dotted; +} +a { + color: #5b9dd9; +} +a.m-flat { + text-decoration: none; +} +a:hover, a:focus, a:active { + color: #a5c9ea; +} +a img { border: 0; } +svg a { cursor: pointer; } +mark { + padding: 0.0625rem; + background-color: #c7cf2f; + color: #2f83cc; +} +.m-link-wrap { + word-break: break-all; +} +pre, code { + font-family: 'Source Code Pro', monospace, monospace, monospace; + font-size: 0.9em; + color: #e6e6e6; + background-color: #282e36; +} +pre.m-console, code.m-console { + color: #e6e6e6; + background-color: #1a1c1d; +} +pre { + padding: 0.5rem 1rem; + border-radius: 0.2rem; + overflow-x: auto; + margin-top: 0; +} +pre.m-console-wrap { + white-space: pre-wrap; + word-break: break-all; +} +code { + padding: 0.125rem; +} +*:focus { outline-color: #5b9dd9; } +div.m-scroll { + max-width: 100%; + overflow-x: auto; +} +.m-fullwidth { + width: 100%; +} +.m-spacing-150 { + line-height: 1.5rem; +} +.m-text-center, .m-text-center.m-noindent, table.m-table th.m-text-center, .m-text-center p { + text-align: center; +} +.m-text-left, .m-text-left.m-noindent, table.m-table th.m-text-left, .m-text-right p { + text-align: left; +} +.m-text-right, .m-text-right.m-noindent, table.m-table th.m-text-right, .m-text-right p { + text-align: right; +} +.m-text-top, table.m-table th.m-text-top, table.m-table td.m-text-top { + vertical-align: top; +} +.m-text-middle, table.m-table th.m-text-middle, table.m-table td.m-text-middle { + vertical-align: middle; +} +.m-text-bottom, table.m-table th.m-text-bottom, table.m-table td.m-text-bottom { + vertical-align: bottom; +} +.m-text.m-tiny { font-size: 50.0%; } +.m-text.m-small { font-size: 85.4%; } +.m-text.m-big { font-size: 117%; } +h1 .m-thin, h2 .m-thin, h3 .m-thin, h4 .m-thin, h5 .m-thin, h6 .m-thin { + font-weight: normal; +} +ul.m-unstyled, ol.m-unstyled { + list-style-type: none; + padding-left: 0; +} +ul[class*='m-block-'], ol[class*='m-block-'] { + padding-left: 0; +} +ul[class*='m-block-'] li, ol[class*='m-block-'] li { + display: inline; +} +ul[class*='m-block-bar-'] li:not(:last-child)::after, ol[class*='m-block-bar-'] li:not(:last-child)::after { + content: " | "; +} +ul[class*='m-block-dot-'] li:not(:last-child)::after, ol[class*='m-block-dot-'] li:not(:last-child)::after { + content: " • "; +} +@media screen and (min-width: 576px) { + ul.m-block-bar-s, ol.m-block-bar-s, + ul.m-block-dot-s, ol.m-block-dot-s { padding-left: 2rem; } + ul.m-block-bar-s li, ol.m-block-bar-s li, + ul.m-block-dot-s li, ol.m-block-dot-s li { display: list-item; } + ul.m-block-bar-s li:not(:last-child)::after, ol.m-block-bar-s li:not(:last-child)::after, + ul.m-block-dot-s li:not(:last-child)::after, ol.m-block-dot-s li:not(:last-child)::after { content: ""; } +} +@media screen and (min-width: 768px) { + ul.m-block-bar-m, ol.m-block-bar-m, + ul.m-block-dot-m, ol.m-block-dot-m { padding-left: 2rem; } + ul.m-block-bar-m li, ol.m-block-bar-m li, + ul.m-block-dot-m li, ol.m-block-dot-m li { display: list-item; } + ul.m-block-bar-m li:not(:last-child)::after, ol.m-block-bar-m li:not(:last-child)::after, + ul.m-block-dot-m li:not(:last-child)::after, ol.m-block-dot-m li:not(:last-child)::after { content: ""; } +} +@media screen and (min-width: 992px) { + ul.m-block-bar-l, ol.m-block-bar-l, + ul.m-block-dot-l, ol.m-block-dot-l { padding-left: 2rem; } + ul.m-block-bar-l li, ol.m-block-bar-l li, + ul.m-block-dot-l li, ol.m-block-dot-l li { display: list-item; } + ul.m-block-bar-l li:not(:last-child)::after, ol.m-block-bar-l li:not(:last-child)::after, + ul.m-block-dot-l li:not(:last-child)::after, ol.m-block-dot-l li:not(:last-child)::after { content: ""; } +} +p.m-poem { + text-indent: 0; + text-align: left; + margin-left: 1.5rem; +} +p.m-transition { + color: #405363; + text-indent: 0; + text-align: center; + font-size: 2rem; +} +dl.m-diary { + margin-bottom: 1.25rem; +} +dl.m-diary:last-child { + margin-bottom: 0.25rem; +} +dl.m-diary dt { + font-weight: bold; + width: 6rem; + float: left; + clear: both; + padding-top: 0.25rem; +} +dl.m-diary dd { + padding-top: 0.25rem; + padding-left: 6rem; + margin-left: 0; +} +a.m-footnote, dl.m-footnote dd span.m-footnote { + top: -0.35rem; + font-size: 0.75rem; + line-height: 0; + position: relative; + vertical-align: baseline; +} +a.m-footnote, dl.m-footnote dd span.m-footnote a { + text-decoration: none; +} +a.m-footnote::before { content: '['; } +a.m-footnote::after { content: ']'; } +dl.m-footnote dt { + width: 1.5rem; + float: left; + clear: both; +} +dl.m-footnote dd { + margin-left: 1.5rem; +} +dl.m-footnote { + font-size: 85.4%; +} +dl.m-footnote dd span.m-footnote a { + font-weight: bold; + font-style: italic; +} +.m-note { + border-radius: 0.2rem; + padding: 1rem; +} +.m-frame { + background-color: #2f363f; + border-style: solid; + border-width: 0.125rem; + border-radius: 0.2rem; + border-color: #405363; + padding: 0.875rem; +} +.m-block { + border-style: solid; + border-width: 0.0625rem; + border-left-width: 0.25rem; + border-radius: 0.2rem; + border-color: #405363; + padding: 0.9375rem 0.9375rem 0.9375rem 0.75rem; +} +.m-block.m-badge::after { + content: ' '; + display: block; + clear: both; +} +.m-block.m-badge h3 { + margin-left: 5rem; +} +.m-block.m-badge p { + margin-left: 5rem; + text-indent: 0; +} +.m-block.m-badge img { + width: 4rem; + height: 4rem; + border-radius: 2rem; + float: left; +} +div.m-button { + text-align: center; +} +div.m-button a { + display: inline-block; + border-radius: 0.2rem; + padding-top: 0.75rem; + padding-bottom: 0.75rem; + padding-left: 1.5rem; + padding-right: 1.5rem; + text-decoration: none; + font-size: 1.17rem; +} +div.m-button.m-fullwidth a { + display: block; + padding-left: 0.5rem; + padding-right: 0.5rem; +} +div.m-button a .m-big:first-child { + font-size: 1.37rem; + font-weight: bold; +} +div.m-button a .m-small:last-child { + font-size: 0.854rem; +} +.m-label { + border-radius: 0.2rem; + font-size: 75%; + font-weight: normal; + padding: 0.125rem 0.25rem; + vertical-align: 7.5%; +} +.m-label.m-flat { + border-width: 0.0625rem; + border-style: solid; + border-color: #747474; + padding: 0.0625rem 0.1875rem; +} +table.m-table { + border-collapse: collapse; + margin-left: auto; + margin-right: auto; +} +table.m-table.m-big { + margin-top: 1.75rem; +} +div.m-scroll > table.m-table:last-child { + margin-bottom: 0.0625rem; +} +table.m-table:not(.m-flat) tbody tr:hover { + background-color: #405363; +} +table.m-table th, table.m-table td { + vertical-align: top; + border-style: solid; + border-top-width: 0.0625rem; + border-left-width: 0; + border-right-width: 0; + border-bottom-width: 0; + border-color: #405363; +} +table.m-table caption { + padding-bottom: 0.5rem; +} +table.m-table thead tr:first-child th, table.m-table thead tr:first-child td { + border-top-width: 0.125rem; +} +table.m-table thead th, table.m-table thead td { + border-bottom-width: 0.125rem; + vertical-align: bottom; +} +table.m-table tfoot th, table.m-table tfoot td { + border-top-width: 0.125rem; +} +table.m-table th, table.m-table td { + padding: 0.5rem; +} +table.m-table.m-big th, table.m-table.m-big td { + padding: 0.75rem 1rem; +} +table.m-table th { + text-align: left; +} +table.m-table th.m-thin { + font-weight: normal; +} +table.m-table td.m-default, table.m-table th.m-default, +table.m-table td.m-primary, table.m-table th.m-primary, +table.m-table td.m-success, table.m-table th.m-success, +table.m-table td.m-warning, table.m-table th.m-warning, +table.m-table td.m-danger, table.m-table th.m-danger, +table.m-table td.m-info, table.m-table th.m-info, +table.m-table td.m-dim, table.m-table th.m-dim { + padding-left: 0.4375rem; + padding-right: 0.4375rem; + border-left-width: 0.0625rem; +} +table.m-table.m-big td.m-default, table.m-table.m-big th.m-default, +table.m-table.m-big td.m-primary, table.m-table.m-big th.m-primary, +table.m-table.m-big td.m-success, table.m-table.m-big th.m-success, +table.m-table.m-big td.m-warning, table.m-table.m-big th.m-warning, +table.m-table.m-big td.m-danger, table.m-table.m-big th.m-danger, +table.m-table.m-big td.m-info, table.m-table.m-big th.m-info, +table.m-table.m-big td.m-dim, table.m-table.m-big th.m-dim { + padding-left: 0.9375rem; + padding-right: 0.9375rem; + border-left-width: 0.0625rem; +} +table.m-table tr.m-default td, table.m-table td.m-default, +table.m-table tr.m-default th, table.m-table th.m-default, +table.m-table tr.m-primary td, table.m-table td.m-primary, +table.m-table tr.m-primary th, table.m-table th.m-primary, +table.m-table tr.m-success td, table.m-table td.m-success, +table.m-table tr.m-success th, table.m-table th.m-success, +table.m-table tr.m-warning td, table.m-table td.m-warning, +table.m-table tr.m-warning th, table.m-table th.m-warning, +table.m-table tr.m-danger td, table.m-table td.m-danger, +table.m-table tr.m-danger th, table.m-table th.m-danger, +table.m-table tr.m-info td, table.m-table td.m-info, +table.m-table tr.m-info th, table.m-table th.m-info, +table.m-table tr.m-dim td, table.m-table td.m-dim, +table.m-table tr.m-dim th, table.m-table th.m-dim { + border-color: #2f363f; +} +.m-note pre, .m-note code, +table.m-table tr.m-default pre, table.m-table tr.m-default code, +table.m-table td.m-default pre, table.m-table td.m-default code, +table.m-table th.m-default pre, table.m-table th.m-default code, +table.m-table tr.m-primary pre, table.m-table tr.m-primary code, +table.m-table td.m-primary pre, table.m-table td.m-primary code, +table.m-table th.m-primary pre, table.m-table th.m-primary code, +table.m-table tr.m-success pre, table.m-table tr.m-success code, +table.m-table td.m-success pre, table.m-table td.m-success code, +table.m-table th.m-success pre, table.m-table th.m-success code, +table.m-table tr.m-warning pre, table.m-table tr.m-warning code, +table.m-table td.m-warning pre, table.m-table td.m-warning code, +table.m-table th.m-warning pre, table.m-table th.m-warning code, +table.m-table tr.m-danger pre, table.m-table tr.m-danger code, +table.m-table td.m-danger pre, table.m-table td.m-danger code, +table.m-table th.m-danger pre, table.m-table th.m-danger code, +table.m-table tr.m-info pre, table.m-table tr.m-info code, +table.m-table td.m-info pre, table.m-table td.m-info code, +table.m-table th.m-info pre, table.m-table th.m-info code, +table.m-table tr.m-dim pre, table.m-table tr.m-dim code, +table.m-table td.m-dim pre, table.m-table td.m-dim code, +table.m-table th.m-dim pre, table.m-table th.m-dim code { + background-color: rgba(34, 39, 46, 0.5); +} +img.m-image, svg.m-image { + display: block; + margin-left: auto; + margin-right: auto; +} +div.m-image { + text-align: center; +} +img.m-image, svg.m-image, div.m-image img, div.m-image svg { + max-width: 100%; + border-radius: 0.2rem; +} +div.m-image.m-fullwidth img, div.m-image.m-fullwidth svg { + width: 100%; +} +img.m-image.m-badge, div.m-image.m-badge img { + border-radius: 50%; +} +figure.m-figure { + max-width: 100%; + margin-top: 0; + margin-left: auto; + margin-right: auto; + position: relative; + display: table; +} +figure.m-figure::before { + position: absolute; + content: ' '; + top: 0; + bottom: 0; + left: 0; + right: 0; + z-index: -1; + border-style: solid; + border-width: 0.125rem; + border-radius: 0.2rem; + border-color: #405363; +} +figure.m-figure.m-flat::before { + border-color: transparent; +} +figure.m-figure > * { + margin-left: 1rem; + margin-right: 1rem; + display: table-caption; + caption-side: bottom; +} +figure.m-figure > *:first-child { + display: inline; +} +figure.m-figure > *:last-child { + margin-bottom: 1rem !important; +} +figure.m-figure img, figure.m-figure svg { + position: relative; + margin-left: 0; + margin-right: 0; + margin-bottom: 0; + border-top-left-radius: 0.2rem; + border-top-right-radius: 0.2rem; + max-width: 100%; +} +figure.m-figure.m-flat img, figure.m-figure.m-flat svg { + border-bottom-left-radius: 0.2rem; + border-bottom-right-radius: 0.2rem; +} +figure.m-figure a img, figure.m-figure a svg { + margin-left: -1rem; + margin-right: -1rem; +} +figure.m-figure.m-fullwidth, figure.m-figure.m-fullwidth > * { + display: block; +} +figure.m-figure.m-fullwidth > *:first-child { + display: inline; +} +figure.m-figure.m-fullwidth img, figure.m-figure.m-fullwidth svg { + width: 100%; +} +figure.m-figure.m-fullwidth::after { + content: ' '; + display: block; + margin-top: 1rem; + height: 1px; +} +.m-code-figure, .m-console-figure { + margin-top: 0; + margin-left: 0; + margin-right: 0; + position: relative; + padding: 1rem; +} +.m-code-figure::before, .m-console-figure::before { + position: absolute; + content: ' '; + top: 0; + bottom: 0; + left: 0; + right: 0; + z-index: -1; + border-style: solid; + border-width: 0.125rem; + border-radius: 0.2rem; +} +.m-code-figure::before { + border-color: #282e36; +} +.m-console-figure::before { + border-color: #1a1c1d; +} +.m-code-figure.m-flat::before, .m-console-figure.m-flat::before { + border-color: transparent; +} +.m-code-figure > pre:first-child, .m-console-figure > pre:first-child { + position: relative; + margin: -1rem -1rem 1rem -1rem; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; +} +.m-code-figure > pre.m-nopad, .m-console-figure > pre.m-nopad { + margin-left: -0.875rem; + margin-right: -0.875rem; + margin-top: -1rem; + margin-bottom: -0.875rem; + padding-left: 0.875rem; +} +figure.m-figure figcaption, .m-code-figure figcaption, .m-console-figure figcaption { + margin-top: 0.5rem; + margin-bottom: 0.5rem; + font-weight: 600; + font-size: 1.17rem; +} +figure.m-figure figcaption a, .m-code-figure figcaption a, .m-console-figure figcaption a { + text-decoration: none; +} +figure.m-figure figcaption .m-figure-description { + margin-top: 0.5rem; + font-weight: normal; + font-size: 1rem; +} +figure.m-figure figcaption .m-figure-description a { + text-decoration: underline; +} +.m-imagegrid > div { + background-color: #2f363f; +} +.m-imagegrid > div > figure { + display: block; + float: left; + position: relative; + margin: 0; +} +.m-imagegrid > div > figure > div, +.m-imagegrid > div > figure > figcaption, +.m-imagegrid > div > figure > a > div, +.m-imagegrid > div > figure > a > figcaption { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + border-color: #2f363f; + border-style: solid; + border-width: 0.25rem; + padding: 0.5rem; +} +.m-imagegrid > div > figure:first-child > div, +.m-imagegrid > div > figure:first-child > figcaption, +.m-imagegrid > div > figure:first-child > a > div, +.m-imagegrid > div > figure:first-child > a > figcaption { + border-left-width: 0; +} +.m-imagegrid > div > figure:last-child > div, +.m-imagegrid > div > figure:last-child > figcaption, +.m-imagegrid > div > figure:last-child > a > div, +.m-imagegrid > div > figure:last-child > a > figcaption { + border-right-width: 0; +} +.m-imagegrid > div > figure > figcaption, +.m-imagegrid > div > figure > a > figcaption { + color: transparent; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + font-size: 0.75rem; +} +.m-imagegrid > div > figure > div::before, +.m-imagegrid > div > figure > figcaption::before, +.m-imagegrid > div > figure > a > div::before, +.m-imagegrid > div > figure > a > figcaption::before { + content: ''; + display: inline-block; + height: 100%; + vertical-align: bottom; + width: 0; +} +.m-imagegrid > div > figure:hover > figcaption, +.m-imagegrid > div > figure:hover > a > figcaption { + background: linear-gradient(transparent 0%, transparent 75%, rgba(0, 0, 0, 0.85) 100%); + color: #ffffff; +} +.m-imagegrid > div > figure > img, +.m-imagegrid > div > figure > a > img { + width: 100%; + height: 100%; +} +.m-imagegrid > div::after { + display: block; + content: ' '; + clear: both; +} +@media screen and (max-width: 767px) { + .m-imagegrid > div > figure { + float: none; + width: 100% !important; + } + .m-imagegrid > div > figure > div, + .m-imagegrid > div > figure > figcaption, + .m-imagegrid > div > figure > a > div, + .m-imagegrid > div > figure > a > figcaption { + border-left-width: 0; + border-right-width: 0; + } +} +.m-container-inflatable > .m-row > [class*='m-col-'] > .m-note, +.m-container-inflatable > .m-row > [class*='m-col-'] > .m-frame, +.m-container-inflatable > .m-row > [class*='m-col-'] > .m-block, +.m-container-inflatable > .m-row > [class*='m-col-'] > .m-imagegrid, +.m-container-inflatable > .m-row > [class*='m-col-'] > pre, +.m-container-inflatable > .m-row > [class*='m-col-'] > .m-code-figure, +.m-container-inflatable > .m-row > [class*='m-col-'] > .m-console-figure, +.m-container-inflatable > .m-row > [class*='m-col-'] section > .m-note, +.m-container-inflatable > .m-row > [class*='m-col-'] section > .m-frame, +.m-container-inflatable > .m-row > [class*='m-col-'] section > .m-block, +.m-container-inflatable > .m-row > [class*='m-col-'] section > .m-imagegrid, +.m-container-inflatable > .m-row > [class*='m-col-'] section > pre, +.m-container-inflatable > .m-row > [class*='m-col-'] section > .m-code-figure, +.m-container-inflatable > .m-row > [class*='m-col-'] section > .m-console-figure, +.m-container-inflatable [class*='m-center-'] > .m-note, +.m-container-inflatable [class*='m-center-'] > .m-frame, +.m-container-inflatable [class*='m-center-'] > .m-block, +.m-container-inflatable [class*='m-center-'] > .m-imagegrid, +.m-container-inflatable [class*='m-center-'] > pre, +.m-container-inflatable [class*='m-center-'] > .m-code-figure, +.m-container-inflatable [class*='m-center-'] > .m-console-figure, +.m-container-inflatable [class*='m-left-'] > .m-note, +.m-container-inflatable [class*='m-left-'] > .m-frame, +.m-container-inflatable [class*='m-left-'] > .m-block, +.m-container-inflatable [class*='m-left-'] > .m-imagegrid, +.m-container-inflatable [class*='m-left-'] > pre, +.m-container-inflatable [class*='m-left-'] > .m-code-figure, +.m-container-inflatable [class*='m-left-'] > .m-console-figure, +.m-container-inflatable [class*='m-right-'] > .m-note, +.m-container-inflatable [class*='m-right-'] > .m-frame, +.m-container-inflatable [class*='m-right-'] > .m-block, +.m-container-inflatable [class*='m-right-'] > .m-imagegrid, +.m-container-inflatable [class*='m-right-'] > pre, +.m-container-inflatable [class*='m-right-'] > .m-code-figure, +.m-container-inflatable [class*='m-right-'] > .m-console-figure, +.m-container-inflatable .m-container-inflate > .m-note, +.m-container-inflatable .m-container-inflate > .m-frame, +.m-container-inflatable .m-container-inflate > .m-block, +.m-container-inflatable .m-container-inflate > .m-imagegrid, +.m-container-inflatable .m-container-inflate > pre, +.m-container-inflatable .m-container-inflate > .m-code-figure, +.m-container-inflatable .m-container-inflate > .m-console-figure +{ + margin-left: -1rem; + margin-right: -1rem; +} +@media screen and (min-width: 576px) { + .m-container-inflatable .m-center-s > .m-note, + .m-container-inflatable .m-center-s > .m-frame, + .m-container-inflatable .m-center-s > .m-block, + .m-container-inflatable .m-center-s > .m-imagegrid, + .m-container-inflatable .m-center-s > pre, + .m-container-inflatable .m-center-s > .m-code-figure, + .m-container-inflatable .m-center-s > .m-console-figure { + margin-left: -1rem; + margin-right: -1rem; + } + .m-container-inflatable .m-left-s > .m-note, + .m-container-inflatable .m-left-s > .m-frame, + .m-container-inflatable .m-left-s > .m-block, + .m-container-inflatable .m-left-s > .m-imagegrid, + .m-container-inflatable .m-left-s > pre, + .m-container-inflatable .m-left-s > .m-code-figure, + .m-container-inflatable .m-left-s > .m-console-figure { + margin-left: -1rem; + margin-right: 0; + } + .m-container-inflatable .m-right-s > .m-note, + .m-container-inflatable .m-right-s > .m-frame, + .m-container-inflatable .m-right-s > .m-block, + .m-container-inflatable .m-right-s > .m-imagegrid, + .m-container-inflatable .m-right-s > pre, + .m-container-inflatable .m-right-s > .m-code-figure, + .m-container-inflatable .m-right-s > .m-console-figure { + margin-left: 0; + margin-right: -1rem; + } + .m-container-inflatable > .m-row > .m-col-s-10 > .m-imagegrid.m-container-inflate, + .m-container-inflatable > .m-row > .m-col-s-10 section > .m-imagegrid.m-container-inflate { + margin-left: -10%; + margin-right: -10%; + } +} +@media screen and (min-width: 768px) { + .m-container-inflatable .m-center-m > .m-note, + .m-container-inflatable .m-center-m > .m-frame, + .m-container-inflatable .m-center-m > .m-block, + .m-container-inflatable .m-center-m > .m-imagegrid, + .m-container-inflatable .m-center-m > pre, + .m-container-inflatable .m-center-m > .m-code-figure, + .m-container-inflatable .m-center-m > .m-console-figure { + margin-left: -1rem; + margin-right: -1rem; + } + .m-container-inflatable .m-left-m > .m-note, + .m-container-inflatable .m-left-m > .m-frame, + .m-container-inflatable .m-left-m > .m-block, + .m-container-inflatable .m-left-m > .m-imagegrid, + .m-container-inflatable .m-left-m > pre, + .m-container-inflatable .m-left-m > .m-code-figure, + .m-container-inflatable .m-left-m > .m-console-figure { + margin-left: -1rem; + margin-right: 0; + } + .m-container-inflatable .m-right-m > .m-note, + .m-container-inflatable .m-right-m > .m-frame, + .m-container-inflatable .m-right-m > .m-block, + .m-container-inflatable .m-right-m > .m-imagegrid, + .m-container-inflatable .m-right-m > pre, + .m-container-inflatable .m-right-m > .m-code-figure, + .m-container-inflatable .m-right-m > .m-console-figure { + margin-left: 0; + margin-right: -1rem; + } + .m-container-inflatable > .m-row > .m-col-m-10 > .m-imagegrid.m-container-inflate, + .m-container-inflatable > .m-row > .m-col-m-10 section > .m-imagegrid.m-container-inflate { + margin-left: -10%; + margin-right: -10%; + } +} +@media screen and (min-width: 992px) { + .m-container-inflatable .m-center-l > .m-note, + .m-container-inflatable .m-center-l > .m-frame, + .m-container-inflatable .m-center-l > .m-block, + .m-container-inflatable .m-center-l > .m-imagegrid, + .m-container-inflatable .m-center-l > pre, + .m-container-inflatable .m-center-l > .m-code-figure, + .m-container-inflatable .m-center-l > .m-console-figure { + margin-left: -1rem; + margin-right: -1rem; + } + .m-container-inflatable .m-left-l > .m-note, + .m-container-inflatable .m-left-l > .m-frame, + .m-container-inflatable .m-left-l > .m-block, + .m-container-inflatable .m-left-l > .m-imagegrid, + .m-container-inflatable .m-left-l > pre, + .m-container-inflatable .m-left-l > .m-code-figure, + .m-container-inflatable .m-left-l > .m-console-figure { + margin-left: -1rem; + margin-right: 0; + } + .m-container-inflatable .m-right-l > .m-note, + .m-container-inflatable .m-right-l > .m-frame, + .m-container-inflatable .m-right-l > .m-block, + .m-container-inflatable .m-right-l > .m-imagegrid, + .m-container-inflatable .m-right-l > pre, + .m-container-inflatable .m-right-l > .m-code-figure, + .m-container-inflatable .m-right-l > .m-console-figure { + margin-left: 0; + margin-right: -1rem; + } + .m-container-inflatable > .m-row > .m-col-l-10 > .m-imagegrid.m-container-inflate, + .m-container-inflatable > .m-row > .m-col-l-10 section > .m-imagegrid.m-container-inflate { + margin-left: -10%; + margin-right: -10%; + } +} +pre.m-code span.hll { + margin-left: -1.0rem; + margin-right: -1.0rem; + padding-left: 1.0rem; +} +.m-code.m-inverted > span, .m-console.m-inverted > span { + opacity: 0.3333; +} +.m-code.m-inverted > span.hll, .m-console.m-inverted > span.hll { + opacity: 1; + background-color: transparent; + border-color: transparent; +} +.m-code.m-inverted { color: rgba(230, 230, 230, 0.33); } +.m-console.m-inverted { color: rgba(230, 230, 230, 0.33); } +.m-code.m-inverted > span.hll { color: #e6e6e6; } +.m-cosole.m-inverted > span.hll { color: #e6e6e6; } +.m-code-color { + display: inline-block; + width: 0.75rem; + height: 0.75rem; + vertical-align: -0.05rem; + margin-left: 0.2rem; + margin-right: 0.1rem; + border-radius: 0.1rem; +} +div.m-math { + overflow-x: auto; + overflow-y: hidden; +} +div.m-math svg { + margin-left: auto; + margin-right: auto; + display: block; +} +div.m-button a svg.m-math { fill: #22272e; } +div.m-button.m-flat a svg.m-math { fill: #dcdcdc; } +div.m-button.m-flat a:hover svg.m-math, div.m-button.m-default a:focus svg.m-math, +div.m-button.m-default a:active svg.m-math { + fill: #a5c9ea; +} +.m-graph { font-size: 16px; } +div.m-plot svg, div.m-graph svg { + max-width: 100%; + margin-left: auto; + margin-right: auto; + display: block; +} +div.m-plot .m-background { fill: #34424d; } +div.m-plot svg .m-label { font-size: 11px; } +div.m-plot svg .m-title { font-size: 13px; } +div.m-plot svg .m-label, div.m-plot svg .m-title { fill: #dcdcdc; } +div.m-plot svg .m-line { + stroke: #dcdcdc; + stroke-width: 0.8; +} +div.m-plot svg .m-error { + stroke: #ffffff; + stroke-width: 1.5; +} +div.m-plot svg .m-label.m-dim { fill: #747474; } +.m-graph g.m-edge path, .m-graph g.m-cluster polygon, +.m-graph g.m-node.m-flat ellipse, +.m-graph g.m-node.m-flat polygon { + fill: none; +} +.m-graph g.m-node:not(.m-flat) text { + fill: #22272e; +} +figure.m-figure > svg.m-math:first-child, +figure.m-figure > svg.m-graph:first-child { + padding: 1rem; + box-sizing: content-box; +} +figure.m-figure:not(.m-flat) > svg.m-math:first-child, +figure.m-figure:not(.m-flat) > svg.m-graph:first-child { + background-color: #405363; +} +.m-block.m-default { border-left-color: #405363; } +.m-block.m-default h3, .m-block.m-default h4, .m-block.m-default h5, .m-block.m-default h6, +.m-text.m-default, .m-label.m-flat.m-default { + color: #dcdcdc; +} +.m-block.m-default h3 a, .m-block.m-default h4 a, .m-block.m-default h5 a, .m-block.m-default h6 a { + color: #5b9dd9; +} +.m-block.m-primary { border-left-color: #a5c9ea; } +.m-block.m-primary h3, .m-block.m-primary h4, .m-block.m-primary h5, .m-block.m-primary h6, +.m-block.m-primary h3 a, .m-block.m-primary h4 a, .m-block.m-primary h5 a, .m-block.m-primary h6 a, +.m-text.m-primary, .m-label.m-flat.m-primary { + color: #a5c9ea; +} +.m-block.m-success { border-left-color: #3bd267; } +.m-block.m-success h3, .m-block.m-success h4, .m-block.m-success h5, .m-block.m-success h6, +.m-block.m-success h3 a, .m-block.m-success h4 a, .m-block.m-success h5 a, .m-block.m-success h6 a, +.m-text.m-success, .m-label.m-flat.m-success { + color: #3bd267; +} +.m-block.m-warning { border-left-color: #c7cf2f; } +.m-block.m-warning h3, .m-block.m-warning h4, .m-block.m-warning h5, .m-block.m-warning h6, +.m-block.m-warning h3 a, .m-block.m-warning h4 a, .m-block.m-warning h5 a, .m-block.m-warning h6 a, +.m-text.m-warning, .m-label.m-flat.m-warning { + color: #c7cf2f; +} +.m-block.m-danger { border-left-color: #cd3431; } +.m-block.m-danger h3, .m-block.m-danger h4, .m-block.m-danger h5, .m-block.m-danger h6, +.m-block.m-danger h3 a, .m-block.m-danger h4 a, .m-block.m-danger h5 a, .m-block.m-danger h6 a, +.m-text.m-danger, .m-label.m-flat.m-danger { + color: #cd3431; +} +.m-block.m-info { border-left-color: #2f83cc; } +.m-block.m-info h3, .m-block.m-info h4, .m-block.m-info h5, .m-block.m-info h6, +.m-block.m-info h3 a, .m-block.m-info h4 a, .m-block.m-info h5 a, .m-block.m-info h6 a, +.m-text.m-info, .m-label.m-flat.m-info { + color: #2f83cc; +} +.m-block.m-dim { border-left-color: #747474; } +.m-block.m-dim, .m-text.m-dim, .m-label.m-flat.m-dim { + color: #747474; +} +.m-block.m-dim a, .m-text.m-dim a { color: #acacac; } +.m-block.m-dim a:hover, .m-block.m-dim a:focus, .m-block.m-dim a:active, +.m-text.m-dim a:hover, .m-text.m-dim a:focus, .m-text.m-dim a:active { + color: #747474; +} +.m-block.m-flat { border-color: transparent; } +.m-block.m-flat h3, .m-block.m-flat h4, .m-block.m-flat h5, .m-block.m-flat h6 { + color: #dcdcdc; +} +.m-block.m-default h3 a:hover, .m-block.m-default h3 a:focus, .m-block.m-default h3 a:active, +.m-block.m-default h4 a:hover, .m-block.m-default h4 a:focus, .m-block.m-default h4 a:active, +.m-block.m-default h5 a:hover, .m-block.m-default h5 a:focus, .m-block.m-default h5 a:active, +.m-block.m-default h6 a:hover, .m-block.m-default h6 a:focus, .m-block.m-default h6 a:active { + color: #a5c9ea; +} +.m-block.m-primary h3 a:hover, .m-block.m-primary h3 a:focus, .m-block.m-primary h3 a:active, +.m-block.m-primary h4 a:hover, .m-block.m-primary h4 a:focus, .m-block.m-primary h4 a:active, +.m-block.m-primary h5 a:hover, .m-block.m-primary h5 a:focus, .m-block.m-primary h5 a:active, +.m-block.m-primary h6 a:hover, .m-block.m-primary h6 a:focus, .m-block.m-primary h6 a:active { + color: #dcdcdc; +} +.m-block.m-success h3 a:hover, .m-block.m-success h3 a:focus, .m-block.m-success h3 a:active, +.m-block.m-success h4 a:hover, .m-block.m-success h4 a:focus, .m-block.m-success h4 a:active, +.m-block.m-success h5 a:hover, .m-block.m-success h5 a:focus, .m-block.m-success h5 a:active, +.m-block.m-success h6 a:hover, .m-block.m-success h6 a:focus, .m-block.m-success h6 a:active { + color: #acecbe; +} +.m-block.m-warning h3 a:hover, .m-block.m-warning h3 a:focus, .m-block.m-warning h3 a:active, +.m-block.m-warning h4 a:hover, .m-block.m-warning h4 a:focus, .m-block.m-warning h4 a:active, +.m-block.m-warning h5 a:hover, .m-block.m-warning h5 a:focus, .m-block.m-warning h5 a:active, +.m-block.m-warning h6 a:hover, .m-block.m-warning h6 a:focus, .m-block.m-warning h6 a:active { + color: #e9ecae; +} +.m-block.m-danger h3 a:hover, .m-block.m-danger h3 a:focus, .m-block.m-danger h3 a:active, +.m-block.m-danger h4 a:hover, .m-block.m-danger h4 a:focus, .m-block.m-danger h4 a:active, +.m-block.m-danger h5 a:hover, .m-block.m-danger h5 a:focus, .m-block.m-danger h5 a:active, +.m-block.m-danger h6 a:hover, .m-block.m-danger h6 a:focus, .m-block.m-danger h6 a:active { + color: #ff9391; +} +.m-block.m-info h3 a:hover, .m-block.m-info h3 a:focus, .m-block.m-info h3 a:active, +.m-block.m-info h4 a:hover, .m-block.m-info h4 a:focus, .m-block.m-info h4 a:active, +.m-block.m-info h5 a:hover, .m-block.m-info h5 a:focus, .m-block.m-info h5 a:active, +.m-block.m-info h6 a:hover, .m-block.m-info h6 a:focus, .m-block.m-info h6 a:active { + color: #5297d7; +} +div.m-button a, .m-label { color: #22272e; } +div.m-button.m-flat a { color: #dcdcdc; } +div.m-button.m-flat a:hover, div.m-button.m-default a:focus, div.m-button.m-default a:active { + color: #a5c9ea; +} +div.m-button.m-default a, .m-label:not(.m-flat).m-default { background-color: #dcdcdc; } +div.m-button.m-primary a, .m-label:not(.m-flat).m-primary { background-color: #a5c9ea; } +div.m-button.m-success a, .m-label:not(.m-flat).m-success { background-color: #3bd267; } +div.m-button.m-warning a, .m-label:not(.m-flat).m-warning { background-color: #c7cf2f; } +div.m-button.m-danger a, .m-label:not(.m-flat).m-danger { background-color: #cd3431; } +div.m-button.m-info a, .m-label:not(.m-flat).m-info { background-color: #2f83cc; } +div.m-button.m-dim a, .m-label:not(.m-flat).m-dim { background-color: #747474; } +div.m-button.m-default a:hover, div.m-button.m-default a:focus, div.m-button.m-default a:active { + background-color: #a5c9ea; +} +div.m-button.m-primary a:hover, div.m-button.m-primary a:focus, div.m-button.m-primary a:active { + background-color: #dcdcdc; +} +div.m-button.m-success a:hover, div.m-button.m-success a:focus, div.m-button.m-success a:active { + background-color: #acecbe; +} +div.m-button.m-warning a:hover, div.m-button.m-warning a:focus, div.m-button.m-warning a:active { + background-color: #e9ecae; +} +div.m-button.m-danger a:hover, div.m-button.m-danger a:focus, div.m-button.m-danger a:active { + background-color: #ff9391; +} +div.m-button.m-info a:hover, div.m-button.m-info a:focus, div.m-button.m-info a:active { + background-color: #5297d7; +} +div.m-button.m-dim a:hover, div.m-button.m-dim a:focus, div.m-button.m-dim a:active { + background-color: #acacac; +} +.m-note.m-default { background-color: #34424d; } +.m-note.m-default, +table.m-table tr.m-default td, table.m-table td.m-default, +table.m-table tr.m-default th, table.m-table th.m-default { + color: #dcdcdc; +} +.m-note.m-default a:hover, +table.m-table tr.m-default td a:hover, table.m-table td.m-default a:hover, +table.m-table tr.m-default th a:hover, table.m-table th.m-default a:hover, +.m-note.m-default a:focus, +table.m-table tr.m-default td a:focus, table.m-table td.m-default a:focus, +table.m-table tr.m-default th a:focus, table.m-table th.m-default a:focus, +.m-note.m-default a:active, +table.m-table tr.m-default td a:active, table.m-table td.m-default a:active, +table.m-table tr.m-default th a:active, table.m-table th.m-default a:active { + color: #a5c9ea; +} +.m-note.m-primary a, +table.m-table tr.m-primary td a, table.m-table td.m-primary a, +table.m-table tr.m-primary th a, table.m-table th.m-primary a { + color: #5b9dd9; +} +.m-note.m-primary, +table.m-table tr.m-primary td, table.m-table td.m-primary, +table.m-table tr.m-primary th, table.m-table th.m-primary { + background-color: #a5c2db; + color: #2f363f; +} +.m-note.m-primary a, +table.m-table tr.m-primary td a, table.m-table td.m-primary a, +table.m-table tr.m-primary th a, table.m-table th.m-primary a { + color: #2a75b6; +} +.m-note.m-primary a:hover, +table.m-table tr.m-primary td a:hover, table.m-table td.m-primary a:hover, +table.m-table tr.m-primary th a:hover, table.m-table th.m-primary a:hover, +.m-note.m-primary a:focus, +table.m-table tr.m-primary td a:focus, table.m-table td.m-primary a:focus, +table.m-table tr.m-primary th a:focus, table.m-table th.m-primary a:focus, +.m-note.m-primary a:active, +table.m-table tr.m-primary td a:active, table.m-table td.m-primary a:active, +table.m-table tr.m-primary th a:active, table.m-table th.m-primary a:active { + color: #2f363f; +} +.m-note.m-success, +table.m-table tr.m-success td, table.m-table td.m-success, +table.m-table tr.m-success th, table.m-table th.m-success { + background-color: #2a703f; + color: #acecbe; +} +.m-note.m-success a, +table.m-table tr.m-success td a, table.m-table td.m-success a, +table.m-table tr.m-success th a, table.m-table th.m-success a { + color: #3bd267; +} +.m-note.m-success a:hover, +table.m-table tr.m-success td a:hover, table.m-table td.m-success a:hover, +table.m-table tr.m-success th a:hover, table.m-table th.m-success a:hover, +.m-note.m-success a:focus, +table.m-table tr.m-success td a:focus, table.m-table td.m-success a:focus, +table.m-table tr.m-success th a:focus, table.m-table th.m-success a:focus, +.m-note.m-success a:active, +table.m-table tr.m-success td a:active, table.m-table td.m-success a:active, +table.m-table tr.m-success th a:active, table.m-table th.m-success a:active { + color: #acecbe; +} +.m-note.m-warning, table.m-table tr.m-warning td, table.m-table td.m-warning, + table.m-table tr.m-warning th, table.m-table th.m-warning { + background-color: #6d702a; + color: #e9ecae; +} +.m-note.m-warning a, table.m-table tr.m-warning td a, table.m-table td.m-warning a, + table.m-table tr.m-warning th a, table.m-table th.m-warning a { + color: #b8bf2b; +} +.m-note.m-warning a:hover, +table.m-table tr.m-warning td a:hover, table.m-table td.m-warning a:hover, +table.m-table tr.m-warning th a:hover, table.m-table th.m-warning a:hover, +.m-note.m-warning a:focus, +table.m-table tr.m-warning td a:focus, table.m-table td.m-warning a:focus, +table.m-table tr.m-warning th a:focus, table.m-table th.m-warning a:focus, +.m-note.m-warning a:active, +table.m-table tr.m-warning td a:active, table.m-table td.m-warning a:active, +table.m-table tr.m-warning th a:active, table.m-table th.m-warning a:active { + color: #e9ecae; +} +.m-note.m-danger, +table.m-table tr.m-danger td, table.m-table td.m-danger, +table.m-table tr.m-danger th, table.m-table th.m-danger { + background-color: #702b2a; + color: #ff9391; +} +.m-note.m-danger a, +table.m-table tr.m-danger td a, table.m-table td.m-danger a, +table.m-table tr.m-danger th a, table.m-table th.m-danger a { + color: #d85c59; +} +.m-note.m-danger a:hover, +table.m-table tr.m-danger td a:hover, table.m-table td.m-danger a:hover, +table.m-table tr.m-danger th a:hover, table.m-table th.m-danger a:hover, +.m-note.m-danger a:focus, +table.m-table tr.m-danger td a:focus, table.m-table td.m-danger a:focus, +table.m-table tr.m-danger th a:focus, table.m-table th.m-danger a:focus, +.m-note.m-danger a:active, +table.m-table tr.m-danger td a:active, table.m-table td.m-danger a:active, +table.m-table tr.m-danger th a:active, table.m-table th.m-danger a:active { + color: #ff9391; +} +.m-note.m-info, +table.m-table tr.m-info td, table.m-table td.m-info, +table.m-table tr.m-info th, table.m-table th.m-info { + background-color: #2a4f70; + color: #a5caeb; +} +.m-note.m-info a, +table.m-table tr.m-info td a, table.m-table td.m-info a, +table.m-table tr.m-info th a, table.m-table th.m-info a { + color: #5297d7; +} +.m-note.m-info a:hover, +table.m-table tr.m-info td a:hover, table.m-table td.m-info a:hover, +table.m-table tr.m-info th a:hover, table.m-table th.m-info a:hover, +.m-note.m-info a:focus, +table.m-table tr.m-info td a:focus, table.m-table td.m-info a:focus, +table.m-table tr.m-info th a:focus, table.m-table th.m-info a:focus, +.m-note.m-info a:active, +table.m-table tr.m-info td a:active, table.m-table td.m-info a:active, +table.m-table tr.m-info th a:active, table.m-table th.m-info a:active { + color: #a5caeb; +} +.m-note.m-dim, +table.m-table tr.m-dim td, table.m-table td.m-dim, +table.m-table tr.m-dim th, table.m-table th.m-dim { + background-color: #2d3236; + color: #747474; +} +.m-note.m-dim a, +table.m-table tr.m-dim td a, table.m-table td.m-dim a, +table.m-table tr.m-dim th a, table.m-table th.m-dim a { + color: #acacac; +} +.m-note.m-dim a:hover, +table.m-table tr.m-dim td a:hover, table.m-table td.m-dim a:hover, +table.m-table tr.m-dim th a:hover, table.m-table th.m-dim a:hover, +.m-note.m-dim a:focus, +table.m-table tr.m-dim td a:focus, table.m-table td.m-dim a:focus, +table.m-table tr.m-dim th a:focus, table.m-table th.m-dim a:focus, +.m-note.m-dim a:active, +table.m-table tr.m-dim td a:active, table.m-table td.m-dim a:active, +table.m-table tr.m-dim th a:active, table.m-table th.m-dim a:active { + color: #747474; +} +figure.m-figure.m-default::before { border-color: #34424d; } +figure.m-figure.m-default figcaption { color: #dcdcdc; } +figure.m-figure.m-primary::before { border-color: #a5c2db; } +figure.m-figure.m-primary figcaption { color: #a5c9ea; } +figure.m-figure.m-primary figcaption .m-figure-description { color: #dcdcdc; } +figure.m-figure.m-success::before { border-color: #2a703f; } +figure.m-figure.m-success figcaption { color: #3bd267; } +figure.m-figure.m-success figcaption .m-figure-description { color: #dcdcdc; } +figure.m-figure.m-warning:::before { border-color: #6d702a; } +figure.m-figure.m-warning figcaption { color: #c7cf2f; } +figure.m-figure.m-warning figcaption .m-figure-description { color: #dcdcdc; } +figure.m-figure.m-danger:::before { border-color: #702b2a; } +figure.m-figure.m-danger figcaption { color: #cd3431; } +figure.m-figure.m-danger figcaption .m-figure-description { color: #dcdcdc; } +figure.m-figure.m-info:::before { border-color: #2a4f70; } +figure.m-figure.m-info figcaption { color: #2f83cc; } +figure.m-figure.m-info figcaption .m-figure-description { color: #dcdcdc; } +figure.m-figure.m-dim:::before { border-color: #2d3236; } +figure.m-figure.m-dim { color: #747474; } +figure.m-figure.m-dim a { color: #acacac; } +figure.m-figure.m-dim a:hover, figure.m-figure.m-dim a:focus, figure.m-figure.m-dim a:active { + color: #747474; +} +.m-math { fill: #dcdcdc; } +.m-math.m-default, .m-math g.m-default, .m-math rect.m-default, +div.m-plot svg .m-bar.m-default, +.m-graph g.m-edge polygon, +.m-graph g.m-node:not(.m-flat) ellipse, +.m-graph g.m-node:not(.m-flat) polygon, +.m-graph g.m-edge text, +.m-graph g.m-node.m-flat text, +.m-graph g.m-cluster text, +.m-graph.m-default g.m-edge polygon, +.m-graph.m-default g.m-node:not(.m-flat) ellipse, +.m-graph.m-default g.m-node:not(.m-flat) polygon, +.m-graph.m-default g.m-edge text, +.m-graph.m-default g.m-node.m-flat text, +.m-graph.m-default g.m-cluster text { + fill: #dcdcdc; +} +.m-graph g.m-edge polygon, +.m-graph g.m-edge path, +.m-graph g.m-node ellipse, +.m-graph g.m-node polygon, +.m-graph g.m-node polyline, +.m-graph g.m-cluster polygon, +.m-graph.m-default g.m-edge polygon, +.m-graph.m-default g.m-edge path, +.m-graph.m-default g.m-node ellipse, +.m-graph.m-default g.m-node polygon, +.m-graph.m-default g.m-node polyline, +.m-graph.m-default g.m-cluster polygon { + stroke: #dcdcdc; +} +.m-math.m-primary, .m-math g.m-primary, .m-math rect.m-primary, +div.m-plot svg .m-bar.m-primary, +.m-graph.m-primary g.m-edge polygon, +.m-graph.m-primary g.m-node:not(.m-flat) ellipse, +.m-graph.m-primary g.m-node:not(.m-flat) polygon, +.m-graph.m-primary g.m-edge text, +.m-graph.m-primary g.m-node.m-flat text, +.m-graph.m-primary g.m-cluster text { + fill: #a5c9ea; +} +.m-graph.m-primary g.m-edge polygon, +.m-graph.m-primary g.m-edge path, +.m-graph.m-primary g.m-node ellipse, +.m-graph.m-primary g.m-node polygon, +.m-graph.m-primary g.m-node polyline, +.m-graph.m-primary g.m-cluster polygon { + stroke: #a5c9ea; +} +.m-math.m-success, .m-math g.m-success, .m-math rect.m-success, +div.m-plot svg .m-bar.m-success, +.m-graph.m-success g.m-edge polygon, +.m-graph.m-success g.m-node:not(.m-flat) ellipse, +.m-graph.m-success g.m-node:not(.m-flat) polygon, +.m-graph.m-success g.m-edge text, +.m-graph.m-success g.m-node.m-flat text, +.m-graph.m-success g.m-cluster text { + fill: #3bd267; +} +.m-graph.m-success g.m-edge polygon, +.m-graph.m-success g.m-edge path, +.m-graph.m-success g.m-node ellipse, +.m-graph.m-success g.m-node polygon, +.m-graph.m-success g.m-node polyline, +.m-graph.m-success g.m-cluster polygon { + stroke: #3bd267; +} +.m-math.m-warning, .m-math g.m-warning, .m-math rect.m-warning, +div.m-plot svg .m-bar.m-warning, +.m-graph.m-warning g.m-edge polygon, +.m-graph.m-warning g.m-node:not(.m-flat) ellipse, +.m-graph.m-warning g.m-node:not(.m-flat) polygon, +.m-graph.m-warning g.m-edge text, +.m-graph.m-warning g.m-node.m-flat text, +.m-graph.m-warning g.m-cluster text { + fill: #c7cf2f; +} +.m-graph.m-warning g.m-edge polygon, +.m-graph.m-warning g.m-edge path, +.m-graph.m-warning g.m-node ellipse, +.m-graph.m-warning g.m-node polygon, +.m-graph.m-warning g.m-node polyline, +.m-graph.m-warning g.m-cluster polygon { + stroke: #c7cf2f; +} +.m-math.m-danger, .m-math g.m-danger, .m-math rect.m-danger, +div.m-plot svg .m-bar.m-danger, +.m-graph.m-danger g.m-edge polygon, +.m-graph.m-danger g.m-node:not(.m-flat) ellipse, +.m-graph.m-danger g.m-node:not(.m-flat) polygon, +.m-graph.m-danger g.m-edge text, +.m-graph.m-danger g.m-node.m-flat text, +.m-graph.m-danger g.m-cluster text { + fill: #cd3431; +} +.m-graph.m-danger g.m-edge polygon, +.m-graph.m-danger g.m-edge path, +.m-graph.m-danger g.m-node ellipse, +.m-graph.m-danger g.m-node polygon, +.m-graph.m-danger g.m-node polyline, +.m-graph.m-danger g.m-cluster polygon { + stroke: #cd3431; +} +.m-math.m-info, .m-math g.m-info, .m-math rect.m-info, +div.m-plot svg .m-bar.m-info, +.m-graph.m-info g.m-edge polygon, +.m-graph.m-info g.m-node:not(.m-flat) ellipse, +.m-graph.m-info g.m-node:not(.m-flat) polygon, +.m-graph.m-info g.m-edge text, +.m-graph.m-info g.m-node.m-flat text, +.m-graph.m-info g.m-cluster text { + fill: #2f83cc; +} +.m-graph.m-info g.m-edge polygon, +.m-graph.m-info g.m-edge path, +.m-graph.m-info g.m-node ellipse, +.m-graph.m-info g.m-node polygon, +.m-graph.m-info g.m-node polyline, +.m-graph.m-info g.m-cluster polygon { + stroke: #2f83cc; +} +.m-math.m-dim, .m-math g.m-dim, .m-math rect.m-dim, +div.m-plot svg .m-bar.m-dim, +.m-graph.m-dim g.m-edge polygon, +.m-graph.m-dim g.m-node:not(.m-flat) ellipse, +.m-graph.m-dim g.m-node:not(.m-flat) polygon, +.m-graph.m-dim g.m-edge text, +.m-graph.m-dim g.m-node.m-flat text, +.m-graph.m-dim g.m-cluster text { + fill: #747474; +} +.m-graph.m-dim g.m-edge polygon, +.m-graph.m-dim g.m-edge path, +.m-graph.m-dim g.m-node ellipse, +.m-graph.m-dim g.m-node polygon, +.m-graph.m-dim g.m-node polyline, +.m-graph.m-dim g.m-cluster polygon { + stroke: #747474; +} +.m-graph g.m-edge.m-default polygon, +.m-graph g.m-node.m-default:not(.m-flat) ellipse, +.m-graph g.m-node.m-default:not(.m-flat) polygon, +.m-graph g.m-edge.m-default text, +.m-graph g.m-node.m-default.m-flat text, +.m-graph g.m-cluster.m-default text { + fill: #dcdcdc; +} +.m-graph g.m-edge.m-default polygon, +.m-graph g.m-edge.m-default path, +.m-graph g.m-node.m-default ellipse, +.m-graph g.m-node.m-default polygon, +.m-graph g.m-node.m-default polyline, +.m-graph g.m-cluster.m-default polygon { + stroke: #dcdcdc; +} +.m-graph g.m-edge.m-primary polygon, +.m-graph g.m-node.m-primary:not(.m-flat) ellipse, +.m-graph g.m-node.m-primary:not(.m-flat) polygon, +.m-graph g.m-edge.m-primary text, +.m-graph g.m-node.m-primary.m-flat text, +.m-graph g.m-cluster.m-primary text { + fill: #a5c9ea; +} +.m-graph g.m-edge.m-primary polygon, +.m-graph g.m-edge.m-primary path, +.m-graph g.m-node.m-primary ellipse, +.m-graph g.m-node.m-primary polygon, +.m-graph g.m-node.m-primary polyline, +.m-graph g.m-cluster.m-primary polygon { + stroke: #a5c9ea; +} +.m-graph g.m-edge.m-success polygon, +.m-graph g.m-node.m-success:not(.m-flat) ellipse, +.m-graph g.m-node.m-success:not(.m-flat) polygon, +.m-graph g.m-edge.m-success text, +.m-graph g.m-node.m-success.m-flat text, +.m-graph g.m-cluster.m-success text { + fill: #3bd267; +} +.m-graph g.m-edge.m-success polygon, +.m-graph g.m-edge.m-success path, +.m-graph g.m-node.m-success ellipse, +.m-graph g.m-node.m-success polygon, +.m-graph g.m-node.m-success polyline, +.m-graph g.m-cluster.m-success polygon { + stroke: #3bd267; +} +.m-graph g.m-edge.m-warning polygon, +.m-graph g.m-node.m-warning:not(.m-flat) ellipse, +.m-graph g.m-node.m-warning:not(.m-flat) polygon, +.m-graph g.m-edge.m-warning text, +.m-graph g.m-node.m-warning.m-flat text, +.m-graph g.m-cluster.m-warning text { + fill: #c7cf2f; +} +.m-graph g.m-edge.m-warning polygon, +.m-graph g.m-edge.m-warning path, +.m-graph g.m-node.m-warning ellipse, +.m-graph g.m-node.m-warning polygon, +.m-graph g.m-node.m-warning polyline, +.m-graph g.m-cluster.m-warning polygon { + stroke: #c7cf2f; +} +.m-graph g.m-edge.m-danger polygon, +.m-graph g.m-node.m-danger:not(.m-flat) ellipse, +.m-graph g.m-node.m-danger:not(.m-flat) polygon, +.m-graph g.m-edge.m-danger text, +.m-graph g.m-node.m-danger.m-flat text, +.m-graph g.m-cluster.m-danger text { + fill: #cd3431; +} +.m-graph g.m-edge.m-danger polygon, +.m-graph g.m-edge.m-danger path, +.m-graph g.m-node.m-danger ellipse, +.m-graph g.m-node.m-danger polygon, +.m-graph g.m-node.m-danger polyline, +.m-graph g.m-cluster.m-danger polygon { + stroke: #cd3431; +} +.m-graph g.m-edge.m-info polygon, +.m-graph g.m-node.m-info:not(.m-flat) ellipse, +.m-graph g.m-node.m-info:not(.m-flat) polygon, +.m-graph g.m-edge.m-info text, +.m-graph g.m-node.m-info.m-flat text, +.m-graph g.m-cluster.m-info text { + fill: #2f83cc; +} +.m-graph g.m-edge.m-info polygon, +.m-graph g.m-edge.m-info path, +.m-graph g.m-node.m-info ellipse, +.m-graph g.m-node.m-info polygon, +.m-graph g.m-node.m-info polyline, +.m-graph g.m-cluster.m-info polygon { + stroke: #2f83cc; +} +.m-graph g.m-edge.m-dim polygon, +.m-graph g.m-node.m-dim:not(.m-flat) ellipse, +.m-graph g.m-node.m-dim:not(.m-flat) polygon, +.m-graph g.m-edge.m-dim text, +.m-graph g.m-node.m-dim.m-flat text, +.m-graph g.m-cluster.m-dim text { + fill: #747474; +} +.m-graph g.m-edge.m-dim polygon, +.m-graph g.m-edge.m-dim path, +.m-graph g.m-node.m-dim ellipse, +.m-graph g.m-node.m-dim polygon, +.m-graph g.m-node.m-dim polyline, +.m-graph g.m-cluster.m-dim polygon { + stroke: #747474; +} +p, ul, ol, dl, blockquote, pre, .m-code-figure, .m-console-figure, hr, .m-note, +.m-frame, .m-block, div.m-button, div.m-scroll, table.m-table, div.m-image, +img.m-image, svg.m-image, figure.m-figure, .m-imagegrid, div.m-math, +div.m-graph, div.m-plot { + margin-bottom: 1rem; +} +p:last-child, p.m-nopadb, ul:last-child, ul.m-nopadb, +ol:last-child, ol.m-nopadb, dl:last-child, dl.m-nopadb, +blockquote:last-child, blockquote.m-nopadb, pre:last-child, pre.m-nopadb, +.m-code-figure:last-child, .m-code-figure.m-nopadb, +.m-console-figure:last-child, .m-console-figure.m-nopadb, +hr:last-child, hr.m-nopadb, .m-note:last-child, .m-note.m-nopadb, +.m-frame:last-child, .m-frame.m-nopadb, .m-block:last-child, .m-block.m-nopadb, +div.m-button:last-child, div.m-button.m-nopadb, +div.m-scroll:last-child, div.m-scroll.m-nopadb, +table.m-table:last-child, table.m-table.m-nopadb, +img.m-image:last-child, img.m-image.m-nopadb, +svg.m-image:last-child, svg.m-image.m-nopadb, +div.m-image:last-child, div.m-image.m-nopadb, +figure.m-figure:last-child, figure.m-figure.m-nopadb, +.m-imagegrid:last-child, .m-imagegrid.m-nopadb, +div.m-math:last-child, div.m-math.m-nopadb, +div.m-graph:last-child, div.m-graph.m-nopadb, +div.m-plot:last-child, div.m-plot.m-nopadb { + margin-bottom: 0; +} +li > p:last-child, li > blockquote:last-child, li > pre:last-child, +li > .m-code-figure:last-child, li > .m-console-figure:last-child, +li > .m-note:last-child, li > .m-frame:last-child, li > .m-block:last-child, +li > div.m-button:last-child, li > div.m-scroll:last-child, li > table.m-table:last-child, +li > img.m-image:last-child, li > svg.m-image:last-child, li > div.m-image:last-child, +li > figure.m-figure:last-child, li > div.m-math:last-child, +li > div.m-graph:last-child, li > div.m-plot:last-child { + margin-bottom: 1rem; +} +li:last-child > p:last-child, li:last-child > p.m-nopadb, +li:last-child > blockquote:last-child, li:last-child > blockquote.m-nopadb, +li:last-child > pre:last-child, li:last-child > pre.m-nopadb, +li:last-child > .m-code-figure:last-child, li:last-child > .m-code-figure.m-nopadb, +li:last-child > .m-console-figure:last-child, li:last-child > .m-console-figure.m-nopadb, +li:last-child > .m-note:last-child, li:last-child > .m-note.m-nopadb, +li:last-child > .m-frame:last-child, li:last-child > .m-frame.m-nopadb, +li:last-child > .m-block:last-child, li:last-child > .m-block.m-nopadb, +li:last-child > div.m-button:last-child, li:last-child > div.m-button.m-nopadb, +li:last-child > div.m-scroll:last-child, li:last-child > div.m-scroll.m-nopadb, +li:last-child > table.m-table:last-child, li:last-child > table.m-table.m-nopadb, +li:last-child > img.m-image:last-child, li:last-child > img.m-image.m-nopadb, +li:last-child > svg.m-image:last-child, li:last-child > svg.m-image.m-nopadb, +li:last-child > div.m-image:last-child, li:last-child > div.m-image.m-nopadb, +li:last-child > figure.m-figure:last-child, li:last-child > figure.m-figure.m-nopadb, +li:last-child > div.m-math:last-child, li:last-child > div.m-math.m-nopadb, +li:last-child > div.m-graph:last-child, li:last-child > div.m-graph.m-nopadb, +li:last-child > div.m-plot:last-child, li:last-child > div.m-plot.m-nopadb { + margin-bottom: 0; +} + +body > header > nav { + width: 100%; + background-color: #22272e; + min-height: 3rem; +} +body > header > nav.m-navbar-landing, +body > header > nav.m-navbar-cover { + background-color: transparent; + position: relative; +} +body > header > nav.m-navbar-landing { + opacity: 0.8; +} +body > header > nav.m-navbar-cover { + background-color: rgba(34, 39, 46, 0.25); + opacity: 1; +} +body > header > nav.m-navbar-landing:hover, +body > header > nav.m-navbar-cover:hover { + background-color: rgba(34, 39, 46, 0.75); + opacity: 1; +} +body> header > nav.m-navbar-landing:target, +body> header > nav.m-navbar-cover:target { + background-color: #22272e; + opacity: 1; +} +body > header > nav.m-navbar-landing #m-navbar-brand.m-navbar-brand-hidden { + visibility: hidden; +} +body > header > nav.m-navbar-landing:target #m-navbar-brand.m-navbar-brand-hidden { + visibility: visible; +} +body > header > nav { + margin-left: auto; + margin-right: auto; + color: #ffffff; +} +body > header > nav a { + text-decoration: none; + text-transform: none; + display: inline-block; + vertical-align: middle; + line-height: 2.75rem; + color: #ffffff; +} +body > header > nav #m-navbar-brand, body > header > nav a#m-navbar-show, body > header > nav a#m-navbar-hide { + font-weight: 600; + font-size: 1.125rem; + padding-left: 1rem; + padding-right: 1rem; +} +body > header > nav a#m-navbar-brand, body > header > nav #m-navbar-brand a { + text-transform: uppercase; +} +body > header > nav a#m-navbar-brand img, body > header > nav #m-navbar-brand a img { + width: 1.75rem; + height: 1.75rem; + vertical-align: -22.5%; + margin-right: 0.5rem; +} +body > header > nav #m-navbar-brand a { + padding-left: 0; + padding-right: 0; +} +body > header > nav #m-navbar-brand .m-thin { + font-weight: normal; +} +body > header > nav #m-navbar-brand .m-breadcrumb { + color: #747474; +} +body > header > nav a#m-navbar-show::before, body > header > nav a#m-navbar-hide::before { + content:'\2630'; +} +body > header > nav #m-navbar-collapse { + padding-bottom: 1rem; +} +body > header > nav #m-navbar-collapse li { + border-style: solid; + border-color: transparent; + border-width: 0 0 0 0.25rem; + margin-left: -1rem; +} +body > header > nav #m-navbar-collapse li a { + border-style: solid; + border-color: transparent; + line-height: 1.5rem; + margin-left: -0.25rem; + padding-left: 0.75rem; + border-width: 0 0 0 0.25rem; + width: 100%; +} +body > header > nav #m-navbar-collapse li a#m-navbar-current { + color: #5b9dd9; + border-color: #5b9dd9; +} +body > header > nav ol { + list-style-type: none; + margin: 0; +} +body > header > nav ol ol { + padding-left: 1.5rem; +} +body > header > nav .m-row > [class*='m-col-'] { + padding-top: 0; + padding-bottom: 0; +} +body > header > nav a:hover, body > header > nav a:focus, body > header > nav a:active { + color: #a5c9ea; +} +body > header > nav #m-navbar-collapse li:hover { + border-color: #a5c9ea; +} +body > header > nav #m-navbar-collapse li a:hover, +body > header > nav #m-navbar-collapse li a:focus, +body > header > nav #m-navbar-collapse li a:active { + border-color: #a5c9ea; + background-color: #292f37; +} +body > header > nav.m-navbar-landing #m-navbar-collapse li a:hover, +body > header > nav.m-navbar-cover #m-navbar-collapse li a:hover, +body > header > nav.m-navbar-landing #m-navbar-collapse li a:focus, +body > header > nav.m-navbar-cover #m-navbar-collapse li a:focus, +body > header > nav.m-navbar-landing #m-navbar-collapse li a:active, +body > header > nav.m-navbar-cover #m-navbar-collapse li a:active { + background-color: rgba(41, 47, 55, 0.5); +} +body > header > nav #m-navbar-hide { + display: none; +} +body > header > nav:target #m-navbar-collapse { + display: block; +} +body > header > nav:target #m-navbar-show { + display: none; +} +body > header > nav:target #m-navbar-hide { + display: inline-block; +} +@media screen and (min-width: 768px) { + body > header > nav #m-navbar-show, body > header > nav #m-navbar-hide, + body > header > nav:target #m-navbar-show, body > header > nav:target #m-navbar-hide { + display: none; + } + body > header > nav #m-navbar-collapse li a { + line-height: 2.75rem; + } + body > header > nav a, body > header > nav #m-navbar-collapse li a { + margin-left: 0; + padding-left: 1rem; + padding-right: 1rem; + white-space: nowrap; + } + body > header > nav #m-navbar-collapse { + padding-bottom: 0; + } + body > header > nav #m-navbar-collapse li ol { + background-color: #22272e; + } + body > header > nav #m-navbar-collapse ol ol li { + margin-left: 0; + padding-left: 0; + border-left-width: 0; + } + body > header > nav #m-navbar-collapse ol ol li a { + padding-left: 0.75rem; + } + body > header > nav #m-navbar-collapse > .m-row > ol > li { + margin-left: 0; + border-left-width: 0; + } + body > header > nav #m-navbar-collapse > .m-row > ol > li > a { + border-width: 0 0 0.25rem 0; + } + body > header > nav #m-navbar-collapse ol { + padding-left: 0; + padding-right: 0; + } + body > header > nav #m-navbar-collapse > .m-row > ol, body > header > nav #m-navbar-collapse > .m-row > ol > li { + float: left; + } + body > header > nav #m-navbar-collapse ol ol { + z-index: 99999; + position: absolute; + visibility: hidden; + } + body > header > nav #m-navbar-collapse li:hover ol { + visibility: visible; + } +} +body > footer { + width: 100%; +} +body > footer > nav { + padding-top: 1rem; + padding-bottom: 1rem; + font-size: 0.85rem; + text-align: center; + color: #c5c5c5; + background-color: #444e5c; +} +body > footer > nav h3, body > footer > nav h3 a { + text-transform: uppercase; + font-weight: normal; +} +body > footer > nav ul { + list-style-type: none; + padding: 0; + margin: 0; +} +body > footer > nav a { + text-decoration: none; + text-transform: none; + color: #ffffff; +} +body > footer > nav a:hover, body > footer > nav a:focus, body > footer > nav a:active { + color: #a5c9ea; +} +body > main { + padding-top: 1rem; + padding-bottom: 1rem; +} +article h1 { + font-size: 1.75rem; +} +article h1 .m-breadcrumb { + color: #747474; + font-weight: normal; +} +article h1 .m-breadcrumb a { + color: #a5c9ea; +} +article h1 .m-breadcrumb a:hover, article h1 a:focus, article h1 a:active { + color: #dcdcdc; +} +article > header h1 { + font-size: 2rem; + margin-bottom: 0.5rem; +} +article h1 a, article > header h1, article > header h1 a, +article section > h2, article section > h2 a, +article section > h3, article section > h3 a, +article section > h4, article section > h4 a, +article section > h5, article section > h5 a, +article section > h6, article section > h6 a { + color: #a5c9ea; +} +article h1 a:hover, article > header h1 a:hover, article > header h1 a:focus, article > header h1 a:active, +article section > h2 a:hover, article section > h2 a:focus, article section > h2 a:active, +article section > h3 a:hover, article section > h3 a:focus, article section > h3 a:active, +article section > h4 a:hover, article section > h4 a:focus, article section > h4 a:active, +article section > h5 a:hover, article section > h5 a:focus, article section > h5 a:active, +article section > h6 a:hover, article section > h6 a:focus, article section > h6 a:active { + color: #dcdcdc; +} +article > header .m-date { + display: block; + width: 2.5rem; + float: left; + text-align: center; + line-height: 95%; + font-size: 0.75rem; + font-weight: normal; + white-space: nowrap; + border-right-style: solid; + border-right-width: 0.125rem; + border-color: #a5c9ea; + padding-right: 0.75rem; + margin-top: -0.1rem; + margin-right: 0.75rem; + margin-bottom: 0.25rem; +} +article > header .m-date-day { + display: block; + font-weight: bold; + padding-top: 0.2rem; + padding-bottom: 0.15rem; + font-size: 1.25rem; +} +article > header p { + color: #f0f0f0; + font-size: 1.125rem; +} +article > header h1::after { + content: " "; + clear: both; + display: table; +} +article > footer { + color: #c5c5c5; +} +article > footer p { + font-style: italic; + font-size: 0.85rem; + text-indent: 0; +} +article section:target { + margin-left: -1.0rem; + border-left-style: solid; + border-left-width: 0.25rem; + padding-left: 0.75rem; + border-color: #a5c9ea; +} +article h1 a, article > header h1 a, article section > h2 a, article section > h3 a, +article section > h4 a, article section > h5 a, article section > h6 a { + text-decoration: none; +} +#m-landing-image, #m-cover-image, article#m-jumbo > header #m-jumbo-image { + background-size: cover; + background-color: #0f1217; + background-position: center center; + background-repeat: no-repeat; + margin-top: -4rem; + padding-top: 5rem; +} +#m-landing-image { + color: #ffffff; +} +#m-cover-image { + height: 30rem; + margin-bottom: -26rem; +} +#m-landing-cover h1 { + font-size: 2.8rem; + margin-top: -0.5rem; + padding-left: 1.5rem; + padding-bottom: 1rem; + text-transform: lowercase; +} +#m-landing-cover { + padding-bottom: 10rem; + margin-bottom: -6rem; +} +article#m-jumbo { + margin-top: -1rem; +} +#m-landing-cover, #m-cover-image > div, article#m-jumbo > header #m-jumbo-cover { + background: linear-gradient(transparent 0%, transparent 50%, #2f363f 100%); + width: 100%; + height: 100%; +} +article#m-jumbo > header h1, article#m-jumbo > header h2 { + text-align: center; + font-weight: bold; +} +article#m-jumbo > header a { + text-decoration: none; +} +article#m-jumbo > header #m-jumbo-cover { + padding-bottom: 5rem; +} +article#m-jumbo > header #m-jumbo-image { + font-size: 2.5vmin; + margin-bottom: -3rem; +} +article#m-jumbo > header h1 { + font-size: 10vmin; +} +article#m-jumbo > header h2 { + font-size: 3vmin; +} +@media screen and (max-height: 640px) , screen and (max-width: 640px) { + article#m-jumbo > header h1 { + font-size: 3rem; + } + article#m-jumbo > header #m-jumbo-image, article#m-jumbo > header h2 { + font-size: 1rem; + } +} +article#m-jumbo > header, article#m-jumbo > header h1, article#m-jumbo > header a { + color: #ffffff; +} +article#m-jumbo > header a:hover, article#m-jumbo > header a:focus, article#m-jumbo > header a:active { + color: #f0f0f0; +} +article#m-jumbo.m-inverted > header, article#m-jumbo.m-inverted > header h1, article#m-jumbo.m-inverted > header a { + color: #000000; +} +article#m-jumbo.m-inverted > header a:hover, article#m-jumbo.m-inverted > header a:focus, article#m-jumbo.m-inverted > header a:active { + color: #0f0f0f; +} +.m-landing-news h3 a { + color: #dcdcdc; + text-decoration: none; + text-transform: uppercase; +} +.m-landing-news h3 a:hover, .m-landing-news h3 a:hover, .m-landing-news h3 a:focus, .m-landing-news h3 a:active { + color: #a5c9ea; +} +.m-landing-news time { + display: inline-block; + margin-left: 1rem; + float: right; +} +.m-article-pagination { + text-align: center; + padding: 1rem; +} +nav.m-navpanel { + text-align: center; +} +nav.m-navpanel h3 { + text-transform: uppercase; + font-weight: normal; +} +nav.m-navpanel ol { + text-transform: lowercase; +} +nav.m-navpanel ol, nav.m-navpanel ul { + list-style-type: none; + padding: 0; +} +nav.m-navpanel a { + color: #ffffff; + text-decoration: none; +} +nav.m-navpanel a:hover, nav.m-navpanel a:focus, nav.m-navpanel a:active { + color: #a5c9ea; +} +ul.m-tagcloud li { display: inline; } +ul.m-tagcloud li.m-tag-1 { font-size: 0.75rem; } +ul.m-tagcloud li.m-tag-2 { font-size: 0.825rem; } +ul.m-tagcloud li.m-tag-3 { font-size: 1rem; } +ul.m-tagcloud li.m-tag-4 { font-size: 1.25rem; } +ul.m-tagcloud li.m-tag-5 { font-size: 1.5rem; } +article section:target figure.m-code-figure, article section:target figure.m-console-figure { + z-index: 1; +} +article, article > header, article section { margin-bottom: 1rem; } +article:last-child, article section:last-child { margin-bottom: 0; } +.m-container-inflatable section:target > .m-note, +.m-container-inflatable section:target > .m-frame, +.m-container-inflatable section:target > .m-block, +.m-container-inflatable section:target > pre, +.m-container-inflatable section:target > .m-code-figure > pre:first-child, +.m-container-inflatable section:target > .m-console-figure > pre:first-child, +.m-container-inflatable section:target section > .m-note, +.m-container-inflatable section:target section > .m-frame, +.m-container-inflatable section:target section > .m-block, +.m-container-inflatable section:target section > pre, +.m-container-inflatable section:target section > .m-code-figure > pre:first-child, +.m-container-inflatable section:target section > .m-console-figure > pre:first-child, +.m-container-inflatable section:target [class*='m-center-'] > .m-note, +.m-container-inflatable section:target [class*='m-center-'] > .m-frame, +.m-container-inflatable section:target [class*='m-center-'] > .m-block, +.m-container-inflatable section:target [class*='m-center-'] > pre, +.m-container-inflatable section:target [class*='m-center-'] > .m-code-figure > pre:first-child, +.m-container-inflatable section:target [class*='m-center-'] > .m-console-figure > pre:first-child, +.m-container-inflatable section:target [class*='m-left-'] > .m-note, +.m-container-inflatable section:target [class*='m-left-'] > .m-frame, +.m-container-inflatable section:target [class*='m-left-'] > .m-block, +.m-container-inflatable section:target [class*='m-left-'] > pre, +.m-container-inflatable section:target [class*='m-left-'] > .m-code-figure > pre:first-child, +.m-container-inflatable section:target [class*='m-left-'] > .m-console-figure > pre:first-child, +.m-container-inflatable section:target [class*='m-right-'] > .m-note, +.m-container-inflatable section:target [class*='m-right-'] > .m-frame, +.m-container-inflatable section:target [class*='m-right-'] > .m-block, +.m-container-inflatable section:target [class*='m-right-'] > pre, +.m-container-inflatable section:target [class*='m-right-'] > .m-code-figure > pre:first-child, +.m-container-inflatable section:target [class*='m-right-'] > .m-console-figure > pre:first-child, +.m-container-inflatable section:target .m-container-inflate > .m-note, +.m-container-inflatable section:target .m-container-inflate > .m-frame, +.m-container-inflatable section:target .m-container-inflate > .m-block, +.m-container-inflatable section:target .m-container-inflate > pre, +.m-container-inflatable section:target .m-container-inflate > .m-code-figure > pre:first-child, +.m-container-inflatable section:target .m-container-inflate > .m-console-figure > pre:first-child { + margin-left: -1.0rem; + border-left-style: solid; + border-left-width: 0.25rem; + border-top-left-radius: 0; + border-bottom-left-radius: 0; + padding-left: 0.75rem; +} +.m-container-inflatable section:target > .m-code-figure::before, +.m-container-inflatable section:target > .m-console-figure::before, +.m-container-inflatable section:target section > .m-code-figure::before, +.m-container-inflatable section:target section > .m-console-figure::before, +.m-container-inflatable section:target [class*='m-center-'] > .m-code-figure::before, +.m-container-inflatable section:target [class*='m-center-'] > .m-console-figure::before, +.m-container-inflatable section:target [class*='m-left-'] > .m-code-figure::before, +.m-container-inflatable section:target [class*='m-left-'] > .m-console-figure::before, +.m-container-inflatable section:target [class*='m-right-'] > .m-code-figure::before, +.m-container-inflatable section:target [class*='m-right-'] > .m-console-figure::before, +.m-container-inflatable section:target .m-container-inflate > .m-code-figure::before, +.m-container-inflatable section:target .m-container-inflate > .m-console-figure::before { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + border-left-width: 0.25rem; +} +.m-container-inflatable section:target > .m-code-figure > pre.m-nopad, +.m-container-inflatable section:target > .m-console-figure > pre.m-nopad { + margin-left: -0.75rem; + padding-left: -0.75rem; +} +@media screen and (min-width: 576px) { + .m-container-inflatable section:target .m-center-s > .m-note, + .m-container-inflatable section:target .m-center-s > pre, + .m-container-inflatable section:target .m-center-s > figure.m-code-figure > pre:first-child, + .m-container-inflatable section:target .m-center-s > figure.m-console-figure > pre:first-child, + .m-container-inflatable section:target .m-right-s > figure.m-code-figure > pre:first-child, + .m-container-inflatable section:target .m-right-s > figure.m-console-figure > pre:first-child { + border-left-width: 0; + border-top-left-radius: 0.2rem; + border-bottom-left-radius: 0.2rem; + padding-left: 1rem; + } + .m-container-inflatable section:target .m-center-s > .m-block, + .m-container-inflatable section:target .m-right-s > .m-block { + border-top-left-radius: 0.2rem; + border-bottom-left-radius: 0.2rem; + } + .m-container-inflatable section:target .m-center-s > .m-frame, + .m-container-inflatable section:target .m-right-s > .m-frame { + border-top-left-radius: 0.2rem; + border-bottom-left-radius: 0.2rem; + border-left-width: 0.125rem; + padding-left: 0.875rem; + } + .m-container-inflatable section:target .m-right-s > .m-block, + .m-container-inflatable section:target .m-right-s > .m-frame { + margin-left: 0; + } + .m-container-inflatable section:target .m-right-s > .m-note, + .m-container-inflatable section:target .m-right-s > pre { + border-top-left-radius: 0.2rem; + border-bottom-left-radius: 0.2rem; + margin-left: 0; + border-left-width: 0; + padding-left: 1rem; + } + .m-container-inflatable section:target .m-center-s > figure.m-code-figure::before, + .m-container-inflatable section:target .m-center-s > figure.m-console-figure::before, + .m-container-inflatable section:target .m-right-s > figure.m-code-figure::before, + .m-container-inflatable section:target .m-right-s > figure.m-console-figure::before { + border-top-left-radius: 0.2rem; + border-bottom-left-radius: 0.2rem; + border-left-width: 0.125rem; + } +} +@media screen and (min-width: 768px) { + .m-container-inflatable section:target .m-center-m > .m-note, + .m-container-inflatable section:target .m-center-m > pre, + .m-container-inflatable section:target .m-center-m > figure.m-code-figure > pre:first-child, + .m-container-inflatable section:target .m-center-m > figure.m-console-figure > pre:first-child, + .m-container-inflatable section:target .m-right-m > figure.m-code-figure > pre:first-child, + .m-container-inflatable section:target .m-right-m > figure.m-console-figure > pre:first-child { + border-left-width: 0; + border-top-left-radius: 0.2rem; + border-bottom-left-radius: 0.2rem; + padding-left: 1rem; + } + .m-container-inflatable section:target .m-center-m > .m-block, + .m-container-inflatable section:target .m-right-m > .m-block { + border-top-left-radius: 0.2rem; + border-bottom-left-radius: 0.2rem; + } + .m-container-inflatable section:target .m-center-m > .m-frame, + .m-container-inflatable section:target .m-right-m > .m-frame { + border-top-left-radius: 0.2rem; + border-bottom-left-radius: 0.2rem; + border-left-width: 0.125rem; + padding-left: 0.875rem; + } + .m-container-inflatable section:target .m-right-m > .m-block, + .m-container-inflatable section:target .m-right-m > .m-frame { + margin-left: 0; + } + .m-container-inflatable section:target .m-right-m > .m-note, + .m-container-inflatable section:target .m-right-m > pre { + border-top-left-radius: 0.2rem; + border-bottom-left-radius: 0.2rem; + margin-left: 0; + border-left-width: 0; + padding-left: 1rem; + } + .m-container-inflatable section:target .m-center-m > figure.m-code-figure::before, + .m-container-inflatable section:target .m-center-m > figure.m-console-figure::before, + .m-container-inflatable section:target .m-right-m > figure.m-code-figure::before, + .m-container-inflatable section:target .m-right-m > figure.m-console-figure::before { + border-top-left-radius: 0.2rem; + border-bottom-left-radius: 0.2rem; + border-left-width: 0.125rem; + } +} +@media screen and (min-width: 992px) { + .m-container-inflatable section:target .m-center-l > .m-note, + .m-container-inflatable section:target .m-center-l > pre, + .m-container-inflatable section:target .m-center-l > figure.m-code-figure > pre:first-child, + .m-container-inflatable section:target .m-center-l > figure.m-console-figure > pre:first-child, + .m-container-inflatable section:target .m-right-l > figure.m-code-figure > pre:first-child, + .m-container-inflatable section:target .m-right-l > figure.m-console-figure > pre:first-child { + border-left-width: 0; + border-top-left-radius: 0.2rem; + border-bottom-left-radius: 0.2rem; + padding-left: 1rem; + } + .m-container-inflatable section:target .m-center-l > .m-block, + .m-container-inflatable section:target .m-right-l > .m-block { + border-top-left-radius: 0.2rem; + border-bottom-left-radius: 0.2rem; + } + .m-container-inflatable section:target .m-center-l > .m-frame, + .m-container-inflatable section:target .m-right-l > .m-frame { + border-top-left-radius: 0.2rem; + border-bottom-left-radius: 0.2rem; + border-left-width: 0.125rem; + padding-left: 0.875rem; + } + .m-container-inflatable section:target .m-right-l > .m-block, + .m-container-inflatable section:target .m-right-l > .m-frame { + margin-left: 0; + } + .m-container-inflatable section:target .m-right-l > .m-note, + .m-container-inflatable section:target .m-right-l > pre { + border-top-left-radius: 0.2rem; + border-bottom-left-radius: 0.2rem; + margin-left: 0; + border-left-width: 0; + padding-left: 1rem; + } + .m-container-inflatable section:target .m-center-l > figure.m-code-figure::before, + .m-container-inflatable section:target .m-center-l > figure.m-console-figure::before, + .m-container-inflatable section:target .m-right-l > figure.m-code-figure::before, + .m-container-inflatable section:target .m-right-l > figure.m-console-figure::before { + border-top-left-radius: 0.2rem; + border-bottom-left-radius: 0.2rem; + border-left-width: 0.125rem; + } +} +.m-container-inflatable section:target > figure.m-code-figure::before, +.m-container-inflatable section:target > figure.m-console-figure::before, +.m-container-inflatable section:target section > figure.m-code-figure::before, +.m-container-inflatable section:target section > figure.m-console-figure::before, +.m-container-inflatable section:target [class*='m-center-'] > figure.m-code-figure::before, +.m-container-inflatable section:target [class*='m-center-'] > figure.m-console-figure::before, +.m-container-inflatable section:target [class*='m-left-'] > figure.m-code-figure::before, +.m-container-inflatable section:target [class*='m-left-'] > figure.m-console-figure::before, +.m-container-inflatable section:target [class*='m-right-'] > figure.m-code-figure::before, +.m-container-inflatable section:target [class*='m-right-'] > figure.m-console-figure::before, +.m-container-inflatable section:target .m-container-inflatable > figure.m-code-figure::before, +.m-container-inflatable section:target .m-container-inflatable > figure.m-console-figure::before { + border-left-color: #405363; +} +@media screen and (min-width: 576px) { + .m-container-inflatable section:target .m-center-s > figure.m-code-figure::before, + .m-container-inflatable section:target .m-right-s > figure.m-code-figure::before { + border-color: #282e36; + } + .m-container-inflatable section:target .m-center-s > figure.m-console-figure::before, + .m-container-inflatable section:target .m-right-s > figure.m-console-figure::before { + border-color: #1a1c1d; + } +} +@media screen and (min-width: 768px) { + .m-container-inflatable section:target .m-center-m > figure.m-code-figure::before, + .m-container-inflatable section:target .m-right-m > figure.m-code-figure::before { + border-color: #282e36; + } + .m-container-inflatable section:target .m-center-m > figure.m-console-figure::before, + .m-container-inflatable section:target .m-right-m > figure.m-console-figure::before { + border-color: #1a1c1d; + } +} +@media screen and (min-width: 992px) { + .m-container-inflatable section:target .m-center-l > figure.m-code-figure::before, + .m-container-inflatable section:target .m-right-l > figure.m-code-figure::before { + border-color: #282e36; + } + .m-container-inflatable section:target .m-center-l > figure.m-console-figure::before, + .m-container-inflatable section:target .m-right-l > figure.m-console-figure::before { + border-color: #1a1c1d; + } +} +.m-container-inflatable section:target pre, +.m-container-inflatable section:target figure.m-code-figure > pre:first-child, +.m-container-inflatable section:target figure.m-console-figure > pre:first-child { + border-color: #405363; +} +.m-container-inflatable section:target .m-note.m-default { + border-color: #405363; +} +.m-container-inflatable section:target .m-note.m-primary { + border-color: #a5c9ea; +} +.m-container-inflatable section:target .m-note.m-success { + border-color: #3bd267; +} +.m-container-inflatable section:target .m-note.m-warning { + border-color: #c7cf2f; +} +.m-container-inflatable section:target .m-note.m-danger { + border-color: #cd3431; +} +.m-container-inflatable section:target .m-note.m-info { + border-color: #2f83cc; +} +.m-container-inflatable section:target .m-note.m-dim { + border-color: #747474; +} + +.m-code .hll { background-color: #34424d } +.m-code .c { color: #a5c9ea } +.m-code .k { color: #ffffff; font-weight: bold } +.m-code .n { color: #dcdcdc } +.m-code .o { color: #aaaaaa } +.m-code .p { color: #aaaaaa } +.m-code .ch { color: #a5c9ea } +.m-code .cm { color: #a5c9ea } +.m-code .cp { color: #3bd267 } +.m-code .cpf { color: #c7cf2f } +.m-code .c1 { color: #a5c9ea } +.m-code .cs { color: #a5c9ea } +.m-code .gd { color: #cd3431 } +.m-code .ge { color: #e6e6e6; font-style: italic } +.m-code .gh { color: #ffffff; font-weight: bold } +.m-code .gi { color: #3bd267 } +.m-code .gs { color: #e6e6e6; font-weight: bold } +.m-code .gu { color: #5b9dd9 } +.m-code .kc { color: #ffffff; font-weight: bold } +.m-code .kd { color: #ffffff; font-weight: bold } +.m-code .kn { color: #ffffff; font-weight: bold } +.m-code .kp { color: #ffffff; font-weight: bold } +.m-code .kr { color: #ffffff; font-weight: bold } +.m-code .kt { color: #ffffff; font-weight: bold } +.m-code .m { color: #c7cf2f } +.m-code .s { color: #e07f7c } +.m-code .na { color: #dcdcdc; font-weight: bold } +.m-code .nb { color: #ffffff; font-weight: bold } +.m-code .nc { color: #dcdcdc; font-weight: bold } +.m-code .no { color: #dcdcdc } +.m-code .nd { color: #dcdcdc } +.m-code .ni { color: #dcdcdc } +.m-code .ne { color: #dcdcdc } +.m-code .nf { color: #dcdcdc } +.m-code .nl { color: #dcdcdc } +.m-code .nn { color: #dcdcdc } +.m-code .nx { color: #dcdcdc } +.m-code .py { color: #dcdcdc } +.m-code .nt { color: #dcdcdc; font-weight: bold } +.m-code .nv { color: #c7cf2f } +.m-code .ow { color: #dcdcdc; font-weight: bold } +.m-code .mb { color: #c7cf2f } +.m-code .mf { color: #c7cf2f } +.m-code .mh { color: #c7cf2f } +.m-code .mi { color: #c7cf2f } +.m-code .mo { color: #c7cf2f } +.m-code .sa { color: #e07f7c } +.m-code .sb { color: #e07f7c } +.m-code .sc { color: #e07cdc } +.m-code .dl { color: #e07f7c } +.m-code .sd { color: #e07f7c } +.m-code .s2 { color: #e07f7c } +.m-code .se { color: #e07cdc } +.m-code .sh { color: #e07f7c } +.m-code .si { color: #a5c9ea } +.m-code .sx { color: #e07f7c } +.m-code .sr { color: #e07f7c } +.m-code .s1 { color: #e07f7c } +.m-code .ss { color: #e07f7c } +.m-code .bp { color: #ffffff; font-weight: bold } +.m-code .fm { color: #dcdcdc } +.m-code .vc { color: #c7cf2f } +.m-code .vg { color: #c7cf2f } +.m-code .vi { color: #c7cf2f } +.m-code .vm { color: #c7cf2f } +.m-code .il { color: #c7cf2f } + +.m-console .hll { background-color: #ffffcc } +.m-console .g-AnsiBackgroundBlack { background-color: #232627 } +.m-console .g-AnsiBackgroundBlue { background-color: #1d99f3 } +.m-console .g-AnsiBackgroundBrightBlack { background-color: #7f8c8d } +.m-console .g-AnsiBackgroundBrightBlue { background-color: #3daee9 } +.m-console .g-AnsiBackgroundBrightCyan { background-color: #16a085 } +.m-console .g-AnsiBackgroundBrightGreen { background-color: #1cdc9a } +.m-console .g-AnsiBackgroundBrightMagenta { background-color: #8e44ad } +.m-console .g-AnsiBackgroundBrightRed { background-color: #c0392b } +.m-console .g-AnsiBackgroundBrightWhite { background-color: #ffffff } +.m-console .g-AnsiBackgroundBrightYellow { background-color: #fdbc4b } +.m-console .g-AnsiBackgroundCyan { background-color: #1abc9c } +.m-console .g-AnsiBackgroundGreen { background-color: #11d116 } +.m-console .g-AnsiBackgroundMagenta { background-color: #9b59b6 } +.m-console .g-AnsiBackgroundRed { background-color: #ed1515 } +.m-console .g-AnsiBackgroundWhite { background-color: #fcfcfc } +.m-console .g-AnsiBackgroundYellow { background-color: #f67400 } +.m-console .g-AnsiBlack { color: #232627 } +.m-console .g-AnsiBlue { color: #1d99f3 } +.m-console .g-AnsiBrightBlack { color: #7f8c8d; font-weight: bold } +.m-console .g-AnsiBrightBlue { color: #3daee9; font-weight: bold } +.m-console .g-AnsiBrightCyan { color: #16a085; font-weight: bold } +.m-console .g-AnsiBrightDefault { color: #ffffff; font-weight: bold } +.m-console .g-AnsiBrightGreen { color: #1cdc9a; font-weight: bold } +.m-console .g-AnsiBrightMagenta { color: #8e44ad; font-weight: bold } +.m-console .g-AnsiBrightRed { color: #c0392b; font-weight: bold } +.m-console .g-AnsiBrightWhite { color: #ffffff; font-weight: bold } +.m-console .g-AnsiBrightYellow { color: #fdbc4b; font-weight: bold } +.m-console .g-AnsiCyan { color: #1abc9c } +.m-console .g-AnsiGreen { color: #11d116 } +.m-console .g-AnsiMagenta { color: #9b59b6 } +.m-console .g-AnsiRed { color: #ed1515 } +.m-console .g-AnsiWhite { color: #fcfcfc } +.m-console .g-AnsiYellow { color: #f67400 } +.m-console .go { color: #fcfcfc } +.m-console .gp { color: #16a085; font-weight: bold } +.m-console .w { color: #fcfcfc } + +a.m-doc, a.m-doc-self, a.m-doc-external, +ul.m-doc li.m-doc-expansible > a:first-child, ul.m-doc li.m-doc-collapsible > a:first-child, +.m-code.m-inverted.m-doc-include > a { + text-decoration: none; +} +a.m-doc, a.m-doc-self { + font-weight: bold; +} +.m-thin a.m-doc, .m-thin a.m-doc-self { + font-weight: normal; +} +ul.m-doc li.m-doc-expansible > a:first-child, +ul.m-doc li.m-doc-collapsible > a:first-child, +ul.m-doc li.m-doc-expansible > a:first-child:hover, +ul.m-doc li.m-doc-expansible > a:first-child:focus, +ul.m-doc li.m-doc-expansible > a:first-child:active, +ul.m-doc li.m-doc-collapsible > a:first-child:hover, +ul.m-doc li.m-doc-collapsible > a:first-child:focus, +ul.m-doc li.m-doc-collapsible > a:first-child:active { + color: #dcdcdc; +} +a.m-doc-self, +ul.m-doc li.m-doc-expansible > a:first-child::before, +ul.m-doc li.m-doc-collapsible > a:first-child::before { + color: #a5c9ea; +} +a.m-doc-self:hover, a.m-doc-self:focus, a.m-doc-self:active, +ul.m-doc li.m-doc-expansible > a:first-child:hover::before, +ul.m-doc li.m-doc-expansible > a:first-child:focus::before, +ul.m-doc li.m-doc-expansible > a:first-child:active::before, +ul.m-doc li.m-doc-collapsible > a:first-child:hover::before, +ul.m-doc li.m-doc-collapsible > a:first-child:focus::before, +ul.m-doc li.m-doc-collapsible > a:first-child:active::before { + color: #dcdcdc; +} +h3 a.m-doc-external { + font-weight: normal; +} +span.m-doc-wrap-bumper { + margin-right: -1rem; +} +span.m-doc-wrap { + margin-left: 1rem; + display: inline-block; + vertical-align: text-top; + white-space: pre-line; + max-width: 100%; +} +dl.m-doc dd { + margin-bottom: 0.5rem; +} +dl.m-doc dd { + margin-left: 0; + padding-left: 2.5rem; +} +dl.m-doc dt:target, dl.m-doc dt:target + dd { + margin-left: -1.0rem; + border-left-style: solid; + border-left-width: 0.25rem; + border-color: #a5c9ea; +} +dl.m-doc dt:target { padding-left: 0.75rem; } +dl.m-doc dt:target + dd { padding-left: 3.25rem; } +ul.m-doc { + list-style: none; + margin-left: 1.0375rem; + padding-left: 0.9rem; + border-left-color: #405363; + border-left-width: 0.0625rem; + border-left-style: solid; +} +ul.m-doc li { + text-indent: -1rem; + padding-left: 1rem; +} +ul.m-doc li.m-doc-expansible > ul { + display: none; +} +ul.m-doc li.m-doc-expansible, ul.m-doc li.m-doc-collapsible { + padding-left: 0.6rem; +} +ul.m-doc li.m-doc-expansible > ul.m-doc, ul.m-doc li.m-doc-collapsible > ul.m-doc { + margin-left: 0.5rem; +} +ul.m-doc li.m-doc-expansible > a:first-child::before, ul.m-doc li.m-doc-collapsible > a:first-child::before { + background-color: #2f363f; + display: inline-block; + width: 0.4rem; + font-weight: bold; +} +ul.m-doc li.m-doc-expansible > a:first-child::before { content: '⊕'; } +ul.m-doc li.m-doc-collapsible > a:first-child::before { content: '⊖'; } +h1 .m-doc-template, h1 .m-doc-include { + font-size: 1.3rem; + font-weight: normal; +} +h1 .m-doc-include:last-child { + margin-bottom: -0.5rem; +} +h3 .m-doc-template, h3 .m-doc-include { + font-size: 1rem; + font-weight: normal; +} +.m-doc-template, dl.m-doc dd, ul.m-doc li > span.m-doc { + color: #747474; +} +dl.m-doc dd svg.m-math, ul.m-doc li > span.m-doc svg.m-math { + fill: #747474; +} +.m-doc-template a, dl.m-doc dd a, ul.m-doc li > span.m-doc a { + color: #acacac; +} +.m-doc-template a:hover, .m-doc-template a:focus, .m-doc-template a:active, +dl.m-doc dd a:hover, dl.m-doc dd a:focus, dl.m-doc dd a:active, +ul.m-doc li > span.m-doc a:hover, ul.m-doc li > span.m-doc a:focus, ul.m-doc li > span.m-doc a:active { + color: #747474; +} +.m-code.m-inverted.m-doc-include > a:link, +.m-code.m-inverted.m-doc-include > a:visited { + opacity: 0.6666; +} +.m-code.m-inverted.m-doc-include > a:hover, +.m-code.m-inverted.m-doc-include > a:focus, +.m-code.m-inverted.m-doc-include > a:active { + opacity: 1; +} +article section.m-doc-details > div { + margin-top: 0; + margin-left: 0; + margin-right: 0; + position: relative; + padding: 1rem; +} +article section.m-doc-details > div::before { + position: absolute; + content: ' '; + top: 0; + bottom: 0; + left: 0; + right: 0; + z-index: -1; + border-style: solid; + border-width: 0.125rem; + border-radius: 0.2rem; + border-color: #282e36; +} +article section.m-doc-details > div > h3:first-child { + position: relative; + margin: -1rem -1rem 1rem -1rem; + padding: 0.5rem 1rem; + background-color: #282e36; + border-top-left-radius: 0.2rem; + border-top-right-radius: 0.2rem; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; +} +article section.m-doc-details:target { + border-color: transparent; +} +article section.m-doc-details:target > div { + z-index: 1; +} +.m-container-inflatable > .m-row > [class*='m-col-'] section.m-doc-details > div { + margin-left: -1rem; + margin-right: -1rem; +} +.m-container-inflatable section.m-doc-details:target > div > h3:first-child, +.m-container-inflatable section.m-doc-details:target section > div > h3:first-child { + margin-left: -1.0rem; + border-left-style: solid; + border-left-color: #dcdcdc; + border-left-width: 0.25rem; + padding-left: 0.75rem; +} +.m-container-inflatable section.m-doc-details:target > div::before, +.m-container-inflatable section-dox-details:target section > div.m::before { + border-left-width: 0.25rem; + border-left-color: #a5c9ea; +} +a.m-doc-search-icon { + padding-left: 1rem; + padding-right: 1rem; +} +a.m-doc-search-icon svg { + fill: #ffffff; +} +body > header > nav #m-navbar-collapse a.m-doc-search-icon svg { + vertical-align: -5%; +} +a.m-doc-search-icon:focus svg, a.m-doc-search-icon:hover svg, a.m-doc-search-icon:active svg { + fill: #a5c9ea; +} +.m-doc-search { + display: none; + z-index: 10; + position: fixed; + left: 0; + right: 0; + top: 0; + bottom: 0; + background-color: rgba(34, 39, 46, 0.75); +} +.m-doc-search:target { + display: block; +} +.m-doc-search > a { + display: block; + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; +} +.m-doc-search-header { + margin-top: 2.5rem; + padding: 0.5rem 1rem; + height: 2rem; +} +.m-doc-search-header > div:first-child { + float: right; +} +.m-doc-search-content { + background-color: #22272e; + border-radius: 0.2rem; + padding: 1rem; +} +.m-doc-search input { + width: 100%; + height: 3rem; + font-size: 1.2rem; + border-width: 0; + color: #dcdcdc; + background-color: #34424d; + border-radius: 0.2rem; + margin-bottom: 1rem; + padding: 0 1rem; +} +.m-doc-search #search-notfound { + display: none; +} +.m-doc-search ul#search-results { + list-style-type: none; + padding-left: 0; + max-height: calc(100vh - 12.5rem); + overflow-y: auto; + display: none; +} +.m-doc-search ul#search-results li a { + display: block; + padding-left: 1rem; + padding-right: 1rem; + text-decoration: none; + width: 100%; + line-height: 1.5rem; + color: #dcdcdc; +} +.m-doc-search ul#search-results li a > div { + white-space: nowrap; + overflow: hidden; +} +.m-doc-search ul#search-results li a > div:not(.m-doc-search-alias) { + direction: rtl; +} +.m-doc-search ul#search-results li a .m-label { + float: right; + line-height: 1rem; + margin-top: 0.1rem; + margin-left: 0.25rem; +} +.m-doc-search ul#search-results li a .m-label.m-flat { + margin-right: -0.75rem; +} +.m-doc-search ul#search-results li#search-current a { + background-color: #34424d; +} +.m-doc-search ul#search-results li#search-current.m-doc-search-copied a { + background-color: #2a703f; +} +.m-doc-search-typed { + color: #5b9dd9; +} +.m-doc-search input[type="search"] { -webkit-appearance: textfield; } +.m-doc-search input[type="search"]::-webkit-search-decoration, +.m-doc-search input[type="search"]::-webkit-search-cancel-button, +.m-doc-search input[type="search"]::-webkit-search-results-button, +.m-doc-search input[type="search"]::-webkit-search-results-decoration { + display: none; +} diff --git a/modules.html b/modules.html new file mode 100644 index 0000000..bf15202 --- /dev/null +++ b/modules.html @@ -0,0 +1,114 @@ + + + + + ScStw shared libraries + + + + + + + +
+
+
+
+
+

Modules

+
    +
+ +
+
+
+
+ + + +
+ + diff --git a/namespaces.html b/namespaces.html new file mode 100644 index 0000000..f328b64 --- /dev/null +++ b/namespaces.html @@ -0,0 +1,114 @@ + + + + + ScStw shared libraries + + + + + + + +
+
+
+
+
+

Namespaces

+
    +
+ +
+
+
+
+ + + +
+ + diff --git a/pages.html b/pages.html new file mode 100644 index 0000000..c061bc3 --- /dev/null +++ b/pages.html @@ -0,0 +1,114 @@ + + + + + ScStw shared libraries + + + + + + + +
+
+
+
+
+

Pages

+
    +
+ +
+
+
+
+ + + +
+ + diff --git a/refman.pdf b/refman.pdf new file mode 100644 index 0000000000000000000000000000000000000000..081ef068cfd90cd5070f411f900d8a5eec6de44d GIT binary patch literal 220723 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 literal 0 HcmV?d00001 diff --git a/search-v2.js b/search-v2.js new file mode 100644 index 0000000..3c8fd24 --- /dev/null +++ b/search-v2.js @@ -0,0 +1,897 @@ +/* + This file is part of m.css. + + Copyright © 2017, 2018, 2019, 2020, 2021, 2022 + Vladimír Vondruš + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +*/ + +"use strict"; /* it summons the Cthulhu in a proper way, they say */ + +var Search = { + formatVersion: 2, /* the data filename contains this number too */ + + dataSize: 0, /* used mainly by tests, not here */ + symbolCount: '…', + trie: null, + map: null, + mapFlagsOffset: null, + typeMap: null, + maxResults: 0, + + /* Type sizes and masks. The data is always fetched as 16/32bit number and + then masked to 1, 2, 3 or 4 bytes. Fortunately on LE a mask is enough, + on BE we'd have to read N bytes before and then mask. */ + nameSizeBytes: null, + nameSizeMask: null, + resultIdBytes: null, + resultIdMask: null, + fileOffsetBytes: null, + fileOffsetMask: null, + lookaheadBarrierMask: null, + + /* Always contains at least the root node offset and then one node offset + per entered character */ + searchString: '', + searchStack: [], + + /* So items don't get selected right away when a cursor is over results but + only after mouse moves */ + mouseMovedSinceLastRender: false, + + /* Whether we can go back in history in order to hide the search box or + not. We can't do that if we arrived directly on #search from outside. */ + canGoBackToHideSearch: false, + + /* Autocompletion in the input field is whitelisted only for character + input (so not deletion, cut, or anything else). This is flipped in the + onkeypress event and reset after each oninput event. */ + autocompleteNextInputEvent: false, + + init: function(buffer, maxResults) { + let view = new DataView(buffer); + + /* The file is too short to contain at least the headers and empty + sections */ + if(view.byteLength < 31) { + console.error("Search data too short"); + return false; + } + + if(view.getUint8(0) != 'M'.charCodeAt(0) || + view.getUint8(1) != 'C'.charCodeAt(0) || + view.getUint8(2) != 'S'.charCodeAt(0)) { + console.error("Invalid search data signature"); + return false; + } + + if(view.getUint8(3) != this.formatVersion) { + console.error("Invalid search data version"); + return false; + } + + /* Fetch type sizes. The only value that can fail is result ID byte + count, where value of 3 has no assigned meaning. */ + let typeSizes = view.getUint8(4, true); + if((typeSizes & 0x01) >> 0 == 0) { + this.fileOffsetBytes = 3; + this.fileOffsetMask = 0x00ffffff; + this.lookaheadBarrierMask = 0x00800000; + } else /* (typeSizes & 0x01) >> 0 == 1 */ { + this.fileOffsetBytes = 4; + this.fileOffsetMask = 0xffffffff; + this.lookaheadBarrierMask = 0x80000000; + } + if((typeSizes & 0x06) >> 1 == 0) { + this.resultIdBytes = 2; + this.resultIdMask = 0x0000ffff; + } else if((typeSizes & 0x06) >> 1 == 1) { + this.resultIdBytes = 3; + this.resultIdMask = 0x00ffffff; + } else if((typeSizes & 0x06) >> 1 == 2) { + this.resultIdBytes = 4; + this.resultIdMask = 0xffffffff; + } else /* (typeSizes & 0x06) >> 1 == 3 */ { + console.error("Invalid search data result ID byte value"); + return false; + } + if((typeSizes & 0x08) >> 3 == 0) { + this.nameSizeBytes = 1; + this.nameSizeMask = 0x00ff; + } else /* (typeSizes & 0x08) >> 3 == 1 */ { + this.nameSizeBytes = 2; + this.nameSizeMask = 0xffff; + } + + /* Separate the data into the trie and the result / type map. Because + we're reading larger values than there might be and then masking out + the high bytes, keep extra 1/2 byte padding at the end to avoid + OOB errors. */ + let mapOffset = view.getUint32(12, true); + let typeMapOffset = view.getUint32(16, true); + /* There may be a 3-byte file offset at the end of the trie which we'll + read as 32-bit, add one safety byte in that case */ + this.trie = new DataView(buffer, 20, mapOffset - 20 + (4 - this.fileOffsetBytes)); + /* There may be a 3-byte file size (for zero results) which we'll read + as 32-bit, add one safety byte in that case */ + this.map = new DataView(buffer, mapOffset, typeMapOffset - mapOffset + (4 - this.fileOffsetBytes)); + /* No variable-size types in the type map at the moment */ + this.typeMap = new DataView(buffer, typeMapOffset); + + /* Offset of the first result map item is after N + 1 offsets and N + flags, calculate flag offset from that */ + this.mapFlagsOffset = this.fileOffsetBytes*(((this.map.getUint32(0, true) & this.fileOffsetMask) - this.fileOffsetBytes)/(this.fileOffsetBytes + 1) + 1); + + /* Set initial properties */ + this.dataSize = buffer.byteLength; + this.symbolCount = view.getUint32(8, true) + " symbols (" + Math.round(this.dataSize/102.4)/10 + " kB)"; + this.maxResults = maxResults ? maxResults : 100; + this.searchString = ''; + this.searchStack = [this.trie.getUint32(0, true)]; + + /* istanbul ignore if */ + if(typeof document !== 'undefined') { + document.getElementById('search-symbolcount').innerHTML = this.symbolCount; + document.getElementById('search-input').disabled = false; + document.getElementById('search-input').placeholder = "Type something here …"; + document.getElementById('search-input').focus(); + + /* Search for the input value (there might be something already, + for example when going back in the browser) */ + let value = document.getElementById('search-input').value; + + /* Otherwise check the GET parameters for `q` and fill the input + with that */ + if(!value.length) { + var args = decodeURIComponent(window.location.search.substr(1)).trim().split('&'); + for(var i = 0; i != args.length; ++i) { + if(args[i].substring(0, 2) != 'q=') continue; + + value = document.getElementById('search-input').value = args[i].substring(2); + break; + } + } + + if(value.length) Search.searchAndRender(value); + } + + return true; + }, + + download: /* istanbul ignore next */ function(url) { + var req = window.XDomainRequest ? new XDomainRequest() : new XMLHttpRequest(); + if(!req) return; + + req.open("GET", url, true); + req.responseType = 'arraybuffer'; + req.onreadystatechange = function() { + if(req.readyState != 4) return; + + Search.init(req.response); + } + req.send(); + }, + + base85decode: function(base85string) { + function charValue(char) { + if(char >= 48 && char < 58) /* 0-9 -> 0-9 */ + return char - 48 + 0; + if(char >= 65 && char < 91) /* A-Z -> 10-35 */ + return char - 65 + 10; + if(char >= 97 && char < 123) /* a-z -> 36-61 */ + return char - 97 + 36; + if(char == 33) /* ! -> 62 */ + return 62; + /* skipping 34 (') */ + if(char >= 35 && char < 39) /* #-& -> 63-66 */ + return char - 35 + 63; + /* skipping 39 (") */ + if(char >= 40 && char < 44) /* (-+ -> 67-70 */ + return char - 40 + 67; + /* skipping 44 (,) */ + if(char == 45) /* - -> 71 */ + return 71; + if(char >= 59 && char < 65) /* ;-@ -> 72-77 */ + return char - 59 + 72; + if(char >= 94 && char < 97) /* ^-` -> 78-80 */ + return char - 94 + 78; + if(char >= 123 && char < 127) /* {-~ -> 81-84 */ + return char - 123 + 81; + + return 0; /* Interpret padding values as zeros */ + } + + /* Pad the string for easier decode later. We don't read past the file + end, so it doesn't matter what garbage is there. */ + if(base85string.length % 5) { + console.log("Expected properly padded base85 data"); + return; + } + + let buffer = new ArrayBuffer(base85string.length*4/5); + let data8 = new DataView(buffer); + for(let i = 0; i < base85string.length; i += 5) { + let char1 = charValue(base85string.charCodeAt(i + 0)); + let char2 = charValue(base85string.charCodeAt(i + 1)); + let char3 = charValue(base85string.charCodeAt(i + 2)); + let char4 = charValue(base85string.charCodeAt(i + 3)); + let char5 = charValue(base85string.charCodeAt(i + 4)); + + data8.setUint32(i*4/5, char5 + + char4*85 + + char3*85*85 + + char2*85*85*85 + + char1*85*85*85*85, false); /* BE, yes */ + } + + return buffer; + }, + + load: function(base85string) { + return this.init(this.base85decode(base85string)); + }, + + /* http://ecmanaut.blogspot.com/2006/07/encoding-decoding-utf8-in-javascript.html */ + toUtf8: function(string) { return unescape(encodeURIComponent(string)); }, + fromUtf8: function(string) { return decodeURIComponent(escape(string)); }, + + autocompletedCharsToUtf8: function(chars) { + /* Strip incomplete UTF-8 chars from the autocompletion end */ + for(let i = chars.length - 1; i >= 0; --i) { + let c = chars[i]; + + /* We're safe, finish */ + if( + /* ASCII value at the end */ + (c < 128 && i + 1 == chars.length) || + + /* Full two-byte character at the end */ + ((c & 0xe0) == 0xc0 && i + 2 == chars.length) || + + /* Full three-byte character at the end */ + ((c & 0xf0) == 0xe0 && i + 3 == chars.length) || + + /* Full four-byte character at the end */ + ((c & 0xf8) == 0xf0 && i + 4 == chars.length) + ) break; + + /* Continuing UTF-8 character, go further back */ + if((c & 0xc0) == 0x80) continue; + + /* Otherwise the character is not complete, drop it from the end */ + chars.length = i; + break; + } + + /* Convert the autocompleted UTF-8 sequence to a string */ + let suggestedTabAutocompletionString = ''; + for(let i = 0; i != chars.length; ++i) + suggestedTabAutocompletionString += String.fromCharCode(chars[i]); + return suggestedTabAutocompletionString; + }, + + /* Returns the values in UTF-8, but input is in whatever shitty 16bit + encoding JS has */ + search: function(searchString) { + /* Normalize the search string first, convert to UTF-8 and trim spaces + from the left. From the right they're trimmed only if nothing is + found, see below. */ + searchString = this.toUtf8(searchString.toLowerCase().replace(/^\s+/,'')); + + /* TODO: maybe i could make use of InputEvent.data and others here */ + + /* Find longest common prefix of previous and current value so we don't + need to needlessly search again */ + let max = Math.min(searchString.length, this.searchString.length); + let commonPrefix = 0; + for(; commonPrefix != max; ++commonPrefix) + if(searchString[commonPrefix] != this.searchString[commonPrefix]) break; + + /* Drop items off the stack if it has has more than is needed for the + common prefix (it needs to have at least one item, though) */ + if(commonPrefix + 1 < this.searchStack.length) + this.searchStack.splice(commonPrefix + 1, this.searchStack.length - commonPrefix - 1); + + /* Add new characters from the search string */ + let foundPrefix = commonPrefix; + for(; foundPrefix != searchString.length; ++foundPrefix) { + /* Calculate offset and count of children */ + let offset = this.searchStack[this.searchStack.length - 1]; + + /* If there's a lot of results, the result count is a 16bit BE value + instead */ + let resultCount = this.trie.getUint8(offset); + let resultCountSize = 1; + if(resultCount & 0x80) { + resultCount = this.trie.getUint16(offset, false) & ~0x8000; + ++resultCountSize; + } + + let childCount = this.trie.getUint8(offset + resultCountSize); + + /* Go through all children and find the next offset */ + let childOffset = offset + resultCountSize + 1 + resultCount*this.resultIdBytes; + let found = false; + for(let j = 0; j != childCount; ++j) { + if(String.fromCharCode(this.trie.getUint8(childOffset + j)) != searchString[foundPrefix]) + continue; + + this.searchStack.push(this.trie.getUint32(childOffset + childCount + j*this.fileOffsetBytes, true) & this.fileOffsetMask & ~this.lookaheadBarrierMask); + found = true; + break; + } + + /* Character not found */ + if(!found) { + /* If we found everything except spaces at the end, pretend the + spaces aren't there. On the other hand, we *do* want to + try searching with the spaces first -- it can narrow down + the result list for page names or show subpages (which are + after a lookahead barrier that's a space). */ + if(!searchString.substr(foundPrefix).trim().length) + searchString = searchString.substr(0, foundPrefix); + + break; + } + } + + /* Save the whole found prefix for next time */ + this.searchString = searchString.substr(0, foundPrefix); + + /* If the whole thing was not found, return an empty result and offer + external search */ + if(foundPrefix != searchString.length) { + /* istanbul ignore if */ + if(typeof document !== 'undefined') { + let link = document.getElementById('search-external'); + if(link) + link.href = link.dataset.searchEngine.replace('{query}', encodeURIComponent(searchString)); + } + return [[], '']; + } + + /* Otherwise gather the results */ + let suggestedTabAutocompletionChars = []; + let results = []; + let leaves = [[this.searchStack[this.searchStack.length - 1], 0]]; + while(leaves.length) { + /* Pop offset from the queue */ + let current = leaves.shift(); + let offset = current[0]; + let suffixLength = current[1]; + + /* Calculate child count. If there's a lot of results, the count + "leaks over" to the child count storage. */ + /* TODO: hmmm. this is helluvalot duplicated code. hmm. */ + let resultCount = this.trie.getUint8(offset); + let resultCountSize = 1; + if(resultCount & 0x80) { + resultCount = this.trie.getUint16(offset, false) & ~0x8000; + ++resultCountSize; + } + + let childCount = this.trie.getUint8(offset + resultCountSize); + + /* Populate the results with all values associated with this node */ + for(let i = 0; i != resultCount; ++i) { + let index = this.trie.getUint32(offset + resultCountSize + 1 + i*this.resultIdBytes, true) & this.resultIdMask; + results.push(this.gatherResult(index, suffixLength, 0xffffff)); /* should be enough haha */ + + /* 'nuff said. */ + if(results.length >= this.maxResults) + return [results, this.autocompletedCharsToUtf8(suggestedTabAutocompletionChars)]; + } + + /* Dig deeper */ + let childOffset = offset + resultCountSize + 1 + resultCount*this.resultIdBytes; + for(let j = 0; j != childCount; ++j) { + let offsetBarrier = this.trie.getUint32(childOffset + childCount + j*this.fileOffsetBytes, true) & this.fileOffsetMask; + + /* Lookahead barrier, don't dig deeper */ + if(offsetBarrier & this.lookaheadBarrierMask) continue; + + /* Append to the queue */ + leaves.push([offsetBarrier & ~this.lookaheadBarrierMask, suffixLength + 1]); + + /* We don't have anything yet and this is the only path + forward, add the char to suggested Tab autocompletion. Can't + extract it from the leftmost 8 bits of offsetBarrier because + that would make it negative, have to load as Uint8 instead. + Also can't use String.fromCharCode(), because later doing + str.charCodeAt() would give me back UTF-16 values, which is + absolutely unwanted when all I want is check for truncated + UTF-8. */ + if(!results.length && leaves.length == 1 && childCount == 1) + suggestedTabAutocompletionChars.push(this.trie.getUint8(childOffset + j)); + } + } + + return [results, this.autocompletedCharsToUtf8(suggestedTabAutocompletionChars)]; + }, + + gatherResult: function(index, suffixLength, maxUrlPrefix) { + let flags = this.map.getUint8(this.mapFlagsOffset + index); + let resultOffset = this.map.getUint32(index*this.fileOffsetBytes, true) & this.fileOffsetMask; + + /* The result is an alias, parse the aliased prefix */ + let aliasedIndex = null; + if((flags & 0xf0) == 0x00) { + aliasedIndex = this.map.getUint32(resultOffset, true) & this.resultIdMask; + resultOffset += this.resultIdBytes; + } + + /* The result has a prefix, parse that first, recursively */ + let name = ''; + let url = ''; + if(flags & (1 << 3)) { + let prefixIndex = this.map.getUint32(resultOffset, true) & this.resultIdMask; + let prefixUrlPrefixLength = Math.min(this.map.getUint16(resultOffset + this.resultIdBytes, true) & this.nameSizeMask, maxUrlPrefix); + + let prefix = this.gatherResult(prefixIndex, 0 /*ignored*/, prefixUrlPrefixLength); + name = prefix.name; + url = prefix.url; + + resultOffset += this.resultIdBytes + this.nameSizeBytes; + } + + /* The result has a suffix, extract its length */ + let resultSuffixLength = 0; + if(flags & (1 << 0)) { + resultSuffixLength = this.map.getUint16(resultOffset, true) & this.nameSizeMask; + resultOffset += this.nameSizeBytes; + } + + let nextResultOffset = this.map.getUint32((index + 1)*this.fileOffsetBytes, true) & this.fileOffsetMask; + + /* Extract name */ + let j = resultOffset; + for(; j != nextResultOffset; ++j) { + let c = this.map.getUint8(j); + + /* End of null-delimited name */ + if(!c) { + ++j; + break; /* null-delimited */ + } + + name += String.fromCharCode(c); /* eheh. IS THIS FAST?! */ + } + + /* The result is an alias and we're not deep inside resolving a prefix, + extract the aliased name and URL */ + /* TODO: this abuses 0xffffff to guess how the call stack is deep and + that's just wrong, fix! */ + if(aliasedIndex != null && maxUrlPrefix == 0xffffff) { + let alias = this.gatherResult(aliasedIndex, 0 /* ignored */, 0xffffff); /* should be enough haha */ + + /* Keeping in UTF-8, as we need that for proper slicing (and concatenating) */ + return {name: name, + alias: alias.name, + url: alias.url, + flags: alias.flags, + cssClass: alias.cssClass, + typeName: alias.typeName, + suffixLength: suffixLength + resultSuffixLength}; + } + + /* Otherwise extract URL from here */ + let max = Math.min(j + maxUrlPrefix - url.length, nextResultOffset); + for(; j != max; ++j) { + url += String.fromCharCode(this.map.getUint8(j)); + } + + /* This is an alias, return what we have, without parsed CSS class and + type name as those are retrieved from the final target type */ + if(!(flags >> 4)) + return {name: name, + url: url, + flags: flags & 0x0f, + suffixLength: suffixLength + resultSuffixLength}; + + /* Otherwise, get CSS class and type name for the result label */ + let typeMapIndex = (flags >> 4) - 1; + let cssClass = [ + /* Keep in sync with _search.py */ + 'm-default', + 'm-primary', + 'm-success', + 'm-warning', + 'm-danger', + 'm-info', + 'm-dim' + ][this.typeMap.getUint8(typeMapIndex*2)]; + let typeNameOffset = this.typeMap.getUint8(typeMapIndex*2 + 1); + let nextTypeNameOffset = this.typeMap.getUint8((typeMapIndex + 1)*2 + 1); + let typeName = ''; + for(let j = typeNameOffset; j != nextTypeNameOffset; ++j) + typeName += String.fromCharCode(this.typeMap.getUint8(j)); + + /* Keeping in UTF-8, as we need that for proper slicing (and + concatenating). Strip the type from the flags, as it's now expressed + directly. */ + return {name: name, + url: url, + flags: flags & 0x0f, + cssClass: cssClass, + typeName: typeName, + suffixLength: suffixLength + resultSuffixLength}; + }, + + escape: function(name) { + return name.replace(/[\"&<>]/g, function (a) { + return { '"': '"', '&': '&', '<': '<', '>': '>' }[a]; + }); + }, + escapeForRtl: function(name) { + /* Besides the obvious escaping of HTML entities we also need + to escape punctuation, because due to the RTL hack to cut + text off on left side the punctuation characters get + reordered (of course). Prepending ‎ works for most + characters, parentheses we need to *soak* in it. But only + the right ones. And that for some reason needs to be also for &. + Huh. https://en.wikipedia.org/wiki/Right-to-left_mark */ + return this.escape(name).replace(/[:=]/g, '‎$&').replace(/(\)|>|&|\/)/g, '‎$&‎'); + }, + + renderResults: /* istanbul ignore next */ function(resultsSuggestedTabAutocompletion) { + if(!this.searchString.length) { + document.getElementById('search-help').style.display = 'block'; + document.getElementById('search-results').style.display = 'none'; + document.getElementById('search-notfound').style.display = 'none'; + return; + } + + document.getElementById('search-help').style.display = 'none'; + + /* Results found */ + if(resultsSuggestedTabAutocompletion[0].length) { + let results = resultsSuggestedTabAutocompletion[0]; + + document.getElementById('search-results').style.display = 'block'; + document.getElementById('search-notfound').style.display = 'none'; + + let list = ''; + for(let i = 0; i != results.length; ++i) { + /* Labels + */ + list += '
' + results[i].typeName + '
' + (results[i].flags & 2 ? '
deprecated
' : '') + (results[i].flags & 4 ? '
deleted
' : ''); + + /* Render the alias (cut off from the right) */ + if(results[i].alias) { + list += '
' + this.escape(results[i].name.substr(0, results[i].name.length - this.searchString.length - results[i].suffixLength)) + '' + this.escape(results[i].name.substr(results[i].name.length - this.searchString.length - results[i].suffixLength, this.searchString.length)) + '' + this.escapeForRtl(results[i].name.substr(results[i].name.length - results[i].suffixLength)) + ': ' + this.escape(results[i].alias) + ''; + + /* Render the normal thing (cut off from the left, have to + escape for RTL) */ + } else { + list += '
' + this.escapeForRtl(results[i].name.substr(0, results[i].name.length - this.searchString.length - results[i].suffixLength)) + '' + this.escapeForRtl(results[i].name.substr(results[i].name.length - this.searchString.length - results[i].suffixLength, this.searchString.length)) + '' + this.escapeForRtl(results[i].name.substr(results[i].name.length - results[i].suffixLength)); + } + + /* The closing */ + list += '
'; + } + document.getElementById('search-results').innerHTML = this.fromUtf8(list); + document.getElementById('search-current').scrollIntoView(true); + + /* Append the suggested tab autocompletion, if any, and if the user + didn't just delete it */ + let searchInput = document.getElementById('search-input'); + if(this.autocompleteNextInputEvent && resultsSuggestedTabAutocompletion[1].length && searchInput.selectionEnd == searchInput.value.length) { + let suggestedTabAutocompletion = this.fromUtf8(resultsSuggestedTabAutocompletion[1]); + + let lengthBefore = searchInput.value.length; + searchInput.value += suggestedTabAutocompletion; + searchInput.setSelectionRange(lengthBefore, searchInput.value.length); + } + + /* Nothing found */ + } else { + document.getElementById('search-results').innerHTML = ''; + document.getElementById('search-results').style.display = 'none'; + document.getElementById('search-notfound').style.display = 'block'; + } + + /* Don't allow things to be selected just by motionless mouse cursor + suddenly appearing over a search result */ + this.mouseMovedSinceLastRender = false; + + /* Reset autocompletion, if it was allowed. It'll get whitelisted next + time a character gets inserted. */ + this.autocompleteNextInputEvent = false; + }, + + searchAndRender: /* istanbul ignore next */ function(value) { + let prev = performance.now(); + let results = this.search(value); + let after = performance.now(); + this.renderResults(results); + if(this.searchString.length) { + document.getElementById('search-symbolcount').innerHTML = + results[0].length + (results[0].length >= this.maxResults ? '+' : '') + " results (" + Math.round((after - prev)*10)/10 + " ms)"; + } else + document.getElementById('search-symbolcount').innerHTML = this.symbolCount; + }, +}; + +/* istanbul ignore next */ +function selectResult(event) { + if(!Search.mouseMovedSinceLastRender) return; + + if(event.currentTarget.parentNode.id == 'search-current') return; + + let current = document.getElementById('search-current'); + current.removeAttribute('id'); + event.currentTarget.parentNode.id = 'search-current'; +} + +/* This is separated from showSearch() because we need non-destructive behavior + when appearing directly on a URL with #search */ /* istanbul ignore next */ +function updateForSearchVisible() { + /* Prevent accidental scrolling of the body, prevent page layout jumps */ + let scrolledBodyWidth = document.body.offsetWidth; + document.body.style.overflow = 'hidden'; + document.body.style.paddingRight = (document.body.offsetWidth - scrolledBodyWidth) + 'px'; + + document.getElementById('search-input').value = ''; + document.getElementById('search-input').focus(); + document.getElementById('search-results').style.display = 'none'; + document.getElementById('search-notfound').style.display = 'none'; + document.getElementById('search-help').style.display = 'block'; +} + +/* istanbul ignore next */ +function showSearch() { + window.location.hash = '#search'; + Search.canGoBackToHideSearch = true; + + updateForSearchVisible(); + document.getElementById('search-symbolcount').innerHTML = Search.symbolCount; + return false; +} + +/* istanbul ignore next */ +function hideSearch() { + /* If the search box was opened using showSearch(), we can go back in the + history. Otherwise (for example when we landed to #search from a + bookmark or another server), going back would not do the right thing and + in that case we simply replace the current history state. */ + if(Search.canGoBackToHideSearch) { + Search.canGoBackToHideSearch = false; + window.history.back(); + } else { + window.location.hash = '#!'; + window.history.replaceState('', '', window.location.pathname); + } + + /* Restore scrollbar, prevent page layout jumps */ + document.body.style.overflow = 'auto'; + document.body.style.paddingRight = '0'; + + return false; +} + +/* istanbul ignore next */ +function copyToKeyboard(text) { + /* Append to the popup, appending to document.body would cause it to + scroll when focused */ + let searchPopup = document.getElementsByClassName('m-doc-search')[0]; + let textarea = document.createElement("textarea"); + textarea.value = text; + searchPopup.appendChild(textarea); + textarea.focus(); + textarea.select(); + + document.execCommand('copy'); + + searchPopup.removeChild(textarea); + document.getElementById('search-input').focus(); +} + +/* Only in case we're running in a browser. Why a simple if(document) doesn't + work is beyond me. */ /* istanbul ignore if */ +if(typeof document !== 'undefined') { + document.getElementById('search-input').oninput = function(event) { + Search.searchAndRender(document.getElementById('search-input').value); + }; + + document.onkeydown = function(event) { + /* Search shown */ + if(window.location.hash == '#search') { + /* Close the search */ + if(event.key == 'Escape') { + hideSearch(); + + /* Focus the search input, if not already, using T or Tab */ + } else if((!document.activeElement || document.activeElement.id != 'search-input') && (event.key.toLowerCase() == 't' || event.key == 'Tab') && !event.shiftKey && !event.ctrlKey && !event.altKey && !event.metaKey) { + document.getElementById('search-input').focus(); + return false; /* so T doesn't get entered into the box */ + + /* Fill in the autocompleted selection */ + } else if(event.key == 'Tab' && !event.shiftKey && !event.ctrlKey && !event.altKey && !event.metaKey) { + /* But only if the input has selection at the end */ + let input = document.getElementById('search-input'); + if(input.selectionEnd == input.value.length && input.selectionStart != input.selectionEnd) { + input.setSelectionRange(input.value.length, input.value.length); + return false; /* so input won't lose focus */ + } + + /* Select next item */ + } else if(event.key == 'ArrowDown') { + let current = document.getElementById('search-current'); + if(current) { + let next = current.nextSibling; + if(next) { + current.id = ''; + next.id = 'search-current'; + next.scrollIntoView(false); + } + } + return false; /* so the keypress doesn't affect input cursor */ + + /* Select prev item */ + } else if(event.key == 'ArrowUp') { + let current = document.getElementById('search-current'); + if(current) { + let prev = current.previousSibling; + if(prev) { + current.id = ''; + prev.id = 'search-current'; + prev.scrollIntoView(false); + } + } + return false; /* so the keypress doesn't affect input cursor */ + + /* Go to result (if any) */ + } else if(event.key == 'Enter') { + let result = document.getElementById('search-current'); + if(result) { + result.firstElementChild.click(); + + /* We might be staying on the same page, so restore scrollbar, + and prevent page layout jumps */ + document.body.style.overflow = 'auto'; + document.body.style.paddingRight = '0'; + } + return false; /* so the form doesn't get sent */ + + /* Copy (Markdown) link to keyboard */ + } else if((event.key.toLowerCase() == 'l' || event.key.toLowerCase() == 'm') && event.metaKey) { + let result = document.getElementById('search-current'); + if(result) { + let plain = event.key.toLowerCase() == 'l'; + let link = plain ? result.firstElementChild.href : + '[' + result.firstElementChild.dataset.mdLinkTitle + '](' + result.firstElementChild.href + ')'; + + copyToKeyboard(link); + + /* Add CSS class to the element for visual feedback (this + will get removed on keyup), but only if it's not already + there (in case of key repeat, e.g.) */ + if(result.className.indexOf('m-doc-search-copied') == -1) + result.className += ' m-doc-search-copied'; + console.log("Copied " + (plain ? "link" : "Markdown link") + " to " + result.firstElementChild.dataset.mdLinkTitle); + } + + return false; /* so L doesn't get entered into the box */ + + /* Looks like the user is inserting some text (and not cutting, + copying or whatever), allow autocompletion for the new + character. The oninput event resets this back to false, so this + basically whitelists only keyboard input, including Shift-key + and special chars using right Alt (or equivalent on Mac), but + excluding Ctrl-key, which is usually not for text input. In the + worst case the autocompletion won't be allowed ever, which is + much more acceptable behavior than having no ability to disable + it and annoying the users. */ + } else if(event.key != 'Backspace' && event.key != 'Delete' && !event.metaKey && (!event.ctrlKey || event.altKey) + /* Don't ever attempt autocompletion with Android virtual + keyboards, as those report all `event.key`s as + `Unidentified` (on Chrome) or `Process` (on Firefox) with + `event.code` 229 and thus we have no way to tell if a text + is entered or deleted. See this WONTFIX bug for details: + https://bugs.chromium.org/p/chromium/issues/detail?id=118639 + Couldn't find any similar bugreport for Firefox, but I + assume the virtual keyboard is to blame. + + An alternative is to hook into inputEvent, which has the + data, but ... there's more cursed issues right after that: + + - setSelectionRange() in Chrome on Android only renders + stuff, but doesn't actually act as such. Pressing + Backspace will only remove the highlight, but the text + stays here. Only delay-calling it through a timeout will + work as intended. Possibly related SO suggestion (back + then not even the rendering worked properly): + https://stackoverflow.com/a/13235951 + Possibly related Chrome bug: + https://bugs.chromium.org/p/chromium/issues/detail?id=32865 + + - On Firefox Mobile, programmatically changing an input + value (for the autocompletion highlight) will trigger an + input event, leading to search *and* autocompletion being + triggered again. Ultimately that results in newly typed + characters not replacing the autocompletion but rather + inserting before it, corrupting the searched string. This + event has to be explicitly ignored. + + - On Firefox Mobile, deleting a highlight with the + backspace key will result in *three* input events instead + of one: + 1. `deleteContentBackward` removing the selection (same + as Chrome or desktop Firefox) + 2. `deleteContentBackward` removing *the whole word* + that contained the selection (or the whole text if + it's just one word) + 3. `insertCompositionText`, adding the word back in, + resulting in the same state as (1). + I have no idea WHY it has to do this (possibly some + REALLY NASTY workaround to trigger correct font shaping?) + but ultimately it results in the autocompletion being + added again right after it got deleted, making this whole + thing VERY annoying to use. + + I attempted to work around the above, but it resulted in a + huge amount of browser-specific code that achieves only 90% + of the goal, with certain corner cases still being rather + broken (such as autocompletion randomly triggering when + erasing the text, even though it shouldn't). So disabling + autocompletion on this HELLISH BROKEN PLATFORM is the best + option at the moment. */ + && event.key != 'Unidentified' && event.key != 'Process' + ) { + Search.autocompleteNextInputEvent = true; + /* Otherwise reset the flag, because when the user would press e.g. + the 'a' key and then e.g. ArrowRight (which doesn't trigger + oninput), a Backspace after would still result in + autocompleteNextInputEvent, because nothing reset it back. */ + } else { + Search.autocompleteNextInputEvent = false; + } + + /* Search hidden */ + } else { + /* Open the search on the T or Tab key */ + if((event.key.toLowerCase() == 't' || event.key == 'Tab') && !event.shiftKey && !event.ctrlKey && !event.altKey && !event.metaKey) { + showSearch(); + return false; /* so T doesn't get entered into the box */ + } + } + }; + + document.onkeyup = function(event) { + /* Remove highlight after key is released after a link copy */ + if((event.key.toLowerCase() == 'l' || event.key.toLowerCase() == 'm') && event.metaKey) { + let result = document.getElementById('search-current'); + if(result) result.className = result.className.replace(' m-doc-search-copied', ''); + } + }; + + /* Allow selecting items by mouse hover only after it moves once the + results are populated. This prevents a random item getting selected if + the cursor is left motionless over the result area. */ + document.getElementById('search-results').onmousemove = function() { + Search.mouseMovedSinceLastRender = true; + }; + + /* If #search is already present in the URL, hide the scrollbar etc. for a + consistent experience */ + if(window.location.hash == '#search') updateForSearchVisible(); +} + +/* For Node.js testing */ /* istanbul ignore else */ +if(typeof module !== 'undefined') { module.exports = { Search: Search }; } diff --git a/searchdata-v2.js b/searchdata-v2.js new file mode 100644 index 0000000..699ffa6 --- /dev/null +++ b/searchdata-v2.js @@ -0,0 +1,2 @@ +/* Generated by https://mcss.mosra.cz/documentation/doxygen/. Do not edit. */ +Search.load('O+!-x00000PXGV_lobE~MkoLPMil@60RRC200Aik00032001Zm0Du4iat;6h00Ctd00001c^m)$00Chl00001Y$yN#00D3=00001WHbN(00C|~00001bwB_B00D1C00001b4&mL00DPW00001bXWiY00DDe00001V`KmT0RRI400Aj*000312><{ADS7|^0RadAD1HEd00Cr#00001WsCp-00DH800001a+m-B00Cj100001bff?P00DEV00001Yp?(S00CpR00001VY~nU0RjR5C}MN~fWiO(00DW(00001VblNs00C^;000311poj6DdqqG0RaR6DCz)!00C(500001bNB!N00C+K00001ZUg}U00C(V0RR92W)J}Y00Cqc0RR92ZX5vs00DI(0RR92Zzur(00DC@0RR92ax?(|00D100RR92W003A40Ehtq00BCV0RRF53IG5AIw+t4fCvD900DBQ0RR92WwZeR00DWr0RR92VZZ?Z00C^q0RR92aLfS!00Csu0RR92ZrA|;00DL00RR92Z{z_00RRgC00Cw20RR92Z1e#D0RR;M00DFW0ssI3ZUh1V00CtR0ssI3WDo)X00C(h0ssI3V;lki00Lxg`T+nU0ssL33;+NDXEFi+00C|`0ssI3X*>b|00DGD0ssI3a!3LI00Ci60ssI3bW{QW0RRmE00C!U0ssI3Ze#)g00C)g0ssI3Zg2ts00C}x0ssI3b$kK<0RRpF00C!+0ssI3Zj1r|00C)|0ssI3beIAF00C*90ssL34*&oGZmI$R0RR#J00CsQ0ssI3a<~Ej00CjX0ssI3W5fag00Csm0ssI3Y|sJ#00UufX`})Gt^xqo0ssL35C8xHbm{^C00DFE0ssI3Z}b8H0RRyI00CzJ0{{R4ZUh4W0RR&K00CqW0{{R5X=Mrn02BiN00C?o0{{R4X(R&x00Cht0{{U46aWALWHti;00Ct>0{{R4Y(N7500C@90{{R4WlRGA00CoC0{{R4Zdd~V00CiM0{{U4761SNWNHHd00Cug0{{R4Y;*$v00Clp0{{R4VSobw00DD`0{{R4X^aB^00?Pwa(8TIV`L}-09pb7f&u{C0s#5~05AgpWCH+_0{{R4I+z0h0Ra~PI=TaZ00Cvd0{{R4bjSk$00Cjn0{{R4bkqX?00DE_0{{R4a^M3100Cv@0{{R4ZR`U80RT(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