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