{
    "package": {
        "package_name": "net.intellivoid.khm",
        "name": "Known Hosts Manager",
        "version": "1.0.0.1",
        "author": "Zi Xing Narrakas",
        "organization": "Intellivoid Technologies",
        "description": "Manages and checks known hosts to the system to block potential abuse hosts",
        "url": "https://github.com/intellivoid/khm",
        "dependencies": [
            {
                "package": "com.rmccue.requests",
                "version": "latest",
                "source": "rmccue@composer/requests",
                "required": true
            },
            {
                "package": "net.intellivoid.acm2",
                "version": "latest",
                "source": "default@github/intellivoid/acm2",
                "required": true
            },
            {
                "package": "net.intellivoid.msqg",
                "version": "latest",
                "source": "default@github/intellivoid/msqg",
                "required": true
            },
            {
                "package": "net.intellivoid.ziproto",
                "version": "latest",
                "source": "default@github/intellivoid/ziproto",
                "required": true
            }
        ],
        "configuration": {
            "autoload_method": "generated_spl",
            "main": {
                "execution_point": "main",
                "create_symlink": true,
                "name": "khm_sync"
            },
            "post_installation": [],
            "pre_installation": []
        }
    },
    "components": [
        {
            "required": true,
            "file": "Abstracts/AbstractSoftware.php"
        },
        {
            "required": true,
            "file": "Abstracts/SearchMethods/DeviceSearchMethod.php"
        },
        {
            "required": true,
            "file": "Abstracts/AbstractParser.php"
        },
        {
            "required": true,
            "file": "Abstracts/GeoLookupSource.php"
        },
        {
            "required": true,
            "file": "Abstracts/OnionVersionStatus.php"
        },
        {
            "required": true,
            "file": "Abstracts/AbstractClient.php"
        },
        {
            "required": true,
            "file": "Abstracts/AbstractVersionedSoftware.php"
        },
        {
            "required": true,
            "file": "Abstracts/HostFlags.php"
        },
        {
            "required": true,
            "file": "Classes/UserAgentParser.php"
        },
        {
            "required": true,
            "file": "Classes/DeviceDetection.php"
        },
        {
            "required": true,
            "file": "Classes/Curl.php"
        },
        {
            "required": true,
            "file": "Classes/Utilities.php"
        },
        {
            "required": true,
            "file": "Classes/RegexLoader.php"
        },
        {
            "required": true,
            "file": "Classes/UserAgentParser/DeviceParser.php"
        },
        {
            "required": true,
            "file": "Classes/UserAgentParser/OperatingSystemParser.php"
        },
        {
            "required": true,
            "file": "Classes/UserAgentParser/Parser.php"
        },
        {
            "required": true,
            "file": "khm.php"
        },
        {
            "required": true,
            "file": "Exceptions/NoUserAgentProvidedException.php"
        },
        {
            "required": true,
            "file": "Exceptions/AbuseRecordNotFoundException.php"
        },
        {
            "required": true,
            "file": "Exceptions/DatabaseException.php"
        },
        {
            "required": true,
            "file": "Exceptions/GeoRecordNotFoundException.php"
        },
        {
            "required": true,
            "file": "Exceptions/KnownDeviceNotFoundException.php"
        },
        {
            "required": true,
            "file": "Exceptions/KhmResolutionException.php"
        },
        {
            "required": true,
            "file": "Exceptions/DeviceRecordNotFoundException.php"
        },
        {
            "required": true,
            "file": "Exceptions/OnionRecordNotFoundException.php"
        },
        {
            "required": true,
            "file": "Exceptions/BadGeoSourceException.php"
        },
        {
            "required": true,
            "file": "Exceptions/InvalidSearchMethodException.php"
        },
        {
            "required": true,
            "file": "Exceptions/KnownHostRecordNotFoundException.php"
        },
        {
            "required": true,
            "file": "ThirdParty/TorProject.php"
        },
        {
            "required": true,
            "file": "ThirdParty/IpAPI.php"
        },
        {
            "required": true,
            "file": "ThirdParty/AbuseIPDB.php"
        },
        {
            "required": true,
            "file": "ThirdParty/IpAPIco.php"
        },
        {
            "required": true,
            "file": "Objects/UserAgentDevice.php"
        },
        {
            "required": true,
            "file": "Objects/UserAgent.php"
        },
        {
            "required": true,
            "file": "Objects/KnownDevice.php"
        },
        {
            "required": true,
            "file": "Objects/KnownHost.php"
        },
        {
            "required": true,
            "file": "Objects/KnownDevice/Properties.php"
        },
        {
            "required": true,
            "file": "Objects/UserAgentClient.php"
        },
        {
            "required": true,
            "file": "Objects/Device.php"
        },
        {
            "required": true,
            "file": "Objects/AbuseCheck.php"
        },
        {
            "required": true,
            "file": "Objects/Device/Properties.php"
        },
        {
            "required": true,
            "file": "Objects/UserAgentOperatingSystem.php"
        },
        {
            "required": true,
            "file": "Objects/Client.php"
        },
        {
            "required": true,
            "file": "Objects/KnownHost/Properties.php"
        },
        {
            "required": true,
            "file": "Objects/Client/Geo.php"
        },
        {
            "required": true,
            "file": "Objects/Client/Abuse.php"
        },
        {
            "required": true,
            "file": "Objects/Client/OnionRelay.php"
        },
        {
            "required": true,
            "file": "Objects/GeoLookup.php"
        },
        {
            "required": true,
            "file": "Objects/OnionRelay.php"
        },
        {
            "required": true,
            "file": "Managers/GeoManager.php"
        },
        {
            "required": true,
            "file": "Managers/AbuseManager.php"
        },
        {
            "required": true,
            "file": "Managers/OnionManager.php"
        },
        {
            "required": true,
            "file": "Managers/DevicesManager.php"
        },
        {
            "required": true,
            "file": "Managers/KnownHostsManager.php"
        },
        {
            "required": true,
            "file": "Managers/KnownDevicesManager.php"
        }
    ],
    "files": [
        "package.json",
        "data/asn.json",
        "data/mobile2.regex",
        "data/regexes.json",
        "data/mobile1.regex",
        "main"
    ]
}