ÿØÿÛ C 

ÿØÿÛ C 

<?php

namespace Faker\Provider\ja_JP;

class Person extends \Faker\Provider\Person
{
    protected static $maleNameFormats = [
        '{{lastName}} {{firstNameMale}}',
    ];

    protected static $femaleNameFormats = [
        '{{lastName}} {{firstNameFemale}}',
    ];

    /**
     * {@link} http://dic.nicovideo.jp/a/%E6%97%A5%E6%9C%AC%E4%BA%BA%E3%81%AE%E5%90%8D%E5%89%8D%E4%B8%80%E8%A6%A7
     * {@link} http://www.meijiyasuda.co.jp/enjoy/ranking/
     */
    protected static $firstNameMale = [
        'æ™ƒ', 'ç¯¤å¸', 'æ²»', 'å’Œä¹Ÿ', 'äº¬åŠ©', 'å¥ä¸€', 'ä¿®å¹³', 'ç¿”å¤ª', 'æ·³', 'è¡å¤ªéƒŽ', 'å¤ªä¸€', 'å¤ªéƒŽ', 'æ‹“çœŸ', 'ç¿¼', 'æ™ºä¹Ÿ',
        'ç›´æ¨¹', 'ç›´äºº', 'è‹±æ¨¹', 'æµ©', 'å­¦', 'å……', 'ç¨”', 'è£•æ¨¹', 'è£•å¤ª', 'åº·å¼˜', 'é™½ä¸€', 'æ´‹ä»‹', 'äº®ä»‹', 'æ¶¼å¹³', 'é›¶',
    ];

    /**
     * {@link} http://dic.nicovideo.jp/a/%E6%97%A5%E6%9C%AC%E4%BA%BA%E3%81%AE%E5%90%8D%E5%89%8D%E4%B8%80%E8%A6%A7
     * {@link} http://www.meijiyasuda.co.jp/enjoy/ranking/
     */
    protected static $firstNameFemale = [
        'æ˜Žç¾Ž', 'ã‚ã™ã‹', 'é¦™ç¹”', 'åŠ å¥ˆ', 'ãã¿å­', 'ã•ã‚†ã‚Š', 'çŸ¥å®Ÿ', 'åƒä»£',
        'ç›´å­', 'ä¸ƒå¤', 'èŠ±å­', 'æ˜¥é¦™', 'çœŸç¶¾', 'èˆž', 'ç¾ŽåŠ å­', 'å¹¹', 'æ¡ƒå­', 'çµè¡£', 'è£•ç¾Žå­', 'é™½å­', 'é‡Œä½³',
    ];

    /**
     * {@link} http://dic.nicovideo.jp/a/%E6%97%A5%E6%9C%AC%E3%81%AE%E8%8B%97%E5%AD%97%28%E5%90%8D%E5%AD%97%29%E3%81%AE%E4%B8%80%E8%A6%A7
     */
    protected static $lastName = [
        'é’ç”°', 'é’å±±', 'çŸ³ç”°', 'äº•é«˜', 'ä¼Šè—¤', 'äº•ä¸Š', 'å®‡é‡Ž', 'æ±Ÿå¤ç”°', 'å¤§åž£',
        'åŠ è—¤', 'åŠ ç´', 'å–œå¶‹', 'æœ¨æ‘', 'æ¡å±±', 'å·¥è—¤', 'å°æ³‰', 'å°æž—', 'è¿‘è—¤',
        'æ–‰è—¤', 'å‚æœ¬', 'ä½ã€…æœ¨', 'ä½è—¤', 'ç¬¹ç”°', 'éˆ´æœ¨', 'æ‰å±±',
        'é«˜æ©‹', 'ç”°ä¸­', 'ç”°è¾º', 'æ´¥ç”°',
        'ä¸­å³¶', 'ä¸­æ‘', 'æ¸š', 'ä¸­æ´¥å·', 'è¥¿ä¹‹åœ’', 'é‡Žæ‘',
        'åŽŸç”°', 'æµœç”°', 'å»£å·', 'è—¤æœ¬',
        'æ¾æœ¬', 'ä¸‰å®…', 'å®®æ²¢', 'æ‘å±±',
        'å±±å²¸', 'å±±å£', 'å±±ç”°', 'å±±æœ¬', 'å‰ç”°', 'å‰æœ¬',
        'è‹¥æ¾', 'æ¸¡è¾º',
    ];

    protected static $firstKanaNameFormat = [
        '{{firstKanaNameMale}}',
        '{{firstKanaNameFemale}}',
    ];

    protected static $maleKanaNameFormats = [
        '{{lastKanaName}} {{firstKanaNameMale}}',
    ];

    protected static $femaleKanaNameFormats = [
        '{{lastKanaName}} {{firstKanaNameFemale}}',
    ];

    protected static $firstKanaNameMale = [
        'ã‚¢ã‚­ãƒ©', 'ã‚¢ãƒ„ã‚·', 'ã‚ªã‚µãƒ ', 'ã‚«ã‚ºãƒ¤', 'ã‚­ãƒ§ã‚¦ã‚¹ã‚±', 'ã‚±ãƒ³ã‚¤ãƒ', 'ã‚·ãƒ¥ã‚¦ãƒ˜ã‚¤', 'ã‚·ãƒ§ã‚¦ã‚¿', 'ã‚¸ãƒ¥ãƒ³', 'ã‚½ã‚¦ã‚¿ãƒ­ã‚¦',
        'ã‚¿ã‚¤ãƒ', 'ã‚¿ãƒ­ã‚¦', 'ã‚¿ã‚¯ãƒž', 'ãƒ„ãƒã‚µ', 'ãƒˆãƒ¢ãƒ¤', 'ãƒŠã‚ªã‚­', 'ãƒŠã‚ªãƒˆ', 'ãƒ’ãƒ‡ã‚­', 'ãƒ’ãƒ­ã‚·', 'ãƒžãƒŠãƒ–', 'ãƒŸãƒ„ãƒ«', 'ãƒŸãƒŽãƒ«',
        'ãƒ¦ã‚¦ã‚­', 'ãƒ¦ã‚¦ã‚¿', 'ãƒ¤ã‚¹ãƒ’ãƒ­', 'ãƒ¨ã‚¦ã‚¤ãƒ', 'ãƒ¨ã‚¦ã‚¹ã‚±', 'ãƒªãƒ§ã‚¦ã‚¹ã‚±', 'ãƒªãƒ§ã‚¦ãƒ˜ã‚¤', 'ãƒ¬ã‚¤',
    ];

    protected static $firstKanaNameFemale = [
        'ã‚¢ã‚±ãƒŸ', 'ã‚¢ã‚¹ã‚«', 'ã‚«ã‚ªãƒª', 'ã‚«ãƒŠ', 'ã‚¯ãƒŸã‚³', 'ã‚µãƒ¦ãƒª', 'ã‚µãƒˆãƒŸ', 'ãƒãƒ¨',
        'ãƒŠã‚ªã‚³', 'ãƒŠãƒŠãƒŸ', 'ãƒãƒŠã‚³', 'ãƒãƒ«ã‚«', 'ãƒžã‚¢ãƒ¤', 'ãƒžã‚¤', 'ãƒŸã‚«ã‚³', 'ãƒŸã‚­', 'ãƒ¢ãƒ¢ã‚³', 'ãƒ¦ã‚¤', 'ãƒ¦ãƒŸã‚³', 'ãƒ¨ã‚¦ã‚³', 'ãƒªã‚«',
    ];

    protected static $lastKanaName = [
        'ã‚¢ã‚ªã‚¿', 'ã‚¢ã‚ªãƒ¤ãƒž', 'ã‚¤ã‚·ãƒ€', 'ã‚¤ãƒ€ã‚«', 'ã‚¤ãƒˆã‚¦', 'ã‚¦ãƒŽ', 'ã‚¨ã‚³ãƒ€', 'ã‚ªã‚ªã‚¬ã‚­',
        'ã‚«ãƒŽã‚¦', 'ã‚«ãƒŽã‚¦', 'ã‚­ã‚¸ãƒž', 'ã‚­ãƒ ãƒ©', 'ã‚­ãƒªãƒ¤ãƒž', 'ã‚¯ãƒ‰ã‚¦', 'ã‚³ã‚¤ã‚ºãƒŸ', 'ã‚³ãƒãƒ¤ã‚·', 'ã‚³ãƒ³ãƒ‰ã‚¦',
        'ã‚µã‚¤ãƒˆã‚¦', 'ã‚µã‚«ãƒ¢ãƒˆ', 'ã‚µã‚µã‚­', 'ã‚µãƒˆã‚¦', 'ã‚µã‚µãƒ€', 'ã‚¹ã‚ºã‚­', 'ã‚¹ã‚®ãƒ¤ãƒž',
        'ã‚¿ã‚«ãƒã‚·', 'ã‚¿ãƒŠã‚«', 'ã‚¿ãƒŠãƒ™', 'ãƒ„ãƒ€',
        'ãƒŠã‚«ã‚¸ãƒž', 'ãƒŠã‚«ãƒ ãƒ©', 'ãƒŠã‚®ã‚µ', 'ãƒŠã‚«ãƒ„ã‚¬ãƒ¯', 'ãƒ‹ã‚·ãƒŽã‚½ãƒŽ', 'ãƒŽãƒ ãƒ©',
        'ãƒãƒ©ãƒ€', 'ãƒãƒžãƒ€', 'ãƒ’ãƒ­ã‚«ãƒ¯', 'ãƒ•ã‚¸ãƒ¢ãƒˆ',
        'ãƒžãƒ„ãƒ¢ãƒˆ', 'ãƒŸãƒ¤ã‚±', 'ãƒŸãƒ¤ã‚¶ãƒ¯', 'ãƒ ãƒ©ãƒ¤ãƒž',
        'ãƒ¤ãƒžã‚®ã‚·', 'ãƒ¤ãƒžã‚°ãƒ', 'ãƒ¤ãƒžãƒ€', 'ãƒ¤ãƒžãƒ¢ãƒˆ', 'ãƒ¨ã‚·ãƒ€', 'ãƒ¨ã‚·ãƒ¢ãƒˆ',
        'ãƒ¯ã‚«ãƒžãƒ„', 'ãƒ¯ã‚¿ãƒŠãƒ™',
    ];

    /**
     * @param string|null $gender 'male', 'female' or null for any
     *
     * @return string
     *
     * @example 'ã‚¢ã‚ªã‚¿ ã‚¢ã‚­ãƒ©'
     */
    public function kanaName($gender = null)
    {
        if ($gender === static::GENDER_MALE) {
            $format = static::randomElement(static::$maleKanaNameFormats);
        } elseif ($gender === static::GENDER_FEMALE) {
            $format = static::randomElement(static::$femaleKanaNameFormats);
        } else {
            $format = static::randomElement(array_merge(static::$maleKanaNameFormats, static::$femaleKanaNameFormats));
        }

        return $this->generator->parse($format);
    }

    /**
     * @param string|null $gender 'male', 'female' or null for any
     *
     * @return string
     *
     * @example 'ã‚¢ã‚­ãƒ©'
     */
    public function firstKanaName($gender = null)
    {
        if ($gender === static::GENDER_MALE) {
            return static::firstKanaNameMale();
        }

        if ($gender === static::GENDER_FEMALE) {
            return static::firstKanaNameFemale();
        }

        return $this->generator->parse(static::randomElement(static::$firstKanaNameFormat));
    }

    /**
     * @example 'ã‚¢ã‚­ãƒ©'
     */
    public static function firstKanaNameMale()
    {
        return static::randomElement(static::$firstKanaNameMale);
    }

    /**
     * @example 'ã‚¢ã‚±ãƒŸ'
     */
    public static function firstKanaNameFemale()
    {
        return static::randomElement(static::$firstKanaNameFemale);
    }

    /**
     * @example 'ã‚¢ã‚ªã‚¿'
     */
    public static function lastKanaName()
    {
        return static::randomElement(static::$lastKanaName);
    }
}
