�PNG  IHDR��;���IDATx��ܻn�0���K�� �)(�pA��� ���7�LeG{�� �§㻢|��ذaÆ 6lذaÆ 6lذaÆ 6lom��$^�y���ذag�5bÆ 6lذaÆ 6lذa{���� 6lذaÆ �`����}H�Fkm�,�m����Ӫ���ô�ô!� �x�|'ܢ˟;�E:���9�&ᶒ�}�{�v]�n&�6� �h��_��t�ڠ͵-ҫ���Z;��Z$�.�P���k�ž)�!��o���>}l�eQfJ�T��u і���چ��\��X=8��Rن4`Vw�l�>����n�G�^��i�s��"ms�$�u��i��?w�bs[m�6�K4���O���.�4��%����/����b�C%��t ��M�ז� �-l�G6�mrz2���s�%�9��s@���-�k�9�=���)������k�B5����\��+͂�Zsٲ ��Rn��~G���R���C����� �wIcI��n7jJ���hۛNCS|���j0��8y�iHKֶۛ�k�Ɉ+;Sz������L/��F�*\��Ԕ�#"5��m�2��[S��������=�g��n�a�P�e�ғ�L�� lذaÆ 6l�^k��̱aÆ 6lذaÆ 6lذa;���� �_��ذaÆ 6lذaÆ 6lذaÆ ���R���IEND�B` setNamespace($namespace); } if ($uses) { $this->setUses($uses); } } /** * @param string $namespace * @return NameInformation */ public function setNamespace($namespace) { $this->namespace = (string) $namespace; return $this; } /** * @return string */ public function getNamespace() { return $this->namespace; } /** * @return bool */ public function hasNamespace() { return $this->namespace !== null; } /** * @param array $uses * @return NameInformation */ public function setUses(array $uses) { $this->uses = []; $this->addUses($uses); return $this; } /** * @param array $uses * @return NameInformation */ public function addUses(array $uses) { foreach ($uses as $use => $as) { if (is_int($use)) { $this->addUse($as); } elseif (is_string($use)) { $this->addUse($use, $as); } } return $this; } /** * @param array|string $use * @param string $as */ public function addUse($use, $as = null) { if (is_array($use) && array_key_exists('use', $use) && array_key_exists('as', $use)) { $uses = $use; $use = $uses['use']; $as = $uses['as']; } $use = trim($use, '\\'); if ($as === null) { $as = trim($use, '\\'); $nsSeparatorPosition = strrpos($as, '\\'); if ($nsSeparatorPosition !== false && $nsSeparatorPosition !== 0 && $nsSeparatorPosition != strlen($as)) { $as = substr($as, $nsSeparatorPosition + 1); } } $this->uses[$use] = $as; } /** * @return array */ public function getUses() { return $this->uses; } /** * @param string $name * @return string */ public function resolveName($name) { if ($this->namespace && ! $this->uses && strlen($name) > 0 && $name[0] != '\\') { return $this->namespace . '\\' . $name; } if (! $this->uses || strlen($name) <= 0 || $name[0] == '\\') { return ltrim($name, '\\'); } if ($this->namespace || $this->uses) { $firstPart = $name; if (($firstPartEnd = strpos($firstPart, '\\')) !== false) { $firstPart = substr($firstPart, 0, $firstPartEnd); } else { $firstPartEnd = strlen($firstPart); } if (($fqns = array_search($firstPart, $this->uses)) !== false) { return substr_replace($name, $fqns, 0, $firstPartEnd); } if ($this->namespace) { return $this->namespace . '\\' . $name; } } return $name; } }