/*
    This file is generated just to tell build scripts that JSSVGURIReference.h and
    JSSVGURIReference.cpp are created for SVGURIReference.idl, and thus
    prevent the build scripts from trying to generate JSSVGURIReference.h and
    JSSVGURIReference.cpp at every build. This file must not be tried to compile.
*/
