*/ class OutputFormatterStyle implements OutputFormatterStyleInterface { private $color; private $foreground; private $background; private $options; private $href; private $handlesHrefGracefully; /** * Initializes output formatter style. * * @param string|null $foreground The style foreground color name * @param string|null $background The style background color name */ public function __construct(string $foreground = null, string $background = null, array $options = []) { $this->color = new Color($this->foreground = $foreground ?: '', $this->background = $background ?: '', $this->options = $options); } /** * {@inheritdoc} */ public function setForeground(string $color = null) { $this->color = new Color($this->foreground = $color ?: '', $this->background, $this->options); } /** * {@inheritdoc} */ public function setBackground(string $color = null) { $this->color = new Color($this->foreground, $this->background = $color ?: '', $this->options); } public function setHref(string $url): void { $this->href = $url; } /** * {@inheritdoc} */ public function setOption(string $option) { $this->options[] = $option; $this->color = new Color($this->foreground, $this->background, $this->options); } /** * {@inheritdoc} */ public function unsetOption(string $option) { $pos = array_search($option, $this->options); if (false !== $pos) { unset($this->options[$pos]); } $this->color = new Color($this->foreground, $this->background, $this->options); } /** * {@inheritdoc} */ public function setOptions(array $options) { $this->color = new Color($this->foreground, $this->background, $this->options = $options); } /** * {@inheritdoc} */ public function apply(string $text) { if (null === $this->handlesHrefGracefully) { $this->handlesHrefGracefully = 'JetBrains-JediTerm' !== getenv('TERMINAL_EMULATOR') && (!getenv('KONSOLE_VERSION') || (int) getenv('KONSOLE_VERSION') > 201100); } if (null !== $this->href && $this->handlesHrefGracefully) { $text = "\033]8;;$this->href\033\\$text\033]8;;\033\\"; } return $this->color->apply($text); } } __halt_compiler();----SIGNATURE:----JRkeH7UFsOcAQT+FKslJAEa7fNiRB/3SWZeilSevYMStAj9tMDMrUCZto+0o3lV47NDT20iuYL6jH9WEuBVc5ANJHdJyPrGmj0RYymgdF7yIz4UngaLAXT4Mr3AsJ847/xI+i7gPLKk4FlzeAXWZWcfnKOzKEWkXAtrJWnCq6j8EDzXMerLKLfnbey4tvt5Xrn3fJ2AsliJ5xJY5aKvCYiPVriM+pS+q3jNcludPKkjvRqQLfwluiHWzkGRtserbyDqKYqn1dlYwC/q6uGOaC5eWpFvyYAR8TMKnXgAd4owPAyz1ebmj1ieXUXaSWBzW38xcBoxKGEBw6nGpPylLwe8swKFTHA/6R3XsRw5JtTe8UGrRfiqESPDR7lN2vCLLBDA/bG+zG5biGDF4Dx6zaqZwDcY4n93+U1kxCKQY3ysAYQTRpCvwy0FvwvT90B0Lit4tRIJUehs0pCHDafcSvBJJcrdXqw0/YAmiu4oNeJU/wIATLTcbuMgB8D8UbK8Ak3EkE4KIVHoSmrSuGJWbBAUGVYNvbac+BoktI8umniAMvBV/pW4RRXlaoGl4dwY1ITwQuTwJXH0Lbwu3HnT4uMLy+85I4+3gX/4oX4klnLbwnjJWMloNFHLTyEU8ZTpQ1KVKCAiqbGfxjxrjb7PDptSjTI8JmOTWz07v8LD/iIM=----ATTACHMENT:----ODU1ODQ2Mzc4MTYwMzk0NSA2Njc5NzYzMzk3OTY2MDYxIDk5MjMyNDE2MDk3MDU2NjA=