{
    "0": {
        "1": {
            "ele": "none",
            "point": 0
        },
        "2": {
            "ele": "none",
            "point": 0
        },
        "3": {
            "ele": "none",
            "point": 0
        },
        "4": {
            "ele": "none",
            "point": 0
        },
        "5": {
            "ele": "none",
            "point": 0
        },
        "6": {
            "ele": "none",
            "point": 0
        },
        "7": {
            "ele": "none",
            "point": 0
        },
        "8": {
            "ele": "$[?(@.width == 65 && @.height == 45)]",
            "type": "size",
            "value": {
                "width": 65,
                "height": 45
            },
            "point": 4
        },
        "9": {
            "ele": "none",
            "point": 0,
            "desc": "파일명 확인"
        }
    },
    "1": {
        "1": {
            "ele": "none",
            "point": 0
        },
        "2": {
            "ele": "none",
            "point": 0
        },
        "3": {
            "ele": "none",
            "point": 0
        },
        "4": {
            "ele": "$.children[?(@.name=='한옥')].name",
            "value": "한옥",
            "point": 4
        },
        "5": {
            "ele": "none",
            "point": 0
        },
        "6": {
            "ele": "$.children[?(@.name=='Traditional Park')].name",
            "value": "Traditional Park",
            "point": 4
        },
        "7": {
            "ele": "$.children[?(@.name=='Traditional Park')].text.font.names[0]",
            "type": "font",
            "value": "Arial",
            "point": 2
        },
        "8": {
            "ele": "$.children[?(@.name=='Traditional Park')].text.font.names[0]",
            "value": "Arial-BoldItalicMT",
            "point": 2
        },
        "9": {
            "ele": "$.children[?(@.name=='Traditional Park')].text.font.sizes[0]",
            "value": 48,
            "point": 2
        },
        "10": {
            "ele": "$.children[?(@.name=='Traditional Park')].text.font.colors[0]",
            "type": "color",
            "value": "017e86",
            "point": 2
        },
        "11": {
            "ele": "none",
            "point": 0
        },
        "12": {
            "ele": "none",
            "point": 0
        },
        "13": {
            "ele": "none",
            "point": 0
        },
        "14": {
            "ele": "$.children[?(@.name=='전통 문화 공원')].name",
            "value": "전통 문화 공원",
            "point": 4
        },
        "15": {
            "ele": "$.children[?(@.name=='전통 문화 공원')].text.font.names[0]",
            "type": "font",
            "value": "GungsuhChe",
            "point": 2,
            "desc": {
                "돋움체": "DotumChe",
                "궁서체": "GungsuhChe",
                "굴림체": "GulimChe",
                "휴먼옛체": "YetR"
            }
        },
        "16": {
            "ele": "$.children[?(@.name=='전통 문화 공원')].text.font.sizes[0]",
            "value": 36,
            "point": 2
        },
        "17": {
            "ele": "$.children[?(@.name=='전통 문화 공원')].text.font.colors[0]",
            "type": "color",
            "value": "ffeeca",
            "point": 2
        },
        "18": {
            "ele": "none",
            "point": 0
        },
        "19": {
            "ele": "none",
            "point": 0
        },
        "20": {
            "ele": "none",
            "point": 0
        },
        "21": {
            "ele": "none",
            "point": 0
        },
        "22": {
            "ele": "$.children[?(@.name=='맷돌')].name",
            "value": "맷돌",
            "point": 4
        },
        "23": {
            "ele": "none",
            "point": 0
        },
        "24": {
            "ele": "none",
            "point": 0
        },
        "25": {
            "ele": "none",
            "point": 0
        },
        "26": {
            "ele": "$[?(@.width == 65 && @.height == 35)]",
            "type": "size",
            "value": {
                "width": 65,
                "height": 35
            },
            "point": 5
        },
        "27": {
            "ele": "none",
            "point": 0,
            "desc": "파일명 확인"
        }
    },
    "2": {
        "1": {
            "ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[not(@Length<='5' and @ClipLength='-1')]/@ClipIndex",
            "type": "mediaOrder",
            "value": [
                "동영상.mp4",
                "이미지2.jpg",
                "이미지3.jpg",
                "이미지1.jpg"
            ],
            "point": 4,
            "desc": "비디오1 트랙에 있는 클립의 ClipIndex값을 기준으로 CRClipArr에서 Path값을 가져와서 정답 채점, 클립의 ClipIndex값이 -1인 경우와 길이가 5프레임 이하인 경우는 제외한다."
        },
        "2": {
            "ele": "/CROASTERP/CRTrackArr[1]/CRVideoTrackArr[1]/CRTrackList[1]/CRTrackClip[1]/@Speed",
            "type": "oneAnswer",
            "value": {
                "speed": "120"
            },
            "point": 2,
            "desc": "100당 1배속 / 130 = 1.3배속"
        },
        "3": {
            "ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']",
            "type": "startEnd",
            "media": "동영상.mp4",
            "value": {
                "start": "0",
                "end": "380"
            },
            "point": 2,
            "desc": "시작시간과 재생시간 정답값 입력, 3번문항은 '동영상.mp4' 클립의 길이를 확인하는 문항이므로 media는 수정할 필요가 없다."
        },
        "4": {
            "ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
            "type": "effect",
            "media": "동영상.mp4",
            "value": {
                "ID": "70",
                "VID100": "30",
                "VID101": "20"
            },
            "point": 3,
            "desc": "value값의 키값(VID___)은 이펙트의 속성종류에 따라 변경되므로 채점기준표작성시 확인 필요"
        },
        "5": {
            "ele": "//CROwneUnit[{index}]/CRCUnitArr/@Name",
            "search": "청량하고 시원한 폭포",
            "type": "video.Text",
            "value": "청량하고 시원한 폭포",
            "point": 3
        },
        "6": {
            "ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID102",
            "search": "청량하고 시원한 폭포",
            "type": "video.Text",
            "value": "돋움체",
            "point": 2
        },
        "7": {
            "ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID101",
            "search": "청량하고 시원한 폭포",
            "type": "video.Text",
            "value": "120",
            "point": 2
        },
        "8": {
            "ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool/GCUnit[@Type='4']/@VID100",
            "search": "청량하고 시원한 폭포",
            "type": "video.Text.Color",
            "value": "1db0f1",
            "point": 2,
            "desc": "컬러값은 RGB로 입력한다, [대소문자, #]허용 (#FFFFFF, ffffff 두 값 모두 허용)"
        },
        "9": {
            "ele": "//CROwneUnit[{index}]/CRCUnitArr/@*[name()='VID600' or name()='VID601']",
            "search": "청량하고 시원한 폭포",
            "type": "video.Location",
            "value": [
                "0.27395833",
                "0.9222222"
            ],
            "point": 2,
            "desc": "정답 파일의 자막 좌표를 기준으로 프로그램 내부적으로 0.1까지 오차를 허용한다"
        },
        "10": {
            "ele": "",
            "search": "청량하고 시원한 폭포",
            "type": "video.StartTime",
            "value": 170,
            "point": 2,
            "desc": "내부적으로 자막의 시작시간과 길이를 계산"
        },
        "11": {
            "ele": "",
            "search": "청량하고 시원한 폭포",
            "type": "video.Length",
            "value": 150,
            "point": 2,
            "desc": "내부적으로 자막의 시작시간과 길이를 계산"
        },
        "12": {
            "ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']/@Mute",
            "type": "Mute",
            "media": "동영상.mp4",
            "value": "1",
            "point": 2
        },
        "13": {
            "ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']/@Length",
            "type": "imageLength",
            "media": "이미지2.jpg",
            "value": "150",
            "point": 2
        },
        "14": {
            "ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
            "type": "imageOverlay",
            "media": "이미지2.jpg",
            "value": {
                "ID": "103",
                "VID102": "7"
            },
            "point": 2
        },
        "15": {
            "ele": "//CRTransFilter[@ClipIndex='{CRTrackClipIndex}']",
            "type": "clipTransition",
            "media": "이미지2.jpg",
            "value": {
                "ID": "11",
                "Range": "500:530",
                "Type": "2"
            },
            "point": 2,
            "desc": "오버랩일 경우 Type속성값 16으로 변경"
        },
        "16": {
            "ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']/@Length",
            "type": "imageLength",
            "media": "이미지3.jpg",
            "value": "150",
            "point": 2
        },
        "17": {
            "ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
            "type": "imageOverlay",
            "media": "이미지3.jpg",
            "value": {
                "ID": "184",
                "VID102": "30"
            },
            "point": 2
        },
        "18": {
            "ele": "//CRTransFilter[@ClipIndex='{CRTrackClipIndex}']",
            "type": "clipTransition",
            "media": "이미지3.jpg",
            "value": {
                "ID": "19",
                "Range": "650:680",
                "Type": "2"
            },
            "point": 2,
            "desc": "오버랩일 경우 Type속성값 16으로 변경"
        },
        "19": {
            "ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']/@Length",
            "type": "imageLength",
            "media": "이미지1.jpg",
            "value": "180",
            "point": 2
        },
        "20": {
            "ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
            "type": "imageOverlay",
            "media": "이미지1.jpg",
            "value": {
                "ID": "67",
                "VID102": "30"
            },
            "point": 2
        },
        "21": {
            "ele": "//CRTransFilter[@ClipIndex='{CRTrackClipIndex}']",
            "type": "clipTransition",
            "media": "이미지1.jpg",
            "value": {
                "ID": "10",
                "Range": "800:860",
                "Type": "2"
            },
            "point": 2,
            "desc": "오버랩일 경우 Type속성값 16으로 변경"
        },
        "22": {
            "ele": "//CROwneUnit[{index}]/CRCUnitArr/@Name",
            "search": "전통 공원 (Traditional Park)",
            "type": "video.Text",
            "value": "전통 공원 (Traditional Park)",
            "point": 3
        },
        "23": {
            "ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID102",
            "search": "전통 공원 (Traditional Park)",
            "type": "video.Text",
            "value": "궁서체",
            "point": 2
        },
        "24": {
            "ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID101",
            "search": "전통 공원 (Traditional Park)",
            "type": "video.Text",
            "value": "140",
            "point": 2
        },
        "25": {
            "ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool/GCUnit[@Type='4']/@VID100",
            "search": "전통 공원 (Traditional Park)",
            "type": "video.Text.Color",
            "value": "fd5721",
            "point": 2,
            "desc": "컬러값은 RGB로 입력한다, [대소문자, #]허용 (#FFFFFF, ffffff 두 값 모두 허용)"
        },
        "26": {
            "ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool/GCUnit[@Type='2']",
            "search": "전통 공원 (Traditional Park)",
            "type": "video.Text.Outline",
            "value": {
                "width": "30",
                "color": "fff9c4"
            },
            "point": 2,
            "desc": "두께는 XML에서는 소수점으로 표기되지만, 프로그램 내부적으로 변환하여 사용하므로 현재 파일에서는 정수로 작성"
        },
        "27": {
            "ele": "//CROwneUnit[{index}]/CRCUnitArr",
            "search": "전통 공원 (Traditional Park)",
            "type": "opening.Text.FadeInEffect",
            "value": {
                "ID": "4",
                "PlayTime": "2"
            },
            "point": 3,
            "desc": "오프닝자막의 나타나기 효과를 확인하는 문항. id속성은 VID505, playtime속성은 VID507으로 XML 내부에 표기되어 있다."
        },
        "28": {
            "ele": "{search}",
            "search": "전통 공원 (Traditional Park)",
            "type": "opening.StartTime",
            "value": 0,
            "point": 2,
            "desc": "오프닝자막의 시작시간 value 속성만 수정"
        },
        "29": {
            "ele": "{search}",
            "search": "전통 공원 (Traditional Park)",
            "type": "opening.Length",
            "value": 120,
            "point": 2
        },
        "30": {
            "ele": "",
            "type": "audio.StartTime",
            "media": "음악.mp3",
            "value": 0,
            "point": 2
        },
        "31": {
            "ele": "//CRTrackList[@Name='오디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']",
            "type": "audio.EndTime",
            "media": "음악.mp3",
            "value": 810,
            "point": 2
        },
        "32": {
            "ele": "//CRTrackList[@Name='오디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
            "type": "audio.Effect",
            "media": "음악.mp3",
            "value": {
                "ID": "1",
                "PlayTime": "90"
            },
            "point": 2, 
            "desc": "ID속성-페이드인:0 / 페이드아웃: 1"
        },
        "33": {
            "ele": "none",
            "point": 0,
            "desc": "파일명 확인"
        }
    },
    "4": {
        "1": {
            "type": "multi",
            "ele": "//Document/Width/@value | //Document/Height/@value",
            "value": [
                "650",
                "350"
            ],
            "point": 5,
            "desc": "캔버스 사이즈 650*350"
        },
        "2": {
            "ele": "none",
            "point": 5,
            "desc": "자유 변형 문항은 채점 불가"
        },
        "3": {
            "type": "isExist",
            "ele": "//Layer/Name/@value",
            "value": "Flower",
            "point": 5,
            "desc": "Flower 레이어가 있는지 여부 체크"
        },
        "4": {
            "type": "multiValue",
            "ele": "//Layer[Name[@value='{layer}']]/Effects/Item[EffectData/{option}]/Name/@value | //Layer[Name[@value='{layer}']]/Effects/Item/EffectData/{option}/@value",
            "layer": "Flower",
            "option": "VibranceValue",
            "value": [
                "40",
                "생동감"
            ],
            "point": 5,
            "desc": "Flower 레이어의 효과 체크"
        },
        "5": {
            "ele": "none",
            "point": 6,
            "desc": "올가미 도구/이미지 문항은 채점 불가"
        },
        "6": {
            "type": "exists",
            "ele": "//Layer/Effects/Item/Name/@value",
            "value": "세피아",
            "point": 6,
            "desc": "세피아 효과가 있는지 여부 체크"
        },
        "7": {
            "type": "exact",
            "ele": "//Layer/Shapes/Shape/shape_type/@value",
            "value": "ELLIPSE",
            "point": 3,
            "desc": "레이어 쉐이프 타입이 타원인지 체크"
        },
        "8": {
            "type": "size",
            "ele": "//Layer//op_points",
            "value": {
                "width": 120,
                "height": 120
            },
            "point": 3,
            "desc": "레이어 쉐이프 X, Y 좌표를 가지고 너비, 높이 계산하여 정답 채점"
        },
        "9": {
            "type": "color",
            "ele": "//Layer//Shape[contains(draw_type/@value, 'Interior')]/secondary_color/@value",
            "value": "7097bb",
            "point": 6,
            "desc": "색상 코드 비교 시 소문자로 입력할 것"
        },
        "10": {
            "type": "multiValue",
            "ele": "//Layer/BlendOp/@value | //Layer/Opacity/@value",
            "value": [
                "반사",
                "80"
            ],
            "point": 6,
            "desc": "혼합모드(색 회피율, 불투명도 : 80)"
        },
        "11": {
            "ele": "none",
            "point": 0,
            "desc": "기본설정"
        },
        "12": {
            "ele": "none",
            "point": 0,
            "desc": "파일명 확인"
        }
    },
    "5": {
        "1": {
            "type": "multi",
            "ele": "//Document/Width/@value | //Document/Height/@value",
            "value": [
                "650",
                "450"
            ],
            "point": 5,
            "desc": "캔버스 사이즈 650*450"
        },
        "2": {
            "ele": "none",
            "point": 5,
            "desc": "배경색 문항은 채점 불가"
        },
        "3": {
            "type": "exists",
            "ele": "//Layer/MaskOpType/@value",
            "value": "Layering",
            "point": 6
        },
        "4": {
            "ele": "none",
            "point": 6,
            "desc": "가로방향 흐릿하게 문항은 채점 불가"
        },
        "5": {
            "type": "exists",
            "ele": "//Layer//shape_type/@value",
            "value": "ROUNDED_RECTANGLE",
            "point": 3
        },
        "6": {
            "type": "size",
            "ele": "//Layer//op_points",
            "value": {
                "width": 400,
                "height": 60
            },
            "point": 3,
            "desc": "레이어 쉐이프 X, Y 좌표를 가지고 너비, 높이 계산하여 정답 채점"
        },
        "7": {
            "type": "gradient",
            "ele": "//Layer/Shapes/Shape",
            "startColor": "gradient_start_color/@value",
            "endColor": "gradient_end_color/@value",
            "value": {
                "startColor": "ffe000",
                "endColor": "34a159"
            },
            "point": 6
        },
        "8": {
            "type": "exists",
            "ele": "//Layer//Shape[shape_type/@value='TEXT']/lines/Item/@value",
            "value": "흰 꽃 사이 노란 꽃",
            "point": 5
        },
        "9": {
            "type": "exists",
            "ele": "//Layer//Shape[shape_type/@value='TEXT']/font/Name/@value",
            "value": "맑은 고딕",
            "point": 3
        },
        "10": {
            "type": "exists",
            "ele": "//Layer//Shape[shape_type/@value='TEXT']/font/{style}/@value",
            "style": "Italic",
            "value": "True",
            "point": 3
        },
        "11": {
            "type": "exists",
            "ele": "//Layer//Shape[shape_type/@value='TEXT']/font/Size/@value",
            "value": "30",
            "point": 3
        },
        "12": {
            "type": "color",
            "ele": "//Layer//Shape[shape_type/@value='TEXT'][contains(draw_type/@value, 'Interior')]/secondary_color/@value",
            "value": "b46ef8",
            "point": 3,
            "desc": "색상 코드 비교 시 소문자로 입력할 것"
        },
        "13": {
            "type": "exists",
            "ele": "//Layer//Shape[shape_type/@value='TEXT']/outline_peninfo/Width/@value",
            "value": "7",
            "point": 3
        },
        "14": {
            "type": "color",
            "ele": "//Layer//Shape[shape_type/@value='TEXT'][contains(draw_type/@value, 'Outline')]/primary_color/@value",
            "value": "ffffff",
            "point": 3,
            "desc": "색상 코드 비교 시 소문자로 입력할 것"
        },
        "15": {
            "ele": "//Layer[MaskOpType/@value='Clipping'][last()]",
            "point": 6,
            "desc": "클리핑 마스크 항목은 별도 레이어로 추가되고 해당 속성을 추가해놓은 레이어가 있는지 여부 체크 함"
        },
        "16": {
            "type": "exists",
            "ele": "//Layer/Shapes/Shape/shape_type/@value",
            "value": "RECTANGLE",
            "point": 3
        },
        "17": {
            "type": "size",
            "ele": "//Layer//op_points",
            "value": {
                "width": 150,
                "height": 150
            },
            "point": 3,
            "desc": "레이어 쉐이프 X, Y 좌표를 가지고 너비, 높이 계산하여 정답 채점"
        },
        "18": {
            "type": "exists",
            "ele": "//Layer//outline_peninfo/Width/@value",
            "value": "7",
            "point": 3
        },
        "19": {
            "type": "color",
            "ele": "//Layer//Shape[contains(draw_type/@value, 'Outline')]/primary_color/@value",
            "value": "e8e88e",
            "point": 3,
            "desc": "색상 코드 비교 시 소문자로 입력할 것(채우기:secondary_color, 외곽선:primary_color)"
        },
        "20": {
            "type": "shadow",
            "ele": {
                "shadow": "//Layer//Shape[contains(draw_type/@value, 'Shadow')]",
                "width": "//Layer//Shape[contains(draw_type/@value, 'Shadow')]/shadow_width/@value",
                "distance": "//Layer//Shape[contains(draw_type/@value, 'Shadow')]/shadow_distance/@value",
                "blur": "//Layer//Shape[contains(draw_type/@value, 'Shadow')]/shadow_blur/@value",
                "angle": "//Layer//Shape[contains(draw_type/@value, 'Shadow')]/shadow_angle/@value"
            },
            "value": {
                "width": "3",
                "distance": "5",
                "blur": "1",
                "angle": "320"
            },
            "point": 5,
            "desc": "그림자 속성이 있는 경우 그림자 속성의 너비, 거리, 흐림 정도, 각도를 비교하여 정답 채점"
        },
        "21": {
            "ele": "none",
            "point": 0,
            "desc": "기본설정"
        },
        "22": {
            "ele": "none",
            "point": 0,
            "desc": "파일명 확인"
        }
    }
}