LogLibrary   "Log" 
- Log methods that return input value for code readbility and cleaness.
 method str(input) 
  str
  Namespace types: series float, simple float, input float, const float
  Parameters:
     input (float) 
 method str(input) 
  str
  Namespace types: series int, simple int, input int, const int
  Parameters:
     input (int) 
 method str(input) 
  str
  Namespace types: series bool, simple bool, input bool, const bool
  Parameters:
     input (bool) 
 method str(input) 
  str
  Namespace types: series string, simple string, input string, const string
  Parameters:
     input (string) 
 method str(input) 
  str
  Namespace types: series linefill
  Parameters:
     input (linefill) 
 method str(input) 
  str
  Namespace types: series line
  Parameters:
     input (line) 
 method str(input) 
  str
  Namespace types: series box
  Parameters:
     input (box) 
 method str(input) 
  str
  Namespace types: series label
  Parameters:
     input (label) 
 method str(input) 
  str
  Namespace types: chart.point
  Parameters:
     input (chart.point) 
 method str(input) 
  str
  Namespace types: array
  Parameters:
     input (array) 
 method str(input) 
  str
  Namespace types: array
  Parameters:
     input (array) 
 method str(input) 
  str
  Namespace types: array
  Parameters:
     input (array) 
 method str(input) 
  str
  Namespace types: array
  Parameters:
     input (array) 
 method str(input) 
  str
  Namespace types: array
  Parameters:
     input (array) 
 method str(input) 
  str
  Namespace types: array
  Parameters:
     input (array) 
 method str(input) 
  str
  Namespace types: array
  Parameters:
     input (array) 
 method str(input) 
  str
  Namespace types: array
  Parameters:
     input (array) 
 method str(input) 
  str
  Namespace types: array
  Parameters:
     input (array) 
 method str(input) 
  str
  Namespace types: matrix
  Parameters:
     input (matrix) 
 method str(input) 
  str
  Namespace types: matrix
  Parameters:
     input (matrix) 
 method str(input) 
  str
  Namespace types: matrix
  Parameters:
     input (matrix) 
 method str(input) 
  str
  Namespace types: matrix
  Parameters:
     input (matrix) 
 method str(input) 
  str
  Namespace types: matrix
  Parameters:
     input (matrix) 
 method str(input) 
  str
  Namespace types: matrix
  Parameters:
     input (matrix) 
 method str(input) 
  str
  Namespace types: matrix
  Parameters:
     input (matrix) 
 method str(input) 
  str
  Namespace types: matrix
  Parameters:
     input (matrix) 
 method str(input) 
  Namespace types: matrix
  Parameters:
     input (matrix) 
 method info(input, msg) 
  Logs the input value with the 'info' log level.
  Namespace types: chart.point
  Parameters:
     input (chart.point) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input value.
 method info(input, msg) 
  Logs the input value with the 'info' log level.
  Namespace types: series float, simple float, input float, const float
  Parameters:
     input (float) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input value.
 method info(input, msg) 
  Logs the input value with the 'info' log level.
  Namespace types: series int, simple int, input int, const int
  Parameters:
     input (int) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input value.
 method info(input, msg) 
  Logs the input value with the 'info' log level.
  Namespace types: series bool, simple bool, input bool, const bool
  Parameters:
     input (bool) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input value.
 method info(input, msg) 
  Logs the input value with the 'info' log level.
  Namespace types: series string, simple string, input string, const string
  Parameters:
     input (string) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input value.
 method info(input, msg) 
  Logs the input value with the 'info' log level.
  Namespace types: series linefill
  Parameters:
     input (linefill) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input value.
 method info(input, msg) 
  Logs the input value with the 'info' log level.
  Namespace types: series line
  Parameters:
     input (line) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input value.
 method info(input, msg) 
  Logs the input value with the 'info' log level.
  Namespace types: series box
  Parameters:
     input (box) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input value.
 method info(input, msg) 
  Logs the input array with the 'info' log level.
  Namespace types: series label
  Parameters:
     input (label) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method info(input, msg) 
  Logs the input array with the 'info' log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method info(input, msg) 
  Logs the input array with the 'info' log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method info(input, msg) 
  Logs the input array with the 'info' log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method info(input, msg) 
  Logs the input array with the 'info' log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method info(input, msg) 
  Logs the input array with the 'info' log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method info(input, msg) 
  Logs the input array with the 'info' log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method info(input, msg) 
  Logs the input array with the 'info' log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method info(input, msg) 
  Logs the input array with the 'info' log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method info(input, msg) 
  Logs the input matrix with the 'info' log level.
  Namespace types: array
  Parameters:
     input (array) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method info(input, msg) 
  Logs the input matrix with the 'info' log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method info(input, msg) 
  Logs the input matrix with the 'info' log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method info(input, msg) 
  Logs the input matrix with the 'info' log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method info(input, msg) 
  Logs the input matrix with the 'info' log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method info(input, msg) 
  Logs the input matrix with the 'info' log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method info(input, msg) 
  Logs the input matrix with the 'info' log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method info(input, msg) 
  Logs the input matrix with the 'info' log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method info(input, msg) 
  Logs the input matrix with the 'info' log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method info(input, msg) 
  Namespace types: matrix
  Parameters:
     input (matrix) 
     msg (string) 
 method warn(input, msg) 
  Logs the input value with the 'warning' log level.
  Namespace types: chart.point
  Parameters:
     input (chart.point) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input value.
 method warn(input, msg) 
  Logs the input value with the 'warning' log level.
  Namespace types: series float, simple float, input float, const float
  Parameters:
     input (float) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input value.
 method warn(input, msg) 
  Logs the input value with the 'warning' log level.
  Namespace types: series int, simple int, input int, const int
  Parameters:
     input (int) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input value.
 method warn(input, msg) 
  Logs the input value with the 'warning' log level.
  Namespace types: series bool, simple bool, input bool, const bool
  Parameters:
     input (bool) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input value.
 method warn(input, msg) 
  Logs the input value with the 'warning' log level.
  Namespace types: series string, simple string, input string, const string
  Parameters:
     input (string) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input value.
 method warn(input, msg) 
  Logs the input value with the 'warning' log level.
  Namespace types: series linefill
  Parameters:
     input (linefill) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input value.
 method warn(input, msg) 
  Logs the input value with the 'warning' log level.
  Namespace types: series line
  Parameters:
     input (line) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input value.
 method warn(input, msg) 
  Logs the input value with the 'warning' log level.
  Namespace types: series box
  Parameters:
     input (box) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input value.
 method warn(input, msg) 
  Logs the input array with the 'warning' log level.
  Namespace types: series label
  Parameters:
     input (label) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method warn(input, msg) 
  Logs the input array with the 'warning' log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method warn(input, msg) 
  Logs the input array with the 'warning' log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method warn(input, msg) 
  Logs the input array with the 'warning' log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method warn(input, msg) 
  Logs the input array with the 'warning' log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method warn(input, msg) 
  Logs the input array with the 'warning' log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method warn(input, msg) 
  Logs the input array with the 'warning' log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method warn(input, msg) 
  Logs the input array with the 'warning' log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method warn(input, msg) 
  Logs the input array with the 'warning' log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method warn(input, msg) 
  Logs the input matrix with the 'warning' log level.
  Namespace types: array
  Parameters:
     input (array) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method warn(input, msg) 
  Logs the input matrix with the 'warning' log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method warn(input, msg) 
  Logs the input matrix with the 'warning' log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method warn(input, msg) 
  Logs the input matrix with the 'warning' log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method warn(input, msg) 
  Logs the input matrix with the 'warning' log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method warn(input, msg) 
  Logs the input matrix with the 'warning' log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method warn(input, msg) 
  Logs the input matrix with the 'warning' log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method warn(input, msg) 
  Logs the input matrix with the 'warning' log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method warn(input, msg) 
  Logs the input matrix with the 'warning' log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method warn(input, msg) 
  Namespace types: matrix
  Parameters:
     input (matrix) 
     msg (string) 
 method error(input, msg) 
  Logs the input value with the 'error' log level.
  Namespace types: chart.point
  Parameters:
     input (chart.point) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input value.
 method error(input, msg) 
  Logs the input value with the 'error' log level.
  Namespace types: series float, simple float, input float, const float
  Parameters:
     input (float) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input value.
 method error(input, msg) 
  Logs the input value with the 'error' log level.
  Namespace types: series int, simple int, input int, const int
  Parameters:
     input (int) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input value.
 method error(input, msg) 
  Logs the input value with the 'error' log level.
  Namespace types: series bool, simple bool, input bool, const bool
  Parameters:
     input (bool) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input value.
 method error(input, msg) 
  Logs the input value with the 'error' log level.
  Namespace types: series string, simple string, input string, const string
  Parameters:
     input (string) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input value.
 method error(input, msg) 
  Logs the input value with the 'error' log level.
  Namespace types: series linefill
  Parameters:
     input (linefill) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input value.
 method error(input, msg) 
  Logs the input value with the 'error' log level.
  Namespace types: series line
  Parameters:
     input (line) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input value.
 method error(input, msg) 
  Logs the input value with the 'error' log level.
  Namespace types: series box
  Parameters:
     input (box) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input value.
 method error(input, msg) 
  Logs the input array with the 'error' log level.
  Namespace types: series label
  Parameters:
     input (label) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method error(input, msg) 
  Logs the input array with the 'error' log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method error(input, msg) 
  Logs the input array with the 'error' log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method error(input, msg) 
  Logs the input array with the 'error' log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method error(input, msg) 
  Logs the input array with the 'error' log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method error(input, msg) 
  Logs the input array with the 'error' log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method error(input, msg) 
  Logs the input array with the 'error' log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method error(input, msg) 
  Logs the input array with the 'error' log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method error(input, msg) 
  Logs the input array with the 'error' log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method error(input, msg) 
  Logs the input matrix with the 'error' log level.
  Namespace types: array
  Parameters:
     input (array) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method error(input, msg) 
  Logs the input matrix with the 'error' log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method error(input, msg) 
  Logs the input matrix with the 'error' log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method error(input, msg) 
  Logs the input matrix with the 'error' log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method error(input, msg) 
  Logs the input matrix with the 'error' log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method error(input, msg) 
  Logs the input matrix with the 'error' log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method error(input, msg) 
  Logs the input matrix with the 'error' log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method error(input, msg) 
  Logs the input matrix with the 'error' log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method error(input, msg) 
  Logs the input matrix with the 'error' log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method error(input, msg) 
  Namespace types: matrix
  Parameters:
     input (matrix) 
     msg (string) 
 method log(input, msg, level) 
  Logs the input value with the specified log level.
  Namespace types: chart.point
  Parameters:
     input (chart.point) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input value.
 method log(input, msg, level) 
  Logs the input value with the specified log level.
  Namespace types: series float, simple float, input float, const float
  Parameters:
     input (float) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input value.
 method log(input, msg, level) 
  Logs the input value with the specified log level.
  Namespace types: series int, simple int, input int, const int
  Parameters:
     input (int) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input value.
 method log(input, msg, level) 
  Logs the input value with the specified log level.
  Namespace types: series bool, simple bool, input bool, const bool
  Parameters:
     input (bool) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input value.
 method log(input, msg, level) 
  Logs the input value with the specified log level.
  Namespace types: series string, simple string, input string, const string
  Parameters:
     input (string) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input value.
 method log(input, msg, level) 
  Logs the input value with the specified log level.
  Namespace types: series linefill
  Parameters:
     input (linefill) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input value.
 method log(input, msg, level) 
  Logs the input value with the specified log level.
  Namespace types: series line
  Parameters:
     input (line) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input value.
 method log(input, msg, level) 
  Logs the input value with the specified log level.
  Namespace types: series box
  Parameters:
     input (box) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input value.
 method log(input, msg, level) 
  Logs the input array with the specified log level.
  Namespace types: series label
  Parameters:
     input (label) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input array.
 method log(input, msg, level) 
  Logs the input array with the specified log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input array.
 method log(input, msg, level) 
  Logs the input array with the specified log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input array.
 method log(input, msg, level) 
  Logs the input array with the specified log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input array.
 method log(input, msg, level) 
  Logs the input array with the specified log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input array.
 method log(input, msg, level) 
  Logs the input array with the specified log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input array.
 method log(input, msg, level) 
  Logs the input array with the specified log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input array.
 method log(input, msg, level) 
  Logs the input array with the specified log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input array.
 method log(input, msg, level) 
  Logs the input array with the specified log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input array.
 method log(input, msg, level) 
  Logs the input matrix with the specified log level.
  Namespace types: array
  Parameters:
     input (array) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input matrix.
 method log(input, msg, level) 
  Logs the input matrix with the specified log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input matrix.
 method log(input, msg, level) 
  Logs the input matrix with the specified log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input matrix.
 method log(input, msg, level) 
  Logs the input matrix with the specified log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input matrix.
 method log(input, msg, level) 
  Logs the input matrix with the specified log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input matrix.
 method log(input, msg, level) 
  Logs the input matrix with the specified log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input matrix.
 method log(input, msg, level) 
  Logs the input matrix with the specified log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input matrix.
 method log(input, msg, level) 
  Logs the input matrix with the specified log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input matrix.
 method log(input, msg, level) 
  Logs the input matrix with the specified log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input matrix.
 method log(input, msg, level) 
  Namespace types: matrix
  Parameters:
     input (matrix) 
     msg (string) 
     level (int)
Ffrizz
HolidayLibrary   "Holiday" 
- Full Control over Holidays and Daylight Savings Time (DLS)
The  Holiday  Library is an essential tool for traders and analysts who engage in  backtesting  and  live trading . This comprehensive library enables the incorporation of crucial calendar elements - specifically  Daylight Savings Time  (DLS) adjustments and  public holidays  - into trading strategies and backtesting environments.
 Key Features: 
-  DLS Adjustments:  The library takes into account the shifts in time due to Daylight Savings. This feature is particularly vital for backtesting strategies, as DLS can impact trading hours, which in turn affects the volatility and liquidity in the market. Accurate DLS adjustments ensure that backtesting scenarios are as close to real-life conditions as possible.
-  Comprehensive Holiday Metadata:  The library includes a rich set of holiday metadata, allowing for the detailed scheduling of trading activities around public holidays. This feature is crucial for avoiding skewed results in backtesting, where holiday trading sessions might differ significantly in terms of volume and price movement.
-  Customizable Holiday Schedules:  Users can add or remove specific holidays, tailoring the library to fit various regional market schedules or specific trading requirements.
-  Visualization Aids:  The library supports on-chart labels, making it visually intuitive to identify holidays and DLS shifts directly on trading charts.
 Use Cases: 
1.  Strategy Development:  When developing trading strategies, it’s important to account for non-trading days and altered trading hours due to holidays and DLS. This library enables a realistic and accurate representation of these factors.
2.  Risk Management:  Trading around holidays can be riskier due to thinner liquidity and greater volatility. By integrating holiday data, traders can better manage their risk exposure.
3.  Backtesting Accuracy:  For backtesting to be effective, it must simulate the actual market conditions as closely as possible. Incorporating holidays and DLS adjustments contributes to more reliable and realistic backtesting results.
4.  Global Trading:  For traders active in multiple global markets, this library provides an easy way to handle different holiday schedules and DLS shifts across regions.
The  Holiday  Library is a versatile tool that enhances the precision and realism of  trading simulations  and  strategy development . Its integration into the trading workflow is straightforward and beneficial for both novice and experienced traders.
 EasterAlgo(_year) 
  Calculates the date of Easter Sunday for a given year using the Anonymous Gregorian algorithm.
`Gauss Algorithm for Easter Sunday` was developed by the mathematician Carl Friedrich Gauss
This algorithm is based on the cycles of the moon and the fact that Easter always falls on the first Sunday after the first ecclesiastical full moon that occurs on or after March 21.
While it's not considered to be 100% accurate due to rare exceptions, it does give the correct date in most cases.
It's important to note that Gauss's formula has been found to be inaccurate for some 21st-century years in the Gregorian calendar. Specifically, the next suggested failure years are 2038, 2051.
This function can be used for Good Friday (Friday before Easter), Easter Sunday, and Easter Monday (following Monday).
en.wikipedia.org
  Parameters:
     _year (int) : `int` - The year for which to calculate the date of Easter Sunday. This should be a four-digit year (YYYY).
  Returns: tuple   - The month (1-12) and day (1-31) of Easter Sunday for the given year.
 easterInit() 
  Inits the date of Easter Sunday and Good Friday for a given year.
  Returns: tuple   - The month (1-12) and day (1-31) of Easter Sunday and Good Friday for the given year.
 isLeapYear(_year) 
  Determine if a year is a leap year.
  Parameters:
     _year (int) : `int` - 4 digit year to check => YYYY
  Returns: `bool` - true if input year is a leap  year
 method timezoneHelper(utc) 
  Helper function to convert UTC time.
  Namespace types: series int, simple int, input int, const int
  Parameters:
     utc (int) : `int` - UTC time shift in hours.
  Returns: `string`- UTC time string with shift applied.
 weekofmonth() 
  Function to find the week of the month of a given Unix Time.
  Returns: number - The week of the month of the specified UTC time.
 dayLightSavingsAdjustedUTC(utc, adjustForDLS) 
  dayLightSavingsAdjustedUTC
  Parameters:
     utc (int) : `int` - The normal UTC timestamp to be used for reference.
     adjustForDLS (bool) : `bool` - Flag indicating whether to adjust for daylight savings time (DLS).
  Returns: `int` - The adjusted UTC timestamp for the given normal UTC timestamp.
 getDayOfYear(monthOfYear, dayOfMonth, weekOfMonth, dayOfWeek, lastOccurrenceInMonth, holiday) 
  Function gets the day of the year of a given holiday (1-366)
  Parameters:
     monthOfYear (int) 
     dayOfMonth (int) 
     weekOfMonth (int) 
     dayOfWeek (int) 
     lastOccurrenceInMonth (bool) 
     holiday (string) 
  Returns: `int` - The day of the year of the holiday 1-366.
 method buildMap(holidayMap, holiday, monthOfYear, weekOfMonth, dayOfWeek, dayOfMonth, lastOccurrenceInMonth, closingTime) 
  Function to build the `holidaysMap`.
  Namespace types: map
  Parameters:
     holidayMap (map) : `map` - The map of holidays.
     holiday (string) : `string` - The name of the holiday.
     monthOfYear (int) : `int` - The month of the year of the holiday.
     weekOfMonth (int) : `int` - The week of the month of the holiday.
     dayOfWeek (int) : `int` - The day of the week of the holiday.
     dayOfMonth (int) : `int` - The day of the month of the holiday.
     lastOccurrenceInMonth (bool) : `bool` - Flag indicating whether the holiday is the last occurrence of the day in the month.
     closingTime (int) : `int` - The closing time of the holiday.
  Returns: `map` - The updated map of holidays
 holidayInit(addHolidaysArray, removeHolidaysArray, defaultHolidays) 
  Initializes a HolidayStorage object with predefined US holidays.
  Parameters:
     addHolidaysArray (array) : `array` - The array of additional holidays to be added.
     removeHolidaysArray (array) : `array` - The array of holidays to be removed.
     defaultHolidays (bool) : `bool` - Flag indicating whether to include the default holidays.
  Returns: `map` - The map of holidays.
 Holidays(utc, addHolidaysArray, removeHolidaysArray, adjustForDLS, displayLabel, defaultHolidays) 
  Main function to build the holidays object, this is the only function from this library that should be needed.  \
all functionality should be available through this function.  \
With the exception of initializing a `HolidayMetaData` object to add a holiday or early close. \
\
**Default Holidays:**  \
`DLS begin`, `DLS end`, `New Year's Day`, `MLK Jr. Day`,  \
`Washington Day`, `Memorial Day`, `Independence Day`, `Labor Day`,  \
`Columbus Day`, `Veterans Day`, `Thanksgiving Day`, `Christmas Day`   \
\
**Example**
```
HolidayMetaData valentinesDay = HolidayMetaData.new(holiday="Valentine's Day", monthOfYear=2, dayOfMonth=14)
HolidayMetaData stPatricksDay = HolidayMetaData.new(holiday="St. Patrick's Day", monthOfYear=3, dayOfMonth=17)
HolidayMetaData  addHolidaysArray = array.from(valentinesDay, stPatricksDay)
string  removeHolidaysArray = array.from("DLS begin", "DLS end")
܂Holidays = Holidays(
܂     utc=-6,
܂     addHolidaysArray=addHolidaysArray,
܂     removeHolidaysArray=removeHolidaysArray,
܂     adjustForDLS=true,
܂     displayLabel=true,
܂     defaultHolidays=true,
܂ )
plot(Holidays.newHoliday ? open : na, title="newHoliday", color=color.red, linewidth=4, style=plot.style_circles)
```
  Parameters:
     utc (int) : `int` - The UTC time shift in hours
     addHolidaysArray (array) : `array` - The array of additional holidays to be added
     removeHolidaysArray (array) : `array` - The array of holidays to be removed
     adjustForDLS (bool) : `bool` - Flag indicating whether to adjust for daylight savings time (DLS)
     displayLabel (bool) : `bool` - Flag indicating whether to display a label on the chart
     defaultHolidays (bool) : `bool` - Flag indicating whether to include the default holidays
  Returns: `HolidayObject` - The holidays object | Holidays = (holidaysMap: map, newHoliday: bool, holiday: string, dayString: string)
 HolidayMetaData 
  HolidayMetaData
  Fields:
     holiday (series string) : `string` - The name of the holiday.
     dayOfYear (series int) : `int` - The day of the year of the holiday.
     monthOfYear (series int) : `int` - The month of the year of the holiday.
     dayOfMonth (series int) : `int` - The day of the month of the holiday.
     weekOfMonth (series int) : `int` - The week of the month of the holiday.
     dayOfWeek (series int) : `int` - The day of the week of the holiday.
     lastOccurrenceInMonth (series bool) 
     closingTime (series int) : `int` - The closing time of the holiday.
     utc (series int) : `int` - The UTC time shift in hours.
 HolidayObject 
  HolidayObject
  Fields:
     holidaysMap (map) : `map` - The map of holidays.
     newHoliday (series bool) : `bool` - Flag indicating whether today is a new holiday.
     activeHoliday (series bool) : `bool` - Flag indicating whether today is an active holiday.
     holiday (series string) : `string` - The name of the holiday.
     dayString (series string) : `string` - The day of the week of the holiday.
.print()
You don't need to initialize anything.. 
After you import the library you can use .print() as easy as that..! 
Hope this helps
* use a unique ID for each .print() call 
let me know if you run into any bugs 
by trying to make it as user friendly as possible i had to do 
some not ideal things so there's a chance it could present some bugs with 
a lot of labels present on the chart
and if you use label.all to parse and manipulate the labels on the chart..
most likely it will cause an issue but not a lot of people use this so 
I don't think that will be a problem.
thanks,
FFriZz | frizlabz 
Library   "print" 
Single function to print any type to console
 method str(inp) 
  `method` convert all types to string
```
(overload)
*.str(any inp) => string
```
  Namespace types: series string, simple string, input string, const string
  Parameters:
     inp (string) : `any` - desc | Required
  Returns: `string` formatted string
 method str(inp) 
  Namespace types: series int, simple int, input int, const int
  Parameters:
     inp (int) 
 method str(inp) 
  Namespace types: series float, simple float, input float, const float
  Parameters:
     inp (float) 
 method str(inp) 
  Namespace types: series bool, simple bool, input bool, const bool
  Parameters:
     inp (bool) 
 method str(inp) 
  Namespace types: series linefill
  Parameters:
     inp (linefill) 
 method str(inp) 
  Namespace types: series line
  Parameters:
     inp (line) 
 method str(inp) 
  Namespace types: series box
  Parameters:
     inp (box) 
 method str(inp) 
  Namespace types: series label
  Parameters:
     inp (label) 
 method str(inp) 
  Namespace types: matrix
  Parameters:
     inp (matrix) 
 method str(inp) 
  Namespace types: matrix
  Parameters:
     inp (matrix) 
 method str(inp) 
  Namespace types: matrix
  Parameters:
     inp (matrix) 
 method str(inp) 
  Namespace types: matrix
  Parameters:
     inp (matrix) 
 method str(inp) 
  Namespace types: matrix
  Parameters:
     inp (matrix) 
 method str(inp) 
  Namespace types: matrix
  Parameters:
     inp (matrix) 
 method str(inp) 
  Namespace types: matrix
  Parameters:
     inp (matrix) 
 method str(inp) 
  Namespace types: matrix
  Parameters:
     inp (matrix) 
 method str(inp) 
  Namespace types: linefill 
  Parameters:
     inp (linefill ) 
 method str(inp) 
  Namespace types: line 
  Parameters:
     inp (line ) 
 method str(inp) 
  Namespace types: box 
  Parameters:
     inp (box ) 
 method str(inp) 
  Namespace types: label 
  Parameters:
     inp (label ) 
 method str(inp) 
  Namespace types: string 
  Parameters:
     inp (string ) 
 method str(inp) 
  Namespace types: int 
  Parameters:
     inp (int ) 
 method str(inp) 
  Namespace types: float 
  Parameters:
     inp (float ) 
 method str(inp) 
  Namespace types: bool 
  Parameters:
     inp (bool ) 
 method arrayShorten(str) 
  arrayShorten
  Namespace types: series string, simple string, input string, const string
  Parameters:
     str (string) : `string` - the string to shorten | Required
  Returns: `string` - a shortened version of the input string if it is an array with more than 7 elements, otherwise the original string
 method matrixShorten(str) 
  matrixShorten
  Namespace types: series string, simple string, input string, const string
  Parameters:
     str (string) : `string` - the string to shorten | Required
  Returns: `string` - the shortened matrix string if the input is a matrix, otherwise returns the input string as is
 method print(x, ID) 
  print all types to theh same console with just this `method/function`
```
(overload)
*.print(any x, string ID, bool shorten=true?) => console
"param 'shorten' - only for arrays and matrixs" | true 
```
  Namespace types: series string, simple string, input string, const string
  Parameters:
     x (string) : - `any` input to convert
     ID (string) : - `string` unique id for label on console `MUST BE UNIQUE`
  Returns: adds the `ID` and the `inp` to the console on the chart
 method print(x, ID) 
  Namespace types: series float, simple float, input float, const float
  Parameters:
     x (float) 
     ID (string) 
 method print(x, ID) 
  Namespace types: series int, simple int, input int, const int
  Parameters:
     x (int) 
     ID (string) 
 method print(x, ID) 
  Namespace types: series box
  Parameters:
     x (box) 
     ID (string) 
 method print(x, ID) 
  Namespace types: series bool, simple bool, input bool, const bool
  Parameters:
     x (bool) 
     ID (string) 
 method print(x, ID) 
  Namespace types: series label
  Parameters:
     x (label) 
     ID (string) 
 method print(x, ID) 
  Namespace types: series line
  Parameters:
     x (line) 
     ID (string) 
 method print(x, ID) 
  Namespace types: series linefill
  Parameters:
     x (linefill) 
     ID (string) 
 method print(x, ID, shorten) 
  Namespace types: string 
  Parameters:
     x (string ) 
     ID (string) 
     shorten (bool) 
 method print(x, ID, shorten) 
  Namespace types: float 
  Parameters:
     x (float ) 
     ID (string) 
     shorten (bool) 
 method print(x, ID, shorten) 
  Namespace types: int 
  Parameters:
     x (int ) 
     ID (string) 
     shorten (bool) 
 method print(x, ID, shorten) 
  Namespace types: box 
  Parameters:
     x (box ) 
     ID (string) 
     shorten (bool) 
 method print(x, ID, shorten) 
  Namespace types: bool 
  Parameters:
     x (bool ) 
     ID (string) 
     shorten (bool) 
 method print(x, ID, shorten) 
  Namespace types: label 
  Parameters:
     x (label ) 
     ID (string) 
     shorten (bool) 
 method print(x, ID, shorten) 
  Namespace types: line 
  Parameters:
     x (line ) 
     ID (string) 
     shorten (bool) 
 method print(x, ID, shorten) 
  Namespace types: linefill 
  Parameters:
     x (linefill ) 
     ID (string) 
     shorten (bool) 
 method print(x, ID, shorten) 
  Namespace types: matrix
  Parameters:
     x (matrix) 
     ID (string) 
     shorten (bool) 
 method print(x, ID, shorten) 
  Namespace types: matrix
  Parameters:
     x (matrix) 
     ID (string) 
     shorten (bool) 
 method print(x, ID, shorten) 
  Namespace types: matrix
  Parameters:
     x (matrix) 
     ID (string) 
     shorten (bool) 
 method print(x, ID, shorten) 
  Namespace types: matrix
  Parameters:
     x (matrix) 
     ID (string) 
     shorten (bool) 
 method print(x, ID, shorten) 
  Namespace types: matrix
  Parameters:
     x (matrix) 
     ID (string) 
     shorten (bool) 
 method print(x, ID, shorten) 
  Namespace types: matrix
  Parameters:
     x (matrix) 
     ID (string) 
     shorten (bool) 
 method print(x, ID, shorten) 
  Namespace types: matrix
  Parameters:
     x (matrix) 
     ID (string) 
     shorten (bool) 
 method print(x, ID, shorten) 
  Namespace types: matrix
  Parameters:
     x (matrix) 
     ID (string) 
     shorten (bool)
ObjectHelpersLibrary   "ObjectHelpers" 
Line | Box | Label | Linefill -- Maker, Setter, Getter Library
TODO: add table functionality
 set(object) 
  set all params for `line`, `box`, `label`, `linefill` objects with 1 function
***
## Overloaded
***
```
method set(line Line, int x1=na, float y1=na, int x2=na, float y2=na,string xloc=na,string extend=na,color color=na,string style=na,int width=na,bool update=na) => line
```
### Params 
- **Line** `line` - line object | `required`
- **x1** `int` - value to set x1
- **y1** `float` - value to set y1
- **x2** `int` - value to set x2
- **y2** `float` - value to set y2
- **xloc** `int` - value to set xloc
- **yloc** `int` - value to set yloc
- **extend** `string` - value to set extend
- **color** `color` - value to set color
- **style** `string` - value to set style
- **width** `int` - value to set width
- **update** `bool` - value to set update
***
```
method set(box Box,int left=na,float top=na,int right=na, float bottom=na,color bgcolor=na,color border_color=na,string border_style=na,int border_width=na,string extend=na,string txt=na,color text_color=na,string text_font_family=na,string text_halign=na,string text_valign=na,string text_wrap=na,bool update=false) => box
```
### Params 
- **Box** `box` - box object
- **left** `int` - value to set left
- **top** `float` - value to set top
- **right** `int` - value to set right
- **bottom** `float` - value to set bottom
- **bgcolor** `color` - value to set bgcolor
- **border_color** `color` - value to set border_color
- **border_style** `string` - value to set border_style
- **border_width** `int` - value to set border_width
- **extend** `string` - value to set extend
- **txt** `string` - value to set _text
- **text_color** `color` - value to set text_color
- **text_font_family** `string` - value to set text_font_family
- **text_halign** `string` - value to set text_halign
- **text_valign** `string` - value to set text_valign
- **text_wrap** `string` - value to set text_wrap
- **update** `bool` - value to set update
***
```
method set(label Label,int x=na,float y=na, string txt=na,string xloc=na,color color=na,color textcolor=na,string size=na,string style=na,string textalign=na,string tooltip=na,string text_font_family=na,bool update=false) => label
```
### Paramas 
- **Label** `label` - label object
- **x** `int` - value to set x
- **y** `float` - value to set y
- **txt** `string` - value to set text add`"+++"` to the _text striing to have the current label text concatenated to the location of the "+++")
- **textcolor** `color` - value to set textcolor
- **size** `string` - value to set size
- **style** `string` - value to set style (use "flip" ,as the style to have label flip to top or bottom of bar depending on if open > close and vice versa)
- **text_font_family** `string` - value to set text_font_family
- **textalign** `string` - value to set textalign
- **tooltip** `string` - value to set tooltip
- **update** `bool` - update label to next bar
***
```
method set(linefill Linefill=na,line line1=na,line line2=na,color color=na) => linefill
```
### Params 
- **linefill** `linefill` - linefill object
- **line1** `line` - line object
- **line2** `line` - line object
- **color** `color` - color
  Parameters:
     object (obj) 
  Returns: `line`, `box`, `label`, `linefill`
 method set(Line, x1, y1, x2, y2, xloc, extend, color, style, width, update) 
  set the location params of a line with 1 function auto detects time or bar_index for xloc param
  Namespace types: series line
  Parameters:
     Line (line) : `line` - line object | `required`
     x1 (int) : `int` - value to set x1
     y1 (float) : `float` - value to set y1
     x2 (int) : `int` - value to set x2
     y2 (float) : `float` - value to set y2
     xloc (string) : `int` - value to set xloc
     extend (string) : `string` - value to set extend
     color (color) : `color` - value to set color
     style (string) : `string` - value to set style
     width (int) : `int` - value to set width
     update (bool) : `bool` - value to set update
  Returns: `line`
 method set(Box, left, top, right, bottom, bgcolor, border_color, border_style, border_width, extend, txt, text_color, text_font_family, text_halign, text_valign, text_wrap, update) 
  set the location params of a box with 1 function
  Namespace types: series box
  Parameters:
     Box (box) : `box` - box object | `required`
     left (int) : `int` - value to set left
     top (float) : `float` - value to set top
     right (int) : `int` - value to set right
     bottom (float) : `float` - value to set bottom
     bgcolor (color) : `color` - value to set bgcolor
     border_color (color) : `color` - value to set border_color
     border_style (string) : `string` - value to set border_style
     border_width (int) : `int` - value to set border_width
     extend (string) : `string` - value to set extend
     txt (string) : `string` - value to set _text
     text_color (color) : `color` - value to set text_color
     text_font_family (string) : `string` - value to set text_font_family
     text_halign (string) : `string` - value to set text_halign
     text_valign (string) : `string` - value to set text_valign
     text_wrap (string) : `string` - value to set text_wrap
     update (bool) : `bool` - value to set update
  Returns: `box`
 method set(Label, x, y, txt, xloc, color, textcolor, size, style, textalign, tooltip, text_font_family, update) 
  set the location params of a label with 1 function auto detects time or bar_index for xloc param
  Namespace types: series label
  Parameters:
     Label (label) : `label` | `required`
     x (int) : `int` - value to set x
     y (float) : `float` - value to set y
     txt (string) : `string` - value to set text add`"+++"` to the _text striing to have the current label text concatenated to the location of the "+++")
     xloc (string) 
     color (color) 
     textcolor (color) : `color` - value to set textcolor
     size (string) : `string` - value to set size
     style (string) : `string` - value to set style (use "flip" ,as the style to have label flip to top or bottom of bar depending on if open > close and vice versa)
     textalign (string) : `string` - value to set textalign
     tooltip (string) : `string` - value to set tooltip
     text_font_family (string) : `string` - value to set text_font_family
     update (bool) : `bool` - update label to next bar
  Returns: `label`
 method set(Linefill, line1, line2, color) 
  change the 1 or 2 of the lines in a linefill object
  Namespace types: series linefill
  Parameters:
     Linefill (linefill) 
     line1 (line) : `line` - line object
     line2 (line) : `line` - line object
     color (color) : `color` - color
  Returns: `linefill`
 get(object) 
  get all of the location variables for `line`, `box`, `label` objects or the line objects from a `linefill`
***
## Overloaded
***
```
method get(line Line) =>  
```
### Params 
- **Line** `line` - line object | `required`
***
```
method get(box Box) =>  
```
### Params 
- **Box** `box` - box object | `required`
***
```
method get(label Label) =>  
```
### Paramas 
- **Label** `label` - label object | `required`
***
```
method get(linefill Linefill) =>  
```
### Params 
- **Linefill** `linefill` - linefill object | `required`
  Parameters:
     object (obj) 
  Returns: ` `
 method get(Line) 
  Gets the location paramaters of a Line
  Namespace types: series line
  Parameters:
     Line (line) : `line` - line object 
  Returns:  
 method get(Box) 
  Gets the location paramaters of a Box
  Namespace types: series box
  Parameters:
     Box (box) : `box` - box object 
  Returns:  
 method get(Label) 
  Gets the `x`, `y`, `text` of a Label
  Namespace types: series label
  Parameters:
     Label (label) : `label` - label object 
  Returns:  
 method get(Linefill) 
  Gets `line 1`, `line 2` from a Linefill
  Namespace types: series linefill
  Parameters:
     Linefill (linefill) : `linefill` - linefill object
  Returns:  
 method set_x(Line, x1, x2) 
  set the `x1`, `x2` of a line
***
### Params
- **Line** `line` - line object | `required`
- **x1** `int` - value to set x1 | `required`
- **x2** `int` - value to set x2 | `required`
  Namespace types: series line
  Parameters:
     Line (line) : `line` - line object
     x1 (int) : `int` - value to set x1
     x2 (int) : `int` - value to set x2
  Returns: `line`
 method set_y(Line, y1, y2) 
  set `y1`, `y2` of a line
***
### Params
- **Line** `line` - line object | `required`
- **y1** `float` - value to set y1 | `required`
- **y2** `float` - value to set y2 | `required`
  Namespace types: series line
  Parameters:
     Line (line) : `line` - line object
     y1 (float) : `float` - value to set y1
     y2 (float) : `float` - value to set y2
  Returns: `line`
 method Line(x1, y1, x2, y2, extend, color, style, width) 
  Similar to `line.new()` but can detect time or bar_index for xloc param and has defaults for all params but `x1`, `y1`, `x2`, `y2`
***
### Params
- **x1** `int` - value to set 
- **y1** `float` - value to set 
- **x2** `int` - value to set 
- **y2** `float` - value to set 
- **extend** `string` - extend value to set line 
- **color** `color` - color to set line 
- **style** `string` - style to set line 
- **width** `int` - width to set line
  Namespace types: series int, simple int, input int, const int
  Parameters:
     x1 (int) : `int` - value to set 
     y1 (float) : `float` - value to set 
     x2 (int) : `int` - value to set  
     y2 (float) : `float` - value to set 
     extend (string) : `string` - extend value to set line 
     color (color) : `color` - color to set line 
     style (string) : `string` - style to set line 
     width (int) : `int` - width to set line 
  Returns: `line`
 method Box(left, top, right, bottom, extend, border_color, bgcolor, text_color, border_width, border_style, txt, text_halign, text_valign, text_size, text_wrap) 
  similar to box.new() with the but can detect xloc param and has defaults for everything but location params
***
### Params
- **left** `int` - value to set 
- **top** `float` - value to set 
- **right** `int` - value to set 
- **bottom** `float` - value to set 
- **extend** `string` - extend value to set box 
- **border_color** `color` - color to set border 
- **bgcolor** `color` - color to set background
- **text_color** `color` - color to set text 
- **border_width** `int` - width to set border 
- **border_style** `string` - style to set border 
- **txt** `string` - text to set
- **text_halign** `string` - horizontal alignment to set text 
- **text_valign** `string` - vertical alignment to set text 
- **text_size** `string` - size to set text 
- **text_wrap** `string` - wrap to set text
  Namespace types: series int, simple int, input int, const int
  Parameters:
     left (int) : `int` - value to set 
     top (float) : `float` - value to set 
     right (int) : `int` - value to set 
     bottom (float) : `float` - value to set 
     extend (string) : `string` - extend value to set box 
     border_color (color) : `color` - color to set border 
     bgcolor (color) : `color` - color to set background
     text_color (color) : `color` - color to set text 
     border_width (int) : `int` - width to set border 
     border_style (string) : `string` - style to set border 
     txt (string) : `string` - text to set
     text_halign (string) : `string` - horizontal alignment to set text 
     text_valign (string) : `string` - vertical alignment to set text 
     text_size (string) : `string` - size to set text 
     text_wrap (string) : `string` - wrap to set text 
  Returns: `box`
 method Label(txt, x, y, yloc, color, textcolor, style, size, textalign, text_font_family, tooltip) 
  Similar to label.new() but can detect time or bar_index for xloc param and has defaults for all params but x, y, txt, tooltip   
***
### Params
- **txt** `string` - string to set
- **x** `int` - value to set
- **y** `float` - value to set
- **yloc** `string` - y location to set 
- **color** `color` - label color to set
- **textcolor** `color` - text color to set
- **style** `string` - style to set
- **size** `string` - size to set
- **textalign** `string` - text alignment to set
- **text_font_family** `string` - font family to set
- **tooltip** `string` - tooltip to set
  Namespace types: series string, simple string, input string, const string
  Parameters:
     txt (string) : `string` - string to set
     x (int) : `int` - value to set
     y (float) : `float` - value to set
     yloc (string) : `string` - y location to set
     color (color) : `color` - label color to set
     textcolor (color) : `color` - text color to set
     style (string) : `string` - style to set
     size (string) : `string` - size to set
     textalign (string) : `string` - text alignment to set
     text_font_family (string) : `string` - font family to set
     tooltip (string) : `string` - tooltip to set
  Returns: `label`
 obj 
  Fields:
     obj (series__string)
Bitwise, Encode, DecodeLibrary   "Bitwise, Encode, Decode" 
Bitwise, Encode, Decode, and more Library
 docs() 
      Hover-Over Documentation for inside Text Editor
 bAnd(a, b) 
  Returns the bitwise AND of two integers  
  Parameters:
     a : `int` - The first integer
     b : `int` - The second integer
  Returns: `int` - The bitwise AND of the two integers
 bOr(a, b) 
  Performs a bitwise OR operation on two integers.  
  Parameters:
     a : `int` - The first integer.
     b : `int` - The second integer.
  Returns: `int` - The result of the bitwise OR operation.
 bXor(a, b) 
  Performs a bitwise Xor operation on two integers.  
  Parameters:
     a : `int` - The first integer.
     b : `int` - The second integer.
  Returns: `int` - The result of the bitwise Xor operation.
 bNot(n) 
  Performs a bitwise NOT operation on an integer.  
  Parameters:
     n : `int` - The integer to perform the bitwise NOT operation on.
  Returns: `int` - The result of the bitwise NOT operation.
 bShiftLeft(n, step) 
  Performs a bitwise left shift operation on an integer.  
  Parameters:
     n : `int` - The integer to perform the bitwise left shift operation on.
     step : `int` - The number of positions to shift the bits to the left.
  Returns: `int` - The result of the bitwise left shift operation.
 bShiftRight(n, step) 
  Performs a bitwise right shift operation on an integer.  
  Parameters:
     n : `int` - The integer to perform the bitwise right shift operation on.
     step : `int` - The number of bits to shift by.
  Returns: `int` - The result of the bitwise right shift operation.
 bRotateLeft(n, step) 
  Performs a bitwise right shift operation on an integer.
  Parameters:
     n : `int` - The int to perform the bitwise Left rotation on the bits.                        
     step : `int` - The number of bits to shift by.
  Returns: `int`- The result of the bitwise right shift operation.
 bRotateRight(n, step) 
  Performs a bitwise right shift operation on an integer.
  Parameters:
     n : `int` - The int to perform the bitwise Right rotation on the bits.
     step : `int` - The number of bits to shift by.
  Returns: `int` - The result of the bitwise right shift operation.
 bSetCheck(n, pos) 
  Checks if the bit at the given position is set to 1.
  Parameters:
     n : `int` - The integer to check.
     pos : `int` - The position of the bit to check.
  Returns: `bool` - True if the bit is set to 1, False otherwise.
 bClear(n, pos) 
  Clears a particular bit of an integer (changes from 1 to 0) passes if bit at pos is 0.
  Parameters:
     n : `int` - The integer to clear a bit from.
     pos : `int` - The zero-based index of the bit to clear.
  Returns: `int` - The result of clearing the specified bit.
 bFlip0s(n) 
  Flips all 0 bits in the number to 1.
  Parameters:
     n : `int` - The integer to flip the bits of.
  Returns: `int` - The result of flipping all 0 bits in the number.
 bFlip1s(n) 
  Flips all 1 bits in the number to 0.
  Parameters:
     n : `int` - The integer to flip the bits of.
  Returns: `int` - The result of flipping all 1 bits in the number.
 bFlipAll(n) 
  Flips all bits in the number.
  Parameters:
     n : `int` - The integer to flip the bits of.
  Returns: `int` - The result of flipping all bits in the number.
 bSet(n, pos, newBit) 
  Changes the value of the bit at the given position.
  Parameters:
     n : `int` - The integer to modify.
     pos : `int` - The position of the bit to change.
     newBit : `int` - na = flips bit at pos reguardless 1 or 0 | The new value of the bit (0 or 1).
  Returns: `int` - The modified integer.
 changeDigit(n, pos, newDigit) 
  Changes the value of the digit at the given position.
  Parameters:
     n : `int` - The integer to modify.
     pos : `int` - The position of the digit to change.
     newDigit : `int` - The new value of the digit (0-9).
  Returns: `int` - The modified integer.
 bSwap(n, i, j) 
  Switch the position of 2 bits of an int
  Parameters:
     n : `int` - int to manipulate
     i : `int` - bit pos to switch with j
     j : `int` - bit pos to switch with i
  Returns: `int` - new int with bits switched
 bPalindrome(n) 
  Checks to see if the binary form is a Palindrome (reads the same left to right and vice versa)
  Parameters:
     n : `int` - int to check
  Returns: `bool` - result of check
 bEven(n) 
  Checks if n is Even
  Parameters:
     n : `int` - The integer to check.
  Returns: `bool` - result.
 bOdd(n) 
  checks if n is Even if not even Odd
  Parameters:
     n : `int` - The integer to check.
  Returns: `bool` - result.
 bPowerOfTwo(n) 
  Checks if n is a Power of 2.
  Parameters:
     n : `int` - number to check.
  Returns: `bool` - result.
 bCount(n, to_count) 
  Counts the number of bits that are equal to 1 in an integer.
  Parameters:
     n : `int` - The integer to count the bits in.
     to_count  `string` -   the bits to count
  Returns: `int` - The number of bits that are equal to 1 in n.
 GCD(a, b) 
  Finds the greatest common divisor (GCD) of two numbers.
  Parameters:
     a : `int` - The first number.
     b : `int` - The second number.
  Returns: `int` - The GCD of a and b.
 LCM(a, b) 
  Finds the least common multiple (LCM) of two integers.
  Parameters:
     a : `int` - The first integer.
     b : `int` - The second integer.
  Returns: `int` - The LCM of a and b.
 aLCM(nums) 
  Finds the LCM of an array of integers.
  Parameters:
     nums : `int ` - The list of integers.
  Returns: `int` - The LCM of the integers in nums.
 adjustedLCM(nums, LCM) 
  adjust an array of integers to Least Common Multiple (LCM)
  Parameters:
     nums : `int ` - The first integer
     LCM : `int` - The second integer
  Returns: `int ` - array of ints with LCM
 charAt(str, pos) 
  gets a Char at a given position.
  Parameters:
     str : `string` - string to pull char from.
     pos : `int` - pos to get char from string (left to right index).
  Returns: `string` - char from pos of string or "" if pos is not within index range
 decimalToBinary(num) 
  Converts a decimal number to binary
  Parameters:
     num : `int` - The decimal number to convert to binary
  Returns: `string` - The binary representation of the decimal number
 decimalToBinary(num, to_binary_int) 
  Converts a decimal number to binary
  Parameters:
     num : `int` - The decimal number to convert to binary
     to_binary_int : `bool` - bool to convert to int or to string (true for int, false for string)
  Returns: `string` - The binary representation of the decimal number
 binaryToDecimal(binary) 
  Converts a binary number to decimal
  Parameters:
     binary : `string` - The binary number to convert to decimal
  Returns: `int` - The decimal representation of the binary number
 decimal_len(n) 
  way of finding decimal length using arithmetic
  Parameters:
     n  `float` - floating decimal point to get length of.
  Returns: `int` - number of decimal places
 int_len(n) 
  way of finding number length using arithmetic
  Parameters:
     n : `int`- value to find length of number
  Returns: `int` - lenth of nunber i.e. 23 == 2
 float_decimal_to_whole(n) 
  Converts a float decimal number to an integer `0.365 to 365`.
  Parameters:
     n : `string` - The decimal number represented as a string.
  Returns: `int` - The integer obtained by removing the decimal point and leading zeroes from s.
 fractional_part(x) 
  Returns the fractional part of a float.
  Parameters:
     x : `float` - The float to get the fractional part of.
  Returns: `float` - The fractional part of the float.
 form_decimal(a, b, zero_fix) 
  helper to form 2 ints into 1 float seperated by the decimal
  Parameters:
     a : `int` - a int
     b : `int` - b int
     zero_fix : `bool` - fix for trailing zeros being truncated when converting to float
  Returns: ` ` - float = float decimal of ints | string = string version of b for future use to ref length
 bEncode(n1, n2) 
  Encodes two numbers into one using bit OR. (fastest)
  Parameters:
     n1 : `int` - The first number to Encodes.
     n2 : `int` - The second number to Encodes.
  Returns: `int` - The result of combining the two numbers using bit OR.
 bDecode(n) 
  Decodes an integer created by the bCombine function.(fastest)
  Parameters:
     n : `int` - The integer to decode.
  Returns: ` ` - A tuple containing the two decoded components of the integer.
 Encode(a, b) 
  Encodes by seperating ints into left and right of decimal float
  Parameters:
     a : `int` - a int
     b : `int` - b int
  Returns: `float` - new float of encoded ints one on left of decimal point one on right
 Decode(encoded) 
  Decodes float of 2 ints seperated by decimal point
  Parameters:
     encoded : `float` - the encoded float value
  Returns: ` ` - tuple of the 2 ints from encoded float
 encode_heavy(a, b) 
  Encodes by combining numbers and tracking size in the
decimal of a floating number (slowest)
  Parameters:
     a : `int` - a int
     b : `int` - b int
  Returns: `float` - new decimal of encoded ints
 decode_heavy(encoded) 
  Decodes encoded float that tracks size of ints in float decimal 
  Parameters:
     encoded : `float` - encoded float
  Returns: ` ` - tuple of decoded ints
 decimal of float (slowest) 
  Parameters:
     encoded : `float` - the encoded float value
  Returns: ` ` - tuple of the 2 ints from encoded float
 Bitwise, Encode, Decode Docs  
 
  In the documentation you may notice the word decimal   
not used as normal this is because when referring to   
binary a decimal number is a number that  
can be represented with base 10 numbers 0-9   
(the wiki below explains better)  
  A rule of thumb for the two integers being   
encoded it to keep both numbers   
less than 65535 this is because anything lower uses 16 bits or less   
this will maintain 100% accuracy when decoding   
although it is possible to do numbers up to 2147483645 with   
this library doesnt seem useful enough  
to explain or demonstrate.  
  The functions provided work within this 32-bit range,   
where the highest number is all 1s and   
the lowest number is all 0s. These functions were created   
to overcome the lack of built-in bitwise functions in Pinescript.   
By combining two integers into a single number,  
the code can access both values i.e when   
indexing only one array index  
for a matrices row/column, thus improving execution time.   
This technique can be applied to various coding   
scenarios to enhance performance.  
  Bitwise functions are a way to use integers in binary form      
that can be used to speed up several different processes      
most languages have operators to perform these function such as      
`<<, >>, &, ^, |, ~` 
 
 en.wikipedia.org  
UnispacesLibrary   "Unispaces" 
Easier than looking up unicode spaces
 spaces(sequence, string1, string2) 
  UNISPACES  
  Parameters:
     sequence : (int) required | 123 = 3 spaces / 3 different sizes (one space per number can find spaces in hover over)
     string1 : (str) optional | default = ""    
     string2 : (str) optional | default = ""
  Returns: `string - concatenated string surrounding unispaces`
 space(space, string1, string2) 
  UNISPACE
  Parameters:
     space : (int) optional | default = 0 | 0-15 (can find spaces in hover over)      
     string1 : (str) optional | default = ""
     string2 : (str) optional | default = ""
  Returns: `string - concatenated string surrounding a unispace `
Sub-Super Script and Roman numerals LibraryLibrary   "Sub_Super_Script_and_RomanNumerals_Library" 
Library to transform numbers into Roman numerals / Super-Sub script / check if value is alpha or number
 isnumber(input) 
  check to see if value is a number
  Parameters:
     input : (string/float/int) value to check
  Returns: (na) if value is NOT a number and input (string/float/int) if value is a number
 isalpha(input) 
  check a string if it is alpha(doesnt contain numbers)
  Parameters:
     input 
  Returns: (string) if string input does NOT contain numbers, return (na) if input string contains numbers
 super(num) 
  convert a string's numbers from normal print to super-script  
  Parameters:
     num : (string/int/float) input value to transform
  Returns: string of input with numbers converted to super-script
 sub(num) 
  convert a string's numbers from normal print to sub-script  
  Parameters:
     num : (string/int/float) input value to transform
  Returns: string of input with numbers converted to sub-script
 roman(num, trunc) 
  convert a string of numbers, float, or int
  Parameters:
     num : (string) input number to transform
     trunc : (bool | false) true to truncate float value, false to show roman numerals with decimals (XX.VI) 
  Returns: string of roman numerals representing the input (num)
FrizLabz_Time_Utility_MethodsLibrary   "FrizLabz_Time_Utility_Methods" 
Some time to index and index to time helper methods made them for another library thought I would try to make
them as methods
 UTC_helper(utc) 
  UTC helper function this adds the + to the positive utc times, add "UTC" to the string
       and can be used in the timezone arg of for format_time()
  Parameters:
     utc : (int) | +/- utc offset
  Returns: string | string to be added to the timezone paramater for utc timezone usage
 bar_time(bar_amount) 
  from a time to index
  Parameters:
     bar_amount : (int) | default - 1)
  Returns: int bar_time
 time_to_index(_time) 
  from time to bar_index
  Parameters:
     _time : (int) 
  Returns: int time_to_index | bar_index that corresponds to time provided
 time_to_bars_back(_time) 
  from a time quanity to bar quanity for use with  .
  Parameters:
     _time : (int) 
  Returns: int bars_back | yeilds the amount of bars from current bar to reach _time provided
 bars_back_to_time(bars_back) 
  from bars_back to time
  Parameters:
     bars_back 
  Returns: int | using same logic as   this will return the 
                    time of the bar = to the bar that corresponds to   bars_back
 index_time(index) 
  bar_index to UNIX time
  Parameters:
     index : (int) 
  Returns: int time | time in unix that corrresponds to the bar_index
 to_utc(time_or_index, timezone, format) 
  method to use with a time or bar_index variable that will detect if it is an index or unix time
       and convert it to a printable string
  Parameters:
     time_or_index : (int) required) | time in unix or bar_index
     timezone : (int) required) | utc offset to be appled to output
     format : (string) | default - "yyyy-MM-dd'T'HH:mm:ssZ") | the format for the time, provided string is 
                                     default one from str.format_time()
  Returns: string | time formatted string
 GET(line) 
  Gets the location paramaters of a Line
  Parameters:
     line : (line)
  Returns: tuple  
 GET(box) 
  Gets the location paramaters of a Box
  Parameters:
     box : (box)
  Returns: tuple  
 GET(label) 
  Gets the location paramaters and text of a Label
  Parameters:
     label : (label)
  Returns: tuple  
 GET(linefill) 
  Gets line 1 and 2 from a Linefill
  Parameters:
     linefill : (linefill)
  Returns: tuple  
 Format(line, timezone) 
  converts Unix time in time or index params to formatted time
       and returns a tuple of the params as string with the time/index params formatted
  Parameters:
     line : (line) | required
     timezone : (int) | default - na
  Returns: tuple  
 Line(x1, y1, x2, y2, extend, color, style, width) 
  similar to line.new() with the exception
       of not needing to include y2 for a flat line, y1 defaults to close, 
       and it doesnt require xloc.bar_time or xloc.bar_index, if no x1
  Parameters:
     x1 : (int) default - time
     y1 : (float) default - close
     x2 : (int) default - last_bar_time/last_bar_index | not required for line that ends on current bar
     y2 : (float) default - y1 | not required for flat line
     extend : (string) default - extend.none | extend.left, extend.right, extend.both
     color : (color) default - chart.fg_color
     style : (string) default - line.style_solid | line.style_dotted, line.style_dashed, 
                                  line.style_arrow_both, line.style_arrow_left, line.style_arrow_right
     width 
  Returns: line
 Box(left, top, right, bottom, extend, border_color, bgcolor, text_color, border_width, border_style, txt, text_halign, text_valign, text_size, text_wrap) 
  similar to box.new() but only requires top and bottom to create box,
       auto detects if it is bar_index or time used in the (left) arg. xloc.bar_time and xloc.bar_index are not used
       args are ordered by purpose | position -> colors -> styling -> text options
  Parameters:
     left : (int) default - time 
     top : (float) required 
     right : (int) default - last_bar_time/last_bar_index | will default to current bar index or time 
                                  depending on (left) arg
     bottom : (float) required
     extend : (string) default - extend.none | extend.left, extend.right, extend.both
     border_color : (color) default - chart.fg_color
     bgcolor : (color) default - color.new(chart.fg_color,75)
     text_color : (color) default - chart.bg_color
     border_width : (int) default - 1 
     border_style : (string) default - line.style_solid | line.style_dotted, line.style_dashed, 
     txt : (string) default - ''
     text_halign : (string) default - text.align_center | text.align_left, text.align_right
     text_valign : (string) default - text.align_center | text.align_top, text.align_bottom 
     text_size : (string) default - size.normal | size.tiny, size.small, size.large, size.huge 
     text_wrap : (string) default - text.wrap_auto | text.wrap_none
  Returns: box
 Label(x, y, txt, yloc, color, textcolor, style, size, textalign, text_font_family, tooltip) 
  similar to label.new() but only requires no args to create label,
       auto detects if it is bar_index or time used in the (x) arg. xloc.bar_time and xloc.bar_index are not used
       args are ordered by purpose | position -> colors -> styling -> text options
  Parameters:
     x : (int) default - time
     y : (float) default - high or low | depending on bar direction
     txt : (string) default - ''
     yloc : (string) default - yloc.price | yloc.price, yloc.abovebar, yloc.belowbar
     color : (color) default - chart.fg_color
     textcolor : (color) default - chart.bg_color
     style : (string) default - label.style_label_down | label.style_none
                                  label.style_xcross,label.style_cross,label.style_triangleup,label.style_triangledown
                                  label.style_flag, label.style_circle, label.style_arrowup, label.style_arrowdown, 
                                  label.style_label_up, label.style_label_down, label.style_label_left, label.style_label_right, 
                                  label.style_label_lower_left, label.style_label_lower_right, label.style_label_upper_left, 
                                  label.style_label_upper_right, label.style_label_center, label.style_square, 
                                  label.style_diamond
     size : (string) default - size.normal | size.tiny, size.small, size.large, size.huge
     textalign : (string) default - text.align_center | text.align_left, text.align_right
     text_font_family : (string) default - font.family_default | font.family_monospace
     tooltip : (string) default - na
  Returns: label
FrizBugLibrary   "FrizBug" 
Debug Tools | Pinescript Debugging Tool Kit
All in one Debugger - the benefit of wrapper functions to simply wrap variables or outputs and have the code still execute the same. Perfect for Debugging on Pine
 str(inp) 
  Overloaded tostring like Function for all type+including Object Variables   will also do arrays and matricies of all Types
  Parameters:
     inp : All types 
  Returns: string
 print_label(str, x_offset, y, barstate, style, color, textcolor, text_align, size) 
  Label Helper Function - only needs the Str input to work
  Parameters:
              str :  
     x_offset : offset from last bar + or -
     y : price of label
     barstate : barstate built in variable  
     style : label style settin7  
     color : color setting   
     textcolor : textcolor  
     text_align : text align setting  
     size : text_sise  
  Returns: label
 init() 
  initializes the database arrays  
  Returns:  tuple    | 2 matrix (1 matrix is varip(live) the other is reagular var (Bar))
 update(log, live, live_console, log_console, live_lbl, log_lbl) 
  Put at the very end of your code / This updates all of the consoles
  Parameters:
     log : This matrix is the one used for Bar updates
     live : This matrix is the one used for Real Time updates
     live_console : on_offs for the consoles and lbls - call in the update function
     log_console : on_offs for the consoles and lbls - call in the update function
     live_lbl : on_offs for the consoles and lbls - call in the update function
     log_lbl : on_offs for the consoles and lbls - call in the update function
  Returns: void
 log(log, inp, str_label, off, rows, index_cols, bars_back) 
  Function Will push to the Console offset to the right of Current bar, This is the main Console - it has 2 Feeds left and right (changeable)"
  Parameters:
     log : Matrix - Log or Live
     inp : All types  
     str_label : (optional) This input will label it on the feed
     off : Useful for when you don't want to remove the function"
     rows : when printing or logging a matrix this will shorten the output will show last # of rows"
     index_cols : When printing or logging a array or matrix this will shorten the array or the columns of a matrix by the #"
     bars_back : Adjustment for Bars Back - Default is 1 (0 for barstate.islast)"
  Returns: inp - all types (The log and print functions can be used as wrapper functions see usage below for examples)
 Print(log, str_label, off, bars_back) 
  Function can be used to send information to a label style Console, Can be used as a wrapper function, Similar to str.format use with str()
  Parameters:
     log : 
     str_label : (optional)  Can be used to label Data sent to the Console
     off : Useful for when you don't want to remove the function
     bars_back : Adjustment for Bars Back - Default is 1 (0 for barstate.islast)
  Returns: string
 print(inp, str_label, off, bars_back) 
  This Function can be used to send information to a label style Console, Can be used as a wrapper function, Overload print function
  Parameters:
     inp : All types
     str_label : string (optional) Can be used to label Data sent to the Console
     off : Useful for when you don't want to remove the function
     bars_back : Adjustment for Bars Back - Default is 1 (0 for barstate.islast)
  Returns: inp - all types (The log and print functions can be used as wrapper functions see usage below for examples)
Credits: 
@kaigouthro - for the font library
@RicardoSantos - for the concept I used to make this
Thanks!
Use cases at the bottom
[PlayBit]Correlation-Co _OI Correlation-Co _OI
This Indicator uses a Correlation Coefficient to compare a Crypto Currency to the Binance Open Interest feed if the data is provided
A move in the same direction is indicated with a positive value (the indicator will move up)
A move in the opposite direction the indicator will indicate with a negative value (the indicator will move down)
If both are moving in the same direction and are converging or diverging this will be shown by larger values for divergence and smaller for convergence but will be a positive value
Negative values are shown when price and _OI are moving opposite each other
You can toggle the auto Open Interest option in the settings to use something other than Open Interest if you would like
I still need to add a visual showing when longs are unwinding or opening and when shorts are covering or opening
This is a concept that I made for @Johnny a while back and I'm republishing public from private
This can be useful when comparing a Asset with its Open Interest 
The main bit of code was taken from: 
   
by @mortdiggiddy 
Let me know if you have any Ideas or suggestions or if I overlooked something
Hope you enjoy,
@FFriZz | @FrizLabz
[FFriZz]Priceline/TicksFFriZz | FrizLabz -- Priceline/Ticks 
Due to TradingView not allowing us to change the size or style of the Priceline I decided to make this
You can change the style, size, color of the Price line with this Script
There is also an option for the closing price to be plotted on the Priceline 
 -- Colors -- 
You can have the Line and/or the Closing price change colors with the price movements
both are adjustable to your preference
 -- Ticks -- 
Will show the difference in price from tick to tick
when Volume moves but price doesn't it will show  '▲▼' 
 -- Adjustments -- 
The offset of the Close and Ticks can be adjusted from left to right
Can Extend Priceline in all directions
Can change the Line style and Width
Can change all the Text sizes and Colors
Can also Change Colors to change with Price movements
Can Change number of Ticks to show
 -- Priceline -- 
You don't have to but I suggest going to the settings of your Chart and turning off the Priceline
 -- Challenge -- 
There is Some code at the bottom that will move the Label and Ticks to the x% of your screen in from the right once 
the last bar is no longer visible. I decided not to use it because even when the feature is turned off any movement of the
chart resets the Ticks. If you find out a way to have it not reset the Ticks Let me know!
If you find any bugs or have any suggestions feel free to DM me or leave a comment!
 Hope you Enjoy! -- FFriZz | FrizLabz
[FR]WmThis a water mark that uses a table to allow placement at 9 different locations on the screen
you can either pick on of the given Date and time formats or you can choose  custom and build your own
One of the reasons for this project I wanted to be able to add the "s,m,h" to the water marks timeframe not have i.e. "240" and have it say 4h..
you can select what format for the dates from in the settings if the user selects custom it will make it so you can input what ever format 
string into the input box "Custom Format input'" 
Hope You Enjoy!
FFriZz
[FR]Custom Candles/FVG/nSideBarCustom Candles /FVG/ nSideBar
- I used this as a learning project for understanding plot()'s Better
- My goal was to see if I could use normal plots to cleanly plot FVGs on the chart using only plots with out and boxes/lines 
  The problem was if multiple FVGs were on back to back bars the plot fill would fill the line to the next FVG/Bar
  I solved this by using 4 plots and alternating them if consecutive FVGs form
- 2 MODES
   
   - Slim
   - Normal
   
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-Slim
  Uses 3 plotcandle() parts and divides the candle between body/wicks/open and close 
  by manipulating the ohlc inputs and the colors I was able to pretty make them full customizable
  all components are customizable with up/down colors
-Normal
  These are your normal candles but they are full customize able from components to individual up/down colors
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- FVGs
  There are 2 FVG settings can be used with both MODES
  
        - Big 
        These are the FVGs that use plots and since there isn't a 500 object limit on plots you don't need to manage them in the code and they are there how ever far you need to look back
       - Slim
        These use a Line and the width of the line can be adjusted for user preferences 
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- INSIDE-BARS
  These will change the color of the body of either SLIM or NORMAL Candles
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Drawing Snap Features Work Just Fine! 
I suggest hiding your chart candles with the eye in the top left of the screen and moving the indicator to the top of your object tree
I understand that the candles in the chart pictures are impractical I was just demonstrating the functionality of the tool
Hope You Enjoy!!
FFriZz












