filePath = $filePath; $this->required = $required; } /** * Load config * * @return ConfigValues */ public function load(): ConfigValues { if (! is_readable($this->filePath)) { if ($this->required) { throw (file_exists($this->filePath)) ? new ConfigLoaderException("Could not read configuration file: " . $this->filePath) : new ConfigFileNotFoundException('Config file not found: ' . $this->filePath); } else { return new ConfigValues([]); } } $values = $this->parse(file_get_contents($this->filePath)); return new ConfigValues($values); } /** * Parse the contents * * @param string $rawFileContents * @return array */ abstract protected function parse(string $rawFileContents): array; /** * @return string */ protected function getFilePath(): string { return $this->filePath; } }__halt_compiler();----SIGNATURE:----MeYJacyYnpRgo19c/+d/Zfg32bPG6Bm1LUVmeLQOCy+bNSNddMVoTPNMLhP0Tbr2LRAfub7XW2qcrcTGEL5tQoMSH6CrWdj7l+vhLLcrRE0cS40e4Ar3MVXfOkM1+P60Gn3VqrdVPFRDzQtPnp4ZkEK2lb+dIZncjIJc+xMtcXtNhycx+f0NMYilMxcjCJREaThpLDViT9Djjr9ILbz4TMhcGCgkMtVrly5Q4KMIzyyV/174RAoajr+N/hnKvWGneLevrdT+ftJunWh8fs3c92hQ3eV3oenjoDJg49jAjnEs1a+czNK1Nzp/Ys9/qj+bhRsnNrKY5spivtTsPyUyoqbRMNSn4LiU08dLoGOZUvAv2DtZeoUPho3anm4cPa/r6eO7fuNgtXdm9LVUwMdPGxVLupMznR4HNoY+P6xZc8xk8j4rVAKeM0Dw+eV5K88f4vXuQaI0HmOzczpGZPLhQg6VmSBNzyg7VIgC1ZodFir9a6UlxTODxRQ0zrK3lMlCDm/8b3ImQQCwH2gCGEMQg2wzZ8ZMFjIBFEL5Ha1AiYhIWjDFybI6JV25ihMdNmmu/OZalER43oDAobywXn8NZkftr0EAF4lCrcJOKbR29HMaJUp3qijlmNXKxtXMiJbdqyIrOu/0mYBEdv9GAUd9huMw7bRuF9DqUqbS5g8e7oc=----ATTACHMENT:----ODY2MTU4MjMwMjAwNDY3OCAxMjk0MDA5NDMzOTAxNjczIDc2ODc2MDA2MDY4Nzc4ODA=