RuStream 1.4.0

Self-hosted Streaming Engine, that can render media files via authenticated sessions.
Documentation
use rand::prelude::SliceRandom;

/// Prints random ASCII art of a horse, dog or a dolphin.
///
/// ## References
/// - [asciiart.eu](https://www.asciiart.eu)
/// - [asciiart.cc](https://asciiart.cc)
pub fn random() {
    let horse = r"
                                                 #    #
                                            %%% ##   ##
                                         %%%%% ###%%###
                                        %%%%% ### %%% #
                                      %%%%%% ### %%% ###
                                       %%%% ## %% #######
                                      %%%%% # %% #O#####
                                    %%%%%% # % #########
                                   %%%%% ##### #########
                         ###        %% ####### #########
                %%% ############    ########### ########
             %%%% ############################### #######
           %%%%% ################################## ######
         %%%%%% #################################### #C###
        %%%%%% #####################################  ###
        %%%%% #######################################
       %%%%%% ########################################
    % %%%%%%% ########################################
     %%%%%%%%% #######################################
    %%%%%%%%%% ########################################
 %%% %%%%%%%%   ###### ################################
   %%%%%%%%      ###### #################### ##########
% %%%%%%%%        ####### ########### ###### ##########
 %%%%%%%%%         #######  ########### ###### ########
%%%%%%%%%%          ##### ###  ######### ####### ######
 %%%%%%%%%%          #### ##               ####### ####
 %%%%%%%%%%%           ## #                  ##### ###
  %%  %% % %%         # ##                      ## ###
    %   %    %        # ###                      # ###
                       # ###                     ## ###
                       # ###                     ## ###
                       # ####                   #### ##
                      ### ###                  ##### ###
                     ####  ###                 ####   ##
                    #####   ###                 ##    ##
                   #####    ####                      ###
                    ##        ###                     ###
                               ####                     ##
                                ####                    ###
                                                        ####
                                                         ##
";

    let dog = r###"
           __.
        .-".'                      .--.            _..._
      .' .'                     .'    \       .-""  __ ""-.
     /  /                     .'       : --..:__.-""  ""-. \
    :  :                     /         ;.d$$    sbp_.-""-:_:
    ;  :                    : ._       :P .-.   ,"TP
    :   \                    \  T--...-; : d$b  :d$b
     \   `.                   \  `..'    ; $ $  ;$ $
      `.   "-.                 ).        : T$P  :T$P
        \..---^..             /           `-'    `._`._
       .'        "-.       .-"                     T$$$b
      /             "-._.-"               ._        '^' ;
     :                                    \.`.         /
     ;                                -.   \`."-._.-'-'
    :                                 .'\   \ \ \ \
    ;  ;                             /:  \   \ \ . ;
   :   :                            ,  ;  `.  `.;  :
   ;    \        ;                     ;    "-._:  ;
  :      `.      :                     :         \/
  ;       /"-.    ;                    :
 :       /    "-. :                  : ;
 :     .'        T-;                 ; ;
 ;    :          ; ;                /  :
 ;    ;          : :              .'    ;
:    :            ;:         _..-"\     :
:     \           : ;       /      \     ;
;    . '.         '-;      /        ;    :
;  \  ; :           :     :         :    '-.
'.._L.:-'           :     ;          ;    . `.
                     ;    :          :  \  ; :
                     :    '-..       '.._L.:-'
                      ;     , `.
                      :   \  ; :
                      '..__L.:-'
"###;

    let dolphin = r###"
                                               _______
                                         .,add88YYYYY88ba,
                                    .,adPP""'         `"Yba___,aaadYPPba,
                                .,adP""                .adP""""'     .,Y8b
                             ,adP"'                __  d"'     .,ad8P""Y8I
                          ,adP"'                  d88b I  .,adP""'   ,d8I'
                        ,adP"                     Y8P" ,adP"'    .,adP"'
                       adP"                        "' dP"     ,adP""'
                    ,adP"                             P    ,adP"'
            .,,aaaad8P"                                 ,adP"
       ,add88PP""""'                                  ,dP"
    ,adP""'                                         ,dP"
  ,8P"'                                            d8"
,dP'                                              dP'
`"Yba                                             Y8
  `"Yba                                           `8,
    `"Yba,                                         8I
       `"8b                                        8I
         dP                              __       ,8I
        ,8'                            ,d88b,    ,d8'
        dP                           ,dP'  `Yb, ,d8'
       ,8'                         ,dP"      `"Y8P'
       dP                        ,8P"
      ,8'                      ,dP"
      dP                     ,dP"
     ,8'                    ,8P'
     I8                    dP"
     IP                   dP'
     dI                  dP'
    ,8'                 dP'
    dI                 dP'
    8'                ,8'
    8                ,8I
    8                dP'
    8               ,8'
    8,              IP'
    Ib             ,dI
    `8             I8'
     8,            8I
     Yb            I8
     `8,           I8
      Yb           I8
      `Y,          I8
       Ib          I8,
       `Ib         `8I
        `8,         Yb
         I8,        `8,
         `Yb,        `8a
          `Yb         `Yb,
           I8          `Yb,
           dP            `Yb,
          ,8'              `Yb,
          dP                 `Yb,
         d88baaaad88ba,        `8,
            `"""'   `Y8ba,     ,dI
                       `""Y8baadP'
                            `""'
"###;

    println!("{}", [dog, dolphin, horse].choose(&mut rand::thread_rng()).unwrap())
}