{
    "extensions": {
        "directives": [
            {
                "key": "mctInclude",
                "implementation": "MCTInclude.js",
                "depends": [ "templates[]", "templateLinker" ]
            },
            {
                "key": "mctRepresentation",
                "implementation": "MCTRepresentation.js",
                "depends": [ "representations[]", "views[]", "representers[]", "$q", "templateLinker", "$log" ]
            }
        ],
        "gestures": [
            {
                "key": "drag",
                "implementation": "gestures/DragGesture.js",
                "depends": [ "$log", "dndService" ]
            },
            {
                "key": "drop",
                "implementation": "gestures/DropGesture.js",
                "depends": [ "dndService", "$q" ]
            },
            {
                "key": "menu",
                "implementation": "gestures/ContextMenuGesture.js",
                "depends": ["$timeout", "agentService"]
            }
        ],
        "components": [
            {
                "provides": "gestureService",
                "type": "provider",
                "implementation": "gestures/GestureProvider.js",
                "depends": ["gestures[]"]
            }
        ],
        "representers": [
            {
                "implementation": "gestures/GestureRepresenter.js",
                "depends": [ "gestureService" ]
            }
        ],
        "services": [
            {
                "key": "dndService",
                "implementation": "services/DndService.js",
                "depends": [ "$log" ]
            },
            {
                "key": "templateLinker",
                "implementation": "TemplateLinker.js",
                "depends": [ "$templateRequest", "$sce", "$compile", "$log" ],
                "comment": "For internal use by mct-include and mct-representation."
            }
        ],
        "actions": [
            {
                "key": "menu",
                "implementation": "actions/ContextMenuAction.js",
                "depends": [
                    "$compile",
                    "$document",
                    "$rootScope",
                    "popupService",
                    "agentService"
                ]
            }
        ],
        "runs": [
            {
                "priority": "mandatory",
                "implementation": "TemplatePrefetcher.js",
                "depends": [
                    "templateLinker",
                    "templates[]",
                    "views[]",
                    "representations[]",
                    "controls[]",
                    "containers[]"
                ]
            }
        ]
    }
}
