text: # Licensed to Elasticsearch B.V. under one or more contributor
  # license agreements. See the NOTICE file distributed with
  # this work for additional information regarding copyright
  # ownership. Elasticsearch B.V. licenses this file to you under
  # the Apache License, Version 2.0 (the "License"); you may
  # not use this file except in compliance with the License.
  # You may obtain a copy of the License at
  #
  # 	http://www.apache.org/licenses/LICENSE-2.0
  #
  # Unless required by applicable law or agreed to in writing,
  # software distributed under the License is distributed on an
  # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  # KIND, either express or implied.  See the License for the
  # specific language governing permissions and limitations
  # under the License.
  
  import os
  import sys
  import urllib
  
  from ._version import __version__
  
  # Allow an alternative program name be set in case Rally is invoked a wrapper script
  PROGRAM_NAME = os.getenv("RALLY_ALTERNATIVE_BINARY_NAME", os.path.basename(sys.argv[0]))
  
  if __version__.endswith("dev0"):
      DOC_LINK = "https://esrally.readthedocs.io/en/latest/"
  else:
      DOC_LINK = "https://esrally.readthedocs.io/en/%s/" % __version__
  
  
  FORUM_LINK = "https://discuss.elastic.co/tags/c/elastic-stack/elasticsearch/rally"
  
  BANNER = r"""
      ____        ____
     / __ \____ _/ / /_  __
    / /_/ / __ `/ / / / / /
   / _, _/ /_/ / / / /_/ /
  /_/ |_|\__,_/_/_/\__, /
                  /____/
  """
  
  
  SKULL = '''
                   uuuuuuu
               uu$$$$$$$$$$$uu
            uu$$$$$$$$$$$$$$$$$uu
           u$$$$$$$$$$$$$$$$$$$$$u
          u$$$$$$$$$$$$$$$$$$$$$$$u
         u$$$$$$$$$$$$$$$$$$$$$$$$$u
         u$$$$$$$$$$$$$$$$$$$$$$$$$u
         u$$$$$$"   "$$$"   "$$$$$$u
         "$$$$"      u$u       $$$$"
          $$$u       u$u       u$$$
          $$$u      u$$$u      u$$$
           "$$$$uu$$$   $$$uu$$$$"
            "$$$$$$$"   "$$$$$$$"
              u$$$$$$$u$$$$$$$u
               u$"$"$"$"$"$"$u
    uuu        $$u$ $ $ $ $u$$       uuu
   u$$$$        $$$$$u$u$u$$$       u$$$$
    $$$$$uu      "$$$$$$$$$"     uu$$$$$$
  u$$$$$$$$$$$uu    """""    uuuu$$$$$$$$$$
  $$$$"""$$$$$$$$$$uuu   uu$$$$$$$$$"""$$$"
  """      ""$$$$$$$$$$$uu ""$"""
  uuuu ""$$$$$$$$$$uuu
  u$$$uuu$$$$$$$$$uu ""$$$$$$$$$$$uuu$$$
  $$$$$$$$$$""""           ""$$$$$$$$$$$"
     "$$$$$"                      ""$$$$""
       $$$"                         $$$$"
  '''
  
  
  def check_python_version():
      if sys.version_info.major != 3 or sys.version_info.minor < 8:
          raise RuntimeError("Rally requires at least Python 3.8 but you are using:\n\nPython %s" % str(sys.version))
  
  
  def doc_link(path=None):
      return urllib.parse.urljoin(DOC_LINK, path) if path else DOC_LINK
  