류윤주 류윤주 07-23
240723 류윤주 커밋
@b0a8009b5b3c982a527574c4ee6f07925dea8b77
 
.gitignore (added)
+++ .gitignore
@@ -0,0 +1,4 @@
+client/build/
+server/logs/
+node_modules
+.vscode/settings.json
 
Global.js (added)
+++ Global.js
@@ -0,0 +1,26 @@
+const PROJECT_NAME = "NodeJS Web Server Framework(Vue)";
+const PROJECT_VERSION = "1.0";
+const BASE_DIR = __dirname;
+// const LOG_BASE_DIR = `${__dirname}/server/logs`;
+const LOG_BASE_DIR = `/aidt/log/nodejs20`;
+const SERVICE_STATUS = process.env.NODE_ENV; //development, production
+const PORT = 80;
+//const API_SERVER_HOST = "localhost:9090";
+//운영서버
+// const API_SERVER_HOST = [{inside : "http://172.30.113.99:8080", outside : "http://172.30.113.99:8080"},
+//                         {inside : "http://172.30.113.87:8080", outside : "http://172.30.113.87:8080"}];
+
+const API_SERVER_HOST = [{inside : "http://localhost:9090", outside : "http://165.229.169.111:9090"}];
+// const API_SERVER_HOST = [{inside : "http://172.26.7.64:8080", outside : "http://210.90.168.119:8080"}];
+
+//const API_SERVER_HOST =  "http://172.26.7.64:8080";
+
+module.exports = {
+  PROJECT_NAME,
+  PROJECT_VERSION,
+  BASE_DIR,
+  LOG_BASE_DIR,
+  SERVICE_STATUS,
+  PORT,
+  API_SERVER_HOST,
+};
 
client/favicon-16x16.png (Binary) (added)
+++ client/favicon-16x16.png
Binary file is not shown
 
client/favicon-32x32.png (Binary) (added)
+++ client/favicon-32x32.png
Binary file is not shown
 
client/favicon-96x96.png (Binary) (added)
+++ client/favicon-96x96.png
Binary file is not shown
 
client/resources/api/accesCtrl.js (added)
+++ client/resources/api/accesCtrl.js
@@ -0,0 +1,21 @@
+import apiClient from "./index";
+
+export const findAll = search => {
+    return apiClient.post(`/admin/accesCtrl/findAll.json`, search);
+}
+
+export const findByAcces = accescCtrl => {
+    return apiClient.post(`/admin/accesCtrl/findByAcces.json`, accescCtrl);
+}
+
+export const save = accescCtrl => {
+    return apiClient.post(`/admin/accesCtrl/saveProc.json`, accescCtrl);
+}
+
+export const update = accescCtrl => {
+    return apiClient.post(`/admin/accesCtrl/updateProc.json`, accescCtrl);
+}
+
+export const del = accescCtrl => {
+    return apiClient.post(`/admin/accesCtrl/deleteProc.json`, accescCtrl);
+}(파일 끝에 줄바꿈 문자 없음)
 
client/resources/api/author.js (added)
+++ client/resources/api/author.js
@@ -0,0 +1,6 @@
+import apiClient from "./index";
+
+// 사용자 권한 목록 조회
+export const findAllSystem = search => {
+    return apiClient.post(`/admin/auth/findAllSystem.json`, search);
+}(파일 끝에 줄바꿈 문자 없음)
 
client/resources/api/authrt.js (added)
+++ client/resources/api/authrt.js
@@ -0,0 +1,26 @@
+import apiClient from "./index";
+
+export const findAll = search => {
+    return apiClient.post(`/admin/auth/findAll.json`, search);
+}
+
+export const findByAuthrt = authrt => {
+    return apiClient.post(`/admin/auth/findByAuthrt.json`, authrt);
+}
+
+export const del = authrt => {
+    return apiClient.post(`/admin/auth/deleteProc.json`, authrt);
+}
+
+export const save = authrt => {
+    return apiClient.post(`/admin/auth/saveProc.json`, authrt);
+}
+
+export const update = authrt => {
+    return apiClient.post(`/admin/auth/updateProc.json`, authrt);
+}
+
+// 관리자 권한 목록 조회
+export const findAdminAuthority = () => {
+    return apiClient.post(`/admin/auth/findAdminAuthority.json`)
+  }(파일 끝에 줄바꿈 문자 없음)
 
client/resources/api/bbsCn.js (added)
+++ client/resources/api/bbsCn.js
@@ -0,0 +1,33 @@
+import apiClient from "./index";
+/** 게시판 내용 API */
+
+// 게시판 내용 목록 조회
+export const findAll = search => {
+    return apiClient.post(`/bbsCn/findAll.json`, search);
+}
+
+// 게시판 내용 목록 조회
+export const findAllFile = search => {
+    return apiClient.post(`/bbsCn/findAllFile.json`, search);
+}
+
+// 게시판 내용 상세 조회
+export const findByBbsCn = bbsCn => {
+    return apiClient.post(`/bbsCn/findByBbsCn.json`, bbsCn);
+}
+// 게시판 내용 등록
+export const save = bbsCn => {
+    return apiClient.post(`/bbsCn/saveProc.json`, bbsCn);
+}
+// 게시판 내용 수정
+export const update = bbsCn => {
+    return apiClient.post(`/bbsCn/updateProc.json`, bbsCn);
+}
+// 게시판 내용 삭제
+export const del = bbsCn => {
+    return apiClient.post(`/bbsCn/deleteProc.json`, bbsCn);
+}
+// 게시판 조회수 증가
+export const updateVwCnt = params => {
+    return apiClient.post(`/bbsCn/updateVwCnt.json`, params);
+}(파일 끝에 줄바꿈 문자 없음)
 
client/resources/api/bbsMng.js (added)
+++ client/resources/api/bbsMng.js
@@ -0,0 +1,32 @@
+import apiClient from "./index";
+/** 게시판 관리 API */
+
+// 게시판 관리 목록 조회
+export const findAll = search => {
+    return apiClient.post(`/admin/bbsMng/findAll.json`, search);
+}
+// 게시판 관리 목록 조회 (메뉴 관리용)
+export const findAllByMenuMng = () => {
+    return apiClient.post(`/admin/bbsMng/findAllByMenuMng.json`);
+}
+// 게시판 관리 상세 조회
+export const findByBbsMng = bbsMng => {
+    return apiClient.post(`/admin/bbsMng/findByBbsMng.json`, bbsMng);
+}
+// 게시판 관리 등록
+export const save = bbsMng => {
+    return apiClient.post(`/admin/bbsMng/saveProc.json`, bbsMng);
+}
+// 게시판 관리 수정
+export const update = bbsMng => {
+    return apiClient.post(`/admin/bbsMng/updateProc.json`, bbsMng);
+}
+// 게시판 관리 삭제
+export const del = bbsMng => {
+    return apiClient.post(`/admin/bbsMng/deleteProc.json`, bbsMng);
+}
+
+// 게시판 유형 관리 목록 조회
+export const findAllBbsTypeMng = bbsTypeMng => {
+    return apiClient.post(`/admin/bbsTypeMng/findAll.json`, bbsTypeMng);
+}(파일 끝에 줄바꿈 문자 없음)
 
client/resources/api/cacheReSet.js (added)
+++ client/resources/api/cacheReSet.js
@@ -0,0 +1,5 @@
+import apiClient from "./index";
+
+export const cacheReSet = () => {
+    return apiClient.post(`/admin/main/cacheReSet.json`)
+}(파일 끝에 줄바꿈 문자 없음)
 
client/resources/api/cmnt.js (added)
+++ client/resources/api/cmnt.js
@@ -0,0 +1,19 @@
+import apiClient from "./index";
+
+/** 댓글 API */
+// 댓글 내용 등록
+export const saveCmnt = cmnt => {
+    return apiClient.post(`/cmnt/saveProc.json`, cmnt);
+}
+// 댓글 내용 목록 조회
+export const findCmntList = cmnt => {
+    return apiClient.post(`/cmnt/findCmntList.json`, cmnt);
+}
+// 댓글 내용 수정
+export const updateCmnt = cmnt => {
+    return apiClient.post(`/cmnt/updateProc.json`, cmnt);
+}
+// 댓글 내용 삭제
+export const deleteCmnt = cmnt => {
+    return apiClient.post(`/cmnt/deleteProc.json`, cmnt);
+}(파일 끝에 줄바꿈 문자 없음)
 
client/resources/api/cntnStats.js (added)
+++ client/resources/api/cntnStats.js
@@ -0,0 +1,52 @@
+import apiClient from "./index";
+
+// 통계 등록
+export const save = cntnStats => {
+  return apiClient.post(`/stats/saveProc.json`, cntnStats);
+}
+
+// 로그인 통계 통계
+export const lgnCntnStatsProc = data => {
+  return apiClient.post(`/stats/lgn/findAll.json`, data);
+}
+
+// 회원 접속 통계
+export const mbrCntnStatsProc = data => {
+  return apiClient.post(`/stats/mbr/findAll.json`, data);
+}
+
+// 메뉴별 접속 통계
+export const menuCntnStatsProc = data => {
+  return apiClient.post(`/stats/menu/findAll.json`, data);
+}
+
+// 메뉴별 접속 통계
+export const bbsCntnStatsProc = (data) => {
+  return apiClient.post(`/stats/post/findAll.json`, data);
+}
+
+// 게시판 목록 조회
+export const findAllBbs = () => {
+  return apiClient.post(`/stats/bbs/findAllBbs.json`);
+}
+
+// 상담 현황 통계
+export const dscsnCntnStatsProc = (data) => {
+  return apiClient.post(`/stats/dscsn/findAll.json`, data);
+}
+
+// 메뉴별 접속 통계
+export const mailCntnStatsProc = (data) => {
+  return apiClient.post(`/stats/mail/findAll.json`, data);
+}
+
+// 메뉴별 접속 통계
+export const mainStatsProc = () => {
+  return apiClient.post(`/stats/main/findAll.json`);
+}
+
+// 메인 대시보드 회원가입 통계
+export const joinStatsProc = (data) => {
+  return apiClient.post(`/stats/join/findAll.json`, data);
+}
+
 
client/resources/api/codeManage.js (added)
+++ client/resources/api/codeManage.js
@@ -0,0 +1,33 @@
+import apiClient from "./index";
+
+export const findAll = () => {
+  return apiClient.get(`/admin/code/findAll.json`);
+}
+
+export const findByCd = codemanage => {
+  return apiClient.post(`/admin/code/findByCd.json`, codemanage);
+}
+
+export const save = codemanage => {
+  return apiClient.post(`/admin/code/saveProc.json`, codemanage);
+}
+
+export const update = codemanage => {
+  return apiClient.post(`/admin/code/updateProc.json`, codemanage);
+}
+
+export const updateListProc = codemanage => {
+  return apiClient.post(`/admin/code/updateListProc.json`, codemanage);
+}
+
+export const del = codemanage => {
+  return apiClient.post(`/admin/code/deleteProc.json`, codemanage);
+}
+
+export const findByCdSystem = codemanage => {
+  return apiClient.post(`/admin/code/findByCdSystem.json`, codemanage);
+}
+
+export const cmmnFindByCdSystem = codemanage => {
+  return apiClient.post(`/cmmn/code/findByCdSystem.json`, codemanage);
+}(파일 끝에 줄바꿈 문자 없음)
 
client/resources/api/companyApply.js (added)
+++ client/resources/api/companyApply.js
@@ -0,0 +1,9 @@
+import apiClient from "./index";
+
+export const keywordFindAll = () => {
+    return apiClient.post(`/ent/keyword.json`);
+}
+  
+export const entFindAll = (data) => {
+    return apiClient.post(`/cmmn/ent/entInfoSelectList.json`, data);
+}
 
client/resources/api/contsType.js (added)
+++ client/resources/api/contsType.js
@@ -0,0 +1,31 @@
+import apiClient from "./index";
+
+// 등록
+export const saveProc = (data) => {
+  return apiClient.post(`/admin/contsType/saveProc.json`, data);
+};
+
+// 조회(목록)
+export const findAll = (data) => {
+  return apiClient.post(`/admin/contsType/findAll.json`, data);
+};
+
+// 조회(목록) - 메뉴 노출
+export const findAllByExpsr = (data) => {
+  return apiClient.post(`/admin/contsType/findAllByExpsr.json`, data);
+};
+
+// 조회(상세)
+export const findByContsType = (data) => {
+  return apiClient.post(`/admin/contsType/findByContsType.json`, data);
+};
+
+// 수정
+export const updateProc = (data) => {
+  return apiClient.post(`/admin/contsType/updateProc.json`, data);
+};
+
+// 삭제
+export const deleteProc = (data) => {
+  return apiClient.post(`/admin/contsType/deleteProc.json`, data);
+};(파일 끝에 줄바꿈 문자 없음)
 
client/resources/api/dept.js (added)
+++ client/resources/api/dept.js
@@ -0,0 +1,37 @@
+import apiClient from "./index";
+
+export const findAll = () => {
+    return apiClient.get(`/admin/dept/findAll.json`);
+}
+
+export const save = dept => {
+    return apiClient.post(`/admin/dept/saveProc.json`, dept);
+}
+
+export const findByDept = params => {
+    return apiClient.post(`/admin/dept/findByDept.json`, params);
+}
+
+export const update = dept => {
+    return apiClient.post(`/admin/dept/updateProc.json`, dept);
+}
+
+export const updateListProc = dept => {
+    return apiClient.post(`/admin/dept/updateListProc.json`, dept);
+}
+
+export const del = dept => {
+    return apiClient.post(`/admin/dept/deleteProc.json`, dept);
+}
+
+export const deptMbrDelete = params => {
+    return apiClient.post(`/admin/dept/deptMbrDelProc.json`, params);
+}
+
+export const findByMbr = params => {
+    return apiClient.post(`/admin/dept/findByMbr.json`, params);
+}
+
+export const deptMbrSaveProc = params => {
+    return apiClient.post(`/admin/dept/deptMbrSaveProc.json`, params);
+}(파일 끝에 줄바꿈 문자 없음)
 
client/resources/api/dscsnCategory.js (added)
+++ client/resources/api/dscsnCategory.js
@@ -0,0 +1,48 @@
+import apiClient from "./index";
+
+// 카테고리 리스트 
+export const findAll = ()  => {
+    return apiClient.post(`/admin/dscsn/findAll.json`);
+}
+
+// 카테고리 멤버 조회
+export const findAllDscsnCategoryPic =  selectedNode  => {
+    return apiClient.post(`/admin/dscsn/findAllDscsnCategoryPic.json`,selectedNode);
+}
+
+// 카테고리 정보 저장 및 업데이트
+export const saveDscsnCategory =  insertNode  => {
+    return apiClient.post(`/admin/dscsn/saveDscsnCategory.json`,insertNode);
+}
+
+// 카테고리 정보 삭제
+export const dscsnCategoryDelete =  insertNode  => {
+    return apiClient.post(`/admin/dscsn/dscsnCategoryDelete.json`,insertNode);
+}
+
+// 담당자가 아닌 사용자 리스트 
+export const findMemberOuterCategory =  insertNode  => {
+    return apiClient.post(`/admin/dscsn/findMemberOuterCategory.json`,insertNode);
+}
+
+// 담당자가 아닌 사용자 리스트 
+export const saveDscsnCategoryPic =  param  => {
+    return apiClient.post(`/admin/dscsn/saveDscsnCategoryPic.json`,param);
+}
+
+// 카테고리 담당자가 삭제
+export const deleteDscsnCategoryPic =  param  => {
+    return apiClient.post(`/admin/dscsn/deleteDscsnCategoryPic.json`,param);
+}
+
+// 카테고리 메인담당자 지정 
+export const updateDscsnCategoryPicRprsMain =  param  => {
+    return apiClient.post(`/admin/dscsn/updateDscsnCategoryPicRprsMain.json`,param);
+}
+
+
+
+
+
+
+
 
client/resources/api/eduCn.js (added)
+++ client/resources/api/eduCn.js
@@ -0,0 +1,37 @@
+import apiClient from "./index";
+/** 기술교육 내용 API */
+
+// 기술교육 목록 조회
+export const findAll = search => {
+    return apiClient.post(`/edu/findAll.json`, search);
+}
+
+// 기술교육 상세 조회
+export const findByEduId = eduCn => {
+    return apiClient.post(`/edu/findById.json`, eduCn);
+}
+
+// 기술교육 삭제
+export const deleteProc = eduCn => {
+    return apiClient.post(`/edu/deleteProc.json`, eduCn);
+}
+
+// 기술교육 조회수 증가
+export const updateVwCnt = eduCn => {
+    return apiClient.post(`/edu/updateVwCnt.json`, eduCn);
+}
+
+// 기술교육 수정
+export const update = eduCn => {
+    return apiClient.post(`/bbsCn/updateProc.json`, eduCn);
+}
+
+// 나의 기술교육 일정 신청 목록
+export const findAllByMbrId = search => {
+    return apiClient.post(`/edu/schdl/myPage/list.json`, search)
+}
+
+// 나의 기술교육 일정 취소
+export const deleteMySchedule = data => {
+    return apiClient.post(`/edu/schdl/ptcp/delete.json`, data)
+}(파일 끝에 줄바꿈 문자 없음)
 
client/resources/api/eduSchedule.js (added)
+++ client/resources/api/eduSchedule.js
@@ -0,0 +1,20 @@
+import apiClient from "./index";
+
+//기술교육 일정 등록
+export const saveProc = (data) => {
+    return apiClient.post(`/edu/schdl/save.json`, data);
+};
+
+//기술교육 일정 수정
+export const updateProc = (data) => {
+  return apiClient.post(`/edu/schdl/update.json`, data);
+};
+//기술교육 일정 삭제
+export const deleteSchedule = (data) => {
+  return apiClient.post(`/edu/schdl/delete.json`, data);
+};
+
+//해당 기술교육 일정의 참가자 목록 조회
+export const findAll = (data) => {
+  return apiClient.post(`/edu/schdl/ptcp/list.json`, data);
+} (파일 끝에 줄바꿈 문자 없음)
 
client/resources/api/entDscsnAply.js (added)
+++ client/resources/api/entDscsnAply.js
@@ -0,0 +1,26 @@
+import apiClient from "./index";
+
+// 등록
+export const entDscsnAplyInsert = (data) => {
+  return apiClient.post(`/government/entDscsnAplyInsert.json`, data);
+};
+
+// 조회(목록)
+export const entDscsnAplySelectList = (data) => {
+  return apiClient.post(`/government/entDscsnAplySelectList.json`, data);
+};
+
+// 조회(상세)
+export const entDscsnAplySelectOne = (data) => {
+  return apiClient.post(`/government/entDscsnAplySelectOne.json`, data);
+};
+
+// 수정
+export const entDscsnAplyUpdate = (data) => {
+  return apiClient.post(`/government/entDscsnAplyUpdate.json`, data);
+};
+
+// 삭제
+export const entDscsnAplyDelete = (data) => {
+  return apiClient.post(`/government/entDscsnAplyDelete.json`, data);
+};
 
client/resources/api/entInfo.js (added)
+++ client/resources/api/entInfo.js
@@ -0,0 +1,68 @@
+import apiClient from "./index";
+
+// 등록
+export const entInfoInsert = (data) => {
+  return apiClient.post(`/ent/entInfoInsert.json`, data);
+};
+
+// 조회(목록)
+export const entInfoSelectList = (data) => {
+  return apiClient.post(`/cmmn/ent/entInfoSelectList.json`, data);
+};
+
+// 조회( 관리페이지 상세)
+export const entManageInfo = (data) => {
+  return apiClient.post(`/ent/entManageInfo.json`, data);
+};
+
+// 조회( 관리페이지 상세)
+export const myEntInfo = () => {
+  return apiClient.post(`/ent/myEntInfo.json`);
+}
+
+// 기업신청 반려 
+export const entReject = (data) => {
+  return apiClient.post(`/ent/entReject.json`, data);
+};
+
+
+// 기업신청 승인
+export const entAccept = (data) => {
+  return apiClient.post(`/ent/entAccept.json`, data);
+};
+
+// 기업멤버신청 반려 
+export const entMbrReject = (data) => {
+  return apiClient.post(`/ent/entMbrReject.json`, data);
+};
+
+// 기업멤버신청 승인
+export const entMbrAccept = (data) => {
+  return apiClient.post(`/ent/entMbrAccept.json`, data);
+};
+
+// 기업멤버신청 승인
+export const entMbrAuthManagerUpdate = (data) => {
+  return apiClient.post(`/ent/entMbrAuthManagerUpdate.json`, data);
+};
+
+// 기업멤버 관계 해지
+export const entMbrDelete = (data) => {
+  return apiClient.post(`/ent/entMbrDelete.json`, data);
+};
+
+
+// 조회(상세)
+export const entInfoSelectOne = (data) => {
+  return apiClient.post(`/ent/entInfoSelectOne.json`, data);
+};
+
+// 수정
+export const entInfoUpdate = (data) => {
+  return apiClient.post(`/ent/entInfoUpdate.json`, data);
+};
+
+// 삭제
+export const entInfoDelete = (data) => {
+  return apiClient.post(`/ent/entInfoDelete.json`, data);
+};
 
client/resources/api/eventAlarm.js (added)
+++ client/resources/api/eventAlarm.js
@@ -0,0 +1,16 @@
+import apiClient from "./index";
+
+// 읽지않은 알람 불러오기
+export const findAllEvent = () => {
+  return apiClient.post(`/event/findAllEvent.json`);
+};
+
+// 알람 읽음 처리
+export const readEvent = (data) => {
+  return apiClient.post(`/event/read.json`, data);
+};
+
+// 전체 알람 읽음 처리
+export const readAllEvent = () => {
+  return apiClient.post(`/event/readAll.json`);
+};
 
client/resources/api/index.js (added)
+++ client/resources/api/index.js
@@ -0,0 +1,80 @@
+import axios from 'axios';
+import store from "../../views/pages/AppStore";
+import VueCookies from "vue-cookies";
+
+const apiClient = axios.create({
+    headers: {
+        'Content-Type' : 'application/json; charset=UTF-8',
+    },
+});
+
+apiClient.interceptors.request.use(
+    config => {
+        config.headers.Authorization = store.state.authorization; // 요청 시 AccessToken 추가
+        return config;
+    },
+    error => {
+        return Promise.reject(error);
+    }
+)
+ 
+apiClient.interceptors.response.use(
+    response => {
+        return response;
+    },
+    async error => {
+        if(error.response.status == 403 && error.response.data.message == '접근 권한이 없습니다.') {
+            window.history.back();
+        }
+        const originalReq = error.config;
+        // 토큰의 만료기간이 끝난경우
+        if(error.response.status == 401 && error.response.data.message == 'Token expired' && !originalReq._retry) {
+            originalReq._retry = true; // 재요청 시도(한번만 실행)
+            let isRefresh = true;
+            if(originalReq.url === '/event/findAllEvent.json') {
+                if(store.state.routerFlag){
+                    store.commit('setRouterFlag', false);
+                } else {
+                    isRefresh = false;
+                }
+            }
+
+            try {
+                const res = await axios.post('/refresh/tokenReissue.json', {}, {
+                    headers: {
+                      //  'refresh' : store.state.refresh // refresh token
+                        'refresh' :  VueCookies.get('refresh'),
+                        'isRefresh' : isRefresh
+                    }
+                });
+                store.commit('setAuthorization', res.headers.authorization); // 새로 발급 받은 AccessToken 저장
+                originalReq.headers.Authorization =  store.state.authorization; // 새로 발급 받은 AccessToken을 기존 요청에 추가
+                /** jwt토큰 복호화 **/
+                const base64String = store.state.authorization.split('.')[1];
+                const mbr = JSON.parse(decodeURIComponent(escape(window.atob(base64String)))); // jwt claim 추출
+                store.commit("setMbrId", mbr.mbrId);
+                store.commit("setMbrNm", mbr.mbrEncptFlnm);
+                store.commit("setAuthrtNm", mbr.authrtNm);
+                store.commit("setAuthrtTypeLvl", mbr.authrtTypeLvl);
+                store.commit('setRoles', mbr.roles);
+                /** jwt토큰 복호화 **/
+                return apiClient(originalReq); // 원래 요청 재시도 /pathname + search
+            } catch(refreshError) {
+                const redirect = window.location.pathname + window.location.search;
+                sessionStorage.setItem("redirect", redirect);
+                //alert('세션이 종료되었습니다.\n로그인을 새로 해주세요.');
+                store.commit("setStoreReset");
+                // store.commit("setAuthorization", null);
+                // store.commit("setRefresh", null);
+                // store.commit("setMbrNm", null);
+                // store.commit('setRoles', [{authority: "ROLE_NONE"}]);
+                // store.commit('setPageAuth', null);
+                window.location = '/';
+                return Promise.reject(refreshError);
+            }
+        }
+        return Promise.reject(error);
+    }
+)
+
+export default apiClient;(파일 끝에 줄바꿈 문자 없음)
 
client/resources/api/inquiry.js (added)
+++ client/resources/api/inquiry.js
@@ -0,0 +1,115 @@
+import apiClient from "./index";
+
+// ****************** 공통(시작) ******************
+
+// 카테고리 목록 조회 
+export const findAllCtgry = ()  => {
+  return apiClient.post(`/aidt/inquiry/findAllCtgry.json`);
+}
+
+// 상담 상세 조회
+export const findByDscsn = (data) => {
+  return apiClient.post(`/aidt/inquiry/findByDscsn.json`, data);
+};
+
+// ****************** 공통(종료) ******************
+
+
+// ****************** 사용자용(시작) ******************
+
+// 상담 목록 조회
+export const findAllDscsn = (data) => {
+  return apiClient.post(`/aidt/inquiry/ent/findAllDscsn.json`, data);
+};
+
+// 작성자 조회
+export const findByMbr = (data) => {
+  return apiClient.post(`/aidt/inquiry/findByMbr.json`, data);
+};
+
+// 상담 등록 - 작성자
+export const dscsnSave = (data) => {
+  return apiClient.post(`/aidt/inquiry/dscsnSave.json`, data);
+};
+
+// 상담 수정
+export const dscsnUpdate = (data) => {
+  return apiClient.post(`/aidt/inquiry/dscsn/update.json`, data);
+};
+
+// 상담 삭제
+export const dscsnDelete = (data) => {
+  return apiClient.post(`/aidt/inquiry/dscsn/delete.json`, data);
+};
+
+// ****************** 사용자용(종료) ******************
+
+
+// ****************** 관리자용(시작) ******************
+
+// 상담 목록 조회
+export const findAllMngrDscsn = (data) => {
+  return apiClient.post(`/aidt/inquiry/mngr/findAllDscsn.json`, data);
+};
+
+// 상담 접수
+export const acceptProc = (data) => {
+  return apiClient.post(`/aidt/inquiry/accept.json`, data);
+};
+
+// 답변 등록
+export const ansInsertProc = (data) => {
+  return apiClient.post(`/aidt/inquiry/answer/insert.json`, data);
+};
+
+// 재지정 및 추가답변요청
+export const reRequestProc = (data) => {
+  return apiClient.post(`/aidt/inquiry/re-request.json`, data);
+};
+
+// 답변 승인 요청
+export const approvalProc = (data) => {
+  return apiClient.post(`/aidt/inquiry/approval-requests.json`, data);
+};
+
+// 답변 수정
+export const ansUpdateProc = (data) => {
+  return apiClient.post(`/aidt/inquiry/answer/update.json`, data);
+};
+
+// 답변 삭제
+export const ansDeleteProc = (data) => {
+  return apiClient.post(`/aidt/inquiry/answer/delete.json`, data);
+};
+
+// 답변 반려
+export const ansRejectProc = (data) => {
+  return apiClient.post(`/aidt/inquiry/answer/reject.json`, data);
+};
+
+// 답변 승인 재요청
+export const ansReRequestProc = (data) => {
+  return apiClient.post(`/aidt/inquiry/answer/re-request.json`, data);
+};
+
+// 답변 승인
+export const ansApprovalProc = (data) => {
+  return apiClient.post(`/aidt/inquiry/answer/approval.json`, data);
+};
+
+// 답변 공개
+export const dscsnCompleteProc = (data) => {
+  return apiClient.post(`/aidt/inquiry/complete.json`, data);
+};
+
+// 카테고리 멤버 조회 
+export const findAllDscsnCtgryPic = (data)  => {
+  return apiClient.post(`/aidt/inquiry/findAllDscsnCtgryPic.json`, data);
+}
+
+// 추가 검토여부 변경
+export const rvwProc = (data)  => {
+  return apiClient.post(`/aidt/inquiry/rvwProc.json`, data);
+}
+// ****************** 관리자용(종료) ******************
+
 
client/resources/api/ivstDscsn.js (added)
+++ client/resources/api/ivstDscsn.js
@@ -0,0 +1,26 @@
+import apiClient from "./index";
+
+// 등록
+export const ivstDscsnInsert = (data) => {
+  return apiClient.post(`/government/ivstDscsnInsert.json`, data);
+};
+
+// 조회(목록)
+export const ivstDscsnSelectList = (data) => {
+  return apiClient.post(`/government/ivstDscsnSelectList.json`, data);
+};
+
+// 조회(상세)
+export const ivstDscsnSelectOne = (data) => {
+  return apiClient.post(`/government/ivstDscsnSelectOne.json`, data);
+};
+
+// 수정
+export const ivstDscsnUpdate = (data) => {
+  return apiClient.post(`/government/ivstDscsnUpdate.json`, data);
+};
+
+// 삭제
+export const ivstDscsnDelete = (data) => {
+  return apiClient.post(`/government/ivstDscsnDelete.json`, data);
+};
 
client/resources/api/lgnHstry.js (added)
+++ client/resources/api/lgnHstry.js
@@ -0,0 +1,6 @@
+import apiClient from "./index";
+
+// 로그인 이력 목록 조회
+export const listProc = data => {
+  return apiClient.post(`/history/login/findAll.json`, data);
+}(파일 끝에 줄바꿈 문자 없음)
 
client/resources/api/logOut.js (added)
+++ client/resources/api/logOut.js
@@ -0,0 +1,11 @@
+import apiClient from "./index";
+import store from '../../views/pages/AppStore';
+import VueCookies from "vue-cookies";
+export const logOutProc = () => {
+    return apiClient.post(`/mbr/logout.json`, {}, {
+        headers: {
+            // 'refresh': store.state.refresh
+            'refresh' :  VueCookies.get('refresh')
+        }
+    });
+}
 
client/resources/api/login.js (added)
+++ client/resources/api/login.js
@@ -0,0 +1,21 @@
+import apiClient from "./index";
+
+export const loginProc = mber => {
+    return apiClient.post(`/mbr/loginProc.json`, mber);
+}
+
+//관리자 여부 조회
+export const findMngrYnByMbr = mber => {
+    return apiClient.post(`/mbr/findMngrYnByMbr.json`, mber);
+};
+
+//관리자 OTP 생성
+export const generateOTP = mber => {
+    return apiClient.post(`/api/otp/generate.json`, mber);
+};
+
+//관리자 OTP 로그인
+export const loginOTP = otp => {
+    return apiClient.post(`/api/otp/verify.json`, otp);
+};
+
 
client/resources/api/main.js (added)
+++ client/resources/api/main.js
@@ -0,0 +1,13 @@
+import apiClient from "./index";
+
+export const adminMainProc = () => {
+  return apiClient.post(`/admin/main/adminMainProc.json`);
+}
+
+export const governmentMainProc = () => {
+  return apiClient.post(`/government/main/governmentMainProc.json`);
+}
+
+export const PortalMainProc = () => {
+  return apiClient.post(`/cmmn/main/PortalMainProc.json`);
+}(파일 끝에 줄바꿈 문자 없음)
 
client/resources/api/mbrInfo.js (added)
+++ client/resources/api/mbrInfo.js
@@ -0,0 +1,87 @@
+import apiClient from "./index";
+
+// ****************** 사용자용(시작) ******************
+
+// 조회(목록) - 전체
+export const findAllMbr = (data) => {
+  return apiClient.post(`/mbr/findAll.json`, data);
+};
+
+// 조회(상세) - 작성자
+export const findWriter = (data) => {
+  return apiClient.post(`/mbr/findWriter.json`, data);
+};
+
+// 사용자 권한 변경 
+export const updateUserAuth = (data) => {
+  return apiClient.post(`/mbr/updateAuth.json`, data);
+};
+
+// ****************** 사용자용(종료) ******************
+
+
+
+
+// ****************** 관리자용(시작) ******************
+
+// 아이디 중복 검사
+export const idDupProc = (data) => {
+  return apiClient.post(`/admin/mbr/idDupProc.json`, data);
+};
+
+// 이메일 중복 검사
+export const emlDupProc = (data) => {
+  return apiClient.post(`/admin/mbr/emlDupProc.json`, data);
+};
+
+// 등록
+export const adminJoinProc = (data) => {
+  return apiClient.post(`/admin/mbr/adminJoinProc.json`, data);
+};
+
+// 조회(목록) - 관리자
+export const findAllAdmin = (data) => {
+  return apiClient.post(`/admin/mbr/findAllAdmin.json`, data);
+};
+
+// 조회(목록) - 일반회원
+export const findAllUser = (data) => {
+  return apiClient.post(`/admin/mbr/findAllUser.json`, data);
+};
+
+// 조회(상세)
+export const findByMbr = (data) => {
+  return apiClient.post(`/admin/mbr/findByMbr.json`, data);
+};
+
+// 수정
+export const updateAdmProc = (data) => {
+  return apiClient.post(`/admin/mbr/updateAdminProc.json`, data);
+};
+
+// 수정(비밀번호 초기화)
+export const pswdResetProc = (data) => {
+  return apiClient.post(`/admin/mbr/pswdResetProc.json`, data);
+};
+
+// 삭제
+export const deleteAdmProc = (data) => {
+  return apiClient.post(`/admin/mbr/deleteAdminProc.json`, data);
+};
+
+// 관리자 비밀번호 변경
+export const updatePswdProc = (data) => {
+  return apiClient.post(`/admin/mbr/updatePswdProc.json`, data);
+};
+
+// OTP 초기화
+export const otpResetProc = (data) => {
+  return apiClient.post(`/admin/mbr/otpResetProc.json`, data);
+};
+
+// 회원 탈퇴 처리
+export const withdrawProc = (data) => {
+  return apiClient.post(`/admin/mbr/withdrawProc.json`, data);
+};
+// ****************** 관리자용(종료) ******************
+
 
client/resources/api/menu.js (added)
+++ client/resources/api/menu.js
@@ -0,0 +1,29 @@
+import apiClient from "./index";
+
+export const menuFindAll = () => {
+  return apiClient.get(`/admin/menu/findAll.json`);
+};
+
+export const menuSave = (data) => {
+  return apiClient.post(`/admin/menu/saveProc.json`, data);
+};
+
+export const menuFindByMenu = (data) => {
+  return apiClient.post(`/admin/menu/findByMenu.json`, data);
+};
+
+export const menuUpdate = (data) => {
+  return apiClient.post(`/admin/menu/updateProc.json`, data);
+};
+
+export const updateListProc = data => {
+  return apiClient.post(`/admin/menu/updateListProc.json`, data);
+}
+
+export const menuDelete = (data) => {
+  return apiClient.post(`/admin/menu/deleteProc.json`, data);
+};
+
+export const findBySysMenu = (menu) => {
+  return apiClient.post(`/sys/menu/findByMenu.json`, menu);
+};
 
client/resources/api/menuAuthor.js (added)
+++ client/resources/api/menuAuthor.js
@@ -0,0 +1,9 @@
+import apiClient from "./index";
+
+export const menuFindAllByAuthor = (data) => {
+  return apiClient.post(`/admin/menuAuthor/findAllByAuthor.json`, data);
+};
+
+export const updateMenuAuthrtProc = (data) => {
+  return apiClient.post(`/admin/menuAuthor/updateMenuAuthrtProc.json`, data);
+};(파일 끝에 줄바꿈 문자 없음)
 
client/resources/api/popup.js (added)
+++ client/resources/api/popup.js
@@ -0,0 +1,34 @@
+import apiClient from "./index";
+
+// 팝업등록
+export const insertProc = data => {
+  return apiClient.post(`/admin/popup/insertProc.json`, data);
+}
+// 팝업목록조회
+export const listProc = data => {
+  return apiClient.post(`/admin/popup/listProc.json`, data);
+}
+// 팝업목록조회 (팝업창 띄우는 용도)
+export const listByPageProc = data => {
+  return apiClient.post(`/admin/popup/listByPageProc.json`, data);
+}
+// 팝업상세조회
+export const detailProc = data => {
+  return apiClient.post(`/admin/popup/detailProc.json`, data);
+}
+// 팝업목록조회 (팝업창 띄우는 용도) / 시스템용
+export const sysListByPageProc = () => {
+  return apiClient.post(`/sys/popup/listByPageProc.json`);
+}
+// 팝업상세조회 / 시스템용
+export const sysDetailProc = data => {
+  return apiClient.post(`/sys/popup/detailProc.json`, data);
+}
+// 팝업수정
+export const updateProc = data => {
+  return apiClient.post(`/admin/popup/updateProc.json`, data);
+}
+// 팝업삭제
+export const deleteProc = data => {
+  return apiClient.post(`/admin/popup/deleteProc.json`, data);
+}(파일 끝에 줄바꿈 문자 없음)
 
client/resources/api/prvcInqHstry.js (added)
+++ client/resources/api/prvcInqHstry.js
@@ -0,0 +1,16 @@
+import apiClient from "./index";
+
+// 개인정보조회 이력 등록
+export const insertProc = data => {
+  return apiClient.post(`/prvcInqHstry/insertProc.json`, data);
+}
+
+// 개인정보조회 이력 목록 조회
+export const listProc = data => {
+  return apiClient.post(`/admin/prvcInqHstry/listProc.json`, data);
+}
+
+// 개인정보조회 이력 상세 조회
+export const detailProc = data => {
+  return apiClient.post(`/admin/prvcInqHstry/detailProc.json`, data);
+}(파일 끝에 줄바꿈 문자 없음)
 
client/resources/api/router.js (added)
+++ client/resources/api/router.js
@@ -0,0 +1,9 @@
+import apiClient from "./index";
+
+export const findAll = () => {
+    return apiClient.post(`/sys/contsType/findByContsAuthrtSys.json`);
+}
+
+export const accessCheck = params => {
+    return apiClient.post(`/sys/accesCtrl/accessCheck.json`, params);
+}(파일 끝에 줄바꿈 문자 없음)
 
client/resources/api/rvwMttr.js (added)
+++ client/resources/api/rvwMttr.js
@@ -0,0 +1,26 @@
+import apiClient from "./index";
+
+// 등록
+export const rvwMttrInsert = (data) => {
+  return apiClient.post(`/government/rvwMttrInsert.json`, data);
+};
+
+// 조회(목록)
+export const rvwMttrSelectList = (data) => {
+  return apiClient.post(`/government/rvwMttrSelectList.json`, data);
+};
+
+// 조회(상세)
+export const rvwMttrSelectOne = (data) => {
+  return apiClient.post(`/government/rvwMttrSelectOne.json`, data);
+};
+
+// 수정
+export const rvwMttrUpdate = (data) => {
+  return apiClient.post(`/government/rvwMttrUpdate.json`, data);
+};
+
+// 삭제
+export const rvwMttrDelete = (data) => {
+  return apiClient.post(`/government/rvwMttrDelete.json`, data);
+};
 
client/resources/api/search.js (added)
+++ client/resources/api/search.js
@@ -0,0 +1,7 @@
+import apiClient from "./index";
+/** 게시판 내용 API */
+
+// 게시판 내용 목록 조회
+export const findAll = search => {
+    return apiClient.post(`/cmmn/search.json`, search);
+}
 
client/resources/api/sendMail.js (added)
+++ client/resources/api/sendMail.js
@@ -0,0 +1,7 @@
+import apiClient from "./index";
+/** 구독자 관라 API */
+
+// 구독자 조회
+export const sendEmail = data => {
+    return apiClient.post(`/cmmn/mail/sendEmail.json`, data);
+}
 
client/resources/api/subsc.js (added)
+++ client/resources/api/subsc.js
@@ -0,0 +1,13 @@
+import apiClient from "./index";
+/** 구독자 관라 API */
+
+// 구독자 조회
+export const find = search => {
+    return apiClient.post(`/admin/subsc/find.json`, search);
+}
+
+// 전체서택
+export const allcheck = search => {
+    return apiClient.post(`/admin/subsc/allcheck.json`, search);
+}
+
 
client/resources/api/techDoc.js (added)
+++ client/resources/api/techDoc.js
@@ -0,0 +1,45 @@
+import apiClient from "./index";
+
+// 기술문서 목록 조회
+export const findAllTechDoc = (data) => {
+  return apiClient.post(`/techDoc/findAllTechDoc.json`, data);
+};
+
+// 기술 문서 버전 리스트 목록 조회
+export const findAllVer = (data) => {
+  return apiClient.post(`/techDoc/findAllVer.json`, data);
+};
+
+// 기술 문서 버전 상세 조회
+export const findByVer = (data) => {
+  return apiClient.post(`/techDoc/findByVer.json`, data);
+};
+
+// 기술문서 정보 수정
+export const techDocUpdate = (data) => {
+  return apiClient.post(`/techDoc/update.json`, data);
+};
+// 기술 문서 등록
+// export const save = (data) => {
+//   return apiClient.post(`/techDoc/save.json`, data);
+// };
+
+// 기술 문서 버전 등록
+// export const verSave = (data) => {
+//   return apiClient.post(`/techDoc/verSave.json`, data);
+// };
+
+// // 기술 문서 버전 수정
+// export const verUpdate = (data) => {
+//   return apiClient.post(`/techDoc/verUpdate.json`, data);
+// };
+3
+// 기술 문서 삭제
+export const techDocDelete = (data) => {
+  return apiClient.post(`/techDoc/techDocDelete.json`, data);
+};
+
+// 기술 문서 버전 삭제
+export const verDelete = (data) => {
+  return apiClient.post(`/techDoc/verDelete.json`, data);
+};
 
client/resources/api/trans.js (added)
+++ client/resources/api/trans.js
@@ -0,0 +1,81 @@
+import apiClient from "./index";
+
+// 공통파일관리 전환
+export const transFileMng = () => {
+    return apiClient.post(`/cmmn/trans/transFileMng.json`);
+}
+
+// 공통파일 전환
+export const transFile = () => {
+    return apiClient.post(`/cmmn/trans/transFile.json`);
+}
+
+// 회원 전환
+export const transMember = () => {
+    return apiClient.post(`/cmmn/trans/transMember.json`);
+}
+
+// 기업 전환
+export const transEnt = () => {
+    return apiClient.post(`/cmmn/trans/transEnt.json`);
+}
+
+// 기업 회원 전환
+export const transEntMember = () => {
+    return apiClient.post(`/cmmn/trans/transEntMember.json`);
+}
+
+// 상담카테고리 전환
+export const transDscsnCtgry = () => {
+    return apiClient.post(`/cmmn/trans/transDscsnCtgry.json`);
+}
+
+// 1:1 상담 전환
+export const transDscsn = () => {
+    return apiClient.post(`/cmmn/trans/transDscsn.json`);
+}
+
+// 이벤트 알람내용 전환
+export const transEvent = () => {
+    return apiClient.post(`/cmmn/trans/transEvent.json`);
+}
+
+// 게시판-공지사항
+export const transNotice = () => {
+    return apiClient.post(`/cmmn/trans/bbs/notice.json`);
+}
+
+// 게시판-업데이트
+export const transUpdateBbs = () => {
+    return apiClient.post(`/cmmn/trans/bbs/update.json`);
+}
+
+// 방문로그 전환
+export const transUserHstry = () => {
+    return apiClient.post(`/cmmn/trans/user/hstry.json`);
+}
+
+// 파일이관 전환
+export const transFileHstry = () => {
+    return apiClient.post(`/cmmn/trans/file/hstry.json`);
+}
+
+// 메뉴 이관 전환
+export const transMenuHstry = () => {
+    return apiClient.post(`/cmmn/trans/menu/hstry.json`);
+}
+
+// 로그인 로그 전환
+export const transLgnHstry = () => {
+    return apiClient.post(`/cmmn/trans/lgn/hstry.json`);
+}
+
+// 게시글 조회 전환
+export const transBltbHstry = () => {
+    return apiClient.post(`/cmmn/trans/bltb/hstry.json`);
+}
+
+// 사용자 권한 목록 조회
+export const resultList = () => {
+    return apiClient.post(`/cmmn/trans/resultList.json`);
+}(파일 끝에 줄바꿈 문자 없음)
 
client/resources/api/userPage.js (added)
+++ client/resources/api/userPage.js
@@ -0,0 +1,21 @@
+import apiClient from "./index";
+
+//상세조회
+export const detailProc = ()  => {
+    return apiClient.post(`/mbr/myInfo.json`);
+}
+
+//비밀번호 검증
+export const pwdCheck = (data) => {
+    return apiClient.post(`/mbr/pwCheck.json`, data)
+}
+
+//비밀번호 수정
+export const updatePswdProc = (data) => {
+    return apiClient.post(`/mbr/updatePswdProc.json`, data)
+}
+
+//이메일 중복검사
+export const emlDupProc = (data) => {
+    return apiClient.post(`/mbr/findByCheckEmail.json`, data)
+}
 
client/resources/css/common.css (added)
+++ client/resources/css/common.css
@@ -0,0 +1,1039 @@
+@charset "utf-8";
+
+/* 가이드라인버전 */
+.mb0 {
+    margin-bottom: 0rem;
+}
+
+.mb2 {
+    margin-bottom: .2rem;
+}
+
+.mb4 {
+    margin-bottom: .4rem;
+}
+
+.mb8 {
+    margin-bottom: .8rem;
+}
+
+.mb12 {
+    margin-bottom: 1.2rem;
+}
+
+.mb16 {
+    margin-bottom: 1.6rem;
+}
+
+.mb24 {
+    margin-bottom: 2.4rem;
+}
+
+.mb32 {
+    margin-bottom: 3.2rem;
+}
+
+.mb48 {
+    margin-bottom: 4.8rem;
+}
+
+/* 마진 auto */
+.ma {
+    margin: 0 auto;
+}
+
+/* 마진 - 왼쪽 */
+.ml0 {
+    margin-left: 0rem;
+}
+
+.ml5 {
+    margin-left: 0.5rem;
+}
+
+.ml10 {
+    margin-left: 1rem;
+}
+
+.ml15 {
+    margin-left: 1.5rem;
+}
+
+.ml20 {
+    margin-left: 2rem;
+}
+
+.ml25 {
+    margin-left: 2.5rem;
+}
+
+.ml30 {
+    margin-left: 3rem;
+}
+
+.ml35 {
+    margin-left: 3.5rem;
+}
+
+.ml40 {
+    margin-left: 4rem;
+}
+
+.ml45 {
+    margin-left: 4.5rem;
+}
+
+.ml50 {
+    margin-left: 5rem;
+}
+
+.ml55 {
+    margin-left: 5.5rem;
+}
+
+.ml60 {
+    margin-left: 6rem;
+}
+
+.ml65 {
+    margin-left: 6.5rem;
+}
+
+.ml70 {
+    margin-left: 7rem;
+}
+
+.ml75 {
+    margin-left: 7.5rem;
+}
+
+.ml80 {
+    margin-left: 8rem;
+}
+
+.ml85 {
+    margin-left: 8.5rem;
+}
+
+.ml90 {
+    margin-left: 9rem;
+}
+
+.ml95 {
+    margin-left: 9.5rem;
+}
+
+.ml100 {
+    margin-left: 10rem;
+}
+
+/* 마진 - 오른쪽 */
+.mr0 {
+    margin-right: 0rem;
+}
+
+.mr5 {
+    margin-right: 0.5rem;
+}
+
+.mr10 {
+    margin-right: 1rem;
+}
+
+.mr15 {
+    margin-right: 1.5rem;
+}
+
+.mr20 {
+    margin-right: 2rem;
+}
+
+.mr25 {
+    margin-right: 2.5rem;
+}
+
+.mr30 {
+    margin-right: 3rem;
+}
+
+.mr35 {
+    margin-right: 3.5rem;
+}
+
+.mr40 {
+    margin-right: 4rem;
+}
+
+.mr45 {
+    margin-right: 4.5rem;
+}
+
+.mr50 {
+    margin-right: 5rem;
+}
+
+.mr55 {
+    margin-right: 5.5rem;
+}
+
+.mr60 {
+    margin-right: 6rem;
+}
+
+.mr65 {
+    margin-right: 6.5rem;
+}
+
+.mr70 {
+    margin-right: 7rem;
+}
+
+.mr75 {
+    margin-right: 7.5rem;
+}
+
+.mr80 {
+    margin-right: 8rem;
+}
+
+.mr85 {
+    margin-right: 8.5rem;
+}
+
+.mr90 {
+    margin-right: 9rem;
+}
+
+.mr95 {
+    margin-right: 9.5rem;
+}
+
+.mr100 {
+    margin-right: 10rem;
+}
+
+/* 마진 - 위쪽 */
+.mt0 {
+    margin-top: 0rem;
+}
+
+.mt5 {
+    margin-top: 0.5rem;
+}
+
+.mt10 {
+    margin-top: 1rem;
+}
+
+.mt15 {
+    margin-top: 1.5rem;
+}
+
+.mt20 {
+    margin-top: 2rem;
+}
+
+.mt25 {
+    margin-top: 2.5rem;
+}
+
+.mt30 {
+    margin-top: 3rem;
+}
+
+.mt35 {
+    margin-top: 3.5rem;
+}
+
+.mt40 {
+    margin-top: 4rem;
+}
+
+.mt45 {
+    margin-top: 4.5rem;
+}
+
+.mt50 {
+    margin-top: 5rem;
+}
+
+.mt55 {
+    margin-top: 5.5rem;
+}
+
+.mt60 {
+    margin-top: 6rem;
+}
+
+.mt65 {
+    margin-top: 6.5rem;
+}
+
+.mt70 {
+    margin-top: 7rem;
+}
+
+.mt75 {
+    margin-top: 7.5rem;
+}
+
+.mt80 {
+    margin-top: 8rem;
+}
+
+.mt85 {
+    margin-top: 8.5rem;
+}
+
+.mt90 {
+    margin-top: 9rem;
+}
+
+.mt95 {
+    margin-top: 9.5rem;
+}
+
+.mt100 {
+    margin-top: 10rem;
+}
+
+/* 마진 - 아래쪽 */
+.mb0 {
+    margin-bottom: 0rem;
+}
+
+.mb5 {
+    margin-bottom: 0.5rem;
+}
+
+.mb10 {
+    margin-bottom: 1rem;
+}
+
+.mb15 {
+    margin-bottom: 1.5rem;
+}
+
+.mb20 {
+    margin-bottom: 2rem;
+}
+
+.mb25 {
+    margin-bottom: 2.5rem;
+}
+
+.mb30 {
+    margin-bottom: 3rem;
+}
+
+.mb35 {
+    margin-bottom: 3.5rem;
+}
+
+.mb40 {
+    margin-bottom: 4rem;
+}
+
+.mb45 {
+    margin-bottom: 4.5rem;
+}
+
+.mb50 {
+    margin-bottom: 5rem;
+}
+
+.mb55 {
+    margin-bottom: 5.5rem;
+}
+
+.mb60 {
+    margin-bottom: 6rem;
+}
+
+.mb65 {
+    margin-bottom: 6.5rem;
+}
+
+.mb70 {
+    margin-bottom: 7rem;
+}
+
+.mb75 {
+    margin-bottom: 7.5rem;
+}
+
+.mb80 {
+    margin-bottom: 8rem;
+}
+
+.mb85 {
+    margin-bottom: 8.5rem;
+}
+
+.mb90 {
+    margin-bottom: 9rem;
+}
+
+.mb95 {
+    margin-bottom: 9.5rem;
+}
+
+.mb100 {
+    margin-bottom: 10rem;
+}
+
+/* 패딩 - 전체 */
+.pd0 {
+    padding: 0rem;
+}
+
+.pd5 {
+    padding: 0.5rem;
+}
+
+.pd10 {
+    padding: 1rem;
+}
+
+.pd15 {
+    padding: 1.5rem;
+}
+
+.pd20 {
+    padding: 2rem;
+}
+
+.pd25 {
+    padding: 2.5rem;
+}
+
+.pd30 {
+    padding: 3rem;
+}
+
+.pd35 {
+    padding: 3.5rem;
+}
+
+.pd40 {
+    padding: 4rem;
+}
+
+.pd45 {
+    padding: 4.5rem;
+}
+
+.pd50 {
+    padding: 5rem;
+}
+
+.pd55 {
+    padding: 5.5rem;
+}
+
+.pd60 {
+    padding: 6rem;
+}
+
+.pd65 {
+    padding: 6.5rem;
+}
+
+.pd70 {
+    padding: 7rem;
+}
+
+.pd75 {
+    padding: 7.5rem;
+}
+
+.pd80 {
+    padding: 8rem;
+}
+
+.pd85 {
+    padding: 8.5rem;
+}
+
+.pd90 {
+    padding: 9rem;
+}
+
+.pd95 {
+    padding: 9.5rem;
+}
+
+.pd100 {
+    padding: 10rem;
+}
+
+/* 패딩 - 왼쪽 */
+.pl0 {
+    padding-left: 0rem;
+}
+
+.pl5 {
+    padding-left: 0.5rem;
+}
+
+.pl10 {
+    padding-left: 1rem;
+}
+
+.pl15 {
+    padding-left: 1.5rem;
+}
+
+.pl20 {
+    padding-left: 2rem;
+}
+
+.pl25 {
+    padding-left: 2.5rem;
+}
+
+.pl30 {
+    padding-left: 3rem;
+}
+
+.pl35 {
+    padding-left: 3.5rem;
+}
+
+.pl40 {
+    padding-left: 4rem;
+}
+
+.pl45 {
+    padding-left: 4.5rem;
+}
+
+.pl50 {
+    padding-left: 5rem;
+}
+
+.pl55 {
+    padding-left: 5.5rem;
+}
+
+.pl60 {
+    padding-left: 6rem;
+}
+
+.pl65 {
+    padding-left: 6.5rem;
+}
+
+.pl70 {
+    padding-left: 7rem;
+}
+
+.pl75 {
+    padding-left: 7.5rem;
+}
+
+.pl80 {
+    padding-left: 8rem;
+}
+
+.pl85 {
+    padding-left: 8.5rem;
+}
+
+.pl90 {
+    padding-left: 9rem;
+}
+
+.pl95 {
+    padding-left: 9.5rem;
+}
+
+.pl100 {
+    padding-left: 10rem;
+}
+
+/* 패딩 - 오른쪽 */
+.pr0 {
+    padding-right: 0rem;
+}
+
+.pr5 {
+    padding-right: 0.5rem;
+}
+
+.pr10 {
+    padding-right: 1rem;
+}
+
+.pr15 {
+    padding-right: 1.5rem;
+}
+
+.pr20 {
+    padding-right: 2rem;
+}
+
+.pr25 {
+    padding-right: 2.5rem;
+}
+
+.pr30 {
+    padding-right: 3rem;
+}
+
+.pr35 {
+    padding-right: 3.5rem;
+}
+
+.pr40 {
+    padding-right: 4rem;
+}
+
+.pr45 {
+    padding-right: 4.5rem;
+}
+
+.pr50 {
+    padding-right: 5rem;
+}
+
+.pr55 {
+    padding-right: 5.5rem;
+}
+
+.pr60 {
+    padding-right: 6rem;
+}
+
+.pr65 {
+    padding-right: 6.5rem;
+}
+
+.pr70 {
+    padding-right: 7rem;
+}
+
+.pr75 {
+    padding-right: 7.5rem;
+}
+
+.pr80 {
+    padding-right: 8rem;
+}
+
+.pr85 {
+    padding-right: 8.5rem;
+}
+
+.pr90 {
+    padding-right: 9rem;
+}
+
+.pr95 {
+    padding-right: 9.5rem;
+}
+
+.pr100 {
+    padding-right: 10rem;
+}
+
+/* 패딩 - 위쪽 */
+.pt0 {
+    padding-top: 0rem;
+}
+
+.pt5 {
+    padding-top: 0.5rem;
+}
+
+.pt10 {
+    padding-top: 1rem;
+}
+
+.pt15 {
+    padding-top: 1.5rem;
+}
+
+.pt20 {
+    padding-top: 2rem;
+}
+
+.pt25 {
+    padding-top: 2.5rem;
+}
+
+.pt30 {
+    padding-top: 3rem;
+}
+
+.pt35 {
+    padding-top: 3.5rem;
+}
+
+.pt40 {
+    padding-top: 4rem;
+}
+
+.pt45 {
+    padding-top: 4.5rem;
+}
+
+.pt50 {
+    padding-top: 5rem;
+}
+
+.pt55 {
+    padding-top: 5.5rem;
+}
+
+.pt60 {
+    padding-top: 6rem;
+}
+
+.pt65 {
+    padding-top: 6.5rem;
+}
+
+.pt70 {
+    padding-top: 7rem;
+}
+
+.pt75 {
+    padding-top: 7.5rem;
+}
+
+.pt80 {
+    padding-top: 8rem;
+}
+
+.pt85 {
+    padding-top: 8.5rem;
+}
+
+.pt90 {
+    padding-top: 9rem;
+}
+
+.pt95 {
+    padding-top: 9.5rem;
+}
+
+.pt100 {
+    padding-top: 10rem;
+}
+
+/* 패딩 - 아래쪽 */
+.pb0 {
+    padding-bottom: 0rem;
+}
+
+.pb5 {
+    padding-bottom: 0.5rem;
+}
+
+.pb10 {
+    padding-bottom: 1rem;
+}
+
+.pb15 {
+    padding-bottom: 1.5rem;
+}
+
+.pb20 {
+    padding-bottom: 2rem;
+}
+
+.pb25 {
+    padding-bottom: 2.5rem;
+}
+
+.pb30 {
+    padding-bottom: 3rem;
+}
+
+.pb35 {
+    padding-bottom: 3.5rem;
+}
+
+.pb40 {
+    padding-bottom: 4rem;
+}
+
+.pb45 {
+    padding-bottom: 4.5rem;
+}
+
+.pb50 {
+    padding-bottom: 5rem;
+}
+
+.pb55 {
+    padding-bottom: 5.5rem;
+}
+
+.pb60 {
+    padding-bottom: 6rem;
+}
+
+.pb65 {
+    padding-bottom: 6.5rem;
+}
+
+.pb70 {
+    padding-bottom: 7rem;
+}
+
+.pb75 {
+    padding-bottom: 7.5rem;
+}
+
+.pb80 {
+    padding-bottom: 8rem;
+}
+
+.pb85 {
+    padding-bottom: 8.5rem;
+}
+
+.pb90 {
+    padding-bottom: 9rem;
+}
+
+.pb95 {
+    padding-bottom: 9.5rem;
+}
+
+.pb100 {
+    padding-bottom: 10rem;
+}
+
+/* 너비 */
+.w1280 {
+    width: 1280px;
+    margin: 0 auto;
+}
+
+/* color */
+.pink {
+    color: var(--sky-red);
+}
+.orange {
+    color: var(--orange);
+}
+.red {
+    color: var(--red);
+}
+
+.green {
+    color: var(--green);
+}
+
+.blue {
+    color: var(--content-blue);
+}
+
+.white {
+    color: var(--white);
+}
+
+.gray {
+    color: var(--dark);
+}
+
+.dark-gray {
+    color: var(--gray-dark);
+}
+
+.black{
+    color: var(--black);
+}
+
+.background {
+    background-color: var(--background-white);
+}
+
+/* text 정렬 */
+.text-lf {
+    text-align: left;
+}
+
+.text-ct {
+    text-align: center;
+}
+
+.text-rg {
+    text-align: right;
+}
+
+
+/* 폰트 */
+.fw-bold {
+    font-weight: 700;
+}
+
+.point-font2 {
+    font-family: "GmarketSans-M";
+}
+
+
+/* 기타 공용 */
+.cursor {
+    cursor: pointer;
+}
+
+.border-none {
+    border: none;
+}
+
+.border {
+    border: 1px solid var(--dark);
+    border-radius: 0.5rem;
+}
+
+.border-t {
+    border-top: 1px solid var(--dark);
+}
+
+.border-b {
+    border-bottom: 1px solid var(--dark);
+}
+
+.border-r {
+    border-right: 1px solid var(--dark);
+}
+
+.shortcuts {
+    font-size: 1.4rem;
+    font-weight: normal;
+    color: var(--green);
+}
+
+.chart-wrap {
+    width: 100%;
+    height: 100%;
+    border: 1px solid var(--dark);
+    border-radius: 10px;
+}
+
+.overflow-y {
+    overflow-y: auto;
+}
+
+.overflow-x{
+    overflow-x: auto;
+}
+
+.block {
+    display: block;
+}
+
+.inline {
+    display: inline;
+}
+
+.inline-block {
+    display: inline-block;
+}
+
+.red-text {
+    color: var(--red);
+}
+
+.err-border {
+    border: 2px solid var(--red);
+}
+
+.radius {
+    border-radius: 1rem;
+}
+
+.relative {
+    position: relative;
+}
+
+.absolute {
+    position: absolute;
+}
+
+.ellipsis {
+    width: 100%;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+    overflow: hidden;
+}
+
+.line2-ellipsis {
+    width: 100%;
+    white-space: normal;
+    display: -webkit-box;
+    -webkit-line-clamp: 2;
+    -webkit-box-orient: vertical;
+    overflow: hidden;
+}
+
+.line3-ellipsis {
+    width: 100%;
+    white-space: normal;
+    display: -webkit-box;
+    -webkit-line-clamp: 3;
+    -webkit-box-orient: vertical;
+    overflow: hidden;
+}
+
+/* 키워드 */
+.keyword,
+.class-name {
+    width: 100%;
+    display: block;
+    padding: .5rem 1rem;
+    border-radius: 3px;
+    background: #eee;
+    color: #333;
+}
+
+.keyword-label:checked+label {
+    background: #d6e6ff;
+    color: #007aff;
+}
+
+.class-name {
+    background-color: #d6e6ff;
+    color: #007aff;
+}
+/* 상태 */
+.application-success {
+    background-color: var(--teal);
+    color: var(--green);
+    border-radius: .5rem;
+}
+
+.answer-success {
+    border: 1px solid var(--green);
+    color: var(--green);
+    border-radius: .5rem;
+}
+
+.application-fail {
+    background-color: var(--sky-red);
+    color: var(--danger);
+    border-radius: .5rem;
+}
+
+.success {
+    background-color: var(--green);
+    color: var(--white);
+    border-radius: .5rem;
+}
+
+.ing {
+    background-color: var(--skyblue);
+    color: var(--blue);
+    border-radius: .5rem;
+}
+
+.before {
+    background-color: var(--white);
+    color: var(--blue);
+    border: 1px solid var(--blue);
+    border-radius: .5rem;
+}(파일 끝에 줄바꿈 문자 없음)
 
client/resources/css/component.css (added)
+++ client/resources/css/component.css
@@ -0,0 +1,1464 @@
+@charset "utf-8";
+
+/* box */
+.content {
+    width: 100%;
+    height: 100%;
+    min-height: 100%;
+}
+
+.content-box {
+    height: calc(100% - 48px);
+}
+
+.box {
+    background-color: var(--white);
+    border-radius: 1rem;
+    box-shadow: 0 0 5px var(--light);
+}
+
+.box-content {
+    font-size: 4rem;
+    color: var(--blue);
+    font-family: "GmarketSans-B";
+}
+
+
+.banner-title {
+    font-size: 4rem;
+    font-weight: 700;
+}
+
+.main-title {
+    font-size: 3.6rem;
+    font-weight: 700;
+}
+
+.page-title {
+    font-size: 3.2rem;
+    font-weight: 700;
+}
+
+.admin-page-title {
+    font-size: 3.2rem;
+    font-weight: 700;
+    color: var(--content-blue);
+}
+
+.middle-title {
+    font-size: 2.1rem;
+    font-weight: 700;
+}
+
+.page-sub-title {
+    font-size: 2.5rem;
+    font-weight: 700;
+}
+
+.content-border-title {
+    font-size: 2rem;
+    font-weight: 700;
+    padding-bottom: 1rem;
+}
+
+
+.admin-sec-title {
+    font-size: 2rem;
+    font-weight: 700;
+    color: var(--blue);
+}
+
+.box-bold-title {
+    font-size: 2rem;
+    font-weight: 700;
+}
+
+.box-title {
+    font-size: 2rem;
+}
+
+.content-title2 {
+    font-size: 1.8rem;
+    font-weight: 700;
+}
+
+.content-sub-title {
+    font-size: 1.8rem;
+    font-weight: 400;
+}
+
+.default-text {
+    font-size: 1.7rem;
+    font-weight: 400;
+}
+
+.detail-bold {
+    font-size: 1.6rem;
+    font-weight: 700;
+}
+
+.detail-text {
+    font-size: 1.6rem;
+    font-weight: 400;
+}
+
+.small-text {
+    font-size: 1.5rem;
+}
+
+/* btn */
+.small-btn {
+    min-width: 120px;
+    max-width: 150px;
+    padding: 0.7rem 1rem;
+    border-radius: 0.5rem;
+    font-size: 1.5rem;
+}
+
+.large-btn {
+    width: 100%;
+    padding: 0.9rem 0;
+    border-radius: 0.5rem;
+    font-size: 1.4rem;
+    min-height: 4rem;
+}
+
+.icon-btn {
+    /* padding: 0.5rem; */
+    border-radius: 50%;
+    margin-left: 0.5rem;
+}
+
+.close-btn {
+    font-size: 1.6rem;
+    font-weight: 900;
+}
+
+.logout-btn {
+    padding: 0.5rem 1rem;
+    color: var(--dark);
+    position: relative;
+    font-size: 1.6rem;
+}
+
+.logout-btn::before {
+    content: "";
+    width: 1px;
+    height: 10px;
+    position: absolute;
+    top: 50%;
+    left: 0;
+    transform: translateY(-50%);
+    background-color: #aaa;
+}
+
+.comment-btn {
+    width: 100%;
+    height: 6.5rem;
+    max-height: 6.5rem
+}
+
+.upload-btn {
+    border: 1px solid var(--blue);
+    color: var(--blue);
+    background-color: var(--skyblue);
+    border-radius: .5rem;
+    font-size: 1.5rem;
+}
+
+.sky-blue-btn {
+    background-color: var(--skyblue);
+    color: var(--blue);
+    border: 1px solid var(--blue);
+}
+
+.blue-btn,
+.blue-border-btn:hover {
+    background-color: var(--content-blue);
+    color: var(--white);
+    transition: all 0.3s ease-in-out;
+}
+
+.red-btn,
+.red-border-btn:hover {
+    background-color: var(--red);
+    color: var(--white);
+    transition: all 0.3s ease-in-out;
+}
+
+.green-btn,
+.green-border-btn:hover {
+    background-color: var(--green);
+    color: var(--white);
+    transition: all 0.3s ease-in-out;
+}
+
+.black-btn,
+.black-border-btn:hover {
+    background-color: var(--black);
+    color: var(--white);
+    transition: all 0.3s ease-in-out;
+}
+
+.orange-btn,
+.orange-border-btn:hover {
+    background-color: var(--orange);
+    color: var(--white);
+    transition: all 0.3s ease-in-out;
+}
+
+.darkg-btn,
+.darkg-border-btn:hover {
+    background-color: var(--gray-dark);
+    color: var(--white);
+    transition: all 0.3s ease-in-out;
+}
+
+.gray-btn,
+.gray-border-btn:hover {
+    background-color: #eee;
+    color: #333;
+    transition: all 0.3s ease-in-out;
+}
+
+
+.blue-border-btn {
+    border: 1px solid var(--content-blue);
+    color: var(--blue);
+    background-color: var(--white);
+}
+
+.red-border-btn {
+    border: 1px solid var(--red);
+    color: var(--red);
+    background-color: var(--white);
+}
+
+.green-border-btn {
+    border: 1px solid var(--green);
+    color: var(--green);
+    background-color: var(--white);
+}
+
+.orange-border-btn {
+    border: 1px solid var(--orange);
+    color: var(--orange);
+    background-color: var(--white);
+}
+
+.darkg-border-btn {
+    border: 1px solid var(--gray-dark);
+    color: var(--gray-dark);
+    background-color: var(--white);
+}
+
+.gray-border-btn {
+    border: 1px solid #aaa;
+    color: #aaa;
+    background-color: var(--white);
+}
+
+.white-border-btn {
+    border: 1px solid var(--white);
+    color: var(--white);
+    background-color: transparent;
+}
+
+.tp-btn {
+    background-color: transparent;
+    width: 15px;
+    height: 15px;
+    margin-left: 10px;
+}
+
+button:disabled {
+    background-color: #eee;
+    color: #333;
+}
+
+.del-icon-btn {
+    width: 25px;
+    height: 25px;
+    padding: 5px;
+    background-color: var(--red);
+    color: var(--white);
+    border-radius: 50%;
+}
+
+.set-icon-btn {
+    width: 25px;
+    height: 25px;
+    padding: 5px;
+    background-color: var(--darkG);
+    color: var(--white);
+    border-radius: 50%;
+}
+
+.top-scroll {
+    width: 50px;
+    height: 50px;
+    line-height: 50px;
+    text-align: center;
+    position: fixed;
+    right: 2%;
+    bottom: 5%;
+    z-index: 2;
+    color: var(--white);
+    background-color: rgba(0, 0, 0, 0.5);
+    box-shadow: 0 0 5px #eee;
+}
+
+
+
+/* 모달 */
+.modal-wrapper {
+    background-color: rgba(0, 0, 0, 0.5);
+    position: fixed;
+    width: 100%;
+    height: 100%;
+    top: 0;
+    left: 0;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    z-index: 11000;
+}
+
+.modal-container {
+    background: #fff;
+    min-width: 500px;
+    max-width: 750px;
+    width: 50%;
+    min-height: 500px;
+    max-height: 95%;
+    /* height: 55%; */
+    border-radius: 5px;
+    display: grid;
+    grid-template-rows: auto 1fr auto;
+    padding: 20px;
+    box-sizing: border-box;
+}
+
+.modal-title {
+    width: 100%;
+    border-bottom: 1px solid var(--dark);
+    padding: 10px 0;
+}
+
+.modal-subtitle {
+    font-size: 1.3rem;
+    font-weight: 600;
+}
+
+.modal-content-monthly {
+    width: 100%;
+    padding: 20px 0;
+    overflow-y: auto;
+}
+
+.large-modal {
+    width: 90%;
+    max-width: 90%;
+    height: 90%;
+}
+
+.small-modal {
+    min-width: 200px;
+    min-height: 200px;
+    max-width: 450px;
+    height: auto;
+    max-height: 50%;
+}
+
+.medium-modal {
+    min-width: 450px;
+    min-height: 450px;
+    max-width: 700px;
+    height: 70%;
+    max-height: 70%;
+}
+
+.list-modal {
+    width: 80%;
+    height: 80%;
+}
+
+.alert-write {
+    font-size: 1.6rem;
+    line-height: 180%;
+}
+
+
+.modal-content-monthly::-webkit-scrollbar {
+    width: 10px;
+}
+
+.modal-content-monthly::-webkit-scrollbar-thumb {
+    background-color: #6b6b6b;
+    border-radius: 10px;
+    background-clip: padding-box;
+    border: 2px solid transparent;
+}
+
+.modal-content-monthly::-webkit-scrollbar-track {
+    background-color: #eee;
+    border-radius: 10px;
+    box-shadow: inset 0px 0px 5px white;
+}
+
+.modal-end {
+    width: 100%;
+}
+
+.alert-modal .modal-end button,
+.small-modal .modal-end button {
+    margin-left: 0;
+}
+
+.full-input,
+.full-select {
+    width: 100%;
+}
+
+.half-input,
+.half-select {
+    width: 50%;
+}
+
+
+/* table */
+.list-table {
+    border-top: 1px solid var(--black);
+    border-bottom: 1px solid var(--black);
+}
+
+.table-zone::-webkit-scrollbar {
+    display: block;
+}
+
+.fixed-table {
+    width: 150%;
+    /* border-collapse: separate; */
+}
+
+.fixed-table .sticky {
+    position: sticky;
+    z-index: 1;
+    background-color: var(--white);
+
+}
+
+.fixed-table th.sticky {
+    top: 0;
+    left: 0;
+}
+
+/* 
+.fixed-table .sticky.first-th{
+    z-index: 2;
+} */
+.fixed-table td.sticky {
+    left: 0;
+}
+
+/* 
+.fixed-table .sticky.second-th{
+    z-index: 1;
+} */
+
+.list-table .admin-list.list-table {
+    border-top: 1px solid var(--light);
+    border-bottom: 1px solid var(--light);
+}
+
+.list-table thead th {
+    background-color: var(--white);
+    padding: 10px 0;
+    font-size: 1.6rem;
+}
+
+.list-table tbody tr,
+.admin-list.list-table tbody tr,
+.form-table2 tr {
+    border-top: 1px solid var(--light);
+}
+
+.list-table tbody td,
+.admin-list.list-table tbody td {
+    font-size: 1.6rem;
+    padding: 10px 0;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+    overflow: hidden;
+}
+
+.list-table tr:hover {
+    background-color: var(--sky-red);
+}
+
+/* .list-table tbody tr:nth-child(even) {
+    background-color: var(--sky-green);
+
+} */
+
+.admin-list.list-table thead th {
+    background-color: var(--light);
+    padding: 10px 0;
+    font-family: "Pretendard-B";
+    font-size: 1.6rem;
+}
+
+.admin-list.list-table tbody tr:nth-child(even) {
+    background-color: var(--background-white);
+
+}
+
+.admin-style .form-table,
+.content-navigate {
+    border-top: 1px solid var(--gray-dark);
+    border-bottom: 1px solid var(--gray-dark);
+}
+
+.form-table {
+    border-top: 1px solid var(--dark);
+    border-bottom: 1px solid var(--dark);
+}
+
+
+.form-table th,
+.form-table td,
+.form-table2 th,
+.form-table2 td {
+    padding: 1rem;
+    font-size: 1.6rem;
+    position: relative;
+}
+
+.form-table-adm th {
+    background-color: var(--light);
+    border-right: 1px solid var(--white);
+}
+
+.admin-style .form-table2 th {
+    background-color: var(--light);
+    border-right: 1px solid var(--light);
+}
+
+.form-table-style .form-table {
+    border-top: none;
+    border-bottom: none;
+}
+
+.detail-table {
+    /* border-top: 1px solid var(--black); */
+    border-bottom: 1px solid var(--black);
+}
+
+.detail-title {
+    background-color: var(--white);
+    border-bottom: 1px solid var(--black);
+}
+
+/* .admin-detail {
+    border-top: 1px solid var(--black);
+    border-bottom: 1px solid var(--black);
+} */
+
+/* .admin-detail .detail-title {
+    background-color: var(--white);
+    border-bottom: 1px solid var(--black);
+} */
+
+.detail-title td {
+    padding: 2rem 1.5rem;
+}
+
+.detail-table-title {
+    font-size: 2.5rem;
+    font-weight: bold;
+}
+
+.complex-table th {
+    border: 1px solid var(--dark);
+}
+
+.content-navigate tr {
+    border-top: 1px solid var(--gray-dark);
+}
+
+.content-navigate tr td:nth-of-type(1) {
+    border-right: 1px solid var(--light);
+}
+
+.cmmn-table tr td:nth-of-type(2) {
+    text-align: left;
+    overflow: hidden;
+    white-space: nowrap;
+    text-overflow: ellipsis;
+    word-break: break-all;
+}
+
+.cmmn-table2 tr td:nth-of-type(2),
+.cmmn-table2 tr td:nth-of-type(3),
+.user-list tr td:nth-of-type(2),
+.user-list tr td:nth-of-type(3),
+.user-list tr td:nth-of-type(5) {
+    text-align: left;
+}
+
+/* 이용약관 */
+.terms-table,
+.terms-table th,
+.terms-table td,
+.privacy-table,
+.privacy-table th,
+.privacy-table td {
+    border: 1px solid var(--dark);
+    padding: 1rem;
+}
+
+.terms-table th,
+.privacy-table th {
+    background-color: var(--skyblue);
+    color: #0166F3;
+    text-align: center;
+}
+
+
+
+/* 파일찾기 및 필수 */
+
+.form-table label {
+    display: inline-block;
+    line-height: 2rem
+}
+
+.essential {
+    font-size: 1.3rem;
+}
+
+.essential span {
+    color: var(--red);
+}
+
+.form-table th span,
+.form-table-style .form-table label.form-title,
+.form-table label.form-title,
+.form-table p.form-title,
+.form-table span.form-title {
+    position: relative;
+    font-weight: 700;
+}
+
+.form-table th span::after,
+.form-table-style .form-table label.form-title::after,
+.form-table label.form-title::after,
+.form-table span.form-title::after {
+    content: "*";
+    color: var(--red);
+    position: absolute;
+    top: 0;
+    right: 0;
+    transform: translate(100%, -50%);
+}
+
+.form-table input[type="file"] {
+    position: absolute;
+    width: 0;
+    height: 0;
+    padding: 0;
+    overflow: hidden;
+    border: 0;
+}
+
+.filebox {
+    height: 4rem;
+}
+
+.filebox .upload-name {
+    display: inline-block;
+    padding: 0.7rem 1rem;
+    vertical-align: middle;
+    border: 1px solid #dddddd;
+    color: #999999;
+}
+
+
+/*파일컴포넌트  */
+.drag-drop {
+    border: 1px dashed var(--gray);
+    background-color: var(--background-white);
+    border-radius: 0.5rem;
+    transition: border-color 0.3s;
+    padding: 30px;
+}
+
+.drag-drop.dragging {
+    border-color: var(--primary);
+    background-color: var(--sky-ble);
+}
+
+.file {
+    border: 1px solid var(--gray);
+    border-radius: 0.3rem;
+}
+
+.filename {
+    font-weight: bold;
+    margin-right: 10px;
+}
+
+.sample-proof,
+.sample-registration {
+    position: relative;
+}
+
+.sample-proof::after {
+    content: '';
+    position: absolute;
+    width: 3.5rem;
+    height: 3.5rem;
+    border: .5rem solid var(--blue);
+    border-radius: 50%;
+    top: 50%;
+    left: 50%;
+    transform: translate(-50%, -50%);
+}
+
+.sample-registration::after {
+    content: "\00d7";
+    position: absolute;
+    top: 50%;
+    left: 50%;
+    transform: translate(-50%, -50%);
+    color: var(--red);
+    font-size: 7rem;
+    height: 3.5rem;
+    line-height: 2.5rem;
+}
+
+.inset-0 {
+    top: 0;
+    right: 0;
+    bottom: 0;
+    left: 0;
+}
+
+.opacity-0 {
+    opacity: 0;
+}
+
+.cursor-pointer {
+    cursor: pointer;
+}
+
+/* 트리 */
+
+.p-tree {
+    padding: 0.5rem 1rem;
+}
+
+.node-name {
+    width: 100%;
+    font-size: 1.6rem;
+    overflow: hidden;
+    white-space: nowrap;
+    text-overflow: ellipsis;
+    word-break: break-all;
+}
+
+.selected {
+    border: 1px solid var(--blue);
+    border-radius: 0.3rem;
+}
+
+
+.ghost {
+    height: 15px;
+    color: transparent;
+    border: 1px dashed var(--blue);
+}
+
+.ghost * {
+    display: none;
+}
+
+
+/* 서치 */
+.search-bar {
+    position: relative;
+}
+
+.search-input::placeholder {
+    font-family: "yungju";
+}
+
+.search-bar input,
+.search-bar select,
+.search-bar button {
+    border-radius: 3rem;
+}
+
+.search-button {
+    position: absolute;
+    top: 50%;
+    right: 1rem;
+    transform: translateY(-50%);
+}
+
+.search-icon {
+    color: var(--light);
+}
+
+/* 모듈별 서브타이을 */
+.modal-sub-title::before {
+    content: "";
+    position: absolute;
+    top: 50%;
+    left: 0;
+    transform: translateY(-50%);
+    width: 0.5rem;
+    height: 80%;
+    background-color: var(--blue);
+}
+
+/*PAGINATION*/
+
+.pagination-button-type {
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    font-size: 1.3rem;
+}
+
+.pagination-button-type a {
+    display: block;
+    width: 3.5rem;
+    height: 3.5rem;
+    text-align: center;
+    cursor: pointer;
+    padding: 0.7rem;
+    border-radius: 0.5rem;
+    margin-right: 0.5rem;
+}
+
+/* admin pagination */
+.admin-pagination .pagination-button-type a.active {
+    background-color: var(--skyblue);
+    color: var(--blue);
+    cursor: default !important;
+}
+
+/* user pagination */
+.pagination-button-type a.prev:after {
+    content: "\003C";
+    font-weight: 900;
+
+}
+
+.pagination-button-type a.next:after {
+    content: "\003E";
+    font-weight: 900;
+}
+
+.pagination-button-type a.first-page:after {
+    content: "\003C\003C";
+    font-weight: 900;
+
+}
+
+.pagination-button-type a.end-page:after {
+    content: "\003E\003E";
+    font-weight: 900;
+
+}
+
+.pagination-button-type a.active {
+    background-color: var(--green);
+    color: white;
+    cursor: default !important;
+}
+
+
+
+/* 페이지 템플릿 */
+
+.pin-gall-item {
+    background-color: #f6f6f6;
+}
+
+.gall-item {
+    border: 1px solid #eee;
+    border-radius: 2rem 0 0 0;
+    height: 440px;
+}
+
+.edu-item {
+    height: 402px;
+}
+
+.gall-item:hover {
+    background-color: var(--sky-red);
+    border: 1px solid var(--pink);
+}
+
+.gall-img {
+    width: 100%;
+    height: 220px
+}
+
+.gall-img>img {
+    width: 100%;
+    height: 100%;
+    object-fit: cover;
+    border-radius: 1rem;
+}
+
+.pin-gall-item .gall-img {
+    height: 300px;
+}
+
+.subvod {
+    position: relative;
+}
+
+.master{
+    background-color: var(--black);
+    color: var(--white);
+    position: absolute;
+    right: 0;
+    bottom: 0;
+    padding: .5rem 1.5rem;
+    border-radius: 3rem;
+    transform: translateY(50%);
+    border: 2px solid var(--white);
+
+}
+
+.subvod::after {
+    content: '';
+    position: absolute;
+    top: 50%;
+    left: 50%;
+    width: 0;
+    height: 0;
+    border-left: 20px solid var(--red);
+    border-top: 12px solid transparent;
+    border-bottom: 12px solid transparent;
+    transform: translate(-50%, -50%);
+}
+
+/* .pin-gall-item .gall-img::before{
+    position: absolute;
+    top: 0;
+    left: 0;
+    content: " ";
+    width: 0;
+    height: 0;
+    border-bottom: 5rem solid transparent;
+    border-top: 5rem solid var(--background-white);
+    border-left: 5rem solid var(--background-white);
+    border-right: 5rem solid transparent;
+}
+
+.pin-gall-item .gall-img::after{
+    position: absolute;
+    bottom: 0;
+    right: 0;
+    content: " ";
+    width: 0;
+    height: 0;
+    border-bottom: 5rem solid var(--background-white);
+    border-top: 5rem solid transparent;
+    border-left: 5rem solid transparent;
+    border-right: 5rem solid var(--background-white);
+} */
+
+.gall-detail {
+    height: 67.5px;
+}
+
+
+.video-zone,
+.gall-zone {
+    width: 830px;
+    margin: 0 auto;
+    margin-bottom: 3rem;
+}
+
+.gall-slide {
+    width: 100%;
+    height: 65rem;
+    margin: 0 auto;
+}
+
+.gall-slide>img {
+    width: 100%;
+    height: 100%;
+    object-fit: cover;
+}
+
+.download-item {
+    background-color: var(--white);
+}
+/* 
+
+.gall-zone .swiper {
+    width: 100%;
+    height: 100%;
+}
+
+
+.gall-zone .swiper-slide img {
+    display: block;
+    width: 100%;
+    height: 100%;
+    object-fit: cover;
+}
+
+.gall-zone .swiper {
+    width: 100%;
+    height: 300px;
+    margin-left: auto;
+    margin-right: auto;
+}
+
+.gall-zone .swiper-slide {
+    background-size: cover;
+    background-position: center;
+}
+
+.gallerySwiper {
+    width: 100%;
+    height: 80%;
+}
+
+.gallerySwiper2 {
+    height: 20%;
+    box-sizing: border-box;
+    padding: 10px 0;
+}
+
+.gallerySwiper2 .swiper-slide {
+    width: 25%;
+    height: 100%;
+    opacity: 0.4;
+}
+
+.gallerySwiper2 .swiper-slide-thumb-active {
+    opacity: 1;
+}
+
+.swiper-slide img {
+    display: block;
+    width: 100%;
+    height: 100%;
+    object-fit: cover;
+} */
+
+.faq-item {
+    border-top: 1px solid var(--dark);
+}
+
+.faq-item .faq-question::before {
+    content: 'Q';
+    display: inline-block;
+    width: 3.5rem;
+    height: 3.5rem;
+    border-radius: 50%;
+    text-align: center;
+    line-height: 35px;
+    font-size: 2rem;
+    background-color: var(--black);
+    color: var(--white);
+    margin-right: 1rem;
+}
+
+.edu-list-item .edu-user-list::after,
+.faq-item .faq-question::after {
+    content: '+';
+    width: 3.5rem;
+    height: 3.5rem;
+    position: absolute;
+    right: 1rem;
+    top: 50%;
+    transform: translateY(-50%);
+    display: inline-block;
+    text-align: center;
+    line-height: 30px;
+    font-size: 3rem;
+    color: var(--black);
+}
+
+.edu-list-item[open] .edu-user-list::after,
+.faq-item[open] .faq-question::after {
+    content: '-';
+    width: 3.5rem;
+    height: 3.5rem;
+    position: absolute;
+    right: 1rem;
+    top: 50%;
+    transform: translateY(-50%);
+    display: inline-block;
+    text-align: center;
+    line-height: 30px;
+    font-size: 3rem;
+    color: var(--black);
+}
+
+.faq-content {
+    background-color: var(--background-white);
+}
+
+.faq-content::before {
+    content: 'A';
+    display: inline-block;
+    width: 3.5rem;
+    height: 3.5rem;
+    border-radius: 50%;
+    text-align: center;
+    line-height: 35px;
+    font-size: 2rem;
+    background-color: var(--white);
+    color: var(--black);
+    border: 1px solid var(--black);
+    margin-right: 1rem;
+}
+
+.gall-slide .swiper {
+    width: 100%;
+    height: 100%;
+}
+
+.gall-slide .swiper-slide {
+    text-align: center;
+    font-size: 18px;
+    background: #fff;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+}
+
+.gall-slide .swiper {
+    width: 100%;
+    height: 300px;
+    margin-left: auto;
+    margin-right: auto;
+}
+
+.gall-slide .swiper-slide {
+    background-size: cover;
+    background-position: center;
+}
+
+.gall-slide .gallerySwiper {
+    height: 80%;
+    width: 100%;
+}
+
+.gall-slide .gallerySwiper2 {
+    height: 20%;
+    box-sizing: border-box;
+    padding: 10px 0;
+}
+
+.gall-slide .gallerySwiper2 .swiper-slide {
+    width: 25%;
+    height: 100%;
+    opacity: 0.4;
+}
+
+.gall-slide .gallerySwiper2 .swiper-slide-thumb-active {
+    opacity: 1;
+}
+
+.gall-slide .swiper-slide img {
+    display: block;
+    width: 100%;
+    height: 100%;
+    object-fit: cover;
+}
+
+.pin-notice {
+    background-color: var(--skyblue);
+    height: 85px;
+}
+
+
+
+
+/* 댓글 */
+.comment-zone {
+    background-color: var(--skyblue)
+}
+
+.comment-item {
+    padding: 8px;
+    padding-left: 8px;
+    background-color: var(--white);
+    border-top: 1px solid #ddd;
+}
+
+
+.parents-nodes {
+    padding-left: 8px;
+}
+
+.children-nodes {
+    padding-left: 8px;
+}
+
+.comment-user,
+.comment-text {
+    font-size: 1.3rem;
+}
+
+.comment-date {
+    color: var(--gray);
+    font-size: 1.2;
+}
+
+.reply-zone {
+    position: relative;
+    margin-bottom: 10px;
+}
+
+.reply-input {
+    border-radius: 50px;
+}
+
+.reply-btn {
+    position: absolute;
+    border-radius: 50px;
+    top: 50%;
+    right: 6px;
+    transform: translateY(-50%);
+}
+
+.quick-btn {
+    border: 1px solid var(--white);
+    border-radius: 3rem;
+
+}
+
+/* 팝업 */
+.popup-wrap {
+    height: 100vh;
+}
+
+.popup-container {
+    width: 100%;
+    height: calc(100vh - 44px);
+}
+
+.popup-container {
+    background: #fff;
+    border-radius: 5px;
+}
+
+.popup-container .img-link {
+    display: block;
+    width: 100%;
+    height: 100%;
+}
+
+.iframe-container {
+    position: relative;
+    width: 100%;
+    padding-bottom: 56.25%;
+    /* 16:9 */
+}
+
+
+.content-area>iframe {
+    width: 100%;
+    height: 100%;
+}
+
+.iframe-container iframe {
+    position: absolute;
+    top: 0;
+    left: 0;
+    width: 100%;
+    height: 100%;
+}
+
+.popup-img{
+    width: 100%;
+    height: 100%;
+    object-fit: contain;
+}
+
+/* navigation-bar */
+.navigation-wrap {
+    box-shadow: 0 0 0.5rem var(--light);
+}
+
+.admin-navigation {
+    border-bottom: 1px solid var(--dark);
+}
+
+.admin-navigation .w1280 {
+    width: 100%;
+}
+
+.navigation-bar {
+    font-size: 1.5rem;
+}
+
+/* progress */
+.progress-bar {
+    width: 100%;
+    position: relative;
+    height: 10rem;
+}
+
+.progress-line::before {
+    position: absolute;
+    content: '';
+    width: 85%;
+    height: 3px;
+    background-color: #eee;
+    top: 23%;
+    left: 50%;
+    transform: translateX(-50%);
+}
+
+.status-info {
+    width: 15%;
+}
+
+.circle {
+    position: absolute;
+    content: '';
+    width: 100%;
+    top: 50%;
+    left: 0;
+    transform: translateY(-50%);
+    z-index: 2;
+}
+
+.status-type {
+    width: 3.5rem;
+    height: 3.5rem;
+    border-radius: 3.5rem;
+    background-color: #c6c6c6;
+    margin: 0 auto;
+    margin-bottom: 1rem;
+}
+
+.status-type.active {
+    width: 4.8rem;
+    height: 4.8rem;
+    border-radius: 2.7rem;
+    background-color: #fff;
+    border: 1.2rem solid #246beb;
+}
+
+.info-text p {
+    font-size: 1.5rem;
+    text-align: center;
+}
+
+.info-text p:nth-of-type(2) {
+    font-size: 1.7rem;
+}
+
+.info-text.active p:nth-of-type(2) {
+    color: #246beb;
+    font-weight: 700;
+}
+
+
+/* 알람 */
+.user-alarm,
+.mobile-alarm,
+.admin-alarm {
+    position: relative;
+    font-size: 2rem;
+}
+
+.user-alarm>span.alarm-number,
+.mobile-alarm>span.alarm-number,
+.admin-alarm>span.alarm-number {
+    font-size: 1.2rem;
+}
+
+.user-alarm span.alarm-number,
+.mobile-alarm span.alarm-number,
+.admin-alarm span.alarm-number {
+    position: absolute;
+    color: var(--sky-red);
+    background-color: var(--red);
+    top: 0;
+    right: 0;
+    transform: translate(-20%, 15%);
+    border-radius: 50%;
+    display: inline-block;
+    width: 2rem;
+    height: 2rem;
+    line-height: 2rem;
+    text-align: center;
+}
+
+.admin-alarm span.alarm-number {
+    color: var(--sky-red);
+    background-color: var(--red);
+}
+
+.alarm-modal {
+    background: var(--white);
+    position: fixed;
+    width: 25%;
+    height: 100vh;
+    right: 0;
+    top: 0;
+    z-index: 3;
+}
+
+.alarm-modal2 {
+    background: var(--white);
+    position: absolute;
+    width: 30%;
+    height: 500px;
+    right: 0;
+    bottom: 0;
+    transform: translateY(100%);
+    z-index: 3;
+}
+
+.alarm-item {
+    background-color: var(--sky-green);
+    border: 1px solid var(--deep-green);
+    border-radius: .5rem;
+}
+
+.alarm-itmcon {
+    background-color: var(--deep-green);
+    color: var(--white);
+    border-radius: 3rem;
+}
+
+
+.admin-alarm-modal .alarm-item {
+    background-color: var(--skyblue);
+    border: 1px solid var(--navy);
+    border-radius: .5rem;
+}
+
+.admin-alarm-modal .alarm-itmcon {
+    background-color: var(--navy);
+    color: var(--white);
+    border-radius: 3rem;
+}
+
+.company-search {
+    position: relative;
+}
+
+.company-search>button {
+    position: absolute;
+    top: 50%;
+    right: 1rem;
+    transform: translateY(-50%);
+}(파일 끝에 줄바꿈 문자 없음)
 
client/resources/css/grid.css (added)
+++ client/resources/css/grid.css
@@ -0,0 +1,256 @@
+@charset "utf-8";
+
+.container {
+    width: 100%;
+    padding-right: 15px;
+    padding-left: 15px;
+    margin-right: auto;
+    margin-left: auto;
+}
+
+@media (min-width: 576px) {
+    .container {
+        max-width: 540px;
+    }
+}
+
+@media (min-width: 768px) {
+    .container {
+        max-width: 720px;
+    }
+}
+
+@media (min-width: 992px) {
+    .container {
+        max-width: 960px;
+    }
+}
+
+@media (min-width: 1200px) {
+    .container {
+        max-width: 1140px;
+    }
+}
+
+
+.flex {
+    display: flex;
+    flex-wrap: wrap;
+}
+
+.flex-column {
+    display: flex;
+    flex-direction: column;
+}
+
+.no-gutters {
+    margin-right: 0;
+    margin-left: 0;
+}
+
+
+.no-gutters>.gd,
+.no-gutters>[class*="gd-"] {
+    padding-right: 0;
+    padding-left: 0;
+}
+
+.gd-1,
+.gd-2,
+.gd-3,
+.gd-4,
+.gd-5,
+.gd-6,
+.gd-7,
+.gd-8,
+.gd-9,
+.gd-10,
+.gd-11,
+.gd-12,
+.gd,
+.gd-auto,
+.gd-sm-1,
+.gd-sm-2,
+.gd-sm-3,
+.gd-sm-4,
+.gd-sm-5,
+.gd-sm-6,
+.gd-sm-7,
+.gd-sm-8,
+.gd-sm-9,
+.gd-sm-10,
+.gd-sm-11,
+.gd-sm-12,
+.gd-sm,
+.gd-sm-auto,
+.gd-md-1,
+.gd-md-2,
+.gd-md-3,
+.gd-md-4,
+.gd-md-5,
+.gd-md-6,
+.gd-md-7,
+.gd-md-8,
+.gd-md-9,
+.gd-md-10,
+.gd-md-11,
+.gd-md-12,
+.gd-md,
+.gd-md-auto,
+.gd-lg-1,
+.gd-lg-2,
+.gd-lg-3,
+.gd-lg-4,
+.gd-lg-5,
+.gd-lg-6,
+.gd-lg-7,
+.gd-lg-8,
+.gd-lg-9,
+.gd-lg-10,
+.gd-lg-11,
+.gd-lg-12,
+.gd-lg,
+.gd-lg-auto,
+.gd-xl-1,
+.gd-xl-2,
+.gd-xl-3,
+.gd-xl-4,
+.gd-xl-5,
+.gd-xl-6,
+.gd-xl-7,
+.gd-xl-8,
+.gd-xl-9,
+.gd-xl-10,
+.gd-xl-11,
+.gd-xl-12,
+.gd-xl,
+.gd-xl-auto {
+    position: relative;
+    width: 100%;
+    min-height: 1px;
+    padding-right: 10px;
+    padding-left: 10px;
+}
+
+
+.gd {
+    -ms-flex-preferred-size: 0;
+    flex-basis: 0;
+    -ms-flex-positive: 1;
+    flex-grow: 1;
+    max-width: 100%;
+}
+
+.gd-auto {
+    -ms-flex: 0 0 auto;
+    flex: 0 0 auto;
+    width: auto;
+    max-width: none;
+}
+
+.gd-1 {
+    -ms-flex: 0 0 8.333333%;
+    flex: 0 0 8.333333%;
+    max-width: 8.333333%;
+}
+
+.gd-2 {
+    -ms-flex: 0 0 16.666667%;
+    flex: 0 0 16.666667%;
+    max-width: 16.666667%;
+}
+
+.gd-3 {
+    -ms-flex: 0 0 25%;
+    flex: 0 0 25%;
+    max-width: 25%;
+}
+
+.gd-4 {
+    -ms-flex: 0 0 33.333333%;
+    flex: 0 0 33.333333%;
+    max-width: 33.333333%;
+}
+
+.gd-5 {
+    -ms-flex: 0 0 41.666667%;
+    flex: 0 0 41.666667%;
+    max-width: 41.666667%;
+}
+
+.gd-6 {
+    -ms-flex: 0 0 50%;
+    flex: 0 0 50%;
+    max-width: 50%;
+}
+
+.gd-7 {
+    -ms-flex: 0 0 58.333333%;
+    flex: 0 0 58.333333%;
+    max-width: 58.333333%;
+}
+
+.gd-8 {
+    -ms-flex: 0 0 66.666667%;
+    flex: 0 0 66.666667%;
+    max-width: 66.666667%;
+}
+
+.gd-9 {
+    -ms-flex: 0 0 75%;
+    flex: 0 0 75%;
+    max-width: 75%;
+}
+
+.gd-10 {
+    -ms-flex: 0 0 83.333333%;
+    flex: 0 0 83.333333%;
+    max-width: 83.333333%;
+}
+
+.gd-11 {
+    -ms-flex: 0 0 91.666667%;
+    flex: 0 0 91.666667%;
+    max-width: 91.666667%;
+}
+
+.gd-12 {
+    -ms-flex: 0 0 100%;
+    flex: 0 0 100%;
+    max-width: 100%;
+}
+
+
+
+.justify-start {
+    justify-content: flex-start;
+}
+
+.justify-center {
+    justify-content: center;
+}
+
+.justify-end {
+    justify-content: flex-end;
+}
+
+.justify-between {
+    justify-content: space-between;
+}
+
+.justify-around {
+    justify-content: space-around;
+}
+
+.align-start {
+    align-items: flex-start;
+}
+
+
+.align-center {
+    align-items: center;
+}
+
+.align-end {
+    align-items: flex-end;
+}
 
client/resources/css/layout.css (added)
+++ client/resources/css/layout.css
@@ -0,0 +1,409 @@
+@charset "utf-8";
+
+/* 관리자 */
+.admin-wrap {
+    display: grid;
+    grid-template-columns: 260px minmax(1020px, 1fr);
+    grid-template-rows: 66px minmax(527px, auto);
+    grid-template-areas:
+        "header header "
+        "nav  main  ";
+    height: 100%;
+    font-size: 1.7rem;
+    /* min-height: 100vh; */
+}
+
+.admin-wrap header {
+    background-color: var(--gray-dark);
+    grid-area: header;
+    /* position: relative;
+    z-index: 1; */
+}
+
+.admin-wrap header * {
+    color: var(--white);
+}
+
+.admin-wrap header .logo {
+    font-size: 2.4rem;
+    font-weight: bold;
+}
+
+.admin-wrap header nav .admin-main-menu li {
+    font-size: 1.6rem;
+    padding: .5rem 2rem;
+}
+
+.admin-wrap header nav .admin-main-menu li.main-active {
+    background-color: #292929;
+    border-radius: 5rem;
+}
+
+.admin-wrap .admin-sub-menu {
+    /* position: fixed;
+    width: 260px;
+    padding-top: 96px;
+    z-index: 0; */
+    height: 100%;
+    background-color: var(--secondary);
+    box-shadow: 5px 0 5px var(--light);
+    grid-area: nav;
+}
+
+.side-menu {
+    border-top: 0.5px solid var(--gray);
+    height: calc(100% - 178px);
+    overflow: auto;
+}
+
+.side-menu::-webkit-scrollbar {
+    display: block;
+}
+
+.side-menu li.sub-active {
+    background-color: var(--blue);
+}
+
+.side-menu li.sub-active a,
+.side-menu li.sub-active span {
+    color: var(--white);
+}
+
+.side-menu li a,
+.side-menu li span {
+    display: block;
+    width: 100%;
+    font-size: 1.6rem;
+    position: relative;
+    padding-left: 1.5rem;
+}
+
+.side-menu li a::after,
+.side-menu li span::after {
+    content: "";
+    position: absolute;
+    width: 5px;
+    height: 5px;
+    border-radius: 5px;
+    top: 50%;
+    left: 0;
+    transform: translateY(-50%);
+    background-color: var(--gray-dark);
+}
+
+.side-menu li.sub-active a::after,
+.side-menu li.sub-active span::after {
+    background-color: var(--white);
+}
+
+
+.admin-wrap .main-warp {
+    grid-area: main;
+}
+
+.admin-wrap .main-warp>div.router-wrap {
+    height: calc(100% - 44px);
+    padding: 3rem;
+}
+
+/* 사용자 */
+#skip {
+    position: fixed;
+    left: 0;
+    top: 0;
+    z-index: 300;
+}
+
+#skip>a {
+    white-space: nowrap;
+    display: inline-block;
+    position: absolute;
+    left: 0;
+    top: -5rem;
+    padding: .5rem 1rem;
+    font-size: 1.4rem;
+    color: #fff;
+    background-color: #000;
+    box-shadow: .4rem .4rem .3rem rgba(0, 0, 0, .02);
+}
+
+#skip>a:focus{
+    top: 0;
+}
+
+.user-wrap {
+    width: 100%;
+    height: 100%;
+    display: flex;
+    flex-direction: column;
+    font-size: 1.7rem;
+}
+
+.user-wrap header {
+    width: 100%;
+    position: fixed;
+    top: 0;
+    left: 0;
+    height: 88.5px;
+    z-index: 100;
+
+}
+
+.logo img{
+    width: 92px;
+}
+
+.search-wrap {
+    position: absolute;
+    width: 100%;
+    bottom: 0;
+    left: 0;
+    transform: translateY(100%);
+    background-color: rgba(0, 0, 0, 0.8);
+    z-index: 3;
+}
+
+.search-wrap input[type="text"] {
+    border-radius: 50px;
+    background-color: transparent;
+    border: 1px solid var(--white)
+}
+
+.user-wrap header.fixed {
+    background-color: rgba(0, 0, 0, 0.8);
+}
+
+.tnb-zone {
+    position: absolute;
+    right: 0;
+}
+
+.small-logo {
+    font-size: 1.7rem;
+    font-weight: 700;
+}
+
+.user-info a,
+.user-info p,
+.user-info button {
+    color: var(--white);
+    font-size: 1.5rem;
+}
+
+.user-info a:nth-of-type(1)::after,
+.user-info p:nth-of-type(2)::after {
+    content: '';
+    position: absolute;
+    width: 0.1rem;
+    height: 12px;
+    top: 50%;
+    right: 0;
+    transform: translateY(-50%);
+    background-color: var(--white);
+}
+
+.main-menu>li>a,
+.main-menu>li>p {
+    display: block;
+    font-size: 2rem;
+    text-align: center;
+    color: var(--white);
+    min-width: 13rem;
+}
+
+.main-menu>li.active>a,
+.main-menu>li.active>p {
+    border-bottom: 2px solid var(--blue);
+    color: var(--blue);
+    font-weight: 700;
+}
+
+ul.sub-menu li a.sub-active{
+    color: var(--blue);
+    font-weight: 700;
+}
+
+
+.main-menu>li:hover>a,
+.main-menu>li:hover>p {
+    color: var(--blue);
+}
+
+.main-menu>li:hover~header,
+.main-menu>li:hover~header {
+    background-color: var(--black);
+}
+
+.main-menu .sub-menu {
+    width: 100%;
+    height: 0;
+    position: absolute;
+    overflow: hidden;
+    z-index: 2;
+    opacity: 0;
+    left: 0;
+    bottom: 0;
+    transform: translateY(100%);
+}
+
+.main-menu .sub-menu li>a,
+.main-menu .sub-menu li>p {
+    display: block;
+    width: 100%;
+    padding: 1rem;
+    font-size: 1.8rem;
+    text-align: center;
+    color: var(--white);
+}
+
+.main-menu .sub-menu.show {
+    opacity: 1;
+    transition: all 0.6s ease-in-out;
+    overflow: visible;
+    height: auto;
+}
+
+.main-menu .sub-sub-menu>li>a {
+    display: block;
+    width: 100%;
+    font-size: 1.6rem;
+    text-align: center;
+}
+
+/* 모바일메뉴 */
+/* 기본 스타일 설정 */
+.mobile-menu {
+    position: fixed;
+    top: 0;
+    right: 0;
+    width: 100%;
+    height: 100%;
+    background-color: black;
+    color: white;
+    overflow-y: auto;
+    transform: translateX(100%);
+    transition: transform 0.3s ease-in-out;
+    z-index: 1000;
+}
+
+.mobile-menu.show {
+    transform: translateX(0);
+}
+
+.mobile-menu li {
+    cursor: pointer;
+    position: relative;
+}
+
+.mobile-menu li p,
+.mobile-menu li a {
+    padding: 1rem;
+    font-size: 2rem;
+}
+
+.mobile-menu li.active {
+    background-color: var(--blue);
+}
+
+/* 하위 메뉴 스타일 수정 */
+.mobile-menu .sub-menu {
+    position: static;
+    max-height: 0;
+    overflow: hidden;
+    transition: max-height 0.3s ease-in-out;
+    padding-left: 20px;
+    background-color: #292929;
+}
+
+.mobile-menu .sub-menu.show {
+    max-height: 500px;
+    /* 적절한 최대 높이로 설정 */
+}
+
+.mobile button {
+    color: white;
+    border: none;
+    cursor: pointer;
+}
+
+
+.close-button button {
+    color: white;
+    border: none;
+    padding: 10px;
+    cursor: pointer;
+}
+
+/* 
+.user-wrap nav ul.main-menu li{
+    position: relative;
+}
+.user-wrap ul.main-menu > li{
+    padding: 2rem 3.5rem;
+}
+.user-wrap ul.main-menu > li > a,
+.user-wrap ul.main-menu > li > p{
+    display: block;
+    font-size: 1.8rem;
+    font-family: "yungju";
+
+}
+
+.user-wrap ul.main-menu > li > p.active {
+   border-bottom: 3px solid var(--green);
+   color: var(--green);
+}
+
+
+.user-wrap nav ul.sub-menu {
+    overflow: hidden;
+    position: absolute;
+    width: 100%;
+    background-color: #fff;
+    z-index: 4;
+    bottom: -2px;
+    left: 0;
+    transform: translateY(100%);
+    transition: max-height 1.8s ease-in-out, opacity 0.5s ease-in-out;
+}
+
+.user-wrap nav ul.sub-menu li a {
+    display: block;
+    text-align: center;
+    font-size: 1.6rem;
+    padding: 5px 0;
+} */
+
+.nav-bg {
+    overflow: hidden;
+    background-color: rgba(0, 0, 0, 0.8);
+    /* border-bottom: 1px solid var(--sky-green); */
+    position: absolute;
+    top: 88.5px;
+    left: 0;
+    width: 100%;
+    z-index: 1;
+    transition: height 0.6s ease-in-out;
+}
+
+/* 메인 */
+
+.user-wrap .main-warp {
+    flex: 1;
+}
+
+.page {
+    width: 100%;
+    height: 100vh;
+}
+
+
+/* footer */
+footer {
+    width: 100%;
+    background-color: var(--black);
+}
+
+.ft-logo {
+    width: 200px;
+}(파일 끝에 줄바꿈 문자 없음)
 
client/resources/css/reset.css (added)
+++ client/resources/css/reset.css
@@ -0,0 +1,302 @@
+@charset "utf-8";
+
+:root {
+    --table-blue: #0055ec;
+    /* 블랙 배경의 명암비 */
+    --blue: #007aff;
+    --skyblue: #eaf4ff;
+    /* 흰색 배경의 명암비 */
+    --content-blue: #0470F7;
+    --indigo: #6610f2;
+    --purple: #6f42c1;
+    --pink: #ff8fa1;
+    --sky-red: #fff9fa;
+    --red: #dc3545;
+    --orange: #fd7e14;
+    --yellow: #ffc107;
+    --green: #009944;
+    --teal: #d7e9df;
+    --cyan: #17a2b8;
+    --white: #fff;
+    --background-white: #f8f8f8;
+    --gray: #6c757d;
+    --gray-dark: #454545;
+    --primary: #007bff;
+    --indigo-blue: #3375bb;
+    --secondary: #eceef2;
+    --success: #28a745;
+    --info: #17a2b8;
+    --deep-green: #388d6e;
+    --sky-green: #eef5e9;
+    --warning: #ffc107;
+    --danger: #dc3545;
+    --dark: #bdbdbd;
+    --light: #eeeeee;
+    --black: #000000;
+    --navy: #002266;
+}
+
+/* 폰트 정의 */
+
+@font-face {
+    font-family: "Pretendard-B";
+    src: url(../font/Pretendard-Bold.woff2) format('woff2'),
+        url(../font/Pretendard-Bold.woff) format('woff'),
+        url(../font/Pretendard-Bold.ttf) format('truetype');
+    font-style: normal;
+}
+
+@font-face {
+    font-family: "Pretendard-R";
+    src: url(../font/Pretendard-Regular.woff2) format('woff2'),
+        url(../font/Pretendard-Regular.woff) format('woff'),
+        url(../font/Pretendard-Regular.ttf) format('truetype');
+    font-style: normal;
+}
+
+@font-face {
+    font-family: "Pretendard-M";
+    src: url(../font/Pretendard-Medium.woff2) format('woff2'),
+        url(../font/Pretendard-Medium.woff) format('woff'),
+        url(../font/Pretendard-Medium.ttf) format('truetype');
+    font-style: normal;
+}
+
+@font-face {
+    font-family: "Pretendard-L";
+    src: url(../font/Pretendard-Light.woff2) format('woff2'),
+        url(../font/Pretendard-Light.woff) format('woff'),
+        url(../font/Pretendard-Light.ttf) format('truetype');
+    font-style: normal;
+}
+
+
+/* box-sizing 규칙을 명시합니다. */
+*,
+*::before,
+*::after {
+    box-sizing: border-box;
+    margin: 0;
+    padding: 0;
+}
+
+/* 폰트 크기의 팽창을 방지합니다. */
+html {
+    -moz-text-size-adjust: none;
+    -webkit-text-size-adjust: none;
+    text-size-adjust: none;
+    -ms-user-select: none;
+    -moz-user-select: -moz-none;
+    -webkit-user-select: none;
+    -khtml-user-select: none;
+    user-select: none;
+    width: 100%;
+    height: 100%;
+    font-size: 10px;
+    font-family: 'Pretendard-R';
+    -webkit-font-smoothing: antialiased;
+    -moz-osx-font-smoothing: grayscale;
+}
+
+/* 기본 여백을 제거하여 작성된 CSS를 더 잘 제어할 수 있습니다. */
+body,
+h1,
+h2,
+h3,
+h4,
+p,
+figure,
+blockquote,
+dl,
+dd {
+    margin-block-end: 0;
+}
+
+/* list를 role값으로 갖는 ul, ol 요소의 기본 목록 스타일을 제거합니다. */
+ul,
+ol,
+li {
+    list-style: none;
+}
+
+/* 핵심 body의 기본값을 설정합니다. */
+body {
+    top: 0 !important;
+    position: static !important;
+
+}
+
+body,
+#root {
+    height: 100%;
+    line-height: 1.5;
+    background-color: var(--white);
+}
+
+/* 제목 요소와 상호작용하는 요소에 대해 line-height를 더 짧게 설정합니다. */
+h1,
+h2,
+h3,
+h4,
+button,
+input,
+label {
+    line-height: 1.1;
+}
+
+/* 제목에 대한 text-wrap을 balance로 설정합니다. */
+h1,
+h2,
+h3,
+h4 {
+    text-wrap: balance;
+}
+
+/* 클래스가 없는 기본 a 태그 요소는 기본 스타일을 가져옵니다. */
+a {
+    text-decoration: none;
+    color: #333;
+}
+
+/* 이미지 관련 작업을 더 쉽게 합니다. */
+img,
+picture {
+    max-width: 100%;
+    display: block;
+    image-rendering: -moz-crisp-edges;
+    /* Firefox */
+    image-rendering: -o-crisp-edges;
+    /* Opera */
+    image-rendering: -webkit-optimize-contrast;
+    /* Webkit (non-standard naming) */
+    image-rendering: crisp-edges;
+    -ms-interpolation-mode: nearest-neighbor;
+    /* IE (non-standard property) */
+    transform: translateZ(0);
+    backface-visibility: hidden;
+}
+
+/* input 및 button 항목들이 글꼴을 상속하도록 합니다. */
+input,
+button,
+textarea,
+select {
+    font: inherit;
+    font-size: 1.6rem;
+}
+
+input[type="text"],
+input[type="date"],
+input[type="number"],
+input[type="password"],
+select {
+    min-height: 4rem;
+}
+
+/* 키보드 포커스 */
+input:focus-visible,
+select:focus-visible,
+textarea:focus-visible {
+    outline: auto;
+}
+
+/* 마우스포커스 */
+input:focus:not(:focus-visible),
+select:focus:not(:focus-visible),
+textarea:focus:not(:focus-visible) {
+    outline: none;
+}
+
+input::placeholder,
+textarea::placeholder {
+    color: var(--light);
+}
+
+button {
+    background: inherit;
+    border: none;
+    box-shadow: none;
+    border-radius: 0;
+    padding: 0;
+    /* overflow:visible;  */
+    cursor: pointer;
+    font-size: 1.3rem;
+}
+
+/* 행 속성이 없는 textarea가 너무 작지 않도록 합니다. */
+textarea:not([rows]) {
+    width: 100%;
+    min-height: 10rem;
+}
+
+/* 고정된 모든 항목에는 여분의 스크롤 여백이 있어야 합니다. */
+:target {
+    scroll-margin-block: 5ex;
+}
+
+caption {
+    caption-side: top;
+    text-align: left;
+}
+
+table {
+    width: 100%;
+    border-collapse: collapse;
+    table-layout: fixed;
+    word-break: break-all;
+}
+
+table th,
+table td {
+    font-size: 1.6rem;
+}
+
+
+
+
+select,
+input,
+textarea {
+    padding: 0.7rem 1rem;
+    border: 1px solid #ddd;
+    border-radius: 5px;
+}
+
+
+svg {
+    vertical-align: middle;
+}
+
+address {
+    font-style: normal;
+}
+
+
+/* summary */
+summary::-webkit-details-marker,
+summary::marker {
+    display: none;
+    content: "";
+}
+
+/* 스크롤바 디자인 */
+
+
+::-webkit-scrollbar {
+    width: 8px;
+    height: 8px;
+}
+
+.admin-wrap::-webkit-scrollbar {
+    display: none;
+}
+
+::-webkit-scrollbar-thumb {
+    background-color: #b4b4b4;
+    border-radius: 10px;
+}
+
+::-webkit-scrollbar-track {
+    background-color: #fff;
+    border-radius: 10px;
+}(파일 끝에 줄바꿈 문자 없음)
 
client/resources/css/responsive.css (added)
+++ client/resources/css/responsive.css
@@ -0,0 +1,864 @@
+/* 노트북 & 테블릿 가로 (해상도 1024px ~ 1280px)*/
+@media all and (min-width:1024px) and (max-width:1280px) {
+  html {
+    font-size: 9px;
+  }
+
+  .w1280 {
+    width: 100%;
+    padding-left: 1rem;
+    padding-right: 1rem;
+  }
+
+  header {
+    width: 100%;
+  }
+
+  .tnb-zone {
+    right: 1rem;
+  }
+
+  .main-text {
+    width: 100%;
+  }
+
+}
+
+/* 테블릿 가로 (해상도 768px ~ 1023px)*/
+@media all and (min-width:768px) and (max-width:1023px) {
+  html {
+    font-size: 8px;
+  }
+
+  .w1280 {
+    width: 100%;
+    padding-left: 1rem;
+    padding-right: 1rem;
+  }
+
+  .user-wrap .tnb-zone {
+    position: static;
+  }
+
+  .user-wrap .logo img {
+    width: 75px
+  }
+
+  /* 공통모달 */
+  .alarm-modal {
+    width: 50%;
+  }
+
+  /* 메인 */
+  .user-wrap .notice-zone {
+    height: 8rem;
+  }
+
+  .quick-menu {
+    display: none;
+  }
+
+  .m-quick-menu {
+    display: block;
+  }
+
+  /* 기술문서 */
+  .user-wrap .tec-zone .flex [class*="gd-"],
+  .user-wrap .content-news-zone .main-background.flex>div[class*="gd-"],
+  .user-wrap .policy-materials>div:nth-child(2) ul.flex>li[class*="gd-"],
+  .user-wrap .user-content>div .flex [class*="gd-"] {
+    -ms-flex: 0 0 100%;
+    flex: 0 0 100%;
+    max-width: 100%;
+    margin-bottom: 10px;
+  }
+
+  
+
+  /* 통합지원센터 */
+  .user-wrap .aidt-list [class*="gd-"],
+  .gall-list>div:nth-child(3).flex>div.gd-4 {
+    -ms-flex: 0 0 50%;
+    flex: 0 0 50%;
+    max-width: 50%;
+  }
+
+  .introduce-list {
+    height: 525px;
+  }
+
+  .policy-materials {
+    height: 240px;
+  }
+
+  /* 기술문서 */
+  .user-wrap .category-bar label.category {
+    min-width: 7rem;
+  }
+
+  .tec-category-zone.gd-6,
+  .search-bar.gd-6 {
+    -ms-flex: 0 0 50%;
+    flex: 0 0 50%;
+    max-width: 50%;
+  }
+
+  .user-wrap .tec-list-table colgroup,
+  .user-wrap .tec-list-table tr td:nth-of-type(2) {
+    display: none;
+  }
+
+  .user-wrap .tec-list-table .img-zone {
+    width: 22rem;
+  }
+
+  .user-wrap .detail-img-zone {
+    width: 36rem;
+  }
+
+  .user-wrap .text-zone {
+    margin-left: 0;
+  }
+
+
+
+
+}
+
+
+/* 모바일 가로 & 테블릿 세로 (해상도 480px ~ 767px)*/
+@media all and (max-width:767px) {
+
+  /* 공통 */
+  html {
+    font-size: 8px;
+  }
+
+  .user-wrap header {
+    background-color: var(--black);
+    border-bottom: 1px solid var(--dark);
+  }
+
+  .user-wrap .w1280 {
+    width: 100%;
+    padding-left: 1rem;
+    padding-right: 1rem;
+  }
+
+
+
+  .user-wrap .flex [class*="gd-"],
+  .user-wrap .form-table tr td div[class*="gd-"] {
+    -ms-flex: 100%;
+    flex: 100%;
+    max-width: 100%;
+    padding: 0;
+  }
+
+  /* 공지사항 */
+  .user-wrap  .pin-notice .flex .gd-11 {
+    -ms-flex: 0 0 91.666667%;
+    flex: 0 0 91.666667%;
+    max-width: 91.666667%;
+  }
+
+  .user-wrap .banner-title {
+    font-size: 3rem;
+  }
+
+  .login-page {
+    padding-left: 1rem;
+    padding-right: 1rem;
+  }
+
+  .login-wrap,
+  .tec-keyword div {
+    width: 100%;
+  }
+
+  .user-wrap button,
+  .user-wrap input,
+  .user-wrap select {
+    margin-top: 1rem;
+  }
+
+  .user-wrap button.icon-btn,
+  .user-wrap button.img-link,
+  .user-wrap input#today,
+  .user-wrap .popup-wrap button,
+  .user-wrap input#totalsearch,
+  .terms-use input,
+  .terms-privacy input,
+  .all-terms input,
+  .subscribe-zone input,
+  .new-check-zone input {
+    margin-top: 0;
+  }
+
+
+  .user-wrap .introduce-wrap,
+  .user-wrap .gall-item,
+  .user-page input,
+  .user-page select,
+  .pin-gall-item,
+  .login-step>div,
+  .category-top-zone>.depth1 {
+    margin-bottom: 1rem;
+    margin-left: 0;
+    margin-right: 0;
+  }
+
+  .user-wrap .tnb-zone {
+    position: static;
+  }
+
+  .user-wrap header {
+    height: auto;
+    background-color: var(--black);
+    position: static;
+  }
+
+  .user-wrap header.fixed {
+    position: fixed;
+  }
+
+  .user-wrap .logo {
+    padding: 1rem 0;
+    width: 255px;
+  }
+
+  .user-wrap .logo img {
+    width: 75px
+  }
+
+  .top-banner {
+    height: 25rem;
+  }
+
+  /* 공통-모달 */
+  .modal-container {
+    min-width: 90%;
+    width: 90%;
+    max-width: 90%;
+    grid-template-rows: auto 1fr auto
+  }
+
+  /* 공통-알람 */
+  .alarm-modal {
+    width: 80%;
+  }
+
+  /* 공통-search */
+  .search-wrap .pl100,
+  .search-wrap .pr100 {
+    padding: 3rem;
+  }
+
+  .search-wrap {
+    bottom: unset;
+    transform: unset;
+  }
+
+  .small-modal,
+  .medium-modal {
+    max-width: 90%;
+    width: 90%;
+    max-width: 90%;
+  }
+
+
+  .login-step>div>a {
+    display: block;
+    width: 65%;
+    margin: 0 auto;
+  }
+
+  /* 공통-프로그레스바 */
+  .user-wrap .progress-line::before {
+    width: 70%;
+  }
+
+  .user-wrap .progress-bar .status-info {
+    width: 25%;
+  }
+
+  .user-wrap .progress-bar .status-info .info-text p:nth-of-type(2) {
+    font-size: 1.3rem;
+  }
+
+  /* 탭 공통 */
+  .user-wrap .edu-tab.flex li[class*="gd-"] {
+    padding: 1rem 0;
+  }
+
+  /* 공통 게시판 insert */
+  .user-wrap .form-table colgroup {
+    display: none;
+  }
+
+  .user-wrap .form-table tr th,
+  .user-wrap .form-table tr td {
+    display: block;
+  }
+
+  .user-wrap .form-table tr th.text-rg {
+    text-align: left;
+  }
+
+  /* 메인 */
+  .top-scroll {
+    width: 25px;
+    height: 25px;
+    line-height: 25px;
+    border-radius: 25px;
+    bottom: 2%;
+  }
+
+  .mainSwiper .swiper-pagination,
+  .mainSwiper .swiper-pagination-bullets,
+  .mainSwiper .swiper-pagination-horizontal {
+    height: 24px;
+  }
+
+  .slide1,
+  .slide2,
+  .slide3,
+  .slide4,
+  .slide5 {
+    background-size: auto;
+  }
+
+  .slide-zone {
+    height: calc(100vh - 95px);
+  }
+
+  .quick-menu {
+    display: none;
+  }
+
+  .m-quick-menu {
+    display: block;
+    top: 17%;
+  }
+
+  .mainSwiper .swiper-slide img {
+    object-fit: cover;
+  }
+
+  .main-text {
+    width: 100%;
+    padding: 0 1rem;
+    top: 40%;
+  }
+
+  .slide-zone .control {
+    top: 65%;
+    bottom: unset
+  }
+
+  .user-wrap .main-text p {
+    font-size: 1.6rem;
+  }
+
+  .user-wrap .main-text h3:nth-of-type(1) {
+    font-size: 2rem;
+  }
+
+  .user-wrap .main-text h3:nth-of-type(1) span {
+    font-size: 5rem;
+  }
+
+  .user-wrap .mainSwiper .swiper-pagination-bullet {
+    width: 5px;
+  }
+
+  .user-wrap .notice-zone {
+    height: 10rem;
+    padding: 1rem;
+    bottom: 12%
+  }
+
+  .user-wrap .no-title {
+    height: 35%;
+    min-height: 30%;
+    line-height: 0;
+  }
+
+  .user-wrap .no-content {
+    height: 65%;
+    min-height: 65%;
+    line-height: 5rem;
+  }
+
+  .user-wrap .notice-zone .flex [class*="gd-2"] {
+    -ms-flex: 0 0 25%;
+    flex: 0 0 25%;
+    max-width: 25%;
+  }
+
+  .user-wrap .notice-zone .flex [class*="gd-10"] {
+    -ms-flex: 0 0 70%;
+    flex: 0 0 70%;
+    max-width: 70%;
+  }
+
+  .techSwiper .swiper-slide {
+    height: 500px;
+  }
+
+  .tech-navigation,
+  .admin-pagination,
+  .content-news-zone .main-title {
+    margin-bottom: 1.5rem;
+  }
+
+  /* 통합지원센터란 */
+  .user-wrap .introduce-wrap:last-child {
+    margin-top: 0;
+  }
+
+  .policy-materials {
+    height: auto;
+  }
+
+  .policy-materials ul {
+    padding: 1rem;
+  }
+
+  .policy-materials>div:nth-child(1) {
+    border-radius: 1rem 1rem 0 0;
+  }
+
+  .guideline-item {
+    background-size: 25%;
+  }
+
+  .user-wrap .download-item.flex>p.gd-10,
+  .user-wrap .download-item .flex>p.gd-10 {
+    -ms-flex: 0 0 75%;
+    flex: 0 0 75%;
+    max-width: 75%;
+  }
+
+  .user-wrap .download-item.flex>div.gd-2,
+  .user-wrap .download-item .flex>div.gd-2 {
+    -ms-flex: 0 0 25%;
+    flex: 0 0 25%;
+    max-width: 25%;
+  }
+
+  .introduce-item {
+    height: 225px;
+    background-size: 20%;
+  }
+
+  /* 가이드라인 */
+  .user-wrap .full-section {
+    padding-left: 1rem;
+    padding-right: 1rem;
+  }
+
+  .user-wrap .introduce-page .page-title,
+  .user-wrap .guideline-page .page-title {
+    font-size: 2.7rem;
+  }
+
+  /* 게시판 */
+  .user-wrap .board-navigation {
+    padding: 0;
+  }
+
+  .user-wrap .board-navigation li p {
+    text-align: left;
+  }
+
+  .user-wrap .board-navigation li:nth-child(1) {
+    border-right: 0;
+    border-bottom: 1px solid var(--dark);
+    padding: 1rem;
+  }
+
+  .user-wrap .board-navigation li:nth-child(2) {
+    padding: 1rem;
+  }
+
+  /* 콘텐츠 뉴스룸 */
+  .user-wrap .video-zone,
+  .gall-zone {
+    width: 100%;
+  }
+
+  .pin-gall-item .gall-img {
+    height: 215px;
+  }
+
+  .gall-slide {
+    height: 41rem;
+  }
+
+  /* 기술문서 */
+  .user-wrap .tec-category-zone {
+    width: 100%;
+    overflow-x: auto;
+    margin-bottom: 1rem;
+  }
+
+  .user-wrap .category-bar {
+    width: 200%;
+  }
+
+  .user-wrap .tec-detail .detail-content {
+    padding: 1rem;
+  }
+
+  .user-wrap .tec-detail .detail-content.flex {
+    display: flex;
+    flex-direction: column;
+    align-items: center;
+  }
+
+  .user-wrap .detail-img-zone {
+    width: 100%;
+    height: auto;
+    max-height: none;
+    padding: 0;
+  }
+
+  .user-wrap .text-zone>div {
+    height: auto !important;
+  }
+
+  .user-wrap .tec-keyword.flex .gd-2 {
+    -ms-flex: 0 0 25%;
+    flex: 0 0 25%;
+    max-width: 25%;
+  }
+
+  .user-wrap .tec-list-table colgroup,
+  .user-wrap .tec-list-table tr td:nth-of-type(2) {
+    display: none;
+  }
+
+  .user-wrap .tec-list-table tr td .flex {
+    display: flex;
+    flex-direction: column;
+    align-items: center;
+  }
+
+  .user-wrap .tec-list-table tr td .ml15,
+  .user-wrap .tec-detail tr td .ml20 {
+    margin-left: 0;
+  }
+
+  .user-wrap .tec-text-zone {
+    height: auto;
+  }
+
+
+  /* 문의하기 */
+  .user-wrap .list-table {
+    border: none
+  }
+
+  .question-zone h3.question .text-icon,
+  .question-zone h3.answer .text-icon{
+    line-height: 26px;
+  }
+
+  .user-wrap .consulting-table colgroup,
+  .user-wrap .consulting-table tr th,
+  .user-wrap .company-table colgroup,
+  .user-wrap .company-table thead,
+  .user-wrap .company-table tr th,
+  .user-wrap .application-info-table colgroup,
+  .user-wrap .application-info-table thead,
+  .user-wrap .application-info-table tr th,
+  .user-wrap .company-user-table thead, 
+  .user-wrap .company-user-table colgroup{
+    display: none;
+  }
+
+  .category-top-zone>.depth1.content,
+  .category-top-zone>.depth2.content {
+    height: 50%;
+    min-height: unset;
+  }
+
+  .category-top-zone,
+  .editor-wrap {
+    height: 50%
+  }
+
+  .user-wrap .consulting-table tr,
+  .user-wrap .company-table tr,
+  .user-wrap .application-info-table tr,
+  .user-wrap .company-user-table tr {
+    display: block;
+    border: 1px solid var(--dark);
+    margin-bottom: 1rem;
+  }
+
+  .user-wrap .consulting-table tr td,
+  .user-wrap .company-table tr td,
+  .user-wrap .application-info-table tr td,
+  .user-wrap .company-user-table tr td {
+    display: block;
+    padding-left: 35%;
+    text-align: left;
+    position: relative;
+    padding-right: 1rem;
+  }
+
+  .user-wrap .consulting-table tr td.text-ct,
+  .user-wrap .company-table tr td.text-ct,
+  .user-wrap .application-info-table tr td.text-ct,
+  .user-wrap .consulting-table tr td p.text-ct,
+  .user-wrap .company-table tr td p.text-ct,
+  .user-wrap .application-info-table tr td p.text-ct {
+    text-align: left;
+  }
+
+  .user-wrap .consulting-table tr td.data-none,
+  .user-wrap .company-table tr td.data-none,
+  .user-wrap .application-info-table tr td.data-none,
+  .user-wrap .company-user-table tr td.data-none {
+    padding-left: 0;
+    text-align: center;
+  }
+
+  .user-wrap .company-table tr td {
+    padding-left: 37%;
+  }
+
+  .user-wrap .consulting-table td:before,
+  .user-wrap .company-table tr td:before,
+  .user-wrap .application-info-table tr td:before,
+  .user-wrap .company-user-table tr td:before {
+    display: block;
+    position: absolute;
+    top: 50%;
+    left: 0;
+    width: 30%;
+    text-align: right;
+    font-weight: 700;
+    white-space: nowrap;
+    transform: translateY(-50%);
+  }
+
+  .user-wrap .consulting-table tr td.data-none::before,
+  .user-wrap .company-table tr td.data-none::before,
+  .user-wrap .application-info-table tr td.data-none:before,
+   .user-wrap .company-user-table tr td.data-none:before {
+    display: none;
+  }
+
+  .user-wrap .company-table tr td:before {
+    width: 35%;
+  }
+
+  .user-wrap .consulting-table td:nth-child(1)::before {
+    content: 'NO';
+  }
+
+  .user-wrap .consulting-table td:nth-child(2)::before {
+    content: '제목';
+  }
+
+  .user-wrap .consulting-table td:nth-child(3)::before {
+    content: '기업명';
+  }
+
+  .user-wrap .consulting-table td:nth-child(4)::before {
+    content: '카테고리';
+  }
+
+  .user-wrap .consulting-table td:nth-child(5)::before {
+    content: '등록일';
+  }
+
+  .user-wrap .consulting-table td:nth-child(6)::before {
+    content: '상태';
+  }
+
+  .user-wrap .consulting-table td:nth-child(7)::before {
+    content: '추가 검토 여부';
+  }
+
+  /* 기업신청 or 회원가입 테이블 */
+  .user-wrap .company-table td:nth-child(1)::before {
+    content: '기업명';
+  }
+
+  .user-wrap .company-table td:nth-child(2)::before {
+    content: '주소';
+  }
+
+  .user-wrap .company-table td:nth-child(3)::before {
+    content: '대표번호';
+  }
+
+  .user-wrap .company-table td:nth-child(4)::before {
+    content: '사업자등록번호';
+  }
+
+  .user-wrap .company-table td:nth-child(5)::before {
+    content: '가입신청';
+  }
+
+  .user-wrap .join-wraite .keyword-wrap{
+    height: 120px;
+    overflow: auto;
+  }
+
+  
+
+  /* 신청정보테이블 */
+  .user-wrap .application-info-table td:nth-child(1)::before {
+    content: '기업명';
+  }
+
+  .user-wrap .application-info-table td:nth-child(2)::before {
+    content: '신청내용';
+  }
+
+  .user-wrap .application-info-table td:nth-child(3)::before {
+    content: '신청일자';
+  }
+
+  .user-wrap .application-info-table td:nth-child(4)::before {
+    content: '반려일자';
+  }
+
+  .user-wrap .application-info-table td:nth-child(5)::before {
+    content: '상태';
+  }
+
+  .user-wrap .application-info-table td:nth-child(6)::before {
+    content: '반려내용';
+  }
+
+  /* 기업회원리스트 */
+  .user-wrap .company-user-table td:nth-child(1)::before {
+    content: 'NO';
+  }
+
+  .user-wrap .company-user-table td:nth-child(2)::before {
+    content: '이름';
+  }
+
+  .user-wrap .company-user-table td:nth-child(3)::before {
+    content: '직급';
+  }
+
+  .user-wrap .company-user-table td:nth-child(4)::before {
+    content: '이메일';
+  }
+
+  .user-wrap .company-user-table td:nth-child(5)::before {
+    content: '권한';
+  }
+
+  .user-wrap .company-user-table td:nth-child(6)::before {
+    content: '승인여부';
+  }
+
+  /* .logo-zone{
+      width: 100%;
+    } */
+
+  /* 기업현황 */
+
+  .edu-status-list td {
+    display: block;
+    width: 100%;
+  }
+
+  .edu-status-list td .img-zone {
+    margin-bottom: 1rem;
+  }
+
+  .edu-status-list td button {
+    width: 100%;
+  }
+
+  .edu-status-list colgroup,
+  .edu-status-list td:nth-of-type(1) {
+    display: none;
+  }
+
+  /* FAQ */
+  .faq-item .faq-question::before,
+  .faq-content::before {
+    line-height: 3.5rem;
+  }
+
+  .edu-list-item .edu-user-list::after,
+  .faq-item .faq-question::after,
+  .edu-list-item[open] .edu-user-list::after,
+  .faq-item[open] .faq-question::after {
+    top: 20%;
+  }
+
+  /* FAQ */
+  .faq-item .faq-question::before,
+  .faq-content::before {
+    line-height: 3.5rem;
+  }
+
+
+  /* 회원가입 */
+  .user-wrap .join-zone .user-content>div {
+    padding: 0;
+    border: none;
+  }
+
+  .user-wrap .terms-wrap .btn-zone {
+    display: flex;
+    flex-direction: column-reverse;
+  }
+
+  /* .new-check-zone.flex {
+    display: flex;
+    flex-direction: column;
+    align-items: flex-end;
+  } */
+
+  
+
+  .new-check-zone p.mr30 {
+    margin-right: 1rem;
+  }
+
+  .file.flex div:nth-child(1) {
+    width: 80%;
+  }
+
+  .file.flex div:nth-child(2) {
+    width: 20%;
+  }
+
+  /* 통합검색 */
+  .search-input-zone.pl100 {
+    padding-left: 3rem;
+  }
+
+  .search-input-zone.pr100 {
+    padding-right: 3rem;
+  }
+
+  /* 푸터 */
+
+  footer.pd30 {
+    padding: 1rem;
+  }
+
+  footer .com-info .middle-title {
+    font-size: 1.9rem;
+  }
+
+  footer .com-info ul li.ml10 {
+    margin-left: .5rem;
+  }
+
+
+}(파일 끝에 줄바꿈 문자 없음)
 
client/resources/css/style.css (added)
+++ client/resources/css/style.css
@@ -0,0 +1,1391 @@
+@charset "utf-8";
+
+/* admin style */
+.admin-style details {
+    border-top: 2px solid var(--gray-dark);
+    border-bottom: 1px solid var(--gray-dark);
+}
+
+.admin-style summary {
+    padding: 1rem;
+    background-color: var(--light);
+    font-size: 1.8rem;
+    color: var(--blue);
+}
+
+.admin-style .summary-style {
+    font-size: 1.6rem;
+    position: relative;
+}
+
+.admin-style .summary-style::before {
+    content: "";
+    position: absolute;
+    top: 50%;
+    left: 0;
+    width: 5px;
+    height: 5px;
+    border-radius: 5px;
+    background-color: var(--blue);
+}
+
+.summary-style::before {
+    transform: translateY(-50%);
+}
+
+
+.admin-info {
+    background-color: var(--gray-dark);
+    border-radius: 1rem;
+    box-shadow: 0 0 5px var(--gray);
+}
+
+.admin-name {
+    font-size: 1.8rem;
+    font-weight: 800;
+    color: var(--light);
+}
+
+.admin-btn {
+    color: var(--light);
+    position: relative;
+    font-size: 1.4rem;
+}
+
+.admin-btn:first-child::after {
+    content: "";
+    width: 1px;
+    height: 10px;
+    position: absolute;
+    top: 50%;
+    right: 0;
+    transform: translateY(-50%);
+    background-color: var(--light);
+}
+
+
+.full-page {
+    width: 100%;
+    height: calc(100% - 80px);
+}
+
+.tree-zone {
+    background-color: var(--light);
+    border-radius: 1rem;
+}
+
+.tree {
+    width: 100%;
+    /* height: calc(100% - 56px); */
+    height: calc(100% - 115px);
+}
+
+.tec-tree {
+    width: 100%;
+    height: calc(100% - 222px);
+}
+
+.auto-height {
+    min-height: auto;
+    height: auto;
+}
+
+
+.admin-style .detail-table {
+    border-top: 2px solid var(--gray-dark);
+    border-bottom: 1px solid var(--gray-dark);
+}
+
+.admin-style .detail-title {
+    background-color: var(--light);
+    border-bottom: 1px solid var(--gray-dark);
+}
+
+.admin-style .detail-title td {
+    padding: 2rem 1.5rem;
+}
+
+.admin-style .detail-table th {
+    background-color: var(--light);
+}
+
+.admin-style .detail-table-title {
+    font-size: 1.8rem;
+}
+
+/* 약관 상세보기 */
+.title-zone {
+    background-color: var(--light);
+}
+
+.title-zone p {
+    font-size: 2rem;
+    color: var(--blue);
+    font-weight: 700;
+}
+
+.viewer {
+    min-height: 35rem;
+}
+
+.admin-management-list tr td:nth-of-type(2),
+.admin-management-list tr td:nth-of-type(4),
+.admin-management-list tr td:nth-of-type(5),
+.admin-management-list tr td:nth-of-type(6),
+.company-management-list tr td:nth-of-type(2),
+.company-management-list tr td:nth-of-type(3),
+.company-management-list tr td:nth-of-type(5) {
+    text-align: left;
+}
+
+.company-management-list tr td:nth-of-type(6) {
+    text-align: right;
+}
+
+.conpany-info {
+    border-top: 1px solid var(--light);
+    border-bottom: 1px solid var(--light);
+}
+
+/* 통계 */
+.tab-toggle {
+    width: 100px;
+    text-align: center;
+    background-color: var(--light);
+}
+
+.tab-toggle:nth-child(1) {
+    border-radius: 1rem 0 0 1rem;
+}
+
+.tab-toggle:nth-child(2) {
+    border-radius: 0 1rem 1rem 0;
+}
+
+.tab-exception .tab-toggle:nth-child(2) {
+    border-radius: 0 0 0 0
+}
+
+.tab-exception .tab-toggle:nth-child(3) {
+    border-radius: 0 1rem 1rem 0;
+}
+
+.tab-toggle.active {
+    background-color: var(--navy);
+    color: var(--white);
+}
+
+/* 상담통계 */
+#all {
+    appearance: none;
+}
+
+#all::-webkit-progress-bar {
+    height: 3rem;
+    background: #f0f0f0;
+    border-radius: 3rem;
+    box-shadow: inset 3px 3px 10px #ccc;
+
+}
+
+#all::-webkit-progress-value {
+    border-radius: 3rem;
+    background: #4876ef;
+    background: -webkit-linear-gradient(to right, #4876ef, #bcd1fd);
+    background: linear-gradient(to right, #4876ef, #bcd1fd);
+
+}
+
+/* 메뉴권한 */
+.menu-table thead tr th {
+    position: sticky;
+    top: 0;
+}
+
+/* 수강신청 */
+.edu-tab li.active {
+    background-color: var(--black);
+    color: var(--white);
+}
+
+.detail-edu img{
+    display: inline;
+}
+
+/* user-style */
+/* 공통 */
+.top-banner {
+    width: 100%;
+    height: 40rem;
+}
+
+.top-banner h1{
+    margin-bottom: 1.5rem;
+}
+
+/* 배너 이미지 설정 안했을시 공통으로 */
+.banner {
+    background-image: url(../img/common_banner.png);
+    background-repeat: no-repeat;
+    background-position: center;
+    background-size: cover;
+}
+
+/* 아이디 비밀번호 찾기 */
+.search-nav {
+    border-bottom: 1px solid var(--gray);
+    position: relative;
+}
+
+.search-nav::before {
+    content: '';
+    position: absolute;
+    width: 1px;
+    height: 50%;
+    background-color: var(--gray);
+    top: 50%;
+    left: 50%;
+    transform: translate(-50%, -50%);
+}
+
+.search-nav div.gd-6 li {
+    border-right: 1px solid var(--gray);
+}
+
+.search-nav div.gd-6 li:last-child {
+    border-right: 0
+}
+
+.search-nav div.gd-6.search-selceted {
+    border-bottom: 2px solid var(--black);
+    color: var(--black);
+}
+
+.explanation {
+    background-color: var(--background-white);
+    line-height: 150%;
+}
+
+/* 회원가입 */
+
+.terms-content {
+    border: 1px solid #eee;
+    padding: 3rem;
+    height: 350px;
+    overflow-y: auto;
+}
+
+.terms-content::-webkit-scrollbar {
+    display: block;
+}
+
+.all-terms {
+    text-align: center;
+    font-size: 1.6rem;
+
+}
+
+.step-zone p {
+    font-size: 1.9rem;
+}
+
+.step-zone p span {
+    color: var(--content-blue);
+    font-weight: 700;
+}
+
+.form-table-style .form-table td {
+    border-top: 0;
+    padding: 1.5rem 0;
+}
+
+.user-item {
+    border: 1px solid var(--gray);
+    color: var(--gray-dark);
+    min-height: 267px;
+}
+
+.user-item img {
+    margin: 0 auto;
+    margin-bottom: 1.2rem;
+}
+
+.user-item h3 {
+    font-size: 3.2rem;
+    font-weight: 700;
+}
+
+.user-item.user-selected {
+    background-color: var(--skyblue);
+    border: 1px solid #0166F3;
+    color: #0166F3;
+}
+
+.user-item.user-selected p,
+.user-item.user-selected h3 {
+    color: #0166F3;
+}
+
+.user-disabled .user-item {
+    background-color: var(--light);
+}
+
+
+.type-content {
+    font-size: 1.7rem;
+}
+
+.logo-zone {
+    width: 300px;
+    height: 150px;
+    line-height: 150px;
+}
+
+.logo-zone img {
+    width: 80%;
+    height: 90%;
+    object-fit: contain;
+}
+
+.link-text {
+    font-size: 1.4rem;
+    font-weight: 700;
+    color: var(--indigo-blue);
+}
+
+
+/* 로그인 otp */
+.login-wrap {
+    width: 500px;
+}
+
+.input-group {
+    position: relative;
+    padding: 20px 0 0;
+    width: 100%;
+}
+
+.login-input {
+    font-family: inherit;
+    width: 100%;
+    border: none;
+    border-radius: 0;
+    border-bottom: 2px solid #9b9b9b;
+    outline: 0;
+    font-size: 17px;
+    padding: 7px 0;
+    background: transparent;
+    transition: border-color 0.2s;
+}
+
+.login-input::placeholder {
+    color: transparent;
+}
+
+.login-input:placeholder-shown~.login-label {
+    font-size: 17px;
+    cursor: text;
+    top: 30px;
+}
+
+.login-label {
+    position: absolute;
+    top: 0;
+    display: block;
+    transition: 0.2s;
+    font-size: 17px;
+    color: #9b9b9b;
+    pointer-events: none;
+}
+
+.login-input:focus {
+    padding-bottom: 6px;
+    font-weight: 700;
+    border-width: 3px;
+    border-image: linear-gradient(to right, #116399, #38caef);
+    border-image-slice: 1;
+}
+
+.login-input:focus~.form__label {
+    position: absolute;
+    top: 0;
+    display: block;
+    transition: 0.2s;
+    font-size: 17px;
+    color: #38caef;
+    font-weight: 700;
+}
+
+.login-input:required,
+.login-input:invalid {
+    box-shadow: none;
+}
+
+.qr-zone img {
+    width: 30%;
+    margin: 0 auto;
+}
+
+.otp-img img {
+    width: 100%;
+}
+
+/* 에디터 */
+.category-top-zone {
+    height: 45%;
+}
+
+.editor-wrap {
+    height: 55%
+}
+
+/* 메인 */
+.slide-zone {
+    height: 100vh;
+}
+
+
+.slide-zone .mainSwiper.swiper {
+    width: 100%;
+    height: 100%;
+}
+
+.slide-zone .control {
+    position: absolute;
+    width: 100%;
+    bottom: 20%;
+    z-index: 2;
+}
+
+.mainSwiper .swiper-pagination,
+.mainSwiper .swiper-pagination-bullets,
+.mainSwiper .swiper-pagination-horizontal {
+    width: auto;
+    position: static;
+    height: 33px;
+}
+
+.mainSwiper .swiper-pagination-bullet {
+    width: 80px;
+    height: 5px;
+    background-color: #ffffff;
+    opacity: 0.5;
+    border-radius: .6rem;
+}
+
+.mainSwiper .swiper-pagination-bullet-active {
+    background-color: #ffffff;
+    opacity: 1
+}
+
+.main-next,
+.main-prev {
+    color: #ffffff;
+}
+
+.mainSwiper .swiper-slide img,
+.techSwiper .swiper-slide img {
+    display: block;
+    width: 100%;
+    height: 100%;
+    object-fit: cover;
+
+}
+
+.techSwiper,
+.noticeSwiper {
+    width: 100%;
+    height: 100%;
+}
+
+.techSwiper .swiper-slide {
+    text-align: center;
+    min-width: 226px;
+    width: auto;
+    height: 348px;
+    font-size: 18px;
+    border-radius: 1rem;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    padding: 1rem;
+
+}
+
+.techSwiper .swiper-slide a {
+    display: block;
+    width: 100%;
+    height: 100%;
+    box-shadow: 0 0 10px var(--light);
+    border-radius: 1rem;
+    image-rendering: -moz-crisp-edges;
+    /* Firefox */
+    image-rendering: -o-crisp-edges;
+    /* Opera */
+    image-rendering: -webkit-optimize-contrast;
+    /* Webkit (non-standard naming) */
+    image-rendering: crisp-edges;
+    -ms-interpolation-mode: nearest-neighbor;
+    /* IE (non-standard property) */
+    transform: translateZ(0);
+    backface-visibility: hidden;
+}
+
+
+.notice-zone {
+    position: absolute;
+    width: 100%;
+    height: 6rem;
+    line-height: 60px;
+    max-width: 1280px;
+    bottom: 10%;
+    left: 50%;
+    transform: translate(-50%, 0);
+    border: 1px solid var(--white);
+    background-color: rgba(0, 0, 0, 0.5);
+    z-index: 2;
+}
+
+.noticeSwiper .swiper-slide {
+    height: 100%;
+}
+
+.slide1 {
+    background-image: url(../img/slide1.png);
+    background-repeat: no-repeat;
+    background-position: center;
+    background-size: 100% 100%;
+}
+
+.slide2 {
+    background-image: url(../img/slide2.png);
+    background-repeat: no-repeat;
+    background-position: center;
+    background-size: 100% 100%;
+
+}
+
+.slide3 {
+    background-image: url(../img/slide3.png);
+    background-repeat: no-repeat;
+    background-position: center;
+    background-size: 100% 100%;
+
+}
+
+.slide4 {
+    background-image: url(../img/slide4.png);
+    background-repeat: no-repeat;
+    background-position: center;
+    background-size: 100% 100%;
+
+}
+
+.slide5 {
+    background-image: url(../img/slide5.png);
+    background-repeat: no-repeat;
+    background-position: center;
+    background-size: 100% 100%;
+
+}
+
+
+.main-text {
+    position: absolute;
+    width: auto;
+    max-width: 1280px;
+    top: 45%;
+    left: 50%;
+    transform: translate(-50%, -50%);
+    z-index: 2;
+}
+
+.main-text p,
+.main-text h3 {
+    letter-spacing: 1px;
+    word-spacing: 1px
+}
+
+.main-text h3 {
+    font-size: 3.2rem;
+    font-weight: 700;
+    line-height: 250%;
+
+}
+
+.main-text h3 span {
+    font-size: 8rem;
+    /* font-style: italic; */
+}
+
+.main-text p {
+    line-height: 180%;
+}
+
+.swiper-button-next,
+.swiper-button-prev {
+    position: static;
+    margin-top: 0;
+}
+
+.swiper-button-next:after,
+.swiper-button-prev:after {
+    font-size: 2rem;
+    text-align: center;
+    font-weight: 700;
+}
+
+.tech-prev,
+.tech-next,
+.guide-prev,
+.guide-next {
+    width: 4rem;
+    height: 4rem;
+    background-color: #000000;
+    color: #fff;
+    padding: 1rem;
+    border-radius: 50%;
+    cursor: pointer;
+}
+
+.guide-prev,
+.guide-next {
+    width: 3rem;
+    height: 3rem;
+}
+
+.content-news-zone {
+    background-color: #000;
+}
+
+.news-item {
+    background-image: linear-gradient(to right bottom, #000000, #2f2f2f);
+    border: 1px solid var(--light);
+    border-radius: 2rem;
+    height: calc((100vh - 200px - 20px)/2);
+    max-height: 396px;
+}
+
+.techSwiper .swiper-slide:hover {
+    transform: scale(1.05);
+}
+
+.news-item:hover,
+.techSwiper .swiper-slide:hover {
+    transform: scale(1.02);
+    transition: all 0.5S ease-in-out;
+}
+
+.background {
+    white-space: pre;
+}
+
+.main-background::before {
+    content: 'AI \A  DT';
+    white-space: pre;
+    line-height: 100%;
+    color: #fff;
+    opacity: 0.3;
+    font-size: 25rem;
+    font-weight: 700;
+    position: absolute;
+    top: 50%;
+    left: 10%;
+    transform: translate(0, -50%);
+}
+
+.m-quick-menu {
+    display: none;
+}
+
+.quick-menu,
+.m-quick-menu {
+    position: fixed;
+    right: 0;
+    top: 20%;
+    z-index: 3;
+}
+
+.quick-menu ul,
+.m-quick-menu {
+    list-style: none;
+    padding: 0;
+    margin: 0;
+}
+
+.quick-menu ul li {
+    border: 1px solid var(--white);
+    border-right: 0;
+    border-radius: 1rem 0 0 1rem;
+    transition: width 0.5s ease;
+    overflow: hidden;
+    position: relative;
+    background: linear-gradient(to right, #152651, #010103);
+    width: 165px;
+    height: 168px;
+}
+
+.m-quick-menu ul li {
+    border: 1px solid var(--white);
+    border-right: 0;
+    border-radius: 5rem 0 0 5rem;
+    background: linear-gradient(to right, #152651, #010103);
+    padding: 1rem;
+    width: 120px;
+}
+
+.m-quick-menu ul li:nth-child(2) {
+    background: linear-gradient(to right, #26003f, #010103);
+}
+
+
+.quick-menu ul li:hover {
+    width: 340px;
+    /* 두 번째 자식 요소 크기로 설정된 너비 */
+}
+
+.quick-menu ul li:nth-child(1) {
+    background: linear-gradient(to right, #152651, #010103);
+}
+
+.quick-menu ul li:nth-child(2) {
+    background: linear-gradient(to right, #26003f, #010103);
+}
+
+.quick-menu ul li div {
+    transition: opacity 0.3s ease, height 0.3s ease;
+}
+
+.quick-menu ul li div.hidden {
+    width: 0;
+    opacity: 0;
+    height: 0;
+    visibility: hidden;
+}
+
+.quick-menu ul li div:not(.hidden) {
+    padding: 3rem;
+    width: 100%;
+    opacity: 1;
+    height: auto;
+    visibility: visible;
+}
+
+.quick-menu ul li div:first-child {
+    width: 165px;
+    /* 첫 번째 자식 요소의 너비 */
+}
+
+.quick-menu ul li div:last-child {
+    width: 340px;
+    /* 두 번째 자식 요소의 너비 */
+}
+
+/* 애니메이션 정의 */
+@keyframes slide-up {
+    from {
+        opacity: 0;
+        transform: translateY(20px);
+    }
+
+    to {
+        opacity: 1;
+        transform: translateY(0);
+    }
+}
+
+/* 텍스트 요소의 초기 상태 */
+.slide-content {
+    opacity: 0;
+    transition: opacity 0.5s ease-out;
+}
+
+/* 애니메이션 클래스 */
+.slide-content.slide-up {
+    animation: slide-up 1s ease-out forwards;
+}
+
+.notice-content {
+    transition: opacity 0.5s ease-out;
+}
+
+/* 배너 이미지 */
+.banner001 {
+    background-image: url(../img/notice_banner.png);
+}
+
+.banner002 {
+    background-image: url(../img/notice_banner.png);
+}
+
+.banner003 {
+    background-image: url(../img/notice_banner.png);
+}
+
+.guide-banner {
+    background-image: url(../img/guide_banner.png);
+}
+
+.introduce-banner {
+    background-image: url(../img/intro_banner.png);
+}
+
+.edu-banner {
+    background-image: url(../img/edu_banner.png);
+}
+
+.mypage-banner {
+    background-image: url(../img/mypage_banner.png);
+}
+
+.search-banner {
+    background-image: url(../img/search_banner.png);
+}
+
+.terms-banner {
+    background-image: url(../img/terms_banner.png);
+}
+
+
+
+/* 번역 */
+.skiptranslate {
+    display: none;
+}
+
+
+/* 기업검색 */
+.search-btn {
+    position: absolute;
+    top: 50%;
+    right: 1rem;
+    transform: translateY(-50%);
+}
+
+/* 기술문서 */
+.tech-category {
+    border-radius: 3rem;
+    background-color: var(--black);
+    color: var(--white)
+}
+
+.detail-img-zone {
+    width: 35.3rem;
+    height: 50rem;
+
+}
+
+.img-zone {
+    width: 21rem;
+    height: 30rem;
+}
+
+.support-img {
+    height: 15rem;
+}
+
+.detail-img-zone img,
+.img-zone img {
+    width: 100%;
+    height: 100%;
+    object-fit: cover;
+}
+
+.category-bar label.category {
+    display: inline-block;
+    text-align: center;
+    min-width: 95px;
+    border: 1px solid var(--black);
+    color: var(--black);
+    background-color: var(--white);
+    padding: 1rem;
+    border-radius: 3rem;
+    margin-right: 1rem;
+}
+
+.category-bar input:checked+label.category {
+    background: var(--black);
+    color: var(--white);
+    border: 0;
+}
+
+.tec-text-zone {
+    height: 27rem;
+}
+
+/* 1:1 상담 */
+.category-zone {
+    color: #007aff;
+    background-color: #c8e3ff;
+    padding: 5px;
+    border-radius: 3px;
+}
+
+/* 1:1 상담 토글 */
+.onoffswitch {
+    position: relative;
+    width: 90px;
+    user-select: none;
+}
+
+.onoffswitch-checkbox {
+    display: none;
+}
+
+.onoffswitch-label {
+    display: block;
+    overflow: hidden;
+    cursor: pointer;
+    border: 2px solid #999999;
+    border-radius: 20px;
+}
+
+.onoffswitch-inner {
+    width: 200%;
+    margin-left: 0;
+    /* 기본 상태에서 "OFF"로 설정 */
+    transition: margin 0.3s ease-in 0s;
+}
+
+.onoffswitch-inner:before,
+.onoffswitch-inner:after {
+    float: left;
+    width: 50%;
+    height: 30px;
+    padding: 0;
+    line-height: 30px;
+    font-size: 14px;
+    color: var(--white);
+    font-family: Trebuchet, Arial, sans-serif;
+    font-weight: bold;
+    box-sizing: border-box;
+}
+
+.onoffswitch-inner:before {
+    content: "OFF";
+    padding-right: 10px;
+    background-color: #eeeeee;
+    color: #999999;
+    text-align: right;
+}
+
+.onoffswitch-inner:after {
+    content: "ON";
+    padding-left: 10px;
+    background-color: #212f33;
+    color: var(--white);
+}
+
+.onoffswitch-switch {
+    width: 18px;
+    margin: 6px;
+    background: var(--white);
+    border: 2px solid #271616;
+    border-radius: 20px;
+    position: absolute;
+    top: 0;
+    bottom: 0;
+    left: 0;
+    /* 기본 상태에서 "OFF"로 설정 */
+    transition: all 0.3s ease-in 0s;
+}
+
+.onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-inner {
+    margin-left: -100%;
+}
+
+.onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-switch {
+    left: 56px;
+}
+
+.title-topzone {
+    border-bottom: 1px solid var(--gray);
+}
+
+.question-zone p:nth-of-type(1) {
+    font-size: 2.1rem;
+    font-weight: 700;
+}
+
+.question-zone h3.question,
+.question-zone p,
+.question-zone h3.answer,
+.inquiry-content {
+    color: var(--navy);
+    -ms-user-select: text;
+    -moz-user-select: text;
+    -webkit-user-select: text;
+    -khtml-user-select: text;
+    user-select: text;
+}
+
+.question-zone p.question .text-icon {
+    font-size: 1.6rem;
+    background-color: var(--navy);
+    color: var(--white);
+    width: 3rem;
+    height: 3rem;
+    line-height: 30px;
+    border-radius: 2.5rem;
+}
+
+.question-zone p.answer {
+    color: var(--green);
+}
+
+.question-zone p.answer .text-icon {
+    font-size: 1.6rem;
+    background-color: var(--green);
+    color: var(--white);
+    width: 3rem;
+    height: 3rem;
+    line-height: 30px;
+    border-radius: 2.5rem;
+}
+
+.inquiry-status p {
+    font-size: 1.6rem;
+    font-weight: 700;
+}
+
+.question-userinfo {
+    background-color: var(--background-white);
+}
+
+.background-box {
+    background-color: var(--background-white);
+}
+
+.category-option {
+    position: absolute;
+    width: 100%;
+    bottom: 0;
+    left: 0;
+    transform: translateY(100%);
+    background-color: var(--white);
+    z-index: 2;
+}
+
+.selected-item {
+    background-color: var(--skyblue);
+    color: var(--blue);
+}
+
+/* 라디오버튼 */
+.radio-container label {
+    display: flex;
+    cursor: pointer;
+    font-weight: 500;
+    position: relative;
+    overflow: hidden;
+}
+
+.visually-hidden {
+    position: absolute;
+    width: 1px;
+    height: 1px;
+    margin: -1px;
+    padding: 0;
+    overflow: hidden;
+    clip: rect(0, 0, 0, 0);
+    border: 0;
+}
+
+.radio-container label input {
+    position: absolute;
+    left: -9999px;
+}
+
+.radio-container label input:checked+span {
+    background-color: var(--navy);
+    color: var(--skyblue);
+}
+
+.radio-container label input:checked+span:before {
+    box-shadow: inset 0 0 0 0.4375rem var(--skyblue);
+}
+
+.radio-container label span {
+    display: flex;
+    align-items: center;
+    padding: 0.375rem 0.75rem 0.375rem 0.375rem;
+    border-radius: 99rem;
+    transition: 0.25s ease;
+    color: #414181;
+}
+
+.radio-container label span:hover {
+    background-color: var(--navy);
+    color: var(--white);
+}
+
+.radio-container label span:before {
+    display: flex;
+    flex-shrink: 0;
+    content: "";
+    background-color: #fff;
+    width: 1.5rem;
+    height: 1.5rem;
+    border-radius: 50%;
+    margin-right: 0.375rem;
+    transition: 0.25s ease;
+    box-shadow: inset 0 0 0 0.125rem var(--navy);
+}
+
+/* 통합지원센터란 */
+.introduce-page,
+.guideline-page {
+    background-image: url(../img/background_item_top.png), url(../img/background_item_bottom.png);
+    ;
+    background-position: left top, right bottom;
+    ;
+    background-repeat: no-repeat, no-repeat;
+
+}
+
+.introduce-item,
+.guideline-item,
+.aidt-item {
+    background-color: var(--white);
+    box-shadow: 0 0 5px var(--light);
+    height: 285px;
+}
+
+.aidt-item {
+    height: 180px;
+}
+
+.guideline-item {
+    height: 300px;
+}
+
+.introduce-list {
+    height: 675px;
+    background-position: center;
+    background-repeat: no-repeat;
+    background-size: cover;
+}
+
+.introduce-wrap:nth-child(1)>.introduce-list {
+    background-image: url(../img/box_banner1.png);
+    transition: filter 0.3s ease;
+}
+
+.introduce-wrap:nth-child(2)>.introduce-list {
+    background-image: url(../img/box_banner2.png);
+    transition: filter 0.3s ease;
+}
+
+.introduce-wrap:nth-child(3)>.introduce-list {
+    background-image: url(../img/box_banner3.png);
+    transition: filter 0.3s ease;
+}
+
+.introduce-wrap:nth-child(1):hover>.introduce-list::before,
+.introduce-wrap:nth-child(2):hover>.introduce-list::before,
+.introduce-wrap:nth-child(3):hover>.introduce-list::before {
+    position: absolute;
+    top: 0;
+    left: 0;
+    width: 100%;
+    height: 100%;
+    content: '';
+    z-index: 1;
+    background-color: rgba(0, 0, 0, 0.5);
+    filter: blur(5px);
+    /* 블러 강도를 조정 */
+}
+
+.introduce-list p,
+.introduce-list ul li,
+.introduce-list button {
+    color: var(--white);
+}
+
+.hov-affter {
+    width: 100%;
+    opacity: 0;
+    height: 0;
+    padding: 0;
+    overflow: hidden;
+    transition: opacity 0.8s ease-in-out;
+}
+
+.hov-affter.active {
+    position: relative;
+    opacity: 1;
+    height: auto;
+    z-index: 3;
+}
+
+.hov-affter .sub-item {
+    border: 1px solid var(--white);
+}
+
+.hov-before {
+    opacity: 1;
+    transition: opacity 0.8s ease-in-out;
+}
+
+.hov-before.none {
+    opacity: 0;
+    height: 0;
+    overflow: hidden;
+}
+
+.hov-before button {
+    width: 200px;
+    border: 1px solid var(--white);
+    border-radius: 3rem;
+}
+
+.introduce-item,
+.guideline-item {
+    background-position: calc(100% - 30px) calc(100% - 30px);
+    background-repeat: no-repeat;
+}
+
+.introduce1 {
+    background-image: url(../img/intro1.png);
+}
+
+.introduce2 {
+    background-image: url(../img/intro2.png);
+}
+
+.introduce3 {
+    background-image: url(../img/intro3.png);
+}
+
+.introduce4 {
+    background-image: url(../img/intro4.png);
+}
+
+.introduce5 {
+    background-image: url(../img/intro5.png);
+}
+
+.policy-materials {
+    background-color: var(--light);
+    height: 165px;
+}
+
+
+.policy-materials>div:nth-child(1) {
+    background-color: var(--skyblue);
+    border-radius: 1rem 0 0 1rem;
+}
+
+.policy-materials>div:nth-child(1) {
+    background-image: url(../img/file_icon.png);
+    background-repeat: no-repeat;
+    background-position: calc(100% - 30px) calc(100% - 30px);
+    background-size: 23%;
+}
+
+.guide1 {
+    background-image: url(../img/guidline1.png);
+}
+
+.guide2 {
+    background-image: url(../img/guidline2.png);
+}
+
+.guide3 {
+    background-image: url(../img/guidline3.png);
+}
+
+.guide4 {
+    background-image: url(../img/guidline4.png);
+}
+
+.guide5 {
+    background-image: url(../img/guidline5.png);
+}
+
+.guide6 {
+    background-image: url(../img/guidline6.png);
+}
+
+.guide7 {
+    background-image: url(../img/guidline7.png);
+}
+
+.guide8 {
+    background-image: url(../img/guidline8.png);
+}
+
+.guide9 {
+    background-image: url(../img/guidline9.png);
+}
+
+.guide10 {
+    background-image: url(../img/guidline10.png);
+}
+
+.guide11 {
+    background-image: url(../img/guidline11.png);
+}
+
+/* 이용약관 */
+.terms-inner-content {
+    line-height: 165%;
+}
+
+.index-img img,
+.index-contents img {
+    width: 3.5rem;
+}
+
+.index-contents p,
+.index-contents li {
+    font-size: 1.5rem;
+}
+
+.user-item.terms-item {
+    min-height: 18rem;
+    line-height: 3rem
+}
+
+.user-item.terms-item>div:last-child {
+    padding-right: 0;
+}
+
+/* 기업검색 */
+.autocomplete {
+    position: relative;
+}
+
+
+.autocomplete ul {
+    position: absolute;
+    list-style-type: none;
+    width: 100%;
+    max-height: 300px;
+    overflow-y: scroll;
+    padding: 0;
+    margin: 0;
+    box-shadow: 2px 2px 5px #8e8e8e7e;
+    z-index: 4;
+    border-radius: 5px;
+    background-color: #fff;
+}
+
+.autocomplete li {
+    width: 100%;
+    height: 30px;
+    max-height: 50px;
+    cursor: pointer;
+    padding: 8px;
+    font-size: 1.3rem;
+    background-color: #fff;
+    border-bottom: 1px solid #d8d8d8;
+    overflow: hidden;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+    display: block;
+}
+
+.autocomplete li:hover {
+    background-color: #f0f0f0;
+}(파일 끝에 줄바꿈 문자 없음)
 
client/resources/font/GmarketSansTTFBold.ttf (Binary) (added)
+++ client/resources/font/GmarketSansTTFBold.ttf
Binary file is not shown
 
client/resources/font/GmarketSansTTFLight.ttf (Binary) (added)
+++ client/resources/font/GmarketSansTTFLight.ttf
Binary file is not shown
 
client/resources/font/GmarketSansTTFMedium.ttf (Binary) (added)
+++ client/resources/font/GmarketSansTTFMedium.ttf
Binary file is not shown
 
client/resources/font/Pretendard-Black.ttf (Binary) (added)
+++ client/resources/font/Pretendard-Black.ttf
Binary file is not shown
 
client/resources/font/Pretendard-Bold.ttf (Binary) (added)
+++ client/resources/font/Pretendard-Bold.ttf
Binary file is not shown
 
client/resources/font/Pretendard-Bold.woff (Binary) (added)
+++ client/resources/font/Pretendard-Bold.woff
Binary file is not shown
 
client/resources/font/Pretendard-Bold.woff2 (Binary) (added)
+++ client/resources/font/Pretendard-Bold.woff2
Binary file is not shown
 
client/resources/font/Pretendard-ExtraBold.ttf (Binary) (added)
+++ client/resources/font/Pretendard-ExtraBold.ttf
Binary file is not shown
 
client/resources/font/Pretendard-ExtraLight.ttf (Binary) (added)
+++ client/resources/font/Pretendard-ExtraLight.ttf
Binary file is not shown
 
client/resources/font/Pretendard-Light.ttf (Binary) (added)
+++ client/resources/font/Pretendard-Light.ttf
Binary file is not shown
 
client/resources/font/Pretendard-Light.woff (Binary) (added)
+++ client/resources/font/Pretendard-Light.woff
Binary file is not shown
 
client/resources/font/Pretendard-Light.woff2 (Binary) (added)
+++ client/resources/font/Pretendard-Light.woff2
Binary file is not shown
 
client/resources/font/Pretendard-Medium.ttf (Binary) (added)
+++ client/resources/font/Pretendard-Medium.ttf
Binary file is not shown
 
client/resources/font/Pretendard-Medium.woff (Binary) (added)
+++ client/resources/font/Pretendard-Medium.woff
Binary file is not shown
 
client/resources/font/Pretendard-Medium.woff2 (Binary) (added)
+++ client/resources/font/Pretendard-Medium.woff2
Binary file is not shown
 
client/resources/font/Pretendard-Regular.ttf (Binary) (added)
+++ client/resources/font/Pretendard-Regular.ttf
Binary file is not shown
 
client/resources/font/Pretendard-Regular.woff (Binary) (added)
+++ client/resources/font/Pretendard-Regular.woff
Binary file is not shown
 
client/resources/font/Pretendard-Regular.woff2 (Binary) (added)
+++ client/resources/font/Pretendard-Regular.woff2
Binary file is not shown
 
client/resources/font/Pretendard-SemiBold.ttf (Binary) (added)
+++ client/resources/font/Pretendard-SemiBold.ttf
Binary file is not shown
 
client/resources/font/Pretendard-Thin.ttf (Binary) (added)
+++ client/resources/font/Pretendard-Thin.ttf
Binary file is not shown
 
client/resources/img/aidtGuidline.png (Binary) (added)
+++ client/resources/img/aidtGuidline.png
Binary file is not shown
 
client/resources/img/aidt_guidline.png (Binary) (added)
+++ client/resources/img/aidt_guidline.png
Binary file is not shown
 
client/resources/img/appstore.png (Binary) (added)
+++ client/resources/img/appstore.png
Binary file is not shown
 
client/resources/img/back-itlem.png (Binary) (added)
+++ client/resources/img/back-itlem.png
Binary file is not shown
 
client/resources/img/background_item_bottom.png (Binary) (added)
+++ client/resources/img/background_item_bottom.png
Binary file is not shown
 
client/resources/img/background_item_top.png (Binary) (added)
+++ client/resources/img/background_item_top.png
Binary file is not shown
 
client/resources/img/box_banner1.png (Binary) (added)
+++ client/resources/img/box_banner1.png
Binary file is not shown
 
client/resources/img/box_banner2.png (Binary) (added)
+++ client/resources/img/box_banner2.png
Binary file is not shown
 
client/resources/img/box_banner3.png (Binary) (added)
+++ client/resources/img/box_banner3.png
Binary file is not shown
 
client/resources/img/check.png (Binary) (added)
+++ client/resources/img/check.png
Binary file is not shown
 
client/resources/img/check_bullet.png (Binary) (added)
+++ client/resources/img/check_bullet.png
Binary file is not shown
 
client/resources/img/common_banner.png (Binary) (added)
+++ client/resources/img/common_banner.png
Binary file is not shown
 
client/resources/img/company_a.png (Binary) (added)
+++ client/resources/img/company_a.png
Binary file is not shown
 
client/resources/img/company_b.png (Binary) (added)
+++ client/resources/img/company_b.png
Binary file is not shown
 
client/resources/img/copy1.png (Binary) (added)
+++ client/resources/img/copy1.png
Binary file is not shown
 
client/resources/img/copy2.png (Binary) (added)
+++ client/resources/img/copy2.png
Binary file is not shown
 
client/resources/img/copy3.png (Binary) (added)
+++ client/resources/img/copy3.png
Binary file is not shown
 
client/resources/img/copy4.png (Binary) (added)
+++ client/resources/img/copy4.png
Binary file is not shown
 
client/resources/img/download.png (Binary) (added)
+++ client/resources/img/download.png
Binary file is not shown
 
client/resources/img/email.png (Binary) (added)
+++ client/resources/img/email.png
Binary file is not shown
 
client/resources/img/email_icon_a.png (Binary) (added)
+++ client/resources/img/email_icon_a.png
Binary file is not shown
 
client/resources/img/email_icon_b.png (Binary) (added)
+++ client/resources/img/email_icon_b.png
Binary file is not shown
 
client/resources/img/file_icon.png (Binary) (added)
+++ client/resources/img/file_icon.png
Binary file is not shown
 
client/resources/img/find.png (Binary) (added)
+++ client/resources/img/find.png
Binary file is not shown
 
client/resources/img/ft_logo.png (Binary) (added)
+++ client/resources/img/ft_logo.png
Binary file is not shown
 
client/resources/img/good.png (Binary) (added)
+++ client/resources/img/good.png
Binary file is not shown
 
client/resources/img/google.png (Binary) (added)
+++ client/resources/img/google.png
Binary file is not shown
 
client/resources/img/guide_banner.png (Binary) (added)
+++ client/resources/img/guide_banner.png
Binary file is not shown
 
client/resources/img/guidline1.png (Binary) (added)
+++ client/resources/img/guidline1.png
Binary file is not shown
 
client/resources/img/guidline10.png (Binary) (added)
+++ client/resources/img/guidline10.png
Binary file is not shown
 
client/resources/img/guidline11.png (Binary) (added)
+++ client/resources/img/guidline11.png
Binary file is not shown
 
client/resources/img/guidline2.png (Binary) (added)
+++ client/resources/img/guidline2.png
Binary file is not shown
 
client/resources/img/guidline3.png (Binary) (added)
+++ client/resources/img/guidline3.png
Binary file is not shown
 
client/resources/img/guidline4.png (Binary) (added)
+++ client/resources/img/guidline4.png
Binary file is not shown
 
client/resources/img/guidline5.png (Binary) (added)
+++ client/resources/img/guidline5.png
Binary file is not shown
 
client/resources/img/guidline6.png (Binary) (added)
+++ client/resources/img/guidline6.png
Binary file is not shown
 
client/resources/img/guidline7.png (Binary) (added)
+++ client/resources/img/guidline7.png
Binary file is not shown
 
client/resources/img/guidline8.png (Binary) (added)
+++ client/resources/img/guidline8.png
Binary file is not shown
 
client/resources/img/guidline9.png (Binary) (added)
+++ client/resources/img/guidline9.png
Binary file is not shown
 
client/resources/img/horizontal_thumbnail.png (Binary) (added)
+++ client/resources/img/horizontal_thumbnail.png
Binary file is not shown
 
client/resources/img/inquiry_banner.png (Binary) (added)
+++ client/resources/img/inquiry_banner.png
Binary file is not shown
 
client/resources/img/intro1.png (Binary) (added)
+++ client/resources/img/intro1.png
Binary file is not shown
 
client/resources/img/intro2.png (Binary) (added)
+++ client/resources/img/intro2.png
Binary file is not shown
 
client/resources/img/intro3.png (Binary) (added)
+++ client/resources/img/intro3.png
Binary file is not shown
 
client/resources/img/intro4.png (Binary) (added)
+++ client/resources/img/intro4.png
Binary file is not shown
 
client/resources/img/intro5.png (Binary) (added)
+++ client/resources/img/intro5.png
Binary file is not shown
 
client/resources/img/intro_banner.png (Binary) (added)
+++ client/resources/img/intro_banner.png
Binary file is not shown
 
client/resources/img/key.png (Binary) (added)
+++ client/resources/img/key.png
Binary file is not shown
 
client/resources/img/label01.png (Binary) (added)
+++ client/resources/img/label01.png
Binary file is not shown
 
client/resources/img/label02.png (Binary) (added)
+++ client/resources/img/label02.png
Binary file is not shown
 
client/resources/img/label03.png (Binary) (added)
+++ client/resources/img/label03.png
Binary file is not shown
 
client/resources/img/label04.png (Binary) (added)
+++ client/resources/img/label04.png
Binary file is not shown
 
client/resources/img/label05.png (Binary) (added)
+++ client/resources/img/label05.png
Binary file is not shown
 
client/resources/img/label06.png (Binary) (added)
+++ client/resources/img/label06.png
Binary file is not shown
 
client/resources/img/label07.png (Binary) (added)
+++ client/resources/img/label07.png
Binary file is not shown
 
client/resources/img/label08.png (Binary) (added)
+++ client/resources/img/label08.png
Binary file is not shown
 
client/resources/img/label09.png (Binary) (added)
+++ client/resources/img/label09.png
Binary file is not shown
 
client/resources/img/label10.png (Binary) (added)
+++ client/resources/img/label10.png
Binary file is not shown
 
client/resources/img/label12.png (Binary) (added)
+++ client/resources/img/label12.png
Binary file is not shown
 
client/resources/img/label13.png (Binary) (added)
+++ client/resources/img/label13.png
Binary file is not shown
 
client/resources/img/label14.png (Binary) (added)
+++ client/resources/img/label14.png
Binary file is not shown
 
client/resources/img/label15.png (Binary) (added)
+++ client/resources/img/label15.png
Binary file is not shown
 
client/resources/img/label16.png (Binary) (added)
+++ client/resources/img/label16.png
Binary file is not shown
 
client/resources/img/label18.png (Binary) (added)
+++ client/resources/img/label18.png
Binary file is not shown
 
client/resources/img/label19.png (Binary) (added)
+++ client/resources/img/label19.png
Binary file is not shown
 
client/resources/img/list_style.png (Binary) (added)
+++ client/resources/img/list_style.png
Binary file is not shown
 
client/resources/img/logo.png (Binary) (added)
+++ client/resources/img/logo.png
Binary file is not shown
 
client/resources/img/logo_simbol.png (Binary) (added)
+++ client/resources/img/logo_simbol.png
Binary file is not shown
 
client/resources/img/mypage_banner.png (Binary) (added)
+++ client/resources/img/mypage_banner.png
Binary file is not shown
 
client/resources/img/no_img.png (Binary) (added)
+++ client/resources/img/no_img.png
Binary file is not shown
 
client/resources/img/notfound.png (Binary) (added)
+++ client/resources/img/notfound.png
Binary file is not shown
 
client/resources/img/notice_banner.png (Binary) (added)
+++ client/resources/img/notice_banner.png
Binary file is not shown
 
client/resources/img/og_logo.png (Binary) (added)
+++ client/resources/img/og_logo.png
Binary file is not shown
 
client/resources/img/privacy_a.png (Binary) (added)
+++ client/resources/img/privacy_a.png
Binary file is not shown
 
client/resources/img/privacy_b.png (Binary) (added)
+++ client/resources/img/privacy_b.png
Binary file is not shown
 
client/resources/img/proof_sample.jpg (Binary) (added)
+++ client/resources/img/proof_sample.jpg
Binary file is not shown
 
client/resources/img/registration_sample.jpg (Binary) (added)
+++ client/resources/img/registration_sample.jpg
Binary file is not shown
 
client/resources/img/search_banner.png (Binary) (added)
+++ client/resources/img/search_banner.png
Binary file is not shown
 
client/resources/img/slide1.png (Binary) (added)
+++ client/resources/img/slide1.png
Binary file is not shown
 
client/resources/img/slide2.png (Binary) (added)
+++ client/resources/img/slide2.png
Binary file is not shown
 
client/resources/img/slide3.png (Binary) (added)
+++ client/resources/img/slide3.png
Binary file is not shown
 
client/resources/img/slide4.png (Binary) (added)
+++ client/resources/img/slide4.png
Binary file is not shown
 
client/resources/img/slide5.png (Binary) (added)
+++ client/resources/img/slide5.png
Binary file is not shown
 
client/resources/img/system.png (Binary) (added)
+++ client/resources/img/system.png
Binary file is not shown
 
client/resources/img/tech_banner.png (Binary) (added)
+++ client/resources/img/tech_banner.png
Binary file is not shown
 
client/resources/img/terms.png (Binary) (added)
+++ client/resources/img/terms.png
Binary file is not shown
 
client/resources/img/terms_banner.png (Binary) (added)
+++ client/resources/img/terms_banner.png
Binary file is not shown
 
client/resources/img/terms_icon_a.png (Binary) (added)
+++ client/resources/img/terms_icon_a.png
Binary file is not shown
 
client/resources/img/terms_icon_b.png (Binary) (added)
+++ client/resources/img/terms_icon_b.png
Binary file is not shown
 
client/resources/img/upload.png (Binary) (added)
+++ client/resources/img/upload.png
Binary file is not shown
 
client/resources/img/user_a.png (Binary) (added)
+++ client/resources/img/user_a.png
Binary file is not shown
 
client/resources/img/user_b.png (Binary) (added)
+++ client/resources/img/user_b.png
Binary file is not shown
 
client/resources/img/vertical_thumbnail.png (Binary) (added)
+++ client/resources/img/vertical_thumbnail.png
Binary file is not shown
 
client/resources/js/cntnStatsSave.js (added)
+++ client/resources/js/cntnStatsSave.js
@@ -0,0 +1,39 @@
+import { save } from "../../resources/api/cntnStats"
+
+export default {
+    methods: {
+        // 권한 검증
+        isValidRole() {
+            const roles = this.$store.state.roles;
+            if(!Array.isArray(roles)) {
+            return false;
+            }
+            for(const role of roles) {
+            if(typeof role !== 'object' || !role.hasOwnProperty('authority')) {
+                return false;
+            }
+            }
+            return true;
+        },
+        // 접속 통계 등록
+        async cntnStatsSave(menuId) {
+            const roleChck = this.isValidRole();
+            if(!roleChck) {
+            alert('접근이 불가합니다.\n관리자에게 문의하세요.');
+            this.$router.push({
+                path: '/'
+            });
+            }
+            try {
+            const mbrAuth = this.$store.state.roles.map(auth => auth.authority); // 사용자 권한 정보
+            const cntnStats = {
+                'typeId': menuId,
+                'mbrAuthList' : mbrAuth
+            }
+            await save(cntnStats);
+            } catch(error) {
+            console.log(error);
+            }
+        },
+    }
+}(파일 끝에 줄바꿈 문자 없음)
 
client/resources/js/common.js (added)
+++ client/resources/js/common.js
@@ -0,0 +1,35 @@
+// commonUtils.js
+import {
+  mdiCalendarBlank,
+  mdiArrowRight,
+  mdiTable,
+  mdiPlay,
+  mdiKeyVariant,
+  mdiTrashCan,
+  mdiMagnify,
+} from "@mdi/js";
+
+export default {
+  install(Vue) {
+    Vue.config.globalProperties.$iconPath = function (icon) {
+      if (icon == null) {
+        icon = "mdiMagnify";
+      }
+      if (icon === "mdiCalendarBlank") {
+        return mdiCalendarBlank;
+      } else if (icon === "mdiArrowRight") {
+        return mdiArrowRight;
+      } else if (icon === "mdiTable") {
+        return mdiTable;
+      } else if (icon === "mdiPlay") {
+        return mdiPlay;
+      } else if (icon === "mdiKeyVariant") {
+        return mdiKeyVariant;
+      } else if (icon === "mdiTrashCan") {
+        return mdiTrashCan;
+      } else {
+        return mdiMagnify;
+      }
+    };
+  },
+};
 
client/resources/js/commonUtil.js (added)
+++ client/resources/js/commonUtil.js
@@ -0,0 +1,800 @@
+/**
+ * @author 최정우
+
+ * @since 2019.12.06
+ *
+ * 공통 자바스크립트 Util입니다.
+ */
+
+const COMMON_UTIL = (function () {
+  var _utils = {
+
+    yesterday: function () {
+      let date = new Date();
+      let sel_day = -1; //-1이면 하루전/ +1이면 내일
+      date.setDate(date.getDate() + sel_day);
+      let yesterday = new Date(date.getTime() - (date.getTimezoneOffset() * 60000)).toISOString().substring(0, 10);
+      return yesterday;
+    },
+
+    today: function () {
+      let date = new Date();
+      let today = new Date(date.getTime() - (date.getTimezoneOffset() * 60000)).toISOString().substring(0, 10);
+      return today;
+    },
+
+    /**
+     * 일주일전 년-월-일 구하기
+     */
+    oneWeekAgo: function () {
+      let date = new Date();
+      // 현재 날짜에서 7일을 빼줍니다.
+      let oneWeekAgoDate = new Date(date.getTime() - (6 * 24 * 60 * 60 * 1000) - (date.getTimezoneOffset() * 60000)).toISOString().substring(0, 10);
+      return oneWeekAgoDate;
+    },
+
+    /**
+     * 한달전 년-월-일 구하기
+     */
+    oneMonthAgo: function (today) {
+      let date = new Date(today);
+      let oneMonthAgo = new Date(date.setMonth(date.getMonth() - 1) - (date.getTimezoneOffset() * 60000)).toISOString().substring(0, 10);
+      return oneMonthAgo;
+    },
+
+    /**
+     * 한달후 년-월-일 구하기
+     */
+    oneMonthLater: function (today) {
+      let date = new Date(today);
+      let oneMonthLater = new Date(date.setMonth(date.getMonth() + 1) - (date.getTimezoneOffset() * 60000)).toISOString().substring(0, 10);
+      return oneMonthLater;
+    },
+
+    /**
+     * 일시에서 시,분,초 자르기
+     */
+    yyyymmdd: function (data) {
+      if (data === null || data === "") {
+        return "-";
+      } else {
+        let date = data.substr(0, 10);
+        return date;
+      }
+    },
+
+    /**
+     * 전화번호 출력 시 '-'을 추가하여 출력
+     */
+    HyphenMinus: function (phoneNumber) {
+      if (!phoneNumber) return phoneNumber;
+
+      phoneNumber = phoneNumber.replace(/[^0-9]/g, "");
+
+      let tmp = "";
+      if (phoneNumber.length < 4) {
+        return phoneNumber;
+      } else if (phoneNumber.length < 7) {
+        tmp += phoneNumber.substr(0, 3);
+        tmp += "-";
+        tmp += phoneNumber.substr(3);
+        return tmp;
+      } else if (phoneNumber.length == 8) {
+        tmp += phoneNumber.substr(0, 4);
+        tmp += "-";
+        tmp += phoneNumber.substr(4);
+        return tmp;
+      } else if (phoneNumber.length < 10) {
+        if (phoneNumber.substr(0, 2) == "02") {
+          //02-123-5678
+          tmp += phoneNumber.substr(0, 2);
+          tmp += "-";
+          tmp += phoneNumber.substr(2, 3);
+          tmp += "-";
+          tmp += phoneNumber.substr(5);
+          return tmp;
+        }
+      } else if (phoneNumber.length < 11) {
+        if (phoneNumber.substr(0, 2) == "02") {
+          //02-1234-5678
+          tmp += phoneNumber.substr(0, 2);
+          tmp += "-";
+          tmp += phoneNumber.substr(2, 4);
+          tmp += "-";
+          tmp += phoneNumber.substr(6);
+          return tmp;
+        } else {
+          //010-123-4567
+          tmp += phoneNumber.substr(0, 3);
+          tmp += "-";
+          tmp += phoneNumber.substr(3, 3);
+          tmp += "-";
+          tmp += phoneNumber.substr(6);
+          return tmp;
+        }
+      } else {
+        //010-1234-5678
+        tmp += phoneNumber.substr(0, 3);
+        tmp += "-";
+        tmp += phoneNumber.substr(3, 4);
+        tmp += "-";
+        tmp += phoneNumber.substr(7);
+        return tmp;
+      }
+    },
+
+    /**
+     * 전화번호 자동 '-' 삽입
+     */
+    //전화번호 입력 시 자동 '-' 삽입
+    getMask: function (phoneNumber) {
+      if (!phoneNumber) return phoneNumber;
+      phoneNumber = phoneNumber.replace(/[^0-9]/g, "");
+
+      let res = "";
+      if (phoneNumber.length < 3) {
+        res = phoneNumber;
+      } else {
+        if (phoneNumber.substr(0, 2) == "02") {
+          if (phoneNumber.length <= 5) {
+            //02-123-5678
+            res = phoneNumber.substr(0, 2) + "-" + phoneNumber.substr(2, 3);
+          } else if (phoneNumber.length > 5 && phoneNumber.length <= 9) {
+            //02-123-5678
+            res =
+              phoneNumber.substr(0, 2) +
+              "-" +
+              phoneNumber.substr(2, 3) +
+              "-" +
+              phoneNumber.substr(5);
+          } else if (phoneNumber.length > 9) {
+            //02-1234-5678
+            res =
+              phoneNumber.substr(0, 2) +
+              "-" +
+              phoneNumber.substr(2, 4) +
+              "-" +
+              phoneNumber.substr(6);
+          }
+        } else {
+          if (phoneNumber.length < 8) {
+            res = phoneNumber;
+          } else if (phoneNumber.length == 8) {
+            res = phoneNumber.substr(0, 4) + "-" + phoneNumber.substr(4);
+          } else if (phoneNumber.length == 9) {
+            res =
+              phoneNumber.substr(0, 3) +
+              "-" +
+              phoneNumber.substr(3, 3) +
+              "-" +
+              phoneNumber.substr(6);
+          } else if (phoneNumber.length == 10) {
+            res =
+              phoneNumber.substr(0, 3) +
+              "-" +
+              phoneNumber.substr(3, 3) +
+              "-" +
+              phoneNumber.substr(6);
+          } else if (phoneNumber.length > 10) {
+            //010-1234-5678
+            res =
+              phoneNumber.substr(0, 3) +
+              "-" +
+              phoneNumber.substr(3, 4) +
+              "-" +
+              phoneNumber.substr(7);
+          }
+        }
+      }
+      return res;
+    },
+
+    /**
+     * 비밀번호 일치 체크
+     */
+    checkPassword: function (pw, pwC) {
+      if (pw != pwC) return false;
+      return true;
+    },
+    /**
+     * 휴대폰 번호 정규식
+     */
+    checkPhone: function (data) {
+      let regExp = /^01([0|1|6|7|8|9]?)-?([0-9]{3,4})-?([0-9]{4})$/;
+      if (regExp.test(data) === true) return true;
+      return false;
+    },
+
+    /**
+     * 사용자명 정규식
+     */
+    checkName: function (data) {
+      let validateEmail = /^[가-힣a-zA-Z]{1,20}$/;
+      if (validateEmail.test(data) === true) return true;
+      return false;
+    },
+
+    /**
+     * 이메일 정규식
+     */
+    checkEmail: function (data) {
+      // 이메일 형식 검사
+      let validateEmail =
+        /^[A-Za-z0-9_\\.\\-]+@[A-Za-z0-9\\-]+\.[A-Za-z0-9\\-\\.]+$/;
+      if (validateEmail.test(data) === true) return true;
+      return false;
+    },
+
+    /**
+     * 사업자번호 정규식(10자리)
+     */
+
+    businessNumber: function (data) {
+      let validateBusinessNumber = /^\d{10}$/;
+      if (validateBusinessNumber.test(data) === true) return true;
+      return false;
+    },
+
+    /**
+     * 키워드 정규식
+     */
+    kewordCheck: function (data) {
+      let validateKeword = /^#[A-Za-z0-9_]+$/;
+      if (validateKeword.test(data) === true) return true;
+      return false;
+    },
+
+    /**
+     * 아이디 정규식(5~20자의 영문 소문자, 숫자와 특수기호(_),(-)만 사용)
+     */
+    idCheck: function (data) {
+      let validateId = /^[a-z0-9_-]{5,20}$/;
+      if (validateId.test(data) === true) return true;
+      return false;
+    },
+
+    /**
+   * 비밀번호 정규식(대문자, 소문자, 숫자, 특수문자를 포함한 8자 이상이어야 합니다.)
+   */
+    pwCheck: function (data) {
+      let validatePw = /^(?=.*[A-Za-z])(?=.*\d)(?=.*[@$!%*#?&])[A-Za-z\d@$!%*#?&]{6,20}$/;
+      if (validatePw.test(data) === true) return true;
+      return false;
+    },
+
+
+    /**
+     * 빈 객체 여부
+     */
+    isEmpty: function (data) {
+      if (
+        data === undefined ||
+        data === null ||
+        data === "" ||
+        data.length === 0 ||
+        (data.constructor == Object && Object.keys(data).length === 0)
+      ) {
+        if (typeof data === "number") {
+          return true;
+        } else {
+          return false;
+        }
+      } else {
+        return true;
+      }
+    },
+
+    /**
+     * empty to null
+     */
+    toNull: function (data) {
+      if (data === undefined || data === "") {
+        try {
+          data = null;
+          return data;
+        } catch (e) {
+          // console.log("commonUtil.js - empty to null convert error : ", e);
+          return data;
+        }
+      } else {
+        return data;
+      }
+    },
+
+    /**
+     * string to JSON
+     */
+    toJson: function (data) {
+      if ("string" === typeof data) {
+        try {
+          return JSON.parse(data);
+        } catch (e) {
+          // console.log("commonUtil.js - string to json convert error : ", e);
+          return data;
+        }
+      } else {
+        return data;
+      }
+    },
+
+    /**
+     * string to JSON
+     */
+    toJson: function (data) {
+      if ("string" === typeof data) {
+        try {
+          return JSON.parse(data);
+        } catch (e) {
+          // console.log("commonUtil.js - string to json convert error : ", e);
+          return data;
+        }
+      } else {
+        return data;
+      }
+    },
+
+    /**
+     * JSON to string
+     */
+    toString: function (data) {
+      try {
+        return JSON.parse(data);
+      } catch (e) {
+        // console.log("commonUtil.js - json to string convert error : ", e);
+        return data;
+      }
+    },
+
+    /**
+     * 다중 separator split
+     */
+    split: function (text, separator) {
+      var words = [];
+      if (
+        this.isEmpty(text) == false &&
+        this.isEmpty(separator) == false &&
+        separator.length > 0
+      ) {
+        words.push(text);
+        for (var i = 0; i < separator.length; i++) {
+          var subWords = [];
+          for (var j = 0; j < words.length; j++) {
+            if (
+              this.isEmpty(words[j]) == false &&
+              this.isEmpty(separator[i]) == false
+            ) {
+              subWords = subWords.concat(words[j].split(separator[i]));
+            } else {
+              if (words[j] == false) {
+                subWords.push(words[j]);
+              } else {
+                continue;
+              }
+            }
+          }
+          words = subWords;
+        }
+        return words;
+      } else {
+        if (this.isEmpty(text) == false) {
+          words.push(text);
+        }
+        return words;
+      }
+    },
+
+    /**
+     * 객체 깊은 복사
+     */
+    copyObject: function (obj) {
+      if (obj === null || typeof obj !== "object") return obj;
+
+      try {
+        return JSON.parse(JSON.stringify(obj));
+      } catch (e) {
+        // console.log("commonUtil.js - copyObject error : ", e);
+        return null;
+      }
+    },
+    /**
+     * 날짜 + 시간 구하기
+     *
+     *
+
+     */
+    getDateTime: function () {
+      return this.getDate() + " " + this.getFullTime();
+    },
+
+    /**
+     * 날짜 구하기
+     *
+     * param 설명
+     *
+     * options = {
+     * 	 addYear(Integer),
+     *   addMonth(Integer),
+     *   addDay(Integer),
+     *   separator(String)
+     * }
+     */
+    getDate: function (options) {
+      if (this.isEmpty(options) == true) {
+        options = {
+          addYear: 0,
+          addMonth: 0,
+          addDay: 0,
+          separator: "-",
+        };
+      } else {
+        options.addYear = options.addYear || 0;
+        options.addMonth = options.addMonth || 0;
+        options.addDay = options.addDay || 0;
+        options.separator = options.separator || "-";
+      }
+
+      var date = new Date();
+      date.setFullYear(date.getFullYear() + options.addYear);
+      date.setMonth(date.getMonth() + options.addMonth);
+      date.setDate(date.getDate() + options.addDay);
+
+      var yyyy = date.getFullYear();
+      var mm = date.getMonth() + 1;
+      var dd = date.getDate();
+
+      return (
+        yyyy +
+        options.separator +
+        this.prefixZero(mm, 2) +
+        options.separator +
+        this.prefixZero(dd, 2)
+      );
+    },
+
+    /**
+     * 현재 년도 조회
+     */
+    getYear: function () {
+      var date = new Date();
+      return date.getFullYear();
+    },
+
+    /**
+     * 현재 월 조회
+     */
+    getMonth: function () {
+      var date = new Date();
+      return date.getMonth() + 1;
+    },
+
+    /**
+     * 현재 월 조회
+     */
+    getFullMonth: function () {
+      var date = new Date();
+      return this.prefixZero(date.getMonth() + 1, 2);
+    },
+
+    /**
+     * 현재 일 조회
+     */
+    getDay: function () {
+      var date = new Date();
+      return date.getDate();
+    },
+
+    /**
+     * 현재 일 조회
+     */
+    getFullDay: function () {
+      var date = new Date();
+      return this.prefixZero(date.getDate(), 2);
+    },
+
+    /**
+     * 현재 시간 조회
+     */
+    getHour: function () {
+      var date = new Date();
+      return date.getFullYear();
+    },
+
+    /**
+     * 현재 분 조회
+     */
+    getMinute: function () {
+      var date = new Date();
+      return date.getMinutes() + 1;
+    },
+
+    /**
+     * 현재 초 조회
+     */
+    getSeconds: function () {
+      var date = new Date();
+      return date.getSeconds();
+    },
+
+    /**
+     * 시간 구하기
+     *
+     * param 설명
+     *
+     * options = {
+     * 	 addHour(Integer),
+     *   addMinute(Integer),
+     *   addSeconds(Integer),
+     *   separator(String)
+     * }
+     */
+    getFullTime: function (options) {
+      if (this.isEmpty(options) == true) {
+        options = {
+          addHour: 0,
+          addMinute: 0,
+          addSeconds: 0,
+          separator: "-",
+        };
+      } else {
+        options.addHour = options.addHour || 0;
+        options.addMinute = options.addMinute || 0;
+        options.addSeconds = options.addSeconds || 0;
+        options.separator = options.separator || ":";
+      }
+
+      var date = new Date();
+      date.setHours(date.getHours() + options.addHour);
+      date.setMinutes(date.getMinutes() + options.addMinute);
+      date.setSeconds(date.getSeconds() + options.addSeconds);
+
+      var h = date.getHours();
+      var m = date.getMinutes();
+      var s = date.getSeconds();
+
+      return (
+        this.prefixZero(h, 2) +
+        ":" +
+        this.prefixZero(m, 2) +
+        ":" +
+        this.prefixZero(s, 2)
+      );
+    },
+
+    /**
+     * 시간 구하기
+     *
+     * param 설명
+     *
+     * options = {
+     * 	 addHour(Integer),
+     *   addMinute(Integer),
+     *   separator(String)
+     * }
+     */
+    getTime: function (options) {
+      if (this.isEmpty(options) == true) {
+        options = {
+          addHour: 0,
+          addMinute: 0,
+          separator: "-",
+        };
+      } else {
+        options.addHour = options.addHour || 0;
+        options.addMinute = options.addMinute || 0;
+        options.separator = options.separator || ":";
+      }
+
+      var date = new Date();
+      date.setHours(date.getHours() + options.addHour);
+      date.setMinutes(date.getMinutes() + options.addMinute);
+
+      var h = date.getHours();
+      var m = date.getMinutes();
+
+      return this.prefixZero(h, 2) + ":" + this.prefixZero(m, 2);
+    },
+
+    /**
+     * 특정 길이만큼 앞에'0' 붙이기
+     *
+     * param 설명
+     *
+     * text(String or Integer): 맨 뒤에 붙일 문자열(숫자든 문자든 상관웞음)
+     * length(Integer): 해당 값 만큼 '0'을 붙임 (단, text의 문자열 길이를 뺌)
+     * ex) this.prefixZero(2, 5) => 00002, this.prefixZero(20, 5) => 00020
+     *
+     */
+    prefixZero: function (text, length) {
+      var zero = "";
+      var suffix = text;
+
+      if (typeof text === "number") {
+        suffix = text.toString();
+      }
+
+      if (suffix.length < length) {
+        for (let i = 0; i < length - suffix.length; i++) {
+          zero += "0";
+        }
+      }
+      return zero + suffix;
+    },
+
+    /**
+     * Date => text
+     */
+    dateToText: function (date) {
+      var d = new Date(date);
+      var yyyy = d.getFullYear();
+      var mm = d.getMonth() + 1;
+      var dd = d.getDate();
+      return yyyy + "-" + this.prefixZero(mm, 2) + "-" + this.prefixZero(dd, 2);
+    },
+
+    /**
+     * 최솟값은 포함, 최댓값은 제외한 정수 난수 생성(최솟값 ~ 최댓값 - 1)
+     *
+     * param 설명
+     *
+     * min(Integer): 난수 생성시, 최소값
+     * max(Integer): 난수 생성시, 최대값
+     *
+     * ex) getRandomInt(2, 5) => 2~5사이의 정수 난수 값 리턴
+     */
+    getRandomInt: function (min, max) {
+      min = Math.ceil(min);
+      max = Math.floor(max);
+      return Math.floor(Math.random() * (max - min)) + min;
+    },
+
+    /**
+     * 현재 시스템의 URL 조회
+     *
+     * ex) http://localohst:8080, https://www.naver.com
+     */
+    getSystemURL: function () {
+      var url = window.location.protocol + "//" + window.location.host;
+      return url;
+    },
+
+    /**
+     * 현재 시스템의 URL 경로  조회
+     *
+     * ex) http://localohst:8080/dataset/datasetPostList => /dataset/datasetPostList
+     */
+    getSystemPath: function () {
+      var path = window.location.pathname;
+      return path;
+    },
+
+    /**
+     * 3글자 마다 콤마 찍기 (돈)
+     *
+     * ex) 10000 => 10,000
+     */
+    comma: function (text) {
+      try {
+        return text.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
+      } catch (e) {
+        if (this.isEmpty(text) == true) {
+          return "-";
+        } else {
+          return text;
+        }
+      }
+    },
+
+    removeTag: function (data) {
+      // HTML 태그 제거
+      data = data.replace(/<[^>]+>/g, '');
+      // HTML 엔티티 제거
+      data = data.replace(/&[^;]+;/g, '');
+      return data;
+    },
+
+    /**
+     * 3글자 마다 콤마 찍기 (돈)
+     *
+     * ex) 10,000 => 10000
+     */
+    removeComma: function (text) {
+      try {
+        return text.toString().replace(/,/g, "");
+      } catch (e) {
+        if (this.isEmpty(text) == true) {
+          return "-";
+        } else {
+          return text;
+        }
+      }
+    },
+
+    /**
+     * json 데이터 가지고 오기 (외부 JSON 파일 PATH or URL) (동기 요청)
+     */
+    getJsonByPromise: function (url, isAsync) {
+      if (this.isEmpty(url) == true) {
+        new Error(
+          "COMMON_UTIL - getJson(url, isAsync) Error : url(parameter) is empty"
+        );
+      }
+      if (this.isEmpty(isAsync) == true) {
+        isAsync = true;
+      }
+
+      return new Promise(function (resolve, reject) {
+        var xhr = new XMLHttpRequest();
+        xhr.onload = function (e) {
+          if (xhr.readyState === 4) {
+            if (xhr.status === 200) {
+              resolve(JSON.parse(this.responseText));
+            } else {
+              reject(this);
+            }
+          }
+        };
+        xhr.onerror = function (e) {
+          reject(this);
+        };
+        xhr.open("GET", url, isAsync);
+        //xhr.responseType='json';
+        xhr.send(null);
+      });
+    },
+
+    /**
+     * json 데이터 가지고 오기 (동기 요청) (외부 JSON 파일 PATH or URL)
+     */
+    getJsonBySync: function (url) {
+      var result = {};
+      if (this.isEmpty(url) == true) {
+        new Error(
+          "COMMON_UTIL - getJson(url, isAsync) Error : url(parameter) is empty"
+        );
+        return result;
+      }
+
+      var xhr = new XMLHttpRequest();
+      xhr.onload = function (e) {
+        if (xhr.readyState === 4) {
+          if (xhr.status === 200) {
+            result = JSON.parse(this.responseText);
+          } else {
+            console.error(this);
+          }
+        }
+      };
+      xhr.onerror = function (e) {
+        console.error(this);
+      };
+      xhr.open("GET", url, false);
+      xhr.send(null);
+
+      return result;
+    },
+
+    /**
+     * 포커스 가능한 요소 가져오기
+     */
+    getFocusableElements(container = document) {
+      return Array.from(
+          container.querySelectorAll(
+              'a, button, input, textarea, select, details, [tabindex]:not([tabindex="-1"])'
+          )
+      ).filter(el => !el.hasAttribute('disabled'));
+  }
+
+  };
+
+
+
+  //초기화
+  function init() {
+    //console.info('commonUtil.js initialized.');
+    return _utils;
+  }
+
+  return init();
+})();
+
+export default COMMON_UTIL;
 
client/resources/js/defaultSearchParams.js (added)
+++ client/resources/js/defaultSearchParams.js
@@ -0,0 +1,19 @@
+// 기본 검색 객체
+const defaultSearchParams = {
+    searchType: "", // 검색 조건
+    searchText: "", // 검색어
+    searchFilter: "",// 필터
+    currentPage: 1, // 현재 페이지
+    recordSize: 10, // 한 페이지에 표시할 데이터 개수
+    pageSize: 10, // 하단에 표시할 페이지 번호 개수
+    startDt: "", // 시작일
+    endDt: "",  // 종료일
+    id: "", // 게시판 ID
+    authrtId: "", // 로그인 사용자 권한ID
+    searchCtgry: "", //상담 카테고리
+    searchStatus: "", //상담 상태
+    sort : "frst_reg_dt",
+    searchYn: false
+};
+
+export { defaultSearchParams };(파일 끝에 줄바꿈 문자 없음)
 
client/resources/js/directives.js (added)
+++ client/resources/js/directives.js
@@ -0,0 +1,13 @@
+export default {
+  mounted(el, binding) {
+    el.clickOutsideEvent = function (event) {
+      if (!(el == event.target || el.contains(event.target))) {
+        binding.value();
+      }
+    };
+    document.body.addEventListener("click", el.clickOutsideEvent);
+  },
+  unmounted(el) {
+    document.body.removeEventListener("click", el.clickOutsideEvent);
+  },
+};
 
client/resources/js/queryParams.js (added)
+++ client/resources/js/queryParams.js
@@ -0,0 +1,53 @@
+export default {
+    methods: {
+        /** 검색 조건 관련 **/
+        saveQueryParams(key, value) {
+            sessionStorage.setItem(key, JSON.stringify(value));
+        },
+        resotreQueryParams(key) {
+            const queryParams = sessionStorage.getItem(key);
+            if(queryParams) {
+                this.search = JSON.parse(queryParams);
+            }
+        },
+        saveRedirect(key, value) {
+            sessionStorage.setItem(key, value);
+        },
+        restoreRedirect(key) {
+            const queryParams = sessionStorage.getItem(key);
+            return queryParams;
+        },
+        clearQueryParams() {
+            sessionStorage.clear();
+        },
+        /** 검색 조건 관련 **/
+
+        /** pageId 추출 **/
+        fnIdExtraction() {
+            if(this.$route.query.pageId != null && this.$route.query.pageId != undefined && this.$route.query.pageId != '') {
+                this.pageId = this.$route.query.pageId;
+            } else {
+                // const { API_SERVER_HOST } = require("../../../../../../Global");
+                const { API_SERVER_HOST } = require("../../../Global");
+                const storeUrl = API_SERVER_HOST + this.restoreRedirect('redirect'); // 세션 스토리지에서 URL정보 호출
+                const url = new URL(storeUrl);  // URL 객체 생성
+                const queryString = url.search; // 쿼리 스트링 추출
+                const params = new URLSearchParams(queryString); // URLSearchParams 객체 생성
+                this.pageId = params.get('pageId'); // pageId 파라미터 값 추출
+            }
+        },
+        /** pageId 추출 **/
+
+        /** 게시판 pageId 추출 **/
+        fnBbsIdExtraction() {
+            if(this.$route.path != null && this.$route.path != undefined && this.$route.path != '') {
+                const regex = /^\/[^\/]+\/([^\/]+)\//; // 두 번째 '/'와 세 번째 '/' 사이의 문자열 추출
+                const match = this.$route.path.match(regex); // 라우터 경로와 정규식 매칭
+                if(match) {
+                    this.bbsMngId = match[1];
+                }
+            }
+        },
+        /** pageId 추출 **/
+    }
+}(파일 끝에 줄바꿈 문자 없음)
 
client/resources/lib/swiper/swiper-bundle.min.css (added)
+++ client/resources/lib/swiper/swiper-bundle.min.css
@@ -0,0 +1,13 @@
+/**
+ * Swiper 11.1.1
+ * Most modern mobile touch slider and framework with hardware accelerated transitions
+ * https://swiperjs.com
+ *
+ * Copyright 2014-2024 Vladimir Kharlampidi
+ *
+ * Released under the MIT License
+ *
+ * Released on: April 9, 2024
+ */
+
+@font-face{font-family:swiper-icons;src:url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:var(--swiper-navigation-top-offset,50%);width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next svg,.swiper-button-prev svg{width:100%;height:100%;object-fit:contain;transform-origin:center}.swiper-rtl .swiper-button-next svg,.swiper-rtl .swiper-button-prev svg{transform:rotate(180deg)}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:var(--swiper-navigation-sides-offset,10px);right:auto}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-lock{display:none}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:'next'}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);top:var(--swiper-pagination-top,auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius,50%);background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:var(--swiper-pagination-right,8px);left:var(--swiper-pagination-left,auto);top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,rgba(0,0,0,.25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:var(--swiper-pagination-progressbar-size,4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;touch-action:none;background:var(--swiper-scrollbar-bg-color,rgba(0,0,0,.1))}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:var(--swiper-scrollbar-sides-offset,1%);bottom:var(--swiper-scrollbar-bottom,4px);top:var(--swiper-scrollbar-top,auto);z-index:50;height:var(--swiper-scrollbar-size,4px);width:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;left:var(--swiper-scrollbar-left,auto);right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);z-index:50;width:var(--swiper-scrollbar-size,4px);height:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:var(--swiper-scrollbar-drag-bg-color,rgba(0,0,0,.5));border-radius:var(--swiper-scrollbar-border-radius,10px);left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move;touch-action:none}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active{pointer-events:auto}.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-cube .swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-creative .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}(파일 끝에 줄바꿈 문자 없음)
 
client/resources/lib/swiper/swiper-bundle.min.js (added)
+++ client/resources/lib/swiper/swiper-bundle.min.js
@@ -0,0 +1,14 @@
+/**
+ * Swiper 11.1.1
+ * Most modern mobile touch slider and framework with hardware accelerated transitions
+ * https://swiperjs.com
+ *
+ * Copyright 2014-2024 Vladimir Kharlampidi
+ *
+ * Released under the MIT License
+ *
+ * Released on: April 9, 2024
+ */
+
+var Swiper=function(){"use strict";function e(e){return null!==e&&"object"==typeof e&&"constructor"in e&&e.constructor===Object}function t(s,a){void 0===s&&(s={}),void 0===a&&(a={}),Object.keys(a).forEach((i=>{void 0===s[i]?s[i]=a[i]:e(a[i])&&e(s[i])&&Object.keys(a[i]).length>0&&t(s[i],a[i])}))}const s={body:{},addEventListener(){},removeEventListener(){},activeElement:{blur(){},nodeName:""},querySelector:()=>null,querySelectorAll:()=>[],getElementById:()=>null,createEvent:()=>({initEvent(){}}),createElement:()=>({children:[],childNodes:[],style:{},setAttribute(){},getElementsByTagName:()=>[]}),createElementNS:()=>({}),importNode:()=>null,location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};function a(){const e="undefined"!=typeof document?document:{};return t(e,s),e}const i={document:s,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState(){},pushState(){},go(){},back(){}},CustomEvent:function(){return this},addEventListener(){},removeEventListener(){},getComputedStyle:()=>({getPropertyValue:()=>""}),Image(){},Date(){},screen:{},setTimeout(){},clearTimeout(){},matchMedia:()=>({}),requestAnimationFrame:e=>"undefined"==typeof setTimeout?(e(),null):setTimeout(e,0),cancelAnimationFrame(e){"undefined"!=typeof setTimeout&&clearTimeout(e)}};function r(){const e="undefined"!=typeof window?window:{};return t(e,i),e}function n(e){return void 0===e&&(e=""),e.trim().split(" ").filter((e=>!!e.trim()))}function l(e,t){return void 0===t&&(t=0),setTimeout(e,t)}function o(){return Date.now()}function d(e,t){void 0===t&&(t="x");const s=r();let a,i,n;const l=function(e){const t=r();let s;return t.getComputedStyle&&(s=t.getComputedStyle(e,null)),!s&&e.currentStyle&&(s=e.currentStyle),s||(s=e.style),s}(e);return s.WebKitCSSMatrix?(i=l.transform||l.webkitTransform,i.split(",").length>6&&(i=i.split(", ").map((e=>e.replace(",","."))).join(", ")),n=new s.WebKitCSSMatrix("none"===i?"":i)):(n=l.MozTransform||l.OTransform||l.MsTransform||l.msTransform||l.transform||l.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,"),a=n.toString().split(",")),"x"===t&&(i=s.WebKitCSSMatrix?n.m41:16===a.length?parseFloat(a[12]):parseFloat(a[4])),"y"===t&&(i=s.WebKitCSSMatrix?n.m42:16===a.length?parseFloat(a[13]):parseFloat(a[5])),i||0}function c(e){return"object"==typeof e&&null!==e&&e.constructor&&"Object"===Object.prototype.toString.call(e).slice(8,-1)}function p(){const e=Object(arguments.length<=0?void 0:arguments[0]),t=["__proto__","constructor","prototype"];for(let a=1;a<arguments.length;a+=1){const i=a<0||arguments.length<=a?void 0:arguments[a];if(null!=i&&(s=i,!("undefined"!=typeof window&&void 0!==window.HTMLElement?s instanceof HTMLElement:s&&(1===s.nodeType||11===s.nodeType)))){const s=Object.keys(Object(i)).filter((e=>t.indexOf(e)<0));for(let t=0,a=s.length;t<a;t+=1){const a=s[t],r=Object.getOwnPropertyDescriptor(i,a);void 0!==r&&r.enumerable&&(c(e[a])&&c(i[a])?i[a].__swiper__?e[a]=i[a]:p(e[a],i[a]):!c(e[a])&&c(i[a])?(e[a]={},i[a].__swiper__?e[a]=i[a]:p(e[a],i[a])):e[a]=i[a])}}}var s;return e}function u(e,t,s){e.style.setProperty(t,s)}function m(e){let{swiper:t,targetPosition:s,side:a}=e;const i=r(),n=-t.translate;let l,o=null;const d=t.params.speed;t.wrapperEl.style.scrollSnapType="none",i.cancelAnimationFrame(t.cssModeFrameID);const c=s>n?"next":"prev",p=(e,t)=>"next"===c&&e>=t||"prev"===c&&e<=t,u=()=>{l=(new Date).getTime(),null===o&&(o=l);const e=Math.max(Math.min((l-o)/d,1),0),r=.5-Math.cos(e*Math.PI)/2;let c=n+r*(s-n);if(p(c,s)&&(c=s),t.wrapperEl.scrollTo({[a]:c}),p(c,s))return t.wrapperEl.style.overflow="hidden",t.wrapperEl.style.scrollSnapType="",setTimeout((()=>{t.wrapperEl.style.overflow="",t.wrapperEl.scrollTo({[a]:c})})),void i.cancelAnimationFrame(t.cssModeFrameID);t.cssModeFrameID=i.requestAnimationFrame(u)};u()}function h(e){return e.querySelector(".swiper-slide-transform")||e.shadowRoot&&e.shadowRoot.querySelector(".swiper-slide-transform")||e}function f(e,t){return void 0===t&&(t=""),[...e.children].filter((e=>e.matches(t)))}function g(e){try{return void console.warn(e)}catch(e){}}function v(e,t){void 0===t&&(t=[]);const s=document.createElement(e);return s.classList.add(...Array.isArray(t)?t:n(t)),s}function w(e){const t=r(),s=a(),i=e.getBoundingClientRect(),n=s.body,l=e.clientTop||n.clientTop||0,o=e.clientLeft||n.clientLeft||0,d=e===t?t.scrollY:e.scrollTop,c=e===t?t.scrollX:e.scrollLeft;return{top:i.top+d-l,left:i.left+c-o}}function b(e,t){return r().getComputedStyle(e,null).getPropertyValue(t)}function y(e){let t,s=e;if(s){for(t=0;null!==(s=s.previousSibling);)1===s.nodeType&&(t+=1);return t}}function E(e,t){const s=[];let a=e.parentElement;for(;a;)t?a.matches(t)&&s.push(a):s.push(a),a=a.parentElement;return s}function x(e,t){t&&e.addEventListener("transitionend",(function s(a){a.target===e&&(t.call(e,a),e.removeEventListener("transitionend",s))}))}function S(e,t,s){const a=r();return s?e["width"===t?"offsetWidth":"offsetHeight"]+parseFloat(a.getComputedStyle(e,null).getPropertyValue("width"===t?"margin-right":"margin-top"))+parseFloat(a.getComputedStyle(e,null).getPropertyValue("width"===t?"margin-left":"margin-bottom")):e.offsetWidth}function T(e){return(Array.isArray(e)?e:[e]).filter((e=>!!e))}let M,C,P;function L(){return M||(M=function(){const e=r(),t=a();return{smoothScroll:t.documentElement&&t.documentElement.style&&"scrollBehavior"in t.documentElement.style,touch:!!("ontouchstart"in e||e.DocumentTouch&&t instanceof e.DocumentTouch)}}()),M}function I(e){return void 0===e&&(e={}),C||(C=function(e){let{userAgent:t}=void 0===e?{}:e;const s=L(),a=r(),i=a.navigator.platform,n=t||a.navigator.userAgent,l={ios:!1,android:!1},o=a.screen.width,d=a.screen.height,c=n.match(/(Android);?[\s\/]+([\d.]+)?/);let p=n.match(/(iPad).*OS\s([\d_]+)/);const u=n.match(/(iPod)(.*OS\s([\d_]+))?/),m=!p&&n.match(/(iPhone\sOS|iOS)\s([\d_]+)/),h="Win32"===i;let f="MacIntel"===i;return!p&&f&&s.touch&&["1024x1366","1366x1024","834x1194","1194x834","834x1112","1112x834","768x1024","1024x768","820x1180","1180x820","810x1080","1080x810"].indexOf(`${o}x${d}`)>=0&&(p=n.match(/(Version)\/([\d.]+)/),p||(p=[0,1,"13_0_0"]),f=!1),c&&!h&&(l.os="android",l.android=!0),(p||m||u)&&(l.os="ios",l.ios=!0),l}(e)),C}function z(){return P||(P=function(){const e=r(),t=I();let s=!1;function a(){const t=e.navigator.userAgent.toLowerCase();return t.indexOf("safari")>=0&&t.indexOf("chrome")<0&&t.indexOf("android")<0}if(a()){const t=String(e.navigator.userAgent);if(t.includes("Version/")){const[e,a]=t.split("Version/")[1].split(" ")[0].split(".").map((e=>Number(e)));s=e<16||16===e&&a<2}}const i=/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(e.navigator.userAgent),n=a();return{isSafari:s||n,needPerspectiveFix:s,need3dFix:n||i&&t.ios,isWebView:i}}()),P}var A={on(e,t,s){const a=this;if(!a.eventsListeners||a.destroyed)return a;if("function"!=typeof t)return a;const i=s?"unshift":"push";return e.split(" ").forEach((e=>{a.eventsListeners[e]||(a.eventsListeners[e]=[]),a.eventsListeners[e][i](t)})),a},once(e,t,s){const a=this;if(!a.eventsListeners||a.destroyed)return a;if("function"!=typeof t)return a;function i(){a.off(e,i),i.__emitterProxy&&delete i.__emitterProxy;for(var s=arguments.length,r=new Array(s),n=0;n<s;n++)r[n]=arguments[n];t.apply(a,r)}return i.__emitterProxy=t,a.on(e,i,s)},onAny(e,t){const s=this;if(!s.eventsListeners||s.destroyed)return s;if("function"!=typeof e)return s;const a=t?"unshift":"push";return s.eventsAnyListeners.indexOf(e)<0&&s.eventsAnyListeners[a](e),s},offAny(e){const t=this;if(!t.eventsListeners||t.destroyed)return t;if(!t.eventsAnyListeners)return t;const s=t.eventsAnyListeners.indexOf(e);return s>=0&&t.eventsAnyListeners.splice(s,1),t},off(e,t){const s=this;return!s.eventsListeners||s.destroyed?s:s.eventsListeners?(e.split(" ").forEach((e=>{void 0===t?s.eventsListeners[e]=[]:s.eventsListeners[e]&&s.eventsListeners[e].forEach(((a,i)=>{(a===t||a.__emitterProxy&&a.__emitterProxy===t)&&s.eventsListeners[e].splice(i,1)}))})),s):s},emit(){const e=this;if(!e.eventsListeners||e.destroyed)return e;if(!e.eventsListeners)return e;let t,s,a;for(var i=arguments.length,r=new Array(i),n=0;n<i;n++)r[n]=arguments[n];"string"==typeof r[0]||Array.isArray(r[0])?(t=r[0],s=r.slice(1,r.length),a=e):(t=r[0].events,s=r[0].data,a=r[0].context||e),s.unshift(a);return(Array.isArray(t)?t:t.split(" ")).forEach((t=>{e.eventsAnyListeners&&e.eventsAnyListeners.length&&e.eventsAnyListeners.forEach((e=>{e.apply(a,[t,...s])})),e.eventsListeners&&e.eventsListeners[t]&&e.eventsListeners[t].forEach((e=>{e.apply(a,s)}))})),e}};const $=(e,t,s)=>{t&&!e.classList.contains(s)?e.classList.add(s):!t&&e.classList.contains(s)&&e.classList.remove(s)};const k=(e,t)=>{if(!e||e.destroyed||!e.params)return;const s=t.closest(e.isElement?"swiper-slide":`.${e.params.slideClass}`);if(s){let t=s.querySelector(`.${e.params.lazyPreloaderClass}`);!t&&e.isElement&&(s.shadowRoot?t=s.shadowRoot.querySelector(`.${e.params.lazyPreloaderClass}`):requestAnimationFrame((()=>{s.shadowRoot&&(t=s.shadowRoot.querySelector(`.${e.params.lazyPreloaderClass}`),t&&t.remove())}))),t&&t.remove()}},O=(e,t)=>{if(!e.slides[t])return;const s=e.slides[t].querySelector('[loading="lazy"]');s&&s.removeAttribute("loading")},D=e=>{if(!e||e.destroyed||!e.params)return;let t=e.params.lazyPreloadPrevNext;const s=e.slides.length;if(!s||!t||t<0)return;t=Math.min(t,s);const a="auto"===e.params.slidesPerView?e.slidesPerViewDynamic():Math.ceil(e.params.slidesPerView),i=e.activeIndex;if(e.params.grid&&e.params.grid.rows>1){const s=i,r=[s-t];return r.push(...Array.from({length:t}).map(((e,t)=>s+a+t))),void e.slides.forEach(((t,s)=>{r.includes(t.column)&&O(e,s)}))}const r=i+a-1;if(e.params.rewind||e.params.loop)for(let a=i-t;a<=r+t;a+=1){const t=(a%s+s)%s;(t<i||t>r)&&O(e,t)}else for(let a=Math.max(i-t,0);a<=Math.min(r+t,s-1);a+=1)a!==i&&(a>r||a<i)&&O(e,a)};var G={updateSize:function(){const e=this;let t,s;const a=e.el;t=void 0!==e.params.width&&null!==e.params.width?e.params.width:a.clientWidth,s=void 0!==e.params.height&&null!==e.params.height?e.params.height:a.clientHeight,0===t&&e.isHorizontal()||0===s&&e.isVertical()||(t=t-parseInt(b(a,"padding-left")||0,10)-parseInt(b(a,"padding-right")||0,10),s=s-parseInt(b(a,"padding-top")||0,10)-parseInt(b(a,"padding-bottom")||0,10),Number.isNaN(t)&&(t=0),Number.isNaN(s)&&(s=0),Object.assign(e,{width:t,height:s,size:e.isHorizontal()?t:s}))},updateSlides:function(){const e=this;function t(t,s){return parseFloat(t.getPropertyValue(e.getDirectionLabel(s))||0)}const s=e.params,{wrapperEl:a,slidesEl:i,size:r,rtlTranslate:n,wrongRTL:l}=e,o=e.virtual&&s.virtual.enabled,d=o?e.virtual.slides.length:e.slides.length,c=f(i,`.${e.params.slideClass}, swiper-slide`),p=o?e.virtual.slides.length:c.length;let m=[];const h=[],g=[];let v=s.slidesOffsetBefore;"function"==typeof v&&(v=s.slidesOffsetBefore.call(e));let w=s.slidesOffsetAfter;"function"==typeof w&&(w=s.slidesOffsetAfter.call(e));const y=e.snapGrid.length,E=e.slidesGrid.length;let x=s.spaceBetween,T=-v,M=0,C=0;if(void 0===r)return;"string"==typeof x&&x.indexOf("%")>=0?x=parseFloat(x.replace("%",""))/100*r:"string"==typeof x&&(x=parseFloat(x)),e.virtualSize=-x,c.forEach((e=>{n?e.style.marginLeft="":e.style.marginRight="",e.style.marginBottom="",e.style.marginTop=""})),s.centeredSlides&&s.cssMode&&(u(a,"--swiper-centered-offset-before",""),u(a,"--swiper-centered-offset-after",""));const P=s.grid&&s.grid.rows>1&&e.grid;let L;P?e.grid.initSlides(c):e.grid&&e.grid.unsetSlides();const I="auto"===s.slidesPerView&&s.breakpoints&&Object.keys(s.breakpoints).filter((e=>void 0!==s.breakpoints[e].slidesPerView)).length>0;for(let a=0;a<p;a+=1){let i;if(L=0,c[a]&&(i=c[a]),P&&e.grid.updateSlide(a,i,c),!c[a]||"none"!==b(i,"display")){if("auto"===s.slidesPerView){I&&(c[a].style[e.getDirectionLabel("width")]="");const r=getComputedStyle(i),n=i.style.transform,l=i.style.webkitTransform;if(n&&(i.style.transform="none"),l&&(i.style.webkitTransform="none"),s.roundLengths)L=e.isHorizontal()?S(i,"width",!0):S(i,"height",!0);else{const e=t(r,"width"),s=t(r,"padding-left"),a=t(r,"padding-right"),n=t(r,"margin-left"),l=t(r,"margin-right"),o=r.getPropertyValue("box-sizing");if(o&&"border-box"===o)L=e+n+l;else{const{clientWidth:t,offsetWidth:r}=i;L=e+s+a+n+l+(r-t)}}n&&(i.style.transform=n),l&&(i.style.webkitTransform=l),s.roundLengths&&(L=Math.floor(L))}else L=(r-(s.slidesPerView-1)*x)/s.slidesPerView,s.roundLengths&&(L=Math.floor(L)),c[a]&&(c[a].style[e.getDirectionLabel("width")]=`${L}px`);c[a]&&(c[a].swiperSlideSize=L),g.push(L),s.centeredSlides?(T=T+L/2+M/2+x,0===M&&0!==a&&(T=T-r/2-x),0===a&&(T=T-r/2-x),Math.abs(T)<.001&&(T=0),s.roundLengths&&(T=Math.floor(T)),C%s.slidesPerGroup==0&&m.push(T),h.push(T)):(s.roundLengths&&(T=Math.floor(T)),(C-Math.min(e.params.slidesPerGroupSkip,C))%e.params.slidesPerGroup==0&&m.push(T),h.push(T),T=T+L+x),e.virtualSize+=L+x,M=L,C+=1}}if(e.virtualSize=Math.max(e.virtualSize,r)+w,n&&l&&("slide"===s.effect||"coverflow"===s.effect)&&(a.style.width=`${e.virtualSize+x}px`),s.setWrapperSize&&(a.style[e.getDirectionLabel("width")]=`${e.virtualSize+x}px`),P&&e.grid.updateWrapperSize(L,m),!s.centeredSlides){const t=[];for(let a=0;a<m.length;a+=1){let i=m[a];s.roundLengths&&(i=Math.floor(i)),m[a]<=e.virtualSize-r&&t.push(i)}m=t,Math.floor(e.virtualSize-r)-Math.floor(m[m.length-1])>1&&m.push(e.virtualSize-r)}if(o&&s.loop){const t=g[0]+x;if(s.slidesPerGroup>1){const a=Math.ceil((e.virtual.slidesBefore+e.virtual.slidesAfter)/s.slidesPerGroup),i=t*s.slidesPerGroup;for(let e=0;e<a;e+=1)m.push(m[m.length-1]+i)}for(let a=0;a<e.virtual.slidesBefore+e.virtual.slidesAfter;a+=1)1===s.slidesPerGroup&&m.push(m[m.length-1]+t),h.push(h[h.length-1]+t),e.virtualSize+=t}if(0===m.length&&(m=[0]),0!==x){const t=e.isHorizontal()&&n?"marginLeft":e.getDirectionLabel("marginRight");c.filter(((e,t)=>!(s.cssMode&&!s.loop)||t!==c.length-1)).forEach((e=>{e.style[t]=`${x}px`}))}if(s.centeredSlides&&s.centeredSlidesBounds){let e=0;g.forEach((t=>{e+=t+(x||0)})),e-=x;const t=e-r;m=m.map((e=>e<=0?-v:e>t?t+w:e))}if(s.centerInsufficientSlides){let e=0;if(g.forEach((t=>{e+=t+(x||0)})),e-=x,e<r){const t=(r-e)/2;m.forEach(((e,s)=>{m[s]=e-t})),h.forEach(((e,s)=>{h[s]=e+t}))}}if(Object.assign(e,{slides:c,snapGrid:m,slidesGrid:h,slidesSizesGrid:g}),s.centeredSlides&&s.cssMode&&!s.centeredSlidesBounds){u(a,"--swiper-centered-offset-before",-m[0]+"px"),u(a,"--swiper-centered-offset-after",e.size/2-g[g.length-1]/2+"px");const t=-e.snapGrid[0],s=-e.slidesGrid[0];e.snapGrid=e.snapGrid.map((e=>e+t)),e.slidesGrid=e.slidesGrid.map((e=>e+s))}if(p!==d&&e.emit("slidesLengthChange"),m.length!==y&&(e.params.watchOverflow&&e.checkOverflow(),e.emit("snapGridLengthChange")),h.length!==E&&e.emit("slidesGridLengthChange"),s.watchSlidesProgress&&e.updateSlidesOffset(),e.emit("slidesUpdated"),!(o||s.cssMode||"slide"!==s.effect&&"fade"!==s.effect)){const t=`${s.containerModifierClass}backface-hidden`,a=e.el.classList.contains(t);p<=s.maxBackfaceHiddenSlides?a||e.el.classList.add(t):a&&e.el.classList.remove(t)}},updateAutoHeight:function(e){const t=this,s=[],a=t.virtual&&t.params.virtual.enabled;let i,r=0;"number"==typeof e?t.setTransition(e):!0===e&&t.setTransition(t.params.speed);const n=e=>a?t.slides[t.getSlideIndexByData(e)]:t.slides[e];if("auto"!==t.params.slidesPerView&&t.params.slidesPerView>1)if(t.params.centeredSlides)(t.visibleSlides||[]).forEach((e=>{s.push(e)}));else for(i=0;i<Math.ceil(t.params.slidesPerView);i+=1){const e=t.activeIndex+i;if(e>t.slides.length&&!a)break;s.push(n(e))}else s.push(n(t.activeIndex));for(i=0;i<s.length;i+=1)if(void 0!==s[i]){const e=s[i].offsetHeight;r=e>r?e:r}(r||0===r)&&(t.wrapperEl.style.height=`${r}px`)},updateSlidesOffset:function(){const e=this,t=e.slides,s=e.isElement?e.isHorizontal()?e.wrapperEl.offsetLeft:e.wrapperEl.offsetTop:0;for(let a=0;a<t.length;a+=1)t[a].swiperSlideOffset=(e.isHorizontal()?t[a].offsetLeft:t[a].offsetTop)-s-e.cssOverflowAdjustment()},updateSlidesProgress:function(e){void 0===e&&(e=this&&this.translate||0);const t=this,s=t.params,{slides:a,rtlTranslate:i,snapGrid:r}=t;if(0===a.length)return;void 0===a[0].swiperSlideOffset&&t.updateSlidesOffset();let n=-e;i&&(n=e),a.forEach((e=>{e.classList.remove(s.slideVisibleClass,s.slideFullyVisibleClass)})),t.visibleSlidesIndexes=[],t.visibleSlides=[];let l=s.spaceBetween;"string"==typeof l&&l.indexOf("%")>=0?l=parseFloat(l.replace("%",""))/100*t.size:"string"==typeof l&&(l=parseFloat(l));for(let e=0;e<a.length;e+=1){const o=a[e];let d=o.swiperSlideOffset;s.cssMode&&s.centeredSlides&&(d-=a[0].swiperSlideOffset);const c=(n+(s.centeredSlides?t.minTranslate():0)-d)/(o.swiperSlideSize+l),p=(n-r[0]+(s.centeredSlides?t.minTranslate():0)-d)/(o.swiperSlideSize+l),u=-(n-d),m=u+t.slidesSizesGrid[e],h=u>=0&&u<=t.size-t.slidesSizesGrid[e];(u>=0&&u<t.size-1||m>1&&m<=t.size||u<=0&&m>=t.size)&&(t.visibleSlides.push(o),t.visibleSlidesIndexes.push(e),a[e].classList.add(s.slideVisibleClass)),h&&a[e].classList.add(s.slideFullyVisibleClass),o.progress=i?-c:c,o.originalProgress=i?-p:p}},updateProgress:function(e){const t=this;if(void 0===e){const s=t.rtlTranslate?-1:1;e=t&&t.translate&&t.translate*s||0}const s=t.params,a=t.maxTranslate()-t.minTranslate();let{progress:i,isBeginning:r,isEnd:n,progressLoop:l}=t;const o=r,d=n;if(0===a)i=0,r=!0,n=!0;else{i=(e-t.minTranslate())/a;const s=Math.abs(e-t.minTranslate())<1,l=Math.abs(e-t.maxTranslate())<1;r=s||i<=0,n=l||i>=1,s&&(i=0),l&&(i=1)}if(s.loop){const s=t.getSlideIndexByData(0),a=t.getSlideIndexByData(t.slides.length-1),i=t.slidesGrid[s],r=t.slidesGrid[a],n=t.slidesGrid[t.slidesGrid.length-1],o=Math.abs(e);l=o>=i?(o-i)/n:(o+n-r)/n,l>1&&(l-=1)}Object.assign(t,{progress:i,progressLoop:l,isBeginning:r,isEnd:n}),(s.watchSlidesProgress||s.centeredSlides&&s.autoHeight)&&t.updateSlidesProgress(e),r&&!o&&t.emit("reachBeginning toEdge"),n&&!d&&t.emit("reachEnd toEdge"),(o&&!r||d&&!n)&&t.emit("fromEdge"),t.emit("progress",i)},updateSlidesClasses:function(){const e=this,{slides:t,params:s,slidesEl:a,activeIndex:i}=e,r=e.virtual&&s.virtual.enabled,n=e.grid&&s.grid&&s.grid.rows>1,l=e=>f(a,`.${s.slideClass}${e}, swiper-slide${e}`)[0];let o,d,c;if(r)if(s.loop){let t=i-e.virtual.slidesBefore;t<0&&(t=e.virtual.slides.length+t),t>=e.virtual.slides.length&&(t-=e.virtual.slides.length),o=l(`[data-swiper-slide-index="${t}"]`)}else o=l(`[data-swiper-slide-index="${i}"]`);else n?(o=t.filter((e=>e.column===i))[0],c=t.filter((e=>e.column===i+1))[0],d=t.filter((e=>e.column===i-1))[0]):o=t[i];o&&(n||(c=function(e,t){const s=[];for(;e.nextElementSibling;){const a=e.nextElementSibling;t?a.matches(t)&&s.push(a):s.push(a),e=a}return s}(o,`.${s.slideClass}, swiper-slide`)[0],s.loop&&!c&&(c=t[0]),d=function(e,t){const s=[];for(;e.previousElementSibling;){const a=e.previousElementSibling;t?a.matches(t)&&s.push(a):s.push(a),e=a}return s}(o,`.${s.slideClass}, swiper-slide`)[0],s.loop&&0===!d&&(d=t[t.length-1]))),t.forEach((e=>{$(e,e===o,s.slideActiveClass),$(e,e===c,s.slideNextClass),$(e,e===d,s.slidePrevClass)})),e.emitSlidesClasses()},updateActiveIndex:function(e){const t=this,s=t.rtlTranslate?t.translate:-t.translate,{snapGrid:a,params:i,activeIndex:r,realIndex:n,snapIndex:l}=t;let o,d=e;const c=e=>{let s=e-t.virtual.slidesBefore;return s<0&&(s=t.virtual.slides.length+s),s>=t.virtual.slides.length&&(s-=t.virtual.slides.length),s};if(void 0===d&&(d=function(e){const{slidesGrid:t,params:s}=e,a=e.rtlTranslate?e.translate:-e.translate;let i;for(let e=0;e<t.length;e+=1)void 0!==t[e+1]?a>=t[e]&&a<t[e+1]-(t[e+1]-t[e])/2?i=e:a>=t[e]&&a<t[e+1]&&(i=e+1):a>=t[e]&&(i=e);return s.normalizeSlideIndex&&(i<0||void 0===i)&&(i=0),i}(t)),a.indexOf(s)>=0)o=a.indexOf(s);else{const e=Math.min(i.slidesPerGroupSkip,d);o=e+Math.floor((d-e)/i.slidesPerGroup)}if(o>=a.length&&(o=a.length-1),d===r&&!t.params.loop)return void(o!==l&&(t.snapIndex=o,t.emit("snapIndexChange")));if(d===r&&t.params.loop&&t.virtual&&t.params.virtual.enabled)return void(t.realIndex=c(d));const p=t.grid&&i.grid&&i.grid.rows>1;let u;if(t.virtual&&i.virtual.enabled&&i.loop)u=c(d);else if(p){const e=t.slides.filter((e=>e.column===d))[0];let s=parseInt(e.getAttribute("data-swiper-slide-index"),10);Number.isNaN(s)&&(s=Math.max(t.slides.indexOf(e),0)),u=Math.floor(s/i.grid.rows)}else if(t.slides[d]){const e=t.slides[d].getAttribute("data-swiper-slide-index");u=e?parseInt(e,10):d}else u=d;Object.assign(t,{previousSnapIndex:l,snapIndex:o,previousRealIndex:n,realIndex:u,previousIndex:r,activeIndex:d}),t.initialized&&D(t),t.emit("activeIndexChange"),t.emit("snapIndexChange"),(t.initialized||t.params.runCallbacksOnInit)&&(n!==u&&t.emit("realIndexChange"),t.emit("slideChange"))},updateClickedSlide:function(e,t){const s=this,a=s.params;let i=e.closest(`.${a.slideClass}, swiper-slide`);!i&&s.isElement&&t&&t.length>1&&t.includes(e)&&[...t.slice(t.indexOf(e)+1,t.length)].forEach((e=>{!i&&e.matches&&e.matches(`.${a.slideClass}, swiper-slide`)&&(i=e)}));let r,n=!1;if(i)for(let e=0;e<s.slides.length;e+=1)if(s.slides[e]===i){n=!0,r=e;break}if(!i||!n)return s.clickedSlide=void 0,void(s.clickedIndex=void 0);s.clickedSlide=i,s.virtual&&s.params.virtual.enabled?s.clickedIndex=parseInt(i.getAttribute("data-swiper-slide-index"),10):s.clickedIndex=r,a.slideToClickedSlide&&void 0!==s.clickedIndex&&s.clickedIndex!==s.activeIndex&&s.slideToClickedSlide()}};var H={getTranslate:function(e){void 0===e&&(e=this.isHorizontal()?"x":"y");const{params:t,rtlTranslate:s,translate:a,wrapperEl:i}=this;if(t.virtualTranslate)return s?-a:a;if(t.cssMode)return a;let r=d(i,e);return r+=this.cssOverflowAdjustment(),s&&(r=-r),r||0},setTranslate:function(e,t){const s=this,{rtlTranslate:a,params:i,wrapperEl:r,progress:n}=s;let l,o=0,d=0;s.isHorizontal()?o=a?-e:e:d=e,i.roundLengths&&(o=Math.floor(o),d=Math.floor(d)),s.previousTranslate=s.translate,s.translate=s.isHorizontal()?o:d,i.cssMode?r[s.isHorizontal()?"scrollLeft":"scrollTop"]=s.isHorizontal()?-o:-d:i.virtualTranslate||(s.isHorizontal()?o-=s.cssOverflowAdjustment():d-=s.cssOverflowAdjustment(),r.style.transform=`translate3d(${o}px, ${d}px, 0px)`);const c=s.maxTranslate()-s.minTranslate();l=0===c?0:(e-s.minTranslate())/c,l!==n&&s.updateProgress(e),s.emit("setTranslate",s.translate,t)},minTranslate:function(){return-this.snapGrid[0]},maxTranslate:function(){return-this.snapGrid[this.snapGrid.length-1]},translateTo:function(e,t,s,a,i){void 0===e&&(e=0),void 0===t&&(t=this.params.speed),void 0===s&&(s=!0),void 0===a&&(a=!0);const r=this,{params:n,wrapperEl:l}=r;if(r.animating&&n.preventInteractionOnTransition)return!1;const o=r.minTranslate(),d=r.maxTranslate();let c;if(c=a&&e>o?o:a&&e<d?d:e,r.updateProgress(c),n.cssMode){const e=r.isHorizontal();if(0===t)l[e?"scrollLeft":"scrollTop"]=-c;else{if(!r.support.smoothScroll)return m({swiper:r,targetPosition:-c,side:e?"left":"top"}),!0;l.scrollTo({[e?"left":"top"]:-c,behavior:"smooth"})}return!0}return 0===t?(r.setTransition(0),r.setTranslate(c),s&&(r.emit("beforeTransitionStart",t,i),r.emit("transitionEnd"))):(r.setTransition(t),r.setTranslate(c),s&&(r.emit("beforeTransitionStart",t,i),r.emit("transitionStart")),r.animating||(r.animating=!0,r.onTranslateToWrapperTransitionEnd||(r.onTranslateToWrapperTransitionEnd=function(e){r&&!r.destroyed&&e.target===this&&(r.wrapperEl.removeEventListener("transitionend",r.onTranslateToWrapperTransitionEnd),r.onTranslateToWrapperTransitionEnd=null,delete r.onTranslateToWrapperTransitionEnd,r.animating=!1,s&&r.emit("transitionEnd"))}),r.wrapperEl.addEventListener("transitionend",r.onTranslateToWrapperTransitionEnd))),!0}};function N(e){let{swiper:t,runCallbacks:s,direction:a,step:i}=e;const{activeIndex:r,previousIndex:n}=t;let l=a;if(l||(l=r>n?"next":r<n?"prev":"reset"),t.emit(`transition${i}`),s&&r!==n){if("reset"===l)return void t.emit(`slideResetTransition${i}`);t.emit(`slideChangeTransition${i}`),"next"===l?t.emit(`slideNextTransition${i}`):t.emit(`slidePrevTransition${i}`)}}var X={slideTo:function(e,t,s,a,i){void 0===e&&(e=0),void 0===s&&(s=!0),"string"==typeof e&&(e=parseInt(e,10));const r=this;let n=e;n<0&&(n=0);const{params:l,snapGrid:o,slidesGrid:d,previousIndex:c,activeIndex:p,rtlTranslate:u,wrapperEl:h,enabled:f}=r;if(!f&&!a&&!i||r.destroyed||r.animating&&l.preventInteractionOnTransition)return!1;void 0===t&&(t=r.params.speed);const g=Math.min(r.params.slidesPerGroupSkip,n);let v=g+Math.floor((n-g)/r.params.slidesPerGroup);v>=o.length&&(v=o.length-1);const w=-o[v];if(l.normalizeSlideIndex)for(let e=0;e<d.length;e+=1){const t=-Math.floor(100*w),s=Math.floor(100*d[e]),a=Math.floor(100*d[e+1]);void 0!==d[e+1]?t>=s&&t<a-(a-s)/2?n=e:t>=s&&t<a&&(n=e+1):t>=s&&(n=e)}if(r.initialized&&n!==p){if(!r.allowSlideNext&&(u?w>r.translate&&w>r.minTranslate():w<r.translate&&w<r.minTranslate()))return!1;if(!r.allowSlidePrev&&w>r.translate&&w>r.maxTranslate()&&(p||0)!==n)return!1}let b;if(n!==(c||0)&&s&&r.emit("beforeSlideChangeStart"),r.updateProgress(w),b=n>p?"next":n<p?"prev":"reset",u&&-w===r.translate||!u&&w===r.translate)return r.updateActiveIndex(n),l.autoHeight&&r.updateAutoHeight(),r.updateSlidesClasses(),"slide"!==l.effect&&r.setTranslate(w),"reset"!==b&&(r.transitionStart(s,b),r.transitionEnd(s,b)),!1;if(l.cssMode){const e=r.isHorizontal(),s=u?w:-w;if(0===t){const t=r.virtual&&r.params.virtual.enabled;t&&(r.wrapperEl.style.scrollSnapType="none",r._immediateVirtual=!0),t&&!r._cssModeVirtualInitialSet&&r.params.initialSlide>0?(r._cssModeVirtualInitialSet=!0,requestAnimationFrame((()=>{h[e?"scrollLeft":"scrollTop"]=s}))):h[e?"scrollLeft":"scrollTop"]=s,t&&requestAnimationFrame((()=>{r.wrapperEl.style.scrollSnapType="",r._immediateVirtual=!1}))}else{if(!r.support.smoothScroll)return m({swiper:r,targetPosition:s,side:e?"left":"top"}),!0;h.scrollTo({[e?"left":"top"]:s,behavior:"smooth"})}return!0}return r.setTransition(t),r.setTranslate(w),r.updateActiveIndex(n),r.updateSlidesClasses(),r.emit("beforeTransitionStart",t,a),r.transitionStart(s,b),0===t?r.transitionEnd(s,b):r.animating||(r.animating=!0,r.onSlideToWrapperTransitionEnd||(r.onSlideToWrapperTransitionEnd=function(e){r&&!r.destroyed&&e.target===this&&(r.wrapperEl.removeEventListener("transitionend",r.onSlideToWrapperTransitionEnd),r.onSlideToWrapperTransitionEnd=null,delete r.onSlideToWrapperTransitionEnd,r.transitionEnd(s,b))}),r.wrapperEl.addEventListener("transitionend",r.onSlideToWrapperTransitionEnd)),!0},slideToLoop:function(e,t,s,a){if(void 0===e&&(e=0),void 0===s&&(s=!0),"string"==typeof e){e=parseInt(e,10)}const i=this;if(i.destroyed)return;void 0===t&&(t=i.params.speed);const r=i.grid&&i.params.grid&&i.params.grid.rows>1;let n=e;if(i.params.loop)if(i.virtual&&i.params.virtual.enabled)n+=i.virtual.slidesBefore;else{let e;if(r){const t=n*i.params.grid.rows;e=i.slides.filter((e=>1*e.getAttribute("data-swiper-slide-index")===t))[0].column}else e=i.getSlideIndexByData(n);const t=r?Math.ceil(i.slides.length/i.params.grid.rows):i.slides.length,{centeredSlides:s}=i.params;let l=i.params.slidesPerView;"auto"===l?l=i.slidesPerViewDynamic():(l=Math.ceil(parseFloat(i.params.slidesPerView,10)),s&&l%2==0&&(l+=1));let o=t-e<l;if(s&&(o=o||e<Math.ceil(l/2)),a&&s&&"auto"!==i.params.slidesPerView&&!r&&(o=!1),o){const a=s?e<i.activeIndex?"prev":"next":e-i.activeIndex-1<i.params.slidesPerView?"next":"prev";i.loopFix({direction:a,slideTo:!0,activeSlideIndex:"next"===a?e+1:e-t+1,slideRealIndex:"next"===a?i.realIndex:void 0})}if(r){const e=n*i.params.grid.rows;n=i.slides.filter((t=>1*t.getAttribute("data-swiper-slide-index")===e))[0].column}else n=i.getSlideIndexByData(n)}return requestAnimationFrame((()=>{i.slideTo(n,t,s,a)})),i},slideNext:function(e,t,s){void 0===t&&(t=!0);const a=this,{enabled:i,params:r,animating:n}=a;if(!i||a.destroyed)return a;void 0===e&&(e=a.params.speed);let l=r.slidesPerGroup;"auto"===r.slidesPerView&&1===r.slidesPerGroup&&r.slidesPerGroupAuto&&(l=Math.max(a.slidesPerViewDynamic("current",!0),1));const o=a.activeIndex<r.slidesPerGroupSkip?1:l,d=a.virtual&&r.virtual.enabled;if(r.loop){if(n&&!d&&r.loopPreventsSliding)return!1;if(a.loopFix({direction:"next"}),a._clientLeft=a.wrapperEl.clientLeft,a.activeIndex===a.slides.length-1&&r.cssMode)return requestAnimationFrame((()=>{a.slideTo(a.activeIndex+o,e,t,s)})),!0}return r.rewind&&a.isEnd?a.slideTo(0,e,t,s):a.slideTo(a.activeIndex+o,e,t,s)},slidePrev:function(e,t,s){void 0===t&&(t=!0);const a=this,{params:i,snapGrid:r,slidesGrid:n,rtlTranslate:l,enabled:o,animating:d}=a;if(!o||a.destroyed)return a;void 0===e&&(e=a.params.speed);const c=a.virtual&&i.virtual.enabled;if(i.loop){if(d&&!c&&i.loopPreventsSliding)return!1;a.loopFix({direction:"prev"}),a._clientLeft=a.wrapperEl.clientLeft}function p(e){return e<0?-Math.floor(Math.abs(e)):Math.floor(e)}const u=p(l?a.translate:-a.translate),m=r.map((e=>p(e)));let h=r[m.indexOf(u)-1];if(void 0===h&&i.cssMode){let e;r.forEach(((t,s)=>{u>=t&&(e=s)})),void 0!==e&&(h=r[e>0?e-1:e])}let f=0;if(void 0!==h&&(f=n.indexOf(h),f<0&&(f=a.activeIndex-1),"auto"===i.slidesPerView&&1===i.slidesPerGroup&&i.slidesPerGroupAuto&&(f=f-a.slidesPerViewDynamic("previous",!0)+1,f=Math.max(f,0))),i.rewind&&a.isBeginning){const i=a.params.virtual&&a.params.virtual.enabled&&a.virtual?a.virtual.slides.length-1:a.slides.length-1;return a.slideTo(i,e,t,s)}return i.loop&&0===a.activeIndex&&i.cssMode?(requestAnimationFrame((()=>{a.slideTo(f,e,t,s)})),!0):a.slideTo(f,e,t,s)},slideReset:function(e,t,s){void 0===t&&(t=!0);const a=this;if(!a.destroyed)return void 0===e&&(e=a.params.speed),a.slideTo(a.activeIndex,e,t,s)},slideToClosest:function(e,t,s,a){void 0===t&&(t=!0),void 0===a&&(a=.5);const i=this;if(i.destroyed)return;void 0===e&&(e=i.params.speed);let r=i.activeIndex;const n=Math.min(i.params.slidesPerGroupSkip,r),l=n+Math.floor((r-n)/i.params.slidesPerGroup),o=i.rtlTranslate?i.translate:-i.translate;if(o>=i.snapGrid[l]){const e=i.snapGrid[l];o-e>(i.snapGrid[l+1]-e)*a&&(r+=i.params.slidesPerGroup)}else{const e=i.snapGrid[l-1];o-e<=(i.snapGrid[l]-e)*a&&(r-=i.params.slidesPerGroup)}return r=Math.max(r,0),r=Math.min(r,i.slidesGrid.length-1),i.slideTo(r,e,t,s)},slideToClickedSlide:function(){const e=this;if(e.destroyed)return;const{params:t,slidesEl:s}=e,a="auto"===t.slidesPerView?e.slidesPerViewDynamic():t.slidesPerView;let i,r=e.clickedIndex;const n=e.isElement?"swiper-slide":`.${t.slideClass}`;if(t.loop){if(e.animating)return;i=parseInt(e.clickedSlide.getAttribute("data-swiper-slide-index"),10),t.centeredSlides?r<e.loopedSlides-a/2||r>e.slides.length-e.loopedSlides+a/2?(e.loopFix(),r=e.getSlideIndex(f(s,`${n}[data-swiper-slide-index="${i}"]`)[0]),l((()=>{e.slideTo(r)}))):e.slideTo(r):r>e.slides.length-a?(e.loopFix(),r=e.getSlideIndex(f(s,`${n}[data-swiper-slide-index="${i}"]`)[0]),l((()=>{e.slideTo(r)}))):e.slideTo(r)}else e.slideTo(r)}};var Y={loopCreate:function(e){const t=this,{params:s,slidesEl:a}=t;if(!s.loop||t.virtual&&t.params.virtual.enabled)return;const i=()=>{f(a,`.${s.slideClass}, swiper-slide`).forEach(((e,t)=>{e.setAttribute("data-swiper-slide-index",t)}))},r=t.grid&&s.grid&&s.grid.rows>1,n=s.slidesPerGroup*(r?s.grid.rows:1),l=t.slides.length%n!=0,o=r&&t.slides.length%s.grid.rows!=0,d=e=>{for(let a=0;a<e;a+=1){const e=t.isElement?v("swiper-slide",[s.slideBlankClass]):v("div",[s.slideClass,s.slideBlankClass]);t.slidesEl.append(e)}};if(l){if(s.loopAddBlankSlides){d(n-t.slides.length%n),t.recalcSlides(),t.updateSlides()}else g("Swiper Loop Warning: The number of slides is not even to slidesPerGroup, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)");i()}else if(o){if(s.loopAddBlankSlides){d(s.grid.rows-t.slides.length%s.grid.rows),t.recalcSlides(),t.updateSlides()}else g("Swiper Loop Warning: The number of slides is not even to grid.rows, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)");i()}else i();t.loopFix({slideRealIndex:e,direction:s.centeredSlides?void 0:"next"})},loopFix:function(e){let{slideRealIndex:t,slideTo:s=!0,direction:a,setTranslate:i,activeSlideIndex:r,byController:n,byMousewheel:l}=void 0===e?{}:e;const o=this;if(!o.params.loop)return;o.emit("beforeLoopFix");const{slides:d,allowSlidePrev:c,allowSlideNext:p,slidesEl:u,params:m}=o,{centeredSlides:h}=m;if(o.allowSlidePrev=!0,o.allowSlideNext=!0,o.virtual&&m.virtual.enabled)return s&&(m.centeredSlides||0!==o.snapIndex?m.centeredSlides&&o.snapIndex<m.slidesPerView?o.slideTo(o.virtual.slides.length+o.snapIndex,0,!1,!0):o.snapIndex===o.snapGrid.length-1&&o.slideTo(o.virtual.slidesBefore,0,!1,!0):o.slideTo(o.virtual.slides.length,0,!1,!0)),o.allowSlidePrev=c,o.allowSlideNext=p,void o.emit("loopFix");let f=m.slidesPerView;"auto"===f?f=o.slidesPerViewDynamic():(f=Math.ceil(parseFloat(m.slidesPerView,10)),h&&f%2==0&&(f+=1));const v=m.slidesPerGroupAuto?f:m.slidesPerGroup;let w=v;w%v!=0&&(w+=v-w%v),w+=m.loopAdditionalSlides,o.loopedSlides=w;const b=o.grid&&m.grid&&m.grid.rows>1;d.length<f+w?g("Swiper Loop Warning: The number of slides is not enough for loop mode, it will be disabled and not function properly. You need to add more slides (or make duplicates) or lower the values of slidesPerView and slidesPerGroup parameters"):b&&"row"===m.grid.fill&&g("Swiper Loop Warning: Loop mode is not compatible with grid.fill = `row`");const y=[],E=[];let x=o.activeIndex;void 0===r?r=o.getSlideIndex(d.filter((e=>e.classList.contains(m.slideActiveClass)))[0]):x=r;const S="next"===a||!a,T="prev"===a||!a;let M=0,C=0;const P=b?Math.ceil(d.length/m.grid.rows):d.length,L=(b?d[r].column:r)+(h&&void 0===i?-f/2+.5:0);if(L<w){M=Math.max(w-L,v);for(let e=0;e<w-L;e+=1){const t=e-Math.floor(e/P)*P;if(b){const e=P-t-1;for(let t=d.length-1;t>=0;t-=1)d[t].column===e&&y.push(t)}else y.push(P-t-1)}}else if(L+f>P-w){C=Math.max(L-(P-2*w),v);for(let e=0;e<C;e+=1){const t=e-Math.floor(e/P)*P;b?d.forEach(((e,s)=>{e.column===t&&E.push(s)})):E.push(t)}}if(o.__preventObserver__=!0,requestAnimationFrame((()=>{o.__preventObserver__=!1})),T&&y.forEach((e=>{d[e].swiperLoopMoveDOM=!0,u.prepend(d[e]),d[e].swiperLoopMoveDOM=!1})),S&&E.forEach((e=>{d[e].swiperLoopMoveDOM=!0,u.append(d[e]),d[e].swiperLoopMoveDOM=!1})),o.recalcSlides(),"auto"===m.slidesPerView?o.updateSlides():b&&(y.length>0&&T||E.length>0&&S)&&o.slides.forEach(((e,t)=>{o.grid.updateSlide(t,e,o.slides)})),m.watchSlidesProgress&&o.updateSlidesOffset(),s)if(y.length>0&&T){if(void 0===t){const e=o.slidesGrid[x],t=o.slidesGrid[x+M]-e;l?o.setTranslate(o.translate-t):(o.slideTo(x+Math.ceil(M),0,!1,!0),i&&(o.touchEventsData.startTranslate=o.touchEventsData.startTranslate-t,o.touchEventsData.currentTranslate=o.touchEventsData.currentTranslate-t))}else if(i){const e=b?y.length/m.grid.rows:y.length;o.slideTo(o.activeIndex+e,0,!1,!0),o.touchEventsData.currentTranslate=o.translate}}else if(E.length>0&&S)if(void 0===t){const e=o.slidesGrid[x],t=o.slidesGrid[x-C]-e;l?o.setTranslate(o.translate-t):(o.slideTo(x-C,0,!1,!0),i&&(o.touchEventsData.startTranslate=o.touchEventsData.startTranslate-t,o.touchEventsData.currentTranslate=o.touchEventsData.currentTranslate-t))}else{const e=b?E.length/m.grid.rows:E.length;o.slideTo(o.activeIndex-e,0,!1,!0)}if(o.allowSlidePrev=c,o.allowSlideNext=p,o.controller&&o.controller.control&&!n){const e={slideRealIndex:t,direction:a,setTranslate:i,activeSlideIndex:r,byController:!0};Array.isArray(o.controller.control)?o.controller.control.forEach((t=>{!t.destroyed&&t.params.loop&&t.loopFix({...e,slideTo:t.params.slidesPerView===m.slidesPerView&&s})})):o.controller.control instanceof o.constructor&&o.controller.control.params.loop&&o.controller.control.loopFix({...e,slideTo:o.controller.control.params.slidesPerView===m.slidesPerView&&s})}o.emit("loopFix")},loopDestroy:function(){const e=this,{params:t,slidesEl:s}=e;if(!t.loop||e.virtual&&e.params.virtual.enabled)return;e.recalcSlides();const a=[];e.slides.forEach((e=>{const t=void 0===e.swiperSlideIndex?1*e.getAttribute("data-swiper-slide-index"):e.swiperSlideIndex;a[t]=e})),e.slides.forEach((e=>{e.removeAttribute("data-swiper-slide-index")})),a.forEach((e=>{s.append(e)})),e.recalcSlides(),e.slideTo(e.realIndex,0)}};function B(e,t,s){const a=r(),{params:i}=e,n=i.edgeSwipeDetection,l=i.edgeSwipeThreshold;return!n||!(s<=l||s>=a.innerWidth-l)||"prevent"===n&&(t.preventDefault(),!0)}function R(e){const t=this,s=a();let i=e;i.originalEvent&&(i=i.originalEvent);const n=t.touchEventsData;if("pointerdown"===i.type){if(null!==n.pointerId&&n.pointerId!==i.pointerId)return;n.pointerId=i.pointerId}else"touchstart"===i.type&&1===i.targetTouches.length&&(n.touchId=i.targetTouches[0].identifier);if("touchstart"===i.type)return void B(t,i,i.targetTouches[0].pageX);const{params:l,touches:d,enabled:c}=t;if(!c)return;if(!l.simulateTouch&&"mouse"===i.pointerType)return;if(t.animating&&l.preventInteractionOnTransition)return;!t.animating&&l.cssMode&&l.loop&&t.loopFix();let p=i.target;if("wrapper"===l.touchEventsTarget&&!t.wrapperEl.contains(p))return;if("which"in i&&3===i.which)return;if("button"in i&&i.button>0)return;if(n.isTouched&&n.isMoved)return;const u=!!l.noSwipingClass&&""!==l.noSwipingClass,m=i.composedPath?i.composedPath():i.path;u&&i.target&&i.target.shadowRoot&&m&&(p=m[0]);const h=l.noSwipingSelector?l.noSwipingSelector:`.${l.noSwipingClass}`,f=!(!i.target||!i.target.shadowRoot);if(l.noSwiping&&(f?function(e,t){return void 0===t&&(t=this),function t(s){if(!s||s===a()||s===r())return null;s.assignedSlot&&(s=s.assignedSlot);const i=s.closest(e);return i||s.getRootNode?i||t(s.getRootNode().host):null}(t)}(h,p):p.closest(h)))return void(t.allowClick=!0);if(l.swipeHandler&&!p.closest(l.swipeHandler))return;d.currentX=i.pageX,d.currentY=i.pageY;const g=d.currentX,v=d.currentY;if(!B(t,i,g))return;Object.assign(n,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),d.startX=g,d.startY=v,n.touchStartTime=o(),t.allowClick=!0,t.updateSize(),t.swipeDirection=void 0,l.threshold>0&&(n.allowThresholdMove=!1);let w=!0;p.matches(n.focusableElements)&&(w=!1,"SELECT"===p.nodeName&&(n.isTouched=!1)),s.activeElement&&s.activeElement.matches(n.focusableElements)&&s.activeElement!==p&&s.activeElement.blur();const b=w&&t.allowTouchMove&&l.touchStartPreventDefault;!l.touchStartForcePreventDefault&&!b||p.isContentEditable||i.preventDefault(),l.freeMode&&l.freeMode.enabled&&t.freeMode&&t.animating&&!l.cssMode&&t.freeMode.onTouchStart(),t.emit("touchStart",i)}function F(e){const t=a(),s=this,i=s.touchEventsData,{params:r,touches:n,rtlTranslate:l,enabled:d}=s;if(!d)return;if(!r.simulateTouch&&"mouse"===e.pointerType)return;let c,p=e;if(p.originalEvent&&(p=p.originalEvent),"pointermove"===p.type){if(null!==i.touchId)return;if(p.pointerId!==i.pointerId)return}if("touchmove"===p.type){if(c=[...p.changedTouches].filter((e=>e.identifier===i.touchId))[0],!c||c.identifier!==i.touchId)return}else c=p;if(!i.isTouched)return void(i.startMoving&&i.isScrolling&&s.emit("touchMoveOpposite",p));const u=c.pageX,m=c.pageY;if(p.preventedByNestedSwiper)return n.startX=u,void(n.startY=m);if(!s.allowTouchMove)return p.target.matches(i.focusableElements)||(s.allowClick=!1),void(i.isTouched&&(Object.assign(n,{startX:u,startY:m,currentX:u,currentY:m}),i.touchStartTime=o()));if(r.touchReleaseOnEdges&&!r.loop)if(s.isVertical()){if(m<n.startY&&s.translate<=s.maxTranslate()||m>n.startY&&s.translate>=s.minTranslate())return i.isTouched=!1,void(i.isMoved=!1)}else if(u<n.startX&&s.translate<=s.maxTranslate()||u>n.startX&&s.translate>=s.minTranslate())return;if(t.activeElement&&p.target===t.activeElement&&p.target.matches(i.focusableElements))return i.isMoved=!0,void(s.allowClick=!1);i.allowTouchCallbacks&&s.emit("touchMove",p),n.previousX=n.currentX,n.previousY=n.currentY,n.currentX=u,n.currentY=m;const h=n.currentX-n.startX,f=n.currentY-n.startY;if(s.params.threshold&&Math.sqrt(h**2+f**2)<s.params.threshold)return;if(void 0===i.isScrolling){let e;s.isHorizontal()&&n.currentY===n.startY||s.isVertical()&&n.currentX===n.startX?i.isScrolling=!1:h*h+f*f>=25&&(e=180*Math.atan2(Math.abs(f),Math.abs(h))/Math.PI,i.isScrolling=s.isHorizontal()?e>r.touchAngle:90-e>r.touchAngle)}if(i.isScrolling&&s.emit("touchMoveOpposite",p),void 0===i.startMoving&&(n.currentX===n.startX&&n.currentY===n.startY||(i.startMoving=!0)),i.isScrolling||"touchmove"===p.type&&i.preventTouchMoveFromPointerMove)return void(i.isTouched=!1);if(!i.startMoving)return;s.allowClick=!1,!r.cssMode&&p.cancelable&&p.preventDefault(),r.touchMoveStopPropagation&&!r.nested&&p.stopPropagation();let g=s.isHorizontal()?h:f,v=s.isHorizontal()?n.currentX-n.previousX:n.currentY-n.previousY;r.oneWayMovement&&(g=Math.abs(g)*(l?1:-1),v=Math.abs(v)*(l?1:-1)),n.diff=g,g*=r.touchRatio,l&&(g=-g,v=-v);const w=s.touchesDirection;s.swipeDirection=g>0?"prev":"next",s.touchesDirection=v>0?"prev":"next";const b=s.params.loop&&!r.cssMode,y="next"===s.touchesDirection&&s.allowSlideNext||"prev"===s.touchesDirection&&s.allowSlidePrev;if(!i.isMoved){if(b&&y&&s.loopFix({direction:s.swipeDirection}),i.startTranslate=s.getTranslate(),s.setTransition(0),s.animating){const e=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0});s.wrapperEl.dispatchEvent(e)}i.allowMomentumBounce=!1,!r.grabCursor||!0!==s.allowSlideNext&&!0!==s.allowSlidePrev||s.setGrabCursor(!0),s.emit("sliderFirstMove",p)}if((new Date).getTime(),i.isMoved&&i.allowThresholdMove&&w!==s.touchesDirection&&b&&y&&Math.abs(g)>=1)return Object.assign(n,{startX:u,startY:m,currentX:u,currentY:m,startTranslate:i.currentTranslate}),i.loopSwapReset=!0,void(i.startTranslate=i.currentTranslate);s.emit("sliderMove",p),i.isMoved=!0,i.currentTranslate=g+i.startTranslate;let E=!0,x=r.resistanceRatio;if(r.touchReleaseOnEdges&&(x=0),g>0?(b&&y&&i.allowThresholdMove&&i.currentTranslate>(r.centeredSlides?s.minTranslate()-s.slidesSizesGrid[s.activeIndex+1]:s.minTranslate())&&s.loopFix({direction:"prev",setTranslate:!0,activeSlideIndex:0}),i.currentTranslate>s.minTranslate()&&(E=!1,r.resistance&&(i.currentTranslate=s.minTranslate()-1+(-s.minTranslate()+i.startTranslate+g)**x))):g<0&&(b&&y&&i.allowThresholdMove&&i.currentTranslate<(r.centeredSlides?s.maxTranslate()+s.slidesSizesGrid[s.slidesSizesGrid.length-1]:s.maxTranslate())&&s.loopFix({direction:"next",setTranslate:!0,activeSlideIndex:s.slides.length-("auto"===r.slidesPerView?s.slidesPerViewDynamic():Math.ceil(parseFloat(r.slidesPerView,10)))}),i.currentTranslate<s.maxTranslate()&&(E=!1,r.resistance&&(i.currentTranslate=s.maxTranslate()+1-(s.maxTranslate()-i.startTranslate-g)**x))),E&&(p.preventedByNestedSwiper=!0),!s.allowSlideNext&&"next"===s.swipeDirection&&i.currentTranslate<i.startTranslate&&(i.currentTranslate=i.startTranslate),!s.allowSlidePrev&&"prev"===s.swipeDirection&&i.currentTranslate>i.startTranslate&&(i.currentTranslate=i.startTranslate),s.allowSlidePrev||s.allowSlideNext||(i.currentTranslate=i.startTranslate),r.threshold>0){if(!(Math.abs(g)>r.threshold||i.allowThresholdMove))return void(i.currentTranslate=i.startTranslate);if(!i.allowThresholdMove)return i.allowThresholdMove=!0,n.startX=n.currentX,n.startY=n.currentY,i.currentTranslate=i.startTranslate,void(n.diff=s.isHorizontal()?n.currentX-n.startX:n.currentY-n.startY)}r.followFinger&&!r.cssMode&&((r.freeMode&&r.freeMode.enabled&&s.freeMode||r.watchSlidesProgress)&&(s.updateActiveIndex(),s.updateSlidesClasses()),r.freeMode&&r.freeMode.enabled&&s.freeMode&&s.freeMode.onTouchMove(),s.updateProgress(i.currentTranslate),s.setTranslate(i.currentTranslate))}function q(e){const t=this,s=t.touchEventsData;let a,i=e;i.originalEvent&&(i=i.originalEvent);if("touchend"===i.type||"touchcancel"===i.type){if(a=[...i.changedTouches].filter((e=>e.identifier===s.touchId))[0],!a||a.identifier!==s.touchId)return}else{if(null!==s.touchId)return;if(i.pointerId!==s.pointerId)return;a=i}if(["pointercancel","pointerout","pointerleave","contextmenu"].includes(i.type)){if(!(["pointercancel","contextmenu"].includes(i.type)&&(t.browser.isSafari||t.browser.isWebView)))return}s.pointerId=null,s.touchId=null;const{params:r,touches:n,rtlTranslate:d,slidesGrid:c,enabled:p}=t;if(!p)return;if(!r.simulateTouch&&"mouse"===i.pointerType)return;if(s.allowTouchCallbacks&&t.emit("touchEnd",i),s.allowTouchCallbacks=!1,!s.isTouched)return s.isMoved&&r.grabCursor&&t.setGrabCursor(!1),s.isMoved=!1,void(s.startMoving=!1);r.grabCursor&&s.isMoved&&s.isTouched&&(!0===t.allowSlideNext||!0===t.allowSlidePrev)&&t.setGrabCursor(!1);const u=o(),m=u-s.touchStartTime;if(t.allowClick){const e=i.path||i.composedPath&&i.composedPath();t.updateClickedSlide(e&&e[0]||i.target,e),t.emit("tap click",i),m<300&&u-s.lastClickTime<300&&t.emit("doubleTap doubleClick",i)}if(s.lastClickTime=o(),l((()=>{t.destroyed||(t.allowClick=!0)})),!s.isTouched||!s.isMoved||!t.swipeDirection||0===n.diff&&!s.loopSwapReset||s.currentTranslate===s.startTranslate&&!s.loopSwapReset)return s.isTouched=!1,s.isMoved=!1,void(s.startMoving=!1);let h;if(s.isTouched=!1,s.isMoved=!1,s.startMoving=!1,h=r.followFinger?d?t.translate:-t.translate:-s.currentTranslate,r.cssMode)return;if(r.freeMode&&r.freeMode.enabled)return void t.freeMode.onTouchEnd({currentPos:h});const f=h>=-t.maxTranslate()&&!t.params.loop;let g=0,v=t.slidesSizesGrid[0];for(let e=0;e<c.length;e+=e<r.slidesPerGroupSkip?1:r.slidesPerGroup){const t=e<r.slidesPerGroupSkip-1?1:r.slidesPerGroup;void 0!==c[e+t]?(f||h>=c[e]&&h<c[e+t])&&(g=e,v=c[e+t]-c[e]):(f||h>=c[e])&&(g=e,v=c[c.length-1]-c[c.length-2])}let w=null,b=null;r.rewind&&(t.isBeginning?b=r.virtual&&r.virtual.enabled&&t.virtual?t.virtual.slides.length-1:t.slides.length-1:t.isEnd&&(w=0));const y=(h-c[g])/v,E=g<r.slidesPerGroupSkip-1?1:r.slidesPerGroup;if(m>r.longSwipesMs){if(!r.longSwipes)return void t.slideTo(t.activeIndex);"next"===t.swipeDirection&&(y>=r.longSwipesRatio?t.slideTo(r.rewind&&t.isEnd?w:g+E):t.slideTo(g)),"prev"===t.swipeDirection&&(y>1-r.longSwipesRatio?t.slideTo(g+E):null!==b&&y<0&&Math.abs(y)>r.longSwipesRatio?t.slideTo(b):t.slideTo(g))}else{if(!r.shortSwipes)return void t.slideTo(t.activeIndex);t.navigation&&(i.target===t.navigation.nextEl||i.target===t.navigation.prevEl)?i.target===t.navigation.nextEl?t.slideTo(g+E):t.slideTo(g):("next"===t.swipeDirection&&t.slideTo(null!==w?w:g+E),"prev"===t.swipeDirection&&t.slideTo(null!==b?b:g))}}function V(){const e=this,{params:t,el:s}=e;if(s&&0===s.offsetWidth)return;t.breakpoints&&e.setBreakpoint();const{allowSlideNext:a,allowSlidePrev:i,snapGrid:r}=e,n=e.virtual&&e.params.virtual.enabled;e.allowSlideNext=!0,e.allowSlidePrev=!0,e.updateSize(),e.updateSlides(),e.updateSlidesClasses();const l=n&&t.loop;!("auto"===t.slidesPerView||t.slidesPerView>1)||!e.isEnd||e.isBeginning||e.params.centeredSlides||l?e.params.loop&&!n?e.slideToLoop(e.realIndex,0,!1,!0):e.slideTo(e.activeIndex,0,!1,!0):e.slideTo(e.slides.length-1,0,!1,!0),e.autoplay&&e.autoplay.running&&e.autoplay.paused&&(clearTimeout(e.autoplay.resizeTimeout),e.autoplay.resizeTimeout=setTimeout((()=>{e.autoplay&&e.autoplay.running&&e.autoplay.paused&&e.autoplay.resume()}),500)),e.allowSlidePrev=i,e.allowSlideNext=a,e.params.watchOverflow&&r!==e.snapGrid&&e.checkOverflow()}function _(e){const t=this;t.enabled&&(t.allowClick||(t.params.preventClicks&&e.preventDefault(),t.params.preventClicksPropagation&&t.animating&&(e.stopPropagation(),e.stopImmediatePropagation())))}function W(){const e=this,{wrapperEl:t,rtlTranslate:s,enabled:a}=e;if(!a)return;let i;e.previousTranslate=e.translate,e.isHorizontal()?e.translate=-t.scrollLeft:e.translate=-t.scrollTop,0===e.translate&&(e.translate=0),e.updateActiveIndex(),e.updateSlidesClasses();const r=e.maxTranslate()-e.minTranslate();i=0===r?0:(e.translate-e.minTranslate())/r,i!==e.progress&&e.updateProgress(s?-e.translate:e.translate),e.emit("setTranslate",e.translate,!1)}function j(e){const t=this;k(t,e.target),t.params.cssMode||"auto"!==t.params.slidesPerView&&!t.params.autoHeight||t.update()}function U(){const e=this;e.documentTouchHandlerProceeded||(e.documentTouchHandlerProceeded=!0,e.params.touchReleaseOnEdges&&(e.el.style.touchAction="auto"))}const K=(e,t)=>{const s=a(),{params:i,el:r,wrapperEl:n,device:l}=e,o=!!i.nested,d="on"===t?"addEventListener":"removeEventListener",c=t;s[d]("touchstart",e.onDocumentTouchStart,{passive:!1,capture:o}),r[d]("touchstart",e.onTouchStart,{passive:!1}),r[d]("pointerdown",e.onTouchStart,{passive:!1}),s[d]("touchmove",e.onTouchMove,{passive:!1,capture:o}),s[d]("pointermove",e.onTouchMove,{passive:!1,capture:o}),s[d]("touchend",e.onTouchEnd,{passive:!0}),s[d]("pointerup",e.onTouchEnd,{passive:!0}),s[d]("pointercancel",e.onTouchEnd,{passive:!0}),s[d]("touchcancel",e.onTouchEnd,{passive:!0}),s[d]("pointerout",e.onTouchEnd,{passive:!0}),s[d]("pointerleave",e.onTouchEnd,{passive:!0}),s[d]("contextmenu",e.onTouchEnd,{passive:!0}),(i.preventClicks||i.preventClicksPropagation)&&r[d]("click",e.onClick,!0),i.cssMode&&n[d]("scroll",e.onScroll),i.updateOnWindowResize?e[c](l.ios||l.android?"resize orientationchange observerUpdate":"resize observerUpdate",V,!0):e[c]("observerUpdate",V,!0),r[d]("load",e.onLoad,{capture:!0})};const Z=(e,t)=>e.grid&&t.grid&&t.grid.rows>1;var Q={init:!0,direction:"horizontal",oneWayMovement:!1,swiperElementNodeName:"SWIPER-CONTAINER",touchEventsTarget:"wrapper",initialSlide:0,speed:300,cssMode:!1,updateOnWindowResize:!0,resizeObserver:!0,nested:!1,createElements:!1,eventsPrefix:"swiper",enabled:!0,focusableElements:"input, select, option, textarea, button, video, label",width:null,height:null,preventInteractionOnTransition:!1,userAgent:null,url:null,edgeSwipeDetection:!1,edgeSwipeThreshold:20,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",breakpoints:void 0,breakpointsBase:"window",spaceBetween:0,slidesPerView:1,slidesPerGroup:1,slidesPerGroupSkip:0,slidesPerGroupAuto:!1,centeredSlides:!1,centeredSlidesBounds:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,watchOverflow:!0,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:5,touchMoveStopPropagation:!1,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,loop:!1,loopAddBlankSlides:!0,loopAdditionalSlides:0,loopPreventsSliding:!0,rewind:!1,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:!0,maxBackfaceHiddenSlides:10,containerModifierClass:"swiper-",slideClass:"swiper-slide",slideBlankClass:"swiper-slide-blank",slideActiveClass:"swiper-slide-active",slideVisibleClass:"swiper-slide-visible",slideFullyVisibleClass:"swiper-slide-fully-visible",slideNextClass:"swiper-slide-next",slidePrevClass:"swiper-slide-prev",wrapperClass:"swiper-wrapper",lazyPreloaderClass:"swiper-lazy-preloader",lazyPreloadPrevNext:0,runCallbacksOnInit:!0,_emitClasses:!1};function J(e,t){return function(s){void 0===s&&(s={});const a=Object.keys(s)[0],i=s[a];"object"==typeof i&&null!==i?(!0===e[a]&&(e[a]={enabled:!0}),"navigation"===a&&e[a]&&e[a].enabled&&!e[a].prevEl&&!e[a].nextEl&&(e[a].auto=!0),["pagination","scrollbar"].indexOf(a)>=0&&e[a]&&e[a].enabled&&!e[a].el&&(e[a].auto=!0),a in e&&"enabled"in i?("object"!=typeof e[a]||"enabled"in e[a]||(e[a].enabled=!0),e[a]||(e[a]={enabled:!1}),p(t,s)):p(t,s)):p(t,s)}}const ee={eventsEmitter:A,update:G,translate:H,transition:{setTransition:function(e,t){const s=this;s.params.cssMode||(s.wrapperEl.style.transitionDuration=`${e}ms`,s.wrapperEl.style.transitionDelay=0===e?"0ms":""),s.emit("setTransition",e,t)},transitionStart:function(e,t){void 0===e&&(e=!0);const s=this,{params:a}=s;a.cssMode||(a.autoHeight&&s.updateAutoHeight(),N({swiper:s,runCallbacks:e,direction:t,step:"Start"}))},transitionEnd:function(e,t){void 0===e&&(e=!0);const s=this,{params:a}=s;s.animating=!1,a.cssMode||(s.setTransition(0),N({swiper:s,runCallbacks:e,direction:t,step:"End"}))}},slide:X,loop:Y,grabCursor:{setGrabCursor:function(e){const t=this;if(!t.params.simulateTouch||t.params.watchOverflow&&t.isLocked||t.params.cssMode)return;const s="container"===t.params.touchEventsTarget?t.el:t.wrapperEl;t.isElement&&(t.__preventObserver__=!0),s.style.cursor="move",s.style.cursor=e?"grabbing":"grab",t.isElement&&requestAnimationFrame((()=>{t.__preventObserver__=!1}))},unsetGrabCursor:function(){const e=this;e.params.watchOverflow&&e.isLocked||e.params.cssMode||(e.isElement&&(e.__preventObserver__=!0),e["container"===e.params.touchEventsTarget?"el":"wrapperEl"].style.cursor="",e.isElement&&requestAnimationFrame((()=>{e.__preventObserver__=!1})))}},events:{attachEvents:function(){const e=this,{params:t}=e;e.onTouchStart=R.bind(e),e.onTouchMove=F.bind(e),e.onTouchEnd=q.bind(e),e.onDocumentTouchStart=U.bind(e),t.cssMode&&(e.onScroll=W.bind(e)),e.onClick=_.bind(e),e.onLoad=j.bind(e),K(e,"on")},detachEvents:function(){K(this,"off")}},breakpoints:{setBreakpoint:function(){const e=this,{realIndex:t,initialized:s,params:a,el:i}=e,r=a.breakpoints;if(!r||r&&0===Object.keys(r).length)return;const n=e.getBreakpoint(r,e.params.breakpointsBase,e.el);if(!n||e.currentBreakpoint===n)return;const l=(n in r?r[n]:void 0)||e.originalParams,o=Z(e,a),d=Z(e,l),c=e.params.grabCursor,u=l.grabCursor,m=a.enabled;o&&!d?(i.classList.remove(`${a.containerModifierClass}grid`,`${a.containerModifierClass}grid-column`),e.emitContainerClasses()):!o&&d&&(i.classList.add(`${a.containerModifierClass}grid`),(l.grid.fill&&"column"===l.grid.fill||!l.grid.fill&&"column"===a.grid.fill)&&i.classList.add(`${a.containerModifierClass}grid-column`),e.emitContainerClasses()),c&&!u?e.unsetGrabCursor():!c&&u&&e.setGrabCursor(),["navigation","pagination","scrollbar"].forEach((t=>{if(void 0===l[t])return;const s=a[t]&&a[t].enabled,i=l[t]&&l[t].enabled;s&&!i&&e[t].disable(),!s&&i&&e[t].enable()}));const h=l.direction&&l.direction!==a.direction,f=a.loop&&(l.slidesPerView!==a.slidesPerView||h),g=a.loop;h&&s&&e.changeDirection(),p(e.params,l);const v=e.params.enabled,w=e.params.loop;Object.assign(e,{allowTouchMove:e.params.allowTouchMove,allowSlideNext:e.params.allowSlideNext,allowSlidePrev:e.params.allowSlidePrev}),m&&!v?e.disable():!m&&v&&e.enable(),e.currentBreakpoint=n,e.emit("_beforeBreakpoint",l),s&&(f?(e.loopDestroy(),e.loopCreate(t),e.updateSlides()):!g&&w?(e.loopCreate(t),e.updateSlides()):g&&!w&&e.loopDestroy()),e.emit("breakpoint",l)},getBreakpoint:function(e,t,s){if(void 0===t&&(t="window"),!e||"container"===t&&!s)return;let a=!1;const i=r(),n="window"===t?i.innerHeight:s.clientHeight,l=Object.keys(e).map((e=>{if("string"==typeof e&&0===e.indexOf("@")){const t=parseFloat(e.substr(1));return{value:n*t,point:e}}return{value:e,point:e}}));l.sort(((e,t)=>parseInt(e.value,10)-parseInt(t.value,10)));for(let e=0;e<l.length;e+=1){const{point:r,value:n}=l[e];"window"===t?i.matchMedia(`(min-width: ${n}px)`).matches&&(a=r):n<=s.clientWidth&&(a=r)}return a||"max"}},checkOverflow:{checkOverflow:function(){const e=this,{isLocked:t,params:s}=e,{slidesOffsetBefore:a}=s;if(a){const t=e.slides.length-1,s=e.slidesGrid[t]+e.slidesSizesGrid[t]+2*a;e.isLocked=e.size>s}else e.isLocked=1===e.snapGrid.length;!0===s.allowSlideNext&&(e.allowSlideNext=!e.isLocked),!0===s.allowSlidePrev&&(e.allowSlidePrev=!e.isLocked),t&&t!==e.isLocked&&(e.isEnd=!1),t!==e.isLocked&&e.emit(e.isLocked?"lock":"unlock")}},classes:{addClasses:function(){const e=this,{classNames:t,params:s,rtl:a,el:i,device:r}=e,n=function(e,t){const s=[];return e.forEach((e=>{"object"==typeof e?Object.keys(e).forEach((a=>{e[a]&&s.push(t+a)})):"string"==typeof e&&s.push(t+e)})),s}(["initialized",s.direction,{"free-mode":e.params.freeMode&&s.freeMode.enabled},{autoheight:s.autoHeight},{rtl:a},{grid:s.grid&&s.grid.rows>1},{"grid-column":s.grid&&s.grid.rows>1&&"column"===s.grid.fill},{android:r.android},{ios:r.ios},{"css-mode":s.cssMode},{centered:s.cssMode&&s.centeredSlides},{"watch-progress":s.watchSlidesProgress}],s.containerModifierClass);t.push(...n),i.classList.add(...t),e.emitContainerClasses()},removeClasses:function(){const{el:e,classNames:t}=this;e.classList.remove(...t),this.emitContainerClasses()}}},te={};class se{constructor(){let e,t;for(var s=arguments.length,i=new Array(s),r=0;r<s;r++)i[r]=arguments[r];1===i.length&&i[0].constructor&&"Object"===Object.prototype.toString.call(i[0]).slice(8,-1)?t=i[0]:[e,t]=i,t||(t={}),t=p({},t),e&&!t.el&&(t.el=e);const n=a();if(t.el&&"string"==typeof t.el&&n.querySelectorAll(t.el).length>1){const e=[];return n.querySelectorAll(t.el).forEach((s=>{const a=p({},t,{el:s});e.push(new se(a))})),e}const l=this;l.__swiper__=!0,l.support=L(),l.device=I({userAgent:t.userAgent}),l.browser=z(),l.eventsListeners={},l.eventsAnyListeners=[],l.modules=[...l.__modules__],t.modules&&Array.isArray(t.modules)&&l.modules.push(...t.modules);const o={};l.modules.forEach((e=>{e({params:t,swiper:l,extendParams:J(t,o),on:l.on.bind(l),once:l.once.bind(l),off:l.off.bind(l),emit:l.emit.bind(l)})}));const d=p({},Q,o);return l.params=p({},d,te,t),l.originalParams=p({},l.params),l.passedParams=p({},t),l.params&&l.params.on&&Object.keys(l.params.on).forEach((e=>{l.on(e,l.params.on[e])})),l.params&&l.params.onAny&&l.onAny(l.params.onAny),Object.assign(l,{enabled:l.params.enabled,el:e,classNames:[],slides:[],slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal:()=>"horizontal"===l.params.direction,isVertical:()=>"vertical"===l.params.direction,activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,cssOverflowAdjustment(){return Math.trunc(this.translate/2**23)*2**23},allowSlideNext:l.params.allowSlideNext,allowSlidePrev:l.params.allowSlidePrev,touchEventsData:{isTouched:void 0,isMoved:void 0,allowTouchCallbacks:void 0,touchStartTime:void 0,isScrolling:void 0,currentTranslate:void 0,startTranslate:void 0,allowThresholdMove:void 0,focusableElements:l.params.focusableElements,lastClickTime:0,clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,startMoving:void 0,pointerId:null,touchId:null},allowClick:!0,allowTouchMove:l.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),l.emit("_swiper"),l.params.init&&l.init(),l}getDirectionLabel(e){return this.isHorizontal()?e:{width:"height","margin-top":"margin-left","margin-bottom ":"margin-right","margin-left":"margin-top","margin-right":"margin-bottom","padding-left":"padding-top","padding-right":"padding-bottom",marginRight:"marginBottom"}[e]}getSlideIndex(e){const{slidesEl:t,params:s}=this,a=y(f(t,`.${s.slideClass}, swiper-slide`)[0]);return y(e)-a}getSlideIndexByData(e){return this.getSlideIndex(this.slides.filter((t=>1*t.getAttribute("data-swiper-slide-index")===e))[0])}recalcSlides(){const{slidesEl:e,params:t}=this;this.slides=f(e,`.${t.slideClass}, swiper-slide`)}enable(){const e=this;e.enabled||(e.enabled=!0,e.params.grabCursor&&e.setGrabCursor(),e.emit("enable"))}disable(){const e=this;e.enabled&&(e.enabled=!1,e.params.grabCursor&&e.unsetGrabCursor(),e.emit("disable"))}setProgress(e,t){const s=this;e=Math.min(Math.max(e,0),1);const a=s.minTranslate(),i=(s.maxTranslate()-a)*e+a;s.translateTo(i,void 0===t?0:t),s.updateActiveIndex(),s.updateSlidesClasses()}emitContainerClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=e.el.className.split(" ").filter((t=>0===t.indexOf("swiper")||0===t.indexOf(e.params.containerModifierClass)));e.emit("_containerClasses",t.join(" "))}getSlideClasses(e){const t=this;return t.destroyed?"":e.className.split(" ").filter((e=>0===e.indexOf("swiper-slide")||0===e.indexOf(t.params.slideClass))).join(" ")}emitSlidesClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=[];e.slides.forEach((s=>{const a=e.getSlideClasses(s);t.push({slideEl:s,classNames:a}),e.emit("_slideClass",s,a)})),e.emit("_slideClasses",t)}slidesPerViewDynamic(e,t){void 0===e&&(e="current"),void 0===t&&(t=!1);const{params:s,slides:a,slidesGrid:i,slidesSizesGrid:r,size:n,activeIndex:l}=this;let o=1;if("number"==typeof s.slidesPerView)return s.slidesPerView;if(s.centeredSlides){let e,t=a[l]?Math.ceil(a[l].swiperSlideSize):0;for(let s=l+1;s<a.length;s+=1)a[s]&&!e&&(t+=Math.ceil(a[s].swiperSlideSize),o+=1,t>n&&(e=!0));for(let s=l-1;s>=0;s-=1)a[s]&&!e&&(t+=a[s].swiperSlideSize,o+=1,t>n&&(e=!0))}else if("current"===e)for(let e=l+1;e<a.length;e+=1){(t?i[e]+r[e]-i[l]<n:i[e]-i[l]<n)&&(o+=1)}else for(let e=l-1;e>=0;e-=1){i[l]-i[e]<n&&(o+=1)}return o}update(){const e=this;if(!e||e.destroyed)return;const{snapGrid:t,params:s}=e;function a(){const t=e.rtlTranslate?-1*e.translate:e.translate,s=Math.min(Math.max(t,e.maxTranslate()),e.minTranslate());e.setTranslate(s),e.updateActiveIndex(),e.updateSlidesClasses()}let i;if(s.breakpoints&&e.setBreakpoint(),[...e.el.querySelectorAll('[loading="lazy"]')].forEach((t=>{t.complete&&k(e,t)})),e.updateSize(),e.updateSlides(),e.updateProgress(),e.updateSlidesClasses(),s.freeMode&&s.freeMode.enabled&&!s.cssMode)a(),s.autoHeight&&e.updateAutoHeight();else{if(("auto"===s.slidesPerView||s.slidesPerView>1)&&e.isEnd&&!s.centeredSlides){const t=e.virtual&&s.virtual.enabled?e.virtual.slides:e.slides;i=e.slideTo(t.length-1,0,!1,!0)}else i=e.slideTo(e.activeIndex,0,!1,!0);i||a()}s.watchOverflow&&t!==e.snapGrid&&e.checkOverflow(),e.emit("update")}changeDirection(e,t){void 0===t&&(t=!0);const s=this,a=s.params.direction;return e||(e="horizontal"===a?"vertical":"horizontal"),e===a||"horizontal"!==e&&"vertical"!==e||(s.el.classList.remove(`${s.params.containerModifierClass}${a}`),s.el.classList.add(`${s.params.containerModifierClass}${e}`),s.emitContainerClasses(),s.params.direction=e,s.slides.forEach((t=>{"vertical"===e?t.style.width="":t.style.height=""})),s.emit("changeDirection"),t&&s.update()),s}changeLanguageDirection(e){const t=this;t.rtl&&"rtl"===e||!t.rtl&&"ltr"===e||(t.rtl="rtl"===e,t.rtlTranslate="horizontal"===t.params.direction&&t.rtl,t.rtl?(t.el.classList.add(`${t.params.containerModifierClass}rtl`),t.el.dir="rtl"):(t.el.classList.remove(`${t.params.containerModifierClass}rtl`),t.el.dir="ltr"),t.update())}mount(e){const t=this;if(t.mounted)return!0;let s=e||t.params.el;if("string"==typeof s&&(s=document.querySelector(s)),!s)return!1;s.swiper=t,s.parentNode&&s.parentNode.host&&s.parentNode.host.nodeName===t.params.swiperElementNodeName.toUpperCase()&&(t.isElement=!0);const a=()=>`.${(t.params.wrapperClass||"").trim().split(" ").join(".")}`;let i=(()=>{if(s&&s.shadowRoot&&s.shadowRoot.querySelector){return s.shadowRoot.querySelector(a())}return f(s,a())[0]})();return!i&&t.params.createElements&&(i=v("div",t.params.wrapperClass),s.append(i),f(s,`.${t.params.slideClass}`).forEach((e=>{i.append(e)}))),Object.assign(t,{el:s,wrapperEl:i,slidesEl:t.isElement&&!s.parentNode.host.slideSlots?s.parentNode.host:i,hostEl:t.isElement?s.parentNode.host:s,mounted:!0,rtl:"rtl"===s.dir.toLowerCase()||"rtl"===b(s,"direction"),rtlTranslate:"horizontal"===t.params.direction&&("rtl"===s.dir.toLowerCase()||"rtl"===b(s,"direction")),wrongRTL:"-webkit-box"===b(i,"display")}),!0}init(e){const t=this;if(t.initialized)return t;if(!1===t.mount(e))return t;t.emit("beforeInit"),t.params.breakpoints&&t.setBreakpoint(),t.addClasses(),t.updateSize(),t.updateSlides(),t.params.watchOverflow&&t.checkOverflow(),t.params.grabCursor&&t.enabled&&t.setGrabCursor(),t.params.loop&&t.virtual&&t.params.virtual.enabled?t.slideTo(t.params.initialSlide+t.virtual.slidesBefore,0,t.params.runCallbacksOnInit,!1,!0):t.slideTo(t.params.initialSlide,0,t.params.runCallbacksOnInit,!1,!0),t.params.loop&&t.loopCreate(),t.attachEvents();const s=[...t.el.querySelectorAll('[loading="lazy"]')];return t.isElement&&s.push(...t.hostEl.querySelectorAll('[loading="lazy"]')),s.forEach((e=>{e.complete?k(t,e):e.addEventListener("load",(e=>{k(t,e.target)}))})),D(t),t.initialized=!0,D(t),t.emit("init"),t.emit("afterInit"),t}destroy(e,t){void 0===e&&(e=!0),void 0===t&&(t=!0);const s=this,{params:a,el:i,wrapperEl:r,slides:n}=s;return void 0===s.params||s.destroyed||(s.emit("beforeDestroy"),s.initialized=!1,s.detachEvents(),a.loop&&s.loopDestroy(),t&&(s.removeClasses(),i.removeAttribute("style"),r.removeAttribute("style"),n&&n.length&&n.forEach((e=>{e.classList.remove(a.slideVisibleClass,a.slideFullyVisibleClass,a.slideActiveClass,a.slideNextClass,a.slidePrevClass),e.removeAttribute("style"),e.removeAttribute("data-swiper-slide-index")}))),s.emit("destroy"),Object.keys(s.eventsListeners).forEach((e=>{s.off(e)})),!1!==e&&(s.el.swiper=null,function(e){const t=e;Object.keys(t).forEach((e=>{try{t[e]=null}catch(e){}try{delete t[e]}catch(e){}}))}(s)),s.destroyed=!0),null}static extendDefaults(e){p(te,e)}static get extendedDefaults(){return te}static get defaults(){return Q}static installModule(e){se.prototype.__modules__||(se.prototype.__modules__=[]);const t=se.prototype.__modules__;"function"==typeof e&&t.indexOf(e)<0&&t.push(e)}static use(e){return Array.isArray(e)?(e.forEach((e=>se.installModule(e))),se):(se.installModule(e),se)}}function ae(e,t,s,a){return e.params.createElements&&Object.keys(a).forEach((i=>{if(!s[i]&&!0===s.auto){let r=f(e.el,`.${a[i]}`)[0];r||(r=v("div",a[i]),r.className=a[i],e.el.append(r)),s[i]=r,t[i]=r}})),s}function ie(e){return void 0===e&&(e=""),`.${e.trim().replace(/([\.:!+\/])/g,"\\$1").replace(/ /g,".")}`}function re(e){const t=this,{params:s,slidesEl:a}=t;s.loop&&t.loopDestroy();const i=e=>{if("string"==typeof e){const t=document.createElement("div");t.innerHTML=e,a.append(t.children[0]),t.innerHTML=""}else a.append(e)};if("object"==typeof e&&"length"in e)for(let t=0;t<e.length;t+=1)e[t]&&i(e[t]);else i(e);t.recalcSlides(),s.loop&&t.loopCreate(),s.observer&&!t.isElement||t.update()}function ne(e){const t=this,{params:s,activeIndex:a,slidesEl:i}=t;s.loop&&t.loopDestroy();let r=a+1;const n=e=>{if("string"==typeof e){const t=document.createElement("div");t.innerHTML=e,i.prepend(t.children[0]),t.innerHTML=""}else i.prepend(e)};if("object"==typeof e&&"length"in e){for(let t=0;t<e.length;t+=1)e[t]&&n(e[t]);r=a+e.length}else n(e);t.recalcSlides(),s.loop&&t.loopCreate(),s.observer&&!t.isElement||t.update(),t.slideTo(r,0,!1)}function le(e,t){const s=this,{params:a,activeIndex:i,slidesEl:r}=s;let n=i;a.loop&&(n-=s.loopedSlides,s.loopDestroy(),s.recalcSlides());const l=s.slides.length;if(e<=0)return void s.prependSlide(t);if(e>=l)return void s.appendSlide(t);let o=n>e?n+1:n;const d=[];for(let t=l-1;t>=e;t-=1){const e=s.slides[t];e.remove(),d.unshift(e)}if("object"==typeof t&&"length"in t){for(let e=0;e<t.length;e+=1)t[e]&&r.append(t[e]);o=n>e?n+t.length:n}else r.append(t);for(let e=0;e<d.length;e+=1)r.append(d[e]);s.recalcSlides(),a.loop&&s.loopCreate(),a.observer&&!s.isElement||s.update(),a.loop?s.slideTo(o+s.loopedSlides,0,!1):s.slideTo(o,0,!1)}function oe(e){const t=this,{params:s,activeIndex:a}=t;let i=a;s.loop&&(i-=t.loopedSlides,t.loopDestroy());let r,n=i;if("object"==typeof e&&"length"in e){for(let s=0;s<e.length;s+=1)r=e[s],t.slides[r]&&t.slides[r].remove(),r<n&&(n-=1);n=Math.max(n,0)}else r=e,t.slides[r]&&t.slides[r].remove(),r<n&&(n-=1),n=Math.max(n,0);t.recalcSlides(),s.loop&&t.loopCreate(),s.observer&&!t.isElement||t.update(),s.loop?t.slideTo(n+t.loopedSlides,0,!1):t.slideTo(n,0,!1)}function de(){const e=this,t=[];for(let s=0;s<e.slides.length;s+=1)t.push(s);e.removeSlide(t)}function ce(e){const{effect:t,swiper:s,on:a,setTranslate:i,setTransition:r,overwriteParams:n,perspective:l,recreateShadows:o,getEffectParams:d}=e;let c;a("beforeInit",(()=>{if(s.params.effect!==t)return;s.classNames.push(`${s.params.containerModifierClass}${t}`),l&&l()&&s.classNames.push(`${s.params.containerModifierClass}3d`);const e=n?n():{};Object.assign(s.params,e),Object.assign(s.originalParams,e)})),a("setTranslate",(()=>{s.params.effect===t&&i()})),a("setTransition",((e,a)=>{s.params.effect===t&&r(a)})),a("transitionEnd",(()=>{if(s.params.effect===t&&o){if(!d||!d().slideShadows)return;s.slides.forEach((e=>{e.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((e=>e.remove()))})),o()}})),a("virtualUpdate",(()=>{s.params.effect===t&&(s.slides.length||(c=!0),requestAnimationFrame((()=>{c&&s.slides&&s.slides.length&&(i(),c=!1)})))}))}function pe(e,t){const s=h(t);return s!==t&&(s.style.backfaceVisibility="hidden",s.style["-webkit-backface-visibility"]="hidden"),s}function ue(e){let{swiper:t,duration:s,transformElements:a,allSlides:i}=e;const{activeIndex:r}=t;if(t.params.virtualTranslate&&0!==s){let e,s=!1;e=i?a:a.filter((e=>{const s=e.classList.contains("swiper-slide-transform")?(e=>{if(!e.parentElement)return t.slides.filter((t=>t.shadowRoot&&t.shadowRoot===e.parentNode))[0];return e.parentElement})(e):e;return t.getSlideIndex(s)===r})),e.forEach((e=>{x(e,(()=>{if(s)return;if(!t||t.destroyed)return;s=!0,t.animating=!1;const e=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0});t.wrapperEl.dispatchEvent(e)}))}))}}function me(e,t,s){const a=`swiper-slide-shadow${s?`-${s}`:""}${e?` swiper-slide-shadow-${e}`:""}`,i=h(t);let r=i.querySelector(`.${a.split(" ").join(".")}`);return r||(r=v("div",a.split(" ")),i.append(r)),r}Object.keys(ee).forEach((e=>{Object.keys(ee[e]).forEach((t=>{se.prototype[t]=ee[e][t]}))})),se.use([function(e){let{swiper:t,on:s,emit:a}=e;const i=r();let n=null,l=null;const o=()=>{t&&!t.destroyed&&t.initialized&&(a("beforeResize"),a("resize"))},d=()=>{t&&!t.destroyed&&t.initialized&&a("orientationchange")};s("init",(()=>{t.params.resizeObserver&&void 0!==i.ResizeObserver?t&&!t.destroyed&&t.initialized&&(n=new ResizeObserver((e=>{l=i.requestAnimationFrame((()=>{const{width:s,height:a}=t;let i=s,r=a;e.forEach((e=>{let{contentBoxSize:s,contentRect:a,target:n}=e;n&&n!==t.el||(i=a?a.width:(s[0]||s).inlineSize,r=a?a.height:(s[0]||s).blockSize)})),i===s&&r===a||o()}))})),n.observe(t.el)):(i.addEventListener("resize",o),i.addEventListener("orientationchange",d))})),s("destroy",(()=>{l&&i.cancelAnimationFrame(l),n&&n.unobserve&&t.el&&(n.unobserve(t.el),n=null),i.removeEventListener("resize",o),i.removeEventListener("orientationchange",d)}))},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const n=[],l=r(),o=function(e,s){void 0===s&&(s={});const a=new(l.MutationObserver||l.WebkitMutationObserver)((e=>{if(t.__preventObserver__)return;if(1===e.length)return void i("observerUpdate",e[0]);const s=function(){i("observerUpdate",e[0])};l.requestAnimationFrame?l.requestAnimationFrame(s):l.setTimeout(s,0)}));a.observe(e,{attributes:void 0===s.attributes||s.attributes,childList:void 0===s.childList||s.childList,characterData:void 0===s.characterData||s.characterData}),n.push(a)};s({observer:!1,observeParents:!1,observeSlideChildren:!1}),a("init",(()=>{if(t.params.observer){if(t.params.observeParents){const e=E(t.hostEl);for(let t=0;t<e.length;t+=1)o(e[t])}o(t.hostEl,{childList:t.params.observeSlideChildren}),o(t.wrapperEl,{attributes:!1})}})),a("destroy",(()=>{n.forEach((e=>{e.disconnect()})),n.splice(0,n.length)}))}]);const he=[function(e){let t,{swiper:s,extendParams:i,on:r,emit:n}=e;i({virtual:{enabled:!1,slides:[],cache:!0,renderSlide:null,renderExternal:null,renderExternalUpdate:!0,addSlidesBefore:0,addSlidesAfter:0}});const l=a();s.virtual={cache:{},from:void 0,to:void 0,slides:[],offset:0,slidesGrid:[]};const o=l.createElement("div");function d(e,t){const a=s.params.virtual;if(a.cache&&s.virtual.cache[t])return s.virtual.cache[t];let i;return a.renderSlide?(i=a.renderSlide.call(s,e,t),"string"==typeof i&&(o.innerHTML=i,i=o.children[0])):i=s.isElement?v("swiper-slide"):v("div",s.params.slideClass),i.setAttribute("data-swiper-slide-index",t),a.renderSlide||(i.innerHTML=e),a.cache&&(s.virtual.cache[t]=i),i}function c(e,t){const{slidesPerView:a,slidesPerGroup:i,centeredSlides:r,loop:l,initialSlide:o}=s.params;if(t&&!l&&o>0)return;const{addSlidesBefore:c,addSlidesAfter:p}=s.params.virtual,{from:u,to:m,slides:h,slidesGrid:g,offset:v}=s.virtual;s.params.cssMode||s.updateActiveIndex();const w=s.activeIndex||0;let b,y,E;b=s.rtlTranslate?"right":s.isHorizontal()?"left":"top",r?(y=Math.floor(a/2)+i+p,E=Math.floor(a/2)+i+c):(y=a+(i-1)+p,E=(l?a:i)+c);let x=w-E,S=w+y;l||(x=Math.max(x,0),S=Math.min(S,h.length-1));let T=(s.slidesGrid[x]||0)-(s.slidesGrid[0]||0);function M(){s.updateSlides(),s.updateProgress(),s.updateSlidesClasses(),n("virtualUpdate")}if(l&&w>=E?(x-=E,r||(T+=s.slidesGrid[0])):l&&w<E&&(x=-E,r&&(T+=s.slidesGrid[0])),Object.assign(s.virtual,{from:x,to:S,offset:T,slidesGrid:s.slidesGrid,slidesBefore:E,slidesAfter:y}),u===x&&m===S&&!e)return s.slidesGrid!==g&&T!==v&&s.slides.forEach((e=>{e.style[b]=T-Math.abs(s.cssOverflowAdjustment())+"px"})),s.updateProgress(),void n("virtualUpdate");if(s.params.virtual.renderExternal)return s.params.virtual.renderExternal.call(s,{offset:T,from:x,to:S,slides:function(){const e=[];for(let t=x;t<=S;t+=1)e.push(h[t]);return e}()}),void(s.params.virtual.renderExternalUpdate?M():n("virtualUpdate"));const C=[],P=[],L=e=>{let t=e;return e<0?t=h.length+e:t>=h.length&&(t-=h.length),t};if(e)s.slides.filter((e=>e.matches(`.${s.params.slideClass}, swiper-slide`))).forEach((e=>{e.remove()}));else for(let e=u;e<=m;e+=1)if(e<x||e>S){const t=L(e);s.slides.filter((e=>e.matches(`.${s.params.slideClass}[data-swiper-slide-index="${t}"], swiper-slide[data-swiper-slide-index="${t}"]`))).forEach((e=>{e.remove()}))}const I=l?-h.length:0,z=l?2*h.length:h.length;for(let t=I;t<z;t+=1)if(t>=x&&t<=S){const s=L(t);void 0===m||e?P.push(s):(t>m&&P.push(s),t<u&&C.push(s))}if(P.forEach((e=>{s.slidesEl.append(d(h[e],e))})),l)for(let e=C.length-1;e>=0;e-=1){const t=C[e];s.slidesEl.prepend(d(h[t],t))}else C.sort(((e,t)=>t-e)),C.forEach((e=>{s.slidesEl.prepend(d(h[e],e))}));f(s.slidesEl,".swiper-slide, swiper-slide").forEach((e=>{e.style[b]=T-Math.abs(s.cssOverflowAdjustment())+"px"})),M()}r("beforeInit",(()=>{if(!s.params.virtual.enabled)return;let e;if(void 0===s.passedParams.virtual.slides){const t=[...s.slidesEl.children].filter((e=>e.matches(`.${s.params.slideClass}, swiper-slide`)));t&&t.length&&(s.virtual.slides=[...t],e=!0,t.forEach(((e,t)=>{e.setAttribute("data-swiper-slide-index",t),s.virtual.cache[t]=e,e.remove()})))}e||(s.virtual.slides=s.params.virtual.slides),s.classNames.push(`${s.params.containerModifierClass}virtual`),s.params.watchSlidesProgress=!0,s.originalParams.watchSlidesProgress=!0,c(!1,!0)})),r("setTranslate",(()=>{s.params.virtual.enabled&&(s.params.cssMode&&!s._immediateVirtual?(clearTimeout(t),t=setTimeout((()=>{c()}),100)):c())})),r("init update resize",(()=>{s.params.virtual.enabled&&s.params.cssMode&&u(s.wrapperEl,"--swiper-virtual-size",`${s.virtualSize}px`)})),Object.assign(s.virtual,{appendSlide:function(e){if("object"==typeof e&&"length"in e)for(let t=0;t<e.length;t+=1)e[t]&&s.virtual.slides.push(e[t]);else s.virtual.slides.push(e);c(!0)},prependSlide:function(e){const t=s.activeIndex;let a=t+1,i=1;if(Array.isArray(e)){for(let t=0;t<e.length;t+=1)e[t]&&s.virtual.slides.unshift(e[t]);a=t+e.length,i=e.length}else s.virtual.slides.unshift(e);if(s.params.virtual.cache){const e=s.virtual.cache,t={};Object.keys(e).forEach((s=>{const a=e[s],r=a.getAttribute("data-swiper-slide-index");r&&a.setAttribute("data-swiper-slide-index",parseInt(r,10)+i),t[parseInt(s,10)+i]=a})),s.virtual.cache=t}c(!0),s.slideTo(a,0)},removeSlide:function(e){if(null==e)return;let t=s.activeIndex;if(Array.isArray(e))for(let a=e.length-1;a>=0;a-=1)s.params.virtual.cache&&(delete s.virtual.cache[e[a]],Object.keys(s.virtual.cache).forEach((t=>{t>e&&(s.virtual.cache[t-1]=s.virtual.cache[t],s.virtual.cache[t-1].setAttribute("data-swiper-slide-index",t-1),delete s.virtual.cache[t])}))),s.virtual.slides.splice(e[a],1),e[a]<t&&(t-=1),t=Math.max(t,0);else s.params.virtual.cache&&(delete s.virtual.cache[e],Object.keys(s.virtual.cache).forEach((t=>{t>e&&(s.virtual.cache[t-1]=s.virtual.cache[t],s.virtual.cache[t-1].setAttribute("data-swiper-slide-index",t-1),delete s.virtual.cache[t])}))),s.virtual.slides.splice(e,1),e<t&&(t-=1),t=Math.max(t,0);c(!0),s.slideTo(t,0)},removeAllSlides:function(){s.virtual.slides=[],s.params.virtual.cache&&(s.virtual.cache={}),c(!0),s.slideTo(0,0)},update:c})},function(e){let{swiper:t,extendParams:s,on:i,emit:n}=e;const l=a(),o=r();function d(e){if(!t.enabled)return;const{rtlTranslate:s}=t;let a=e;a.originalEvent&&(a=a.originalEvent);const i=a.keyCode||a.charCode,r=t.params.keyboard.pageUpDown,d=r&&33===i,c=r&&34===i,p=37===i,u=39===i,m=38===i,h=40===i;if(!t.allowSlideNext&&(t.isHorizontal()&&u||t.isVertical()&&h||c))return!1;if(!t.allowSlidePrev&&(t.isHorizontal()&&p||t.isVertical()&&m||d))return!1;if(!(a.shiftKey||a.altKey||a.ctrlKey||a.metaKey||l.activeElement&&l.activeElement.nodeName&&("input"===l.activeElement.nodeName.toLowerCase()||"textarea"===l.activeElement.nodeName.toLowerCase()))){if(t.params.keyboard.onlyInViewport&&(d||c||p||u||m||h)){let e=!1;if(E(t.el,`.${t.params.slideClass}, swiper-slide`).length>0&&0===E(t.el,`.${t.params.slideActiveClass}`).length)return;const a=t.el,i=a.clientWidth,r=a.clientHeight,n=o.innerWidth,l=o.innerHeight,d=w(a);s&&(d.left-=a.scrollLeft);const c=[[d.left,d.top],[d.left+i,d.top],[d.left,d.top+r],[d.left+i,d.top+r]];for(let t=0;t<c.length;t+=1){const s=c[t];if(s[0]>=0&&s[0]<=n&&s[1]>=0&&s[1]<=l){if(0===s[0]&&0===s[1])continue;e=!0}}if(!e)return}t.isHorizontal()?((d||c||p||u)&&(a.preventDefault?a.preventDefault():a.returnValue=!1),((c||u)&&!s||(d||p)&&s)&&t.slideNext(),((d||p)&&!s||(c||u)&&s)&&t.slidePrev()):((d||c||m||h)&&(a.preventDefault?a.preventDefault():a.returnValue=!1),(c||h)&&t.slideNext(),(d||m)&&t.slidePrev()),n("keyPress",i)}}function c(){t.keyboard.enabled||(l.addEventListener("keydown",d),t.keyboard.enabled=!0)}function p(){t.keyboard.enabled&&(l.removeEventListener("keydown",d),t.keyboard.enabled=!1)}t.keyboard={enabled:!1},s({keyboard:{enabled:!1,onlyInViewport:!0,pageUpDown:!0}}),i("init",(()=>{t.params.keyboard.enabled&&c()})),i("destroy",(()=>{t.keyboard.enabled&&p()})),Object.assign(t.keyboard,{enable:c,disable:p})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const n=r();let d;s({mousewheel:{enabled:!1,releaseOnEdges:!1,invert:!1,forceToAxis:!1,sensitivity:1,eventsTarget:"container",thresholdDelta:null,thresholdTime:null,noMousewheelClass:"swiper-no-mousewheel"}}),t.mousewheel={enabled:!1};let c,p=o();const u=[];function m(){t.enabled&&(t.mouseEntered=!0)}function h(){t.enabled&&(t.mouseEntered=!1)}function f(e){return!(t.params.mousewheel.thresholdDelta&&e.delta<t.params.mousewheel.thresholdDelta)&&(!(t.params.mousewheel.thresholdTime&&o()-p<t.params.mousewheel.thresholdTime)&&(e.delta>=6&&o()-p<60||(e.direction<0?t.isEnd&&!t.params.loop||t.animating||(t.slideNext(),i("scroll",e.raw)):t.isBeginning&&!t.params.loop||t.animating||(t.slidePrev(),i("scroll",e.raw)),p=(new n.Date).getTime(),!1)))}function g(e){let s=e,a=!0;if(!t.enabled)return;if(e.target.closest(`.${t.params.mousewheel.noMousewheelClass}`))return;const r=t.params.mousewheel;t.params.cssMode&&s.preventDefault();let n=t.el;"container"!==t.params.mousewheel.eventsTarget&&(n=document.querySelector(t.params.mousewheel.eventsTarget));const p=n&&n.contains(s.target);if(!t.mouseEntered&&!p&&!r.releaseOnEdges)return!0;s.originalEvent&&(s=s.originalEvent);let m=0;const h=t.rtlTranslate?-1:1,g=function(e){let t=0,s=0,a=0,i=0;return"detail"in e&&(s=e.detail),"wheelDelta"in e&&(s=-e.wheelDelta/120),"wheelDeltaY"in e&&(s=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=s,s=0),a=10*t,i=10*s,"deltaY"in e&&(i=e.deltaY),"deltaX"in e&&(a=e.deltaX),e.shiftKey&&!a&&(a=i,i=0),(a||i)&&e.deltaMode&&(1===e.deltaMode?(a*=40,i*=40):(a*=800,i*=800)),a&&!t&&(t=a<1?-1:1),i&&!s&&(s=i<1?-1:1),{spinX:t,spinY:s,pixelX:a,pixelY:i}}(s);if(r.forceToAxis)if(t.isHorizontal()){if(!(Math.abs(g.pixelX)>Math.abs(g.pixelY)))return!0;m=-g.pixelX*h}else{if(!(Math.abs(g.pixelY)>Math.abs(g.pixelX)))return!0;m=-g.pixelY}else m=Math.abs(g.pixelX)>Math.abs(g.pixelY)?-g.pixelX*h:-g.pixelY;if(0===m)return!0;r.invert&&(m=-m);let v=t.getTranslate()+m*r.sensitivity;if(v>=t.minTranslate()&&(v=t.minTranslate()),v<=t.maxTranslate()&&(v=t.maxTranslate()),a=!!t.params.loop||!(v===t.minTranslate()||v===t.maxTranslate()),a&&t.params.nested&&s.stopPropagation(),t.params.freeMode&&t.params.freeMode.enabled){const e={time:o(),delta:Math.abs(m),direction:Math.sign(m)},a=c&&e.time<c.time+500&&e.delta<=c.delta&&e.direction===c.direction;if(!a){c=void 0;let n=t.getTranslate()+m*r.sensitivity;const o=t.isBeginning,p=t.isEnd;if(n>=t.minTranslate()&&(n=t.minTranslate()),n<=t.maxTranslate()&&(n=t.maxTranslate()),t.setTransition(0),t.setTranslate(n),t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses(),(!o&&t.isBeginning||!p&&t.isEnd)&&t.updateSlidesClasses(),t.params.loop&&t.loopFix({direction:e.direction<0?"next":"prev",byMousewheel:!0}),t.params.freeMode.sticky){clearTimeout(d),d=void 0,u.length>=15&&u.shift();const s=u.length?u[u.length-1]:void 0,a=u[0];if(u.push(e),s&&(e.delta>s.delta||e.direction!==s.direction))u.splice(0);else if(u.length>=15&&e.time-a.time<500&&a.delta-e.delta>=1&&e.delta<=6){const s=m>0?.8:.2;c=e,u.splice(0),d=l((()=>{t.slideToClosest(t.params.speed,!0,void 0,s)}),0)}d||(d=l((()=>{c=e,u.splice(0),t.slideToClosest(t.params.speed,!0,void 0,.5)}),500))}if(a||i("scroll",s),t.params.autoplay&&t.params.autoplayDisableOnInteraction&&t.autoplay.stop(),r.releaseOnEdges&&(n===t.minTranslate()||n===t.maxTranslate()))return!0}}else{const s={time:o(),delta:Math.abs(m),direction:Math.sign(m),raw:e};u.length>=2&&u.shift();const a=u.length?u[u.length-1]:void 0;if(u.push(s),a?(s.direction!==a.direction||s.delta>a.delta||s.time>a.time+150)&&f(s):f(s),function(e){const s=t.params.mousewheel;if(e.direction<0){if(t.isEnd&&!t.params.loop&&s.releaseOnEdges)return!0}else if(t.isBeginning&&!t.params.loop&&s.releaseOnEdges)return!0;return!1}(s))return!0}return s.preventDefault?s.preventDefault():s.returnValue=!1,!1}function v(e){let s=t.el;"container"!==t.params.mousewheel.eventsTarget&&(s=document.querySelector(t.params.mousewheel.eventsTarget)),s[e]("mouseenter",m),s[e]("mouseleave",h),s[e]("wheel",g)}function w(){return t.params.cssMode?(t.wrapperEl.removeEventListener("wheel",g),!0):!t.mousewheel.enabled&&(v("addEventListener"),t.mousewheel.enabled=!0,!0)}function b(){return t.params.cssMode?(t.wrapperEl.addEventListener(event,g),!0):!!t.mousewheel.enabled&&(v("removeEventListener"),t.mousewheel.enabled=!1,!0)}a("init",(()=>{!t.params.mousewheel.enabled&&t.params.cssMode&&b(),t.params.mousewheel.enabled&&w()})),a("destroy",(()=>{t.params.cssMode&&w(),t.mousewheel.enabled&&b()})),Object.assign(t.mousewheel,{enable:w,disable:b})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;function r(e){let s;return e&&"string"==typeof e&&t.isElement&&(s=t.el.querySelector(e),s)?s:(e&&("string"==typeof e&&(s=[...document.querySelectorAll(e)]),t.params.uniqueNavElements&&"string"==typeof e&&s&&s.length>1&&1===t.el.querySelectorAll(e).length?s=t.el.querySelector(e):s&&1===s.length&&(s=s[0])),e&&!s?e:s)}function n(e,s){const a=t.params.navigation;(e=T(e)).forEach((e=>{e&&(e.classList[s?"add":"remove"](...a.disabledClass.split(" ")),"BUTTON"===e.tagName&&(e.disabled=s),t.params.watchOverflow&&t.enabled&&e.classList[t.isLocked?"add":"remove"](a.lockClass))}))}function l(){const{nextEl:e,prevEl:s}=t.navigation;if(t.params.loop)return n(s,!1),void n(e,!1);n(s,t.isBeginning&&!t.params.rewind),n(e,t.isEnd&&!t.params.rewind)}function o(e){e.preventDefault(),(!t.isBeginning||t.params.loop||t.params.rewind)&&(t.slidePrev(),i("navigationPrev"))}function d(e){e.preventDefault(),(!t.isEnd||t.params.loop||t.params.rewind)&&(t.slideNext(),i("navigationNext"))}function c(){const e=t.params.navigation;if(t.params.navigation=ae(t,t.originalParams.navigation,t.params.navigation,{nextEl:"swiper-button-next",prevEl:"swiper-button-prev"}),!e.nextEl&&!e.prevEl)return;let s=r(e.nextEl),a=r(e.prevEl);Object.assign(t.navigation,{nextEl:s,prevEl:a}),s=T(s),a=T(a);const i=(s,a)=>{s&&s.addEventListener("click","next"===a?d:o),!t.enabled&&s&&s.classList.add(...e.lockClass.split(" "))};s.forEach((e=>i(e,"next"))),a.forEach((e=>i(e,"prev")))}function p(){let{nextEl:e,prevEl:s}=t.navigation;e=T(e),s=T(s);const a=(e,s)=>{e.removeEventListener("click","next"===s?d:o),e.classList.remove(...t.params.navigation.disabledClass.split(" "))};e.forEach((e=>a(e,"next"))),s.forEach((e=>a(e,"prev")))}s({navigation:{nextEl:null,prevEl:null,hideOnClick:!1,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock",navigationDisabledClass:"swiper-navigation-disabled"}}),t.navigation={nextEl:null,prevEl:null},a("init",(()=>{!1===t.params.navigation.enabled?u():(c(),l())})),a("toEdge fromEdge lock unlock",(()=>{l()})),a("destroy",(()=>{p()})),a("enable disable",(()=>{let{nextEl:e,prevEl:s}=t.navigation;e=T(e),s=T(s),t.enabled?l():[...e,...s].filter((e=>!!e)).forEach((e=>e.classList.add(t.params.navigation.lockClass)))})),a("click",((e,s)=>{let{nextEl:a,prevEl:r}=t.navigation;a=T(a),r=T(r);const n=s.target;if(t.params.navigation.hideOnClick&&!r.includes(n)&&!a.includes(n)){if(t.pagination&&t.params.pagination&&t.params.pagination.clickable&&(t.pagination.el===n||t.pagination.el.contains(n)))return;let e;a.length?e=a[0].classList.contains(t.params.navigation.hiddenClass):r.length&&(e=r[0].classList.contains(t.params.navigation.hiddenClass)),i(!0===e?"navigationShow":"navigationHide"),[...a,...r].filter((e=>!!e)).forEach((e=>e.classList.toggle(t.params.navigation.hiddenClass)))}}));const u=()=>{t.el.classList.add(...t.params.navigation.navigationDisabledClass.split(" ")),p()};Object.assign(t.navigation,{enable:()=>{t.el.classList.remove(...t.params.navigation.navigationDisabledClass.split(" ")),c(),l()},disable:u,update:l,init:c,destroy:p})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const r="swiper-pagination";let n;s({pagination:{el:null,bulletElement:"span",clickable:!1,hideOnClick:!1,renderBullet:null,renderProgressbar:null,renderFraction:null,renderCustom:null,progressbarOpposite:!1,type:"bullets",dynamicBullets:!1,dynamicMainBullets:1,formatFractionCurrent:e=>e,formatFractionTotal:e=>e,bulletClass:`${r}-bullet`,bulletActiveClass:`${r}-bullet-active`,modifierClass:`${r}-`,currentClass:`${r}-current`,totalClass:`${r}-total`,hiddenClass:`${r}-hidden`,progressbarFillClass:`${r}-progressbar-fill`,progressbarOppositeClass:`${r}-progressbar-opposite`,clickableClass:`${r}-clickable`,lockClass:`${r}-lock`,horizontalClass:`${r}-horizontal`,verticalClass:`${r}-vertical`,paginationDisabledClass:`${r}-disabled`}}),t.pagination={el:null,bullets:[]};let l=0;function o(){return!t.params.pagination.el||!t.pagination.el||Array.isArray(t.pagination.el)&&0===t.pagination.el.length}function d(e,s){const{bulletActiveClass:a}=t.params.pagination;e&&(e=e[("prev"===s?"previous":"next")+"ElementSibling"])&&(e.classList.add(`${a}-${s}`),(e=e[("prev"===s?"previous":"next")+"ElementSibling"])&&e.classList.add(`${a}-${s}-${s}`))}function c(e){const s=e.target.closest(ie(t.params.pagination.bulletClass));if(!s)return;e.preventDefault();const a=y(s)*t.params.slidesPerGroup;if(t.params.loop){if(t.realIndex===a)return;t.slideToLoop(a)}else t.slideTo(a)}function p(){const e=t.rtl,s=t.params.pagination;if(o())return;let a,r,c=t.pagination.el;c=T(c);const p=t.virtual&&t.params.virtual.enabled?t.virtual.slides.length:t.slides.length,u=t.params.loop?Math.ceil(p/t.params.slidesPerGroup):t.snapGrid.length;if(t.params.loop?(r=t.previousRealIndex||0,a=t.params.slidesPerGroup>1?Math.floor(t.realIndex/t.params.slidesPerGroup):t.realIndex):void 0!==t.snapIndex?(a=t.snapIndex,r=t.previousSnapIndex):(r=t.previousIndex||0,a=t.activeIndex||0),"bullets"===s.type&&t.pagination.bullets&&t.pagination.bullets.length>0){const i=t.pagination.bullets;let o,p,u;if(s.dynamicBullets&&(n=S(i[0],t.isHorizontal()?"width":"height",!0),c.forEach((e=>{e.style[t.isHorizontal()?"width":"height"]=n*(s.dynamicMainBullets+4)+"px"})),s.dynamicMainBullets>1&&void 0!==r&&(l+=a-(r||0),l>s.dynamicMainBullets-1?l=s.dynamicMainBullets-1:l<0&&(l=0)),o=Math.max(a-l,0),p=o+(Math.min(i.length,s.dynamicMainBullets)-1),u=(p+o)/2),i.forEach((e=>{const t=[...["","-next","-next-next","-prev","-prev-prev","-main"].map((e=>`${s.bulletActiveClass}${e}`))].map((e=>"string"==typeof e&&e.includes(" ")?e.split(" "):e)).flat();e.classList.remove(...t)})),c.length>1)i.forEach((e=>{const i=y(e);i===a?e.classList.add(...s.bulletActiveClass.split(" ")):t.isElement&&e.setAttribute("part","bullet"),s.dynamicBullets&&(i>=o&&i<=p&&e.classList.add(...`${s.bulletActiveClass}-main`.split(" ")),i===o&&d(e,"prev"),i===p&&d(e,"next"))}));else{const e=i[a];if(e&&e.classList.add(...s.bulletActiveClass.split(" ")),t.isElement&&i.forEach(((e,t)=>{e.setAttribute("part",t===a?"bullet-active":"bullet")})),s.dynamicBullets){const e=i[o],t=i[p];for(let e=o;e<=p;e+=1)i[e]&&i[e].classList.add(...`${s.bulletActiveClass}-main`.split(" "));d(e,"prev"),d(t,"next")}}if(s.dynamicBullets){const a=Math.min(i.length,s.dynamicMainBullets+4),r=(n*a-n)/2-u*n,l=e?"right":"left";i.forEach((e=>{e.style[t.isHorizontal()?l:"top"]=`${r}px`}))}}c.forEach(((e,r)=>{if("fraction"===s.type&&(e.querySelectorAll(ie(s.currentClass)).forEach((e=>{e.textContent=s.formatFractionCurrent(a+1)})),e.querySelectorAll(ie(s.totalClass)).forEach((e=>{e.textContent=s.formatFractionTotal(u)}))),"progressbar"===s.type){let i;i=s.progressbarOpposite?t.isHorizontal()?"vertical":"horizontal":t.isHorizontal()?"horizontal":"vertical";const r=(a+1)/u;let n=1,l=1;"horizontal"===i?n=r:l=r,e.querySelectorAll(ie(s.progressbarFillClass)).forEach((e=>{e.style.transform=`translate3d(0,0,0) scaleX(${n}) scaleY(${l})`,e.style.transitionDuration=`${t.params.speed}ms`}))}"custom"===s.type&&s.renderCustom?(e.innerHTML=s.renderCustom(t,a+1,u),0===r&&i("paginationRender",e)):(0===r&&i("paginationRender",e),i("paginationUpdate",e)),t.params.watchOverflow&&t.enabled&&e.classList[t.isLocked?"add":"remove"](s.lockClass)}))}function u(){const e=t.params.pagination;if(o())return;const s=t.virtual&&t.params.virtual.enabled?t.virtual.slides.length:t.grid&&t.params.grid.rows>1?t.slides.length/Math.ceil(t.params.grid.rows):t.slides.length;let a=t.pagination.el;a=T(a);let r="";if("bullets"===e.type){let a=t.params.loop?Math.ceil(s/t.params.slidesPerGroup):t.snapGrid.length;t.params.freeMode&&t.params.freeMode.enabled&&a>s&&(a=s);for(let s=0;s<a;s+=1)e.renderBullet?r+=e.renderBullet.call(t,s,e.bulletClass):r+=`<${e.bulletElement} ${t.isElement?'part="bullet"':""} class="${e.bulletClass}"></${e.bulletElement}>`}"fraction"===e.type&&(r=e.renderFraction?e.renderFraction.call(t,e.currentClass,e.totalClass):`<span class="${e.currentClass}"></span> / <span class="${e.totalClass}"></span>`),"progressbar"===e.type&&(r=e.renderProgressbar?e.renderProgressbar.call(t,e.progressbarFillClass):`<span class="${e.progressbarFillClass}"></span>`),t.pagination.bullets=[],a.forEach((s=>{"custom"!==e.type&&(s.innerHTML=r||""),"bullets"===e.type&&t.pagination.bullets.push(...s.querySelectorAll(ie(e.bulletClass)))})),"custom"!==e.type&&i("paginationRender",a[0])}function m(){t.params.pagination=ae(t,t.originalParams.pagination,t.params.pagination,{el:"swiper-pagination"});const e=t.params.pagination;if(!e.el)return;let s;"string"==typeof e.el&&t.isElement&&(s=t.el.querySelector(e.el)),s||"string"!=typeof e.el||(s=[...document.querySelectorAll(e.el)]),s||(s=e.el),s&&0!==s.length&&(t.params.uniqueNavElements&&"string"==typeof e.el&&Array.isArray(s)&&s.length>1&&(s=[...t.el.querySelectorAll(e.el)],s.length>1&&(s=s.filter((e=>E(e,".swiper")[0]===t.el))[0])),Array.isArray(s)&&1===s.length&&(s=s[0]),Object.assign(t.pagination,{el:s}),s=T(s),s.forEach((s=>{"bullets"===e.type&&e.clickable&&s.classList.add(...(e.clickableClass||"").split(" ")),s.classList.add(e.modifierClass+e.type),s.classList.add(t.isHorizontal()?e.horizontalClass:e.verticalClass),"bullets"===e.type&&e.dynamicBullets&&(s.classList.add(`${e.modifierClass}${e.type}-dynamic`),l=0,e.dynamicMainBullets<1&&(e.dynamicMainBullets=1)),"progressbar"===e.type&&e.progressbarOpposite&&s.classList.add(e.progressbarOppositeClass),e.clickable&&s.addEventListener("click",c),t.enabled||s.classList.add(e.lockClass)})))}function h(){const e=t.params.pagination;if(o())return;let s=t.pagination.el;s&&(s=T(s),s.forEach((s=>{s.classList.remove(e.hiddenClass),s.classList.remove(e.modifierClass+e.type),s.classList.remove(t.isHorizontal()?e.horizontalClass:e.verticalClass),e.clickable&&(s.classList.remove(...(e.clickableClass||"").split(" ")),s.removeEventListener("click",c))}))),t.pagination.bullets&&t.pagination.bullets.forEach((t=>t.classList.remove(...e.bulletActiveClass.split(" "))))}a("changeDirection",(()=>{if(!t.pagination||!t.pagination.el)return;const e=t.params.pagination;let{el:s}=t.pagination;s=T(s),s.forEach((s=>{s.classList.remove(e.horizontalClass,e.verticalClass),s.classList.add(t.isHorizontal()?e.horizontalClass:e.verticalClass)}))})),a("init",(()=>{!1===t.params.pagination.enabled?f():(m(),u(),p())})),a("activeIndexChange",(()=>{void 0===t.snapIndex&&p()})),a("snapIndexChange",(()=>{p()})),a("snapGridLengthChange",(()=>{u(),p()})),a("destroy",(()=>{h()})),a("enable disable",(()=>{let{el:e}=t.pagination;e&&(e=T(e),e.forEach((e=>e.classList[t.enabled?"remove":"add"](t.params.pagination.lockClass))))})),a("lock unlock",(()=>{p()})),a("click",((e,s)=>{const a=s.target,r=T(t.pagination.el);if(t.params.pagination.el&&t.params.pagination.hideOnClick&&r&&r.length>0&&!a.classList.contains(t.params.pagination.bulletClass)){if(t.navigation&&(t.navigation.nextEl&&a===t.navigation.nextEl||t.navigation.prevEl&&a===t.navigation.prevEl))return;const e=r[0].classList.contains(t.params.pagination.hiddenClass);i(!0===e?"paginationShow":"paginationHide"),r.forEach((e=>e.classList.toggle(t.params.pagination.hiddenClass)))}}));const f=()=>{t.el.classList.add(t.params.pagination.paginationDisabledClass);let{el:e}=t.pagination;e&&(e=T(e),e.forEach((e=>e.classList.add(t.params.pagination.paginationDisabledClass)))),h()};Object.assign(t.pagination,{enable:()=>{t.el.classList.remove(t.params.pagination.paginationDisabledClass);let{el:e}=t.pagination;e&&(e=T(e),e.forEach((e=>e.classList.remove(t.params.pagination.paginationDisabledClass)))),m(),u(),p()},disable:f,render:u,update:p,init:m,destroy:h})},function(e){let{swiper:t,extendParams:s,on:i,emit:r}=e;const o=a();let d,c,p,u,m=!1,h=null,f=null;function g(){if(!t.params.scrollbar.el||!t.scrollbar.el)return;const{scrollbar:e,rtlTranslate:s}=t,{dragEl:a,el:i}=e,r=t.params.scrollbar,n=t.params.loop?t.progressLoop:t.progress;let l=c,o=(p-c)*n;s?(o=-o,o>0?(l=c-o,o=0):-o+c>p&&(l=p+o)):o<0?(l=c+o,o=0):o+c>p&&(l=p-o),t.isHorizontal()?(a.style.transform=`translate3d(${o}px, 0, 0)`,a.style.width=`${l}px`):(a.style.transform=`translate3d(0px, ${o}px, 0)`,a.style.height=`${l}px`),r.hide&&(clearTimeout(h),i.style.opacity=1,h=setTimeout((()=>{i.style.opacity=0,i.style.transitionDuration="400ms"}),1e3))}function b(){if(!t.params.scrollbar.el||!t.scrollbar.el)return;const{scrollbar:e}=t,{dragEl:s,el:a}=e;s.style.width="",s.style.height="",p=t.isHorizontal()?a.offsetWidth:a.offsetHeight,u=t.size/(t.virtualSize+t.params.slidesOffsetBefore-(t.params.centeredSlides?t.snapGrid[0]:0)),c="auto"===t.params.scrollbar.dragSize?p*u:parseInt(t.params.scrollbar.dragSize,10),t.isHorizontal()?s.style.width=`${c}px`:s.style.height=`${c}px`,a.style.display=u>=1?"none":"",t.params.scrollbar.hide&&(a.style.opacity=0),t.params.watchOverflow&&t.enabled&&e.el.classList[t.isLocked?"add":"remove"](t.params.scrollbar.lockClass)}function y(e){return t.isHorizontal()?e.clientX:e.clientY}function E(e){const{scrollbar:s,rtlTranslate:a}=t,{el:i}=s;let r;r=(y(e)-w(i)[t.isHorizontal()?"left":"top"]-(null!==d?d:c/2))/(p-c),r=Math.max(Math.min(r,1),0),a&&(r=1-r);const n=t.minTranslate()+(t.maxTranslate()-t.minTranslate())*r;t.updateProgress(n),t.setTranslate(n),t.updateActiveIndex(),t.updateSlidesClasses()}function x(e){const s=t.params.scrollbar,{scrollbar:a,wrapperEl:i}=t,{el:n,dragEl:l}=a;m=!0,d=e.target===l?y(e)-e.target.getBoundingClientRect()[t.isHorizontal()?"left":"top"]:null,e.preventDefault(),e.stopPropagation(),i.style.transitionDuration="100ms",l.style.transitionDuration="100ms",E(e),clearTimeout(f),n.style.transitionDuration="0ms",s.hide&&(n.style.opacity=1),t.params.cssMode&&(t.wrapperEl.style["scroll-snap-type"]="none"),r("scrollbarDragStart",e)}function S(e){const{scrollbar:s,wrapperEl:a}=t,{el:i,dragEl:n}=s;m&&(e.preventDefault&&e.cancelable?e.preventDefault():e.returnValue=!1,E(e),a.style.transitionDuration="0ms",i.style.transitionDuration="0ms",n.style.transitionDuration="0ms",r("scrollbarDragMove",e))}function M(e){const s=t.params.scrollbar,{scrollbar:a,wrapperEl:i}=t,{el:n}=a;m&&(m=!1,t.params.cssMode&&(t.wrapperEl.style["scroll-snap-type"]="",i.style.transitionDuration=""),s.hide&&(clearTimeout(f),f=l((()=>{n.style.opacity=0,n.style.transitionDuration="400ms"}),1e3)),r("scrollbarDragEnd",e),s.snapOnRelease&&t.slideToClosest())}function C(e){const{scrollbar:s,params:a}=t,i=s.el;if(!i)return;const r=i,n=!!a.passiveListeners&&{passive:!1,capture:!1},l=!!a.passiveListeners&&{passive:!0,capture:!1};if(!r)return;const d="on"===e?"addEventListener":"removeEventListener";r[d]("pointerdown",x,n),o[d]("pointermove",S,n),o[d]("pointerup",M,l)}function P(){const{scrollbar:e,el:s}=t;t.params.scrollbar=ae(t,t.originalParams.scrollbar,t.params.scrollbar,{el:"swiper-scrollbar"});const a=t.params.scrollbar;if(!a.el)return;let i,r;if("string"==typeof a.el&&t.isElement&&(i=t.el.querySelector(a.el)),i||"string"!=typeof a.el)i||(i=a.el);else if(i=o.querySelectorAll(a.el),!i.length)return;t.params.uniqueNavElements&&"string"==typeof a.el&&i.length>1&&1===s.querySelectorAll(a.el).length&&(i=s.querySelector(a.el)),i.length>0&&(i=i[0]),i.classList.add(t.isHorizontal()?a.horizontalClass:a.verticalClass),i&&(r=i.querySelector(ie(t.params.scrollbar.dragClass)),r||(r=v("div",t.params.scrollbar.dragClass),i.append(r))),Object.assign(e,{el:i,dragEl:r}),a.draggable&&t.params.scrollbar.el&&t.scrollbar.el&&C("on"),i&&i.classList[t.enabled?"remove":"add"](...n(t.params.scrollbar.lockClass))}function L(){const e=t.params.scrollbar,s=t.scrollbar.el;s&&s.classList.remove(...n(t.isHorizontal()?e.horizontalClass:e.verticalClass)),t.params.scrollbar.el&&t.scrollbar.el&&C("off")}s({scrollbar:{el:null,dragSize:"auto",hide:!1,draggable:!1,snapOnRelease:!0,lockClass:"swiper-scrollbar-lock",dragClass:"swiper-scrollbar-drag",scrollbarDisabledClass:"swiper-scrollbar-disabled",horizontalClass:"swiper-scrollbar-horizontal",verticalClass:"swiper-scrollbar-vertical"}}),t.scrollbar={el:null,dragEl:null},i("changeDirection",(()=>{if(!t.scrollbar||!t.scrollbar.el)return;const e=t.params.scrollbar;let{el:s}=t.scrollbar;s=T(s),s.forEach((s=>{s.classList.remove(e.horizontalClass,e.verticalClass),s.classList.add(t.isHorizontal()?e.horizontalClass:e.verticalClass)}))})),i("init",(()=>{!1===t.params.scrollbar.enabled?I():(P(),b(),g())})),i("update resize observerUpdate lock unlock changeDirection",(()=>{b()})),i("setTranslate",(()=>{g()})),i("setTransition",((e,s)=>{!function(e){t.params.scrollbar.el&&t.scrollbar.el&&(t.scrollbar.dragEl.style.transitionDuration=`${e}ms`)}(s)})),i("enable disable",(()=>{const{el:e}=t.scrollbar;e&&e.classList[t.enabled?"remove":"add"](...n(t.params.scrollbar.lockClass))})),i("destroy",(()=>{L()}));const I=()=>{t.el.classList.add(...n(t.params.scrollbar.scrollbarDisabledClass)),t.scrollbar.el&&t.scrollbar.el.classList.add(...n(t.params.scrollbar.scrollbarDisabledClass)),L()};Object.assign(t.scrollbar,{enable:()=>{t.el.classList.remove(...n(t.params.scrollbar.scrollbarDisabledClass)),t.scrollbar.el&&t.scrollbar.el.classList.remove(...n(t.params.scrollbar.scrollbarDisabledClass)),P(),b(),g()},disable:I,updateSize:b,setTranslate:g,init:P,destroy:L})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({parallax:{enabled:!1}});const i="[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]",r=(e,s)=>{const{rtl:a}=t,i=a?-1:1,r=e.getAttribute("data-swiper-parallax")||"0";let n=e.getAttribute("data-swiper-parallax-x"),l=e.getAttribute("data-swiper-parallax-y");const o=e.getAttribute("data-swiper-parallax-scale"),d=e.getAttribute("data-swiper-parallax-opacity"),c=e.getAttribute("data-swiper-parallax-rotate");if(n||l?(n=n||"0",l=l||"0"):t.isHorizontal()?(n=r,l="0"):(l=r,n="0"),n=n.indexOf("%")>=0?parseInt(n,10)*s*i+"%":n*s*i+"px",l=l.indexOf("%")>=0?parseInt(l,10)*s+"%":l*s+"px",null!=d){const t=d-(d-1)*(1-Math.abs(s));e.style.opacity=t}let p=`translate3d(${n}, ${l}, 0px)`;if(null!=o){p+=` scale(${o-(o-1)*(1-Math.abs(s))})`}if(c&&null!=c){p+=` rotate(${c*s*-1}deg)`}e.style.transform=p},n=()=>{const{el:e,slides:s,progress:a,snapGrid:n,isElement:l}=t,o=f(e,i);t.isElement&&o.push(...f(t.hostEl,i)),o.forEach((e=>{r(e,a)})),s.forEach(((e,s)=>{let l=e.progress;t.params.slidesPerGroup>1&&"auto"!==t.params.slidesPerView&&(l+=Math.ceil(s/2)-a*(n.length-1)),l=Math.min(Math.max(l,-1),1),e.querySelectorAll(`${i}, [data-swiper-parallax-rotate]`).forEach((e=>{r(e,l)}))}))};a("beforeInit",(()=>{t.params.parallax.enabled&&(t.params.watchSlidesProgress=!0,t.originalParams.watchSlidesProgress=!0)})),a("init",(()=>{t.params.parallax.enabled&&n()})),a("setTranslate",(()=>{t.params.parallax.enabled&&n()})),a("setTransition",((e,s)=>{t.params.parallax.enabled&&function(e){void 0===e&&(e=t.params.speed);const{el:s,hostEl:a}=t,r=[...s.querySelectorAll(i)];t.isElement&&r.push(...a.querySelectorAll(i)),r.forEach((t=>{let s=parseInt(t.getAttribute("data-swiper-parallax-duration"),10)||e;0===e&&(s=0),t.style.transitionDuration=`${s}ms`}))}(s)}))},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const n=r();s({zoom:{enabled:!1,limitToOriginalSize:!1,maxRatio:3,minRatio:1,toggle:!0,containerClass:"swiper-zoom-container",zoomedSlideClass:"swiper-slide-zoomed"}}),t.zoom={enabled:!1};let l,o,c=1,p=!1;const u=[],m={originX:0,originY:0,slideEl:void 0,slideWidth:void 0,slideHeight:void 0,imageEl:void 0,imageWrapEl:void 0,maxRatio:3},h={isTouched:void 0,isMoved:void 0,currentX:void 0,currentY:void 0,minX:void 0,minY:void 0,maxX:void 0,maxY:void 0,width:void 0,height:void 0,startX:void 0,startY:void 0,touchesStart:{},touchesCurrent:{}},g={x:void 0,y:void 0,prevPositionX:void 0,prevPositionY:void 0,prevTime:void 0};let v,b=1;function y(){if(u.length<2)return 1;const e=u[0].pageX,t=u[0].pageY,s=u[1].pageX,a=u[1].pageY;return Math.sqrt((s-e)**2+(a-t)**2)}function x(){const e=t.params.zoom,s=m.imageWrapEl.getAttribute("data-swiper-zoom")||e.maxRatio;if(e.limitToOriginalSize&&m.imageEl&&m.imageEl.naturalWidth){const e=m.imageEl.naturalWidth/m.imageEl.offsetWidth;return Math.min(e,s)}return s}function S(e){const s=t.isElement?"swiper-slide":`.${t.params.slideClass}`;return!!e.target.matches(s)||t.slides.filter((t=>t.contains(e.target))).length>0}function T(e){if("mouse"===e.pointerType&&u.splice(0,u.length),!S(e))return;const s=t.params.zoom;if(l=!1,o=!1,u.push(e),!(u.length<2)){if(l=!0,m.scaleStart=y(),!m.slideEl){m.slideEl=e.target.closest(`.${t.params.slideClass}, swiper-slide`),m.slideEl||(m.slideEl=t.slides[t.activeIndex]);let a=m.slideEl.querySelector(`.${s.containerClass}`);if(a&&(a=a.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]),m.imageEl=a,m.imageWrapEl=a?E(m.imageEl,`.${s.containerClass}`)[0]:void 0,!m.imageWrapEl)return void(m.imageEl=void 0);m.maxRatio=x()}if(m.imageEl){const[e,t]=function(){if(u.length<2)return{x:null,y:null};const e=m.imageEl.getBoundingClientRect();return[(u[0].pageX+(u[1].pageX-u[0].pageX)/2-e.x-n.scrollX)/c,(u[0].pageY+(u[1].pageY-u[0].pageY)/2-e.y-n.scrollY)/c]}();m.originX=e,m.originY=t,m.imageEl.style.transitionDuration="0ms"}p=!0}}function M(e){if(!S(e))return;const s=t.params.zoom,a=t.zoom,i=u.findIndex((t=>t.pointerId===e.pointerId));i>=0&&(u[i]=e),u.length<2||(o=!0,m.scaleMove=y(),m.imageEl&&(a.scale=m.scaleMove/m.scaleStart*c,a.scale>m.maxRatio&&(a.scale=m.maxRatio-1+(a.scale-m.maxRatio+1)**.5),a.scale<s.minRatio&&(a.scale=s.minRatio+1-(s.minRatio-a.scale+1)**.5),m.imageEl.style.transform=`translate3d(0,0,0) scale(${a.scale})`))}function C(e){if(!S(e))return;if("mouse"===e.pointerType&&"pointerout"===e.type)return;const s=t.params.zoom,a=t.zoom,i=u.findIndex((t=>t.pointerId===e.pointerId));i>=0&&u.splice(i,1),l&&o&&(l=!1,o=!1,m.imageEl&&(a.scale=Math.max(Math.min(a.scale,m.maxRatio),s.minRatio),m.imageEl.style.transitionDuration=`${t.params.speed}ms`,m.imageEl.style.transform=`translate3d(0,0,0) scale(${a.scale})`,c=a.scale,p=!1,a.scale>1&&m.slideEl?m.slideEl.classList.add(`${s.zoomedSlideClass}`):a.scale<=1&&m.slideEl&&m.slideEl.classList.remove(`${s.zoomedSlideClass}`),1===a.scale&&(m.originX=0,m.originY=0,m.slideEl=void 0)))}function P(){t.touchEventsData.preventTouchMoveFromPointerMove=!1}function L(e){if(!S(e)||!function(e){const s=`.${t.params.zoom.containerClass}`;return!!e.target.matches(s)||[...t.hostEl.querySelectorAll(s)].filter((t=>t.contains(e.target))).length>0}(e))return;const s=t.zoom;if(!m.imageEl)return;if(!h.isTouched||!m.slideEl)return;h.isMoved||(h.width=m.imageEl.offsetWidth||m.imageEl.clientWidth,h.height=m.imageEl.offsetHeight||m.imageEl.clientHeight,h.startX=d(m.imageWrapEl,"x")||0,h.startY=d(m.imageWrapEl,"y")||0,m.slideWidth=m.slideEl.offsetWidth,m.slideHeight=m.slideEl.offsetHeight,m.imageWrapEl.style.transitionDuration="0ms");const a=h.width*s.scale,i=h.height*s.scale;if(a<m.slideWidth&&i<m.slideHeight)return void P();h.minX=Math.min(m.slideWidth/2-a/2,0),h.maxX=-h.minX,h.minY=Math.min(m.slideHeight/2-i/2,0),h.maxY=-h.minY,h.touchesCurrent.x=u.length>0?u[0].pageX:e.pageX,h.touchesCurrent.y=u.length>0?u[0].pageY:e.pageY;if(Math.max(Math.abs(h.touchesCurrent.x-h.touchesStart.x),Math.abs(h.touchesCurrent.y-h.touchesStart.y))>5&&(t.allowClick=!1),!h.isMoved&&!p){if(t.isHorizontal()&&(Math.floor(h.minX)===Math.floor(h.startX)&&h.touchesCurrent.x<h.touchesStart.x||Math.floor(h.maxX)===Math.floor(h.startX)&&h.touchesCurrent.x>h.touchesStart.x))return h.isTouched=!1,void P();if(!t.isHorizontal()&&(Math.floor(h.minY)===Math.floor(h.startY)&&h.touchesCurrent.y<h.touchesStart.y||Math.floor(h.maxY)===Math.floor(h.startY)&&h.touchesCurrent.y>h.touchesStart.y))return h.isTouched=!1,void P()}e.cancelable&&e.preventDefault(),e.stopPropagation(),clearTimeout(v),t.touchEventsData.preventTouchMoveFromPointerMove=!0,v=setTimeout((()=>{P()})),h.isMoved=!0;const r=(s.scale-c)/(m.maxRatio-t.params.zoom.minRatio),{originX:n,originY:l}=m;h.currentX=h.touchesCurrent.x-h.touchesStart.x+h.startX+r*(h.width-2*n),h.currentY=h.touchesCurrent.y-h.touchesStart.y+h.startY+r*(h.height-2*l),h.currentX<h.minX&&(h.currentX=h.minX+1-(h.minX-h.currentX+1)**.8),h.currentX>h.maxX&&(h.currentX=h.maxX-1+(h.currentX-h.maxX+1)**.8),h.currentY<h.minY&&(h.currentY=h.minY+1-(h.minY-h.currentY+1)**.8),h.currentY>h.maxY&&(h.currentY=h.maxY-1+(h.currentY-h.maxY+1)**.8),g.prevPositionX||(g.prevPositionX=h.touchesCurrent.x),g.prevPositionY||(g.prevPositionY=h.touchesCurrent.y),g.prevTime||(g.prevTime=Date.now()),g.x=(h.touchesCurrent.x-g.prevPositionX)/(Date.now()-g.prevTime)/2,g.y=(h.touchesCurrent.y-g.prevPositionY)/(Date.now()-g.prevTime)/2,Math.abs(h.touchesCurrent.x-g.prevPositionX)<2&&(g.x=0),Math.abs(h.touchesCurrent.y-g.prevPositionY)<2&&(g.y=0),g.prevPositionX=h.touchesCurrent.x,g.prevPositionY=h.touchesCurrent.y,g.prevTime=Date.now(),m.imageWrapEl.style.transform=`translate3d(${h.currentX}px, ${h.currentY}px,0)`}function I(){const e=t.zoom;m.slideEl&&t.activeIndex!==t.slides.indexOf(m.slideEl)&&(m.imageEl&&(m.imageEl.style.transform="translate3d(0,0,0) scale(1)"),m.imageWrapEl&&(m.imageWrapEl.style.transform="translate3d(0,0,0)"),m.slideEl.classList.remove(`${t.params.zoom.zoomedSlideClass}`),e.scale=1,c=1,m.slideEl=void 0,m.imageEl=void 0,m.imageWrapEl=void 0,m.originX=0,m.originY=0)}function z(e){const s=t.zoom,a=t.params.zoom;if(!m.slideEl){e&&e.target&&(m.slideEl=e.target.closest(`.${t.params.slideClass}, swiper-slide`)),m.slideEl||(t.params.virtual&&t.params.virtual.enabled&&t.virtual?m.slideEl=f(t.slidesEl,`.${t.params.slideActiveClass}`)[0]:m.slideEl=t.slides[t.activeIndex]);let s=m.slideEl.querySelector(`.${a.containerClass}`);s&&(s=s.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]),m.imageEl=s,m.imageWrapEl=s?E(m.imageEl,`.${a.containerClass}`)[0]:void 0}if(!m.imageEl||!m.imageWrapEl)return;let i,r,l,o,d,p,u,g,v,b,y,S,T,M,C,P,L,I;t.params.cssMode&&(t.wrapperEl.style.overflow="hidden",t.wrapperEl.style.touchAction="none"),m.slideEl.classList.add(`${a.zoomedSlideClass}`),void 0===h.touchesStart.x&&e?(i=e.pageX,r=e.pageY):(i=h.touchesStart.x,r=h.touchesStart.y);const z="number"==typeof e?e:null;1===c&&z&&(i=void 0,r=void 0);const A=x();s.scale=z||A,c=z||A,!e||1===c&&z?(u=0,g=0):(L=m.slideEl.offsetWidth,I=m.slideEl.offsetHeight,l=w(m.slideEl).left+n.scrollX,o=w(m.slideEl).top+n.scrollY,d=l+L/2-i,p=o+I/2-r,v=m.imageEl.offsetWidth||m.imageEl.clientWidth,b=m.imageEl.offsetHeight||m.imageEl.clientHeight,y=v*s.scale,S=b*s.scale,T=Math.min(L/2-y/2,0),M=Math.min(I/2-S/2,0),C=-T,P=-M,u=d*s.scale,g=p*s.scale,u<T&&(u=T),u>C&&(u=C),g<M&&(g=M),g>P&&(g=P)),z&&1===s.scale&&(m.originX=0,m.originY=0),m.imageWrapEl.style.transitionDuration="300ms",m.imageWrapEl.style.transform=`translate3d(${u}px, ${g}px,0)`,m.imageEl.style.transitionDuration="300ms",m.imageEl.style.transform=`translate3d(0,0,0) scale(${s.scale})`}function A(){const e=t.zoom,s=t.params.zoom;if(!m.slideEl){t.params.virtual&&t.params.virtual.enabled&&t.virtual?m.slideEl=f(t.slidesEl,`.${t.params.slideActiveClass}`)[0]:m.slideEl=t.slides[t.activeIndex];let e=m.slideEl.querySelector(`.${s.containerClass}`);e&&(e=e.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]),m.imageEl=e,m.imageWrapEl=e?E(m.imageEl,`.${s.containerClass}`)[0]:void 0}m.imageEl&&m.imageWrapEl&&(t.params.cssMode&&(t.wrapperEl.style.overflow="",t.wrapperEl.style.touchAction=""),e.scale=1,c=1,m.imageWrapEl.style.transitionDuration="300ms",m.imageWrapEl.style.transform="translate3d(0,0,0)",m.imageEl.style.transitionDuration="300ms",m.imageEl.style.transform="translate3d(0,0,0) scale(1)",m.slideEl.classList.remove(`${s.zoomedSlideClass}`),m.slideEl=void 0,m.originX=0,m.originY=0)}function $(e){const s=t.zoom;s.scale&&1!==s.scale?A():z(e)}function k(){return{passiveListener:!!t.params.passiveListeners&&{passive:!0,capture:!1},activeListenerWithCapture:!t.params.passiveListeners||{passive:!1,capture:!0}}}function O(){const e=t.zoom;if(e.enabled)return;e.enabled=!0;const{passiveListener:s,activeListenerWithCapture:a}=k();t.wrapperEl.addEventListener("pointerdown",T,s),t.wrapperEl.addEventListener("pointermove",M,a),["pointerup","pointercancel","pointerout"].forEach((e=>{t.wrapperEl.addEventListener(e,C,s)})),t.wrapperEl.addEventListener("pointermove",L,a)}function D(){const e=t.zoom;if(!e.enabled)return;e.enabled=!1;const{passiveListener:s,activeListenerWithCapture:a}=k();t.wrapperEl.removeEventListener("pointerdown",T,s),t.wrapperEl.removeEventListener("pointermove",M,a),["pointerup","pointercancel","pointerout"].forEach((e=>{t.wrapperEl.removeEventListener(e,C,s)})),t.wrapperEl.removeEventListener("pointermove",L,a)}Object.defineProperty(t.zoom,"scale",{get:()=>b,set(e){if(b!==e){const t=m.imageEl,s=m.slideEl;i("zoomChange",e,t,s)}b=e}}),a("init",(()=>{t.params.zoom.enabled&&O()})),a("destroy",(()=>{D()})),a("touchStart",((e,s)=>{t.zoom.enabled&&function(e){const s=t.device;if(!m.imageEl)return;if(h.isTouched)return;s.android&&e.cancelable&&e.preventDefault(),h.isTouched=!0;const a=u.length>0?u[0]:e;h.touchesStart.x=a.pageX,h.touchesStart.y=a.pageY}(s)})),a("touchEnd",((e,s)=>{t.zoom.enabled&&function(){const e=t.zoom;if(!m.imageEl)return;if(!h.isTouched||!h.isMoved)return h.isTouched=!1,void(h.isMoved=!1);h.isTouched=!1,h.isMoved=!1;let s=300,a=300;const i=g.x*s,r=h.currentX+i,n=g.y*a,l=h.currentY+n;0!==g.x&&(s=Math.abs((r-h.currentX)/g.x)),0!==g.y&&(a=Math.abs((l-h.currentY)/g.y));const o=Math.max(s,a);h.currentX=r,h.currentY=l;const d=h.width*e.scale,c=h.height*e.scale;h.minX=Math.min(m.slideWidth/2-d/2,0),h.maxX=-h.minX,h.minY=Math.min(m.slideHeight/2-c/2,0),h.maxY=-h.minY,h.currentX=Math.max(Math.min(h.currentX,h.maxX),h.minX),h.currentY=Math.max(Math.min(h.currentY,h.maxY),h.minY),m.imageWrapEl.style.transitionDuration=`${o}ms`,m.imageWrapEl.style.transform=`translate3d(${h.currentX}px, ${h.currentY}px,0)`}()})),a("doubleTap",((e,s)=>{!t.animating&&t.params.zoom.enabled&&t.zoom.enabled&&t.params.zoom.toggle&&$(s)})),a("transitionEnd",(()=>{t.zoom.enabled&&t.params.zoom.enabled&&I()})),a("slideChange",(()=>{t.zoom.enabled&&t.params.zoom.enabled&&t.params.cssMode&&I()})),Object.assign(t.zoom,{enable:O,disable:D,in:z,out:A,toggle:$})},function(e){let{swiper:t,extendParams:s,on:a}=e;function i(e,t){const s=function(){let e,t,s;return(a,i)=>{for(t=-1,e=a.length;e-t>1;)s=e+t>>1,a[s]<=i?t=s:e=s;return e}}();let a,i;return this.x=e,this.y=t,this.lastIndex=e.length-1,this.interpolate=function(e){return e?(i=s(this.x,e),a=i-1,(e-this.x[a])*(this.y[i]-this.y[a])/(this.x[i]-this.x[a])+this.y[a]):0},this}function r(){t.controller.control&&t.controller.spline&&(t.controller.spline=void 0,delete t.controller.spline)}s({controller:{control:void 0,inverse:!1,by:"slide"}}),t.controller={control:void 0},a("beforeInit",(()=>{if("undefined"!=typeof window&&("string"==typeof t.params.controller.control||t.params.controller.control instanceof HTMLElement)){const e=document.querySelector(t.params.controller.control);if(e&&e.swiper)t.controller.control=e.swiper;else if(e){const s=a=>{t.controller.control=a.detail[0],t.update(),e.removeEventListener("init",s)};e.addEventListener("init",s)}}else t.controller.control=t.params.controller.control})),a("update",(()=>{r()})),a("resize",(()=>{r()})),a("observerUpdate",(()=>{r()})),a("setTranslate",((e,s,a)=>{t.controller.control&&!t.controller.control.destroyed&&t.controller.setTranslate(s,a)})),a("setTransition",((e,s,a)=>{t.controller.control&&!t.controller.control.destroyed&&t.controller.setTransition(s,a)})),Object.assign(t.controller,{setTranslate:function(e,s){const a=t.controller.control;let r,n;const l=t.constructor;function o(e){if(e.destroyed)return;const s=t.rtlTranslate?-t.translate:t.translate;"slide"===t.params.controller.by&&(!function(e){t.controller.spline=t.params.loop?new i(t.slidesGrid,e.slidesGrid):new i(t.snapGrid,e.snapGrid)}(e),n=-t.controller.spline.interpolate(-s)),n&&"container"!==t.params.controller.by||(r=(e.maxTranslate()-e.minTranslate())/(t.maxTranslate()-t.minTranslate()),!Number.isNaN(r)&&Number.isFinite(r)||(r=1),n=(s-t.minTranslate())*r+e.minTranslate()),t.params.controller.inverse&&(n=e.maxTranslate()-n),e.updateProgress(n),e.setTranslate(n,t),e.updateActiveIndex(),e.updateSlidesClasses()}if(Array.isArray(a))for(let e=0;e<a.length;e+=1)a[e]!==s&&a[e]instanceof l&&o(a[e]);else a instanceof l&&s!==a&&o(a)},setTransition:function(e,s){const a=t.constructor,i=t.controller.control;let r;function n(s){s.destroyed||(s.setTransition(e,t),0!==e&&(s.transitionStart(),s.params.autoHeight&&l((()=>{s.updateAutoHeight()})),x(s.wrapperEl,(()=>{i&&s.transitionEnd()}))))}if(Array.isArray(i))for(r=0;r<i.length;r+=1)i[r]!==s&&i[r]instanceof a&&n(i[r]);else i instanceof a&&s!==i&&n(i)}})},function(e){let{swiper:t,extendParams:s,on:i}=e;s({a11y:{enabled:!0,notificationClass:"swiper-notification",prevSlideMessage:"Previous slide",nextSlideMessage:"Next slide",firstSlideMessage:"This is the first slide",lastSlideMessage:"This is the last slide",paginationBulletMessage:"Go to slide {{index}}",slideLabelMessage:"{{index}} / {{slidesLength}}",containerMessage:null,containerRoleDescriptionMessage:null,itemRoleDescriptionMessage:null,slideRole:"group",id:null}}),t.a11y={clicked:!1};let r,n,l=null,o=(new Date).getTime();function d(e){const t=l;0!==t.length&&(t.innerHTML="",t.innerHTML=e)}function c(e){(e=T(e)).forEach((e=>{e.setAttribute("tabIndex","0")}))}function p(e){(e=T(e)).forEach((e=>{e.setAttribute("tabIndex","-1")}))}function u(e,t){(e=T(e)).forEach((e=>{e.setAttribute("role",t)}))}function m(e,t){(e=T(e)).forEach((e=>{e.setAttribute("aria-roledescription",t)}))}function h(e,t){(e=T(e)).forEach((e=>{e.setAttribute("aria-label",t)}))}function f(e){(e=T(e)).forEach((e=>{e.setAttribute("aria-disabled",!0)}))}function g(e){(e=T(e)).forEach((e=>{e.setAttribute("aria-disabled",!1)}))}function w(e){if(13!==e.keyCode&&32!==e.keyCode)return;const s=t.params.a11y,a=e.target;if(!t.pagination||!t.pagination.el||a!==t.pagination.el&&!t.pagination.el.contains(e.target)||e.target.matches(ie(t.params.pagination.bulletClass))){if(t.navigation&&t.navigation.prevEl&&t.navigation.nextEl){const e=T(t.navigation.prevEl);T(t.navigation.nextEl).includes(a)&&(t.isEnd&&!t.params.loop||t.slideNext(),t.isEnd?d(s.lastSlideMessage):d(s.nextSlideMessage)),e.includes(a)&&(t.isBeginning&&!t.params.loop||t.slidePrev(),t.isBeginning?d(s.firstSlideMessage):d(s.prevSlideMessage))}t.pagination&&a.matches(ie(t.params.pagination.bulletClass))&&a.click()}}function b(){return t.pagination&&t.pagination.bullets&&t.pagination.bullets.length}function E(){return b()&&t.params.pagination.clickable}const x=(e,t,s)=>{c(e),"BUTTON"!==e.tagName&&(u(e,"button"),e.addEventListener("keydown",w)),h(e,s),function(e,t){(e=T(e)).forEach((e=>{e.setAttribute("aria-controls",t)}))}(e,t)},S=e=>{n&&n!==e.target&&!n.contains(e.target)&&(r=!0),t.a11y.clicked=!0},M=()=>{r=!1,requestAnimationFrame((()=>{requestAnimationFrame((()=>{t.destroyed||(t.a11y.clicked=!1)}))}))},C=e=>{o=(new Date).getTime()},P=e=>{if(t.a11y.clicked)return;if((new Date).getTime()-o<100)return;const s=e.target.closest(`.${t.params.slideClass}, swiper-slide`);if(!s||!t.slides.includes(s))return;n=s;const a=t.slides.indexOf(s)===t.activeIndex,i=t.params.watchSlidesProgress&&t.visibleSlides&&t.visibleSlides.includes(s);a||i||e.sourceCapabilities&&e.sourceCapabilities.firesTouchEvents||(t.isHorizontal()?t.el.scrollLeft=0:t.el.scrollTop=0,requestAnimationFrame((()=>{r||(t.slideTo(t.slides.indexOf(s),0),r=!1)})))},L=()=>{const e=t.params.a11y;e.itemRoleDescriptionMessage&&m(t.slides,e.itemRoleDescriptionMessage),e.slideRole&&u(t.slides,e.slideRole);const s=t.slides.length;e.slideLabelMessage&&t.slides.forEach(((a,i)=>{const r=t.params.loop?parseInt(a.getAttribute("data-swiper-slide-index"),10):i;h(a,e.slideLabelMessage.replace(/\{\{index\}\}/,r+1).replace(/\{\{slidesLength\}\}/,s))}))},I=()=>{const e=t.params.a11y;t.el.append(l);const s=t.el;e.containerRoleDescriptionMessage&&m(s,e.containerRoleDescriptionMessage),e.containerMessage&&h(s,e.containerMessage);const i=t.wrapperEl,r=e.id||i.getAttribute("id")||`swiper-wrapper-${n=16,void 0===n&&(n=16),"x".repeat(n).replace(/x/g,(()=>Math.round(16*Math.random()).toString(16)))}`;var n;const o=t.params.autoplay&&t.params.autoplay.enabled?"off":"polite";var d;d=r,T(i).forEach((e=>{e.setAttribute("id",d)})),function(e,t){(e=T(e)).forEach((e=>{e.setAttribute("aria-live",t)}))}(i,o),L();let{nextEl:c,prevEl:p}=t.navigation?t.navigation:{};if(c=T(c),p=T(p),c&&c.forEach((t=>x(t,r,e.nextSlideMessage))),p&&p.forEach((t=>x(t,r,e.prevSlideMessage))),E()){T(t.pagination.el).forEach((e=>{e.addEventListener("keydown",w)}))}a().addEventListener("visibilitychange",C),t.el.addEventListener("focus",P,!0),t.el.addEventListener("focus",P,!0),t.el.addEventListener("pointerdown",S,!0),t.el.addEventListener("pointerup",M,!0)};i("beforeInit",(()=>{l=v("span",t.params.a11y.notificationClass),l.setAttribute("aria-live","assertive"),l.setAttribute("aria-atomic","true")})),i("afterInit",(()=>{t.params.a11y.enabled&&I()})),i("slidesLengthChange snapGridLengthChange slidesGridLengthChange",(()=>{t.params.a11y.enabled&&L()})),i("fromEdge toEdge afterInit lock unlock",(()=>{t.params.a11y.enabled&&function(){if(t.params.loop||t.params.rewind||!t.navigation)return;const{nextEl:e,prevEl:s}=t.navigation;s&&(t.isBeginning?(f(s),p(s)):(g(s),c(s))),e&&(t.isEnd?(f(e),p(e)):(g(e),c(e)))}()})),i("paginationUpdate",(()=>{t.params.a11y.enabled&&function(){const e=t.params.a11y;b()&&t.pagination.bullets.forEach((s=>{t.params.pagination.clickable&&(c(s),t.params.pagination.renderBullet||(u(s,"button"),h(s,e.paginationBulletMessage.replace(/\{\{index\}\}/,y(s)+1)))),s.matches(ie(t.params.pagination.bulletActiveClass))?s.setAttribute("aria-current","true"):s.removeAttribute("aria-current")}))}()})),i("destroy",(()=>{t.params.a11y.enabled&&function(){l&&l.remove();let{nextEl:e,prevEl:s}=t.navigation?t.navigation:{};e=T(e),s=T(s),e&&e.forEach((e=>e.removeEventListener("keydown",w))),s&&s.forEach((e=>e.removeEventListener("keydown",w))),E()&&T(t.pagination.el).forEach((e=>{e.removeEventListener("keydown",w)}));a().removeEventListener("visibilitychange",C),t.el.removeEventListener("focus",P,!0),t.el.removeEventListener("pointerdown",S,!0),t.el.removeEventListener("pointerup",M,!0)}()}))},function(e){let{swiper:t,extendParams:s,on:a}=e;s({history:{enabled:!1,root:"",replaceState:!1,key:"slides",keepQuery:!1}});let i=!1,n={};const l=e=>e.toString().replace(/\s+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,""),o=e=>{const t=r();let s;s=e?new URL(e):t.location;const a=s.pathname.slice(1).split("/").filter((e=>""!==e)),i=a.length;return{key:a[i-2],value:a[i-1]}},d=(e,s)=>{const a=r();if(!i||!t.params.history.enabled)return;let n;n=t.params.url?new URL(t.params.url):a.location;const o=t.virtual&&t.params.virtual.enabled?t.slidesEl.querySelector(`[data-swiper-slide-index="${s}"]`):t.slides[s];let d=l(o.getAttribute("data-history"));if(t.params.history.root.length>0){let s=t.params.history.root;"/"===s[s.length-1]&&(s=s.slice(0,s.length-1)),d=`${s}/${e?`${e}/`:""}${d}`}else n.pathname.includes(e)||(d=`${e?`${e}/`:""}${d}`);t.params.history.keepQuery&&(d+=n.search);const c=a.history.state;c&&c.value===d||(t.params.history.replaceState?a.history.replaceState({value:d},null,d):a.history.pushState({value:d},null,d))},c=(e,s,a)=>{if(s)for(let i=0,r=t.slides.length;i<r;i+=1){const r=t.slides[i];if(l(r.getAttribute("data-history"))===s){const s=t.getSlideIndex(r);t.slideTo(s,e,a)}}else t.slideTo(0,e,a)},p=()=>{n=o(t.params.url),c(t.params.speed,n.value,!1)};a("init",(()=>{t.params.history.enabled&&(()=>{const e=r();if(t.params.history){if(!e.history||!e.history.pushState)return t.params.history.enabled=!1,void(t.params.hashNavigation.enabled=!0);i=!0,n=o(t.params.url),n.key||n.value?(c(0,n.value,t.params.runCallbacksOnInit),t.params.history.replaceState||e.addEventListener("popstate",p)):t.params.history.replaceState||e.addEventListener("popstate",p)}})()})),a("destroy",(()=>{t.params.history.enabled&&(()=>{const e=r();t.params.history.replaceState||e.removeEventListener("popstate",p)})()})),a("transitionEnd _freeModeNoMomentumRelease",(()=>{i&&d(t.params.history.key,t.activeIndex)})),a("slideChange",(()=>{i&&t.params.cssMode&&d(t.params.history.key,t.activeIndex)}))},function(e){let{swiper:t,extendParams:s,emit:i,on:n}=e,l=!1;const o=a(),d=r();s({hashNavigation:{enabled:!1,replaceState:!1,watchState:!1,getSlideIndex(e,s){if(t.virtual&&t.params.virtual.enabled){const e=t.slides.filter((e=>e.getAttribute("data-hash")===s))[0];if(!e)return 0;return parseInt(e.getAttribute("data-swiper-slide-index"),10)}return t.getSlideIndex(f(t.slidesEl,`.${t.params.slideClass}[data-hash="${s}"], swiper-slide[data-hash="${s}"]`)[0])}}});const c=()=>{i("hashChange");const e=o.location.hash.replace("#",""),s=t.virtual&&t.params.virtual.enabled?t.slidesEl.querySelector(`[data-swiper-slide-index="${t.activeIndex}"]`):t.slides[t.activeIndex];if(e!==(s?s.getAttribute("data-hash"):"")){const s=t.params.hashNavigation.getSlideIndex(t,e);if(void 0===s||Number.isNaN(s))return;t.slideTo(s)}},p=()=>{if(!l||!t.params.hashNavigation.enabled)return;const e=t.virtual&&t.params.virtual.enabled?t.slidesEl.querySelector(`[data-swiper-slide-index="${t.activeIndex}"]`):t.slides[t.activeIndex],s=e?e.getAttribute("data-hash")||e.getAttribute("data-history"):"";t.params.hashNavigation.replaceState&&d.history&&d.history.replaceState?(d.history.replaceState(null,null,`#${s}`||""),i("hashSet")):(o.location.hash=s||"",i("hashSet"))};n("init",(()=>{t.params.hashNavigation.enabled&&(()=>{if(!t.params.hashNavigation.enabled||t.params.history&&t.params.history.enabled)return;l=!0;const e=o.location.hash.replace("#","");if(e){const s=0,a=t.params.hashNavigation.getSlideIndex(t,e);t.slideTo(a||0,s,t.params.runCallbacksOnInit,!0)}t.params.hashNavigation.watchState&&d.addEventListener("hashchange",c)})()})),n("destroy",(()=>{t.params.hashNavigation.enabled&&t.params.hashNavigation.watchState&&d.removeEventListener("hashchange",c)})),n("transitionEnd _freeModeNoMomentumRelease",(()=>{l&&p()})),n("slideChange",(()=>{l&&t.params.cssMode&&p()}))},function(e){let t,s,{swiper:i,extendParams:r,on:n,emit:l,params:o}=e;i.autoplay={running:!1,paused:!1,timeLeft:0},r({autoplay:{enabled:!1,delay:3e3,waitForTransition:!0,disableOnInteraction:!1,stopOnLastSlide:!1,reverseDirection:!1,pauseOnMouseEnter:!1}});let d,c,p,u,m,h,f,g,v=o&&o.autoplay?o.autoplay.delay:3e3,w=o&&o.autoplay?o.autoplay.delay:3e3,b=(new Date).getTime();function y(e){i&&!i.destroyed&&i.wrapperEl&&e.target===i.wrapperEl&&(i.wrapperEl.removeEventListener("transitionend",y),g||C())}const E=()=>{if(i.destroyed||!i.autoplay.running)return;i.autoplay.paused?c=!0:c&&(w=d,c=!1);const e=i.autoplay.paused?d:b+w-(new Date).getTime();i.autoplay.timeLeft=e,l("autoplayTimeLeft",e,e/v),s=requestAnimationFrame((()=>{E()}))},x=e=>{if(i.destroyed||!i.autoplay.running)return;cancelAnimationFrame(s),E();let a=void 0===e?i.params.autoplay.delay:e;v=i.params.autoplay.delay,w=i.params.autoplay.delay;const r=(()=>{let e;if(e=i.virtual&&i.params.virtual.enabled?i.slides.filter((e=>e.classList.contains("swiper-slide-active")))[0]:i.slides[i.activeIndex],!e)return;return parseInt(e.getAttribute("data-swiper-autoplay"),10)})();!Number.isNaN(r)&&r>0&&void 0===e&&(a=r,v=r,w=r),d=a;const n=i.params.speed,o=()=>{i&&!i.destroyed&&(i.params.autoplay.reverseDirection?!i.isBeginning||i.params.loop||i.params.rewind?(i.slidePrev(n,!0,!0),l("autoplay")):i.params.autoplay.stopOnLastSlide||(i.slideTo(i.slides.length-1,n,!0,!0),l("autoplay")):!i.isEnd||i.params.loop||i.params.rewind?(i.slideNext(n,!0,!0),l("autoplay")):i.params.autoplay.stopOnLastSlide||(i.slideTo(0,n,!0,!0),l("autoplay")),i.params.cssMode&&(b=(new Date).getTime(),requestAnimationFrame((()=>{x()}))))};return a>0?(clearTimeout(t),t=setTimeout((()=>{o()}),a)):requestAnimationFrame((()=>{o()})),a},S=()=>{b=(new Date).getTime(),i.autoplay.running=!0,x(),l("autoplayStart")},T=()=>{i.autoplay.running=!1,clearTimeout(t),cancelAnimationFrame(s),l("autoplayStop")},M=(e,s)=>{if(i.destroyed||!i.autoplay.running)return;clearTimeout(t),e||(f=!0);const a=()=>{l("autoplayPause"),i.params.autoplay.waitForTransition?i.wrapperEl.addEventListener("transitionend",y):C()};if(i.autoplay.paused=!0,s)return h&&(d=i.params.autoplay.delay),h=!1,void a();const r=d||i.params.autoplay.delay;d=r-((new Date).getTime()-b),i.isEnd&&d<0&&!i.params.loop||(d<0&&(d=0),a())},C=()=>{i.isEnd&&d<0&&!i.params.loop||i.destroyed||!i.autoplay.running||(b=(new Date).getTime(),f?(f=!1,x(d)):x(),i.autoplay.paused=!1,l("autoplayResume"))},P=()=>{if(i.destroyed||!i.autoplay.running)return;const e=a();"hidden"===e.visibilityState&&(f=!0,M(!0)),"visible"===e.visibilityState&&C()},L=e=>{"mouse"===e.pointerType&&(f=!0,g=!0,i.animating||i.autoplay.paused||M(!0))},I=e=>{"mouse"===e.pointerType&&(g=!1,i.autoplay.paused&&C())};n("init",(()=>{i.params.autoplay.enabled&&(i.params.autoplay.pauseOnMouseEnter&&(i.el.addEventListener("pointerenter",L),i.el.addEventListener("pointerleave",I)),a().addEventListener("visibilitychange",P),S())})),n("destroy",(()=>{i.el.removeEventListener("pointerenter",L),i.el.removeEventListener("pointerleave",I),a().removeEventListener("visibilitychange",P),i.autoplay.running&&T()})),n("_freeModeStaticRelease",(()=>{(u||f)&&C()})),n("_freeModeNoMomentumRelease",(()=>{i.params.autoplay.disableOnInteraction?T():M(!0,!0)})),n("beforeTransitionStart",((e,t,s)=>{!i.destroyed&&i.autoplay.running&&(s||!i.params.autoplay.disableOnInteraction?M(!0,!0):T())})),n("sliderFirstMove",(()=>{!i.destroyed&&i.autoplay.running&&(i.params.autoplay.disableOnInteraction?T():(p=!0,u=!1,f=!1,m=setTimeout((()=>{f=!0,u=!0,M(!0)}),200)))})),n("touchEnd",(()=>{if(!i.destroyed&&i.autoplay.running&&p){if(clearTimeout(m),clearTimeout(t),i.params.autoplay.disableOnInteraction)return u=!1,void(p=!1);u&&i.params.cssMode&&C(),u=!1,p=!1}})),n("slideChange",(()=>{!i.destroyed&&i.autoplay.running&&(h=!0)})),Object.assign(i.autoplay,{start:S,stop:T,pause:M,resume:C})},function(e){let{swiper:t,extendParams:s,on:i}=e;s({thumbs:{swiper:null,multipleActiveThumbs:!0,autoScrollOffset:0,slideThumbActiveClass:"swiper-slide-thumb-active",thumbsContainerClass:"swiper-thumbs"}});let r=!1,n=!1;function l(){const e=t.thumbs.swiper;if(!e||e.destroyed)return;const s=e.clickedIndex,a=e.clickedSlide;if(a&&a.classList.contains(t.params.thumbs.slideThumbActiveClass))return;if(null==s)return;let i;i=e.params.loop?parseInt(e.clickedSlide.getAttribute("data-swiper-slide-index"),10):s,t.params.loop?t.slideToLoop(i):t.slideTo(i)}function o(){const{thumbs:e}=t.params;if(r)return!1;r=!0;const s=t.constructor;if(e.swiper instanceof s)t.thumbs.swiper=e.swiper,Object.assign(t.thumbs.swiper.originalParams,{watchSlidesProgress:!0,slideToClickedSlide:!1}),Object.assign(t.thumbs.swiper.params,{watchSlidesProgress:!0,slideToClickedSlide:!1}),t.thumbs.swiper.update();else if(c(e.swiper)){const a=Object.assign({},e.swiper);Object.assign(a,{watchSlidesProgress:!0,slideToClickedSlide:!1}),t.thumbs.swiper=new s(a),n=!0}return t.thumbs.swiper.el.classList.add(t.params.thumbs.thumbsContainerClass),t.thumbs.swiper.on("tap",l),!0}function d(e){const s=t.thumbs.swiper;if(!s||s.destroyed)return;const a="auto"===s.params.slidesPerView?s.slidesPerViewDynamic():s.params.slidesPerView;let i=1;const r=t.params.thumbs.slideThumbActiveClass;if(t.params.slidesPerView>1&&!t.params.centeredSlides&&(i=t.params.slidesPerView),t.params.thumbs.multipleActiveThumbs||(i=1),i=Math.floor(i),s.slides.forEach((e=>e.classList.remove(r))),s.params.loop||s.params.virtual&&s.params.virtual.enabled)for(let e=0;e<i;e+=1)f(s.slidesEl,`[data-swiper-slide-index="${t.realIndex+e}"]`).forEach((e=>{e.classList.add(r)}));else for(let e=0;e<i;e+=1)s.slides[t.realIndex+e]&&s.slides[t.realIndex+e].classList.add(r);const n=t.params.thumbs.autoScrollOffset,l=n&&!s.params.loop;if(t.realIndex!==s.realIndex||l){const i=s.activeIndex;let r,o;if(s.params.loop){const e=s.slides.filter((e=>e.getAttribute("data-swiper-slide-index")===`${t.realIndex}`))[0];r=s.slides.indexOf(e),o=t.activeIndex>t.previousIndex?"next":"prev"}else r=t.realIndex,o=r>t.previousIndex?"next":"prev";l&&(r+="next"===o?n:-1*n),s.visibleSlidesIndexes&&s.visibleSlidesIndexes.indexOf(r)<0&&(s.params.centeredSlides?r=r>i?r-Math.floor(a/2)+1:r+Math.floor(a/2)-1:r>i&&s.params.slidesPerGroup,s.slideTo(r,e?0:void 0))}}t.thumbs={swiper:null},i("beforeInit",(()=>{const{thumbs:e}=t.params;if(e&&e.swiper)if("string"==typeof e.swiper||e.swiper instanceof HTMLElement){const s=a(),i=()=>{const a="string"==typeof e.swiper?s.querySelector(e.swiper):e.swiper;if(a&&a.swiper)e.swiper=a.swiper,o(),d(!0);else if(a){const s=i=>{e.swiper=i.detail[0],a.removeEventListener("init",s),o(),d(!0),e.swiper.update(),t.update()};a.addEventListener("init",s)}return a},r=()=>{if(t.destroyed)return;i()||requestAnimationFrame(r)};requestAnimationFrame(r)}else o(),d(!0)})),i("slideChange update resize observerUpdate",(()=>{d()})),i("setTransition",((e,s)=>{const a=t.thumbs.swiper;a&&!a.destroyed&&a.setTransition(s)})),i("beforeDestroy",(()=>{const e=t.thumbs.swiper;e&&!e.destroyed&&n&&e.destroy()})),Object.assign(t.thumbs,{init:o,update:d})},function(e){let{swiper:t,extendParams:s,emit:a,once:i}=e;s({freeMode:{enabled:!1,momentum:!0,momentumRatio:1,momentumBounce:!0,momentumBounceRatio:1,momentumVelocityRatio:1,sticky:!1,minimumVelocity:.02}}),Object.assign(t,{freeMode:{onTouchStart:function(){if(t.params.cssMode)return;const e=t.getTranslate();t.setTranslate(e),t.setTransition(0),t.touchEventsData.velocities.length=0,t.freeMode.onTouchEnd({currentPos:t.rtl?t.translate:-t.translate})},onTouchMove:function(){if(t.params.cssMode)return;const{touchEventsData:e,touches:s}=t;0===e.velocities.length&&e.velocities.push({position:s[t.isHorizontal()?"startX":"startY"],time:e.touchStartTime}),e.velocities.push({position:s[t.isHorizontal()?"currentX":"currentY"],time:o()})},onTouchEnd:function(e){let{currentPos:s}=e;if(t.params.cssMode)return;const{params:r,wrapperEl:n,rtlTranslate:l,snapGrid:d,touchEventsData:c}=t,p=o()-c.touchStartTime;if(s<-t.minTranslate())t.slideTo(t.activeIndex);else if(s>-t.maxTranslate())t.slides.length<d.length?t.slideTo(d.length-1):t.slideTo(t.slides.length-1);else{if(r.freeMode.momentum){if(c.velocities.length>1){const e=c.velocities.pop(),s=c.velocities.pop(),a=e.position-s.position,i=e.time-s.time;t.velocity=a/i,t.velocity/=2,Math.abs(t.velocity)<r.freeMode.minimumVelocity&&(t.velocity=0),(i>150||o()-e.time>300)&&(t.velocity=0)}else t.velocity=0;t.velocity*=r.freeMode.momentumVelocityRatio,c.velocities.length=0;let e=1e3*r.freeMode.momentumRatio;const s=t.velocity*e;let p=t.translate+s;l&&(p=-p);let u,m=!1;const h=20*Math.abs(t.velocity)*r.freeMode.momentumBounceRatio;let f;if(p<t.maxTranslate())r.freeMode.momentumBounce?(p+t.maxTranslate()<-h&&(p=t.maxTranslate()-h),u=t.maxTranslate(),m=!0,c.allowMomentumBounce=!0):p=t.maxTranslate(),r.loop&&r.centeredSlides&&(f=!0);else if(p>t.minTranslate())r.freeMode.momentumBounce?(p-t.minTranslate()>h&&(p=t.minTranslate()+h),u=t.minTranslate(),m=!0,c.allowMomentumBounce=!0):p=t.minTranslate(),r.loop&&r.centeredSlides&&(f=!0);else if(r.freeMode.sticky){let e;for(let t=0;t<d.length;t+=1)if(d[t]>-p){e=t;break}p=Math.abs(d[e]-p)<Math.abs(d[e-1]-p)||"next"===t.swipeDirection?d[e]:d[e-1],p=-p}if(f&&i("transitionEnd",(()=>{t.loopFix()})),0!==t.velocity){if(e=l?Math.abs((-p-t.translate)/t.velocity):Math.abs((p-t.translate)/t.velocity),r.freeMode.sticky){const s=Math.abs((l?-p:p)-t.translate),a=t.slidesSizesGrid[t.activeIndex];e=s<a?r.speed:s<2*a?1.5*r.speed:2.5*r.speed}}else if(r.freeMode.sticky)return void t.slideToClosest();r.freeMode.momentumBounce&&m?(t.updateProgress(u),t.setTransition(e),t.setTranslate(p),t.transitionStart(!0,t.swipeDirection),t.animating=!0,x(n,(()=>{t&&!t.destroyed&&c.allowMomentumBounce&&(a("momentumBounce"),t.setTransition(r.speed),setTimeout((()=>{t.setTranslate(u),x(n,(()=>{t&&!t.destroyed&&t.transitionEnd()}))}),0))}))):t.velocity?(a("_freeModeNoMomentumRelease"),t.updateProgress(p),t.setTransition(e),t.setTranslate(p),t.transitionStart(!0,t.swipeDirection),t.animating||(t.animating=!0,x(n,(()=>{t&&!t.destroyed&&t.transitionEnd()})))):t.updateProgress(p),t.updateActiveIndex(),t.updateSlidesClasses()}else{if(r.freeMode.sticky)return void t.slideToClosest();r.freeMode&&a("_freeModeNoMomentumRelease")}(!r.freeMode.momentum||p>=r.longSwipesMs)&&(a("_freeModeStaticRelease"),t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses())}}}})},function(e){let t,s,a,i,{swiper:r,extendParams:n,on:l}=e;n({grid:{rows:1,fill:"column"}});const o=()=>{let e=r.params.spaceBetween;return"string"==typeof e&&e.indexOf("%")>=0?e=parseFloat(e.replace("%",""))/100*r.size:"string"==typeof e&&(e=parseFloat(e)),e};l("init",(()=>{i=r.params.grid&&r.params.grid.rows>1})),l("update",(()=>{const{params:e,el:t}=r,s=e.grid&&e.grid.rows>1;i&&!s?(t.classList.remove(`${e.containerModifierClass}grid`,`${e.containerModifierClass}grid-column`),a=1,r.emitContainerClasses()):!i&&s&&(t.classList.add(`${e.containerModifierClass}grid`),"column"===e.grid.fill&&t.classList.add(`${e.containerModifierClass}grid-column`),r.emitContainerClasses()),i=s})),r.grid={initSlides:e=>{const{slidesPerView:i}=r.params,{rows:n,fill:l}=r.params.grid,o=r.virtual&&r.params.virtual.enabled?r.virtual.slides.length:e.length;a=Math.floor(o/n),t=Math.floor(o/n)===o/n?o:Math.ceil(o/n)*n,"auto"!==i&&"row"===l&&(t=Math.max(t,i*n)),s=t/n},unsetSlides:()=>{r.slides&&r.slides.forEach((e=>{e.swiperSlideGridSet&&(e.style.height="",e.style[r.getDirectionLabel("margin-top")]="")}))},updateSlide:(e,i,n)=>{const{slidesPerGroup:l}=r.params,d=o(),{rows:c,fill:p}=r.params.grid,u=r.virtual&&r.params.virtual.enabled?r.virtual.slides.length:n.length;let m,h,f;if("row"===p&&l>1){const s=Math.floor(e/(l*c)),a=e-c*l*s,r=0===s?l:Math.min(Math.ceil((u-s*c*l)/c),l);f=Math.floor(a/r),h=a-f*r+s*l,m=h+f*t/c,i.style.order=m}else"column"===p?(h=Math.floor(e/c),f=e-h*c,(h>a||h===a&&f===c-1)&&(f+=1,f>=c&&(f=0,h+=1))):(f=Math.floor(e/s),h=e-f*s);i.row=f,i.column=h,i.style.height=`calc((100% - ${(c-1)*d}px) / ${c})`,i.style[r.getDirectionLabel("margin-top")]=0!==f?d&&`${d}px`:"",i.swiperSlideGridSet=!0},updateWrapperSize:(e,s)=>{const{centeredSlides:a,roundLengths:i}=r.params,n=o(),{rows:l}=r.params.grid;if(r.virtualSize=(e+n)*t,r.virtualSize=Math.ceil(r.virtualSize/l)-n,r.params.cssMode||(r.wrapperEl.style[r.getDirectionLabel("width")]=`${r.virtualSize+n}px`),a){const e=[];for(let t=0;t<s.length;t+=1){let a=s[t];i&&(a=Math.floor(a)),s[t]<r.virtualSize+s[0]&&e.push(a)}s.splice(0,s.length),s.push(...e)}}}},function(e){let{swiper:t}=e;Object.assign(t,{appendSlide:re.bind(t),prependSlide:ne.bind(t),addSlide:le.bind(t),removeSlide:oe.bind(t),removeAllSlides:de.bind(t)})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({fadeEffect:{crossFade:!1}}),ce({effect:"fade",swiper:t,on:a,setTranslate:()=>{const{slides:e}=t;t.params.fadeEffect;for(let s=0;s<e.length;s+=1){const e=t.slides[s];let a=-e.swiperSlideOffset;t.params.virtualTranslate||(a-=t.translate);let i=0;t.isHorizontal()||(i=a,a=0);const r=t.params.fadeEffect.crossFade?Math.max(1-Math.abs(e.progress),0):1+Math.min(Math.max(e.progress,-1),0),n=pe(0,e);n.style.opacity=r,n.style.transform=`translate3d(${a}px, ${i}px, 0px)`}},setTransition:e=>{const s=t.slides.map((e=>h(e)));s.forEach((t=>{t.style.transitionDuration=`${e}ms`})),ue({swiper:t,duration:e,transformElements:s,allSlides:!0})},overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({cubeEffect:{slideShadows:!0,shadow:!0,shadowOffset:20,shadowScale:.94}});const i=(e,t,s)=>{let a=s?e.querySelector(".swiper-slide-shadow-left"):e.querySelector(".swiper-slide-shadow-top"),i=s?e.querySelector(".swiper-slide-shadow-right"):e.querySelector(".swiper-slide-shadow-bottom");a||(a=v("div",("swiper-slide-shadow-cube swiper-slide-shadow-"+(s?"left":"top")).split(" ")),e.append(a)),i||(i=v("div",("swiper-slide-shadow-cube swiper-slide-shadow-"+(s?"right":"bottom")).split(" ")),e.append(i)),a&&(a.style.opacity=Math.max(-t,0)),i&&(i.style.opacity=Math.max(t,0))};ce({effect:"cube",swiper:t,on:a,setTranslate:()=>{const{el:e,wrapperEl:s,slides:a,width:r,height:n,rtlTranslate:l,size:o,browser:d}=t,c=t.params.cubeEffect,p=t.isHorizontal(),u=t.virtual&&t.params.virtual.enabled;let m,h=0;c.shadow&&(p?(m=t.wrapperEl.querySelector(".swiper-cube-shadow"),m||(m=v("div","swiper-cube-shadow"),t.wrapperEl.append(m)),m.style.height=`${r}px`):(m=e.querySelector(".swiper-cube-shadow"),m||(m=v("div","swiper-cube-shadow"),e.append(m))));for(let e=0;e<a.length;e+=1){const s=a[e];let r=e;u&&(r=parseInt(s.getAttribute("data-swiper-slide-index"),10));let n=90*r,d=Math.floor(n/360);l&&(n=-n,d=Math.floor(-n/360));const m=Math.max(Math.min(s.progress,1),-1);let f=0,g=0,v=0;r%4==0?(f=4*-d*o,v=0):(r-1)%4==0?(f=0,v=4*-d*o):(r-2)%4==0?(f=o+4*d*o,v=o):(r-3)%4==0&&(f=-o,v=3*o+4*o*d),l&&(f=-f),p||(g=f,f=0);const w=`rotateX(${p?0:-n}deg) rotateY(${p?n:0}deg) translate3d(${f}px, ${g}px, ${v}px)`;m<=1&&m>-1&&(h=90*r+90*m,l&&(h=90*-r-90*m),t.browser&&t.browser.need3dFix&&Math.abs(h)/90%2==1&&(h+=.001)),s.style.transform=w,c.slideShadows&&i(s,m,p)}if(s.style.transformOrigin=`50% 50% -${o/2}px`,s.style["-webkit-transform-origin"]=`50% 50% -${o/2}px`,c.shadow)if(p)m.style.transform=`translate3d(0px, ${r/2+c.shadowOffset}px, ${-r/2}px) rotateX(89.99deg) rotateZ(0deg) scale(${c.shadowScale})`;else{const e=Math.abs(h)-90*Math.floor(Math.abs(h)/90),t=1.5-(Math.sin(2*e*Math.PI/360)/2+Math.cos(2*e*Math.PI/360)/2),s=c.shadowScale,a=c.shadowScale/t,i=c.shadowOffset;m.style.transform=`scale3d(${s}, 1, ${a}) translate3d(0px, ${n/2+i}px, ${-n/2/a}px) rotateX(-89.99deg)`}const f=(d.isSafari||d.isWebView)&&d.needPerspectiveFix?-o/2:0;s.style.transform=`translate3d(0px,0,${f}px) rotateX(${t.isHorizontal()?0:h}deg) rotateY(${t.isHorizontal()?-h:0}deg)`,s.style.setProperty("--swiper-cube-translate-z",`${f}px`)},setTransition:e=>{const{el:s,slides:a}=t;if(a.forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((t=>{t.style.transitionDuration=`${e}ms`}))})),t.params.cubeEffect.shadow&&!t.isHorizontal()){const t=s.querySelector(".swiper-cube-shadow");t&&(t.style.transitionDuration=`${e}ms`)}},recreateShadows:()=>{const e=t.isHorizontal();t.slides.forEach((t=>{const s=Math.max(Math.min(t.progress,1),-1);i(t,s,e)}))},getEffectParams:()=>t.params.cubeEffect,perspective:()=>!0,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,resistanceRatio:0,spaceBetween:0,centeredSlides:!1,virtualTranslate:!0})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({flipEffect:{slideShadows:!0,limitRotation:!0}});const i=(e,s)=>{let a=t.isHorizontal()?e.querySelector(".swiper-slide-shadow-left"):e.querySelector(".swiper-slide-shadow-top"),i=t.isHorizontal()?e.querySelector(".swiper-slide-shadow-right"):e.querySelector(".swiper-slide-shadow-bottom");a||(a=me("flip",e,t.isHorizontal()?"left":"top")),i||(i=me("flip",e,t.isHorizontal()?"right":"bottom")),a&&(a.style.opacity=Math.max(-s,0)),i&&(i.style.opacity=Math.max(s,0))};ce({effect:"flip",swiper:t,on:a,setTranslate:()=>{const{slides:e,rtlTranslate:s}=t,a=t.params.flipEffect;for(let r=0;r<e.length;r+=1){const n=e[r];let l=n.progress;t.params.flipEffect.limitRotation&&(l=Math.max(Math.min(n.progress,1),-1));const o=n.swiperSlideOffset;let d=-180*l,c=0,p=t.params.cssMode?-o-t.translate:-o,u=0;t.isHorizontal()?s&&(d=-d):(u=p,p=0,c=-d,d=0),t.browser&&t.browser.need3dFix&&(Math.abs(d)/90%2==1&&(d+=.001),Math.abs(c)/90%2==1&&(c+=.001)),n.style.zIndex=-Math.abs(Math.round(l))+e.length,a.slideShadows&&i(n,l);const m=`translate3d(${p}px, ${u}px, 0px) rotateX(${c}deg) rotateY(${d}deg)`;pe(0,n).style.transform=m}},setTransition:e=>{const s=t.slides.map((e=>h(e)));s.forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((t=>{t.style.transitionDuration=`${e}ms`}))})),ue({swiper:t,duration:e,transformElements:s})},recreateShadows:()=>{t.params.flipEffect,t.slides.forEach((e=>{let s=e.progress;t.params.flipEffect.limitRotation&&(s=Math.max(Math.min(e.progress,1),-1)),i(e,s)}))},getEffectParams:()=>t.params.flipEffect,perspective:()=>!0,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({coverflowEffect:{rotate:50,stretch:0,depth:100,scale:1,modifier:1,slideShadows:!0}}),ce({effect:"coverflow",swiper:t,on:a,setTranslate:()=>{const{width:e,height:s,slides:a,slidesSizesGrid:i}=t,r=t.params.coverflowEffect,n=t.isHorizontal(),l=t.translate,o=n?e/2-l:s/2-l,d=n?r.rotate:-r.rotate,c=r.depth;for(let e=0,s=a.length;e<s;e+=1){const s=a[e],l=i[e],p=(o-s.swiperSlideOffset-l/2)/l,u="function"==typeof r.modifier?r.modifier(p):p*r.modifier;let m=n?d*u:0,h=n?0:d*u,f=-c*Math.abs(u),g=r.stretch;"string"==typeof g&&-1!==g.indexOf("%")&&(g=parseFloat(r.stretch)/100*l);let v=n?0:g*u,w=n?g*u:0,b=1-(1-r.scale)*Math.abs(u);Math.abs(w)<.001&&(w=0),Math.abs(v)<.001&&(v=0),Math.abs(f)<.001&&(f=0),Math.abs(m)<.001&&(m=0),Math.abs(h)<.001&&(h=0),Math.abs(b)<.001&&(b=0),t.browser&&t.browser.need3dFix&&(Math.abs(m)/90%2==1&&(m+=.001),Math.abs(h)/90%2==1&&(h+=.001));const y=`translate3d(${w}px,${v}px,${f}px)  rotateX(${h}deg) rotateY(${m}deg) scale(${b})`;if(pe(0,s).style.transform=y,s.style.zIndex=1-Math.abs(Math.round(u)),r.slideShadows){let e=n?s.querySelector(".swiper-slide-shadow-left"):s.querySelector(".swiper-slide-shadow-top"),t=n?s.querySelector(".swiper-slide-shadow-right"):s.querySelector(".swiper-slide-shadow-bottom");e||(e=me("coverflow",s,n?"left":"top")),t||(t=me("coverflow",s,n?"right":"bottom")),e&&(e.style.opacity=u>0?u:0),t&&(t.style.opacity=-u>0?-u:0)}}},setTransition:e=>{t.slides.map((e=>h(e))).forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((t=>{t.style.transitionDuration=`${e}ms`}))}))},perspective:()=>!0,overwriteParams:()=>({watchSlidesProgress:!0})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({creativeEffect:{limitProgress:1,shadowPerProgress:!1,progressMultiplier:1,perspective:!0,prev:{translate:[0,0,0],rotate:[0,0,0],opacity:1,scale:1},next:{translate:[0,0,0],rotate:[0,0,0],opacity:1,scale:1}}});const i=e=>"string"==typeof e?e:`${e}px`;ce({effect:"creative",swiper:t,on:a,setTranslate:()=>{const{slides:e,wrapperEl:s,slidesSizesGrid:a}=t,r=t.params.creativeEffect,{progressMultiplier:n}=r,l=t.params.centeredSlides;if(l){const e=a[0]/2-t.params.slidesOffsetBefore||0;s.style.transform=`translateX(calc(50% - ${e}px))`}for(let s=0;s<e.length;s+=1){const a=e[s],o=a.progress,d=Math.min(Math.max(a.progress,-r.limitProgress),r.limitProgress);let c=d;l||(c=Math.min(Math.max(a.originalProgress,-r.limitProgress),r.limitProgress));const p=a.swiperSlideOffset,u=[t.params.cssMode?-p-t.translate:-p,0,0],m=[0,0,0];let h=!1;t.isHorizontal()||(u[1]=u[0],u[0]=0);let f={translate:[0,0,0],rotate:[0,0,0],scale:1,opacity:1};d<0?(f=r.next,h=!0):d>0&&(f=r.prev,h=!0),u.forEach(((e,t)=>{u[t]=`calc(${e}px + (${i(f.translate[t])} * ${Math.abs(d*n)}))`})),m.forEach(((e,s)=>{let a=f.rotate[s]*Math.abs(d*n);t.browser&&t.browser.need3dFix&&Math.abs(a)/90%2==1&&(a+=.001),m[s]=a})),a.style.zIndex=-Math.abs(Math.round(o))+e.length;const g=u.join(", "),v=`rotateX(${m[0]}deg) rotateY(${m[1]}deg) rotateZ(${m[2]}deg)`,w=c<0?`scale(${1+(1-f.scale)*c*n})`:`scale(${1-(1-f.scale)*c*n})`,b=c<0?1+(1-f.opacity)*c*n:1-(1-f.opacity)*c*n,y=`translate3d(${g}) ${v} ${w}`;if(h&&f.shadow||!h){let e=a.querySelector(".swiper-slide-shadow");if(!e&&f.shadow&&(e=me("creative",a)),e){const t=r.shadowPerProgress?d*(1/r.limitProgress):d;e.style.opacity=Math.min(Math.max(Math.abs(t),0),1)}}const E=pe(0,a);E.style.transform=y,E.style.opacity=b,f.origin&&(E.style.transformOrigin=f.origin)}},setTransition:e=>{const s=t.slides.map((e=>h(e)));s.forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow").forEach((t=>{t.style.transitionDuration=`${e}ms`}))})),ue({swiper:t,duration:e,transformElements:s,allSlides:!0})},perspective:()=>t.params.creativeEffect.perspective,overwriteParams:()=>({watchSlidesProgress:!0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({cardsEffect:{slideShadows:!0,rotate:!0,perSlideRotate:2,perSlideOffset:8}}),ce({effect:"cards",swiper:t,on:a,setTranslate:()=>{const{slides:e,activeIndex:s,rtlTranslate:a}=t,i=t.params.cardsEffect,{startTranslate:r,isTouched:n}=t.touchEventsData,l=a?-t.translate:t.translate;for(let o=0;o<e.length;o+=1){const d=e[o],c=d.progress,p=Math.min(Math.max(c,-4),4);let u=d.swiperSlideOffset;t.params.centeredSlides&&!t.params.cssMode&&(t.wrapperEl.style.transform=`translateX(${t.minTranslate()}px)`),t.params.centeredSlides&&t.params.cssMode&&(u-=e[0].swiperSlideOffset);let m=t.params.cssMode?-u-t.translate:-u,h=0;const f=-100*Math.abs(p);let g=1,v=-i.perSlideRotate*p,w=i.perSlideOffset-.75*Math.abs(p);const b=t.virtual&&t.params.virtual.enabled?t.virtual.from+o:o,y=(b===s||b===s-1)&&p>0&&p<1&&(n||t.params.cssMode)&&l<r,E=(b===s||b===s+1)&&p<0&&p>-1&&(n||t.params.cssMode)&&l>r;if(y||E){const e=(1-Math.abs((Math.abs(p)-.5)/.5))**.5;v+=-28*p*e,g+=-.5*e,w+=96*e,h=-25*e*Math.abs(p)+"%"}if(m=p<0?`calc(${m}px ${a?"-":"+"} (${w*Math.abs(p)}%))`:p>0?`calc(${m}px ${a?"-":"+"} (-${w*Math.abs(p)}%))`:`${m}px`,!t.isHorizontal()){const e=h;h=m,m=e}const x=p<0?""+(1+(1-g)*p):""+(1-(1-g)*p),S=`\n        translate3d(${m}, ${h}, ${f}px)\n        rotateZ(${i.rotate?a?-v:v:0}deg)\n        scale(${x})\n      `;if(i.slideShadows){let e=d.querySelector(".swiper-slide-shadow");e||(e=me("cards",d)),e&&(e.style.opacity=Math.min(Math.max((Math.abs(p)-.5)/.5,0),1))}d.style.zIndex=-Math.abs(Math.round(c))+e.length;pe(0,d).style.transform=S}},setTransition:e=>{const s=t.slides.map((e=>h(e)));s.forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow").forEach((t=>{t.style.transitionDuration=`${e}ms`}))})),ue({swiper:t,duration:e,transformElements:s})},perspective:()=>!0,overwriteParams:()=>({watchSlidesProgress:!0,virtualTranslate:!t.params.cssMode})})}];return se.use(he),se}();
+//# sourceMappingURL=swiper-bundle.min.js.map(파일 끝에 줄바꿈 문자 없음)
 
client/resources/lib/swiper/swiper-element-bundle.min.js (added)
+++ client/resources/lib/swiper/swiper-element-bundle.min.js
@@ -0,0 +1,14 @@
+/**
+ * Swiper Custom Element 11.1.1
+ * Most modern mobile touch slider and framework with hardware accelerated transitions
+ * https://swiperjs.com
+ *
+ * Copyright 2014-2024 Vladimir Kharlampidi
+ *
+ * Released under the MIT License
+ *
+ * Released on: April 9, 2024
+ */
+
+!function(){"use strict";function e(e){return null!==e&&"object"==typeof e&&"constructor"in e&&e.constructor===Object}function t(s,i){void 0===s&&(s={}),void 0===i&&(i={}),Object.keys(i).forEach((a=>{void 0===s[a]?s[a]=i[a]:e(i[a])&&e(s[a])&&Object.keys(i[a]).length>0&&t(s[a],i[a])}))}const s={body:{},addEventListener(){},removeEventListener(){},activeElement:{blur(){},nodeName:""},querySelector:()=>null,querySelectorAll:()=>[],getElementById:()=>null,createEvent:()=>({initEvent(){}}),createElement:()=>({children:[],childNodes:[],style:{},setAttribute(){},getElementsByTagName:()=>[]}),createElementNS:()=>({}),importNode:()=>null,location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};function i(){const e="undefined"!=typeof document?document:{};return t(e,s),e}const a={document:s,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState(){},pushState(){},go(){},back(){}},CustomEvent:function(){return this},addEventListener(){},removeEventListener(){},getComputedStyle:()=>({getPropertyValue:()=>""}),Image(){},Date(){},screen:{},setTimeout(){},clearTimeout(){},matchMedia:()=>({}),requestAnimationFrame:e=>"undefined"==typeof setTimeout?(e(),null):setTimeout(e,0),cancelAnimationFrame(e){"undefined"!=typeof setTimeout&&clearTimeout(e)}};function r(){const e="undefined"!=typeof window?window:{};return t(e,a),e}function n(e){return void 0===e&&(e=""),e.trim().split(" ").filter((e=>!!e.trim()))}function l(e,t){return void 0===t&&(t=0),setTimeout(e,t)}function o(){return Date.now()}function d(e,t){void 0===t&&(t="x");const s=r();let i,a,n;const l=function(e){const t=r();let s;return t.getComputedStyle&&(s=t.getComputedStyle(e,null)),!s&&e.currentStyle&&(s=e.currentStyle),s||(s=e.style),s}(e);return s.WebKitCSSMatrix?(a=l.transform||l.webkitTransform,a.split(",").length>6&&(a=a.split(", ").map((e=>e.replace(",","."))).join(", ")),n=new s.WebKitCSSMatrix("none"===a?"":a)):(n=l.MozTransform||l.OTransform||l.MsTransform||l.msTransform||l.transform||l.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,"),i=n.toString().split(",")),"x"===t&&(a=s.WebKitCSSMatrix?n.m41:16===i.length?parseFloat(i[12]):parseFloat(i[4])),"y"===t&&(a=s.WebKitCSSMatrix?n.m42:16===i.length?parseFloat(i[13]):parseFloat(i[5])),a||0}function p(e){return"object"==typeof e&&null!==e&&e.constructor&&"Object"===Object.prototype.toString.call(e).slice(8,-1)}function c(){const e=Object(arguments.length<=0?void 0:arguments[0]),t=["__proto__","constructor","prototype"];for(let i=1;i<arguments.length;i+=1){const a=i<0||arguments.length<=i?void 0:arguments[i];if(null!=a&&(s=a,!("undefined"!=typeof window&&void 0!==window.HTMLElement?s instanceof HTMLElement:s&&(1===s.nodeType||11===s.nodeType)))){const s=Object.keys(Object(a)).filter((e=>t.indexOf(e)<0));for(let t=0,i=s.length;t<i;t+=1){const i=s[t],r=Object.getOwnPropertyDescriptor(a,i);void 0!==r&&r.enumerable&&(p(e[i])&&p(a[i])?a[i].__swiper__?e[i]=a[i]:c(e[i],a[i]):!p(e[i])&&p(a[i])?(e[i]={},a[i].__swiper__?e[i]=a[i]:c(e[i],a[i])):e[i]=a[i])}}}var s;return e}function u(e,t,s){e.style.setProperty(t,s)}function m(e){let{swiper:t,targetPosition:s,side:i}=e;const a=r(),n=-t.translate;let l,o=null;const d=t.params.speed;t.wrapperEl.style.scrollSnapType="none",a.cancelAnimationFrame(t.cssModeFrameID);const p=s>n?"next":"prev",c=(e,t)=>"next"===p&&e>=t||"prev"===p&&e<=t,u=()=>{l=(new Date).getTime(),null===o&&(o=l);const e=Math.max(Math.min((l-o)/d,1),0),r=.5-Math.cos(e*Math.PI)/2;let p=n+r*(s-n);if(c(p,s)&&(p=s),t.wrapperEl.scrollTo({[i]:p}),c(p,s))return t.wrapperEl.style.overflow="hidden",t.wrapperEl.style.scrollSnapType="",setTimeout((()=>{t.wrapperEl.style.overflow="",t.wrapperEl.scrollTo({[i]:p})})),void a.cancelAnimationFrame(t.cssModeFrameID);t.cssModeFrameID=a.requestAnimationFrame(u)};u()}function h(e){return e.querySelector(".swiper-slide-transform")||e.shadowRoot&&e.shadowRoot.querySelector(".swiper-slide-transform")||e}function f(e,t){return void 0===t&&(t=""),[...e.children].filter((e=>e.matches(t)))}function g(e){try{return void console.warn(e)}catch(e){}}function v(e,t){void 0===t&&(t=[]);const s=document.createElement(e);return s.classList.add(...Array.isArray(t)?t:n(t)),s}function w(e){const t=r(),s=i(),a=e.getBoundingClientRect(),n=s.body,l=e.clientTop||n.clientTop||0,o=e.clientLeft||n.clientLeft||0,d=e===t?t.scrollY:e.scrollTop,p=e===t?t.scrollX:e.scrollLeft;return{top:a.top+d-l,left:a.left+p-o}}function b(e,t){return r().getComputedStyle(e,null).getPropertyValue(t)}function y(e){let t,s=e;if(s){for(t=0;null!==(s=s.previousSibling);)1===s.nodeType&&(t+=1);return t}}function x(e,t){const s=[];let i=e.parentElement;for(;i;)t?i.matches(t)&&s.push(i):s.push(i),i=i.parentElement;return s}function E(e,t){t&&e.addEventListener("transitionend",(function s(i){i.target===e&&(t.call(e,i),e.removeEventListener("transitionend",s))}))}function S(e,t,s){const i=r();return s?e["width"===t?"offsetWidth":"offsetHeight"]+parseFloat(i.getComputedStyle(e,null).getPropertyValue("width"===t?"margin-right":"margin-top"))+parseFloat(i.getComputedStyle(e,null).getPropertyValue("width"===t?"margin-left":"margin-bottom")):e.offsetWidth}function T(e){return(Array.isArray(e)?e:[e]).filter((e=>!!e))}let M,C,P;function L(){return M||(M=function(){const e=r(),t=i();return{smoothScroll:t.documentElement&&t.documentElement.style&&"scrollBehavior"in t.documentElement.style,touch:!!("ontouchstart"in e||e.DocumentTouch&&t instanceof e.DocumentTouch)}}()),M}function z(e){return void 0===e&&(e={}),C||(C=function(e){let{userAgent:t}=void 0===e?{}:e;const s=L(),i=r(),a=i.navigator.platform,n=t||i.navigator.userAgent,l={ios:!1,android:!1},o=i.screen.width,d=i.screen.height,p=n.match(/(Android);?[\s\/]+([\d.]+)?/);let c=n.match(/(iPad).*OS\s([\d_]+)/);const u=n.match(/(iPod)(.*OS\s([\d_]+))?/),m=!c&&n.match(/(iPhone\sOS|iOS)\s([\d_]+)/),h="Win32"===a;let f="MacIntel"===a;return!c&&f&&s.touch&&["1024x1366","1366x1024","834x1194","1194x834","834x1112","1112x834","768x1024","1024x768","820x1180","1180x820","810x1080","1080x810"].indexOf(`${o}x${d}`)>=0&&(c=n.match(/(Version)\/([\d.]+)/),c||(c=[0,1,"13_0_0"]),f=!1),p&&!h&&(l.os="android",l.android=!0),(c||m||u)&&(l.os="ios",l.ios=!0),l}(e)),C}function k(){return P||(P=function(){const e=r(),t=z();let s=!1;function i(){const t=e.navigator.userAgent.toLowerCase();return t.indexOf("safari")>=0&&t.indexOf("chrome")<0&&t.indexOf("android")<0}if(i()){const t=String(e.navigator.userAgent);if(t.includes("Version/")){const[e,i]=t.split("Version/")[1].split(" ")[0].split(".").map((e=>Number(e)));s=e<16||16===e&&i<2}}const a=/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(e.navigator.userAgent),n=i();return{isSafari:s||n,needPerspectiveFix:s,need3dFix:n||a&&t.ios,isWebView:a}}()),P}var A={on(e,t,s){const i=this;if(!i.eventsListeners||i.destroyed)return i;if("function"!=typeof t)return i;const a=s?"unshift":"push";return e.split(" ").forEach((e=>{i.eventsListeners[e]||(i.eventsListeners[e]=[]),i.eventsListeners[e][a](t)})),i},once(e,t,s){const i=this;if(!i.eventsListeners||i.destroyed)return i;if("function"!=typeof t)return i;function a(){i.off(e,a),a.__emitterProxy&&delete a.__emitterProxy;for(var s=arguments.length,r=new Array(s),n=0;n<s;n++)r[n]=arguments[n];t.apply(i,r)}return a.__emitterProxy=t,i.on(e,a,s)},onAny(e,t){const s=this;if(!s.eventsListeners||s.destroyed)return s;if("function"!=typeof e)return s;const i=t?"unshift":"push";return s.eventsAnyListeners.indexOf(e)<0&&s.eventsAnyListeners[i](e),s},offAny(e){const t=this;if(!t.eventsListeners||t.destroyed)return t;if(!t.eventsAnyListeners)return t;const s=t.eventsAnyListeners.indexOf(e);return s>=0&&t.eventsAnyListeners.splice(s,1),t},off(e,t){const s=this;return!s.eventsListeners||s.destroyed?s:s.eventsListeners?(e.split(" ").forEach((e=>{void 0===t?s.eventsListeners[e]=[]:s.eventsListeners[e]&&s.eventsListeners[e].forEach(((i,a)=>{(i===t||i.__emitterProxy&&i.__emitterProxy===t)&&s.eventsListeners[e].splice(a,1)}))})),s):s},emit(){const e=this;if(!e.eventsListeners||e.destroyed)return e;if(!e.eventsListeners)return e;let t,s,i;for(var a=arguments.length,r=new Array(a),n=0;n<a;n++)r[n]=arguments[n];"string"==typeof r[0]||Array.isArray(r[0])?(t=r[0],s=r.slice(1,r.length),i=e):(t=r[0].events,s=r[0].data,i=r[0].context||e),s.unshift(i);return(Array.isArray(t)?t:t.split(" ")).forEach((t=>{e.eventsAnyListeners&&e.eventsAnyListeners.length&&e.eventsAnyListeners.forEach((e=>{e.apply(i,[t,...s])})),e.eventsListeners&&e.eventsListeners[t]&&e.eventsListeners[t].forEach((e=>{e.apply(i,s)}))})),e}};const $=(e,t,s)=>{t&&!e.classList.contains(s)?e.classList.add(s):!t&&e.classList.contains(s)&&e.classList.remove(s)};const I=(e,t)=>{if(!e||e.destroyed||!e.params)return;const s=t.closest(e.isElement?"swiper-slide":`.${e.params.slideClass}`);if(s){let t=s.querySelector(`.${e.params.lazyPreloaderClass}`);!t&&e.isElement&&(s.shadowRoot?t=s.shadowRoot.querySelector(`.${e.params.lazyPreloaderClass}`):requestAnimationFrame((()=>{s.shadowRoot&&(t=s.shadowRoot.querySelector(`.${e.params.lazyPreloaderClass}`),t&&t.remove())}))),t&&t.remove()}},O=(e,t)=>{if(!e.slides[t])return;const s=e.slides[t].querySelector('[loading="lazy"]');s&&s.removeAttribute("loading")},D=e=>{if(!e||e.destroyed||!e.params)return;let t=e.params.lazyPreloadPrevNext;const s=e.slides.length;if(!s||!t||t<0)return;t=Math.min(t,s);const i="auto"===e.params.slidesPerView?e.slidesPerViewDynamic():Math.ceil(e.params.slidesPerView),a=e.activeIndex;if(e.params.grid&&e.params.grid.rows>1){const s=a,r=[s-t];return r.push(...Array.from({length:t}).map(((e,t)=>s+i+t))),void e.slides.forEach(((t,s)=>{r.includes(t.column)&&O(e,s)}))}const r=a+i-1;if(e.params.rewind||e.params.loop)for(let i=a-t;i<=r+t;i+=1){const t=(i%s+s)%s;(t<a||t>r)&&O(e,t)}else for(let i=Math.max(a-t,0);i<=Math.min(r+t,s-1);i+=1)i!==a&&(i>r||i<a)&&O(e,i)};var _={updateSize:function(){const e=this;let t,s;const i=e.el;t=void 0!==e.params.width&&null!==e.params.width?e.params.width:i.clientWidth,s=void 0!==e.params.height&&null!==e.params.height?e.params.height:i.clientHeight,0===t&&e.isHorizontal()||0===s&&e.isVertical()||(t=t-parseInt(b(i,"padding-left")||0,10)-parseInt(b(i,"padding-right")||0,10),s=s-parseInt(b(i,"padding-top")||0,10)-parseInt(b(i,"padding-bottom")||0,10),Number.isNaN(t)&&(t=0),Number.isNaN(s)&&(s=0),Object.assign(e,{width:t,height:s,size:e.isHorizontal()?t:s}))},updateSlides:function(){const e=this;function t(t,s){return parseFloat(t.getPropertyValue(e.getDirectionLabel(s))||0)}const s=e.params,{wrapperEl:i,slidesEl:a,size:r,rtlTranslate:n,wrongRTL:l}=e,o=e.virtual&&s.virtual.enabled,d=o?e.virtual.slides.length:e.slides.length,p=f(a,`.${e.params.slideClass}, swiper-slide`),c=o?e.virtual.slides.length:p.length;let m=[];const h=[],g=[];let v=s.slidesOffsetBefore;"function"==typeof v&&(v=s.slidesOffsetBefore.call(e));let w=s.slidesOffsetAfter;"function"==typeof w&&(w=s.slidesOffsetAfter.call(e));const y=e.snapGrid.length,x=e.slidesGrid.length;let E=s.spaceBetween,T=-v,M=0,C=0;if(void 0===r)return;"string"==typeof E&&E.indexOf("%")>=0?E=parseFloat(E.replace("%",""))/100*r:"string"==typeof E&&(E=parseFloat(E)),e.virtualSize=-E,p.forEach((e=>{n?e.style.marginLeft="":e.style.marginRight="",e.style.marginBottom="",e.style.marginTop=""})),s.centeredSlides&&s.cssMode&&(u(i,"--swiper-centered-offset-before",""),u(i,"--swiper-centered-offset-after",""));const P=s.grid&&s.grid.rows>1&&e.grid;let L;P?e.grid.initSlides(p):e.grid&&e.grid.unsetSlides();const z="auto"===s.slidesPerView&&s.breakpoints&&Object.keys(s.breakpoints).filter((e=>void 0!==s.breakpoints[e].slidesPerView)).length>0;for(let i=0;i<c;i+=1){let a;if(L=0,p[i]&&(a=p[i]),P&&e.grid.updateSlide(i,a,p),!p[i]||"none"!==b(a,"display")){if("auto"===s.slidesPerView){z&&(p[i].style[e.getDirectionLabel("width")]="");const r=getComputedStyle(a),n=a.style.transform,l=a.style.webkitTransform;if(n&&(a.style.transform="none"),l&&(a.style.webkitTransform="none"),s.roundLengths)L=e.isHorizontal()?S(a,"width",!0):S(a,"height",!0);else{const e=t(r,"width"),s=t(r,"padding-left"),i=t(r,"padding-right"),n=t(r,"margin-left"),l=t(r,"margin-right"),o=r.getPropertyValue("box-sizing");if(o&&"border-box"===o)L=e+n+l;else{const{clientWidth:t,offsetWidth:r}=a;L=e+s+i+n+l+(r-t)}}n&&(a.style.transform=n),l&&(a.style.webkitTransform=l),s.roundLengths&&(L=Math.floor(L))}else L=(r-(s.slidesPerView-1)*E)/s.slidesPerView,s.roundLengths&&(L=Math.floor(L)),p[i]&&(p[i].style[e.getDirectionLabel("width")]=`${L}px`);p[i]&&(p[i].swiperSlideSize=L),g.push(L),s.centeredSlides?(T=T+L/2+M/2+E,0===M&&0!==i&&(T=T-r/2-E),0===i&&(T=T-r/2-E),Math.abs(T)<.001&&(T=0),s.roundLengths&&(T=Math.floor(T)),C%s.slidesPerGroup==0&&m.push(T),h.push(T)):(s.roundLengths&&(T=Math.floor(T)),(C-Math.min(e.params.slidesPerGroupSkip,C))%e.params.slidesPerGroup==0&&m.push(T),h.push(T),T=T+L+E),e.virtualSize+=L+E,M=L,C+=1}}if(e.virtualSize=Math.max(e.virtualSize,r)+w,n&&l&&("slide"===s.effect||"coverflow"===s.effect)&&(i.style.width=`${e.virtualSize+E}px`),s.setWrapperSize&&(i.style[e.getDirectionLabel("width")]=`${e.virtualSize+E}px`),P&&e.grid.updateWrapperSize(L,m),!s.centeredSlides){const t=[];for(let i=0;i<m.length;i+=1){let a=m[i];s.roundLengths&&(a=Math.floor(a)),m[i]<=e.virtualSize-r&&t.push(a)}m=t,Math.floor(e.virtualSize-r)-Math.floor(m[m.length-1])>1&&m.push(e.virtualSize-r)}if(o&&s.loop){const t=g[0]+E;if(s.slidesPerGroup>1){const i=Math.ceil((e.virtual.slidesBefore+e.virtual.slidesAfter)/s.slidesPerGroup),a=t*s.slidesPerGroup;for(let e=0;e<i;e+=1)m.push(m[m.length-1]+a)}for(let i=0;i<e.virtual.slidesBefore+e.virtual.slidesAfter;i+=1)1===s.slidesPerGroup&&m.push(m[m.length-1]+t),h.push(h[h.length-1]+t),e.virtualSize+=t}if(0===m.length&&(m=[0]),0!==E){const t=e.isHorizontal()&&n?"marginLeft":e.getDirectionLabel("marginRight");p.filter(((e,t)=>!(s.cssMode&&!s.loop)||t!==p.length-1)).forEach((e=>{e.style[t]=`${E}px`}))}if(s.centeredSlides&&s.centeredSlidesBounds){let e=0;g.forEach((t=>{e+=t+(E||0)})),e-=E;const t=e-r;m=m.map((e=>e<=0?-v:e>t?t+w:e))}if(s.centerInsufficientSlides){let e=0;if(g.forEach((t=>{e+=t+(E||0)})),e-=E,e<r){const t=(r-e)/2;m.forEach(((e,s)=>{m[s]=e-t})),h.forEach(((e,s)=>{h[s]=e+t}))}}if(Object.assign(e,{slides:p,snapGrid:m,slidesGrid:h,slidesSizesGrid:g}),s.centeredSlides&&s.cssMode&&!s.centeredSlidesBounds){u(i,"--swiper-centered-offset-before",-m[0]+"px"),u(i,"--swiper-centered-offset-after",e.size/2-g[g.length-1]/2+"px");const t=-e.snapGrid[0],s=-e.slidesGrid[0];e.snapGrid=e.snapGrid.map((e=>e+t)),e.slidesGrid=e.slidesGrid.map((e=>e+s))}if(c!==d&&e.emit("slidesLengthChange"),m.length!==y&&(e.params.watchOverflow&&e.checkOverflow(),e.emit("snapGridLengthChange")),h.length!==x&&e.emit("slidesGridLengthChange"),s.watchSlidesProgress&&e.updateSlidesOffset(),e.emit("slidesUpdated"),!(o||s.cssMode||"slide"!==s.effect&&"fade"!==s.effect)){const t=`${s.containerModifierClass}backface-hidden`,i=e.el.classList.contains(t);c<=s.maxBackfaceHiddenSlides?i||e.el.classList.add(t):i&&e.el.classList.remove(t)}},updateAutoHeight:function(e){const t=this,s=[],i=t.virtual&&t.params.virtual.enabled;let a,r=0;"number"==typeof e?t.setTransition(e):!0===e&&t.setTransition(t.params.speed);const n=e=>i?t.slides[t.getSlideIndexByData(e)]:t.slides[e];if("auto"!==t.params.slidesPerView&&t.params.slidesPerView>1)if(t.params.centeredSlides)(t.visibleSlides||[]).forEach((e=>{s.push(e)}));else for(a=0;a<Math.ceil(t.params.slidesPerView);a+=1){const e=t.activeIndex+a;if(e>t.slides.length&&!i)break;s.push(n(e))}else s.push(n(t.activeIndex));for(a=0;a<s.length;a+=1)if(void 0!==s[a]){const e=s[a].offsetHeight;r=e>r?e:r}(r||0===r)&&(t.wrapperEl.style.height=`${r}px`)},updateSlidesOffset:function(){const e=this,t=e.slides,s=e.isElement?e.isHorizontal()?e.wrapperEl.offsetLeft:e.wrapperEl.offsetTop:0;for(let i=0;i<t.length;i+=1)t[i].swiperSlideOffset=(e.isHorizontal()?t[i].offsetLeft:t[i].offsetTop)-s-e.cssOverflowAdjustment()},updateSlidesProgress:function(e){void 0===e&&(e=this&&this.translate||0);const t=this,s=t.params,{slides:i,rtlTranslate:a,snapGrid:r}=t;if(0===i.length)return;void 0===i[0].swiperSlideOffset&&t.updateSlidesOffset();let n=-e;a&&(n=e),i.forEach((e=>{e.classList.remove(s.slideVisibleClass,s.slideFullyVisibleClass)})),t.visibleSlidesIndexes=[],t.visibleSlides=[];let l=s.spaceBetween;"string"==typeof l&&l.indexOf("%")>=0?l=parseFloat(l.replace("%",""))/100*t.size:"string"==typeof l&&(l=parseFloat(l));for(let e=0;e<i.length;e+=1){const o=i[e];let d=o.swiperSlideOffset;s.cssMode&&s.centeredSlides&&(d-=i[0].swiperSlideOffset);const p=(n+(s.centeredSlides?t.minTranslate():0)-d)/(o.swiperSlideSize+l),c=(n-r[0]+(s.centeredSlides?t.minTranslate():0)-d)/(o.swiperSlideSize+l),u=-(n-d),m=u+t.slidesSizesGrid[e],h=u>=0&&u<=t.size-t.slidesSizesGrid[e];(u>=0&&u<t.size-1||m>1&&m<=t.size||u<=0&&m>=t.size)&&(t.visibleSlides.push(o),t.visibleSlidesIndexes.push(e),i[e].classList.add(s.slideVisibleClass)),h&&i[e].classList.add(s.slideFullyVisibleClass),o.progress=a?-p:p,o.originalProgress=a?-c:c}},updateProgress:function(e){const t=this;if(void 0===e){const s=t.rtlTranslate?-1:1;e=t&&t.translate&&t.translate*s||0}const s=t.params,i=t.maxTranslate()-t.minTranslate();let{progress:a,isBeginning:r,isEnd:n,progressLoop:l}=t;const o=r,d=n;if(0===i)a=0,r=!0,n=!0;else{a=(e-t.minTranslate())/i;const s=Math.abs(e-t.minTranslate())<1,l=Math.abs(e-t.maxTranslate())<1;r=s||a<=0,n=l||a>=1,s&&(a=0),l&&(a=1)}if(s.loop){const s=t.getSlideIndexByData(0),i=t.getSlideIndexByData(t.slides.length-1),a=t.slidesGrid[s],r=t.slidesGrid[i],n=t.slidesGrid[t.slidesGrid.length-1],o=Math.abs(e);l=o>=a?(o-a)/n:(o+n-r)/n,l>1&&(l-=1)}Object.assign(t,{progress:a,progressLoop:l,isBeginning:r,isEnd:n}),(s.watchSlidesProgress||s.centeredSlides&&s.autoHeight)&&t.updateSlidesProgress(e),r&&!o&&t.emit("reachBeginning toEdge"),n&&!d&&t.emit("reachEnd toEdge"),(o&&!r||d&&!n)&&t.emit("fromEdge"),t.emit("progress",a)},updateSlidesClasses:function(){const e=this,{slides:t,params:s,slidesEl:i,activeIndex:a}=e,r=e.virtual&&s.virtual.enabled,n=e.grid&&s.grid&&s.grid.rows>1,l=e=>f(i,`.${s.slideClass}${e}, swiper-slide${e}`)[0];let o,d,p;if(r)if(s.loop){let t=a-e.virtual.slidesBefore;t<0&&(t=e.virtual.slides.length+t),t>=e.virtual.slides.length&&(t-=e.virtual.slides.length),o=l(`[data-swiper-slide-index="${t}"]`)}else o=l(`[data-swiper-slide-index="${a}"]`);else n?(o=t.filter((e=>e.column===a))[0],p=t.filter((e=>e.column===a+1))[0],d=t.filter((e=>e.column===a-1))[0]):o=t[a];o&&(n||(p=function(e,t){const s=[];for(;e.nextElementSibling;){const i=e.nextElementSibling;t?i.matches(t)&&s.push(i):s.push(i),e=i}return s}(o,`.${s.slideClass}, swiper-slide`)[0],s.loop&&!p&&(p=t[0]),d=function(e,t){const s=[];for(;e.previousElementSibling;){const i=e.previousElementSibling;t?i.matches(t)&&s.push(i):s.push(i),e=i}return s}(o,`.${s.slideClass}, swiper-slide`)[0],s.loop&&0===!d&&(d=t[t.length-1]))),t.forEach((e=>{$(e,e===o,s.slideActiveClass),$(e,e===p,s.slideNextClass),$(e,e===d,s.slidePrevClass)})),e.emitSlidesClasses()},updateActiveIndex:function(e){const t=this,s=t.rtlTranslate?t.translate:-t.translate,{snapGrid:i,params:a,activeIndex:r,realIndex:n,snapIndex:l}=t;let o,d=e;const p=e=>{let s=e-t.virtual.slidesBefore;return s<0&&(s=t.virtual.slides.length+s),s>=t.virtual.slides.length&&(s-=t.virtual.slides.length),s};if(void 0===d&&(d=function(e){const{slidesGrid:t,params:s}=e,i=e.rtlTranslate?e.translate:-e.translate;let a;for(let e=0;e<t.length;e+=1)void 0!==t[e+1]?i>=t[e]&&i<t[e+1]-(t[e+1]-t[e])/2?a=e:i>=t[e]&&i<t[e+1]&&(a=e+1):i>=t[e]&&(a=e);return s.normalizeSlideIndex&&(a<0||void 0===a)&&(a=0),a}(t)),i.indexOf(s)>=0)o=i.indexOf(s);else{const e=Math.min(a.slidesPerGroupSkip,d);o=e+Math.floor((d-e)/a.slidesPerGroup)}if(o>=i.length&&(o=i.length-1),d===r&&!t.params.loop)return void(o!==l&&(t.snapIndex=o,t.emit("snapIndexChange")));if(d===r&&t.params.loop&&t.virtual&&t.params.virtual.enabled)return void(t.realIndex=p(d));const c=t.grid&&a.grid&&a.grid.rows>1;let u;if(t.virtual&&a.virtual.enabled&&a.loop)u=p(d);else if(c){const e=t.slides.filter((e=>e.column===d))[0];let s=parseInt(e.getAttribute("data-swiper-slide-index"),10);Number.isNaN(s)&&(s=Math.max(t.slides.indexOf(e),0)),u=Math.floor(s/a.grid.rows)}else if(t.slides[d]){const e=t.slides[d].getAttribute("data-swiper-slide-index");u=e?parseInt(e,10):d}else u=d;Object.assign(t,{previousSnapIndex:l,snapIndex:o,previousRealIndex:n,realIndex:u,previousIndex:r,activeIndex:d}),t.initialized&&D(t),t.emit("activeIndexChange"),t.emit("snapIndexChange"),(t.initialized||t.params.runCallbacksOnInit)&&(n!==u&&t.emit("realIndexChange"),t.emit("slideChange"))},updateClickedSlide:function(e,t){const s=this,i=s.params;let a=e.closest(`.${i.slideClass}, swiper-slide`);!a&&s.isElement&&t&&t.length>1&&t.includes(e)&&[...t.slice(t.indexOf(e)+1,t.length)].forEach((e=>{!a&&e.matches&&e.matches(`.${i.slideClass}, swiper-slide`)&&(a=e)}));let r,n=!1;if(a)for(let e=0;e<s.slides.length;e+=1)if(s.slides[e]===a){n=!0,r=e;break}if(!a||!n)return s.clickedSlide=void 0,void(s.clickedIndex=void 0);s.clickedSlide=a,s.virtual&&s.params.virtual.enabled?s.clickedIndex=parseInt(a.getAttribute("data-swiper-slide-index"),10):s.clickedIndex=r,i.slideToClickedSlide&&void 0!==s.clickedIndex&&s.clickedIndex!==s.activeIndex&&s.slideToClickedSlide()}};var G={getTranslate:function(e){void 0===e&&(e=this.isHorizontal()?"x":"y");const{params:t,rtlTranslate:s,translate:i,wrapperEl:a}=this;if(t.virtualTranslate)return s?-i:i;if(t.cssMode)return i;let r=d(a,e);return r+=this.cssOverflowAdjustment(),s&&(r=-r),r||0},setTranslate:function(e,t){const s=this,{rtlTranslate:i,params:a,wrapperEl:r,progress:n}=s;let l,o=0,d=0;s.isHorizontal()?o=i?-e:e:d=e,a.roundLengths&&(o=Math.floor(o),d=Math.floor(d)),s.previousTranslate=s.translate,s.translate=s.isHorizontal()?o:d,a.cssMode?r[s.isHorizontal()?"scrollLeft":"scrollTop"]=s.isHorizontal()?-o:-d:a.virtualTranslate||(s.isHorizontal()?o-=s.cssOverflowAdjustment():d-=s.cssOverflowAdjustment(),r.style.transform=`translate3d(${o}px, ${d}px, 0px)`);const p=s.maxTranslate()-s.minTranslate();l=0===p?0:(e-s.minTranslate())/p,l!==n&&s.updateProgress(e),s.emit("setTranslate",s.translate,t)},minTranslate:function(){return-this.snapGrid[0]},maxTranslate:function(){return-this.snapGrid[this.snapGrid.length-1]},translateTo:function(e,t,s,i,a){void 0===e&&(e=0),void 0===t&&(t=this.params.speed),void 0===s&&(s=!0),void 0===i&&(i=!0);const r=this,{params:n,wrapperEl:l}=r;if(r.animating&&n.preventInteractionOnTransition)return!1;const o=r.minTranslate(),d=r.maxTranslate();let p;if(p=i&&e>o?o:i&&e<d?d:e,r.updateProgress(p),n.cssMode){const e=r.isHorizontal();if(0===t)l[e?"scrollLeft":"scrollTop"]=-p;else{if(!r.support.smoothScroll)return m({swiper:r,targetPosition:-p,side:e?"left":"top"}),!0;l.scrollTo({[e?"left":"top"]:-p,behavior:"smooth"})}return!0}return 0===t?(r.setTransition(0),r.setTranslate(p),s&&(r.emit("beforeTransitionStart",t,a),r.emit("transitionEnd"))):(r.setTransition(t),r.setTranslate(p),s&&(r.emit("beforeTransitionStart",t,a),r.emit("transitionStart")),r.animating||(r.animating=!0,r.onTranslateToWrapperTransitionEnd||(r.onTranslateToWrapperTransitionEnd=function(e){r&&!r.destroyed&&e.target===this&&(r.wrapperEl.removeEventListener("transitionend",r.onTranslateToWrapperTransitionEnd),r.onTranslateToWrapperTransitionEnd=null,delete r.onTranslateToWrapperTransitionEnd,r.animating=!1,s&&r.emit("transitionEnd"))}),r.wrapperEl.addEventListener("transitionend",r.onTranslateToWrapperTransitionEnd))),!0}};function N(e){let{swiper:t,runCallbacks:s,direction:i,step:a}=e;const{activeIndex:r,previousIndex:n}=t;let l=i;if(l||(l=r>n?"next":r<n?"prev":"reset"),t.emit(`transition${a}`),s&&r!==n){if("reset"===l)return void t.emit(`slideResetTransition${a}`);t.emit(`slideChangeTransition${a}`),"next"===l?t.emit(`slideNextTransition${a}`):t.emit(`slidePrevTransition${a}`)}}var B={slideTo:function(e,t,s,i,a){void 0===e&&(e=0),void 0===s&&(s=!0),"string"==typeof e&&(e=parseInt(e,10));const r=this;let n=e;n<0&&(n=0);const{params:l,snapGrid:o,slidesGrid:d,previousIndex:p,activeIndex:c,rtlTranslate:u,wrapperEl:h,enabled:f}=r;if(!f&&!i&&!a||r.destroyed||r.animating&&l.preventInteractionOnTransition)return!1;void 0===t&&(t=r.params.speed);const g=Math.min(r.params.slidesPerGroupSkip,n);let v=g+Math.floor((n-g)/r.params.slidesPerGroup);v>=o.length&&(v=o.length-1);const w=-o[v];if(l.normalizeSlideIndex)for(let e=0;e<d.length;e+=1){const t=-Math.floor(100*w),s=Math.floor(100*d[e]),i=Math.floor(100*d[e+1]);void 0!==d[e+1]?t>=s&&t<i-(i-s)/2?n=e:t>=s&&t<i&&(n=e+1):t>=s&&(n=e)}if(r.initialized&&n!==c){if(!r.allowSlideNext&&(u?w>r.translate&&w>r.minTranslate():w<r.translate&&w<r.minTranslate()))return!1;if(!r.allowSlidePrev&&w>r.translate&&w>r.maxTranslate()&&(c||0)!==n)return!1}let b;if(n!==(p||0)&&s&&r.emit("beforeSlideChangeStart"),r.updateProgress(w),b=n>c?"next":n<c?"prev":"reset",u&&-w===r.translate||!u&&w===r.translate)return r.updateActiveIndex(n),l.autoHeight&&r.updateAutoHeight(),r.updateSlidesClasses(),"slide"!==l.effect&&r.setTranslate(w),"reset"!==b&&(r.transitionStart(s,b),r.transitionEnd(s,b)),!1;if(l.cssMode){const e=r.isHorizontal(),s=u?w:-w;if(0===t){const t=r.virtual&&r.params.virtual.enabled;t&&(r.wrapperEl.style.scrollSnapType="none",r._immediateVirtual=!0),t&&!r._cssModeVirtualInitialSet&&r.params.initialSlide>0?(r._cssModeVirtualInitialSet=!0,requestAnimationFrame((()=>{h[e?"scrollLeft":"scrollTop"]=s}))):h[e?"scrollLeft":"scrollTop"]=s,t&&requestAnimationFrame((()=>{r.wrapperEl.style.scrollSnapType="",r._immediateVirtual=!1}))}else{if(!r.support.smoothScroll)return m({swiper:r,targetPosition:s,side:e?"left":"top"}),!0;h.scrollTo({[e?"left":"top"]:s,behavior:"smooth"})}return!0}return r.setTransition(t),r.setTranslate(w),r.updateActiveIndex(n),r.updateSlidesClasses(),r.emit("beforeTransitionStart",t,i),r.transitionStart(s,b),0===t?r.transitionEnd(s,b):r.animating||(r.animating=!0,r.onSlideToWrapperTransitionEnd||(r.onSlideToWrapperTransitionEnd=function(e){r&&!r.destroyed&&e.target===this&&(r.wrapperEl.removeEventListener("transitionend",r.onSlideToWrapperTransitionEnd),r.onSlideToWrapperTransitionEnd=null,delete r.onSlideToWrapperTransitionEnd,r.transitionEnd(s,b))}),r.wrapperEl.addEventListener("transitionend",r.onSlideToWrapperTransitionEnd)),!0},slideToLoop:function(e,t,s,i){if(void 0===e&&(e=0),void 0===s&&(s=!0),"string"==typeof e){e=parseInt(e,10)}const a=this;if(a.destroyed)return;void 0===t&&(t=a.params.speed);const r=a.grid&&a.params.grid&&a.params.grid.rows>1;let n=e;if(a.params.loop)if(a.virtual&&a.params.virtual.enabled)n+=a.virtual.slidesBefore;else{let e;if(r){const t=n*a.params.grid.rows;e=a.slides.filter((e=>1*e.getAttribute("data-swiper-slide-index")===t))[0].column}else e=a.getSlideIndexByData(n);const t=r?Math.ceil(a.slides.length/a.params.grid.rows):a.slides.length,{centeredSlides:s}=a.params;let l=a.params.slidesPerView;"auto"===l?l=a.slidesPerViewDynamic():(l=Math.ceil(parseFloat(a.params.slidesPerView,10)),s&&l%2==0&&(l+=1));let o=t-e<l;if(s&&(o=o||e<Math.ceil(l/2)),i&&s&&"auto"!==a.params.slidesPerView&&!r&&(o=!1),o){const i=s?e<a.activeIndex?"prev":"next":e-a.activeIndex-1<a.params.slidesPerView?"next":"prev";a.loopFix({direction:i,slideTo:!0,activeSlideIndex:"next"===i?e+1:e-t+1,slideRealIndex:"next"===i?a.realIndex:void 0})}if(r){const e=n*a.params.grid.rows;n=a.slides.filter((t=>1*t.getAttribute("data-swiper-slide-index")===e))[0].column}else n=a.getSlideIndexByData(n)}return requestAnimationFrame((()=>{a.slideTo(n,t,s,i)})),a},slideNext:function(e,t,s){void 0===t&&(t=!0);const i=this,{enabled:a,params:r,animating:n}=i;if(!a||i.destroyed)return i;void 0===e&&(e=i.params.speed);let l=r.slidesPerGroup;"auto"===r.slidesPerView&&1===r.slidesPerGroup&&r.slidesPerGroupAuto&&(l=Math.max(i.slidesPerViewDynamic("current",!0),1));const o=i.activeIndex<r.slidesPerGroupSkip?1:l,d=i.virtual&&r.virtual.enabled;if(r.loop){if(n&&!d&&r.loopPreventsSliding)return!1;if(i.loopFix({direction:"next"}),i._clientLeft=i.wrapperEl.clientLeft,i.activeIndex===i.slides.length-1&&r.cssMode)return requestAnimationFrame((()=>{i.slideTo(i.activeIndex+o,e,t,s)})),!0}return r.rewind&&i.isEnd?i.slideTo(0,e,t,s):i.slideTo(i.activeIndex+o,e,t,s)},slidePrev:function(e,t,s){void 0===t&&(t=!0);const i=this,{params:a,snapGrid:r,slidesGrid:n,rtlTranslate:l,enabled:o,animating:d}=i;if(!o||i.destroyed)return i;void 0===e&&(e=i.params.speed);const p=i.virtual&&a.virtual.enabled;if(a.loop){if(d&&!p&&a.loopPreventsSliding)return!1;i.loopFix({direction:"prev"}),i._clientLeft=i.wrapperEl.clientLeft}function c(e){return e<0?-Math.floor(Math.abs(e)):Math.floor(e)}const u=c(l?i.translate:-i.translate),m=r.map((e=>c(e)));let h=r[m.indexOf(u)-1];if(void 0===h&&a.cssMode){let e;r.forEach(((t,s)=>{u>=t&&(e=s)})),void 0!==e&&(h=r[e>0?e-1:e])}let f=0;if(void 0!==h&&(f=n.indexOf(h),f<0&&(f=i.activeIndex-1),"auto"===a.slidesPerView&&1===a.slidesPerGroup&&a.slidesPerGroupAuto&&(f=f-i.slidesPerViewDynamic("previous",!0)+1,f=Math.max(f,0))),a.rewind&&i.isBeginning){const a=i.params.virtual&&i.params.virtual.enabled&&i.virtual?i.virtual.slides.length-1:i.slides.length-1;return i.slideTo(a,e,t,s)}return a.loop&&0===i.activeIndex&&a.cssMode?(requestAnimationFrame((()=>{i.slideTo(f,e,t,s)})),!0):i.slideTo(f,e,t,s)},slideReset:function(e,t,s){void 0===t&&(t=!0);const i=this;if(!i.destroyed)return void 0===e&&(e=i.params.speed),i.slideTo(i.activeIndex,e,t,s)},slideToClosest:function(e,t,s,i){void 0===t&&(t=!0),void 0===i&&(i=.5);const a=this;if(a.destroyed)return;void 0===e&&(e=a.params.speed);let r=a.activeIndex;const n=Math.min(a.params.slidesPerGroupSkip,r),l=n+Math.floor((r-n)/a.params.slidesPerGroup),o=a.rtlTranslate?a.translate:-a.translate;if(o>=a.snapGrid[l]){const e=a.snapGrid[l];o-e>(a.snapGrid[l+1]-e)*i&&(r+=a.params.slidesPerGroup)}else{const e=a.snapGrid[l-1];o-e<=(a.snapGrid[l]-e)*i&&(r-=a.params.slidesPerGroup)}return r=Math.max(r,0),r=Math.min(r,a.slidesGrid.length-1),a.slideTo(r,e,t,s)},slideToClickedSlide:function(){const e=this;if(e.destroyed)return;const{params:t,slidesEl:s}=e,i="auto"===t.slidesPerView?e.slidesPerViewDynamic():t.slidesPerView;let a,r=e.clickedIndex;const n=e.isElement?"swiper-slide":`.${t.slideClass}`;if(t.loop){if(e.animating)return;a=parseInt(e.clickedSlide.getAttribute("data-swiper-slide-index"),10),t.centeredSlides?r<e.loopedSlides-i/2||r>e.slides.length-e.loopedSlides+i/2?(e.loopFix(),r=e.getSlideIndex(f(s,`${n}[data-swiper-slide-index="${a}"]`)[0]),l((()=>{e.slideTo(r)}))):e.slideTo(r):r>e.slides.length-i?(e.loopFix(),r=e.getSlideIndex(f(s,`${n}[data-swiper-slide-index="${a}"]`)[0]),l((()=>{e.slideTo(r)}))):e.slideTo(r)}else e.slideTo(r)}};var H={loopCreate:function(e){const t=this,{params:s,slidesEl:i}=t;if(!s.loop||t.virtual&&t.params.virtual.enabled)return;const a=()=>{f(i,`.${s.slideClass}, swiper-slide`).forEach(((e,t)=>{e.setAttribute("data-swiper-slide-index",t)}))},r=t.grid&&s.grid&&s.grid.rows>1,n=s.slidesPerGroup*(r?s.grid.rows:1),l=t.slides.length%n!=0,o=r&&t.slides.length%s.grid.rows!=0,d=e=>{for(let i=0;i<e;i+=1){const e=t.isElement?v("swiper-slide",[s.slideBlankClass]):v("div",[s.slideClass,s.slideBlankClass]);t.slidesEl.append(e)}};if(l){if(s.loopAddBlankSlides){d(n-t.slides.length%n),t.recalcSlides(),t.updateSlides()}else g("Swiper Loop Warning: The number of slides is not even to slidesPerGroup, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)");a()}else if(o){if(s.loopAddBlankSlides){d(s.grid.rows-t.slides.length%s.grid.rows),t.recalcSlides(),t.updateSlides()}else g("Swiper Loop Warning: The number of slides is not even to grid.rows, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)");a()}else a();t.loopFix({slideRealIndex:e,direction:s.centeredSlides?void 0:"next"})},loopFix:function(e){let{slideRealIndex:t,slideTo:s=!0,direction:i,setTranslate:a,activeSlideIndex:r,byController:n,byMousewheel:l}=void 0===e?{}:e;const o=this;if(!o.params.loop)return;o.emit("beforeLoopFix");const{slides:d,allowSlidePrev:p,allowSlideNext:c,slidesEl:u,params:m}=o,{centeredSlides:h}=m;if(o.allowSlidePrev=!0,o.allowSlideNext=!0,o.virtual&&m.virtual.enabled)return s&&(m.centeredSlides||0!==o.snapIndex?m.centeredSlides&&o.snapIndex<m.slidesPerView?o.slideTo(o.virtual.slides.length+o.snapIndex,0,!1,!0):o.snapIndex===o.snapGrid.length-1&&o.slideTo(o.virtual.slidesBefore,0,!1,!0):o.slideTo(o.virtual.slides.length,0,!1,!0)),o.allowSlidePrev=p,o.allowSlideNext=c,void o.emit("loopFix");let f=m.slidesPerView;"auto"===f?f=o.slidesPerViewDynamic():(f=Math.ceil(parseFloat(m.slidesPerView,10)),h&&f%2==0&&(f+=1));const v=m.slidesPerGroupAuto?f:m.slidesPerGroup;let w=v;w%v!=0&&(w+=v-w%v),w+=m.loopAdditionalSlides,o.loopedSlides=w;const b=o.grid&&m.grid&&m.grid.rows>1;d.length<f+w?g("Swiper Loop Warning: The number of slides is not enough for loop mode, it will be disabled and not function properly. You need to add more slides (or make duplicates) or lower the values of slidesPerView and slidesPerGroup parameters"):b&&"row"===m.grid.fill&&g("Swiper Loop Warning: Loop mode is not compatible with grid.fill = `row`");const y=[],x=[];let E=o.activeIndex;void 0===r?r=o.getSlideIndex(d.filter((e=>e.classList.contains(m.slideActiveClass)))[0]):E=r;const S="next"===i||!i,T="prev"===i||!i;let M=0,C=0;const P=b?Math.ceil(d.length/m.grid.rows):d.length,L=(b?d[r].column:r)+(h&&void 0===a?-f/2+.5:0);if(L<w){M=Math.max(w-L,v);for(let e=0;e<w-L;e+=1){const t=e-Math.floor(e/P)*P;if(b){const e=P-t-1;for(let t=d.length-1;t>=0;t-=1)d[t].column===e&&y.push(t)}else y.push(P-t-1)}}else if(L+f>P-w){C=Math.max(L-(P-2*w),v);for(let e=0;e<C;e+=1){const t=e-Math.floor(e/P)*P;b?d.forEach(((e,s)=>{e.column===t&&x.push(s)})):x.push(t)}}if(o.__preventObserver__=!0,requestAnimationFrame((()=>{o.__preventObserver__=!1})),T&&y.forEach((e=>{d[e].swiperLoopMoveDOM=!0,u.prepend(d[e]),d[e].swiperLoopMoveDOM=!1})),S&&x.forEach((e=>{d[e].swiperLoopMoveDOM=!0,u.append(d[e]),d[e].swiperLoopMoveDOM=!1})),o.recalcSlides(),"auto"===m.slidesPerView?o.updateSlides():b&&(y.length>0&&T||x.length>0&&S)&&o.slides.forEach(((e,t)=>{o.grid.updateSlide(t,e,o.slides)})),m.watchSlidesProgress&&o.updateSlidesOffset(),s)if(y.length>0&&T){if(void 0===t){const e=o.slidesGrid[E],t=o.slidesGrid[E+M]-e;l?o.setTranslate(o.translate-t):(o.slideTo(E+Math.ceil(M),0,!1,!0),a&&(o.touchEventsData.startTranslate=o.touchEventsData.startTranslate-t,o.touchEventsData.currentTranslate=o.touchEventsData.currentTranslate-t))}else if(a){const e=b?y.length/m.grid.rows:y.length;o.slideTo(o.activeIndex+e,0,!1,!0),o.touchEventsData.currentTranslate=o.translate}}else if(x.length>0&&S)if(void 0===t){const e=o.slidesGrid[E],t=o.slidesGrid[E-C]-e;l?o.setTranslate(o.translate-t):(o.slideTo(E-C,0,!1,!0),a&&(o.touchEventsData.startTranslate=o.touchEventsData.startTranslate-t,o.touchEventsData.currentTranslate=o.touchEventsData.currentTranslate-t))}else{const e=b?x.length/m.grid.rows:x.length;o.slideTo(o.activeIndex-e,0,!1,!0)}if(o.allowSlidePrev=p,o.allowSlideNext=c,o.controller&&o.controller.control&&!n){const e={slideRealIndex:t,direction:i,setTranslate:a,activeSlideIndex:r,byController:!0};Array.isArray(o.controller.control)?o.controller.control.forEach((t=>{!t.destroyed&&t.params.loop&&t.loopFix({...e,slideTo:t.params.slidesPerView===m.slidesPerView&&s})})):o.controller.control instanceof o.constructor&&o.controller.control.params.loop&&o.controller.control.loopFix({...e,slideTo:o.controller.control.params.slidesPerView===m.slidesPerView&&s})}o.emit("loopFix")},loopDestroy:function(){const e=this,{params:t,slidesEl:s}=e;if(!t.loop||e.virtual&&e.params.virtual.enabled)return;e.recalcSlides();const i=[];e.slides.forEach((e=>{const t=void 0===e.swiperSlideIndex?1*e.getAttribute("data-swiper-slide-index"):e.swiperSlideIndex;i[t]=e})),e.slides.forEach((e=>{e.removeAttribute("data-swiper-slide-index")})),i.forEach((e=>{s.append(e)})),e.recalcSlides(),e.slideTo(e.realIndex,0)}};function R(e,t,s){const i=r(),{params:a}=e,n=a.edgeSwipeDetection,l=a.edgeSwipeThreshold;return!n||!(s<=l||s>=i.innerWidth-l)||"prevent"===n&&(t.preventDefault(),!0)}function X(e){const t=this,s=i();let a=e;a.originalEvent&&(a=a.originalEvent);const n=t.touchEventsData;if("pointerdown"===a.type){if(null!==n.pointerId&&n.pointerId!==a.pointerId)return;n.pointerId=a.pointerId}else"touchstart"===a.type&&1===a.targetTouches.length&&(n.touchId=a.targetTouches[0].identifier);if("touchstart"===a.type)return void R(t,a,a.targetTouches[0].pageX);const{params:l,touches:d,enabled:p}=t;if(!p)return;if(!l.simulateTouch&&"mouse"===a.pointerType)return;if(t.animating&&l.preventInteractionOnTransition)return;!t.animating&&l.cssMode&&l.loop&&t.loopFix();let c=a.target;if("wrapper"===l.touchEventsTarget&&!t.wrapperEl.contains(c))return;if("which"in a&&3===a.which)return;if("button"in a&&a.button>0)return;if(n.isTouched&&n.isMoved)return;const u=!!l.noSwipingClass&&""!==l.noSwipingClass,m=a.composedPath?a.composedPath():a.path;u&&a.target&&a.target.shadowRoot&&m&&(c=m[0]);const h=l.noSwipingSelector?l.noSwipingSelector:`.${l.noSwipingClass}`,f=!(!a.target||!a.target.shadowRoot);if(l.noSwiping&&(f?function(e,t){return void 0===t&&(t=this),function t(s){if(!s||s===i()||s===r())return null;s.assignedSlot&&(s=s.assignedSlot);const a=s.closest(e);return a||s.getRootNode?a||t(s.getRootNode().host):null}(t)}(h,c):c.closest(h)))return void(t.allowClick=!0);if(l.swipeHandler&&!c.closest(l.swipeHandler))return;d.currentX=a.pageX,d.currentY=a.pageY;const g=d.currentX,v=d.currentY;if(!R(t,a,g))return;Object.assign(n,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),d.startX=g,d.startY=v,n.touchStartTime=o(),t.allowClick=!0,t.updateSize(),t.swipeDirection=void 0,l.threshold>0&&(n.allowThresholdMove=!1);let w=!0;c.matches(n.focusableElements)&&(w=!1,"SELECT"===c.nodeName&&(n.isTouched=!1)),s.activeElement&&s.activeElement.matches(n.focusableElements)&&s.activeElement!==c&&s.activeElement.blur();const b=w&&t.allowTouchMove&&l.touchStartPreventDefault;!l.touchStartForcePreventDefault&&!b||c.isContentEditable||a.preventDefault(),l.freeMode&&l.freeMode.enabled&&t.freeMode&&t.animating&&!l.cssMode&&t.freeMode.onTouchStart(),t.emit("touchStart",a)}function Y(e){const t=i(),s=this,a=s.touchEventsData,{params:r,touches:n,rtlTranslate:l,enabled:d}=s;if(!d)return;if(!r.simulateTouch&&"mouse"===e.pointerType)return;let p,c=e;if(c.originalEvent&&(c=c.originalEvent),"pointermove"===c.type){if(null!==a.touchId)return;if(c.pointerId!==a.pointerId)return}if("touchmove"===c.type){if(p=[...c.changedTouches].filter((e=>e.identifier===a.touchId))[0],!p||p.identifier!==a.touchId)return}else p=c;if(!a.isTouched)return void(a.startMoving&&a.isScrolling&&s.emit("touchMoveOpposite",c));const u=p.pageX,m=p.pageY;if(c.preventedByNestedSwiper)return n.startX=u,void(n.startY=m);if(!s.allowTouchMove)return c.target.matches(a.focusableElements)||(s.allowClick=!1),void(a.isTouched&&(Object.assign(n,{startX:u,startY:m,currentX:u,currentY:m}),a.touchStartTime=o()));if(r.touchReleaseOnEdges&&!r.loop)if(s.isVertical()){if(m<n.startY&&s.translate<=s.maxTranslate()||m>n.startY&&s.translate>=s.minTranslate())return a.isTouched=!1,void(a.isMoved=!1)}else if(u<n.startX&&s.translate<=s.maxTranslate()||u>n.startX&&s.translate>=s.minTranslate())return;if(t.activeElement&&c.target===t.activeElement&&c.target.matches(a.focusableElements))return a.isMoved=!0,void(s.allowClick=!1);a.allowTouchCallbacks&&s.emit("touchMove",c),n.previousX=n.currentX,n.previousY=n.currentY,n.currentX=u,n.currentY=m;const h=n.currentX-n.startX,f=n.currentY-n.startY;if(s.params.threshold&&Math.sqrt(h**2+f**2)<s.params.threshold)return;if(void 0===a.isScrolling){let e;s.isHorizontal()&&n.currentY===n.startY||s.isVertical()&&n.currentX===n.startX?a.isScrolling=!1:h*h+f*f>=25&&(e=180*Math.atan2(Math.abs(f),Math.abs(h))/Math.PI,a.isScrolling=s.isHorizontal()?e>r.touchAngle:90-e>r.touchAngle)}if(a.isScrolling&&s.emit("touchMoveOpposite",c),void 0===a.startMoving&&(n.currentX===n.startX&&n.currentY===n.startY||(a.startMoving=!0)),a.isScrolling||"touchmove"===c.type&&a.preventTouchMoveFromPointerMove)return void(a.isTouched=!1);if(!a.startMoving)return;s.allowClick=!1,!r.cssMode&&c.cancelable&&c.preventDefault(),r.touchMoveStopPropagation&&!r.nested&&c.stopPropagation();let g=s.isHorizontal()?h:f,v=s.isHorizontal()?n.currentX-n.previousX:n.currentY-n.previousY;r.oneWayMovement&&(g=Math.abs(g)*(l?1:-1),v=Math.abs(v)*(l?1:-1)),n.diff=g,g*=r.touchRatio,l&&(g=-g,v=-v);const w=s.touchesDirection;s.swipeDirection=g>0?"prev":"next",s.touchesDirection=v>0?"prev":"next";const b=s.params.loop&&!r.cssMode,y="next"===s.touchesDirection&&s.allowSlideNext||"prev"===s.touchesDirection&&s.allowSlidePrev;if(!a.isMoved){if(b&&y&&s.loopFix({direction:s.swipeDirection}),a.startTranslate=s.getTranslate(),s.setTransition(0),s.animating){const e=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0});s.wrapperEl.dispatchEvent(e)}a.allowMomentumBounce=!1,!r.grabCursor||!0!==s.allowSlideNext&&!0!==s.allowSlidePrev||s.setGrabCursor(!0),s.emit("sliderFirstMove",c)}if((new Date).getTime(),a.isMoved&&a.allowThresholdMove&&w!==s.touchesDirection&&b&&y&&Math.abs(g)>=1)return Object.assign(n,{startX:u,startY:m,currentX:u,currentY:m,startTranslate:a.currentTranslate}),a.loopSwapReset=!0,void(a.startTranslate=a.currentTranslate);s.emit("sliderMove",c),a.isMoved=!0,a.currentTranslate=g+a.startTranslate;let x=!0,E=r.resistanceRatio;if(r.touchReleaseOnEdges&&(E=0),g>0?(b&&y&&a.allowThresholdMove&&a.currentTranslate>(r.centeredSlides?s.minTranslate()-s.slidesSizesGrid[s.activeIndex+1]:s.minTranslate())&&s.loopFix({direction:"prev",setTranslate:!0,activeSlideIndex:0}),a.currentTranslate>s.minTranslate()&&(x=!1,r.resistance&&(a.currentTranslate=s.minTranslate()-1+(-s.minTranslate()+a.startTranslate+g)**E))):g<0&&(b&&y&&a.allowThresholdMove&&a.currentTranslate<(r.centeredSlides?s.maxTranslate()+s.slidesSizesGrid[s.slidesSizesGrid.length-1]:s.maxTranslate())&&s.loopFix({direction:"next",setTranslate:!0,activeSlideIndex:s.slides.length-("auto"===r.slidesPerView?s.slidesPerViewDynamic():Math.ceil(parseFloat(r.slidesPerView,10)))}),a.currentTranslate<s.maxTranslate()&&(x=!1,r.resistance&&(a.currentTranslate=s.maxTranslate()+1-(s.maxTranslate()-a.startTranslate-g)**E))),x&&(c.preventedByNestedSwiper=!0),!s.allowSlideNext&&"next"===s.swipeDirection&&a.currentTranslate<a.startTranslate&&(a.currentTranslate=a.startTranslate),!s.allowSlidePrev&&"prev"===s.swipeDirection&&a.currentTranslate>a.startTranslate&&(a.currentTranslate=a.startTranslate),s.allowSlidePrev||s.allowSlideNext||(a.currentTranslate=a.startTranslate),r.threshold>0){if(!(Math.abs(g)>r.threshold||a.allowThresholdMove))return void(a.currentTranslate=a.startTranslate);if(!a.allowThresholdMove)return a.allowThresholdMove=!0,n.startX=n.currentX,n.startY=n.currentY,a.currentTranslate=a.startTranslate,void(n.diff=s.isHorizontal()?n.currentX-n.startX:n.currentY-n.startY)}r.followFinger&&!r.cssMode&&((r.freeMode&&r.freeMode.enabled&&s.freeMode||r.watchSlidesProgress)&&(s.updateActiveIndex(),s.updateSlidesClasses()),r.freeMode&&r.freeMode.enabled&&s.freeMode&&s.freeMode.onTouchMove(),s.updateProgress(a.currentTranslate),s.setTranslate(a.currentTranslate))}function F(e){const t=this,s=t.touchEventsData;let i,a=e;a.originalEvent&&(a=a.originalEvent);if("touchend"===a.type||"touchcancel"===a.type){if(i=[...a.changedTouches].filter((e=>e.identifier===s.touchId))[0],!i||i.identifier!==s.touchId)return}else{if(null!==s.touchId)return;if(a.pointerId!==s.pointerId)return;i=a}if(["pointercancel","pointerout","pointerleave","contextmenu"].includes(a.type)){if(!(["pointercancel","contextmenu"].includes(a.type)&&(t.browser.isSafari||t.browser.isWebView)))return}s.pointerId=null,s.touchId=null;const{params:r,touches:n,rtlTranslate:d,slidesGrid:p,enabled:c}=t;if(!c)return;if(!r.simulateTouch&&"mouse"===a.pointerType)return;if(s.allowTouchCallbacks&&t.emit("touchEnd",a),s.allowTouchCallbacks=!1,!s.isTouched)return s.isMoved&&r.grabCursor&&t.setGrabCursor(!1),s.isMoved=!1,void(s.startMoving=!1);r.grabCursor&&s.isMoved&&s.isTouched&&(!0===t.allowSlideNext||!0===t.allowSlidePrev)&&t.setGrabCursor(!1);const u=o(),m=u-s.touchStartTime;if(t.allowClick){const e=a.path||a.composedPath&&a.composedPath();t.updateClickedSlide(e&&e[0]||a.target,e),t.emit("tap click",a),m<300&&u-s.lastClickTime<300&&t.emit("doubleTap doubleClick",a)}if(s.lastClickTime=o(),l((()=>{t.destroyed||(t.allowClick=!0)})),!s.isTouched||!s.isMoved||!t.swipeDirection||0===n.diff&&!s.loopSwapReset||s.currentTranslate===s.startTranslate&&!s.loopSwapReset)return s.isTouched=!1,s.isMoved=!1,void(s.startMoving=!1);let h;if(s.isTouched=!1,s.isMoved=!1,s.startMoving=!1,h=r.followFinger?d?t.translate:-t.translate:-s.currentTranslate,r.cssMode)return;if(r.freeMode&&r.freeMode.enabled)return void t.freeMode.onTouchEnd({currentPos:h});const f=h>=-t.maxTranslate()&&!t.params.loop;let g=0,v=t.slidesSizesGrid[0];for(let e=0;e<p.length;e+=e<r.slidesPerGroupSkip?1:r.slidesPerGroup){const t=e<r.slidesPerGroupSkip-1?1:r.slidesPerGroup;void 0!==p[e+t]?(f||h>=p[e]&&h<p[e+t])&&(g=e,v=p[e+t]-p[e]):(f||h>=p[e])&&(g=e,v=p[p.length-1]-p[p.length-2])}let w=null,b=null;r.rewind&&(t.isBeginning?b=r.virtual&&r.virtual.enabled&&t.virtual?t.virtual.slides.length-1:t.slides.length-1:t.isEnd&&(w=0));const y=(h-p[g])/v,x=g<r.slidesPerGroupSkip-1?1:r.slidesPerGroup;if(m>r.longSwipesMs){if(!r.longSwipes)return void t.slideTo(t.activeIndex);"next"===t.swipeDirection&&(y>=r.longSwipesRatio?t.slideTo(r.rewind&&t.isEnd?w:g+x):t.slideTo(g)),"prev"===t.swipeDirection&&(y>1-r.longSwipesRatio?t.slideTo(g+x):null!==b&&y<0&&Math.abs(y)>r.longSwipesRatio?t.slideTo(b):t.slideTo(g))}else{if(!r.shortSwipes)return void t.slideTo(t.activeIndex);t.navigation&&(a.target===t.navigation.nextEl||a.target===t.navigation.prevEl)?a.target===t.navigation.nextEl?t.slideTo(g+x):t.slideTo(g):("next"===t.swipeDirection&&t.slideTo(null!==w?w:g+x),"prev"===t.swipeDirection&&t.slideTo(null!==b?b:g))}}function q(){const e=this,{params:t,el:s}=e;if(s&&0===s.offsetWidth)return;t.breakpoints&&e.setBreakpoint();const{allowSlideNext:i,allowSlidePrev:a,snapGrid:r}=e,n=e.virtual&&e.params.virtual.enabled;e.allowSlideNext=!0,e.allowSlidePrev=!0,e.updateSize(),e.updateSlides(),e.updateSlidesClasses();const l=n&&t.loop;!("auto"===t.slidesPerView||t.slidesPerView>1)||!e.isEnd||e.isBeginning||e.params.centeredSlides||l?e.params.loop&&!n?e.slideToLoop(e.realIndex,0,!1,!0):e.slideTo(e.activeIndex,0,!1,!0):e.slideTo(e.slides.length-1,0,!1,!0),e.autoplay&&e.autoplay.running&&e.autoplay.paused&&(clearTimeout(e.autoplay.resizeTimeout),e.autoplay.resizeTimeout=setTimeout((()=>{e.autoplay&&e.autoplay.running&&e.autoplay.paused&&e.autoplay.resume()}),500)),e.allowSlidePrev=a,e.allowSlideNext=i,e.params.watchOverflow&&r!==e.snapGrid&&e.checkOverflow()}function V(e){const t=this;t.enabled&&(t.allowClick||(t.params.preventClicks&&e.preventDefault(),t.params.preventClicksPropagation&&t.animating&&(e.stopPropagation(),e.stopImmediatePropagation())))}function j(){const e=this,{wrapperEl:t,rtlTranslate:s,enabled:i}=e;if(!i)return;let a;e.previousTranslate=e.translate,e.isHorizontal()?e.translate=-t.scrollLeft:e.translate=-t.scrollTop,0===e.translate&&(e.translate=0),e.updateActiveIndex(),e.updateSlidesClasses();const r=e.maxTranslate()-e.minTranslate();a=0===r?0:(e.translate-e.minTranslate())/r,a!==e.progress&&e.updateProgress(s?-e.translate:e.translate),e.emit("setTranslate",e.translate,!1)}function W(e){const t=this;I(t,e.target),t.params.cssMode||"auto"!==t.params.slidesPerView&&!t.params.autoHeight||t.update()}function U(){const e=this;e.documentTouchHandlerProceeded||(e.documentTouchHandlerProceeded=!0,e.params.touchReleaseOnEdges&&(e.el.style.touchAction="auto"))}const K=(e,t)=>{const s=i(),{params:a,el:r,wrapperEl:n,device:l}=e,o=!!a.nested,d="on"===t?"addEventListener":"removeEventListener",p=t;s[d]("touchstart",e.onDocumentTouchStart,{passive:!1,capture:o}),r[d]("touchstart",e.onTouchStart,{passive:!1}),r[d]("pointerdown",e.onTouchStart,{passive:!1}),s[d]("touchmove",e.onTouchMove,{passive:!1,capture:o}),s[d]("pointermove",e.onTouchMove,{passive:!1,capture:o}),s[d]("touchend",e.onTouchEnd,{passive:!0}),s[d]("pointerup",e.onTouchEnd,{passive:!0}),s[d]("pointercancel",e.onTouchEnd,{passive:!0}),s[d]("touchcancel",e.onTouchEnd,{passive:!0}),s[d]("pointerout",e.onTouchEnd,{passive:!0}),s[d]("pointerleave",e.onTouchEnd,{passive:!0}),s[d]("contextmenu",e.onTouchEnd,{passive:!0}),(a.preventClicks||a.preventClicksPropagation)&&r[d]("click",e.onClick,!0),a.cssMode&&n[d]("scroll",e.onScroll),a.updateOnWindowResize?e[p](l.ios||l.android?"resize orientationchange observerUpdate":"resize observerUpdate",q,!0):e[p]("observerUpdate",q,!0),r[d]("load",e.onLoad,{capture:!0})};const Z=(e,t)=>e.grid&&t.grid&&t.grid.rows>1;var Q={init:!0,direction:"horizontal",oneWayMovement:!1,swiperElementNodeName:"SWIPER-CONTAINER",touchEventsTarget:"wrapper",initialSlide:0,speed:300,cssMode:!1,updateOnWindowResize:!0,resizeObserver:!0,nested:!1,createElements:!1,eventsPrefix:"swiper",enabled:!0,focusableElements:"input, select, option, textarea, button, video, label",width:null,height:null,preventInteractionOnTransition:!1,userAgent:null,url:null,edgeSwipeDetection:!1,edgeSwipeThreshold:20,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",breakpoints:void 0,breakpointsBase:"window",spaceBetween:0,slidesPerView:1,slidesPerGroup:1,slidesPerGroupSkip:0,slidesPerGroupAuto:!1,centeredSlides:!1,centeredSlidesBounds:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,watchOverflow:!0,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:5,touchMoveStopPropagation:!1,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,loop:!1,loopAddBlankSlides:!0,loopAdditionalSlides:0,loopPreventsSliding:!0,rewind:!1,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:!0,maxBackfaceHiddenSlides:10,containerModifierClass:"swiper-",slideClass:"swiper-slide",slideBlankClass:"swiper-slide-blank",slideActiveClass:"swiper-slide-active",slideVisibleClass:"swiper-slide-visible",slideFullyVisibleClass:"swiper-slide-fully-visible",slideNextClass:"swiper-slide-next",slidePrevClass:"swiper-slide-prev",wrapperClass:"swiper-wrapper",lazyPreloaderClass:"swiper-lazy-preloader",lazyPreloadPrevNext:0,runCallbacksOnInit:!0,_emitClasses:!1};function J(e,t){return function(s){void 0===s&&(s={});const i=Object.keys(s)[0],a=s[i];"object"==typeof a&&null!==a?(!0===e[i]&&(e[i]={enabled:!0}),"navigation"===i&&e[i]&&e[i].enabled&&!e[i].prevEl&&!e[i].nextEl&&(e[i].auto=!0),["pagination","scrollbar"].indexOf(i)>=0&&e[i]&&e[i].enabled&&!e[i].el&&(e[i].auto=!0),i in e&&"enabled"in a?("object"!=typeof e[i]||"enabled"in e[i]||(e[i].enabled=!0),e[i]||(e[i]={enabled:!1}),c(t,s)):c(t,s)):c(t,s)}}const ee={eventsEmitter:A,update:_,translate:G,transition:{setTransition:function(e,t){const s=this;s.params.cssMode||(s.wrapperEl.style.transitionDuration=`${e}ms`,s.wrapperEl.style.transitionDelay=0===e?"0ms":""),s.emit("setTransition",e,t)},transitionStart:function(e,t){void 0===e&&(e=!0);const s=this,{params:i}=s;i.cssMode||(i.autoHeight&&s.updateAutoHeight(),N({swiper:s,runCallbacks:e,direction:t,step:"Start"}))},transitionEnd:function(e,t){void 0===e&&(e=!0);const s=this,{params:i}=s;s.animating=!1,i.cssMode||(s.setTransition(0),N({swiper:s,runCallbacks:e,direction:t,step:"End"}))}},slide:B,loop:H,grabCursor:{setGrabCursor:function(e){const t=this;if(!t.params.simulateTouch||t.params.watchOverflow&&t.isLocked||t.params.cssMode)return;const s="container"===t.params.touchEventsTarget?t.el:t.wrapperEl;t.isElement&&(t.__preventObserver__=!0),s.style.cursor="move",s.style.cursor=e?"grabbing":"grab",t.isElement&&requestAnimationFrame((()=>{t.__preventObserver__=!1}))},unsetGrabCursor:function(){const e=this;e.params.watchOverflow&&e.isLocked||e.params.cssMode||(e.isElement&&(e.__preventObserver__=!0),e["container"===e.params.touchEventsTarget?"el":"wrapperEl"].style.cursor="",e.isElement&&requestAnimationFrame((()=>{e.__preventObserver__=!1})))}},events:{attachEvents:function(){const e=this,{params:t}=e;e.onTouchStart=X.bind(e),e.onTouchMove=Y.bind(e),e.onTouchEnd=F.bind(e),e.onDocumentTouchStart=U.bind(e),t.cssMode&&(e.onScroll=j.bind(e)),e.onClick=V.bind(e),e.onLoad=W.bind(e),K(e,"on")},detachEvents:function(){K(this,"off")}},breakpoints:{setBreakpoint:function(){const e=this,{realIndex:t,initialized:s,params:i,el:a}=e,r=i.breakpoints;if(!r||r&&0===Object.keys(r).length)return;const n=e.getBreakpoint(r,e.params.breakpointsBase,e.el);if(!n||e.currentBreakpoint===n)return;const l=(n in r?r[n]:void 0)||e.originalParams,o=Z(e,i),d=Z(e,l),p=e.params.grabCursor,u=l.grabCursor,m=i.enabled;o&&!d?(a.classList.remove(`${i.containerModifierClass}grid`,`${i.containerModifierClass}grid-column`),e.emitContainerClasses()):!o&&d&&(a.classList.add(`${i.containerModifierClass}grid`),(l.grid.fill&&"column"===l.grid.fill||!l.grid.fill&&"column"===i.grid.fill)&&a.classList.add(`${i.containerModifierClass}grid-column`),e.emitContainerClasses()),p&&!u?e.unsetGrabCursor():!p&&u&&e.setGrabCursor(),["navigation","pagination","scrollbar"].forEach((t=>{if(void 0===l[t])return;const s=i[t]&&i[t].enabled,a=l[t]&&l[t].enabled;s&&!a&&e[t].disable(),!s&&a&&e[t].enable()}));const h=l.direction&&l.direction!==i.direction,f=i.loop&&(l.slidesPerView!==i.slidesPerView||h),g=i.loop;h&&s&&e.changeDirection(),c(e.params,l);const v=e.params.enabled,w=e.params.loop;Object.assign(e,{allowTouchMove:e.params.allowTouchMove,allowSlideNext:e.params.allowSlideNext,allowSlidePrev:e.params.allowSlidePrev}),m&&!v?e.disable():!m&&v&&e.enable(),e.currentBreakpoint=n,e.emit("_beforeBreakpoint",l),s&&(f?(e.loopDestroy(),e.loopCreate(t),e.updateSlides()):!g&&w?(e.loopCreate(t),e.updateSlides()):g&&!w&&e.loopDestroy()),e.emit("breakpoint",l)},getBreakpoint:function(e,t,s){if(void 0===t&&(t="window"),!e||"container"===t&&!s)return;let i=!1;const a=r(),n="window"===t?a.innerHeight:s.clientHeight,l=Object.keys(e).map((e=>{if("string"==typeof e&&0===e.indexOf("@")){const t=parseFloat(e.substr(1));return{value:n*t,point:e}}return{value:e,point:e}}));l.sort(((e,t)=>parseInt(e.value,10)-parseInt(t.value,10)));for(let e=0;e<l.length;e+=1){const{point:r,value:n}=l[e];"window"===t?a.matchMedia(`(min-width: ${n}px)`).matches&&(i=r):n<=s.clientWidth&&(i=r)}return i||"max"}},checkOverflow:{checkOverflow:function(){const e=this,{isLocked:t,params:s}=e,{slidesOffsetBefore:i}=s;if(i){const t=e.slides.length-1,s=e.slidesGrid[t]+e.slidesSizesGrid[t]+2*i;e.isLocked=e.size>s}else e.isLocked=1===e.snapGrid.length;!0===s.allowSlideNext&&(e.allowSlideNext=!e.isLocked),!0===s.allowSlidePrev&&(e.allowSlidePrev=!e.isLocked),t&&t!==e.isLocked&&(e.isEnd=!1),t!==e.isLocked&&e.emit(e.isLocked?"lock":"unlock")}},classes:{addClasses:function(){const e=this,{classNames:t,params:s,rtl:i,el:a,device:r}=e,n=function(e,t){const s=[];return e.forEach((e=>{"object"==typeof e?Object.keys(e).forEach((i=>{e[i]&&s.push(t+i)})):"string"==typeof e&&s.push(t+e)})),s}(["initialized",s.direction,{"free-mode":e.params.freeMode&&s.freeMode.enabled},{autoheight:s.autoHeight},{rtl:i},{grid:s.grid&&s.grid.rows>1},{"grid-column":s.grid&&s.grid.rows>1&&"column"===s.grid.fill},{android:r.android},{ios:r.ios},{"css-mode":s.cssMode},{centered:s.cssMode&&s.centeredSlides},{"watch-progress":s.watchSlidesProgress}],s.containerModifierClass);t.push(...n),a.classList.add(...t),e.emitContainerClasses()},removeClasses:function(){const{el:e,classNames:t}=this;e.classList.remove(...t),this.emitContainerClasses()}}},te={};class se{constructor(){let e,t;for(var s=arguments.length,a=new Array(s),r=0;r<s;r++)a[r]=arguments[r];1===a.length&&a[0].constructor&&"Object"===Object.prototype.toString.call(a[0]).slice(8,-1)?t=a[0]:[e,t]=a,t||(t={}),t=c({},t),e&&!t.el&&(t.el=e);const n=i();if(t.el&&"string"==typeof t.el&&n.querySelectorAll(t.el).length>1){const e=[];return n.querySelectorAll(t.el).forEach((s=>{const i=c({},t,{el:s});e.push(new se(i))})),e}const l=this;l.__swiper__=!0,l.support=L(),l.device=z({userAgent:t.userAgent}),l.browser=k(),l.eventsListeners={},l.eventsAnyListeners=[],l.modules=[...l.__modules__],t.modules&&Array.isArray(t.modules)&&l.modules.push(...t.modules);const o={};l.modules.forEach((e=>{e({params:t,swiper:l,extendParams:J(t,o),on:l.on.bind(l),once:l.once.bind(l),off:l.off.bind(l),emit:l.emit.bind(l)})}));const d=c({},Q,o);return l.params=c({},d,te,t),l.originalParams=c({},l.params),l.passedParams=c({},t),l.params&&l.params.on&&Object.keys(l.params.on).forEach((e=>{l.on(e,l.params.on[e])})),l.params&&l.params.onAny&&l.onAny(l.params.onAny),Object.assign(l,{enabled:l.params.enabled,el:e,classNames:[],slides:[],slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal:()=>"horizontal"===l.params.direction,isVertical:()=>"vertical"===l.params.direction,activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,cssOverflowAdjustment(){return Math.trunc(this.translate/2**23)*2**23},allowSlideNext:l.params.allowSlideNext,allowSlidePrev:l.params.allowSlidePrev,touchEventsData:{isTouched:void 0,isMoved:void 0,allowTouchCallbacks:void 0,touchStartTime:void 0,isScrolling:void 0,currentTranslate:void 0,startTranslate:void 0,allowThresholdMove:void 0,focusableElements:l.params.focusableElements,lastClickTime:0,clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,startMoving:void 0,pointerId:null,touchId:null},allowClick:!0,allowTouchMove:l.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),l.emit("_swiper"),l.params.init&&l.init(),l}getDirectionLabel(e){return this.isHorizontal()?e:{width:"height","margin-top":"margin-left","margin-bottom ":"margin-right","margin-left":"margin-top","margin-right":"margin-bottom","padding-left":"padding-top","padding-right":"padding-bottom",marginRight:"marginBottom"}[e]}getSlideIndex(e){const{slidesEl:t,params:s}=this,i=y(f(t,`.${s.slideClass}, swiper-slide`)[0]);return y(e)-i}getSlideIndexByData(e){return this.getSlideIndex(this.slides.filter((t=>1*t.getAttribute("data-swiper-slide-index")===e))[0])}recalcSlides(){const{slidesEl:e,params:t}=this;this.slides=f(e,`.${t.slideClass}, swiper-slide`)}enable(){const e=this;e.enabled||(e.enabled=!0,e.params.grabCursor&&e.setGrabCursor(),e.emit("enable"))}disable(){const e=this;e.enabled&&(e.enabled=!1,e.params.grabCursor&&e.unsetGrabCursor(),e.emit("disable"))}setProgress(e,t){const s=this;e=Math.min(Math.max(e,0),1);const i=s.minTranslate(),a=(s.maxTranslate()-i)*e+i;s.translateTo(a,void 0===t?0:t),s.updateActiveIndex(),s.updateSlidesClasses()}emitContainerClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=e.el.className.split(" ").filter((t=>0===t.indexOf("swiper")||0===t.indexOf(e.params.containerModifierClass)));e.emit("_containerClasses",t.join(" "))}getSlideClasses(e){const t=this;return t.destroyed?"":e.className.split(" ").filter((e=>0===e.indexOf("swiper-slide")||0===e.indexOf(t.params.slideClass))).join(" ")}emitSlidesClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=[];e.slides.forEach((s=>{const i=e.getSlideClasses(s);t.push({slideEl:s,classNames:i}),e.emit("_slideClass",s,i)})),e.emit("_slideClasses",t)}slidesPerViewDynamic(e,t){void 0===e&&(e="current"),void 0===t&&(t=!1);const{params:s,slides:i,slidesGrid:a,slidesSizesGrid:r,size:n,activeIndex:l}=this;let o=1;if("number"==typeof s.slidesPerView)return s.slidesPerView;if(s.centeredSlides){let e,t=i[l]?Math.ceil(i[l].swiperSlideSize):0;for(let s=l+1;s<i.length;s+=1)i[s]&&!e&&(t+=Math.ceil(i[s].swiperSlideSize),o+=1,t>n&&(e=!0));for(let s=l-1;s>=0;s-=1)i[s]&&!e&&(t+=i[s].swiperSlideSize,o+=1,t>n&&(e=!0))}else if("current"===e)for(let e=l+1;e<i.length;e+=1){(t?a[e]+r[e]-a[l]<n:a[e]-a[l]<n)&&(o+=1)}else for(let e=l-1;e>=0;e-=1){a[l]-a[e]<n&&(o+=1)}return o}update(){const e=this;if(!e||e.destroyed)return;const{snapGrid:t,params:s}=e;function i(){const t=e.rtlTranslate?-1*e.translate:e.translate,s=Math.min(Math.max(t,e.maxTranslate()),e.minTranslate());e.setTranslate(s),e.updateActiveIndex(),e.updateSlidesClasses()}let a;if(s.breakpoints&&e.setBreakpoint(),[...e.el.querySelectorAll('[loading="lazy"]')].forEach((t=>{t.complete&&I(e,t)})),e.updateSize(),e.updateSlides(),e.updateProgress(),e.updateSlidesClasses(),s.freeMode&&s.freeMode.enabled&&!s.cssMode)i(),s.autoHeight&&e.updateAutoHeight();else{if(("auto"===s.slidesPerView||s.slidesPerView>1)&&e.isEnd&&!s.centeredSlides){const t=e.virtual&&s.virtual.enabled?e.virtual.slides:e.slides;a=e.slideTo(t.length-1,0,!1,!0)}else a=e.slideTo(e.activeIndex,0,!1,!0);a||i()}s.watchOverflow&&t!==e.snapGrid&&e.checkOverflow(),e.emit("update")}changeDirection(e,t){void 0===t&&(t=!0);const s=this,i=s.params.direction;return e||(e="horizontal"===i?"vertical":"horizontal"),e===i||"horizontal"!==e&&"vertical"!==e||(s.el.classList.remove(`${s.params.containerModifierClass}${i}`),s.el.classList.add(`${s.params.containerModifierClass}${e}`),s.emitContainerClasses(),s.params.direction=e,s.slides.forEach((t=>{"vertical"===e?t.style.width="":t.style.height=""})),s.emit("changeDirection"),t&&s.update()),s}changeLanguageDirection(e){const t=this;t.rtl&&"rtl"===e||!t.rtl&&"ltr"===e||(t.rtl="rtl"===e,t.rtlTranslate="horizontal"===t.params.direction&&t.rtl,t.rtl?(t.el.classList.add(`${t.params.containerModifierClass}rtl`),t.el.dir="rtl"):(t.el.classList.remove(`${t.params.containerModifierClass}rtl`),t.el.dir="ltr"),t.update())}mount(e){const t=this;if(t.mounted)return!0;let s=e||t.params.el;if("string"==typeof s&&(s=document.querySelector(s)),!s)return!1;s.swiper=t,s.parentNode&&s.parentNode.host&&s.parentNode.host.nodeName===t.params.swiperElementNodeName.toUpperCase()&&(t.isElement=!0);const i=()=>`.${(t.params.wrapperClass||"").trim().split(" ").join(".")}`;let a=(()=>{if(s&&s.shadowRoot&&s.shadowRoot.querySelector){return s.shadowRoot.querySelector(i())}return f(s,i())[0]})();return!a&&t.params.createElements&&(a=v("div",t.params.wrapperClass),s.append(a),f(s,`.${t.params.slideClass}`).forEach((e=>{a.append(e)}))),Object.assign(t,{el:s,wrapperEl:a,slidesEl:t.isElement&&!s.parentNode.host.slideSlots?s.parentNode.host:a,hostEl:t.isElement?s.parentNode.host:s,mounted:!0,rtl:"rtl"===s.dir.toLowerCase()||"rtl"===b(s,"direction"),rtlTranslate:"horizontal"===t.params.direction&&("rtl"===s.dir.toLowerCase()||"rtl"===b(s,"direction")),wrongRTL:"-webkit-box"===b(a,"display")}),!0}init(e){const t=this;if(t.initialized)return t;if(!1===t.mount(e))return t;t.emit("beforeInit"),t.params.breakpoints&&t.setBreakpoint(),t.addClasses(),t.updateSize(),t.updateSlides(),t.params.watchOverflow&&t.checkOverflow(),t.params.grabCursor&&t.enabled&&t.setGrabCursor(),t.params.loop&&t.virtual&&t.params.virtual.enabled?t.slideTo(t.params.initialSlide+t.virtual.slidesBefore,0,t.params.runCallbacksOnInit,!1,!0):t.slideTo(t.params.initialSlide,0,t.params.runCallbacksOnInit,!1,!0),t.params.loop&&t.loopCreate(),t.attachEvents();const s=[...t.el.querySelectorAll('[loading="lazy"]')];return t.isElement&&s.push(...t.hostEl.querySelectorAll('[loading="lazy"]')),s.forEach((e=>{e.complete?I(t,e):e.addEventListener("load",(e=>{I(t,e.target)}))})),D(t),t.initialized=!0,D(t),t.emit("init"),t.emit("afterInit"),t}destroy(e,t){void 0===e&&(e=!0),void 0===t&&(t=!0);const s=this,{params:i,el:a,wrapperEl:r,slides:n}=s;return void 0===s.params||s.destroyed||(s.emit("beforeDestroy"),s.initialized=!1,s.detachEvents(),i.loop&&s.loopDestroy(),t&&(s.removeClasses(),a.removeAttribute("style"),r.removeAttribute("style"),n&&n.length&&n.forEach((e=>{e.classList.remove(i.slideVisibleClass,i.slideFullyVisibleClass,i.slideActiveClass,i.slideNextClass,i.slidePrevClass),e.removeAttribute("style"),e.removeAttribute("data-swiper-slide-index")}))),s.emit("destroy"),Object.keys(s.eventsListeners).forEach((e=>{s.off(e)})),!1!==e&&(s.el.swiper=null,function(e){const t=e;Object.keys(t).forEach((e=>{try{t[e]=null}catch(e){}try{delete t[e]}catch(e){}}))}(s)),s.destroyed=!0),null}static extendDefaults(e){c(te,e)}static get extendedDefaults(){return te}static get defaults(){return Q}static installModule(e){se.prototype.__modules__||(se.prototype.__modules__=[]);const t=se.prototype.__modules__;"function"==typeof e&&t.indexOf(e)<0&&t.push(e)}static use(e){return Array.isArray(e)?(e.forEach((e=>se.installModule(e))),se):(se.installModule(e),se)}}function ie(e,t,s,i){return e.params.createElements&&Object.keys(i).forEach((a=>{if(!s[a]&&!0===s.auto){let r=f(e.el,`.${i[a]}`)[0];r||(r=v("div",i[a]),r.className=i[a],e.el.append(r)),s[a]=r,t[a]=r}})),s}function ae(e){return void 0===e&&(e=""),`.${e.trim().replace(/([\.:!+\/])/g,"\\$1").replace(/ /g,".")}`}function re(e){const t=this,{params:s,slidesEl:i}=t;s.loop&&t.loopDestroy();const a=e=>{if("string"==typeof e){const t=document.createElement("div");t.innerHTML=e,i.append(t.children[0]),t.innerHTML=""}else i.append(e)};if("object"==typeof e&&"length"in e)for(let t=0;t<e.length;t+=1)e[t]&&a(e[t]);else a(e);t.recalcSlides(),s.loop&&t.loopCreate(),s.observer&&!t.isElement||t.update()}function ne(e){const t=this,{params:s,activeIndex:i,slidesEl:a}=t;s.loop&&t.loopDestroy();let r=i+1;const n=e=>{if("string"==typeof e){const t=document.createElement("div");t.innerHTML=e,a.prepend(t.children[0]),t.innerHTML=""}else a.prepend(e)};if("object"==typeof e&&"length"in e){for(let t=0;t<e.length;t+=1)e[t]&&n(e[t]);r=i+e.length}else n(e);t.recalcSlides(),s.loop&&t.loopCreate(),s.observer&&!t.isElement||t.update(),t.slideTo(r,0,!1)}function le(e,t){const s=this,{params:i,activeIndex:a,slidesEl:r}=s;let n=a;i.loop&&(n-=s.loopedSlides,s.loopDestroy(),s.recalcSlides());const l=s.slides.length;if(e<=0)return void s.prependSlide(t);if(e>=l)return void s.appendSlide(t);let o=n>e?n+1:n;const d=[];for(let t=l-1;t>=e;t-=1){const e=s.slides[t];e.remove(),d.unshift(e)}if("object"==typeof t&&"length"in t){for(let e=0;e<t.length;e+=1)t[e]&&r.append(t[e]);o=n>e?n+t.length:n}else r.append(t);for(let e=0;e<d.length;e+=1)r.append(d[e]);s.recalcSlides(),i.loop&&s.loopCreate(),i.observer&&!s.isElement||s.update(),i.loop?s.slideTo(o+s.loopedSlides,0,!1):s.slideTo(o,0,!1)}function oe(e){const t=this,{params:s,activeIndex:i}=t;let a=i;s.loop&&(a-=t.loopedSlides,t.loopDestroy());let r,n=a;if("object"==typeof e&&"length"in e){for(let s=0;s<e.length;s+=1)r=e[s],t.slides[r]&&t.slides[r].remove(),r<n&&(n-=1);n=Math.max(n,0)}else r=e,t.slides[r]&&t.slides[r].remove(),r<n&&(n-=1),n=Math.max(n,0);t.recalcSlides(),s.loop&&t.loopCreate(),s.observer&&!t.isElement||t.update(),s.loop?t.slideTo(n+t.loopedSlides,0,!1):t.slideTo(n,0,!1)}function de(){const e=this,t=[];for(let s=0;s<e.slides.length;s+=1)t.push(s);e.removeSlide(t)}function pe(e){const{effect:t,swiper:s,on:i,setTranslate:a,setTransition:r,overwriteParams:n,perspective:l,recreateShadows:o,getEffectParams:d}=e;let p;i("beforeInit",(()=>{if(s.params.effect!==t)return;s.classNames.push(`${s.params.containerModifierClass}${t}`),l&&l()&&s.classNames.push(`${s.params.containerModifierClass}3d`);const e=n?n():{};Object.assign(s.params,e),Object.assign(s.originalParams,e)})),i("setTranslate",(()=>{s.params.effect===t&&a()})),i("setTransition",((e,i)=>{s.params.effect===t&&r(i)})),i("transitionEnd",(()=>{if(s.params.effect===t&&o){if(!d||!d().slideShadows)return;s.slides.forEach((e=>{e.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((e=>e.remove()))})),o()}})),i("virtualUpdate",(()=>{s.params.effect===t&&(s.slides.length||(p=!0),requestAnimationFrame((()=>{p&&s.slides&&s.slides.length&&(a(),p=!1)})))}))}function ce(e,t){const s=h(t);return s!==t&&(s.style.backfaceVisibility="hidden",s.style["-webkit-backface-visibility"]="hidden"),s}function ue(e){let{swiper:t,duration:s,transformElements:i,allSlides:a}=e;const{activeIndex:r}=t;if(t.params.virtualTranslate&&0!==s){let e,s=!1;e=a?i:i.filter((e=>{const s=e.classList.contains("swiper-slide-transform")?(e=>{if(!e.parentElement)return t.slides.filter((t=>t.shadowRoot&&t.shadowRoot===e.parentNode))[0];return e.parentElement})(e):e;return t.getSlideIndex(s)===r})),e.forEach((e=>{E(e,(()=>{if(s)return;if(!t||t.destroyed)return;s=!0,t.animating=!1;const e=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0});t.wrapperEl.dispatchEvent(e)}))}))}}function me(e,t,s){const i=`swiper-slide-shadow${s?`-${s}`:""}${e?` swiper-slide-shadow-${e}`:""}`,a=h(t);let r=a.querySelector(`.${i.split(" ").join(".")}`);return r||(r=v("div",i.split(" ")),a.append(r)),r}Object.keys(ee).forEach((e=>{Object.keys(ee[e]).forEach((t=>{se.prototype[t]=ee[e][t]}))})),se.use([function(e){let{swiper:t,on:s,emit:i}=e;const a=r();let n=null,l=null;const o=()=>{t&&!t.destroyed&&t.initialized&&(i("beforeResize"),i("resize"))},d=()=>{t&&!t.destroyed&&t.initialized&&i("orientationchange")};s("init",(()=>{t.params.resizeObserver&&void 0!==a.ResizeObserver?t&&!t.destroyed&&t.initialized&&(n=new ResizeObserver((e=>{l=a.requestAnimationFrame((()=>{const{width:s,height:i}=t;let a=s,r=i;e.forEach((e=>{let{contentBoxSize:s,contentRect:i,target:n}=e;n&&n!==t.el||(a=i?i.width:(s[0]||s).inlineSize,r=i?i.height:(s[0]||s).blockSize)})),a===s&&r===i||o()}))})),n.observe(t.el)):(a.addEventListener("resize",o),a.addEventListener("orientationchange",d))})),s("destroy",(()=>{l&&a.cancelAnimationFrame(l),n&&n.unobserve&&t.el&&(n.unobserve(t.el),n=null),a.removeEventListener("resize",o),a.removeEventListener("orientationchange",d)}))},function(e){let{swiper:t,extendParams:s,on:i,emit:a}=e;const n=[],l=r(),o=function(e,s){void 0===s&&(s={});const i=new(l.MutationObserver||l.WebkitMutationObserver)((e=>{if(t.__preventObserver__)return;if(1===e.length)return void a("observerUpdate",e[0]);const s=function(){a("observerUpdate",e[0])};l.requestAnimationFrame?l.requestAnimationFrame(s):l.setTimeout(s,0)}));i.observe(e,{attributes:void 0===s.attributes||s.attributes,childList:void 0===s.childList||s.childList,characterData:void 0===s.characterData||s.characterData}),n.push(i)};s({observer:!1,observeParents:!1,observeSlideChildren:!1}),i("init",(()=>{if(t.params.observer){if(t.params.observeParents){const e=x(t.hostEl);for(let t=0;t<e.length;t+=1)o(e[t])}o(t.hostEl,{childList:t.params.observeSlideChildren}),o(t.wrapperEl,{attributes:!1})}})),i("destroy",(()=>{n.forEach((e=>{e.disconnect()})),n.splice(0,n.length)}))}]);const he=[function(e){let t,{swiper:s,extendParams:a,on:r,emit:n}=e;a({virtual:{enabled:!1,slides:[],cache:!0,renderSlide:null,renderExternal:null,renderExternalUpdate:!0,addSlidesBefore:0,addSlidesAfter:0}});const l=i();s.virtual={cache:{},from:void 0,to:void 0,slides:[],offset:0,slidesGrid:[]};const o=l.createElement("div");function d(e,t){const i=s.params.virtual;if(i.cache&&s.virtual.cache[t])return s.virtual.cache[t];let a;return i.renderSlide?(a=i.renderSlide.call(s,e,t),"string"==typeof a&&(o.innerHTML=a,a=o.children[0])):a=s.isElement?v("swiper-slide"):v("div",s.params.slideClass),a.setAttribute("data-swiper-slide-index",t),i.renderSlide||(a.innerHTML=e),i.cache&&(s.virtual.cache[t]=a),a}function p(e,t){const{slidesPerView:i,slidesPerGroup:a,centeredSlides:r,loop:l,initialSlide:o}=s.params;if(t&&!l&&o>0)return;const{addSlidesBefore:p,addSlidesAfter:c}=s.params.virtual,{from:u,to:m,slides:h,slidesGrid:g,offset:v}=s.virtual;s.params.cssMode||s.updateActiveIndex();const w=s.activeIndex||0;let b,y,x;b=s.rtlTranslate?"right":s.isHorizontal()?"left":"top",r?(y=Math.floor(i/2)+a+c,x=Math.floor(i/2)+a+p):(y=i+(a-1)+c,x=(l?i:a)+p);let E=w-x,S=w+y;l||(E=Math.max(E,0),S=Math.min(S,h.length-1));let T=(s.slidesGrid[E]||0)-(s.slidesGrid[0]||0);function M(){s.updateSlides(),s.updateProgress(),s.updateSlidesClasses(),n("virtualUpdate")}if(l&&w>=x?(E-=x,r||(T+=s.slidesGrid[0])):l&&w<x&&(E=-x,r&&(T+=s.slidesGrid[0])),Object.assign(s.virtual,{from:E,to:S,offset:T,slidesGrid:s.slidesGrid,slidesBefore:x,slidesAfter:y}),u===E&&m===S&&!e)return s.slidesGrid!==g&&T!==v&&s.slides.forEach((e=>{e.style[b]=T-Math.abs(s.cssOverflowAdjustment())+"px"})),s.updateProgress(),void n("virtualUpdate");if(s.params.virtual.renderExternal)return s.params.virtual.renderExternal.call(s,{offset:T,from:E,to:S,slides:function(){const e=[];for(let t=E;t<=S;t+=1)e.push(h[t]);return e}()}),void(s.params.virtual.renderExternalUpdate?M():n("virtualUpdate"));const C=[],P=[],L=e=>{let t=e;return e<0?t=h.length+e:t>=h.length&&(t-=h.length),t};if(e)s.slides.filter((e=>e.matches(`.${s.params.slideClass}, swiper-slide`))).forEach((e=>{e.remove()}));else for(let e=u;e<=m;e+=1)if(e<E||e>S){const t=L(e);s.slides.filter((e=>e.matches(`.${s.params.slideClass}[data-swiper-slide-index="${t}"], swiper-slide[data-swiper-slide-index="${t}"]`))).forEach((e=>{e.remove()}))}const z=l?-h.length:0,k=l?2*h.length:h.length;for(let t=z;t<k;t+=1)if(t>=E&&t<=S){const s=L(t);void 0===m||e?P.push(s):(t>m&&P.push(s),t<u&&C.push(s))}if(P.forEach((e=>{s.slidesEl.append(d(h[e],e))})),l)for(let e=C.length-1;e>=0;e-=1){const t=C[e];s.slidesEl.prepend(d(h[t],t))}else C.sort(((e,t)=>t-e)),C.forEach((e=>{s.slidesEl.prepend(d(h[e],e))}));f(s.slidesEl,".swiper-slide, swiper-slide").forEach((e=>{e.style[b]=T-Math.abs(s.cssOverflowAdjustment())+"px"})),M()}r("beforeInit",(()=>{if(!s.params.virtual.enabled)return;let e;if(void 0===s.passedParams.virtual.slides){const t=[...s.slidesEl.children].filter((e=>e.matches(`.${s.params.slideClass}, swiper-slide`)));t&&t.length&&(s.virtual.slides=[...t],e=!0,t.forEach(((e,t)=>{e.setAttribute("data-swiper-slide-index",t),s.virtual.cache[t]=e,e.remove()})))}e||(s.virtual.slides=s.params.virtual.slides),s.classNames.push(`${s.params.containerModifierClass}virtual`),s.params.watchSlidesProgress=!0,s.originalParams.watchSlidesProgress=!0,p(!1,!0)})),r("setTranslate",(()=>{s.params.virtual.enabled&&(s.params.cssMode&&!s._immediateVirtual?(clearTimeout(t),t=setTimeout((()=>{p()}),100)):p())})),r("init update resize",(()=>{s.params.virtual.enabled&&s.params.cssMode&&u(s.wrapperEl,"--swiper-virtual-size",`${s.virtualSize}px`)})),Object.assign(s.virtual,{appendSlide:function(e){if("object"==typeof e&&"length"in e)for(let t=0;t<e.length;t+=1)e[t]&&s.virtual.slides.push(e[t]);else s.virtual.slides.push(e);p(!0)},prependSlide:function(e){const t=s.activeIndex;let i=t+1,a=1;if(Array.isArray(e)){for(let t=0;t<e.length;t+=1)e[t]&&s.virtual.slides.unshift(e[t]);i=t+e.length,a=e.length}else s.virtual.slides.unshift(e);if(s.params.virtual.cache){const e=s.virtual.cache,t={};Object.keys(e).forEach((s=>{const i=e[s],r=i.getAttribute("data-swiper-slide-index");r&&i.setAttribute("data-swiper-slide-index",parseInt(r,10)+a),t[parseInt(s,10)+a]=i})),s.virtual.cache=t}p(!0),s.slideTo(i,0)},removeSlide:function(e){if(null==e)return;let t=s.activeIndex;if(Array.isArray(e))for(let i=e.length-1;i>=0;i-=1)s.params.virtual.cache&&(delete s.virtual.cache[e[i]],Object.keys(s.virtual.cache).forEach((t=>{t>e&&(s.virtual.cache[t-1]=s.virtual.cache[t],s.virtual.cache[t-1].setAttribute("data-swiper-slide-index",t-1),delete s.virtual.cache[t])}))),s.virtual.slides.splice(e[i],1),e[i]<t&&(t-=1),t=Math.max(t,0);else s.params.virtual.cache&&(delete s.virtual.cache[e],Object.keys(s.virtual.cache).forEach((t=>{t>e&&(s.virtual.cache[t-1]=s.virtual.cache[t],s.virtual.cache[t-1].setAttribute("data-swiper-slide-index",t-1),delete s.virtual.cache[t])}))),s.virtual.slides.splice(e,1),e<t&&(t-=1),t=Math.max(t,0);p(!0),s.slideTo(t,0)},removeAllSlides:function(){s.virtual.slides=[],s.params.virtual.cache&&(s.virtual.cache={}),p(!0),s.slideTo(0,0)},update:p})},function(e){let{swiper:t,extendParams:s,on:a,emit:n}=e;const l=i(),o=r();function d(e){if(!t.enabled)return;const{rtlTranslate:s}=t;let i=e;i.originalEvent&&(i=i.originalEvent);const a=i.keyCode||i.charCode,r=t.params.keyboard.pageUpDown,d=r&&33===a,p=r&&34===a,c=37===a,u=39===a,m=38===a,h=40===a;if(!t.allowSlideNext&&(t.isHorizontal()&&u||t.isVertical()&&h||p))return!1;if(!t.allowSlidePrev&&(t.isHorizontal()&&c||t.isVertical()&&m||d))return!1;if(!(i.shiftKey||i.altKey||i.ctrlKey||i.metaKey||l.activeElement&&l.activeElement.nodeName&&("input"===l.activeElement.nodeName.toLowerCase()||"textarea"===l.activeElement.nodeName.toLowerCase()))){if(t.params.keyboard.onlyInViewport&&(d||p||c||u||m||h)){let e=!1;if(x(t.el,`.${t.params.slideClass}, swiper-slide`).length>0&&0===x(t.el,`.${t.params.slideActiveClass}`).length)return;const i=t.el,a=i.clientWidth,r=i.clientHeight,n=o.innerWidth,l=o.innerHeight,d=w(i);s&&(d.left-=i.scrollLeft);const p=[[d.left,d.top],[d.left+a,d.top],[d.left,d.top+r],[d.left+a,d.top+r]];for(let t=0;t<p.length;t+=1){const s=p[t];if(s[0]>=0&&s[0]<=n&&s[1]>=0&&s[1]<=l){if(0===s[0]&&0===s[1])continue;e=!0}}if(!e)return}t.isHorizontal()?((d||p||c||u)&&(i.preventDefault?i.preventDefault():i.returnValue=!1),((p||u)&&!s||(d||c)&&s)&&t.slideNext(),((d||c)&&!s||(p||u)&&s)&&t.slidePrev()):((d||p||m||h)&&(i.preventDefault?i.preventDefault():i.returnValue=!1),(p||h)&&t.slideNext(),(d||m)&&t.slidePrev()),n("keyPress",a)}}function p(){t.keyboard.enabled||(l.addEventListener("keydown",d),t.keyboard.enabled=!0)}function c(){t.keyboard.enabled&&(l.removeEventListener("keydown",d),t.keyboard.enabled=!1)}t.keyboard={enabled:!1},s({keyboard:{enabled:!1,onlyInViewport:!0,pageUpDown:!0}}),a("init",(()=>{t.params.keyboard.enabled&&p()})),a("destroy",(()=>{t.keyboard.enabled&&c()})),Object.assign(t.keyboard,{enable:p,disable:c})},function(e){let{swiper:t,extendParams:s,on:i,emit:a}=e;const n=r();let d;s({mousewheel:{enabled:!1,releaseOnEdges:!1,invert:!1,forceToAxis:!1,sensitivity:1,eventsTarget:"container",thresholdDelta:null,thresholdTime:null,noMousewheelClass:"swiper-no-mousewheel"}}),t.mousewheel={enabled:!1};let p,c=o();const u=[];function m(){t.enabled&&(t.mouseEntered=!0)}function h(){t.enabled&&(t.mouseEntered=!1)}function f(e){return!(t.params.mousewheel.thresholdDelta&&e.delta<t.params.mousewheel.thresholdDelta)&&(!(t.params.mousewheel.thresholdTime&&o()-c<t.params.mousewheel.thresholdTime)&&(e.delta>=6&&o()-c<60||(e.direction<0?t.isEnd&&!t.params.loop||t.animating||(t.slideNext(),a("scroll",e.raw)):t.isBeginning&&!t.params.loop||t.animating||(t.slidePrev(),a("scroll",e.raw)),c=(new n.Date).getTime(),!1)))}function g(e){let s=e,i=!0;if(!t.enabled)return;if(e.target.closest(`.${t.params.mousewheel.noMousewheelClass}`))return;const r=t.params.mousewheel;t.params.cssMode&&s.preventDefault();let n=t.el;"container"!==t.params.mousewheel.eventsTarget&&(n=document.querySelector(t.params.mousewheel.eventsTarget));const c=n&&n.contains(s.target);if(!t.mouseEntered&&!c&&!r.releaseOnEdges)return!0;s.originalEvent&&(s=s.originalEvent);let m=0;const h=t.rtlTranslate?-1:1,g=function(e){let t=0,s=0,i=0,a=0;return"detail"in e&&(s=e.detail),"wheelDelta"in e&&(s=-e.wheelDelta/120),"wheelDeltaY"in e&&(s=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=s,s=0),i=10*t,a=10*s,"deltaY"in e&&(a=e.deltaY),"deltaX"in e&&(i=e.deltaX),e.shiftKey&&!i&&(i=a,a=0),(i||a)&&e.deltaMode&&(1===e.deltaMode?(i*=40,a*=40):(i*=800,a*=800)),i&&!t&&(t=i<1?-1:1),a&&!s&&(s=a<1?-1:1),{spinX:t,spinY:s,pixelX:i,pixelY:a}}(s);if(r.forceToAxis)if(t.isHorizontal()){if(!(Math.abs(g.pixelX)>Math.abs(g.pixelY)))return!0;m=-g.pixelX*h}else{if(!(Math.abs(g.pixelY)>Math.abs(g.pixelX)))return!0;m=-g.pixelY}else m=Math.abs(g.pixelX)>Math.abs(g.pixelY)?-g.pixelX*h:-g.pixelY;if(0===m)return!0;r.invert&&(m=-m);let v=t.getTranslate()+m*r.sensitivity;if(v>=t.minTranslate()&&(v=t.minTranslate()),v<=t.maxTranslate()&&(v=t.maxTranslate()),i=!!t.params.loop||!(v===t.minTranslate()||v===t.maxTranslate()),i&&t.params.nested&&s.stopPropagation(),t.params.freeMode&&t.params.freeMode.enabled){const e={time:o(),delta:Math.abs(m),direction:Math.sign(m)},i=p&&e.time<p.time+500&&e.delta<=p.delta&&e.direction===p.direction;if(!i){p=void 0;let n=t.getTranslate()+m*r.sensitivity;const o=t.isBeginning,c=t.isEnd;if(n>=t.minTranslate()&&(n=t.minTranslate()),n<=t.maxTranslate()&&(n=t.maxTranslate()),t.setTransition(0),t.setTranslate(n),t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses(),(!o&&t.isBeginning||!c&&t.isEnd)&&t.updateSlidesClasses(),t.params.loop&&t.loopFix({direction:e.direction<0?"next":"prev",byMousewheel:!0}),t.params.freeMode.sticky){clearTimeout(d),d=void 0,u.length>=15&&u.shift();const s=u.length?u[u.length-1]:void 0,i=u[0];if(u.push(e),s&&(e.delta>s.delta||e.direction!==s.direction))u.splice(0);else if(u.length>=15&&e.time-i.time<500&&i.delta-e.delta>=1&&e.delta<=6){const s=m>0?.8:.2;p=e,u.splice(0),d=l((()=>{t.slideToClosest(t.params.speed,!0,void 0,s)}),0)}d||(d=l((()=>{p=e,u.splice(0),t.slideToClosest(t.params.speed,!0,void 0,.5)}),500))}if(i||a("scroll",s),t.params.autoplay&&t.params.autoplayDisableOnInteraction&&t.autoplay.stop(),r.releaseOnEdges&&(n===t.minTranslate()||n===t.maxTranslate()))return!0}}else{const s={time:o(),delta:Math.abs(m),direction:Math.sign(m),raw:e};u.length>=2&&u.shift();const i=u.length?u[u.length-1]:void 0;if(u.push(s),i?(s.direction!==i.direction||s.delta>i.delta||s.time>i.time+150)&&f(s):f(s),function(e){const s=t.params.mousewheel;if(e.direction<0){if(t.isEnd&&!t.params.loop&&s.releaseOnEdges)return!0}else if(t.isBeginning&&!t.params.loop&&s.releaseOnEdges)return!0;return!1}(s))return!0}return s.preventDefault?s.preventDefault():s.returnValue=!1,!1}function v(e){let s=t.el;"container"!==t.params.mousewheel.eventsTarget&&(s=document.querySelector(t.params.mousewheel.eventsTarget)),s[e]("mouseenter",m),s[e]("mouseleave",h),s[e]("wheel",g)}function w(){return t.params.cssMode?(t.wrapperEl.removeEventListener("wheel",g),!0):!t.mousewheel.enabled&&(v("addEventListener"),t.mousewheel.enabled=!0,!0)}function b(){return t.params.cssMode?(t.wrapperEl.addEventListener(event,g),!0):!!t.mousewheel.enabled&&(v("removeEventListener"),t.mousewheel.enabled=!1,!0)}i("init",(()=>{!t.params.mousewheel.enabled&&t.params.cssMode&&b(),t.params.mousewheel.enabled&&w()})),i("destroy",(()=>{t.params.cssMode&&w(),t.mousewheel.enabled&&b()})),Object.assign(t.mousewheel,{enable:w,disable:b})},function(e){let{swiper:t,extendParams:s,on:i,emit:a}=e;function r(e){let s;return e&&"string"==typeof e&&t.isElement&&(s=t.el.querySelector(e),s)?s:(e&&("string"==typeof e&&(s=[...document.querySelectorAll(e)]),t.params.uniqueNavElements&&"string"==typeof e&&s&&s.length>1&&1===t.el.querySelectorAll(e).length?s=t.el.querySelector(e):s&&1===s.length&&(s=s[0])),e&&!s?e:s)}function n(e,s){const i=t.params.navigation;(e=T(e)).forEach((e=>{e&&(e.classList[s?"add":"remove"](...i.disabledClass.split(" ")),"BUTTON"===e.tagName&&(e.disabled=s),t.params.watchOverflow&&t.enabled&&e.classList[t.isLocked?"add":"remove"](i.lockClass))}))}function l(){const{nextEl:e,prevEl:s}=t.navigation;if(t.params.loop)return n(s,!1),void n(e,!1);n(s,t.isBeginning&&!t.params.rewind),n(e,t.isEnd&&!t.params.rewind)}function o(e){e.preventDefault(),(!t.isBeginning||t.params.loop||t.params.rewind)&&(t.slidePrev(),a("navigationPrev"))}function d(e){e.preventDefault(),(!t.isEnd||t.params.loop||t.params.rewind)&&(t.slideNext(),a("navigationNext"))}function p(){const e=t.params.navigation;if(t.params.navigation=ie(t,t.originalParams.navigation,t.params.navigation,{nextEl:"swiper-button-next",prevEl:"swiper-button-prev"}),!e.nextEl&&!e.prevEl)return;let s=r(e.nextEl),i=r(e.prevEl);Object.assign(t.navigation,{nextEl:s,prevEl:i}),s=T(s),i=T(i);const a=(s,i)=>{s&&s.addEventListener("click","next"===i?d:o),!t.enabled&&s&&s.classList.add(...e.lockClass.split(" "))};s.forEach((e=>a(e,"next"))),i.forEach((e=>a(e,"prev")))}function c(){let{nextEl:e,prevEl:s}=t.navigation;e=T(e),s=T(s);const i=(e,s)=>{e.removeEventListener("click","next"===s?d:o),e.classList.remove(...t.params.navigation.disabledClass.split(" "))};e.forEach((e=>i(e,"next"))),s.forEach((e=>i(e,"prev")))}s({navigation:{nextEl:null,prevEl:null,hideOnClick:!1,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock",navigationDisabledClass:"swiper-navigation-disabled"}}),t.navigation={nextEl:null,prevEl:null},i("init",(()=>{!1===t.params.navigation.enabled?u():(p(),l())})),i("toEdge fromEdge lock unlock",(()=>{l()})),i("destroy",(()=>{c()})),i("enable disable",(()=>{let{nextEl:e,prevEl:s}=t.navigation;e=T(e),s=T(s),t.enabled?l():[...e,...s].filter((e=>!!e)).forEach((e=>e.classList.add(t.params.navigation.lockClass)))})),i("click",((e,s)=>{let{nextEl:i,prevEl:r}=t.navigation;i=T(i),r=T(r);const n=s.target;if(t.params.navigation.hideOnClick&&!r.includes(n)&&!i.includes(n)){if(t.pagination&&t.params.pagination&&t.params.pagination.clickable&&(t.pagination.el===n||t.pagination.el.contains(n)))return;let e;i.length?e=i[0].classList.contains(t.params.navigation.hiddenClass):r.length&&(e=r[0].classList.contains(t.params.navigation.hiddenClass)),a(!0===e?"navigationShow":"navigationHide"),[...i,...r].filter((e=>!!e)).forEach((e=>e.classList.toggle(t.params.navigation.hiddenClass)))}}));const u=()=>{t.el.classList.add(...t.params.navigation.navigationDisabledClass.split(" ")),c()};Object.assign(t.navigation,{enable:()=>{t.el.classList.remove(...t.params.navigation.navigationDisabledClass.split(" ")),p(),l()},disable:u,update:l,init:p,destroy:c})},function(e){let{swiper:t,extendParams:s,on:i,emit:a}=e;const r="swiper-pagination";let n;s({pagination:{el:null,bulletElement:"span",clickable:!1,hideOnClick:!1,renderBullet:null,renderProgressbar:null,renderFraction:null,renderCustom:null,progressbarOpposite:!1,type:"bullets",dynamicBullets:!1,dynamicMainBullets:1,formatFractionCurrent:e=>e,formatFractionTotal:e=>e,bulletClass:`${r}-bullet`,bulletActiveClass:`${r}-bullet-active`,modifierClass:`${r}-`,currentClass:`${r}-current`,totalClass:`${r}-total`,hiddenClass:`${r}-hidden`,progressbarFillClass:`${r}-progressbar-fill`,progressbarOppositeClass:`${r}-progressbar-opposite`,clickableClass:`${r}-clickable`,lockClass:`${r}-lock`,horizontalClass:`${r}-horizontal`,verticalClass:`${r}-vertical`,paginationDisabledClass:`${r}-disabled`}}),t.pagination={el:null,bullets:[]};let l=0;function o(){return!t.params.pagination.el||!t.pagination.el||Array.isArray(t.pagination.el)&&0===t.pagination.el.length}function d(e,s){const{bulletActiveClass:i}=t.params.pagination;e&&(e=e[("prev"===s?"previous":"next")+"ElementSibling"])&&(e.classList.add(`${i}-${s}`),(e=e[("prev"===s?"previous":"next")+"ElementSibling"])&&e.classList.add(`${i}-${s}-${s}`))}function p(e){const s=e.target.closest(ae(t.params.pagination.bulletClass));if(!s)return;e.preventDefault();const i=y(s)*t.params.slidesPerGroup;if(t.params.loop){if(t.realIndex===i)return;t.slideToLoop(i)}else t.slideTo(i)}function c(){const e=t.rtl,s=t.params.pagination;if(o())return;let i,r,p=t.pagination.el;p=T(p);const c=t.virtual&&t.params.virtual.enabled?t.virtual.slides.length:t.slides.length,u=t.params.loop?Math.ceil(c/t.params.slidesPerGroup):t.snapGrid.length;if(t.params.loop?(r=t.previousRealIndex||0,i=t.params.slidesPerGroup>1?Math.floor(t.realIndex/t.params.slidesPerGroup):t.realIndex):void 0!==t.snapIndex?(i=t.snapIndex,r=t.previousSnapIndex):(r=t.previousIndex||0,i=t.activeIndex||0),"bullets"===s.type&&t.pagination.bullets&&t.pagination.bullets.length>0){const a=t.pagination.bullets;let o,c,u;if(s.dynamicBullets&&(n=S(a[0],t.isHorizontal()?"width":"height",!0),p.forEach((e=>{e.style[t.isHorizontal()?"width":"height"]=n*(s.dynamicMainBullets+4)+"px"})),s.dynamicMainBullets>1&&void 0!==r&&(l+=i-(r||0),l>s.dynamicMainBullets-1?l=s.dynamicMainBullets-1:l<0&&(l=0)),o=Math.max(i-l,0),c=o+(Math.min(a.length,s.dynamicMainBullets)-1),u=(c+o)/2),a.forEach((e=>{const t=[...["","-next","-next-next","-prev","-prev-prev","-main"].map((e=>`${s.bulletActiveClass}${e}`))].map((e=>"string"==typeof e&&e.includes(" ")?e.split(" "):e)).flat();e.classList.remove(...t)})),p.length>1)a.forEach((e=>{const a=y(e);a===i?e.classList.add(...s.bulletActiveClass.split(" ")):t.isElement&&e.setAttribute("part","bullet"),s.dynamicBullets&&(a>=o&&a<=c&&e.classList.add(...`${s.bulletActiveClass}-main`.split(" ")),a===o&&d(e,"prev"),a===c&&d(e,"next"))}));else{const e=a[i];if(e&&e.classList.add(...s.bulletActiveClass.split(" ")),t.isElement&&a.forEach(((e,t)=>{e.setAttribute("part",t===i?"bullet-active":"bullet")})),s.dynamicBullets){const e=a[o],t=a[c];for(let e=o;e<=c;e+=1)a[e]&&a[e].classList.add(...`${s.bulletActiveClass}-main`.split(" "));d(e,"prev"),d(t,"next")}}if(s.dynamicBullets){const i=Math.min(a.length,s.dynamicMainBullets+4),r=(n*i-n)/2-u*n,l=e?"right":"left";a.forEach((e=>{e.style[t.isHorizontal()?l:"top"]=`${r}px`}))}}p.forEach(((e,r)=>{if("fraction"===s.type&&(e.querySelectorAll(ae(s.currentClass)).forEach((e=>{e.textContent=s.formatFractionCurrent(i+1)})),e.querySelectorAll(ae(s.totalClass)).forEach((e=>{e.textContent=s.formatFractionTotal(u)}))),"progressbar"===s.type){let a;a=s.progressbarOpposite?t.isHorizontal()?"vertical":"horizontal":t.isHorizontal()?"horizontal":"vertical";const r=(i+1)/u;let n=1,l=1;"horizontal"===a?n=r:l=r,e.querySelectorAll(ae(s.progressbarFillClass)).forEach((e=>{e.style.transform=`translate3d(0,0,0) scaleX(${n}) scaleY(${l})`,e.style.transitionDuration=`${t.params.speed}ms`}))}"custom"===s.type&&s.renderCustom?(e.innerHTML=s.renderCustom(t,i+1,u),0===r&&a("paginationRender",e)):(0===r&&a("paginationRender",e),a("paginationUpdate",e)),t.params.watchOverflow&&t.enabled&&e.classList[t.isLocked?"add":"remove"](s.lockClass)}))}function u(){const e=t.params.pagination;if(o())return;const s=t.virtual&&t.params.virtual.enabled?t.virtual.slides.length:t.grid&&t.params.grid.rows>1?t.slides.length/Math.ceil(t.params.grid.rows):t.slides.length;let i=t.pagination.el;i=T(i);let r="";if("bullets"===e.type){let i=t.params.loop?Math.ceil(s/t.params.slidesPerGroup):t.snapGrid.length;t.params.freeMode&&t.params.freeMode.enabled&&i>s&&(i=s);for(let s=0;s<i;s+=1)e.renderBullet?r+=e.renderBullet.call(t,s,e.bulletClass):r+=`<${e.bulletElement} ${t.isElement?'part="bullet"':""} class="${e.bulletClass}"></${e.bulletElement}>`}"fraction"===e.type&&(r=e.renderFraction?e.renderFraction.call(t,e.currentClass,e.totalClass):`<span class="${e.currentClass}"></span> / <span class="${e.totalClass}"></span>`),"progressbar"===e.type&&(r=e.renderProgressbar?e.renderProgressbar.call(t,e.progressbarFillClass):`<span class="${e.progressbarFillClass}"></span>`),t.pagination.bullets=[],i.forEach((s=>{"custom"!==e.type&&(s.innerHTML=r||""),"bullets"===e.type&&t.pagination.bullets.push(...s.querySelectorAll(ae(e.bulletClass)))})),"custom"!==e.type&&a("paginationRender",i[0])}function m(){t.params.pagination=ie(t,t.originalParams.pagination,t.params.pagination,{el:"swiper-pagination"});const e=t.params.pagination;if(!e.el)return;let s;"string"==typeof e.el&&t.isElement&&(s=t.el.querySelector(e.el)),s||"string"!=typeof e.el||(s=[...document.querySelectorAll(e.el)]),s||(s=e.el),s&&0!==s.length&&(t.params.uniqueNavElements&&"string"==typeof e.el&&Array.isArray(s)&&s.length>1&&(s=[...t.el.querySelectorAll(e.el)],s.length>1&&(s=s.filter((e=>x(e,".swiper")[0]===t.el))[0])),Array.isArray(s)&&1===s.length&&(s=s[0]),Object.assign(t.pagination,{el:s}),s=T(s),s.forEach((s=>{"bullets"===e.type&&e.clickable&&s.classList.add(...(e.clickableClass||"").split(" ")),s.classList.add(e.modifierClass+e.type),s.classList.add(t.isHorizontal()?e.horizontalClass:e.verticalClass),"bullets"===e.type&&e.dynamicBullets&&(s.classList.add(`${e.modifierClass}${e.type}-dynamic`),l=0,e.dynamicMainBullets<1&&(e.dynamicMainBullets=1)),"progressbar"===e.type&&e.progressbarOpposite&&s.classList.add(e.progressbarOppositeClass),e.clickable&&s.addEventListener("click",p),t.enabled||s.classList.add(e.lockClass)})))}function h(){const e=t.params.pagination;if(o())return;let s=t.pagination.el;s&&(s=T(s),s.forEach((s=>{s.classList.remove(e.hiddenClass),s.classList.remove(e.modifierClass+e.type),s.classList.remove(t.isHorizontal()?e.horizontalClass:e.verticalClass),e.clickable&&(s.classList.remove(...(e.clickableClass||"").split(" ")),s.removeEventListener("click",p))}))),t.pagination.bullets&&t.pagination.bullets.forEach((t=>t.classList.remove(...e.bulletActiveClass.split(" "))))}i("changeDirection",(()=>{if(!t.pagination||!t.pagination.el)return;const e=t.params.pagination;let{el:s}=t.pagination;s=T(s),s.forEach((s=>{s.classList.remove(e.horizontalClass,e.verticalClass),s.classList.add(t.isHorizontal()?e.horizontalClass:e.verticalClass)}))})),i("init",(()=>{!1===t.params.pagination.enabled?f():(m(),u(),c())})),i("activeIndexChange",(()=>{void 0===t.snapIndex&&c()})),i("snapIndexChange",(()=>{c()})),i("snapGridLengthChange",(()=>{u(),c()})),i("destroy",(()=>{h()})),i("enable disable",(()=>{let{el:e}=t.pagination;e&&(e=T(e),e.forEach((e=>e.classList[t.enabled?"remove":"add"](t.params.pagination.lockClass))))})),i("lock unlock",(()=>{c()})),i("click",((e,s)=>{const i=s.target,r=T(t.pagination.el);if(t.params.pagination.el&&t.params.pagination.hideOnClick&&r&&r.length>0&&!i.classList.contains(t.params.pagination.bulletClass)){if(t.navigation&&(t.navigation.nextEl&&i===t.navigation.nextEl||t.navigation.prevEl&&i===t.navigation.prevEl))return;const e=r[0].classList.contains(t.params.pagination.hiddenClass);a(!0===e?"paginationShow":"paginationHide"),r.forEach((e=>e.classList.toggle(t.params.pagination.hiddenClass)))}}));const f=()=>{t.el.classList.add(t.params.pagination.paginationDisabledClass);let{el:e}=t.pagination;e&&(e=T(e),e.forEach((e=>e.classList.add(t.params.pagination.paginationDisabledClass)))),h()};Object.assign(t.pagination,{enable:()=>{t.el.classList.remove(t.params.pagination.paginationDisabledClass);let{el:e}=t.pagination;e&&(e=T(e),e.forEach((e=>e.classList.remove(t.params.pagination.paginationDisabledClass)))),m(),u(),c()},disable:f,render:u,update:c,init:m,destroy:h})},function(e){let{swiper:t,extendParams:s,on:a,emit:r}=e;const o=i();let d,p,c,u,m=!1,h=null,f=null;function g(){if(!t.params.scrollbar.el||!t.scrollbar.el)return;const{scrollbar:e,rtlTranslate:s}=t,{dragEl:i,el:a}=e,r=t.params.scrollbar,n=t.params.loop?t.progressLoop:t.progress;let l=p,o=(c-p)*n;s?(o=-o,o>0?(l=p-o,o=0):-o+p>c&&(l=c+o)):o<0?(l=p+o,o=0):o+p>c&&(l=c-o),t.isHorizontal()?(i.style.transform=`translate3d(${o}px, 0, 0)`,i.style.width=`${l}px`):(i.style.transform=`translate3d(0px, ${o}px, 0)`,i.style.height=`${l}px`),r.hide&&(clearTimeout(h),a.style.opacity=1,h=setTimeout((()=>{a.style.opacity=0,a.style.transitionDuration="400ms"}),1e3))}function b(){if(!t.params.scrollbar.el||!t.scrollbar.el)return;const{scrollbar:e}=t,{dragEl:s,el:i}=e;s.style.width="",s.style.height="",c=t.isHorizontal()?i.offsetWidth:i.offsetHeight,u=t.size/(t.virtualSize+t.params.slidesOffsetBefore-(t.params.centeredSlides?t.snapGrid[0]:0)),p="auto"===t.params.scrollbar.dragSize?c*u:parseInt(t.params.scrollbar.dragSize,10),t.isHorizontal()?s.style.width=`${p}px`:s.style.height=`${p}px`,i.style.display=u>=1?"none":"",t.params.scrollbar.hide&&(i.style.opacity=0),t.params.watchOverflow&&t.enabled&&e.el.classList[t.isLocked?"add":"remove"](t.params.scrollbar.lockClass)}function y(e){return t.isHorizontal()?e.clientX:e.clientY}function x(e){const{scrollbar:s,rtlTranslate:i}=t,{el:a}=s;let r;r=(y(e)-w(a)[t.isHorizontal()?"left":"top"]-(null!==d?d:p/2))/(c-p),r=Math.max(Math.min(r,1),0),i&&(r=1-r);const n=t.minTranslate()+(t.maxTranslate()-t.minTranslate())*r;t.updateProgress(n),t.setTranslate(n),t.updateActiveIndex(),t.updateSlidesClasses()}function E(e){const s=t.params.scrollbar,{scrollbar:i,wrapperEl:a}=t,{el:n,dragEl:l}=i;m=!0,d=e.target===l?y(e)-e.target.getBoundingClientRect()[t.isHorizontal()?"left":"top"]:null,e.preventDefault(),e.stopPropagation(),a.style.transitionDuration="100ms",l.style.transitionDuration="100ms",x(e),clearTimeout(f),n.style.transitionDuration="0ms",s.hide&&(n.style.opacity=1),t.params.cssMode&&(t.wrapperEl.style["scroll-snap-type"]="none"),r("scrollbarDragStart",e)}function S(e){const{scrollbar:s,wrapperEl:i}=t,{el:a,dragEl:n}=s;m&&(e.preventDefault&&e.cancelable?e.preventDefault():e.returnValue=!1,x(e),i.style.transitionDuration="0ms",a.style.transitionDuration="0ms",n.style.transitionDuration="0ms",r("scrollbarDragMove",e))}function M(e){const s=t.params.scrollbar,{scrollbar:i,wrapperEl:a}=t,{el:n}=i;m&&(m=!1,t.params.cssMode&&(t.wrapperEl.style["scroll-snap-type"]="",a.style.transitionDuration=""),s.hide&&(clearTimeout(f),f=l((()=>{n.style.opacity=0,n.style.transitionDuration="400ms"}),1e3)),r("scrollbarDragEnd",e),s.snapOnRelease&&t.slideToClosest())}function C(e){const{scrollbar:s,params:i}=t,a=s.el;if(!a)return;const r=a,n=!!i.passiveListeners&&{passive:!1,capture:!1},l=!!i.passiveListeners&&{passive:!0,capture:!1};if(!r)return;const d="on"===e?"addEventListener":"removeEventListener";r[d]("pointerdown",E,n),o[d]("pointermove",S,n),o[d]("pointerup",M,l)}function P(){const{scrollbar:e,el:s}=t;t.params.scrollbar=ie(t,t.originalParams.scrollbar,t.params.scrollbar,{el:"swiper-scrollbar"});const i=t.params.scrollbar;if(!i.el)return;let a,r;if("string"==typeof i.el&&t.isElement&&(a=t.el.querySelector(i.el)),a||"string"!=typeof i.el)a||(a=i.el);else if(a=o.querySelectorAll(i.el),!a.length)return;t.params.uniqueNavElements&&"string"==typeof i.el&&a.length>1&&1===s.querySelectorAll(i.el).length&&(a=s.querySelector(i.el)),a.length>0&&(a=a[0]),a.classList.add(t.isHorizontal()?i.horizontalClass:i.verticalClass),a&&(r=a.querySelector(ae(t.params.scrollbar.dragClass)),r||(r=v("div",t.params.scrollbar.dragClass),a.append(r))),Object.assign(e,{el:a,dragEl:r}),i.draggable&&t.params.scrollbar.el&&t.scrollbar.el&&C("on"),a&&a.classList[t.enabled?"remove":"add"](...n(t.params.scrollbar.lockClass))}function L(){const e=t.params.scrollbar,s=t.scrollbar.el;s&&s.classList.remove(...n(t.isHorizontal()?e.horizontalClass:e.verticalClass)),t.params.scrollbar.el&&t.scrollbar.el&&C("off")}s({scrollbar:{el:null,dragSize:"auto",hide:!1,draggable:!1,snapOnRelease:!0,lockClass:"swiper-scrollbar-lock",dragClass:"swiper-scrollbar-drag",scrollbarDisabledClass:"swiper-scrollbar-disabled",horizontalClass:"swiper-scrollbar-horizontal",verticalClass:"swiper-scrollbar-vertical"}}),t.scrollbar={el:null,dragEl:null},a("changeDirection",(()=>{if(!t.scrollbar||!t.scrollbar.el)return;const e=t.params.scrollbar;let{el:s}=t.scrollbar;s=T(s),s.forEach((s=>{s.classList.remove(e.horizontalClass,e.verticalClass),s.classList.add(t.isHorizontal()?e.horizontalClass:e.verticalClass)}))})),a("init",(()=>{!1===t.params.scrollbar.enabled?z():(P(),b(),g())})),a("update resize observerUpdate lock unlock changeDirection",(()=>{b()})),a("setTranslate",(()=>{g()})),a("setTransition",((e,s)=>{!function(e){t.params.scrollbar.el&&t.scrollbar.el&&(t.scrollbar.dragEl.style.transitionDuration=`${e}ms`)}(s)})),a("enable disable",(()=>{const{el:e}=t.scrollbar;e&&e.classList[t.enabled?"remove":"add"](...n(t.params.scrollbar.lockClass))})),a("destroy",(()=>{L()}));const z=()=>{t.el.classList.add(...n(t.params.scrollbar.scrollbarDisabledClass)),t.scrollbar.el&&t.scrollbar.el.classList.add(...n(t.params.scrollbar.scrollbarDisabledClass)),L()};Object.assign(t.scrollbar,{enable:()=>{t.el.classList.remove(...n(t.params.scrollbar.scrollbarDisabledClass)),t.scrollbar.el&&t.scrollbar.el.classList.remove(...n(t.params.scrollbar.scrollbarDisabledClass)),P(),b(),g()},disable:z,updateSize:b,setTranslate:g,init:P,destroy:L})},function(e){let{swiper:t,extendParams:s,on:i}=e;s({parallax:{enabled:!1}});const a="[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]",r=(e,s)=>{const{rtl:i}=t,a=i?-1:1,r=e.getAttribute("data-swiper-parallax")||"0";let n=e.getAttribute("data-swiper-parallax-x"),l=e.getAttribute("data-swiper-parallax-y");const o=e.getAttribute("data-swiper-parallax-scale"),d=e.getAttribute("data-swiper-parallax-opacity"),p=e.getAttribute("data-swiper-parallax-rotate");if(n||l?(n=n||"0",l=l||"0"):t.isHorizontal()?(n=r,l="0"):(l=r,n="0"),n=n.indexOf("%")>=0?parseInt(n,10)*s*a+"%":n*s*a+"px",l=l.indexOf("%")>=0?parseInt(l,10)*s+"%":l*s+"px",null!=d){const t=d-(d-1)*(1-Math.abs(s));e.style.opacity=t}let c=`translate3d(${n}, ${l}, 0px)`;if(null!=o){c+=` scale(${o-(o-1)*(1-Math.abs(s))})`}if(p&&null!=p){c+=` rotate(${p*s*-1}deg)`}e.style.transform=c},n=()=>{const{el:e,slides:s,progress:i,snapGrid:n,isElement:l}=t,o=f(e,a);t.isElement&&o.push(...f(t.hostEl,a)),o.forEach((e=>{r(e,i)})),s.forEach(((e,s)=>{let l=e.progress;t.params.slidesPerGroup>1&&"auto"!==t.params.slidesPerView&&(l+=Math.ceil(s/2)-i*(n.length-1)),l=Math.min(Math.max(l,-1),1),e.querySelectorAll(`${a}, [data-swiper-parallax-rotate]`).forEach((e=>{r(e,l)}))}))};i("beforeInit",(()=>{t.params.parallax.enabled&&(t.params.watchSlidesProgress=!0,t.originalParams.watchSlidesProgress=!0)})),i("init",(()=>{t.params.parallax.enabled&&n()})),i("setTranslate",(()=>{t.params.parallax.enabled&&n()})),i("setTransition",((e,s)=>{t.params.parallax.enabled&&function(e){void 0===e&&(e=t.params.speed);const{el:s,hostEl:i}=t,r=[...s.querySelectorAll(a)];t.isElement&&r.push(...i.querySelectorAll(a)),r.forEach((t=>{let s=parseInt(t.getAttribute("data-swiper-parallax-duration"),10)||e;0===e&&(s=0),t.style.transitionDuration=`${s}ms`}))}(s)}))},function(e){let{swiper:t,extendParams:s,on:i,emit:a}=e;const n=r();s({zoom:{enabled:!1,limitToOriginalSize:!1,maxRatio:3,minRatio:1,toggle:!0,containerClass:"swiper-zoom-container",zoomedSlideClass:"swiper-slide-zoomed"}}),t.zoom={enabled:!1};let l,o,p=1,c=!1;const u=[],m={originX:0,originY:0,slideEl:void 0,slideWidth:void 0,slideHeight:void 0,imageEl:void 0,imageWrapEl:void 0,maxRatio:3},h={isTouched:void 0,isMoved:void 0,currentX:void 0,currentY:void 0,minX:void 0,minY:void 0,maxX:void 0,maxY:void 0,width:void 0,height:void 0,startX:void 0,startY:void 0,touchesStart:{},touchesCurrent:{}},g={x:void 0,y:void 0,prevPositionX:void 0,prevPositionY:void 0,prevTime:void 0};let v,b=1;function y(){if(u.length<2)return 1;const e=u[0].pageX,t=u[0].pageY,s=u[1].pageX,i=u[1].pageY;return Math.sqrt((s-e)**2+(i-t)**2)}function E(){const e=t.params.zoom,s=m.imageWrapEl.getAttribute("data-swiper-zoom")||e.maxRatio;if(e.limitToOriginalSize&&m.imageEl&&m.imageEl.naturalWidth){const e=m.imageEl.naturalWidth/m.imageEl.offsetWidth;return Math.min(e,s)}return s}function S(e){const s=t.isElement?"swiper-slide":`.${t.params.slideClass}`;return!!e.target.matches(s)||t.slides.filter((t=>t.contains(e.target))).length>0}function T(e){if("mouse"===e.pointerType&&u.splice(0,u.length),!S(e))return;const s=t.params.zoom;if(l=!1,o=!1,u.push(e),!(u.length<2)){if(l=!0,m.scaleStart=y(),!m.slideEl){m.slideEl=e.target.closest(`.${t.params.slideClass}, swiper-slide`),m.slideEl||(m.slideEl=t.slides[t.activeIndex]);let i=m.slideEl.querySelector(`.${s.containerClass}`);if(i&&(i=i.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]),m.imageEl=i,m.imageWrapEl=i?x(m.imageEl,`.${s.containerClass}`)[0]:void 0,!m.imageWrapEl)return void(m.imageEl=void 0);m.maxRatio=E()}if(m.imageEl){const[e,t]=function(){if(u.length<2)return{x:null,y:null};const e=m.imageEl.getBoundingClientRect();return[(u[0].pageX+(u[1].pageX-u[0].pageX)/2-e.x-n.scrollX)/p,(u[0].pageY+(u[1].pageY-u[0].pageY)/2-e.y-n.scrollY)/p]}();m.originX=e,m.originY=t,m.imageEl.style.transitionDuration="0ms"}c=!0}}function M(e){if(!S(e))return;const s=t.params.zoom,i=t.zoom,a=u.findIndex((t=>t.pointerId===e.pointerId));a>=0&&(u[a]=e),u.length<2||(o=!0,m.scaleMove=y(),m.imageEl&&(i.scale=m.scaleMove/m.scaleStart*p,i.scale>m.maxRatio&&(i.scale=m.maxRatio-1+(i.scale-m.maxRatio+1)**.5),i.scale<s.minRatio&&(i.scale=s.minRatio+1-(s.minRatio-i.scale+1)**.5),m.imageEl.style.transform=`translate3d(0,0,0) scale(${i.scale})`))}function C(e){if(!S(e))return;if("mouse"===e.pointerType&&"pointerout"===e.type)return;const s=t.params.zoom,i=t.zoom,a=u.findIndex((t=>t.pointerId===e.pointerId));a>=0&&u.splice(a,1),l&&o&&(l=!1,o=!1,m.imageEl&&(i.scale=Math.max(Math.min(i.scale,m.maxRatio),s.minRatio),m.imageEl.style.transitionDuration=`${t.params.speed}ms`,m.imageEl.style.transform=`translate3d(0,0,0) scale(${i.scale})`,p=i.scale,c=!1,i.scale>1&&m.slideEl?m.slideEl.classList.add(`${s.zoomedSlideClass}`):i.scale<=1&&m.slideEl&&m.slideEl.classList.remove(`${s.zoomedSlideClass}`),1===i.scale&&(m.originX=0,m.originY=0,m.slideEl=void 0)))}function P(){t.touchEventsData.preventTouchMoveFromPointerMove=!1}function L(e){if(!S(e)||!function(e){const s=`.${t.params.zoom.containerClass}`;return!!e.target.matches(s)||[...t.hostEl.querySelectorAll(s)].filter((t=>t.contains(e.target))).length>0}(e))return;const s=t.zoom;if(!m.imageEl)return;if(!h.isTouched||!m.slideEl)return;h.isMoved||(h.width=m.imageEl.offsetWidth||m.imageEl.clientWidth,h.height=m.imageEl.offsetHeight||m.imageEl.clientHeight,h.startX=d(m.imageWrapEl,"x")||0,h.startY=d(m.imageWrapEl,"y")||0,m.slideWidth=m.slideEl.offsetWidth,m.slideHeight=m.slideEl.offsetHeight,m.imageWrapEl.style.transitionDuration="0ms");const i=h.width*s.scale,a=h.height*s.scale;if(i<m.slideWidth&&a<m.slideHeight)return void P();h.minX=Math.min(m.slideWidth/2-i/2,0),h.maxX=-h.minX,h.minY=Math.min(m.slideHeight/2-a/2,0),h.maxY=-h.minY,h.touchesCurrent.x=u.length>0?u[0].pageX:e.pageX,h.touchesCurrent.y=u.length>0?u[0].pageY:e.pageY;if(Math.max(Math.abs(h.touchesCurrent.x-h.touchesStart.x),Math.abs(h.touchesCurrent.y-h.touchesStart.y))>5&&(t.allowClick=!1),!h.isMoved&&!c){if(t.isHorizontal()&&(Math.floor(h.minX)===Math.floor(h.startX)&&h.touchesCurrent.x<h.touchesStart.x||Math.floor(h.maxX)===Math.floor(h.startX)&&h.touchesCurrent.x>h.touchesStart.x))return h.isTouched=!1,void P();if(!t.isHorizontal()&&(Math.floor(h.minY)===Math.floor(h.startY)&&h.touchesCurrent.y<h.touchesStart.y||Math.floor(h.maxY)===Math.floor(h.startY)&&h.touchesCurrent.y>h.touchesStart.y))return h.isTouched=!1,void P()}e.cancelable&&e.preventDefault(),e.stopPropagation(),clearTimeout(v),t.touchEventsData.preventTouchMoveFromPointerMove=!0,v=setTimeout((()=>{P()})),h.isMoved=!0;const r=(s.scale-p)/(m.maxRatio-t.params.zoom.minRatio),{originX:n,originY:l}=m;h.currentX=h.touchesCurrent.x-h.touchesStart.x+h.startX+r*(h.width-2*n),h.currentY=h.touchesCurrent.y-h.touchesStart.y+h.startY+r*(h.height-2*l),h.currentX<h.minX&&(h.currentX=h.minX+1-(h.minX-h.currentX+1)**.8),h.currentX>h.maxX&&(h.currentX=h.maxX-1+(h.currentX-h.maxX+1)**.8),h.currentY<h.minY&&(h.currentY=h.minY+1-(h.minY-h.currentY+1)**.8),h.currentY>h.maxY&&(h.currentY=h.maxY-1+(h.currentY-h.maxY+1)**.8),g.prevPositionX||(g.prevPositionX=h.touchesCurrent.x),g.prevPositionY||(g.prevPositionY=h.touchesCurrent.y),g.prevTime||(g.prevTime=Date.now()),g.x=(h.touchesCurrent.x-g.prevPositionX)/(Date.now()-g.prevTime)/2,g.y=(h.touchesCurrent.y-g.prevPositionY)/(Date.now()-g.prevTime)/2,Math.abs(h.touchesCurrent.x-g.prevPositionX)<2&&(g.x=0),Math.abs(h.touchesCurrent.y-g.prevPositionY)<2&&(g.y=0),g.prevPositionX=h.touchesCurrent.x,g.prevPositionY=h.touchesCurrent.y,g.prevTime=Date.now(),m.imageWrapEl.style.transform=`translate3d(${h.currentX}px, ${h.currentY}px,0)`}function z(){const e=t.zoom;m.slideEl&&t.activeIndex!==t.slides.indexOf(m.slideEl)&&(m.imageEl&&(m.imageEl.style.transform="translate3d(0,0,0) scale(1)"),m.imageWrapEl&&(m.imageWrapEl.style.transform="translate3d(0,0,0)"),m.slideEl.classList.remove(`${t.params.zoom.zoomedSlideClass}`),e.scale=1,p=1,m.slideEl=void 0,m.imageEl=void 0,m.imageWrapEl=void 0,m.originX=0,m.originY=0)}function k(e){const s=t.zoom,i=t.params.zoom;if(!m.slideEl){e&&e.target&&(m.slideEl=e.target.closest(`.${t.params.slideClass}, swiper-slide`)),m.slideEl||(t.params.virtual&&t.params.virtual.enabled&&t.virtual?m.slideEl=f(t.slidesEl,`.${t.params.slideActiveClass}`)[0]:m.slideEl=t.slides[t.activeIndex]);let s=m.slideEl.querySelector(`.${i.containerClass}`);s&&(s=s.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]),m.imageEl=s,m.imageWrapEl=s?x(m.imageEl,`.${i.containerClass}`)[0]:void 0}if(!m.imageEl||!m.imageWrapEl)return;let a,r,l,o,d,c,u,g,v,b,y,S,T,M,C,P,L,z;t.params.cssMode&&(t.wrapperEl.style.overflow="hidden",t.wrapperEl.style.touchAction="none"),m.slideEl.classList.add(`${i.zoomedSlideClass}`),void 0===h.touchesStart.x&&e?(a=e.pageX,r=e.pageY):(a=h.touchesStart.x,r=h.touchesStart.y);const k="number"==typeof e?e:null;1===p&&k&&(a=void 0,r=void 0);const A=E();s.scale=k||A,p=k||A,!e||1===p&&k?(u=0,g=0):(L=m.slideEl.offsetWidth,z=m.slideEl.offsetHeight,l=w(m.slideEl).left+n.scrollX,o=w(m.slideEl).top+n.scrollY,d=l+L/2-a,c=o+z/2-r,v=m.imageEl.offsetWidth||m.imageEl.clientWidth,b=m.imageEl.offsetHeight||m.imageEl.clientHeight,y=v*s.scale,S=b*s.scale,T=Math.min(L/2-y/2,0),M=Math.min(z/2-S/2,0),C=-T,P=-M,u=d*s.scale,g=c*s.scale,u<T&&(u=T),u>C&&(u=C),g<M&&(g=M),g>P&&(g=P)),k&&1===s.scale&&(m.originX=0,m.originY=0),m.imageWrapEl.style.transitionDuration="300ms",m.imageWrapEl.style.transform=`translate3d(${u}px, ${g}px,0)`,m.imageEl.style.transitionDuration="300ms",m.imageEl.style.transform=`translate3d(0,0,0) scale(${s.scale})`}function A(){const e=t.zoom,s=t.params.zoom;if(!m.slideEl){t.params.virtual&&t.params.virtual.enabled&&t.virtual?m.slideEl=f(t.slidesEl,`.${t.params.slideActiveClass}`)[0]:m.slideEl=t.slides[t.activeIndex];let e=m.slideEl.querySelector(`.${s.containerClass}`);e&&(e=e.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]),m.imageEl=e,m.imageWrapEl=e?x(m.imageEl,`.${s.containerClass}`)[0]:void 0}m.imageEl&&m.imageWrapEl&&(t.params.cssMode&&(t.wrapperEl.style.overflow="",t.wrapperEl.style.touchAction=""),e.scale=1,p=1,m.imageWrapEl.style.transitionDuration="300ms",m.imageWrapEl.style.transform="translate3d(0,0,0)",m.imageEl.style.transitionDuration="300ms",m.imageEl.style.transform="translate3d(0,0,0) scale(1)",m.slideEl.classList.remove(`${s.zoomedSlideClass}`),m.slideEl=void 0,m.originX=0,m.originY=0)}function $(e){const s=t.zoom;s.scale&&1!==s.scale?A():k(e)}function I(){return{passiveListener:!!t.params.passiveListeners&&{passive:!0,capture:!1},activeListenerWithCapture:!t.params.passiveListeners||{passive:!1,capture:!0}}}function O(){const e=t.zoom;if(e.enabled)return;e.enabled=!0;const{passiveListener:s,activeListenerWithCapture:i}=I();t.wrapperEl.addEventListener("pointerdown",T,s),t.wrapperEl.addEventListener("pointermove",M,i),["pointerup","pointercancel","pointerout"].forEach((e=>{t.wrapperEl.addEventListener(e,C,s)})),t.wrapperEl.addEventListener("pointermove",L,i)}function D(){const e=t.zoom;if(!e.enabled)return;e.enabled=!1;const{passiveListener:s,activeListenerWithCapture:i}=I();t.wrapperEl.removeEventListener("pointerdown",T,s),t.wrapperEl.removeEventListener("pointermove",M,i),["pointerup","pointercancel","pointerout"].forEach((e=>{t.wrapperEl.removeEventListener(e,C,s)})),t.wrapperEl.removeEventListener("pointermove",L,i)}Object.defineProperty(t.zoom,"scale",{get:()=>b,set(e){if(b!==e){const t=m.imageEl,s=m.slideEl;a("zoomChange",e,t,s)}b=e}}),i("init",(()=>{t.params.zoom.enabled&&O()})),i("destroy",(()=>{D()})),i("touchStart",((e,s)=>{t.zoom.enabled&&function(e){const s=t.device;if(!m.imageEl)return;if(h.isTouched)return;s.android&&e.cancelable&&e.preventDefault(),h.isTouched=!0;const i=u.length>0?u[0]:e;h.touchesStart.x=i.pageX,h.touchesStart.y=i.pageY}(s)})),i("touchEnd",((e,s)=>{t.zoom.enabled&&function(){const e=t.zoom;if(!m.imageEl)return;if(!h.isTouched||!h.isMoved)return h.isTouched=!1,void(h.isMoved=!1);h.isTouched=!1,h.isMoved=!1;let s=300,i=300;const a=g.x*s,r=h.currentX+a,n=g.y*i,l=h.currentY+n;0!==g.x&&(s=Math.abs((r-h.currentX)/g.x)),0!==g.y&&(i=Math.abs((l-h.currentY)/g.y));const o=Math.max(s,i);h.currentX=r,h.currentY=l;const d=h.width*e.scale,p=h.height*e.scale;h.minX=Math.min(m.slideWidth/2-d/2,0),h.maxX=-h.minX,h.minY=Math.min(m.slideHeight/2-p/2,0),h.maxY=-h.minY,h.currentX=Math.max(Math.min(h.currentX,h.maxX),h.minX),h.currentY=Math.max(Math.min(h.currentY,h.maxY),h.minY),m.imageWrapEl.style.transitionDuration=`${o}ms`,m.imageWrapEl.style.transform=`translate3d(${h.currentX}px, ${h.currentY}px,0)`}()})),i("doubleTap",((e,s)=>{!t.animating&&t.params.zoom.enabled&&t.zoom.enabled&&t.params.zoom.toggle&&$(s)})),i("transitionEnd",(()=>{t.zoom.enabled&&t.params.zoom.enabled&&z()})),i("slideChange",(()=>{t.zoom.enabled&&t.params.zoom.enabled&&t.params.cssMode&&z()})),Object.assign(t.zoom,{enable:O,disable:D,in:k,out:A,toggle:$})},function(e){let{swiper:t,extendParams:s,on:i}=e;function a(e,t){const s=function(){let e,t,s;return(i,a)=>{for(t=-1,e=i.length;e-t>1;)s=e+t>>1,i[s]<=a?t=s:e=s;return e}}();let i,a;return this.x=e,this.y=t,this.lastIndex=e.length-1,this.interpolate=function(e){return e?(a=s(this.x,e),i=a-1,(e-this.x[i])*(this.y[a]-this.y[i])/(this.x[a]-this.x[i])+this.y[i]):0},this}function r(){t.controller.control&&t.controller.spline&&(t.controller.spline=void 0,delete t.controller.spline)}s({controller:{control:void 0,inverse:!1,by:"slide"}}),t.controller={control:void 0},i("beforeInit",(()=>{if("undefined"!=typeof window&&("string"==typeof t.params.controller.control||t.params.controller.control instanceof HTMLElement)){const e=document.querySelector(t.params.controller.control);if(e&&e.swiper)t.controller.control=e.swiper;else if(e){const s=i=>{t.controller.control=i.detail[0],t.update(),e.removeEventListener("init",s)};e.addEventListener("init",s)}}else t.controller.control=t.params.controller.control})),i("update",(()=>{r()})),i("resize",(()=>{r()})),i("observerUpdate",(()=>{r()})),i("setTranslate",((e,s,i)=>{t.controller.control&&!t.controller.control.destroyed&&t.controller.setTranslate(s,i)})),i("setTransition",((e,s,i)=>{t.controller.control&&!t.controller.control.destroyed&&t.controller.setTransition(s,i)})),Object.assign(t.controller,{setTranslate:function(e,s){const i=t.controller.control;let r,n;const l=t.constructor;function o(e){if(e.destroyed)return;const s=t.rtlTranslate?-t.translate:t.translate;"slide"===t.params.controller.by&&(!function(e){t.controller.spline=t.params.loop?new a(t.slidesGrid,e.slidesGrid):new a(t.snapGrid,e.snapGrid)}(e),n=-t.controller.spline.interpolate(-s)),n&&"container"!==t.params.controller.by||(r=(e.maxTranslate()-e.minTranslate())/(t.maxTranslate()-t.minTranslate()),!Number.isNaN(r)&&Number.isFinite(r)||(r=1),n=(s-t.minTranslate())*r+e.minTranslate()),t.params.controller.inverse&&(n=e.maxTranslate()-n),e.updateProgress(n),e.setTranslate(n,t),e.updateActiveIndex(),e.updateSlidesClasses()}if(Array.isArray(i))for(let e=0;e<i.length;e+=1)i[e]!==s&&i[e]instanceof l&&o(i[e]);else i instanceof l&&s!==i&&o(i)},setTransition:function(e,s){const i=t.constructor,a=t.controller.control;let r;function n(s){s.destroyed||(s.setTransition(e,t),0!==e&&(s.transitionStart(),s.params.autoHeight&&l((()=>{s.updateAutoHeight()})),E(s.wrapperEl,(()=>{a&&s.transitionEnd()}))))}if(Array.isArray(a))for(r=0;r<a.length;r+=1)a[r]!==s&&a[r]instanceof i&&n(a[r]);else a instanceof i&&s!==a&&n(a)}})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({a11y:{enabled:!0,notificationClass:"swiper-notification",prevSlideMessage:"Previous slide",nextSlideMessage:"Next slide",firstSlideMessage:"This is the first slide",lastSlideMessage:"This is the last slide",paginationBulletMessage:"Go to slide {{index}}",slideLabelMessage:"{{index}} / {{slidesLength}}",containerMessage:null,containerRoleDescriptionMessage:null,itemRoleDescriptionMessage:null,slideRole:"group",id:null}}),t.a11y={clicked:!1};let r,n,l=null,o=(new Date).getTime();function d(e){const t=l;0!==t.length&&(t.innerHTML="",t.innerHTML=e)}function p(e){(e=T(e)).forEach((e=>{e.setAttribute("tabIndex","0")}))}function c(e){(e=T(e)).forEach((e=>{e.setAttribute("tabIndex","-1")}))}function u(e,t){(e=T(e)).forEach((e=>{e.setAttribute("role",t)}))}function m(e,t){(e=T(e)).forEach((e=>{e.setAttribute("aria-roledescription",t)}))}function h(e,t){(e=T(e)).forEach((e=>{e.setAttribute("aria-label",t)}))}function f(e){(e=T(e)).forEach((e=>{e.setAttribute("aria-disabled",!0)}))}function g(e){(e=T(e)).forEach((e=>{e.setAttribute("aria-disabled",!1)}))}function w(e){if(13!==e.keyCode&&32!==e.keyCode)return;const s=t.params.a11y,i=e.target;if(!t.pagination||!t.pagination.el||i!==t.pagination.el&&!t.pagination.el.contains(e.target)||e.target.matches(ae(t.params.pagination.bulletClass))){if(t.navigation&&t.navigation.prevEl&&t.navigation.nextEl){const e=T(t.navigation.prevEl);T(t.navigation.nextEl).includes(i)&&(t.isEnd&&!t.params.loop||t.slideNext(),t.isEnd?d(s.lastSlideMessage):d(s.nextSlideMessage)),e.includes(i)&&(t.isBeginning&&!t.params.loop||t.slidePrev(),t.isBeginning?d(s.firstSlideMessage):d(s.prevSlideMessage))}t.pagination&&i.matches(ae(t.params.pagination.bulletClass))&&i.click()}}function b(){return t.pagination&&t.pagination.bullets&&t.pagination.bullets.length}function x(){return b()&&t.params.pagination.clickable}const E=(e,t,s)=>{p(e),"BUTTON"!==e.tagName&&(u(e,"button"),e.addEventListener("keydown",w)),h(e,s),function(e,t){(e=T(e)).forEach((e=>{e.setAttribute("aria-controls",t)}))}(e,t)},S=e=>{n&&n!==e.target&&!n.contains(e.target)&&(r=!0),t.a11y.clicked=!0},M=()=>{r=!1,requestAnimationFrame((()=>{requestAnimationFrame((()=>{t.destroyed||(t.a11y.clicked=!1)}))}))},C=e=>{o=(new Date).getTime()},P=e=>{if(t.a11y.clicked)return;if((new Date).getTime()-o<100)return;const s=e.target.closest(`.${t.params.slideClass}, swiper-slide`);if(!s||!t.slides.includes(s))return;n=s;const i=t.slides.indexOf(s)===t.activeIndex,a=t.params.watchSlidesProgress&&t.visibleSlides&&t.visibleSlides.includes(s);i||a||e.sourceCapabilities&&e.sourceCapabilities.firesTouchEvents||(t.isHorizontal()?t.el.scrollLeft=0:t.el.scrollTop=0,requestAnimationFrame((()=>{r||(t.slideTo(t.slides.indexOf(s),0),r=!1)})))},L=()=>{const e=t.params.a11y;e.itemRoleDescriptionMessage&&m(t.slides,e.itemRoleDescriptionMessage),e.slideRole&&u(t.slides,e.slideRole);const s=t.slides.length;e.slideLabelMessage&&t.slides.forEach(((i,a)=>{const r=t.params.loop?parseInt(i.getAttribute("data-swiper-slide-index"),10):a;h(i,e.slideLabelMessage.replace(/\{\{index\}\}/,r+1).replace(/\{\{slidesLength\}\}/,s))}))},z=()=>{const e=t.params.a11y;t.el.append(l);const s=t.el;e.containerRoleDescriptionMessage&&m(s,e.containerRoleDescriptionMessage),e.containerMessage&&h(s,e.containerMessage);const a=t.wrapperEl,r=e.id||a.getAttribute("id")||`swiper-wrapper-${n=16,void 0===n&&(n=16),"x".repeat(n).replace(/x/g,(()=>Math.round(16*Math.random()).toString(16)))}`;var n;const o=t.params.autoplay&&t.params.autoplay.enabled?"off":"polite";var d;d=r,T(a).forEach((e=>{e.setAttribute("id",d)})),function(e,t){(e=T(e)).forEach((e=>{e.setAttribute("aria-live",t)}))}(a,o),L();let{nextEl:p,prevEl:c}=t.navigation?t.navigation:{};if(p=T(p),c=T(c),p&&p.forEach((t=>E(t,r,e.nextSlideMessage))),c&&c.forEach((t=>E(t,r,e.prevSlideMessage))),x()){T(t.pagination.el).forEach((e=>{e.addEventListener("keydown",w)}))}i().addEventListener("visibilitychange",C),t.el.addEventListener("focus",P,!0),t.el.addEventListener("focus",P,!0),t.el.addEventListener("pointerdown",S,!0),t.el.addEventListener("pointerup",M,!0)};a("beforeInit",(()=>{l=v("span",t.params.a11y.notificationClass),l.setAttribute("aria-live","assertive"),l.setAttribute("aria-atomic","true")})),a("afterInit",(()=>{t.params.a11y.enabled&&z()})),a("slidesLengthChange snapGridLengthChange slidesGridLengthChange",(()=>{t.params.a11y.enabled&&L()})),a("fromEdge toEdge afterInit lock unlock",(()=>{t.params.a11y.enabled&&function(){if(t.params.loop||t.params.rewind||!t.navigation)return;const{nextEl:e,prevEl:s}=t.navigation;s&&(t.isBeginning?(f(s),c(s)):(g(s),p(s))),e&&(t.isEnd?(f(e),c(e)):(g(e),p(e)))}()})),a("paginationUpdate",(()=>{t.params.a11y.enabled&&function(){const e=t.params.a11y;b()&&t.pagination.bullets.forEach((s=>{t.params.pagination.clickable&&(p(s),t.params.pagination.renderBullet||(u(s,"button"),h(s,e.paginationBulletMessage.replace(/\{\{index\}\}/,y(s)+1)))),s.matches(ae(t.params.pagination.bulletActiveClass))?s.setAttribute("aria-current","true"):s.removeAttribute("aria-current")}))}()})),a("destroy",(()=>{t.params.a11y.enabled&&function(){l&&l.remove();let{nextEl:e,prevEl:s}=t.navigation?t.navigation:{};e=T(e),s=T(s),e&&e.forEach((e=>e.removeEventListener("keydown",w))),s&&s.forEach((e=>e.removeEventListener("keydown",w))),x()&&T(t.pagination.el).forEach((e=>{e.removeEventListener("keydown",w)}));i().removeEventListener("visibilitychange",C),t.el.removeEventListener("focus",P,!0),t.el.removeEventListener("pointerdown",S,!0),t.el.removeEventListener("pointerup",M,!0)}()}))},function(e){let{swiper:t,extendParams:s,on:i}=e;s({history:{enabled:!1,root:"",replaceState:!1,key:"slides",keepQuery:!1}});let a=!1,n={};const l=e=>e.toString().replace(/\s+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,""),o=e=>{const t=r();let s;s=e?new URL(e):t.location;const i=s.pathname.slice(1).split("/").filter((e=>""!==e)),a=i.length;return{key:i[a-2],value:i[a-1]}},d=(e,s)=>{const i=r();if(!a||!t.params.history.enabled)return;let n;n=t.params.url?new URL(t.params.url):i.location;const o=t.virtual&&t.params.virtual.enabled?t.slidesEl.querySelector(`[data-swiper-slide-index="${s}"]`):t.slides[s];let d=l(o.getAttribute("data-history"));if(t.params.history.root.length>0){let s=t.params.history.root;"/"===s[s.length-1]&&(s=s.slice(0,s.length-1)),d=`${s}/${e?`${e}/`:""}${d}`}else n.pathname.includes(e)||(d=`${e?`${e}/`:""}${d}`);t.params.history.keepQuery&&(d+=n.search);const p=i.history.state;p&&p.value===d||(t.params.history.replaceState?i.history.replaceState({value:d},null,d):i.history.pushState({value:d},null,d))},p=(e,s,i)=>{if(s)for(let a=0,r=t.slides.length;a<r;a+=1){const r=t.slides[a];if(l(r.getAttribute("data-history"))===s){const s=t.getSlideIndex(r);t.slideTo(s,e,i)}}else t.slideTo(0,e,i)},c=()=>{n=o(t.params.url),p(t.params.speed,n.value,!1)};i("init",(()=>{t.params.history.enabled&&(()=>{const e=r();if(t.params.history){if(!e.history||!e.history.pushState)return t.params.history.enabled=!1,void(t.params.hashNavigation.enabled=!0);a=!0,n=o(t.params.url),n.key||n.value?(p(0,n.value,t.params.runCallbacksOnInit),t.params.history.replaceState||e.addEventListener("popstate",c)):t.params.history.replaceState||e.addEventListener("popstate",c)}})()})),i("destroy",(()=>{t.params.history.enabled&&(()=>{const e=r();t.params.history.replaceState||e.removeEventListener("popstate",c)})()})),i("transitionEnd _freeModeNoMomentumRelease",(()=>{a&&d(t.params.history.key,t.activeIndex)})),i("slideChange",(()=>{a&&t.params.cssMode&&d(t.params.history.key,t.activeIndex)}))},function(e){let{swiper:t,extendParams:s,emit:a,on:n}=e,l=!1;const o=i(),d=r();s({hashNavigation:{enabled:!1,replaceState:!1,watchState:!1,getSlideIndex(e,s){if(t.virtual&&t.params.virtual.enabled){const e=t.slides.filter((e=>e.getAttribute("data-hash")===s))[0];if(!e)return 0;return parseInt(e.getAttribute("data-swiper-slide-index"),10)}return t.getSlideIndex(f(t.slidesEl,`.${t.params.slideClass}[data-hash="${s}"], swiper-slide[data-hash="${s}"]`)[0])}}});const p=()=>{a("hashChange");const e=o.location.hash.replace("#",""),s=t.virtual&&t.params.virtual.enabled?t.slidesEl.querySelector(`[data-swiper-slide-index="${t.activeIndex}"]`):t.slides[t.activeIndex];if(e!==(s?s.getAttribute("data-hash"):"")){const s=t.params.hashNavigation.getSlideIndex(t,e);if(void 0===s||Number.isNaN(s))return;t.slideTo(s)}},c=()=>{if(!l||!t.params.hashNavigation.enabled)return;const e=t.virtual&&t.params.virtual.enabled?t.slidesEl.querySelector(`[data-swiper-slide-index="${t.activeIndex}"]`):t.slides[t.activeIndex],s=e?e.getAttribute("data-hash")||e.getAttribute("data-history"):"";t.params.hashNavigation.replaceState&&d.history&&d.history.replaceState?(d.history.replaceState(null,null,`#${s}`||""),a("hashSet")):(o.location.hash=s||"",a("hashSet"))};n("init",(()=>{t.params.hashNavigation.enabled&&(()=>{if(!t.params.hashNavigation.enabled||t.params.history&&t.params.history.enabled)return;l=!0;const e=o.location.hash.replace("#","");if(e){const s=0,i=t.params.hashNavigation.getSlideIndex(t,e);t.slideTo(i||0,s,t.params.runCallbacksOnInit,!0)}t.params.hashNavigation.watchState&&d.addEventListener("hashchange",p)})()})),n("destroy",(()=>{t.params.hashNavigation.enabled&&t.params.hashNavigation.watchState&&d.removeEventListener("hashchange",p)})),n("transitionEnd _freeModeNoMomentumRelease",(()=>{l&&c()})),n("slideChange",(()=>{l&&t.params.cssMode&&c()}))},function(e){let t,s,{swiper:a,extendParams:r,on:n,emit:l,params:o}=e;a.autoplay={running:!1,paused:!1,timeLeft:0},r({autoplay:{enabled:!1,delay:3e3,waitForTransition:!0,disableOnInteraction:!1,stopOnLastSlide:!1,reverseDirection:!1,pauseOnMouseEnter:!1}});let d,p,c,u,m,h,f,g,v=o&&o.autoplay?o.autoplay.delay:3e3,w=o&&o.autoplay?o.autoplay.delay:3e3,b=(new Date).getTime();function y(e){a&&!a.destroyed&&a.wrapperEl&&e.target===a.wrapperEl&&(a.wrapperEl.removeEventListener("transitionend",y),g||C())}const x=()=>{if(a.destroyed||!a.autoplay.running)return;a.autoplay.paused?p=!0:p&&(w=d,p=!1);const e=a.autoplay.paused?d:b+w-(new Date).getTime();a.autoplay.timeLeft=e,l("autoplayTimeLeft",e,e/v),s=requestAnimationFrame((()=>{x()}))},E=e=>{if(a.destroyed||!a.autoplay.running)return;cancelAnimationFrame(s),x();let i=void 0===e?a.params.autoplay.delay:e;v=a.params.autoplay.delay,w=a.params.autoplay.delay;const r=(()=>{let e;if(e=a.virtual&&a.params.virtual.enabled?a.slides.filter((e=>e.classList.contains("swiper-slide-active")))[0]:a.slides[a.activeIndex],!e)return;return parseInt(e.getAttribute("data-swiper-autoplay"),10)})();!Number.isNaN(r)&&r>0&&void 0===e&&(i=r,v=r,w=r),d=i;const n=a.params.speed,o=()=>{a&&!a.destroyed&&(a.params.autoplay.reverseDirection?!a.isBeginning||a.params.loop||a.params.rewind?(a.slidePrev(n,!0,!0),l("autoplay")):a.params.autoplay.stopOnLastSlide||(a.slideTo(a.slides.length-1,n,!0,!0),l("autoplay")):!a.isEnd||a.params.loop||a.params.rewind?(a.slideNext(n,!0,!0),l("autoplay")):a.params.autoplay.stopOnLastSlide||(a.slideTo(0,n,!0,!0),l("autoplay")),a.params.cssMode&&(b=(new Date).getTime(),requestAnimationFrame((()=>{E()}))))};return i>0?(clearTimeout(t),t=setTimeout((()=>{o()}),i)):requestAnimationFrame((()=>{o()})),i},S=()=>{b=(new Date).getTime(),a.autoplay.running=!0,E(),l("autoplayStart")},T=()=>{a.autoplay.running=!1,clearTimeout(t),cancelAnimationFrame(s),l("autoplayStop")},M=(e,s)=>{if(a.destroyed||!a.autoplay.running)return;clearTimeout(t),e||(f=!0);const i=()=>{l("autoplayPause"),a.params.autoplay.waitForTransition?a.wrapperEl.addEventListener("transitionend",y):C()};if(a.autoplay.paused=!0,s)return h&&(d=a.params.autoplay.delay),h=!1,void i();const r=d||a.params.autoplay.delay;d=r-((new Date).getTime()-b),a.isEnd&&d<0&&!a.params.loop||(d<0&&(d=0),i())},C=()=>{a.isEnd&&d<0&&!a.params.loop||a.destroyed||!a.autoplay.running||(b=(new Date).getTime(),f?(f=!1,E(d)):E(),a.autoplay.paused=!1,l("autoplayResume"))},P=()=>{if(a.destroyed||!a.autoplay.running)return;const e=i();"hidden"===e.visibilityState&&(f=!0,M(!0)),"visible"===e.visibilityState&&C()},L=e=>{"mouse"===e.pointerType&&(f=!0,g=!0,a.animating||a.autoplay.paused||M(!0))},z=e=>{"mouse"===e.pointerType&&(g=!1,a.autoplay.paused&&C())};n("init",(()=>{a.params.autoplay.enabled&&(a.params.autoplay.pauseOnMouseEnter&&(a.el.addEventListener("pointerenter",L),a.el.addEventListener("pointerleave",z)),i().addEventListener("visibilitychange",P),S())})),n("destroy",(()=>{a.el.removeEventListener("pointerenter",L),a.el.removeEventListener("pointerleave",z),i().removeEventListener("visibilitychange",P),a.autoplay.running&&T()})),n("_freeModeStaticRelease",(()=>{(u||f)&&C()})),n("_freeModeNoMomentumRelease",(()=>{a.params.autoplay.disableOnInteraction?T():M(!0,!0)})),n("beforeTransitionStart",((e,t,s)=>{!a.destroyed&&a.autoplay.running&&(s||!a.params.autoplay.disableOnInteraction?M(!0,!0):T())})),n("sliderFirstMove",(()=>{!a.destroyed&&a.autoplay.running&&(a.params.autoplay.disableOnInteraction?T():(c=!0,u=!1,f=!1,m=setTimeout((()=>{f=!0,u=!0,M(!0)}),200)))})),n("touchEnd",(()=>{if(!a.destroyed&&a.autoplay.running&&c){if(clearTimeout(m),clearTimeout(t),a.params.autoplay.disableOnInteraction)return u=!1,void(c=!1);u&&a.params.cssMode&&C(),u=!1,c=!1}})),n("slideChange",(()=>{!a.destroyed&&a.autoplay.running&&(h=!0)})),Object.assign(a.autoplay,{start:S,stop:T,pause:M,resume:C})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({thumbs:{swiper:null,multipleActiveThumbs:!0,autoScrollOffset:0,slideThumbActiveClass:"swiper-slide-thumb-active",thumbsContainerClass:"swiper-thumbs"}});let r=!1,n=!1;function l(){const e=t.thumbs.swiper;if(!e||e.destroyed)return;const s=e.clickedIndex,i=e.clickedSlide;if(i&&i.classList.contains(t.params.thumbs.slideThumbActiveClass))return;if(null==s)return;let a;a=e.params.loop?parseInt(e.clickedSlide.getAttribute("data-swiper-slide-index"),10):s,t.params.loop?t.slideToLoop(a):t.slideTo(a)}function o(){const{thumbs:e}=t.params;if(r)return!1;r=!0;const s=t.constructor;if(e.swiper instanceof s)t.thumbs.swiper=e.swiper,Object.assign(t.thumbs.swiper.originalParams,{watchSlidesProgress:!0,slideToClickedSlide:!1}),Object.assign(t.thumbs.swiper.params,{watchSlidesProgress:!0,slideToClickedSlide:!1}),t.thumbs.swiper.update();else if(p(e.swiper)){const i=Object.assign({},e.swiper);Object.assign(i,{watchSlidesProgress:!0,slideToClickedSlide:!1}),t.thumbs.swiper=new s(i),n=!0}return t.thumbs.swiper.el.classList.add(t.params.thumbs.thumbsContainerClass),t.thumbs.swiper.on("tap",l),!0}function d(e){const s=t.thumbs.swiper;if(!s||s.destroyed)return;const i="auto"===s.params.slidesPerView?s.slidesPerViewDynamic():s.params.slidesPerView;let a=1;const r=t.params.thumbs.slideThumbActiveClass;if(t.params.slidesPerView>1&&!t.params.centeredSlides&&(a=t.params.slidesPerView),t.params.thumbs.multipleActiveThumbs||(a=1),a=Math.floor(a),s.slides.forEach((e=>e.classList.remove(r))),s.params.loop||s.params.virtual&&s.params.virtual.enabled)for(let e=0;e<a;e+=1)f(s.slidesEl,`[data-swiper-slide-index="${t.realIndex+e}"]`).forEach((e=>{e.classList.add(r)}));else for(let e=0;e<a;e+=1)s.slides[t.realIndex+e]&&s.slides[t.realIndex+e].classList.add(r);const n=t.params.thumbs.autoScrollOffset,l=n&&!s.params.loop;if(t.realIndex!==s.realIndex||l){const a=s.activeIndex;let r,o;if(s.params.loop){const e=s.slides.filter((e=>e.getAttribute("data-swiper-slide-index")===`${t.realIndex}`))[0];r=s.slides.indexOf(e),o=t.activeIndex>t.previousIndex?"next":"prev"}else r=t.realIndex,o=r>t.previousIndex?"next":"prev";l&&(r+="next"===o?n:-1*n),s.visibleSlidesIndexes&&s.visibleSlidesIndexes.indexOf(r)<0&&(s.params.centeredSlides?r=r>a?r-Math.floor(i/2)+1:r+Math.floor(i/2)-1:r>a&&s.params.slidesPerGroup,s.slideTo(r,e?0:void 0))}}t.thumbs={swiper:null},a("beforeInit",(()=>{const{thumbs:e}=t.params;if(e&&e.swiper)if("string"==typeof e.swiper||e.swiper instanceof HTMLElement){const s=i(),a=()=>{const i="string"==typeof e.swiper?s.querySelector(e.swiper):e.swiper;if(i&&i.swiper)e.swiper=i.swiper,o(),d(!0);else if(i){const s=a=>{e.swiper=a.detail[0],i.removeEventListener("init",s),o(),d(!0),e.swiper.update(),t.update()};i.addEventListener("init",s)}return i},r=()=>{if(t.destroyed)return;a()||requestAnimationFrame(r)};requestAnimationFrame(r)}else o(),d(!0)})),a("slideChange update resize observerUpdate",(()=>{d()})),a("setTransition",((e,s)=>{const i=t.thumbs.swiper;i&&!i.destroyed&&i.setTransition(s)})),a("beforeDestroy",(()=>{const e=t.thumbs.swiper;e&&!e.destroyed&&n&&e.destroy()})),Object.assign(t.thumbs,{init:o,update:d})},function(e){let{swiper:t,extendParams:s,emit:i,once:a}=e;s({freeMode:{enabled:!1,momentum:!0,momentumRatio:1,momentumBounce:!0,momentumBounceRatio:1,momentumVelocityRatio:1,sticky:!1,minimumVelocity:.02}}),Object.assign(t,{freeMode:{onTouchStart:function(){if(t.params.cssMode)return;const e=t.getTranslate();t.setTranslate(e),t.setTransition(0),t.touchEventsData.velocities.length=0,t.freeMode.onTouchEnd({currentPos:t.rtl?t.translate:-t.translate})},onTouchMove:function(){if(t.params.cssMode)return;const{touchEventsData:e,touches:s}=t;0===e.velocities.length&&e.velocities.push({position:s[t.isHorizontal()?"startX":"startY"],time:e.touchStartTime}),e.velocities.push({position:s[t.isHorizontal()?"currentX":"currentY"],time:o()})},onTouchEnd:function(e){let{currentPos:s}=e;if(t.params.cssMode)return;const{params:r,wrapperEl:n,rtlTranslate:l,snapGrid:d,touchEventsData:p}=t,c=o()-p.touchStartTime;if(s<-t.minTranslate())t.slideTo(t.activeIndex);else if(s>-t.maxTranslate())t.slides.length<d.length?t.slideTo(d.length-1):t.slideTo(t.slides.length-1);else{if(r.freeMode.momentum){if(p.velocities.length>1){const e=p.velocities.pop(),s=p.velocities.pop(),i=e.position-s.position,a=e.time-s.time;t.velocity=i/a,t.velocity/=2,Math.abs(t.velocity)<r.freeMode.minimumVelocity&&(t.velocity=0),(a>150||o()-e.time>300)&&(t.velocity=0)}else t.velocity=0;t.velocity*=r.freeMode.momentumVelocityRatio,p.velocities.length=0;let e=1e3*r.freeMode.momentumRatio;const s=t.velocity*e;let c=t.translate+s;l&&(c=-c);let u,m=!1;const h=20*Math.abs(t.velocity)*r.freeMode.momentumBounceRatio;let f;if(c<t.maxTranslate())r.freeMode.momentumBounce?(c+t.maxTranslate()<-h&&(c=t.maxTranslate()-h),u=t.maxTranslate(),m=!0,p.allowMomentumBounce=!0):c=t.maxTranslate(),r.loop&&r.centeredSlides&&(f=!0);else if(c>t.minTranslate())r.freeMode.momentumBounce?(c-t.minTranslate()>h&&(c=t.minTranslate()+h),u=t.minTranslate(),m=!0,p.allowMomentumBounce=!0):c=t.minTranslate(),r.loop&&r.centeredSlides&&(f=!0);else if(r.freeMode.sticky){let e;for(let t=0;t<d.length;t+=1)if(d[t]>-c){e=t;break}c=Math.abs(d[e]-c)<Math.abs(d[e-1]-c)||"next"===t.swipeDirection?d[e]:d[e-1],c=-c}if(f&&a("transitionEnd",(()=>{t.loopFix()})),0!==t.velocity){if(e=l?Math.abs((-c-t.translate)/t.velocity):Math.abs((c-t.translate)/t.velocity),r.freeMode.sticky){const s=Math.abs((l?-c:c)-t.translate),i=t.slidesSizesGrid[t.activeIndex];e=s<i?r.speed:s<2*i?1.5*r.speed:2.5*r.speed}}else if(r.freeMode.sticky)return void t.slideToClosest();r.freeMode.momentumBounce&&m?(t.updateProgress(u),t.setTransition(e),t.setTranslate(c),t.transitionStart(!0,t.swipeDirection),t.animating=!0,E(n,(()=>{t&&!t.destroyed&&p.allowMomentumBounce&&(i("momentumBounce"),t.setTransition(r.speed),setTimeout((()=>{t.setTranslate(u),E(n,(()=>{t&&!t.destroyed&&t.transitionEnd()}))}),0))}))):t.velocity?(i("_freeModeNoMomentumRelease"),t.updateProgress(c),t.setTransition(e),t.setTranslate(c),t.transitionStart(!0,t.swipeDirection),t.animating||(t.animating=!0,E(n,(()=>{t&&!t.destroyed&&t.transitionEnd()})))):t.updateProgress(c),t.updateActiveIndex(),t.updateSlidesClasses()}else{if(r.freeMode.sticky)return void t.slideToClosest();r.freeMode&&i("_freeModeNoMomentumRelease")}(!r.freeMode.momentum||c>=r.longSwipesMs)&&(i("_freeModeStaticRelease"),t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses())}}}})},function(e){let t,s,i,a,{swiper:r,extendParams:n,on:l}=e;n({grid:{rows:1,fill:"column"}});const o=()=>{let e=r.params.spaceBetween;return"string"==typeof e&&e.indexOf("%")>=0?e=parseFloat(e.replace("%",""))/100*r.size:"string"==typeof e&&(e=parseFloat(e)),e};l("init",(()=>{a=r.params.grid&&r.params.grid.rows>1})),l("update",(()=>{const{params:e,el:t}=r,s=e.grid&&e.grid.rows>1;a&&!s?(t.classList.remove(`${e.containerModifierClass}grid`,`${e.containerModifierClass}grid-column`),i=1,r.emitContainerClasses()):!a&&s&&(t.classList.add(`${e.containerModifierClass}grid`),"column"===e.grid.fill&&t.classList.add(`${e.containerModifierClass}grid-column`),r.emitContainerClasses()),a=s})),r.grid={initSlides:e=>{const{slidesPerView:a}=r.params,{rows:n,fill:l}=r.params.grid,o=r.virtual&&r.params.virtual.enabled?r.virtual.slides.length:e.length;i=Math.floor(o/n),t=Math.floor(o/n)===o/n?o:Math.ceil(o/n)*n,"auto"!==a&&"row"===l&&(t=Math.max(t,a*n)),s=t/n},unsetSlides:()=>{r.slides&&r.slides.forEach((e=>{e.swiperSlideGridSet&&(e.style.height="",e.style[r.getDirectionLabel("margin-top")]="")}))},updateSlide:(e,a,n)=>{const{slidesPerGroup:l}=r.params,d=o(),{rows:p,fill:c}=r.params.grid,u=r.virtual&&r.params.virtual.enabled?r.virtual.slides.length:n.length;let m,h,f;if("row"===c&&l>1){const s=Math.floor(e/(l*p)),i=e-p*l*s,r=0===s?l:Math.min(Math.ceil((u-s*p*l)/p),l);f=Math.floor(i/r),h=i-f*r+s*l,m=h+f*t/p,a.style.order=m}else"column"===c?(h=Math.floor(e/p),f=e-h*p,(h>i||h===i&&f===p-1)&&(f+=1,f>=p&&(f=0,h+=1))):(f=Math.floor(e/s),h=e-f*s);a.row=f,a.column=h,a.style.height=`calc((100% - ${(p-1)*d}px) / ${p})`,a.style[r.getDirectionLabel("margin-top")]=0!==f?d&&`${d}px`:"",a.swiperSlideGridSet=!0},updateWrapperSize:(e,s)=>{const{centeredSlides:i,roundLengths:a}=r.params,n=o(),{rows:l}=r.params.grid;if(r.virtualSize=(e+n)*t,r.virtualSize=Math.ceil(r.virtualSize/l)-n,r.params.cssMode||(r.wrapperEl.style[r.getDirectionLabel("width")]=`${r.virtualSize+n}px`),i){const e=[];for(let t=0;t<s.length;t+=1){let i=s[t];a&&(i=Math.floor(i)),s[t]<r.virtualSize+s[0]&&e.push(i)}s.splice(0,s.length),s.push(...e)}}}},function(e){let{swiper:t}=e;Object.assign(t,{appendSlide:re.bind(t),prependSlide:ne.bind(t),addSlide:le.bind(t),removeSlide:oe.bind(t),removeAllSlides:de.bind(t)})},function(e){let{swiper:t,extendParams:s,on:i}=e;s({fadeEffect:{crossFade:!1}}),pe({effect:"fade",swiper:t,on:i,setTranslate:()=>{const{slides:e}=t;t.params.fadeEffect;for(let s=0;s<e.length;s+=1){const e=t.slides[s];let i=-e.swiperSlideOffset;t.params.virtualTranslate||(i-=t.translate);let a=0;t.isHorizontal()||(a=i,i=0);const r=t.params.fadeEffect.crossFade?Math.max(1-Math.abs(e.progress),0):1+Math.min(Math.max(e.progress,-1),0),n=ce(0,e);n.style.opacity=r,n.style.transform=`translate3d(${i}px, ${a}px, 0px)`}},setTransition:e=>{const s=t.slides.map((e=>h(e)));s.forEach((t=>{t.style.transitionDuration=`${e}ms`})),ue({swiper:t,duration:e,transformElements:s,allSlides:!0})},overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:i}=e;s({cubeEffect:{slideShadows:!0,shadow:!0,shadowOffset:20,shadowScale:.94}});const a=(e,t,s)=>{let i=s?e.querySelector(".swiper-slide-shadow-left"):e.querySelector(".swiper-slide-shadow-top"),a=s?e.querySelector(".swiper-slide-shadow-right"):e.querySelector(".swiper-slide-shadow-bottom");i||(i=v("div",("swiper-slide-shadow-cube swiper-slide-shadow-"+(s?"left":"top")).split(" ")),e.append(i)),a||(a=v("div",("swiper-slide-shadow-cube swiper-slide-shadow-"+(s?"right":"bottom")).split(" ")),e.append(a)),i&&(i.style.opacity=Math.max(-t,0)),a&&(a.style.opacity=Math.max(t,0))};pe({effect:"cube",swiper:t,on:i,setTranslate:()=>{const{el:e,wrapperEl:s,slides:i,width:r,height:n,rtlTranslate:l,size:o,browser:d}=t,p=t.params.cubeEffect,c=t.isHorizontal(),u=t.virtual&&t.params.virtual.enabled;let m,h=0;p.shadow&&(c?(m=t.wrapperEl.querySelector(".swiper-cube-shadow"),m||(m=v("div","swiper-cube-shadow"),t.wrapperEl.append(m)),m.style.height=`${r}px`):(m=e.querySelector(".swiper-cube-shadow"),m||(m=v("div","swiper-cube-shadow"),e.append(m))));for(let e=0;e<i.length;e+=1){const s=i[e];let r=e;u&&(r=parseInt(s.getAttribute("data-swiper-slide-index"),10));let n=90*r,d=Math.floor(n/360);l&&(n=-n,d=Math.floor(-n/360));const m=Math.max(Math.min(s.progress,1),-1);let f=0,g=0,v=0;r%4==0?(f=4*-d*o,v=0):(r-1)%4==0?(f=0,v=4*-d*o):(r-2)%4==0?(f=o+4*d*o,v=o):(r-3)%4==0&&(f=-o,v=3*o+4*o*d),l&&(f=-f),c||(g=f,f=0);const w=`rotateX(${c?0:-n}deg) rotateY(${c?n:0}deg) translate3d(${f}px, ${g}px, ${v}px)`;m<=1&&m>-1&&(h=90*r+90*m,l&&(h=90*-r-90*m),t.browser&&t.browser.need3dFix&&Math.abs(h)/90%2==1&&(h+=.001)),s.style.transform=w,p.slideShadows&&a(s,m,c)}if(s.style.transformOrigin=`50% 50% -${o/2}px`,s.style["-webkit-transform-origin"]=`50% 50% -${o/2}px`,p.shadow)if(c)m.style.transform=`translate3d(0px, ${r/2+p.shadowOffset}px, ${-r/2}px) rotateX(89.99deg) rotateZ(0deg) scale(${p.shadowScale})`;else{const e=Math.abs(h)-90*Math.floor(Math.abs(h)/90),t=1.5-(Math.sin(2*e*Math.PI/360)/2+Math.cos(2*e*Math.PI/360)/2),s=p.shadowScale,i=p.shadowScale/t,a=p.shadowOffset;m.style.transform=`scale3d(${s}, 1, ${i}) translate3d(0px, ${n/2+a}px, ${-n/2/i}px) rotateX(-89.99deg)`}const f=(d.isSafari||d.isWebView)&&d.needPerspectiveFix?-o/2:0;s.style.transform=`translate3d(0px,0,${f}px) rotateX(${t.isHorizontal()?0:h}deg) rotateY(${t.isHorizontal()?-h:0}deg)`,s.style.setProperty("--swiper-cube-translate-z",`${f}px`)},setTransition:e=>{const{el:s,slides:i}=t;if(i.forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((t=>{t.style.transitionDuration=`${e}ms`}))})),t.params.cubeEffect.shadow&&!t.isHorizontal()){const t=s.querySelector(".swiper-cube-shadow");t&&(t.style.transitionDuration=`${e}ms`)}},recreateShadows:()=>{const e=t.isHorizontal();t.slides.forEach((t=>{const s=Math.max(Math.min(t.progress,1),-1);a(t,s,e)}))},getEffectParams:()=>t.params.cubeEffect,perspective:()=>!0,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,resistanceRatio:0,spaceBetween:0,centeredSlides:!1,virtualTranslate:!0})})},function(e){let{swiper:t,extendParams:s,on:i}=e;s({flipEffect:{slideShadows:!0,limitRotation:!0}});const a=(e,s)=>{let i=t.isHorizontal()?e.querySelector(".swiper-slide-shadow-left"):e.querySelector(".swiper-slide-shadow-top"),a=t.isHorizontal()?e.querySelector(".swiper-slide-shadow-right"):e.querySelector(".swiper-slide-shadow-bottom");i||(i=me("flip",e,t.isHorizontal()?"left":"top")),a||(a=me("flip",e,t.isHorizontal()?"right":"bottom")),i&&(i.style.opacity=Math.max(-s,0)),a&&(a.style.opacity=Math.max(s,0))};pe({effect:"flip",swiper:t,on:i,setTranslate:()=>{const{slides:e,rtlTranslate:s}=t,i=t.params.flipEffect;for(let r=0;r<e.length;r+=1){const n=e[r];let l=n.progress;t.params.flipEffect.limitRotation&&(l=Math.max(Math.min(n.progress,1),-1));const o=n.swiperSlideOffset;let d=-180*l,p=0,c=t.params.cssMode?-o-t.translate:-o,u=0;t.isHorizontal()?s&&(d=-d):(u=c,c=0,p=-d,d=0),t.browser&&t.browser.need3dFix&&(Math.abs(d)/90%2==1&&(d+=.001),Math.abs(p)/90%2==1&&(p+=.001)),n.style.zIndex=-Math.abs(Math.round(l))+e.length,i.slideShadows&&a(n,l);const m=`translate3d(${c}px, ${u}px, 0px) rotateX(${p}deg) rotateY(${d}deg)`;ce(0,n).style.transform=m}},setTransition:e=>{const s=t.slides.map((e=>h(e)));s.forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((t=>{t.style.transitionDuration=`${e}ms`}))})),ue({swiper:t,duration:e,transformElements:s})},recreateShadows:()=>{t.params.flipEffect,t.slides.forEach((e=>{let s=e.progress;t.params.flipEffect.limitRotation&&(s=Math.max(Math.min(e.progress,1),-1)),a(e,s)}))},getEffectParams:()=>t.params.flipEffect,perspective:()=>!0,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:i}=e;s({coverflowEffect:{rotate:50,stretch:0,depth:100,scale:1,modifier:1,slideShadows:!0}}),pe({effect:"coverflow",swiper:t,on:i,setTranslate:()=>{const{width:e,height:s,slides:i,slidesSizesGrid:a}=t,r=t.params.coverflowEffect,n=t.isHorizontal(),l=t.translate,o=n?e/2-l:s/2-l,d=n?r.rotate:-r.rotate,p=r.depth;for(let e=0,s=i.length;e<s;e+=1){const s=i[e],l=a[e],c=(o-s.swiperSlideOffset-l/2)/l,u="function"==typeof r.modifier?r.modifier(c):c*r.modifier;let m=n?d*u:0,h=n?0:d*u,f=-p*Math.abs(u),g=r.stretch;"string"==typeof g&&-1!==g.indexOf("%")&&(g=parseFloat(r.stretch)/100*l);let v=n?0:g*u,w=n?g*u:0,b=1-(1-r.scale)*Math.abs(u);Math.abs(w)<.001&&(w=0),Math.abs(v)<.001&&(v=0),Math.abs(f)<.001&&(f=0),Math.abs(m)<.001&&(m=0),Math.abs(h)<.001&&(h=0),Math.abs(b)<.001&&(b=0),t.browser&&t.browser.need3dFix&&(Math.abs(m)/90%2==1&&(m+=.001),Math.abs(h)/90%2==1&&(h+=.001));const y=`translate3d(${w}px,${v}px,${f}px)  rotateX(${h}deg) rotateY(${m}deg) scale(${b})`;if(ce(0,s).style.transform=y,s.style.zIndex=1-Math.abs(Math.round(u)),r.slideShadows){let e=n?s.querySelector(".swiper-slide-shadow-left"):s.querySelector(".swiper-slide-shadow-top"),t=n?s.querySelector(".swiper-slide-shadow-right"):s.querySelector(".swiper-slide-shadow-bottom");e||(e=me("coverflow",s,n?"left":"top")),t||(t=me("coverflow",s,n?"right":"bottom")),e&&(e.style.opacity=u>0?u:0),t&&(t.style.opacity=-u>0?-u:0)}}},setTransition:e=>{t.slides.map((e=>h(e))).forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((t=>{t.style.transitionDuration=`${e}ms`}))}))},perspective:()=>!0,overwriteParams:()=>({watchSlidesProgress:!0})})},function(e){let{swiper:t,extendParams:s,on:i}=e;s({creativeEffect:{limitProgress:1,shadowPerProgress:!1,progressMultiplier:1,perspective:!0,prev:{translate:[0,0,0],rotate:[0,0,0],opacity:1,scale:1},next:{translate:[0,0,0],rotate:[0,0,0],opacity:1,scale:1}}});const a=e=>"string"==typeof e?e:`${e}px`;pe({effect:"creative",swiper:t,on:i,setTranslate:()=>{const{slides:e,wrapperEl:s,slidesSizesGrid:i}=t,r=t.params.creativeEffect,{progressMultiplier:n}=r,l=t.params.centeredSlides;if(l){const e=i[0]/2-t.params.slidesOffsetBefore||0;s.style.transform=`translateX(calc(50% - ${e}px))`}for(let s=0;s<e.length;s+=1){const i=e[s],o=i.progress,d=Math.min(Math.max(i.progress,-r.limitProgress),r.limitProgress);let p=d;l||(p=Math.min(Math.max(i.originalProgress,-r.limitProgress),r.limitProgress));const c=i.swiperSlideOffset,u=[t.params.cssMode?-c-t.translate:-c,0,0],m=[0,0,0];let h=!1;t.isHorizontal()||(u[1]=u[0],u[0]=0);let f={translate:[0,0,0],rotate:[0,0,0],scale:1,opacity:1};d<0?(f=r.next,h=!0):d>0&&(f=r.prev,h=!0),u.forEach(((e,t)=>{u[t]=`calc(${e}px + (${a(f.translate[t])} * ${Math.abs(d*n)}))`})),m.forEach(((e,s)=>{let i=f.rotate[s]*Math.abs(d*n);t.browser&&t.browser.need3dFix&&Math.abs(i)/90%2==1&&(i+=.001),m[s]=i})),i.style.zIndex=-Math.abs(Math.round(o))+e.length;const g=u.join(", "),v=`rotateX(${m[0]}deg) rotateY(${m[1]}deg) rotateZ(${m[2]}deg)`,w=p<0?`scale(${1+(1-f.scale)*p*n})`:`scale(${1-(1-f.scale)*p*n})`,b=p<0?1+(1-f.opacity)*p*n:1-(1-f.opacity)*p*n,y=`translate3d(${g}) ${v} ${w}`;if(h&&f.shadow||!h){let e=i.querySelector(".swiper-slide-shadow");if(!e&&f.shadow&&(e=me("creative",i)),e){const t=r.shadowPerProgress?d*(1/r.limitProgress):d;e.style.opacity=Math.min(Math.max(Math.abs(t),0),1)}}const x=ce(0,i);x.style.transform=y,x.style.opacity=b,f.origin&&(x.style.transformOrigin=f.origin)}},setTransition:e=>{const s=t.slides.map((e=>h(e)));s.forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow").forEach((t=>{t.style.transitionDuration=`${e}ms`}))})),ue({swiper:t,duration:e,transformElements:s,allSlides:!0})},perspective:()=>t.params.creativeEffect.perspective,overwriteParams:()=>({watchSlidesProgress:!0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:i}=e;s({cardsEffect:{slideShadows:!0,rotate:!0,perSlideRotate:2,perSlideOffset:8}}),pe({effect:"cards",swiper:t,on:i,setTranslate:()=>{const{slides:e,activeIndex:s,rtlTranslate:i}=t,a=t.params.cardsEffect,{startTranslate:r,isTouched:n}=t.touchEventsData,l=i?-t.translate:t.translate;for(let o=0;o<e.length;o+=1){const d=e[o],p=d.progress,c=Math.min(Math.max(p,-4),4);let u=d.swiperSlideOffset;t.params.centeredSlides&&!t.params.cssMode&&(t.wrapperEl.style.transform=`translateX(${t.minTranslate()}px)`),t.params.centeredSlides&&t.params.cssMode&&(u-=e[0].swiperSlideOffset);let m=t.params.cssMode?-u-t.translate:-u,h=0;const f=-100*Math.abs(c);let g=1,v=-a.perSlideRotate*c,w=a.perSlideOffset-.75*Math.abs(c);const b=t.virtual&&t.params.virtual.enabled?t.virtual.from+o:o,y=(b===s||b===s-1)&&c>0&&c<1&&(n||t.params.cssMode)&&l<r,x=(b===s||b===s+1)&&c<0&&c>-1&&(n||t.params.cssMode)&&l>r;if(y||x){const e=(1-Math.abs((Math.abs(c)-.5)/.5))**.5;v+=-28*c*e,g+=-.5*e,w+=96*e,h=-25*e*Math.abs(c)+"%"}if(m=c<0?`calc(${m}px ${i?"-":"+"} (${w*Math.abs(c)}%))`:c>0?`calc(${m}px ${i?"-":"+"} (-${w*Math.abs(c)}%))`:`${m}px`,!t.isHorizontal()){const e=h;h=m,m=e}const E=c<0?""+(1+(1-g)*c):""+(1-(1-g)*c),S=`\n        translate3d(${m}, ${h}, ${f}px)\n        rotateZ(${a.rotate?i?-v:v:0}deg)\n        scale(${E})\n      `;if(a.slideShadows){let e=d.querySelector(".swiper-slide-shadow");e||(e=me("cards",d)),e&&(e.style.opacity=Math.min(Math.max((Math.abs(c)-.5)/.5,0),1))}d.style.zIndex=-Math.abs(Math.round(p))+e.length;ce(0,d).style.transform=S}},setTransition:e=>{const s=t.slides.map((e=>h(e)));s.forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow").forEach((t=>{t.style.transitionDuration=`${e}ms`}))})),ue({swiper:t,duration:e,transformElements:s})},perspective:()=>!0,overwriteParams:()=>({watchSlidesProgress:!0,virtualTranslate:!t.params.cssMode})})}];se.use(he);const fe=["eventsPrefix","injectStyles","injectStylesUrls","modules","init","_direction","oneWayMovement","swiperElementNodeName","touchEventsTarget","initialSlide","_speed","cssMode","updateOnWindowResize","resizeObserver","nested","focusableElements","_enabled","_width","_height","preventInteractionOnTransition","userAgent","url","_edgeSwipeDetection","_edgeSwipeThreshold","_freeMode","_autoHeight","setWrapperSize","virtualTranslate","_effect","breakpoints","breakpointsBase","_spaceBetween","_slidesPerView","maxBackfaceHiddenSlides","_grid","_slidesPerGroup","_slidesPerGroupSkip","_slidesPerGroupAuto","_centeredSlides","_centeredSlidesBounds","_slidesOffsetBefore","_slidesOffsetAfter","normalizeSlideIndex","_centerInsufficientSlides","_watchOverflow","roundLengths","touchRatio","touchAngle","simulateTouch","_shortSwipes","_longSwipes","longSwipesRatio","longSwipesMs","_followFinger","allowTouchMove","_threshold","touchMoveStopPropagation","touchStartPreventDefault","touchStartForcePreventDefault","touchReleaseOnEdges","uniqueNavElements","_resistance","_resistanceRatio","_watchSlidesProgress","_grabCursor","preventClicks","preventClicksPropagation","_slideToClickedSlide","_loop","loopAdditionalSlides","loopAddBlankSlides","loopPreventsSliding","_rewind","_allowSlidePrev","_allowSlideNext","_swipeHandler","_noSwiping","noSwipingClass","noSwipingSelector","passiveListeners","containerModifierClass","slideClass","slideActiveClass","slideVisibleClass","slideFullyVisibleClass","slideNextClass","slidePrevClass","slideBlankClass","wrapperClass","lazyPreloaderClass","lazyPreloadPrevNext","runCallbacksOnInit","observer","observeParents","observeSlideChildren","a11y","_autoplay","_controller","coverflowEffect","cubeEffect","fadeEffect","flipEffect","creativeEffect","cardsEffect","hashNavigation","history","keyboard","mousewheel","_navigation","_pagination","parallax","_scrollbar","_thumbs","virtual","zoom","control"];function ge(e){return"object"==typeof e&&null!==e&&e.constructor&&"Object"===Object.prototype.toString.call(e).slice(8,-1)&&!e.__swiper__}function ve(e,t){const s=["__proto__","constructor","prototype"];Object.keys(t).filter((e=>s.indexOf(e)<0)).forEach((s=>{void 0===e[s]?e[s]=t[s]:ge(t[s])&&ge(e[s])&&Object.keys(t[s]).length>0?t[s].__swiper__?e[s]=t[s]:ve(e[s],t[s]):e[s]=t[s]}))}function we(e){return void 0===e&&(e=""),e.replace(/-[a-z]/g,(e=>e.toUpperCase().replace("-","")))}const be=e=>{if(parseFloat(e)===Number(e))return Number(e);if("true"===e)return!0;if(""===e)return!0;if("false"===e)return!1;if("null"===e)return null;if("undefined"!==e){if("string"==typeof e&&e.includes("{")&&e.includes("}")&&e.includes('"')){let t;try{t=JSON.parse(e)}catch(s){t=e}return t}return e}},ye=["a11y","autoplay","controller","cards-effect","coverflow-effect","creative-effect","cube-effect","fade-effect","flip-effect","free-mode","grid","hash-navigation","history","keyboard","mousewheel","navigation","pagination","parallax","scrollbar","thumbs","virtual","zoom"];function xe(e,t,s){const i={},a={};ve(i,Q);const r=[...fe,"on"],n=r.map((e=>e.replace(/_/,"")));r.forEach((t=>{t=t.replace("_",""),void 0!==e[t]&&(a[t]=e[t])}));const l=[...e.attributes];return"string"==typeof t&&void 0!==s&&l.push({name:t,value:ge(s)?{...s}:s}),l.forEach((e=>{const t=ye.filter((t=>0===e.name.indexOf(`${t}-`)))[0];if(t){const s=we(t),i=we(e.name.split(`${t}-`)[1]);void 0===a[s]&&(a[s]={}),!0===a[s]&&(a[s]={enabled:!0}),a[s][i]=be(e.value)}else{const t=we(e.name);if(!n.includes(t))return;const s=be(e.value);a[t]&&ye.includes(e.name)&&!ge(s)?(a[t].constructor!==Object&&(a[t]={}),a[t].enabled=!!s):a[t]=s}})),ve(i,a),i.navigation?i.navigation={prevEl:".swiper-button-prev",nextEl:".swiper-button-next",...!0!==i.navigation?i.navigation:{}}:!1===i.navigation&&delete i.navigation,i.scrollbar?i.scrollbar={el:".swiper-scrollbar",...!0!==i.scrollbar?i.scrollbar:{}}:!1===i.scrollbar&&delete i.scrollbar,i.pagination?i.pagination={el:".swiper-pagination",...!0!==i.pagination?i.pagination:{}}:!1===i.pagination&&delete i.pagination,{params:i,passedParams:a}}const Ee=":host{--swiper-theme-color:#007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{width:100%;height:100%;margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box}.swiper-android ::slotted(swiper-slide),.swiper-ios ::slotted(swiper-slide),.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}::slotted(swiper-slide){flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}::slotted(.swiper-slide-invisible-blank){visibility:hidden}.swiper-autoheight,.swiper-autoheight ::slotted(swiper-slide){height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden ::slotted(swiper-slide){transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d ::slotted(swiper-slide){transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode ::slotted(swiper-slide){scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode ::slotted(swiper-slide){scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered ::slotted(swiper-slide){scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal ::slotted(swiper-slide):first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical ::slotted(swiper-slide):first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-virtual ::slotted(swiper-slide){-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)}:host{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:var(--swiper-navigation-top-offset,50%);width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next svg,.swiper-button-prev svg{width:100%;height:100%;object-fit:contain;transform-origin:center}.swiper-rtl .swiper-button-next svg,.swiper-rtl .swiper-button-prev svg{transform:rotate(180deg)}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:var(--swiper-navigation-sides-offset,10px);right:auto}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);top:var(--swiper-pagination-top,auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius,50%);background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:var(--swiper-pagination-right,8px);left:var(--swiper-pagination-left,auto);top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,rgba(0,0,0,.25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:var(--swiper-pagination-progressbar-size,4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;touch-action:none;background:var(--swiper-scrollbar-bg-color,rgba(0,0,0,.1))}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:var(--swiper-scrollbar-sides-offset,1%);bottom:var(--swiper-scrollbar-bottom,4px);top:var(--swiper-scrollbar-top,auto);z-index:50;height:var(--swiper-scrollbar-size,4px);width:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;left:var(--swiper-scrollbar-left,auto);right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);z-index:50;width:var(--swiper-scrollbar-size,4px);height:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:var(--swiper-scrollbar-drag-bg-color,rgba(0,0,0,.5));border-radius:var(--swiper-scrollbar-border-radius,10px);left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}::slotted(.swiper-slide-zoomed){cursor:move;touch-action:none}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode ::slotted(swiper-slide){transition-timing-function:ease-out}.swiper-fade ::slotted(swiper-slide){pointer-events:none;transition-property:opacity}.swiper-fade ::slotted(swiper-slide) ::slotted(swiper-slide){pointer-events:none}.swiper-fade ::slotted(.swiper-slide-active){pointer-events:auto}.swiper-fade ::slotted(.swiper-slide-active) ::slotted(.swiper-slide-active){pointer-events:auto}.swiper-cube{overflow:visible}.swiper-cube ::slotted(swiper-slide){pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube ::slotted(swiper-slide) ::slotted(swiper-slide){pointer-events:none}.swiper-cube.swiper-rtl ::slotted(swiper-slide){transform-origin:100% 0}.swiper-cube ::slotted(.swiper-slide-active),.swiper-cube ::slotted(.swiper-slide-active) ::slotted(.swiper-slide-active){pointer-events:auto}.swiper-cube ::slotted(.swiper-slide-active),.swiper-cube ::slotted(.swiper-slide-next),.swiper-cube ::slotted(.swiper-slide-prev){pointer-events:auto;visibility:visible}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-cube ::slotted(.swiper-slide-next)+::slotted(swiper-slide){pointer-events:auto;visibility:visible}.swiper-flip{overflow:visible}.swiper-flip ::slotted(swiper-slide){pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip ::slotted(swiper-slide) ::slotted(swiper-slide){pointer-events:none}.swiper-flip ::slotted(.swiper-slide-active),.swiper-flip ::slotted(.swiper-slide-active) ::slotted(.swiper-slide-active){pointer-events:auto}.swiper-creative ::slotted(swiper-slide){-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper-cards{overflow:visible}.swiper-cards ::slotted(swiper-slide){transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}";const Se="undefined"==typeof window||"undefined"==typeof HTMLElement?class{}:HTMLElement,Te='<svg width="11" height="20" viewBox="0 0 11 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.38296 20.0762C0.111788 19.805 0.111788 19.3654 0.38296 19.0942L9.19758 10.2796L0.38296 1.46497C0.111788 1.19379 0.111788 0.754138 0.38296 0.482966C0.654131 0.211794 1.09379 0.211794 1.36496 0.482966L10.4341 9.55214C10.8359 9.9539 10.8359 10.6053 10.4341 11.007L1.36496 20.0762C1.09379 20.3474 0.654131 20.3474 0.38296 20.0762Z" fill="currentColor"/></svg>\n    ',Me=(e,t)=>{if("undefined"!=typeof CSSStyleSheet&&e.adoptedStyleSheets){const s=new CSSStyleSheet;s.replaceSync(t),e.adoptedStyleSheets=[s]}else{const s=document.createElement("style");s.rel="stylesheet",s.textContent=t,e.appendChild(s)}};class Ce extends Se{constructor(){super(),this.attachShadow({mode:"open"})}static get nextButtonSvg(){return Te}static get prevButtonSvg(){return Te.replace("/></svg>",' transform-origin="center" transform="rotate(180)"/></svg>')}cssStyles(){return[Ee,...this.injectStyles&&Array.isArray(this.injectStyles)?this.injectStyles:[]].join("\n")}cssLinks(){return this.injectStylesUrls||[]}calcSlideSlots(){const e=this.slideSlots||0,t=[...this.querySelectorAll("[slot^=slide-]")].map((e=>parseInt(e.getAttribute("slot").split("slide-")[1],10)));if(this.slideSlots=t.length?Math.max(...t)+1:0,this.rendered)if(this.slideSlots>e)for(let t=e;t<this.slideSlots;t+=1){const e=document.createElement("swiper-slide");e.setAttribute("part",`slide slide-${t+1}`);const s=document.createElement("slot");s.setAttribute("name",`slide-${t+1}`),e.appendChild(s),this.shadowRoot.querySelector(".swiper-wrapper").appendChild(e)}else if(this.slideSlots<e){const e=this.swiper.slides;for(let t=e.length-1;t>=0;t-=1)t>this.slideSlots&&e[t].remove()}}render(){if(this.rendered)return;this.calcSlideSlots();let e=this.cssStyles();this.slideSlots>0&&(e=e.replace(/::slotted\(([a-z-0-9.]*)\)/g,"$1")),e.length&&Me(this.shadowRoot,e),this.cssLinks().forEach((e=>{if(this.shadowRoot.querySelector(`link[href="${e}"]`))return;const t=document.createElement("link");t.rel="stylesheet",t.href=e,this.shadowRoot.appendChild(t)}));const t=document.createElement("div");var s;t.classList.add("swiper"),t.part="container",t.innerHTML=`\n      <slot name="container-start"></slot>\n      <div class="swiper-wrapper" part="wrapper">\n        <slot></slot>\n        ${Array.from({length:this.slideSlots}).map(((e,t)=>`\n        <swiper-slide part="slide slide-${t}">\n          <slot name="slide-${t}"></slot>\n        </swiper-slide>\n        `)).join("")}\n      </div>\n      <slot name="container-end"></slot>\n      ${s=this.passedParams,void 0===s&&(s={}),s.navigation&&void 0===s.navigation.nextEl&&void 0===s.navigation.prevEl?`\n        <div part="button-prev" class="swiper-button-prev">${this.constructor.prevButtonSvg}</div>\n        <div part="button-next" class="swiper-button-next">${this.constructor.nextButtonSvg}</div>\n      `:""}\n      ${function(e){return void 0===e&&(e={}),e.pagination&&void 0===e.pagination.el}(this.passedParams)?'\n        <div part="pagination" class="swiper-pagination"></div>\n      ':""}\n      ${function(e){return void 0===e&&(e={}),e.scrollbar&&void 0===e.scrollbar.el}(this.passedParams)?'\n        <div part="scrollbar" class="swiper-scrollbar"></div>\n      ':""}\n    `,this.shadowRoot.appendChild(t),this.rendered=!0}initialize(){var e=this;if(this.initialized)return;this.initialized=!0;const{params:t,passedParams:s}=xe(this);this.swiperParams=t,this.passedParams=s,delete this.swiperParams.init,this.render(),this.swiper=new se(this.shadowRoot.querySelector(".swiper"),{...t.virtual?{}:{observer:!0,observeSlideChildren:this.slideSlots>0},...t,touchEventsTarget:"container",onAny:function(s){"observerUpdate"===s&&e.calcSlideSlots();const i=t.eventsPrefix?`${t.eventsPrefix}${s.toLowerCase()}`:s.toLowerCase();for(var a=arguments.length,r=new Array(a>1?a-1:0),n=1;n<a;n++)r[n-1]=arguments[n];const l=new CustomEvent(i,{detail:r,bubbles:"hashChange"!==s,cancelable:!0});e.dispatchEvent(l)}})}connectedCallback(){this.initialized&&this.nested&&this.closest("swiper-slide")&&this.closest("swiper-slide").swiperLoopMoveDOM||!1!==this.init&&"false"!==this.getAttribute("init")&&this.initialize()}disconnectedCallback(){this.nested&&this.closest("swiper-slide")&&this.closest("swiper-slide").swiperLoopMoveDOM||(this.swiper&&this.swiper.destroy&&this.swiper.destroy(),this.initialized=!1)}updateSwiperOnPropChange(e,t){const{params:s,passedParams:i}=xe(this,e,t);this.passedParams=i,this.swiperParams=s,this.swiper&&this.swiper.params[e]===t||function(e){let{swiper:t,slides:s,passedParams:i,changedParams:a,nextEl:r,prevEl:n,scrollbarEl:l,paginationEl:o}=e;const d=a.filter((e=>"children"!==e&&"direction"!==e&&"wrapperClass"!==e)),{params:p,pagination:c,navigation:u,scrollbar:m,virtual:h,thumbs:f}=t;let g,v,w,b,y,x,E,S;a.includes("thumbs")&&i.thumbs&&i.thumbs.swiper&&p.thumbs&&!p.thumbs.swiper&&(g=!0),a.includes("controller")&&i.controller&&i.controller.control&&p.controller&&!p.controller.control&&(v=!0),a.includes("pagination")&&i.pagination&&(i.pagination.el||o)&&(p.pagination||!1===p.pagination)&&c&&!c.el&&(w=!0),a.includes("scrollbar")&&i.scrollbar&&(i.scrollbar.el||l)&&(p.scrollbar||!1===p.scrollbar)&&m&&!m.el&&(b=!0),a.includes("navigation")&&i.navigation&&(i.navigation.prevEl||n)&&(i.navigation.nextEl||r)&&(p.navigation||!1===p.navigation)&&u&&!u.prevEl&&!u.nextEl&&(y=!0);const T=e=>{t[e]&&(t[e].destroy(),"navigation"===e?(t.isElement&&(t[e].prevEl.remove(),t[e].nextEl.remove()),p[e].prevEl=void 0,p[e].nextEl=void 0,t[e].prevEl=void 0,t[e].nextEl=void 0):(t.isElement&&t[e].el.remove(),p[e].el=void 0,t[e].el=void 0))};a.includes("loop")&&t.isElement&&(p.loop&&!i.loop?x=!0:!p.loop&&i.loop?E=!0:S=!0),d.forEach((e=>{if(ge(p[e])&&ge(i[e]))Object.assign(p[e],i[e]),"navigation"!==e&&"pagination"!==e&&"scrollbar"!==e||!("enabled"in i[e])||i[e].enabled||T(e);else{const t=i[e];!0!==t&&!1!==t||"navigation"!==e&&"pagination"!==e&&"scrollbar"!==e?p[e]=i[e]:!1===t&&T(e)}})),d.includes("controller")&&!v&&t.controller&&t.controller.control&&p.controller&&p.controller.control&&(t.controller.control=p.controller.control),a.includes("children")&&s&&h&&p.virtual.enabled?(h.slides=s,h.update(!0)):a.includes("virtual")&&h&&p.virtual.enabled&&(s&&(h.slides=s),h.update(!0)),a.includes("children")&&s&&p.loop&&(S=!0),g&&f.init()&&f.update(!0);v&&(t.controller.control=p.controller.control),w&&(!t.isElement||o&&"string"!=typeof o||(o=document.createElement("div"),o.classList.add("swiper-pagination"),o.part.add("pagination"),t.el.appendChild(o)),o&&(p.pagination.el=o),c.init(),c.render(),c.update()),b&&(!t.isElement||l&&"string"!=typeof l||(l=document.createElement("div"),l.classList.add("swiper-scrollbar"),l.part.add("scrollbar"),t.el.appendChild(l)),l&&(p.scrollbar.el=l),m.init(),m.updateSize(),m.setTranslate()),y&&(t.isElement&&(r&&"string"!=typeof r||(r=document.createElement("div"),r.classList.add("swiper-button-next"),r.innerHTML=t.hostEl.constructor.nextButtonSvg,r.part.add("button-next"),t.el.appendChild(r)),n&&"string"!=typeof n||(n=document.createElement("div"),n.classList.add("swiper-button-prev"),n.innerHTML=t.hostEl.constructor.prevButtonSvg,n.part.add("button-prev"),t.el.appendChild(n))),r&&(p.navigation.nextEl=r),n&&(p.navigation.prevEl=n),u.init(),u.update()),a.includes("allowSlideNext")&&(t.allowSlideNext=i.allowSlideNext),a.includes("allowSlidePrev")&&(t.allowSlidePrev=i.allowSlidePrev),a.includes("direction")&&t.changeDirection(i.direction,!1),(x||S)&&t.loopDestroy(),(E||S)&&t.loopCreate(),t.update()}({swiper:this.swiper,passedParams:this.passedParams,changedParams:[we(e)],..."navigation"===e&&i[e]?{prevEl:".swiper-button-prev",nextEl:".swiper-button-next"}:{},..."pagination"===e&&i[e]?{paginationEl:".swiper-pagination"}:{},..."scrollbar"===e&&i[e]?{scrollbarEl:".swiper-scrollbar"}:{}})}attributeChangedCallback(e,t,s){this.initialized&&("true"===t&&null===s&&(s=!1),this.updateSwiperOnPropChange(e,s))}static get observedAttributes(){return fe.filter((e=>e.includes("_"))).map((e=>e.replace(/[A-Z]/g,(e=>`-${e}`)).replace("_","").toLowerCase()))}}fe.forEach((e=>{"init"!==e&&(e=e.replace("_",""),Object.defineProperty(Ce.prototype,e,{configurable:!0,get(){return(this.passedParams||{})[e]},set(t){this.passedParams||(this.passedParams={}),this.passedParams[e]=t,this.initialized&&this.updateSwiperOnPropChange(e,t)}}))}));class Pe extends Se{constructor(){super(),this.attachShadow({mode:"open"})}render(){const e=this.lazy||""===this.getAttribute("lazy")||"true"===this.getAttribute("lazy");if(Me(this.shadowRoot,"::slotted(.swiper-slide-shadow),::slotted(.swiper-slide-shadow-bottom),::slotted(.swiper-slide-shadow-left),::slotted(.swiper-slide-shadow-right),::slotted(.swiper-slide-shadow-top){position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}::slotted(.swiper-slide-shadow){background:rgba(0,0,0,.15)}::slotted(.swiper-slide-shadow-left){background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}::slotted(.swiper-slide-shadow-right){background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}::slotted(.swiper-slide-shadow-top){background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}::slotted(.swiper-slide-shadow-bottom){background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear;width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}::slotted(.swiper-slide-shadow-cube.swiper-slide-shadow-bottom),::slotted(.swiper-slide-shadow-cube.swiper-slide-shadow-left),::slotted(.swiper-slide-shadow-cube.swiper-slide-shadow-right),::slotted(.swiper-slide-shadow-cube.swiper-slide-shadow-top){z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}::slotted(.swiper-slide-shadow-flip.swiper-slide-shadow-bottom),::slotted(.swiper-slide-shadow-flip.swiper-slide-shadow-left),::slotted(.swiper-slide-shadow-flip.swiper-slide-shadow-right),::slotted(.swiper-slide-shadow-flip.swiper-slide-shadow-top){z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}::slotted(.swiper-zoom-container){width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}::slotted(.swiper-zoom-container)>canvas,::slotted(.swiper-zoom-container)>img,::slotted(.swiper-zoom-container)>svg{max-width:100%;max-height:100%;object-fit:contain}"),this.shadowRoot.appendChild(document.createElement("slot")),e){const e=document.createElement("div");e.classList.add("swiper-lazy-preloader"),e.part.add("preloader"),this.shadowRoot.appendChild(e)}}initialize(){this.render()}connectedCallback(){this.initialize()}}"undefined"!=typeof window&&(window.SwiperElementRegisterParams=e=>{fe.push(...e)}),"undefined"!=typeof window&&(window.customElements.get("swiper-container")||window.customElements.define("swiper-container",Ce),window.customElements.get("swiper-slide")||window.customElements.define("swiper-slide",Pe))}();
+//# sourceMappingURL=swiper-element-bundle.min.js.map(파일 끝에 줄바꿈 문자 없음)
 
client/resources/svg/Lock.svg (added)
+++ client/resources/svg/Lock.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="size-6">
+  <path stroke-linecap="round" stroke-linejoin="round" d="M16.5 10.5V6.75a4.5 4.5 0 1 0-9 0v3.75m-.75 11.25h10.5a2.25 2.25 0 0 0 2.25-2.25v-6.75a2.25 2.25 0 0 0-2.25-2.25H6.75a2.25 2.25 0 0 0-2.25 2.25v6.75a2.25 2.25 0 0 0 2.25 2.25Z" />
+</svg>
 
client/smarteditor2-2.8.2.3/README.md (added)
+++ client/smarteditor2-2.8.2.3/README.md
@@ -0,0 +1,1 @@
+# SmartEditor2(파일 끝에 줄바꿈 문자 없음)
 
client/smarteditor2-2.8.2.3/SmartEditor2.html (added)
+++ client/smarteditor2-2.8.2.3/SmartEditor2.html
@@ -0,0 +1,78 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<title>네이버 :: Smart Editor 2 &#8482;</title>
+<script type="text/javascript" src="./js/service/HuskyEZCreator.js" charset="utf-8"></script>
+</head>
+<body>
+<form action="sample/viewer/index.php" method="post">
+	<textarea name="ir1" id="ir1" rows="10" cols="100" style="width:766px; height:412px; display:none;"></textarea>
+	<!--textarea name="ir1" id="ir1" rows="10" cols="100" style="width:100%; height:412px; min-width:610px; display:none;"></textarea-->
+	<p>
+		<input type="button" onclick="pasteHTML();" value="본문에 내용 넣기" />
+		<input type="button" onclick="showHTML();" value="본문 내용 가져오기" />
+		<input type="button" onclick="submitContents(this);" value="서버로 내용 전송" />
+		<input type="button" onclick="setDefaultFont();" value="기본 폰트 지정하기 (궁서_24)" />
+	</p>
+</form>
+
+<script type="text/javascript">
+var oEditors = [];
+
+var sLang = "ko_KR";	// 언어 (ko_KR/ en_US/ ja_JP/ zh_CN/ zh_TW), default = ko_KR
+
+// 추가 글꼴 목록
+//var aAdditionalFontSet = [["MS UI Gothic", "MS UI Gothic"], ["Comic Sans MS", "Comic Sans MS"],["TEST","TEST"]];
+
+nhn.husky.EZCreator.createInIFrame({
+	oAppRef: oEditors,
+	elPlaceHolder: "ir1",
+	sSkinURI: "SmartEditor2Skin.html",	
+	htParams : {
+		bUseToolbar : true,				// 툴바 사용 여부 (true:사용/ false:사용하지 않음)
+		bUseVerticalResizer : true,		// 입력창 크기 조절바 사용 여부 (true:사용/ false:사용하지 않음)
+		bUseModeChanger : true,			// 모드 탭(Editor | HTML | TEXT) 사용 여부 (true:사용/ false:사용하지 않음)
+		//bSkipXssFilter : true,		// client-side xss filter 무시 여부 (true:사용하지 않음 / 그외:사용)
+		//aAdditionalFontList : aAdditionalFontSet,		// 추가 글꼴 목록
+		fOnBeforeUnload : function(){
+			//alert("완료!");
+		},
+		I18N_LOCALE : sLang
+	}, //boolean
+	fOnAppLoad : function(){
+		//예제 코드
+		//oEditors.getById["ir1"].exec("PASTE_HTML", ["로딩이 완료된 후에 본문에 삽입되는 text입니다."]);
+	},
+	fCreator: "createSEditor2"
+});
+
+function pasteHTML() {
+	var sHTML = "<span style='color:#FF0000;'>이미지도 같은 방식으로 삽입합니다.<\/span>";
+	oEditors.getById["ir1"].exec("PASTE_HTML", [sHTML]);
+}
+
+function showHTML() {
+	var sHTML = oEditors.getById["ir1"].getIR();
+	alert(sHTML);
+}
+	
+function submitContents(elClickedObj) {
+	oEditors.getById["ir1"].exec("UPDATE_CONTENTS_FIELD", []);	// 에디터의 내용이 textarea에 적용됩니다.
+	
+	// 에디터의 내용에 대한 값 검증은 이곳에서 document.getElementById("ir1").value를 이용해서 처리하면 됩니다.
+	
+	try {
+		elClickedObj.form.submit();
+	} catch(e) {}
+}
+
+function setDefaultFont() {
+	var sDefaultFont = '궁서';
+	var nFontSize = 24;
+	oEditors.getById["ir1"].setDefaultFont(sDefaultFont, nFontSize);
+}
+</script>
+
+</body>
+</html>(파일 끝에 줄바꿈 문자 없음)
 
client/smarteditor2-2.8.2.3/SmartEditor2Skin.html (added)
+++ client/smarteditor2-2.8.2.3/SmartEditor2Skin.html
@@ -0,0 +1,859 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="ko">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta http-equiv="Content-Script-Type" content="text/javascript">
+<meta http-equiv="Content-Style-Type" content="text/css">
+<title>네이버 :: Smart Editor 2 &#8482;</title>
+<link href="css/ko_KR/smart_editor2.css" rel="stylesheet" type="text/css">
+<style type="text/css">
+	body { margin: 10px; }
+</style>
+<script type="text/javascript" src="./js/lib/jindo2.all.js" charset="utf-8"></script>
+<script type="text/javascript" src="./js/lib/jindo_component.js" charset="utf-8"></script>
+<script type="text/javascript" src="./js/service/SE2M_Configuration.js" charset="utf-8"></script>	<!-- 설정 파일 -->
+<script type="text/javascript" src="./js/service/SE2BasicCreator.js" charset="utf-8"></script>
+<script type="text/javascript" src="./js/smarteditor2.js" charset="utf-8"></script>
+<!-- 23.04.27 방선주 이미지 크기 조정을 위해 추가 -->
+<!-- <script type="text/javascript" src="./js/service/hp_SE_QuickEditor_Image.js" charset="utf-8"></script>  -->
+
+<!-- 사진첨부샘플  -->
+<script type="text/javascript" src="./sample/js/plugin/hp_SE2M_AttachQuickPhoto.js" charset="utf-8"></script>
+	<script>
+		function customInit() {
+			document.getElementById("custom_se2_input_htmlsrc_id").addEventListener("paste", function (e) {
+				//console.log("sdfsdfsdfsdf00");
+				replace(e);
+			});
+			document.getElementById("custom_se2_input_text_id").addEventListener("paste", function (e) {
+				//console.log("sdfsdfsdfsdf11");
+				replace(e);
+			})
+		}
+
+		function replace (e) {
+			try {
+				//console.log("se2_input_syntax se2_input_htmlsrc paste html e : ", e.clipboardData.getData('text/html'));
+				//console.log("se2_input_syntax se2_input_htmlsrc paste plain e : ", e.clipboardData.getData('text/plain'));
+				let htmlText = e.clipboardData.getData('text/html');
+				if (htmlText == undefined || htmlText == null || htmlText == '') {
+					htmlText = e.clipboardData.getData('text/plain');
+				}
+				if (htmlText != undefined && htmlText != null && htmlText != '') {
+
+					setTimeout(function () {
+						let hwpjsonIndex = htmlText.indexOf('<!--[data-hwpjson]{');
+						//console.log("hwpjsonIndex : ", hwpjsonIndex);
+						let newHtmlText = htmlText;
+						if (hwpjsonIndex > -1) {
+							newHtmlText = htmlText.substring(0, hwpjsonIndex);
+						}
+						newHtmlText = newHtmlText.replace(/<!--/g, '');
+						newHtmlText = newHtmlText.replace(/-->/g, '');
+						newHtmlText = newHtmlText.replace(/<!/g, '');
+
+						e.target.value = newHtmlText;
+					}, 400);
+				}
+
+			} catch (e1) {
+				console.log(e1);
+			}
+		}
+	</script>
+</head>
+<body onload="customInit()">
+
+
+
+<!-- <span id="rev">Version: 2.9.1.5caeebb </span> -->
+
+<!-- SE2 Markup Start -->	
+<div id="smart_editor2">
+	<div id="smart_editor2_content">
+		<a href="#se2_iframe" class="blind">글쓰기영역으로 바로가기</a>
+		<div class="se2_tool" id="se2_tool">
+			
+			<div class="se2_text_tool husky_seditor_text_tool">
+			<ul class="se2_font_type">
+				<li class="husky_seditor_ui_fontName"><button type="button" class="se2_font_family" title="글꼴"><span class="husky_se2m_current_fontName">글꼴</span></button>
+					<!-- 글꼴 레이어 -->
+					<div class="se2_layer husky_se_fontName_layer">
+						<div class="se2_in_layer">
+							<ul class="se2_l_font_fam">
+								<li style="display:none"><button type="button"><span>@DisplayName@<span>(</span><em style="font-family:FontFamily;">@SampleText@</em><span>)</span></span></button></li>
+								<li class="se2_division husky_seditor_font_separator"></li>
+								<li><button type="button"><span>나눔고딕<span>(</span><em style="font-family:'나눔고딕',NanumGothic;">가나다라</em><span>)</span></span></button></li>
+								<li><button type="button"><span>나눔명조<span>(</span><em style="font-family:'나눔명조',NanumMyeongjo;">가나다라</em><span>)</span></span></button></li>
+								<li><button type="button"><span>나눔고딕코딩<span>(</span><em style="font-family:'나눔고딕코딩',NanumGothicCoding;">가나다라</em><span>)</span></span></button></li>
+								<li><button type="button"><span>나눔바른고딕<span>(</span><em style="font-family:'나눔바른고딕',NanumBarunGothic,NanumBarunGothicOTF;">가나다라</em><span>)</span></span></button></li>
+								<li><button type="button"><span>나눔바른펜<span>(</span><em style="font-family:'나눔바른펜',NanumBarunpen;">가나다라</em><span>)</span></span></button></li>
+							</ul>
+						</div>
+					</div>
+					<!-- //글꼴 레이어 -->
+				</li>
+
+				<li class="husky_seditor_ui_fontSize"><button type="button" class="se2_font_size" title="글자크기"><span class="husky_se2m_current_fontSize">크기</span></button>
+					<!-- 폰트 사이즈 레이어 -->
+					<div class="se2_layer husky_se_fontSize_layer">
+						<div class="se2_in_layer">
+							<ul class="se2_l_font_size">
+							<li><button type="button"><span style="margin-top:4px; margin-bottom:3px; margin-left:5px; font-size:7pt;">가나다라마바사<span style=" font-size:7pt;">(7pt)</span></span></button></li>
+							<li><button type="button"><span style="margin-bottom:2px; font-size:8pt;">가나다라마바사<span style="font-size:8pt;">(8pt)</span></span></button></li>
+							<li><button type="button"><span style="margin-bottom:1px; font-size:9pt;">가나다라마바사<span style="font-size:9pt;">(9pt)</span></span></button></li>
+							<li><button type="button"><span style="margin-bottom:1px; font-size:10pt;">가나다라마바사<span style="font-size:10pt;">(10pt)</span></span></button></li>
+							<li><button type="button"><span style="margin-bottom:2px; font-size:11pt;">가나다라마바사<span style="font-size:11pt;">(11pt)</span></span></button></li>
+							<li><button type="button"><span style="margin-bottom:1px; font-size:12pt;">가나다라마바사<span style="font-size:12pt;">(12pt)</span></span></button></li>
+							<li><button type="button"><span style="margin-bottom:2px; font-size:14pt;">가나다라마바사<span style="margin-left:6px;font-size:14pt;">(14pt)</span></span></button></li>
+							<li><button type="button"><span style="margin-bottom:1px; font-size:18pt;">가나다라마바사<span style="margin-left:8px;font-size:18pt;">(18pt)</span></span></button></li>
+							<li><button type="button"><span style="margin-left:3px; font-size:24pt;">가나다라마<span style="margin-left:11px;font-size:24pt;">(24pt)</span></span></button></li>
+							<li><button type="button"><span style="margin-top:-1px; margin-left:3px; font-size:36pt;">가나다<span style="font-size:36pt;">(36pt)</span></span></button></li>
+							</ul>
+						</div>
+					</div>
+					<!-- //폰트 사이즈 레이어 -->
+				</li>
+</ul><ul>
+				<li class="husky_seditor_ui_bold first_child"><button type="button" title="굵게[Ctrl+B]" class="se2_bold"><span class="_buttonRound tool_bg">굵게[Ctrl+B]</span></button></li>
+
+				<li class="husky_seditor_ui_underline"><button type="button" title="밑줄[Ctrl+U]" class="se2_underline"><span class="_buttonRound">밑줄[Ctrl+U]</span></button></li>
+
+				<li class="husky_seditor_ui_italic"><button type="button" title="기울임꼴[Ctrl+I]" class="se2_italic"><span class="_buttonRound">기울임꼴[Ctrl+I]</span></button></li>
+
+				<li class="husky_seditor_ui_lineThrough"><button type="button" title="취소선[Ctrl+D]" class="se2_tdel"><span class="_buttonRound">취소선[Ctrl+D]</span></button></li>
+
+				<li class="se2_pair husky_seditor_ui_fontColor"><span class="selected_color husky_se2m_fontColor_lastUsed" style="background-color:#4477f9"></span><span class="husky_seditor_ui_fontColorA"><button type="button" title="글자색" class="se2_fcolor"><span>글자색</span></button></span><span class="husky_seditor_ui_fontColorB"><button type="button" title="더보기" class="se2_fcolor_more"><span class="_buttonRound">더보기</span></button></span>				
+					<!-- 글자색 -->
+					<div class="se2_layer husky_se2m_fontcolor_layer" style="display:none">
+						<div class="se2_in_layer husky_se2m_fontcolor_paletteHolder">
+							<div class="se2_palette husky_se2m_color_palette">
+								<ul class="se2_pick_color">
+								<li><button type="button" title="#ff0000" style="background:#ff0000"><span><span>#ff0000</span></span></button></li>
+								<li><button type="button" title="#ff6c00" style="background:#ff6c00"><span><span>#ff6c00</span></span></button></li>
+								<li><button type="button" title="#ffaa00" style="background:#ffaa00"><span><span>#ffaa00</span></span></button></li>
+								<li><button type="button" title="#ffef00" style="background:#ffef00"><span><span>#ffef00</span></span></button></li>
+								<li><button type="button" title="#a6cf00" style="background:#a6cf00"><span><span>#a6cf00</span></span></button></li>
+								<li><button type="button" title="#009e25" style="background:#009e25"><span><span>#009e25</span></span></button></li>
+								<li><button type="button" title="#00b0a2" style="background:#00b0a2"><span><span>#00b0a2</span></span></button></li>
+								<li><button type="button" title="#0075c8" style="background:#0075c8"><span><span>#0075c8</span></span></button></li>
+								<li><button type="button" title="#3a32c3" style="background:#3a32c3"><span><span>#3a32c3</span></span></button></li>
+								<li><button type="button" title="#7820b9" style="background:#7820b9"><span><span>#7820b9</span></span></button></li>
+								<li><button type="button" title="#ef007c" style="background:#ef007c"><span><span>#ef007c</span></span></button></li>
+								<li><button type="button" title="#000000" style="background:#000000"><span><span>#000000</span></span></button></li>
+								<li><button type="button" title="#252525" style="background:#252525"><span><span>#252525</span></span></button></li>
+								<li><button type="button" title="#464646" style="background:#464646"><span><span>#464646</span></span></button></li>
+								<li><button type="button" title="#636363" style="background:#636363"><span><span>#636363</span></span></button></li>
+								<li><button type="button" title="#7d7d7d" style="background:#7d7d7d"><span><span>#7d7d7d</span></span></button></li>
+								<li><button type="button" title="#9a9a9a" style="background:#9a9a9a"><span><span>#9a9a9a</span></span></button></li>
+								<li><button type="button" title="#ffe8e8" style="background:#ffe8e8"><span><span>#9a9a9a</span></span></button></li>
+								<li><button type="button" title="#f7e2d2" style="background:#f7e2d2"><span><span>#f7e2d2</span></span></button></li>
+								<li><button type="button" title="#f5eddc" style="background:#f5eddc"><span><span>#f5eddc</span></span></button></li>
+								<li><button type="button" title="#f5f4e0" style="background:#f5f4e0"><span><span>#f5f4e0</span></span></button></li>
+								<li><button type="button" title="#edf2c2" style="background:#edf2c2"><span><span>#edf2c2</span></span></button></li>
+								<li><button type="button" title="#def7e5" style="background:#def7e5"><span><span>#def7e5</span></span></button></li>
+								<li><button type="button" title="#d9eeec" style="background:#d9eeec"><span><span>#d9eeec</span></span></button></li>
+								<li><button type="button" title="#c9e0f0" style="background:#c9e0f0"><span><span>#c9e0f0</span></span></button></li>
+								<li><button type="button" title="#d6d4eb" style="background:#d6d4eb"><span><span>#d6d4eb</span></span></button></li>
+								<li><button type="button" title="#e7dbed" style="background:#e7dbed"><span><span>#e7dbed</span></span></button></li>
+								<li><button type="button" title="#f1e2ea" style="background:#f1e2ea"><span><span>#f1e2ea</span></span></button></li>
+								<li><button type="button" title="#acacac" style="background:#acacac"><span><span>#acacac</span></span></button></li>
+								<li><button type="button" title="#c2c2c2" style="background:#c2c2c2"><span><span>#c2c2c2</span></span></button></li>
+								<li><button type="button" title="#cccccc" style="background:#cccccc"><span><span>#cccccc</span></span></button></li>
+								<li><button type="button" title="#e1e1e1" style="background:#e1e1e1"><span><span>#e1e1e1</span></span></button></li>
+								<li><button type="button" title="#ebebeb" style="background:#ebebeb"><span><span>#ebebeb</span></span></button></li>
+								<li><button type="button" title="#ffffff" style="background:#ffffff"><span><span>#ffffff</span></span></button></li>
+								</ul>
+								<ul class="se2_pick_color" style="width:156px;">
+								<li><button type="button" title="#e97d81" style="background:#e97d81"><span><span>#e97d81</span></span></button></li>
+								<li><button type="button" title="#e19b73" style="background:#e19b73"><span><span>#e19b73</span></span></button></li>
+								<li><button type="button" title="#d1b274" style="background:#d1b274"><span><span>#d1b274</span></span></button></li>
+								<li><button type="button" title="#cfcca2" style="background:#cfcca2"><span><span>#cfcca2</span></span></button></li>
+								<li><button type="button" title="#cfcca2" style="background:#cfcca2"><span><span>#cfcca2</span></span></button></li>
+								<li><button type="button" title="#61b977" style="background:#61b977"><span><span>#61b977</span></span></button></li>
+								<li><button type="button" title="#53aea8" style="background:#53aea8"><span><span>#53aea8</span></span></button></li>
+								<li><button type="button" title="#518fbb" style="background:#518fbb"><span><span>#518fbb</span></span></button></li>
+								<li><button type="button" title="#6a65bb" style="background:#6a65bb"><span><span>#6a65bb</span></span></button></li>
+								<li><button type="button" title="#9a54ce" style="background:#9a54ce"><span><span>#9a54ce</span></span></button></li>
+								<li><button type="button" title="#e573ae" style="background:#e573ae"><span><span>#e573ae</span></span></button></li>
+								<li><button type="button" title="#5a504b" style="background:#5a504b"><span><span>#5a504b</span></span></button></li>
+								<li><button type="button" title="#767b86" style="background:#767b86"><span><span>#767b86</span></span></button></li>
+								<li><button type="button" title="#951015" style="background:#951015"><span><span>#951015</span></span></button></li>
+								<li><button type="button" title="#6e391a" style="background:#6e391a"><span><span>#6e391a</span></span></button></li>
+								<li><button type="button" title="#785c25" style="background:#785c25"><span><span>#785c25</span></span></button></li>
+								<li><button type="button" title="#5f5b25" style="background:#5f5b25"><span><span>#5f5b25</span></span></button></li>
+								<li><button type="button" title="#4c511f" style="background:#4c511f"><span><span>#4c511f</span></span></button></li>
+								<li><button type="button" title="#1c4827" style="background:#1c4827"><span><span>#1c4827</span></span></button></li>
+								<li><button type="button" title="#0d514c" style="background:#0d514c"><span><span>#0d514c</span></span></button></li>
+								<li><button type="button" title="#1b496a" style="background:#1b496a"><span><span>#1b496a</span></span></button></li>
+								<li><button type="button" title="#2b285f" style="background:#2b285f"><span><span>#2b285f</span></span></button></li>
+								<li><button type="button" title="#45245b" style="background:#45245b"><span><span>#45245b</span></span></button></li>
+								<li><button type="button" title="#721947" style="background:#721947"><span><span>#721947</span></span></button></li>
+								<li><button type="button" title="#352e2c" style="background:#352e2c"><span><span>#352e2c</span></span></button></li>
+								<li><button type="button" title="#3c3f45" style="background:#3c3f45"><span><span>#3c3f45</span></span></button></li>
+								</ul>
+								<button type="button" title="더보기" class="se2_view_more husky_se2m_color_palette_more_btn"><span>더보기</span></button>
+								<div class="husky_se2m_color_palette_recent" style="display:none">
+									<h4>최근 사용한 색</h4>
+									<ul class="se2_pick_color">
+									<li></li>
+									<!-- 최근 사용한 색 템플릿 -->
+									<!-- <li><button type="button" title="#e97d81" style="background:#e97d81"><span><span>#e97d81</span></span></button></li> -->
+									<!-- //최근 사용한 색 템플릿 -->
+									</ul>
+								</div>								
+								<div class="se2_palette2 husky_se2m_color_palette_colorpicker">
+									<!--form action="http://test.emoticon.naver.com/colortable/TextAdd.nhn" method="post"-->
+										<div class="se2_color_set">
+											<span class="se2_selected_color"><span class="husky_se2m_cp_preview" style="background:#e97d81"></span></span><input type="text" name="" class="input_ty1 husky_se2m_cp_colorcode" value="#e97d81"><button type="button" class="se2_btn_insert husky_se2m_color_palette_ok_btn" title="입력"><span>입력</span></button></div>
+										<!--input type="hidden" name="callback" value="http://test.emoticon.naver.com/colortable/result.jsp" />
+										<input type="hidden" name="callback_func" value="1" />
+										<input type="hidden" name="text_key" value="" />
+										<input type="hidden" name="text_data" value="" />
+									</form-->
+									<div class="se2_gradation1 husky_se2m_cp_colpanel"></div>
+									<div class="se2_gradation2 husky_se2m_cp_huepanel"></div>
+								</div>
+							</div>
+                        </div>
+					</div>
+                    <!-- //글자색 -->
+				</li>
+
+				<li class="se2_pair husky_seditor_ui_BGColor"><span class="selected_color husky_se2m_BGColor_lastUsed" style="background-color:#4477f9"></span><span class="husky_seditor_ui_BGColorA"><button type="button" title="배경색" class="se2_bgcolor"><span>배경색</span></button></span><span class="husky_seditor_ui_BGColorB"><button type="button" title="더보기" class="se2_bgcolor_more"><span class="_buttonRound">더보기</span></button></span>
+					<!-- 배경색 -->
+					<div class="se2_layer se2_layer husky_se2m_BGColor_layer" style="display:none">
+						<div class="se2_in_layer">
+							<div class="se2_palette_bgcolor">
+								<ul class="se2_background husky_se2m_bgcolor_list">
+								<li><button type="button" title="배경색#ff0000 글자색#ffffff" style="background:#ff0000; color:#ffffff"><span><span>가나다</span></span></button></li>								
+								<li><button type="button" title="배경색#6d30cf 글자색#ffffff" style="background:#6d30cf; color:#ffffff"><span><span>가나다</span></span></button></li>
+								<li><button type="button" title="배경색#000000 글자색#ffffff" style="background:#000000; color:#ffffff"><span><span>가나다</span></span></button></li>
+								<li><button type="button" title="배경색#ff6600 글자색#ffffff" style="background:#ff6600; color:#ffffff"><span><span>가나다</span></span></button></li>
+								<li><button type="button" title="배경색#3333cc 글자색#ffffff" style="background:#3333cc; color:#ffffff"><span><span>가나다</span></span></button></li>
+								<li><button type="button" title="배경색#333333 글자색#ffff00" style="background:#333333; color:#ffff00"><span><span>가나다</span></span></button></li>
+								<li><button type="button" title="배경색#ffa700 글자색#ffffff" style="background:#ffa700; color:#ffffff"><span><span>가나다</span></span></button></li>
+								<li><button type="button" title="배경색#009999 글자색#ffffff" style="background:#009999; color:#ffffff"><span><span>가나다</span></span></button></li>
+								<li><button type="button" title="배경색#8e8e8e 글자색#ffffff" style="background:#8e8e8e; color:#ffffff"><span><span>가나다</span></span></button></li>								
+								<li><button type="button" title="배경색#cc9900 글자색#ffffff" style="background:#cc9900; color:#ffffff"><span><span>가나다</span></span></button></li>
+								<li><button type="button" title="배경색#77b02b 글자색#ffffff" style="background:#77b02b; color:#ffffff"><span><span>가나다</span></span></button></li>
+								<li><button type="button" title="배경색#ffffff 글자색#000000" style="background:#ffffff; color:#000000"><span><span>가나다</span></span></button></li>
+								</ul>
+							</div>
+							<div class="husky_se2m_BGColor_paletteHolder"></div>
+                        </div>
+					</div>
+                    <!-- //배경색 -->
+				</li>
+
+				<li class="husky_seditor_ui_superscript"><button type="button" title="윗첨자" class="se2_sup"><span class="_buttonRound">윗첨자</span></button></li>
+
+				<li class="husky_seditor_ui_subscript last_child"><button type="button" title="아래첨자" class="se2_sub"><span class="_buttonRound tool_bg">아래첨자</span></button></li>
+</ul><ul>
+				<li class="husky_seditor_ui_justifyleft first_child"><button type="button" title="왼쪽정렬" class="se2_left"><span class="_buttonRound tool_bg">왼쪽정렬</span></button></li>
+
+				<li class="husky_seditor_ui_justifycenter"><button type="button" title="가운데정렬" class="se2_center"><span class="_buttonRound">가운데정렬</span></button></li>
+
+				<li class="husky_seditor_ui_justifyright"><button type="button" title="오른쪽정렬" class="se2_right"><span class="_buttonRound">오른쪽정렬</span></button></li>
+
+				<li class="husky_seditor_ui_justifyfull"><button type="button" title="양쪽정렬" class="se2_justify"><span class="_buttonRound">양쪽정렬</span></button></li>
+
+				<li class="husky_seditor_ui_orderedlist"><button type="button" title="번호매기기" class="se2_ol"><span class="_buttonRound">번호매기기</span></button></li>
+
+				<li class="husky_seditor_ui_unorderedlist"><button type="button" title="글머리기호" class="se2_ul"><span class="_buttonRound">글머리기호</span></button></li>
+
+				<li class="husky_seditor_ui_outdent"><button type="button" title="내어쓰기[Shift+Tab]" class="se2_outdent"><span class="_buttonRound">내어쓰기[Shift+Tab]</span></button></li>
+
+				<li class="husky_seditor_ui_indent"><button type="button" title="들여쓰기[Tab]" class="se2_indent"><span class="_buttonRound">들여쓰기[Tab]</span></button></li>			
+
+				<li class="husky_seditor_ui_lineHeight last_child"><button type="button" title="줄간격" class="se2_lineheight" ><span class="_buttonRound tool_bg">줄간격</span></button>
+					<!-- 줄간격 레이어 -->
+					<div class="se2_layer husky_se2m_lineHeight_layer">
+						<div class="se2_in_layer">
+							<ul class="se2_l_line_height">
+							<li><button type="button"><span>50%</span></button></li>
+							<li><button type="button"><span>80%</span></button></li>
+							<li><button type="button"><span>100%</span></button></li>
+							<li><button type="button"><span>120%</span></button></li>
+							<li><button type="button"><span>150%</span></button></li>
+							<li><button type="button"><span>180%</span></button></li>
+							<li><button type="button"><span>200%</span></button></li>
+							</ul>
+							<div class="se2_l_line_height_user husky_se2m_lineHeight_direct_input">
+								<h3>직접 입력</h3>
+								<span class="bx_input">
+								<input type="text" class="input_ty1" maxlength="3" style="width:75px">
+								<button type="button" title="1% 더하기" class="btn_up"><span>1% 더하기</span></button>
+								<button type="button" title="1% 빼기" class="btn_down"><span>1% 빼기</span></button>
+								</span>		
+								<div class="btn_area">
+									<button type="button" class="se2_btn_apply3"><span>적용</span></button><button type="button" class="se2_btn_cancel3"><span>취소</span></button>
+								</div>
+							</div>
+						</div>
+					</div>
+					<!-- //줄간격 레이어 -->
+				</li>
+</ul><ul>
+				<li class="husky_seditor_ui_quote single_child"><button type="button" title="인용구" class="se2_blockquote"><span class="_buttonRound tool_bg">인용구</span></button>
+					<!-- 인용구 -->
+					<div class="se2_layer husky_seditor_blockquote_layer" style="margin-left:-407px; display:none;">
+						<div class="se2_in_layer">
+							<div class="se2_quote">
+								<ul>
+								<li class="q1"><button type="button" class="se2_quote1"><span><span>인용구 스타일1</span></span></button></li>
+								<li class="q2"><button type="button" class="se2_quote2"><span><span>인용구 스타일2</span></span></button></li>
+								<li class="q3"><button type="button" class="se2_quote3"><span><span>인용구 스타일3</span></span></button></li>
+								<li class="q4"><button type="button" class="se2_quote4"><span><span>인용구 스타일4</span></span></button></li>
+								<li class="q5"><button type="button" class="se2_quote5"><span><span>인용구 스타일5</span></span></button></li>
+								<li class="q6"><button type="button" class="se2_quote6"><span><span>인용구 스타일6</span></span></button></li>
+								<li class="q7"><button type="button" class="se2_quote7"><span><span>인용구 스타일7</span></span></button></li>
+								<li class="q8"><button type="button" class="se2_quote8"><span><span>인용구 스타일8</span></span></button></li>
+								<li class="q9"><button type="button" class="se2_quote9"><span><span>인용구 스타일9</span></span></button></li>
+								<li class="q10"><button type="button" class="se2_quote10"><span><span>인용구 스타일10</span></span></button></li>
+								</ul>
+								<button type="button" class="se2_cancel2"><span>적용취소</span></button>
+							</div>
+						</div>
+					</div>
+					<!-- //인용구 -->
+				</li>
+</ul><ul>
+				<li class="husky_seditor_ui_hyperlink first_child"><button type="button" title="링크" class="se2_url"><span class="_buttonRound tool_bg">링크</span></button>
+					<!-- 링크 -->
+					<div class="se2_layer" style="margin-left:-285px">
+						<div class="se2_in_layer">
+							<div class="se2_url2">
+								<input type="text" class="input_ty1" value="http://">
+								<button type="button" class="se2_apply"><span>적용</span></button><button type="button" class="se2_cancel"><span>취소</span></button>
+							</div>
+						</div>
+					</div>
+					<!-- //링크 -->
+				</li>
+
+				<li class="husky_seditor_ui_sCharacter"><button type="button" title="특수기호" class="se2_character"><span class="_buttonRound">특수기호</span></button>
+					<!-- 특수기호 -->
+					<div class="se2_layer husky_seditor_sCharacter_layer" style="margin-left:-448px;">
+						<div class="se2_in_layer">
+							<div class="se2_bx_character">
+								<ul class="se2_char_tab">
+								<li class="active"><button type="button" title="일반기호" class="se2_char1"><span>일반기호</span></button>
+									<div class="se2_s_character">
+										<ul class="husky_se2m_sCharacter_list">
+											<li></li>
+											<!-- 일반기호 목록 -->
+											<!-- <li class="hover"><button type="button"><span>{</span></button></li><li class="active"><button type="button"><span>}</span></button></li><li><button type="button"><span>〔</span></button></li><li><button type="button"><span>〕</span></button></li><li><button type="button"><span>〈</span></button></li><li><button type="button"><span>〉</span></button></li><li><button type="button"><span>《</span></button></li><li><button type="button"><span>》</span></button></li><li><button type="button"><span>「</span></button></li><li><button type="button"><span>」</span></button></li><li><button type="button"><span>『</span></button></li><li><button type="button"><span>』</span></button></li><li><button type="button"><span>【</span></button></li><li><button type="button"><span>】</span></button></li><li><button type="button"><span>‘</span></button></li><li><button type="button"><span>’</span></button></li><li><button type="button"><span>“</span></button></li><li><button type="button"><span>”</span></button></li><li><button type="button"><span>、</span></button></li><li><button type="button"><span>。</span></button></li><li><button type="button"><span>·</span></button></li><li><button type="button"><span>‥</span></button></li><li><button type="button"><span>…</span></button></li><li><button type="button"><span>§</span></button></li><li><button type="button"><span>※</span></button></li><li><button type="button"><span>☆</span></button></li><li><button type="button"><span>★</span></button></li><li><button type="button"><span>○</span></button></li><li><button type="button"><span>●</span></button></li><li><button type="button"><span>◎</span></button></li><li><button type="button"><span>◇</span></button></li><li><button type="button"><span>◆</span></button></li><li><button type="button"><span>□</span></button></li><li><button type="button"><span>■</span></button></li><li><button type="button"><span>△</span></button></li><li><button type="button"><span>▲</span></button></li><li><button type="button"><span>▽</span></button></li><li><button type="button"><span>▼</span></button></li><li><button type="button"><span>◁</span></button></li><li><button type="button"><span>◀</span></button></li><li><button type="button"><span>▷</span></button></li><li><button type="button"><span>▶</span></button></li><li><button type="button"><span>♤</span></button></li><li><button type="button"><span>♠</span></button></li><li><button type="button"><span>♡</span></button></li><li><button type="button"><span>♥</span></button></li><li><button type="button"><span>♧</span></button></li><li><button type="button"><span>♣</span></button></li><li><button type="button"><span>⊙</span></button></li><li><button type="button"><span>◈</span></button></li><li><button type="button"><span>▣</span></button></li><li><button type="button"><span>◐</span></button></li><li><button type="button"><span>◑</span></button></li><li><button type="button"><span>▒</span></button></li><li><button type="button"><span>▤</span></button></li><li><button type="button"><span>▥</span></button></li><li><button type="button"><span>▨</span></button></li><li><button type="button"><span>▧</span></button></li><li><button type="button"><span>▦</span></button></li><li><button type="button"><span>▩</span></button></li><li><button type="button"><span>±</span></button></li><li><button type="button"><span>×</span></button></li><li><button type="button"><span>÷</span></button></li><li><button type="button"><span>≠</span></button></li><li><button type="button"><span>≤</span></button></li><li><button type="button"><span>≥</span></button></li><li><button type="button"><span>∞</span></button></li><li><button type="button"><span>∴</span></button></li><li><button type="button"><span>°</span></button></li><li><button type="button"><span>′</span></button></li><li><button type="button"><span>″</span></button></li><li><button type="button"><span>∠</span></button></li><li><button type="button"><span>⊥</span></button></li><li><button type="button"><span>⌒</span></button></li><li><button type="button"><span>∂</span></button></li><li><button type="button"><span>≡</span></button></li><li><button type="button"><span>≒</span></button></li><li><button type="button"><span>≪</span></button></li><li><button type="button"><span>≫</span></button></li><li><button type="button"><span>√</span></button></li><li><button type="button"><span>∽</span></button></li><li><button type="button"><span>∝</span></button></li><li><button type="button"><span>∵</span></button></li><li><button type="button"><span>∫</span></button></li><li><button type="button"><span>∬</span></button></li><li><button type="button"><span>∈</span></button></li><li><button type="button"><span>∋</span></button></li><li><button type="button"><span>⊆</span></button></li><li><button type="button"><span>⊇</span></button></li><li><button type="button"><span>⊂</span></button></li><li><button type="button"><span>⊃</span></button></li><li><button type="button"><span>∪</span></button></li><li><button type="button"><span>∩</span></button></li><li><button type="button"><span>∧</span></button></li><li><button type="button"><span>∨</span></button></li><li><button type="button"><span>¬</span></button></li><li><button type="button"><span>⇒</span></button></li><li><button type="button"><span>⇔</span></button></li><li><button type="button"><span>∀</span></button></li><li><button type="button"><span>∃</span></button></li><li><button type="button"><span>´</span></button></li><li><button type="button"><span>~</span></button></li><li><button type="button"><span>ˇ</span></button></li><li><button type="button"><span>˘</span></button></li><li><button type="button"><span>˝</span></button></li><li><button type="button"><span>˚</span></button></li><li><button type="button"><span>˙</span></button></li><li><button type="button"><span>¸</span></button></li><li><button type="button"><span>˛</span></button></li><li><button type="button"><span>¡</span></button></li><li><button type="button"><span>¿</span></button></li><li><button type="button"><span>ː</span></button></li><li><button type="button"><span>∮</span></button></li><li><button type="button"><span>∑</span></button></li><li><button type="button"><span>∏</span></button></li><li><button type="button"><span>♭</span></button></li><li><button type="button"><span>♩</span></button></li><li><button type="button"><span>♪</span></button></li><li><button type="button"><span>♬</span></button></li><li><button type="button"><span>㉿</span></button></li><li><button type="button"><span>→</span></button></li><li><button type="button"><span>←</span></button></li><li><button type="button"><span>↑</span></button></li><li><button type="button"><span>↓</span></button></li><li><button type="button"><span>↔</span></button></li><li><button type="button"><span>↕</span></button></li><li><button type="button"><span>↗</span></button></li><li><button type="button"><span>↙</span></button></li><li><button type="button"><span>↖</span></button></li><li><button type="button"><span>↘</span></button></li><li><button type="button"><span>㈜</span></button></li><li><button type="button"><span>№</span></button></li><li><button type="button"><span>㏇</span></button></li><li><button type="button"><span>™</span></button></li><li><button type="button"><span>㏂</span></button></li><li><button type="button"><span>㏘</span></button></li><li><button type="button"><span>℡</span></button></li><li><button type="button"><span>♨</span></button></li><li><button type="button"><span>☏</span></button></li><li><button type="button"><span>☎</span></button></li><li><button type="button"><span>☜</span></button></li><li><button type="button"><span>☞</span></button></li><li><button type="button"><span>¶</span></button></li><li><button type="button"><span>†</span></button></li><li><button type="button"><span>‡</span></button></li><li><button type="button"><span>®</span></button></li><li><button type="button"><span>ª</span></button></li><li><button type="button"><span>º</span></button></li><li><button type="button"><span>♂</span></button></li><li><button type="button"><span>♀</span></button></li> -->
+										</ul>
+									</div>
+								</li>
+								<li><button type="button" title="숫자와 단위" class="se2_char2"><span>숫자와 단위</span></button>
+									<div class="se2_s_character">
+										<ul class="husky_se2m_sCharacter_list">
+											<li></li>
+											<!-- 숫자와 단위 목록 -->
+											<!-- <li class="hover"><button type="button"><span>½</span></button></li><li><button type="button"><span>⅓</span></button></li><li><button type="button"><span>⅔</span></button></li><li><button type="button"><span>¼</span></button></li><li><button type="button"><span>¾</span></button></li><li><button type="button"><span>⅛</span></button></li><li><button type="button"><span>⅜</span></button></li><li><button type="button"><span>⅝</span></button></li><li><button type="button"><span>⅞</span></button></li><li><button type="button"><span>¹</span></button></li><li><button type="button"><span>²</span></button></li><li><button type="button"><span>³</span></button></li><li><button type="button"><span>⁴</span></button></li><li><button type="button"><span>ⁿ</span></button></li><li><button type="button"><span>₁</span></button></li><li><button type="button"><span>₂</span></button></li><li><button type="button"><span>₃</span></button></li><li><button type="button"><span>₄</span></button></li><li><button type="button"><span>Ⅰ</span></button></li><li><button type="button"><span>Ⅱ</span></button></li><li><button type="button"><span>Ⅲ</span></button></li><li><button type="button"><span>Ⅳ</span></button></li><li><button type="button"><span>Ⅴ</span></button></li><li><button type="button"><span>Ⅵ</span></button></li><li><button type="button"><span>Ⅶ</span></button></li><li><button type="button"><span>Ⅷ</span></button></li><li><button type="button"><span>Ⅸ</span></button></li><li><button type="button"><span>Ⅹ</span></button></li><li><button type="button"><span>ⅰ</span></button></li><li><button type="button"><span>ⅱ</span></button></li><li><button type="button"><span>ⅲ</span></button></li><li><button type="button"><span>ⅳ</span></button></li><li><button type="button"><span>ⅴ</span></button></li><li><button type="button"><span>ⅵ</span></button></li><li><button type="button"><span>ⅶ</span></button></li><li><button type="button"><span>ⅷ</span></button></li><li><button type="button"><span>ⅸ</span></button></li><li><button type="button"><span>ⅹ</span></button></li><li><button type="button"><span>₩</span></button></li><li><button type="button"><span>$</span></button></li><li><button type="button"><span>¥</span></button></li><li><button type="button"><span>£</span></button></li><li><button type="button"><span>€</span></button></li><li><button type="button"><span>℃</span></button></li><li><button type="button"><span>A</span></button></li><li><button type="button"><span>℉</span></button></li><li><button type="button"><span>¢</span></button></li><li><button type="button"><span>¤</span></button></li><li><button type="button"><span>‰</span></button></li><li><button type="button"><span>㎕</span></button></li><li><button type="button"><span>㎖</span></button></li><li><button type="button"><span>㎗</span></button></li><li><button type="button"><span>ℓ</span></button></li><li><button type="button"><span>㎘</span></button></li><li><button type="button"><span>㏄</span></button></li><li><button type="button"><span>㎣</span></button></li><li><button type="button"><span>㎤</span></button></li><li><button type="button"><span>㎥</span></button></li><li><button type="button"><span>㎦</span></button></li><li><button type="button"><span>㎙</span></button></li><li><button type="button"><span>㎚</span></button></li><li><button type="button"><span>㎛</span></button></li><li><button type="button"><span>㎜</span></button></li><li><button type="button"><span>㎝</span></button></li><li><button type="button"><span>㎞</span></button></li><li><button type="button"><span>㎟</span></button></li><li><button type="button"><span>㎠</span></button></li><li><button type="button"><span>㎡</span></button></li><li><button type="button"><span>㎢</span></button></li><li><button type="button"><span>㏊</span></button></li><li><button type="button"><span>㎍</span></button></li><li><button type="button"><span>㎎</span></button></li><li><button type="button"><span>㎏</span></button></li><li><button type="button"><span>㏏</span></button></li><li><button type="button"><span>㎈</span></button></li><li><button type="button"><span>㎉</span></button></li><li><button type="button"><span>㏈</span></button></li><li><button type="button"><span>㎧</span></button></li><li><button type="button"><span>㎨</span></button></li><li><button type="button"><span>㎰</span></button></li><li><button type="button"><span>㎱</span></button></li><li><button type="button"><span>㎲</span></button></li><li><button type="button"><span>㎳</span></button></li><li><button type="button"><span>㎴</span></button></li><li><button type="button"><span>㎵</span></button></li><li><button type="button"><span>㎶</span></button></li><li><button type="button"><span>㎷</span></button></li><li><button type="button"><span>㎸</span></button></li><li><button type="button"><span>㎹</span></button></li><li><button type="button"><span>㎀</span></button></li><li><button type="button"><span>㎁</span></button></li><li><button type="button"><span>㎂</span></button></li><li><button type="button"><span>㎃</span></button></li><li><button type="button"><span>㎄</span></button></li><li><button type="button"><span>㎺</span></button></li><li><button type="button"><span>㎻</span></button></li><li><button type="button"><span>㎼</span></button></li><li><button type="button"><span>㎽</span></button></li><li><button type="button"><span>㎾</span></button></li><li><button type="button"><span>㎿</span></button></li><li><button type="button"><span>㎐</span></button></li><li><button type="button"><span>㎑</span></button></li><li><button type="button"><span>㎒</span></button></li><li><button type="button"><span>㎓</span></button></li><li><button type="button"><span>㎔</span></button></li><li><button type="button"><span>Ω</span></button></li><li><button type="button"><span>㏀</span></button></li><li><button type="button"><span>㏁</span></button></li><li><button type="button"><span>㎊</span></button></li><li><button type="button"><span>㎋</span></button></li><li><button type="button"><span>㎌</span></button></li><li><button type="button"><span>㏖</span></button></li><li><button type="button"><span>㏅</span></button></li><li><button type="button"><span>㎭</span></button></li><li><button type="button"><span>㎮</span></button></li><li><button type="button"><span>㎯</span></button></li><li><button type="button"><span>㏛</span></button></li><li><button type="button"><span>㎩</span></button></li><li><button type="button"><span>㎪</span></button></li><li><button type="button"><span>㎫</span></button></li><li><button type="button"><span>㎬</span></button></li><li><button type="button"><span>㏝</span></button></li><li><button type="button"><span>㏐</span></button></li><li><button type="button"><span>㏓</span></button></li><li><button type="button"><span>㏃</span></button></li><li><button type="button"><span>㏉</span></button></li><li><button type="button"><span>㏜</span></button></li><li><button type="button"><span>㏆</span></button></li> -->
+										</ul>
+									</div>
+								</li>
+								<li><button type="button" title="원,괄호" class="se2_char3"><span>원,괄호</span></button>
+									<div class="se2_s_character">
+										<ul class="husky_se2m_sCharacter_list">
+											<li></li>
+											<!-- 원,괄호 목록 -->
+											<!-- <li><button type="button"><span>㉠</span></button></li><li><button type="button"><span>㉡</span></button></li><li><button type="button"><span>㉢</span></button></li><li><button type="button"><span>㉣</span></button></li><li><button type="button"><span>㉤</span></button></li><li><button type="button"><span>㉥</span></button></li><li><button type="button"><span>㉦</span></button></li><li><button type="button"><span>㉧</span></button></li><li><button type="button"><span>㉨</span></button></li><li><button type="button"><span>㉩</span></button></li><li><button type="button"><span>㉪</span></button></li><li><button type="button"><span>㉫</span></button></li><li><button type="button"><span>㉬</span></button></li><li><button type="button"><span>㉭</span></button></li><li><button type="button"><span>㉮</span></button></li><li><button type="button"><span>㉯</span></button></li><li><button type="button"><span>㉰</span></button></li><li><button type="button"><span>㉱</span></button></li><li><button type="button"><span>㉲</span></button></li><li><button type="button"><span>㉳</span></button></li><li><button type="button"><span>㉴</span></button></li><li><button type="button"><span>㉵</span></button></li><li><button type="button"><span>㉶</span></button></li><li><button type="button"><span>㉷</span></button></li><li><button type="button"><span>㉸</span></button></li><li><button type="button"><span>㉹</span></button></li><li><button type="button"><span>㉺</span></button></li><li><button type="button"><span>㉻</span></button></li><li><button type="button"><span>ⓐ</span></button></li><li><button type="button"><span>ⓑ</span></button></li><li><button type="button"><span>ⓒ</span></button></li><li><button type="button"><span>ⓓ</span></button></li><li><button type="button"><span>ⓔ</span></button></li><li><button type="button"><span>ⓕ</span></button></li><li><button type="button"><span>ⓖ</span></button></li><li><button type="button"><span>ⓗ</span></button></li><li><button type="button"><span>ⓘ</span></button></li><li><button type="button"><span>ⓙ</span></button></li><li><button type="button"><span>ⓚ</span></button></li><li><button type="button"><span>ⓛ</span></button></li><li><button type="button"><span>ⓜ</span></button></li><li><button type="button"><span>ⓝ</span></button></li><li><button type="button"><span>ⓞ</span></button></li><li><button type="button"><span>ⓟ</span></button></li><li><button type="button"><span>ⓠ</span></button></li><li><button type="button"><span>ⓡ</span></button></li><li><button type="button"><span>ⓢ</span></button></li><li><button type="button"><span>ⓣ</span></button></li><li><button type="button"><span>ⓤ</span></button></li><li><button type="button"><span>ⓥ</span></button></li><li><button type="button"><span>ⓦ</span></button></li><li><button type="button"><span>ⓧ</span></button></li><li><button type="button"><span>ⓨ</span></button></li><li><button type="button"><span>ⓩ</span></button></li><li><button type="button"><span>①</span></button></li><li><button type="button"><span>②</span></button></li><li><button type="button"><span>③</span></button></li><li><button type="button"><span>④</span></button></li><li><button type="button"><span>⑤</span></button></li><li><button type="button"><span>⑥</span></button></li><li><button type="button"><span>⑦</span></button></li><li><button type="button"><span>⑧</span></button></li><li><button type="button"><span>⑨</span></button></li><li><button type="button"><span>⑩</span></button></li><li><button type="button"><span>⑪</span></button></li><li><button type="button"><span>⑫</span></button></li><li><button type="button"><span>⑬</span></button></li><li><button type="button"><span>⑭</span></button></li><li><button type="button"><span>⑮</span></button></li><li><button type="button"><span>㈀</span></button></li><li><button type="button"><span>㈁</span></button></li><li class="hover"><button type="button"><span>㈂</span></button></li><li><button type="button"><span>㈃</span></button></li><li><button type="button"><span>㈄</span></button></li><li><button type="button"><span>㈅</span></button></li><li><button type="button"><span>㈆</span></button></li><li><button type="button"><span>㈇</span></button></li><li><button type="button"><span>㈈</span></button></li><li><button type="button"><span>㈉</span></button></li><li><button type="button"><span>㈊</span></button></li><li><button type="button"><span>㈋</span></button></li><li><button type="button"><span>㈌</span></button></li><li><button type="button"><span>㈍</span></button></li><li><button type="button"><span>㈎</span></button></li><li><button type="button"><span>㈏</span></button></li><li><button type="button"><span>㈐</span></button></li><li><button type="button"><span>㈑</span></button></li><li><button type="button"><span>㈒</span></button></li><li><button type="button"><span>㈓</span></button></li><li><button type="button"><span>㈔</span></button></li><li><button type="button"><span>㈕</span></button></li><li><button type="button"><span>㈖</span></button></li><li><button type="button"><span>㈗</span></button></li><li><button type="button"><span>㈘</span></button></li><li><button type="button"><span>㈙</span></button></li><li><button type="button"><span>㈚</span></button></li><li><button type="button"><span>㈛</span></button></li><li><button type="button"><span>⒜</span></button></li><li><button type="button"><span>⒝</span></button></li><li><button type="button"><span>⒞</span></button></li><li><button type="button"><span>⒟</span></button></li><li><button type="button"><span>⒠</span></button></li><li><button type="button"><span>⒡</span></button></li><li><button type="button"><span>⒢</span></button></li><li><button type="button"><span>⒣</span></button></li><li><button type="button"><span>⒤</span></button></li><li><button type="button"><span>⒥</span></button></li><li><button type="button"><span>⒦</span></button></li><li><button type="button"><span>⒧</span></button></li><li><button type="button"><span>⒨</span></button></li><li><button type="button"><span>⒩</span></button></li><li><button type="button"><span>⒪</span></button></li><li><button type="button"><span>⒫</span></button></li><li><button type="button"><span>⒬</span></button></li><li><button type="button"><span>⒭</span></button></li><li><button type="button"><span>⒮</span></button></li><li><button type="button"><span>⒯</span></button></li><li><button type="button"><span>⒰</span></button></li><li><button type="button"><span>⒱</span></button></li><li><button type="button"><span>⒲</span></button></li><li><button type="button"><span>⒳</span></button></li><li><button type="button"><span>⒴</span></button></li><li><button type="button"><span>⒵</span></button></li><li><button type="button"><span>⑴</span></button></li><li><button type="button"><span>⑵</span></button></li><li><button type="button"><span>⑶</span></button></li><li><button type="button"><span>⑷</span></button></li><li><button type="button"><span>⑸</span></button></li><li><button type="button"><span>⑹</span></button></li><li><button type="button"><span>⑺</span></button></li><li><button type="button"><span>⑻</span></button></li><li><button type="button"><span>⑼</span></button></li><li><button type="button"><span>⑽</span></button></li><li><button type="button"><span>⑾</span></button></li><li><button type="button"><span>⑿</span></button></li><li><button type="button"><span>⒀</span></button></li><li><button type="button"><span>⒁</span></button></li><li><button type="button"><span>⒂</span></button></li> -->
+										</ul>
+									</div>
+								</li>
+								<li><button type="button" title="한글" class="se2_char4"><span>한글</span></button>
+									<div class="se2_s_character">
+										<ul class="husky_se2m_sCharacter_list">
+											<li></li>
+											<!-- 한글 목록 -->
+											<!-- <li><button type="button"><span>ㄱ</span></button></li><li><button type="button"><span>ㄲ</span></button></li><li><button type="button"><span>ㄳ</span></button></li><li><button type="button"><span>ㄴ</span></button></li><li><button type="button"><span>ㄵ</span></button></li><li><button type="button"><span>ㄶ</span></button></li><li><button type="button"><span>ㄷ</span></button></li><li><button type="button"><span>ㄸ</span></button></li><li><button type="button"><span>ㄹ</span></button></li><li><button type="button"><span>ㄺ</span></button></li><li><button type="button"><span>ㄻ</span></button></li><li><button type="button"><span>ㄼ</span></button></li><li><button type="button"><span>ㄽ</span></button></li><li><button type="button"><span>ㄾ</span></button></li><li><button type="button"><span>ㄿ</span></button></li><li><button type="button"><span>ㅀ</span></button></li><li><button type="button"><span>ㅁ</span></button></li><li><button type="button"><span>ㅂ</span></button></li><li><button type="button"><span>ㅃ</span></button></li><li><button type="button"><span>ㅄ</span></button></li><li><button type="button"><span>ㅅ</span></button></li><li><button type="button"><span>ㅆ</span></button></li><li><button type="button"><span>ㅇ</span></button></li><li><button type="button"><span>ㅈ</span></button></li><li><button type="button"><span>ㅉ</span></button></li><li><button type="button"><span>ㅊ</span></button></li><li><button type="button"><span>ㅋ</span></button></li><li><button type="button"><span>ㅌ</span></button></li><li><button type="button"><span>ㅍ</span></button></li><li><button type="button"><span>ㅎ</span></button></li><li><button type="button"><span>ㅏ</span></button></li><li><button type="button"><span>ㅐ</span></button></li><li><button type="button"><span>ㅑ</span></button></li><li><button type="button"><span>ㅒ</span></button></li><li><button type="button"><span>ㅓ</span></button></li><li><button type="button"><span>ㅔ</span></button></li><li><button type="button"><span>ㅕ</span></button></li><li><button type="button"><span>ㅖ</span></button></li><li><button type="button"><span>ㅗ</span></button></li><li><button type="button"><span>ㅘ</span></button></li><li><button type="button"><span>ㅙ</span></button></li><li><button type="button"><span>ㅚ</span></button></li><li><button type="button"><span>ㅛ</span></button></li><li><button type="button"><span>ㅜ</span></button></li><li><button type="button"><span>ㅝ</span></button></li><li><button type="button"><span>ㅞ</span></button></li><li><button type="button"><span>ㅟ</span></button></li><li><button type="button"><span>ㅠ</span></button></li><li><button type="button"><span>ㅡ</span></button></li><li><button type="button"><span>ㅢ</span></button></li><li><button type="button"><span>ㅣ</span></button></li><li><button type="button"><span>ㅥ</span></button></li><li><button type="button"><span>ㅦ</span></button></li><li><button type="button"><span>ㅧ</span></button></li><li><button type="button"><span>ㅨ</span></button></li><li><button type="button"><span>ㅩ</span></button></li><li><button type="button"><span>ㅪ</span></button></li><li><button type="button"><span>ㅫ</span></button></li><li><button type="button"><span>ㅬ</span></button></li><li><button type="button"><span>ㅭ</span></button></li><li><button type="button"><span>ㅮ</span></button></li><li><button type="button"><span>ㅯ</span></button></li><li><button type="button"><span>ㅰ</span></button></li><li><button type="button"><span>ㅱ</span></button></li><li><button type="button"><span>ㅲ</span></button></li><li><button type="button"><span>ㅳ</span></button></li><li><button type="button"><span>ㅴ</span></button></li><li><button type="button"><span>ㅵ</span></button></li><li><button type="button"><span>ㅶ</span></button></li><li><button type="button"><span>ㅷ</span></button></li><li><button type="button"><span>ㅸ</span></button></li><li><button type="button"><span>ㅹ</span></button></li><li><button type="button"><span>ㅺ</span></button></li><li><button type="button"><span>ㅻ</span></button></li><li><button type="button"><span>ㅼ</span></button></li><li><button type="button"><span>ㅽ</span></button></li><li><button type="button"><span>ㅾ</span></button></li><li><button type="button"><span>ㅿ</span></button></li><li><button type="button"><span>ㆀ</span></button></li><li><button type="button"><span>ㆁ</span></button></li><li><button type="button"><span>ㆂ</span></button></li><li><button type="button"><span>ㆃ</span></button></li><li><button type="button"><span>ㆄ</span></button></li><li><button type="button"><span>ㆅ</span></button></li><li><button type="button"><span>ㆆ</span></button></li><li><button type="button"><span>ㆇ</span></button></li><li><button type="button"><span>ㆈ</span></button></li><li><button type="button"><span>ㆉ</span></button></li><li><button type="button"><span>ㆊ</span></button></li><li><button type="button"><span>ㆋ</span></button></li><li><button type="button"><span>ㆌ</span></button></li><li><button type="button"><span>ㆍ</span></button></li><li><button type="button"><span>ㆎ</span></button></li> -->
+										</ul>
+									</div>
+								</li>
+								<li><button type="button" title="그리스,라틴어" class="se2_char5"><span>그리스,라틴어</span></button>
+									<div class="se2_s_character">
+										<ul class="husky_se2m_sCharacter_list">
+											<li></li>
+											<!-- 그리스,라틴어 목록 -->
+											<!-- <li><button type="button"><span>Α</span></button></li><li><button type="button"><span>Β</span></button></li><li><button type="button"><span>Γ</span></button></li><li><button type="button"><span>Δ</span></button></li><li><button type="button"><span>Ε</span></button></li><li><button type="button"><span>Ζ</span></button></li><li><button type="button"><span>Η</span></button></li><li><button type="button"><span>Θ</span></button></li><li><button type="button"><span>Ι</span></button></li><li><button type="button"><span>Κ</span></button></li><li><button type="button"><span>Λ</span></button></li><li><button type="button"><span>Μ</span></button></li><li><button type="button"><span>Ν</span></button></li><li><button type="button"><span>Ξ</span></button></li><li class="hover"><button type="button"><span>Ο</span></button></li><li><button type="button"><span>Π</span></button></li><li><button type="button"><span>Ρ</span></button></li><li><button type="button"><span>Σ</span></button></li><li><button type="button"><span>Τ</span></button></li><li><button type="button"><span>Υ</span></button></li><li><button type="button"><span>Φ</span></button></li><li><button type="button"><span>Χ</span></button></li><li><button type="button"><span>Ψ</span></button></li><li><button type="button"><span>Ω</span></button></li><li><button type="button"><span>α</span></button></li><li><button type="button"><span>β</span></button></li><li><button type="button"><span>γ</span></button></li><li><button type="button"><span>δ</span></button></li><li><button type="button"><span>ε</span></button></li><li><button type="button"><span>ζ</span></button></li><li><button type="button"><span>η</span></button></li><li><button type="button"><span>θ</span></button></li><li><button type="button"><span>ι</span></button></li><li><button type="button"><span>κ</span></button></li><li><button type="button"><span>λ</span></button></li><li><button type="button"><span>μ</span></button></li><li><button type="button"><span>ν</span></button></li><li><button type="button"><span>ξ</span></button></li><li><button type="button"><span>ο</span></button></li><li><button type="button"><span>π</span></button></li><li><button type="button"><span>ρ</span></button></li><li><button type="button"><span>σ</span></button></li><li><button type="button"><span>τ</span></button></li><li><button type="button"><span>υ</span></button></li><li><button type="button"><span>φ</span></button></li><li><button type="button"><span>χ</span></button></li><li><button type="button"><span>ψ</span></button></li><li><button type="button"><span>ω</span></button></li><li><button type="button"><span>Æ</span></button></li><li><button type="button"><span>Ð</span></button></li><li><button type="button"><span>Ħ</span></button></li><li><button type="button"><span>IJ</span></button></li><li><button type="button"><span>Ŀ</span></button></li><li><button type="button"><span>Ł</span></button></li><li><button type="button"><span>Ø</span></button></li><li><button type="button"><span>Œ</span></button></li><li><button type="button"><span>Þ</span></button></li><li><button type="button"><span>Ŧ</span></button></li><li><button type="button"><span>Ŋ</span></button></li><li><button type="button"><span>æ</span></button></li><li><button type="button"><span>đ</span></button></li><li><button type="button"><span>ð</span></button></li><li><button type="button"><span>ħ</span></button></li><li><button type="button"><span>I</span></button></li><li><button type="button"><span>ij</span></button></li><li><button type="button"><span>ĸ</span></button></li><li><button type="button"><span>ŀ</span></button></li><li><button type="button"><span>ł</span></button></li><li><button type="button"><span>ł</span></button></li><li><button type="button"><span>œ</span></button></li><li><button type="button"><span>ß</span></button></li><li><button type="button"><span>þ</span></button></li><li><button type="button"><span>ŧ</span></button></li><li><button type="button"><span>ŋ</span></button></li><li><button type="button"><span>ʼn</span></button></li><li><button type="button"><span>Б</span></button></li><li><button type="button"><span>Г</span></button></li><li><button type="button"><span>Д</span></button></li><li><button type="button"><span>Ё</span></button></li><li><button type="button"><span>Ж</span></button></li><li><button type="button"><span>З</span></button></li><li><button type="button"><span>И</span></button></li><li><button type="button"><span>Й</span></button></li><li><button type="button"><span>Л</span></button></li><li><button type="button"><span>П</span></button></li><li><button type="button"><span>Ц</span></button></li><li><button type="button"><span>Ч</span></button></li><li><button type="button"><span>Ш</span></button></li><li><button type="button"><span>Щ</span></button></li><li><button type="button"><span>Ъ</span></button></li><li><button type="button"><span>Ы</span></button></li><li><button type="button"><span>Ь</span></button></li><li><button type="button"><span>Э</span></button></li><li><button type="button"><span>Ю</span></button></li><li><button type="button"><span>Я</span></button></li><li><button type="button"><span>б</span></button></li><li><button type="button"><span>в</span></button></li><li><button type="button"><span>г</span></button></li><li><button type="button"><span>д</span></button></li><li><button type="button"><span>ё</span></button></li><li><button type="button"><span>ж</span></button></li><li><button type="button"><span>з</span></button></li><li><button type="button"><span>и</span></button></li><li><button type="button"><span>й</span></button></li><li><button type="button"><span>л</span></button></li><li><button type="button"><span>п</span></button></li><li><button type="button"><span>ф</span></button></li><li><button type="button"><span>ц</span></button></li><li><button type="button"><span>ч</span></button></li><li><button type="button"><span>ш</span></button></li><li><button type="button"><span>щ</span></button></li><li><button type="button"><span>ъ</span></button></li><li><button type="button"><span>ы</span></button></li><li><button type="button"><span>ь</span></button></li><li><button type="button"><span>э</span></button></li><li><button type="button"><span>ю</span></button></li><li><button type="button"><span>я</span></button></li> -->
+										</ul>
+									</div>
+								</li>
+								<li><button type="button" title="일본어" class="se2_char6"><span>일본어</span></button>
+									<div class="se2_s_character">
+										<ul class="husky_se2m_sCharacter_list">
+											<li></li>
+											<!-- 일본어 목록 -->
+											<!-- <li><button type="button"><span>ぁ</span></button></li><li class="hover"><button type="button"><span>あ</span></button></li><li><button type="button"><span>ぃ</span></button></li><li><button type="button"><span>い</span></button></li><li><button type="button"><span>ぅ</span></button></li><li><button type="button"><span>う</span></button></li><li><button type="button"><span>ぇ</span></button></li><li><button type="button"><span>え</span></button></li><li><button type="button"><span>ぉ</span></button></li><li><button type="button"><span>お</span></button></li><li><button type="button"><span>か</span></button></li><li><button type="button"><span>が</span></button></li><li><button type="button"><span>き</span></button></li><li><button type="button"><span>ぎ</span></button></li><li><button type="button"><span>く</span></button></li><li><button type="button"><span>ぐ</span></button></li><li><button type="button"><span>け</span></button></li><li><button type="button"><span>げ</span></button></li><li><button type="button"><span>こ</span></button></li><li><button type="button"><span>ご</span></button></li><li><button type="button"><span>さ</span></button></li><li><button type="button"><span>ざ</span></button></li><li><button type="button"><span>し</span></button></li><li><button type="button"><span>じ</span></button></li><li><button type="button"><span>す</span></button></li><li><button type="button"><span>ず</span></button></li><li><button type="button"><span>せ</span></button></li><li><button type="button"><span>ぜ</span></button></li><li><button type="button"><span>そ</span></button></li><li><button type="button"><span>ぞ</span></button></li><li><button type="button"><span>た</span></button></li><li><button type="button"><span>だ</span></button></li><li><button type="button"><span>ち</span></button></li><li><button type="button"><span>ぢ</span></button></li><li><button type="button"><span>っ</span></button></li><li><button type="button"><span>つ</span></button></li><li><button type="button"><span>づ</span></button></li><li><button type="button"><span>て</span></button></li><li><button type="button"><span>で</span></button></li><li><button type="button"><span>と</span></button></li><li><button type="button"><span>ど</span></button></li><li><button type="button"><span>な</span></button></li><li><button type="button"><span>に</span></button></li><li><button type="button"><span>ぬ</span></button></li><li><button type="button"><span>ね</span></button></li><li><button type="button"><span>の</span></button></li><li><button type="button"><span>は</span></button></li><li><button type="button"><span>ば</span></button></li><li><button type="button"><span>ぱ</span></button></li><li><button type="button"><span>ひ</span></button></li><li><button type="button"><span>び</span></button></li><li><button type="button"><span>ぴ</span></button></li><li><button type="button"><span>ふ</span></button></li><li><button type="button"><span>ぶ</span></button></li><li><button type="button"><span>ぷ</span></button></li><li><button type="button"><span>へ</span></button></li><li><button type="button"><span>べ</span></button></li><li><button type="button"><span>ぺ</span></button></li><li><button type="button"><span>ほ</span></button></li><li><button type="button"><span>ぼ</span></button></li><li><button type="button"><span>ぽ</span></button></li><li><button type="button"><span>ま</span></button></li><li><button type="button"><span>み</span></button></li><li><button type="button"><span>む</span></button></li><li><button type="button"><span>め</span></button></li><li><button type="button"><span>も</span></button></li><li><button type="button"><span>ゃ</span></button></li><li><button type="button"><span>や</span></button></li><li><button type="button"><span>ゅ</span></button></li><li><button type="button"><span>ゆ</span></button></li><li><button type="button"><span>ょ</span></button></li><li><button type="button"><span>よ</span></button></li><li><button type="button"><span>ら</span></button></li><li><button type="button"><span>り</span></button></li><li><button type="button"><span>る</span></button></li><li><button type="button"><span>れ</span></button></li><li><button type="button"><span>ろ</span></button></li><li><button type="button"><span>ゎ</span></button></li><li><button type="button"><span>わ</span></button></li><li><button type="button"><span>ゐ</span></button></li><li><button type="button"><span>ゑ</span></button></li><li><button type="button"><span>を</span></button></li><li><button type="button"><span>ん</span></button></li><li><button type="button"><span>ァ</span></button></li><li><button type="button"><span>ア</span></button></li><li><button type="button"><span>ィ</span></button></li><li><button type="button"><span>イ</span></button></li><li><button type="button"><span>ゥ</span></button></li><li><button type="button"><span>ウ</span></button></li><li><button type="button"><span>ェ</span></button></li><li><button type="button"><span>エ</span></button></li><li><button type="button"><span>ォ</span></button></li><li><button type="button"><span>オ</span></button></li><li><button type="button"><span>カ</span></button></li><li><button type="button"><span>ガ</span></button></li><li><button type="button"><span>キ</span></button></li><li><button type="button"><span>ギ</span></button></li><li><button type="button"><span>ク</span></button></li><li><button type="button"><span>グ</span></button></li><li><button type="button"><span>ケ</span></button></li><li><button type="button"><span>ゲ</span></button></li><li><button type="button"><span>コ</span></button></li><li><button type="button"><span>ゴ</span></button></li><li><button type="button"><span>サ</span></button></li><li><button type="button"><span>ザ</span></button></li><li><button type="button"><span>シ</span></button></li><li><button type="button"><span>ジ</span></button></li><li><button type="button"><span>ス</span></button></li><li><button type="button"><span>ズ</span></button></li><li><button type="button"><span>セ</span></button></li><li><button type="button"><span>ゼ</span></button></li><li><button type="button"><span>ソ</span></button></li><li><button type="button"><span>ゾ</span></button></li><li><button type="button"><span>タ</span></button></li><li><button type="button"><span>ダ</span></button></li><li><button type="button"><span>チ</span></button></li><li><button type="button"><span>ヂ</span></button></li><li><button type="button"><span>ッ</span></button></li><li><button type="button"><span>ツ</span></button></li><li><button type="button"><span>ヅ</span></button></li><li><button type="button"><span>テ</span></button></li><li><button type="button"><span>デ</span></button></li><li><button type="button"><span>ト</span></button></li><li><button type="button"><span>ド</span></button></li><li><button type="button"><span>ナ</span></button></li><li><button type="button"><span>ニ</span></button></li><li><button type="button"><span>ヌ</span></button></li><li><button type="button"><span>ネ</span></button></li><li><button type="button"><span>ノ</span></button></li><li><button type="button"><span>ハ</span></button></li><li><button type="button"><span>バ</span></button></li><li><button type="button"><span>パ</span></button></li><li><button type="button"><span>ヒ</span></button></li><li><button type="button"><span>ビ</span></button></li><li><button type="button"><span>ピ</span></button></li><li><button type="button"><span>フ</span></button></li><li><button type="button"><span>ブ</span></button></li><li><button type="button"><span>プ</span></button></li><li><button type="button"><span>ヘ</span></button></li><li><button type="button"><span>ベ</span></button></li><li><button type="button"><span>ペ</span></button></li><li><button type="button"><span>ホ</span></button></li><li><button type="button"><span>ボ</span></button></li><li><button type="button"><span>ポ</span></button></li><li><button type="button"><span>マ</span></button></li><li><button type="button"><span>ミ</span></button></li><li><button type="button"><span>ム</span></button></li><li><button type="button"><span>メ</span></button></li><li><button type="button"><span>モ</span></button></li><li><button type="button"><span>ャ</span></button></li><li><button type="button"><span>ヤ</span></button></li><li><button type="button"><span>ュ</span></button></li><li><button type="button"><span>ユ</span></button></li><li><button type="button"><span>ョ</span></button></li><li><button type="button"><span>ヨ</span></button></li><li><button type="button"><span>ラ</span></button></li><li><button type="button"><span>リ</span></button></li><li><button type="button"><span>ル</span></button></li><li><button type="button"><span>レ</span></button></li><li><button type="button"><span>ロ</span></button></li><li><button type="button"><span>ヮ</span></button></li><li><button type="button"><span>ワ</span></button></li><li><button type="button"><span>ヰ</span></button></li><li><button type="button"><span>ヱ</span></button></li><li><button type="button"><span>ヲ</span></button></li><li><button type="button"><span>ン</span></button></li><li><button type="button"><span>ヴ</span></button></li><li><button type="button"><span>ヵ</span></button></li><li><button type="button"><span>ヶ</span></button></li> -->
+										</ul>
+									</div>
+								</li>
+								</ul>
+								<p class="se2_apply_character">
+									<label for="char_preview">선택한 기호</label> <input type="text" name="char_preview" id="char_preview" value="®º⊆●○" class="input_ty1"><button type="button" class="se2_confirm"><span>적용</span></button><button type="button" class="se2_cancel husky_se2m_sCharacter_close"><span>취소</span></button>
+								</p>
+							</div>
+						</div>
+					</div>
+					<!-- //특수기호 -->
+				</li>
+
+				<li class="husky_seditor_ui_table"><button type="button" title="표" class="se2_table"><span class="_buttonRound">표</span></button>
+					<!--@lazyload_html create_table-->
+					<!-- 표 -->
+					<div class="se2_layer husky_se2m_table_layer" style="margin-left:-171px">
+						<div class="se2_in_layer">
+							<div class="se2_table_set">
+								<fieldset>
+								<legend>칸수 지정</legend>
+									<dl class="se2_cell_num">
+									<dt><label for="row">행</label></dt>
+									<dd><input id="row" name="" type="text" maxlength="2" value="4" class="input_ty2">
+										<button type="button" class="se2_add"><span>1행추가</span></button>
+										<button type="button" class="se2_del"><span>1행삭제</span></button>
+									</dd>
+									<dt><label for="col">열</label></dt>
+									<dd><input id="col" name="" type="text" maxlength="2" value="4" class="input_ty2">
+										<button type="button" class="se2_add"><span>1열추가</span></button>
+										<button type="button" class="se2_del"><span>1열삭제</span></button>
+									</dd>
+									</dl>
+									<table border="0" cellspacing="1" class="se2_pre_table husky_se2m_table_preview">
+									<tr>
+									<td>&nbsp;</td>
+									<td>&nbsp;</td>
+									<td>&nbsp;</td>
+									<td>&nbsp;</td>
+									</tr>
+									<tr>
+									<td>&nbsp;</td>
+									<td>&nbsp;</td>
+									<td>&nbsp;</td>
+									<td>&nbsp;</td>
+									</tr>
+									<tr>
+									<td>&nbsp;</td>
+									<td>&nbsp;</td>
+									<td>&nbsp;</td>
+									<td>&nbsp;</td>
+									</tr>
+									</table>
+								</fieldset>
+								<fieldset>
+									<legend>속성직접입력</legend>
+									<dl class="se2_t_proper1">
+									<dt><input type="radio" id="se2_tbp1" name="se2_tbp" checked><label for="se2_tbp1">속성직접입력</label></dt>
+									<dd>
+										<dl class="se2_t_proper1_1">
+										<dt><label>표스타일</label></dt>
+										<dd><div class="se2_select_ty1"><span class="se2_b_style3 husky_se2m_table_border_style_preview"></span><button type="button" title="더보기" class="se2_view_more"><span>더보기</span></button></div>
+											<!-- 레이어 : 테두리스타일 -->
+											<div class="se2_layer_b_style husky_se2m_table_border_style_layer" style="display:none">
+												<ul>
+												<li><button type="button" class="se2_b_style1"><span class="se2m_no_border">테두리없음</span></button></li>
+												<li><button type="button" class="se2_b_style2"><span><span>테두리스타일2</span></span></button></li>
+												<li><button type="button" class="se2_b_style3"><span><span>테두리스타일3</span></span></button></li>
+												<li><button type="button" class="se2_b_style4"><span><span>테두리스타일4</span></span></button></li>
+												<li><button type="button" class="se2_b_style5"><span><span>테두리스타일5</span></span></button></li>
+												<li><button type="button" class="se2_b_style6"><span><span>테두리스타일6</span></span></button></li>
+												<li><button type="button" class="se2_b_style7"><span><span>테두리스타일7</span></span></button></li>
+												</ul>
+											</div>
+											<!-- //레이어 : 테두리스타일 -->
+										</dd>
+										</dl>
+										<dl class="se2_t_proper1_1 se2_t_proper1_2">
+										<dt><label for="se2_b_width">테두리두께</label></dt>
+										<dd><input id="se2_b_width" name="" type="text" maxlength="2" value="1" class="input_ty1">
+											<button type="button" title="1px 더하기" class="se2_add se2m_incBorder"><span>1px 더하기</span></button>
+											<button type="button" title="1px 빼기" class="se2_del se2m_decBorder"><span>1px 빼기</span></button>
+										</dd>
+										</dl>
+										<dl class="se2_t_proper1_1 se2_t_proper1_3">
+										<dt><label for="se2_b_color">테두리색</label></dt>
+										<dd><input id="se2_b_color" name="" type="text" maxlength="7" value="#cccccc" class="input_ty3"><span class="se2_pre_color"><button type="button" style="background:#cccccc;"><span>색찾기</span></button></span>	
+										<!-- 레이어 : 테두리색 -->
+											<div class="se2_layer se2_b_t_b1" style="clear:both;display:none;position:absolute;top:20px;left:-147px;">
+												<div class="se2_in_layer husky_se2m_table_border_color_pallet">
+												</div>
+											</div>
+										<!-- //레이어 : 테두리색-->
+										</dd>
+										</dl>
+										<div class="se2_t_dim0"></div><!-- 테두리 없음일때 딤드레이어 -->
+										<dl class="se2_t_proper1_1 se2_t_proper1_4">
+										<dt><label for="se2_cellbg">셀 배경색</label></dt>
+										<dd><input id="se2_cellbg" name="" type="text" maxlength="7" value="#ffffff" class="input_ty3"><span class="se2_pre_color"><button type="button" style="background:#ffffff;"><span>색찾기</span></button></span>
+										<!-- 레이어 : 셀배경색 -->
+										<div class="se2_layer se2_b_t_b1" style="clear:both;display:none;position:absolute;top:20px;left:-147px;">
+											<div class="se2_in_layer husky_se2m_table_bgcolor_pallet">
+											</div>
+										</div>
+										<!-- //레이어 : 셀배경색-->
+										</dd>
+										</dl>
+									</dd>
+									</dl>
+								</fieldset>
+								<fieldset>
+									<legend>표스타일</legend>
+									<dl class="se2_t_proper2">
+									<dt><input type="radio" id="se2_tbp2" name="se2_tbp"><label for="se2_tbp2">스타일 선택</label></dt>
+									<dd><div class="se2_select_ty2"><span class="se2_t_style1 husky_se2m_table_style_preview"></span><button type="button" title="더보기" class="se2_view_more"><span>더보기</span></button></div>
+										<!-- 레이어 : 표템플릿선택 -->
+										<div class="se2_layer_t_style husky_se2m_table_style_layer" style="display:none">
+											<ul class="se2_scroll">
+											<li><button type="button" class="se2_t_style1"><span>표스타일1</span></button></li>
+											<li><button type="button" class="se2_t_style2"><span>표스타일2</span></button></li>
+											<li><button type="button" class="se2_t_style3"><span>표스타일3</span></button></li>
+											<li><button type="button" class="se2_t_style4"><span>표스타일4</span></button></li>
+											<li><button type="button" class="se2_t_style5"><span>표스타일5</span></button></li>
+											<li><button type="button" class="se2_t_style6"><span>표스타일6</span></button></li>
+											<li><button type="button" class="se2_t_style7"><span>표스타일7</span></button></li>
+											<li><button type="button" class="se2_t_style8"><span>표스타일8</span></button></li>
+											<li><button type="button" class="se2_t_style9"><span>표스타일9</span></button></li>
+											<li><button type="button" class="se2_t_style10"><span>표스타일10</span></button></li>
+											<li><button type="button" class="se2_t_style11"><span>표스타일11</span></button></li>
+											<li><button type="button" class="se2_t_style12"><span>표스타일12</span></button></li>
+											<li><button type="button" class="se2_t_style13"><span>표스타일13</span></button></li>
+											<li><button type="button" class="se2_t_style14"><span>표스타일14</span></button></li>
+											<li><button type="button" class="se2_t_style15"><span>표스타일15</span></button></li>
+											<li><button type="button" class="se2_t_style16"><span>표스타일16</span></button></li>
+											</ul>
+										</div>
+										<!-- //레이어 : 표템플릿선택 -->
+									</dd>
+									</dl>
+								</fieldset>
+								<p class="se2_btn_area">
+									<button type="button" class="se2_apply"><span>적용</span></button><button type="button" class="se2_cancel"><span>취소</span></button>
+								</p>
+								<!-- 딤드레이어 -->
+								<div class="se2_t_dim3"></div>
+								<!-- //딤드레이어 -->
+							</div>
+						</div>
+					</div>
+					<!-- //표 -->
+					<!--//@lazyload_html-->
+				</li>
+
+				<li class="husky_seditor_ui_findAndReplace last_child"><button type="button" title="찾기/바꾸기" class="se2_find"><span class="_buttonRound tool_bg">찾기/바꾸기</span></button>
+					<!--@lazyload_html find_and_replace-->
+					<!-- 찾기/바꾸기 -->
+					<div class="se2_layer husky_se2m_findAndReplace_layer" style="margin-left:-238px;">
+						<div class="se2_in_layer">
+							<div class="se2_bx_find_revise">
+								<button type="button" title="닫기" class="se2_close husky_se2m_cancel"><span>닫기</span></button>
+								<h3>찾기/바꾸기</h3>
+								<ul>
+								<li class="active"><button type="button" class="se2_tabfind"><span>찾기</span></button></li>
+								<li><button type="button" class="se2_tabrevise"><span>바꾸기</span></button></li>
+								</ul>
+								<div class="se2_in_bx_find husky_se2m_find_ui" style="display:block">
+									<dl>
+									<dt><label for="find_word">찾을 단어</label></dt><dd><input type="text" id="find_word" value="스마트에디터" class="input_ty1"></dd>
+									</dl>
+									<p class="se2_find_btns">
+										<button type="button" class="se2_find_next husky_se2m_find_next"><span>다음 찾기</span></button><button type="button" class="se2_cancel husky_se2m_cancel"><span>취소</span></button>
+									</p>
+								</div>
+								<div class="se2_in_bx_revise husky_se2m_replace_ui" style="display:none">
+									<dl>
+									<dt><label for="find_word2">찾을 단어</label></dt><dd><input type="text" id="find_word2" value="스마트에디터" class="input_ty1"></dd>
+									<dt><label for="revise_word">바꿀 단어</label></dt><dd><input type="text" id="revise_word" value="스마트에디터" class="input_ty1"></dd>
+									</dl>
+									<p class="se2_find_btns">
+										<button type="button" class="se2_find_next2 husky_se2m_replace_find_next"><span>다음 찾기</span></button><button type="button" class="se2_revise1 husky_se2m_replace"><span>바꾸기</span></button><button type="button" class="se2_revise2 husky_se2m_replace_all"><span>모두 바꾸기</span></button><button type="button" class="se2_cancel husky_se2m_cancel"><span>취소</span></button>
+									</p>
+								</div>
+								<button type="button" title="닫기" class="se2_close husky_se2m_cancel"><span>닫기</span></button>
+							</div>
+						</div>
+					</div>
+					<!-- //찾기/바꾸기 -->
+					<!--//@lazyload_html-->
+				</li>
+</ul>
+				<ul class="se2_multy">
+					<li class="se2_mn husky_seditor_ui_photo_attach"><button type="button" class="se2_photo ico_btn"><span class="se2_icon"></span><span class="se2_mntxt">사진<span class="se2_new"></span></span></button></li>
+				</ul>
+				
+				<!-- @######################################################################추가####################################################################-->
+				<ul class="se2_video_2" style="margin-right: 50px">
+					<li class="husky_seditor_ui_Videolink"><button type="button" title="동영상 URL" class="se2_url ico_btn"><span class="se2_icon"></span><span class="se2_mntxt">영상<span class="se2_new"></span></span></button>
+					<!-- 링크 -->
+						<div class="se2_layer husky_seditor_Videolink_layer"  style="margin-left:-285px">
+							<div class="se2_in_layer">
+								<div class="se2_url2">
+									<input type="text" class="input_ty1" value="http://">
+									<button type="button" class="se2_apply"><span>적용</span></button><button type="button" class="se2_cancel"><span>취소</span></button>
+									<!-- Size: <input type="text" class="input_ty2 video_w" value="560">X</span><input type="text" class="input_ty2 video_h" value="315"><button type="button" class="se2_vdefault">기본값</button> -->
+									Size: <input type="text" class="input_ty2 video_w" value="1100">X</span><input type="text" class="input_ty2 video_h" value="450"><button type="button" class="se2_vdefault">기본값</button>
+								</div>
+							</div>
+						</div>
+					<!-- 링크 -->
+					</li>
+				</ul> 
+				<!-- @###################################################################추가 끝#######################################################################-->
+			</div>
+			<!-- //704이상 -->
+		</div>
+		
+				<!-- 접근성 도움말 레이어 -->
+		<div class="se2_layer se2_accessibility" style="display:none;">
+			<div class="se2_in_layer">
+				<button type="button" title="닫기" class="se2_close"><span>닫기</span></button>
+				<h3><strong>접근성 도움말</strong></h3>
+				<div class="box_help">
+					<div>
+						<strong>툴바</strong>
+						<p>ALT+F10 을 누르면 툴바로 이동합니다. 다음 버튼은 TAB 으로 이전 버튼은 SHIFT+TAB 으로 이동 가능합니다. ENTER 를 누르면 해당 버튼의 기능이 동작하고 글쓰기 영역으로 포커스가 이동합니다. ESC 를 누르면 아무런 기능을 실행하지 않고 글쓰기 영역으로 포커스가 이동합니다.</p>
+						<strong>빠져 나가기</strong>
+						<p>ALT+. 를 누르면 스마트 에디터 다음 요소로 ALT+, 를 누르면 스마트에디터 이전 요소로 빠져나갈 수 있습니다.</p>
+						<strong>명령어 단축키</strong>
+						<ul>
+						<li>CTRL+B <span>굵게</span></li>
+						<li>SHIFT+TAB <span>내어쓰기</span></li>
+						<li>CTRL+U <span>밑줄</span></li>
+						<li>CTRL+F <span>찾기</span></li>
+						<li>CTRL+I <span>기울임 글꼴</span></li>
+						<li>CTRL+H <span>바꾸기</span></li>
+						<li>CTRL+D <span>취소선</span></li>
+						<li>CTRL+K <span>링크걸기</span></li>
+						<li>TAB <span>들여쓰기</span></li>
+						</ul>
+					</div>
+				</div>
+				<div class="se2_btns">
+					<button type="button" class="se2_close2"><span>닫기</span></button>
+				</div>
+			</div>
+		</div>		
+		<!-- //접근성 도움말 레이어 -->
+
+		<hr>
+		<!-- 입력 -->
+		<div class="se2_input_area husky_seditor_editing_area_container">
+			
+			
+			<iframe src="about:blank" id="se2_iframe" name="se2_iframe" class="se2_input_wysiwyg" width="400" height="300" title="글쓰기 영역 : 도구 모음은 ALT+F10을, 도움말은 ALT+0을 누르세요." frameborder="0" style="display:block;"></iframe>
+			<textarea name="" rows="10" cols="100" title="HTML 편집 모드" id="custom_se2_input_htmlsrc_id" class="se2_input_syntax se2_input_htmlsrc" style="display:none;outline-style:none;resize:none"> </textarea>
+			<textarea name="" rows="10" cols="100" title="TEXT 편집 모드" id="custom_se2_input_text_id" class="se2_input_syntax se2_input_text" style="display:none;outline-style:none;resize:none;"> </textarea>
+			
+			<!-- 입력창 조절 안내 레이어 -->
+			<div class="ly_controller husky_seditor_resize_notice" style="z-index:20;display:none;">
+				<p>아래 영역을 드래그하여 입력창 크기를 조절할 수 있습니다.</p>
+				<button type="button" title="닫기" class="bt_clse"><span>닫기</span></button>
+				<span class="ic_arr"></span>
+			</div>
+			<!-- //입력창 조절 안내 레이어 -->
+						<div class="quick_wrap">
+				<!-- 표/글양식 간단편집기 -->
+				<!--@lazyload_html qe_table-->
+				<div class="q_table_wrap" style="z-index: 150;">
+				<button class="_fold se2_qmax q_open_table_full" style="position:absolute; display:none;top:340px;left:210px;z-index:30;" title="최대화" type="button"><span>퀵에디터최대화</span></button>
+				<div class="_full se2_qeditor se2_table_set" style="position:absolute;display:none;top:135px;left:661px;z-index:30;">
+					<div class="se2_qbar q_dragable"><span class="se2_qmini"><button title="최소화" class="q_open_table_fold"><span>퀵에디터최소화</span></button></span></div>
+					<div class="se2_qbody0">
+						<div class="se2_qbody">
+							<dl class="se2_qe1">
+							<dt>삽입</dt><dd><button class="se2_addrow" title="행삽입" type="button"><span>행삽입</span></button><button class="se2_addcol" title="열삽입" type="button"><span>열삽입</span></button></dd>
+							<dt>분할</dt><dd><button class="se2_seprow" title="행분할" type="button"><span>행분할</span></button><button class="se2_sepcol" title="열분할" type="button"><span>열분할</span></button></dd>
+
+							<dt>삭제</dt><dd><button class="se2_delrow" title="행삭제" type="button"><span>행삭제</span></button><button class="se2_delcol" title="열삭제" type="button"><span>열삭제</span></button></dd>
+							<dt>병합</dt><dd><button class="se2_merrow" title="행병합" type="button"><span>행병합</span></button></dd>
+							</dl>
+							<div class="se2_qe2 se2_qe2_3"> <!-- 테이블 퀵에디터의 경우만,  se2_qe2_3제거 -->
+								<!-- 샐배경색 -->
+								<dl class="se2_qe2_1">
+
+								<dt><input type="radio" checked="checked" name="se2_tbp3" id="se2_cellbg2" class="husky_se2m_radio_bgc"><label for="se2_cellbg2">셀 배경색</label></dt>
+								<dd><span class="se2_pre_color"><button style="background: none repeat scroll 0% 0% rgb(255, 255, 255);" type="button" class="husky_se2m_table_qe_bgcolor_btn"><span>색찾기</span></button></span>		
+									<!-- layer:셀배경색 -->
+									<div style="display:none;position:absolute;top:20px;left:0px;" class="se2_layer se2_b_t_b1">
+										<div class="se2_in_layer husky_se2m_tbl_qe_bg_paletteHolder">
+										</div>
+									</div>
+									<!-- //layer:셀배경색-->
+
+								</dd>
+								</dl>
+								<!-- //샐배경색 -->
+								<!-- 배경이미지선택 -->
+								<dl style="display: none;" class="se2_qe2_2 husky_se2m_tbl_qe_review_bg">
+								<dt><input type="radio" name="se2_tbp3" id="se2_cellbg3" class="husky_se2m_radio_bgimg"><label for="se2_cellbg3">이미지</label></dt>
+								<dd><span class="se2_pre_bgimg"><button class="husky_se2m_table_qe_bgimage_btn se2_cellimg0" type="button"><span>배경이미지선택</span></button></span>
+									<!-- layer:배경이미지선택 -->
+									<div style="display:none;position:absolute;top:20px;left:-155px;" class="se2_layer se2_b_t_b1">
+										<div class="se2_in_layer husky_se2m_tbl_qe_bg_img_paletteHolder">
+											<ul class="se2_cellimg_set">
+											<li><button class="se2_cellimg0" type="button"><span>배경없음</span></button></li>
+											<li><button class="se2_cellimg1" type="button"><span>배경1</span></button></li>
+											<li><button class="se2_cellimg2" type="button"><span>배경2</span></button></li>
+											<li><button class="se2_cellimg3" type="button"><span>배경3</span></button></li>
+											<li><button class="se2_cellimg4" type="button"><span>배경4</span></button></li>
+											<li><button class="se2_cellimg5" type="button"><span>배경5</span></button></li>
+											<li><button class="se2_cellimg6" type="button"><span>배경6</span></button></li>
+											<li><button class="se2_cellimg7" type="button"><span>배경7</span></button></li>
+											<li><button class="se2_cellimg8" type="button"><span>배경8</span></button></li>
+											<li><button class="se2_cellimg9" type="button"><span>배경9</span></button></li>
+											<li><button class="se2_cellimg10" type="button"><span>배경10</span></button></li>
+											<li><button class="se2_cellimg11" type="button"><span>배경11</span></button></li>
+											<li><button class="se2_cellimg12" type="button"><span>배경12</span></button></li>
+											<li><button class="se2_cellimg13" type="button"><span>배경13</span></button></li>
+											<li><button class="se2_cellimg14" type="button"><span>배경14</span></button></li>
+											<li><button class="se2_cellimg15" type="button"><span>배경15</span></button></li>
+											<li><button class="se2_cellimg16" type="button"><span>배경16</span></button></li>
+											<li><button class="se2_cellimg17" type="button"><span>배경17</span></button></li>
+											<li><button class="se2_cellimg18" type="button"><span>배경18</span></button></li>
+											<li><button class="se2_cellimg19" type="button"><span>배경19</span></button></li>
+											<li><button class="se2_cellimg20" type="button"><span>배경20</span></button></li>
+											<li><button class="se2_cellimg21" type="button"><span>배경21</span></button></li>
+											<li><button class="se2_cellimg22" type="button"><span>배경22</span></button></li>
+											<li><button class="se2_cellimg23" type="button"><span>배경23</span></button></li>
+											<li><button class="se2_cellimg24" type="button"><span>배경24</span></button></li>
+											<li><button class="se2_cellimg25" type="button"><span>배경25</span></button></li>
+											<li><button class="se2_cellimg26" type="button"><span>배경26</span></button></li>
+											<li><button class="se2_cellimg27" type="button"><span>배경27</span></button></li>
+											<li><button class="se2_cellimg28" type="button"><span>배경28</span></button></li>
+											<li><button class="se2_cellimg29" type="button"><span>배경29</span></button></li>
+											<li><button class="se2_cellimg30" type="button"><span>배경30</span></button></li>
+											<li><button class="se2_cellimg31" type="button"><span>배경31</span></button></li>
+											</ul>
+										</div>
+									</div>
+									<!-- //layer:배경이미지선택-->
+								</dd>
+								</dl>
+								<!-- //배경이미지선택 -->
+							</div>
+							<dl style="display: block;" class="se2_qe3 se2_t_proper2">
+							<dt><input type="radio" name="se2_tbp3" id="se2_tbp4" class="husky_se2m_radio_template"><label for="se2_tbp4">표 스타일</label></dt>
+							<dd>
+								<div class="se2_qe3_table">
+								<div class="se2_select_ty2"><span class="se2_t_style1"></span><button class="se2_view_more husky_se2m_template_more" title="더보기" type="button"><span>더보기</span></button></div>
+								<!-- layer:표스타일 -->
+								<div style="display:none;top:33px;left:0;margin:0;" class="se2_layer_t_style">
+									<ul>
+									<li><button class="se2_t_style1" type="button"><span>표 스타일1</span></button></li>
+									<li><button class="se2_t_style2" type="button"><span>표 스타일2</span></button></li>
+									<li><button class="se2_t_style3" type="button"><span>표 스타일3</span></button></li>
+									<li><button class="se2_t_style4" type="button"><span>표 스타일4</span></button></li>
+									<li><button class="se2_t_style5" type="button"><span>표 스타일5</span></button></li>
+									<li><button class="se2_t_style6" type="button"><span>표 스타일6</span></button></li>
+									<li><button class="se2_t_style7" type="button"><span>표 스타일7</span></button></li>
+									<li><button class="se2_t_style8" type="button"><span>표 스타일8</span></button></li>
+									<li><button class="se2_t_style9" type="button"><span>표 스타일9</span></button></li>
+									<li><button class="se2_t_style10" type="button"><span>표 스타일10</span></button></li>
+									<li><button class="se2_t_style11" type="button"><span>표 스타일11</span></button></li>
+									<li><button class="se2_t_style12" type="button"><span>표 스타일12</span></button></li>
+									<li><button class="se2_t_style13" type="button"><span>표 스타일13</span></button></li>
+									<li><button class="se2_t_style14" type="button"><span>표 스타일14</span></button></li>
+									<li><button class="se2_t_style15" type="button"><span>표 스타일15</span></button></li>
+									<li><button class="se2_t_style16" type="button"><span>표 스타일16</span></button></li>
+									</ul>
+								</div>
+								<!-- //layer:표스타일 -->
+								</div>
+							</dd>
+							</dl>
+							<div style="display:none" class="se2_btn_area">
+								<button class="se2_btn_save" type="button"><span>My 리뷰저장</span></button>
+							</div>
+							<div class="se2_qdim0 husky_se2m_tbl_qe_dim1"></div>
+							<div class="se2_qdim4 husky_se2m_tbl_qe_dim2"></div>
+							<div class="se2_qdim6c husky_se2m_tbl_qe_dim_del_col"></div>
+							<div class="se2_qdim6r husky_se2m_tbl_qe_dim_del_row"></div>
+						</div>
+					</div>
+				</div>
+				</div>
+				<!--//@lazyload_html-->
+				<!-- //표/글양식 간단편집기 -->
+				<!-- 이미지 간단편집기 -->
+				<!--@lazyload_html qe_image-->
+				<div class="q_img_wrap">
+					<button class="_fold se2_qmax q_open_img_full" style="position:absolute;display:none;top:240px;left:210px;z-index:30;" title="최대화" type="button"><span>퀵에디터최대화</span></button>
+					<div class="_full se2_qeditor se2_table_set" style="position:absolute;display:none;top:140px;left:450px;z-index:30;">
+						<div class="se2_qbar  q_dragable"><span class="se2_qmini"><button title="최소화" class="q_open_img_fold"><span>퀵에디터최소화</span></button></span></div>
+						<div class="se2_qbody0">
+							<div class="se2_qbody">
+								<div class="se2_qe10">
+									<label for="se2_swidth">가로</label><input type="text" class="input_ty1 widthimg" name="" id="se2_swidth" value="1024"><label class="se2_sheight" for="se2_sheight">세로</label><input type="text" class="input_ty1 heightimg" name="" id="se2_sheight" value="768"><button class="se2_sreset" type="button"><span>초기화</span></button>
+									<div class="se2_qe10_1"><input type="checkbox" name="" class="se2_srate" id="se2_srate"><label for="se2_srate">가로 세로 비율 유지</label></div>
+								</div>
+								<div class="se2_qe11">
+									<dl class="se2_qe11_1">
+									<dt><label for="se2_b_width2">테두리두께</label></dt>
+										<dd class="se2_numberStepper"><input type="text" class="input_ty1 input bordersize" value="1" maxlength="2" name="" id="se2_b_width2" readonly="readonly">
+										<button class="se2_add plus" type="button"><span>1px 더하기</span></button>
+										<button class="se2_del minus" type="button"><span>1px 빼기</span></button>
+									</dd>
+									</dl>
+
+									<dl class="se2_qe11_2">
+									<dt>테두리 색</dt>
+									<dd><span class="se2_pre_color"><button style="background:#000000;" type="button" class="husky_se2m_img_qe_bgcolor_btn"><span>색찾기</span></button></span>
+										<!-- layer:테두리 색 -->
+										<div style="display:none;position:absolute;top:20px;left:-209px;" class="se2_layer se2_b_t_b1">
+											<div class="se2_in_layer husky_se2m_img_qe_bg_paletteHolder">
+											</div>
+										</div>
+										<!-- //layer:테두리 색 -->
+									</dd>
+									</dl>
+								</div>
+								<dl class="se2_qe12">
+								<dt>정렬</dt>
+								<dd><button title="정렬없음" class="se2_align0" type="button"><span>정렬없음</span></button><button title="좌측정렬" class="se2_align1 left" type="button"><span>좌측정렬</span></button><button title="우측정렬" class="se2_align2 right" type="button"><span>우측정렬</span></button>
+								</dd>
+								</dl>
+								<button class="se2_highedit" type="button"><span>고급편집</span></button>
+								<div class="se2_qdim0"></div>
+							</div>
+						</div>
+					</div>
+				</div>
+				<!--//@lazyload_html-->
+				<!-- 이미지 간단편집기 -->
+			</div>
+		</div>
+		<!-- //입력 -->
+		<!-- 입력창조절/ 모드전환 -->
+		<div class="se2_conversion_mode">
+			<button type="button" class="se2_inputarea_controller husky_seditor_editingArea_verticalResizer" title="입력창 크기 조절"><span>입력창 크기 조절</span></button>
+			<ul class="se2_converter">
+			<li class="active"><button type="button" class="se2_to_editor"><span>Editor</span></button></li>
+			<li><button type="button" class="se2_to_html"><span>HTML</span></button></li>
+			<li><button type="button" class="se2_to_text"><span>TEXT</span></button></li>
+			</ul>
+		</div>
+		<!-- //입력창조절/ 모드전환 -->
+		<hr>
+		<!-- 얼럿 메세지 공통 -->
+		<div class="se2_alert_wrap" style="display:none">
+			<div class="se2_alert_content">
+				<div class="se2_alert_txts"></div>
+				<p class="se2_alert_btns">
+					<button type="button" class="se2_confirm"><span>확인</span></button><button type="button" class="se2_cancel"><span>취소</span></button>
+				</p>
+				<a href="#" class="btn_close">닫기</a>
+			</div>
+			<!-- 레이어 중앙정렬 -->
+			<span class="va_line"></span>
+			<div class="ie_cover"></div>
+		</div>
+		<!-- //얼럿 메세지 공통 -->
+	</div>
+</div>
+<!-- SE2 Markup End -->
+
+
+</body>
+</html>(파일 끝에 줄바꿈 문자 없음)
 
client/smarteditor2-2.8.2.3/SmartEditor2_noframe.html (added)
+++ client/smarteditor2-2.8.2.3/SmartEditor2_noframe.html
@@ -0,0 +1,842 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="ko">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta http-equiv="Content-Script-Type" content="text/javascript">
+<meta http-equiv="Content-Style-Type" content="text/css">
+<title>네이버 :: Smart Editor 2 &#8482;</title>
+<link href="css/smart_editor2.css" rel="stylesheet" type="text/css">
+<style type="text/css">
+	body { margin: 10px; }
+</style>
+<script type="text/javascript" src="./js/lib/jindo2.all.js" charset="utf-8"></script>
+<script type="text/javascript" src="./js/lib/jindo_component.js" charset="utf-8"></script>
+<script type="text/javascript" src="./js/SE2M_Configuration.js" charset="utf-8"></script>	<!-- 설정 파일 -->
+<script type="text/javascript" src="./js/SE2BasicCreator.js" charset="utf-8"></script>
+<script type="text/javascript" src="./js/smarteditor2.min.js" charset="utf-8"></script>
+
+<!-- 사진첨부샘플  --> 
+<script type="text/javascript" src="./sample/js/plugin/hp_SE2M_AttachQuickPhoto.js" charset="utf-8"></script>
+</head>
+<body>
+
+
+
+<span id="rev">Version: 2.8.2.4259f59 </span>
+
+<!-- SE2 Markup Start -->	
+<div id="smart_editor2">
+	<div id="smart_editor2_content"><a href="#se2_iframe" class="blind">글쓰기영역으로 바로가기</a>
+		<div class="se2_tool" id="se2_tool">
+			
+			<div class="se2_text_tool husky_seditor_text_tool">
+			<ul class="se2_font_type">
+				<li class="husky_seditor_ui_fontName"><button type="button" class="se2_font_family" title="글꼴"><span class="husky_se2m_current_fontName">글꼴</span></button>
+					<!-- 글꼴 레이어 -->
+					<div class="se2_layer husky_se_fontName_layer">
+						<div class="se2_in_layer">
+							<ul class="se2_l_font_fam">
+							<li style="display:none"><button type="button"><span>@DisplayName@<span>(</span><em style="font-family:FontFamily;">@SampleText@</em><span>)</span></span></button></li>
+							<li class="se2_division husky_seditor_font_separator"></li>
+							<li><button type="button"><span>나눔고딕<span>(</span><em style="font-family:'나눔고딕',NanumGothic;">가나다라</em><span>)</span></span></button></li>
+							<li><button type="button"><span>나눔명조<span>(</span><em style="font-family:'나눔명조',NanumMyeongjo;">가나다라</em><span>)</span></span></button></li>
+							<li><button type="button"><span>나눔고딕코딩<span>(</span><em style="font-family:'나눔고딕코딩',NanumGothicCoding;">가나다라</em><span>)</span></span></button></li>
+							<li><button type="button"><span>나눔바른고딕<span>(</span><em style="font-family:'나눔바른고딕',NanumBarunGothic,NanumBarunGothicOTF;">가나다라</em><span>)</span></span></button></li>
+							<li><button type="button"><span>나눔바른펜<span>(</span><em style="font-family:'나눔바른펜',NanumBarunpen;">가나다라</em><span>)</span></span></button></li>
+							</ul>
+						</div>
+					</div>
+					<!-- //글꼴 레이어 -->
+				</li>
+
+				<li class="husky_seditor_ui_fontSize"><button type="button" class="se2_font_size" title="글자크기"><span class="husky_se2m_current_fontSize">크기</span></button>
+					<!-- 폰트 사이즈 레이어 -->
+					<div class="se2_layer husky_se_fontSize_layer">
+						<div class="se2_in_layer">
+							<ul class="se2_l_font_size">
+							<li><button type="button"><span style="margin-top:4px; margin-bottom:3px; margin-left:5px; font-size:7pt;">가나다라마바사<span style=" font-size:7pt;">(7pt)</span></span></button></li>
+							<li><button type="button"><span style="margin-bottom:2px; font-size:8pt;">가나다라마바사<span style="font-size:8pt;">(8pt)</span></span></button></li>
+							<li><button type="button"><span style="margin-bottom:1px; font-size:9pt;">가나다라마바사<span style="font-size:9pt;">(9pt)</span></span></button></li>
+							<li><button type="button"><span style="margin-bottom:1px; font-size:10pt;">가나다라마바사<span style="font-size:10pt;">(10pt)</span></span></button></li>
+							<li><button type="button"><span style="margin-bottom:2px; font-size:11pt;">가나다라마바사<span style="font-size:11pt;">(11pt)</span></span></button></li>
+							<li><button type="button"><span style="margin-bottom:1px; font-size:12pt;">가나다라마바사<span style="font-size:12pt;">(12pt)</span></span></button></li>
+							<li><button type="button"><span style="margin-bottom:2px; font-size:14pt;">가나다라마바사<span style="margin-left:6px;font-size:14pt;">(14pt)</span></span></button></li>
+							<li><button type="button"><span style="margin-bottom:1px; font-size:18pt;">가나다라마바사<span style="margin-left:8px;font-size:18pt;">(18pt)</span></span></button></li>
+							<li><button type="button"><span style="margin-left:3px; font-size:24pt;">가나다라마<span style="margin-left:11px;font-size:24pt;">(24pt)</span></span></button></li>
+							<li><button type="button"><span style="margin-top:-1px; margin-left:3px; font-size:36pt;">가나다<span style="font-size:36pt;">(36pt)</span></span></button></li>
+							</ul>
+						</div>
+					</div>
+					<!-- //폰트 사이즈 레이어 -->
+				</li>
+</ul><ul>
+				<li class="husky_seditor_ui_bold first_child"><button type="button" title="굵게[Ctrl+B]" class="se2_bold"><span class="_buttonRound tool_bg">굵게[Ctrl+B]</span></button></li>
+
+				<li class="husky_seditor_ui_underline"><button type="button" title="밑줄[Ctrl+U]" class="se2_underline"><span class="_buttonRound">밑줄[Ctrl+U]</span></button></li>
+
+				<li class="husky_seditor_ui_italic"><button type="button" title="기울임꼴[Ctrl+I]" class="se2_italic"><span class="_buttonRound">기울임꼴[Ctrl+I]</span></button></li>
+
+				<li class="husky_seditor_ui_lineThrough"><button type="button" title="취소선[Ctrl+D]" class="se2_tdel"><span class="_buttonRound">취소선[Ctrl+D]</span></button></li>
+
+				<li class="se2_pair husky_seditor_ui_fontColor"><span class="selected_color husky_se2m_fontColor_lastUsed" style="background-color:#4477f9"></span><span class="husky_seditor_ui_fontColorA"><button type="button" title="글자색" class="se2_fcolor"><span>글자색</span></button></span><span class="husky_seditor_ui_fontColorB"><button type="button" title="더보기" class="se2_fcolor_more"><span class="_buttonRound">더보기</span></button></span>				
+					<!-- 글자색 -->
+					<div class="se2_layer husky_se2m_fontcolor_layer" style="display:none">
+						<div class="se2_in_layer husky_se2m_fontcolor_paletteHolder">
+							<div class="se2_palette husky_se2m_color_palette">
+								<ul class="se2_pick_color">
+								<li><button type="button" title="#ff0000" style="background:#ff0000"><span><span>#ff0000</span></span></button></li>
+								<li><button type="button" title="#ff6c00" style="background:#ff6c00"><span><span>#ff6c00</span></span></button></li>
+								<li><button type="button" title="#ffaa00" style="background:#ffaa00"><span><span>#ffaa00</span></span></button></li>
+								<li><button type="button" title="#ffef00" style="background:#ffef00"><span><span>#ffef00</span></span></button></li>
+								<li><button type="button" title="#a6cf00" style="background:#a6cf00"><span><span>#a6cf00</span></span></button></li>
+								<li><button type="button" title="#009e25" style="background:#009e25"><span><span>#009e25</span></span></button></li>
+								<li><button type="button" title="#00b0a2" style="background:#00b0a2"><span><span>#00b0a2</span></span></button></li>
+								<li><button type="button" title="#0075c8" style="background:#0075c8"><span><span>#0075c8</span></span></button></li>
+								<li><button type="button" title="#3a32c3" style="background:#3a32c3"><span><span>#3a32c3</span></span></button></li>
+								<li><button type="button" title="#7820b9" style="background:#7820b9"><span><span>#7820b9</span></span></button></li>
+								<li><button type="button" title="#ef007c" style="background:#ef007c"><span><span>#ef007c</span></span></button></li>
+								<li><button type="button" title="#000000" style="background:#000000"><span><span>#000000</span></span></button></li>
+								<li><button type="button" title="#252525" style="background:#252525"><span><span>#252525</span></span></button></li>
+								<li><button type="button" title="#464646" style="background:#464646"><span><span>#464646</span></span></button></li>
+								<li><button type="button" title="#636363" style="background:#636363"><span><span>#636363</span></span></button></li>
+								<li><button type="button" title="#7d7d7d" style="background:#7d7d7d"><span><span>#7d7d7d</span></span></button></li>
+								<li><button type="button" title="#9a9a9a" style="background:#9a9a9a"><span><span>#9a9a9a</span></span></button></li>
+								<li><button type="button" title="#ffe8e8" style="background:#ffe8e8"><span><span>#9a9a9a</span></span></button></li>
+								<li><button type="button" title="#f7e2d2" style="background:#f7e2d2"><span><span>#f7e2d2</span></span></button></li>
+								<li><button type="button" title="#f5eddc" style="background:#f5eddc"><span><span>#f5eddc</span></span></button></li>
+								<li><button type="button" title="#f5f4e0" style="background:#f5f4e0"><span><span>#f5f4e0</span></span></button></li>
+								<li><button type="button" title="#edf2c2" style="background:#edf2c2"><span><span>#edf2c2</span></span></button></li>
+								<li><button type="button" title="#def7e5" style="background:#def7e5"><span><span>#def7e5</span></span></button></li>
+								<li><button type="button" title="#d9eeec" style="background:#d9eeec"><span><span>#d9eeec</span></span></button></li>
+								<li><button type="button" title="#c9e0f0" style="background:#c9e0f0"><span><span>#c9e0f0</span></span></button></li>
+								<li><button type="button" title="#d6d4eb" style="background:#d6d4eb"><span><span>#d6d4eb</span></span></button></li>
+								<li><button type="button" title="#e7dbed" style="background:#e7dbed"><span><span>#e7dbed</span></span></button></li>
+								<li><button type="button" title="#f1e2ea" style="background:#f1e2ea"><span><span>#f1e2ea</span></span></button></li>
+								<li><button type="button" title="#acacac" style="background:#acacac"><span><span>#acacac</span></span></button></li>
+								<li><button type="button" title="#c2c2c2" style="background:#c2c2c2"><span><span>#c2c2c2</span></span></button></li>
+								<li><button type="button" title="#cccccc" style="background:#cccccc"><span><span>#cccccc</span></span></button></li>
+								<li><button type="button" title="#e1e1e1" style="background:#e1e1e1"><span><span>#e1e1e1</span></span></button></li>
+								<li><button type="button" title="#ebebeb" style="background:#ebebeb"><span><span>#ebebeb</span></span></button></li>
+								<li><button type="button" title="#ffffff" style="background:#ffffff"><span><span>#ffffff</span></span></button></li>
+								</ul>
+								<ul class="se2_pick_color" style="width:156px;">
+								<li><button type="button" title="#e97d81" style="background:#e97d81"><span><span>#e97d81</span></span></button></li>
+								<li><button type="button" title="#e19b73" style="background:#e19b73"><span><span>#e19b73</span></span></button></li>
+								<li><button type="button" title="#d1b274" style="background:#d1b274"><span><span>#d1b274</span></span></button></li>
+								<li><button type="button" title="#cfcca2" style="background:#cfcca2"><span><span>#cfcca2</span></span></button></li>
+								<li><button type="button" title="#cfcca2" style="background:#cfcca2"><span><span>#cfcca2</span></span></button></li>
+								<li><button type="button" title="#61b977" style="background:#61b977"><span><span>#61b977</span></span></button></li>
+								<li><button type="button" title="#53aea8" style="background:#53aea8"><span><span>#53aea8</span></span></button></li>
+								<li><button type="button" title="#518fbb" style="background:#518fbb"><span><span>#518fbb</span></span></button></li>
+								<li><button type="button" title="#6a65bb" style="background:#6a65bb"><span><span>#6a65bb</span></span></button></li>
+								<li><button type="button" title="#9a54ce" style="background:#9a54ce"><span><span>#9a54ce</span></span></button></li>
+								<li><button type="button" title="#e573ae" style="background:#e573ae"><span><span>#e573ae</span></span></button></li>
+								<li><button type="button" title="#5a504b" style="background:#5a504b"><span><span>#5a504b</span></span></button></li>
+								<li><button type="button" title="#767b86" style="background:#767b86"><span><span>#767b86</span></span></button></li>
+								<li><button type="button" title="#951015" style="background:#951015"><span><span>#951015</span></span></button></li>
+								<li><button type="button" title="#6e391a" style="background:#6e391a"><span><span>#6e391a</span></span></button></li>
+								<li><button type="button" title="#785c25" style="background:#785c25"><span><span>#785c25</span></span></button></li>
+								<li><button type="button" title="#5f5b25" style="background:#5f5b25"><span><span>#5f5b25</span></span></button></li>
+								<li><button type="button" title="#4c511f" style="background:#4c511f"><span><span>#4c511f</span></span></button></li>
+								<li><button type="button" title="#1c4827" style="background:#1c4827"><span><span>#1c4827</span></span></button></li>
+								<li><button type="button" title="#0d514c" style="background:#0d514c"><span><span>#0d514c</span></span></button></li>
+								<li><button type="button" title="#1b496a" style="background:#1b496a"><span><span>#1b496a</span></span></button></li>
+								<li><button type="button" title="#2b285f" style="background:#2b285f"><span><span>#2b285f</span></span></button></li>
+								<li><button type="button" title="#45245b" style="background:#45245b"><span><span>#45245b</span></span></button></li>
+								<li><button type="button" title="#721947" style="background:#721947"><span><span>#721947</span></span></button></li>
+								<li><button type="button" title="#352e2c" style="background:#352e2c"><span><span>#352e2c</span></span></button></li>
+								<li><button type="button" title="#3c3f45" style="background:#3c3f45"><span><span>#3c3f45</span></span></button></li>
+								</ul>
+								<button type="button" title="더보기" class="se2_view_more husky_se2m_color_palette_more_btn"><span>더보기</span></button>
+								<div class="husky_se2m_color_palette_recent" style="display:none">
+									<h4>최근 사용한 색</h4>
+									<ul class="se2_pick_color">
+									<li></li>
+									<!-- 최근 사용한 색 템플릿 -->
+									<!-- <li><button type="button" title="#e97d81" style="background:#e97d81"><span><span>#e97d81</span></span></button></li> -->
+									<!-- //최근 사용한 색 템플릿 -->
+									</ul>
+								</div>								
+								<div class="se2_palette2 husky_se2m_color_palette_colorpicker">
+									<!--form action="http://test.emoticon.naver.com/colortable/TextAdd.nhn" method="post"-->
+										<div class="se2_color_set">
+											<span class="se2_selected_color"><span class="husky_se2m_cp_preview" style="background:#e97d81"></span></span><input type="text" name="" class="input_ty1 husky_se2m_cp_colorcode" value="#e97d81"><button type="button" class="se2_btn_insert husky_se2m_color_palette_ok_btn" title="입력"><span>입력</span></button></div>
+										<!--input type="hidden" name="callback" value="http://test.emoticon.naver.com/colortable/result.jsp" />
+										<input type="hidden" name="callback_func" value="1" />
+										<input type="hidden" name="text_key" value="" />
+										<input type="hidden" name="text_data" value="" />
+									</form-->
+									<div class="se2_gradation1 husky_se2m_cp_colpanel"></div>
+									<div class="se2_gradation2 husky_se2m_cp_huepanel"></div>
+								</div>
+							</div>
+                        </div>
+					</div>
+                    <!-- //글자색 -->
+				</li>
+
+				<li class="se2_pair husky_seditor_ui_BGColor"><span class="selected_color husky_se2m_BGColor_lastUsed" style="background-color:#4477f9"></span><span class="husky_seditor_ui_BGColorA"><button type="button" title="배경색" class="se2_bgcolor"><span>배경색</span></button></span><span class="husky_seditor_ui_BGColorB"><button type="button" title="더보기" class="se2_bgcolor_more"><span class="_buttonRound">더보기</span></button></span>
+					<!-- 배경색 -->
+					<div class="se2_layer se2_layer husky_se2m_BGColor_layer" style="display:none">
+						<div class="se2_in_layer">
+							<div class="se2_palette_bgcolor">
+								<ul class="se2_background husky_se2m_bgcolor_list">
+								<li><button type="button" title="배경색#ff0000 글자색#ffffff" style="background:#ff0000; color:#ffffff"><span><span>가나다</span></span></button></li>								
+								<li><button type="button" title="배경색#6d30cf 글자색#ffffff" style="background:#6d30cf; color:#ffffff"><span><span>가나다</span></span></button></li>
+								<li><button type="button" title="배경색#000000 글자색#ffffff" style="background:#000000; color:#ffffff"><span><span>가나다</span></span></button></li>
+								<li><button type="button" title="배경색#ff6600 글자색#ffffff" style="background:#ff6600; color:#ffffff"><span><span>가나다</span></span></button></li>
+								<li><button type="button" title="배경색#3333cc 글자색#ffffff" style="background:#3333cc; color:#ffffff"><span><span>가나다</span></span></button></li>
+								<li><button type="button" title="배경색#333333 글자색#ffff00" style="background:#333333; color:#ffff00"><span><span>가나다</span></span></button></li>
+								<li><button type="button" title="배경색#ffa700 글자색#ffffff" style="background:#ffa700; color:#ffffff"><span><span>가나다</span></span></button></li>
+								<li><button type="button" title="배경색#009999 글자색#ffffff" style="background:#009999; color:#ffffff"><span><span>가나다</span></span></button></li>
+								<li><button type="button" title="배경색#8e8e8e 글자색#ffffff" style="background:#8e8e8e; color:#ffffff"><span><span>가나다</span></span></button></li>								
+								<li><button type="button" title="배경색#cc9900 글자색#ffffff" style="background:#cc9900; color:#ffffff"><span><span>가나다</span></span></button></li>
+								<li><button type="button" title="배경색#77b02b 글자색#ffffff" style="background:#77b02b; color:#ffffff"><span><span>가나다</span></span></button></li>
+								<li><button type="button" title="배경색#ffffff 글자색#000000" style="background:#ffffff; color:#000000"><span><span>가나다</span></span></button></li>
+								</ul>
+							</div>
+							<div class="husky_se2m_BGColor_paletteHolder"></div>
+                        </div>
+					</div>
+                    <!-- //배경색 -->
+				</li>
+
+				<li class="husky_seditor_ui_superscript"><button type="button" title="윗첨자" class="se2_sup"><span class="_buttonRound">윗첨자</span></button></li>
+
+				<li class="husky_seditor_ui_subscript last_child"><button type="button" title="아래첨자" class="se2_sub"><span class="_buttonRound tool_bg">아래첨자</span></button></li>
+</ul><ul>
+				<li class="husky_seditor_ui_justifyleft first_child"><button type="button" title="왼쪽정렬" class="se2_left"><span class="_buttonRound tool_bg">왼쪽정렬</span></button></li>
+
+				<li class="husky_seditor_ui_justifycenter"><button type="button" title="가운데정렬" class="se2_center"><span class="_buttonRound">가운데정렬</span></button></li>
+
+				<li class="husky_seditor_ui_justifyright"><button type="button" title="오른쪽정렬" class="se2_right"><span class="_buttonRound">오른쪽정렬</span></button></li>
+
+				<li class="husky_seditor_ui_justifyfull"><button type="button" title="양쪽정렬" class="se2_justify"><span class="_buttonRound">양쪽정렬</span></button></li>
+
+				<li class="husky_seditor_ui_orderedlist"><button type="button" title="번호매기기" class="se2_ol"><span class="_buttonRound">번호매기기</span></button></li>
+
+				<li class="husky_seditor_ui_unorderedlist"><button type="button" title="글머리기호" class="se2_ul"><span class="_buttonRound">글머리기호</span></button></li>
+
+				<li class="husky_seditor_ui_outdent"><button type="button" title="내어쓰기[Shift+Tab]" class="se2_outdent"><span class="_buttonRound">내어쓰기[Shift+Tab]</span></button></li>
+
+				<li class="husky_seditor_ui_indent"><button type="button" title="들여쓰기[Tab]" class="se2_indent"><span class="_buttonRound">들여쓰기[Tab]</span></button></li>			
+
+				<li class="husky_seditor_ui_lineHeight last_child"><button type="button" title="줄간격" class="se2_lineheight" ><span class="_buttonRound tool_bg">줄간격</span></button>
+					<!-- 줄간격 레이어 -->
+					<div class="se2_layer husky_se2m_lineHeight_layer">
+						<div class="se2_in_layer">
+							<ul class="se2_l_line_height">
+							<li><button type="button"><span>50%</span></button></li>
+							<li><button type="button"><span>80%</span></button></li>
+							<li><button type="button"><span>100%</span></button></li>
+							<li><button type="button"><span>120%</span></button></li>
+							<li><button type="button"><span>150%</span></button></li>
+							<li><button type="button"><span>180%</span></button></li>
+							<li><button type="button"><span>200%</span></button></li>
+							</ul>
+							<div class="se2_l_line_height_user husky_se2m_lineHeight_direct_input">
+								<h3>직접 입력</h3>
+								<span class="bx_input">
+								<input type="text" class="input_ty1" maxlength="3" style="width:75px">
+								<button type="button" title="1% 더하기" class="btn_up"><span>1% 더하기</span></button>
+								<button type="button" title="1% 빼기" class="btn_down"><span>1% 빼기</span></button>
+								</span>		
+								<div class="btn_area">
+									<button type="button" class="se2_btn_apply3"><span>적용</span></button><button type="button" class="se2_btn_cancel3"><span>취소</span></button>
+								</div>
+							</div>
+						</div>
+					</div>
+					<!-- //줄간격 레이어 -->
+				</li>
+</ul><ul>
+				<li class="husky_seditor_ui_quote single_child"><button type="button" title="인용구" class="se2_blockquote"><span class="_buttonRound tool_bg">인용구</span></button>
+					<!-- 인용구 -->
+					<div class="se2_layer husky_seditor_blockquote_layer" style="margin-left:-407px; display:none;">
+						<div class="se2_in_layer">
+							<div class="se2_quote">
+								<ul>
+								<li class="q1"><button type="button" class="se2_quote1"><span><span>인용구 스타일1</span></span></button></li>
+								<li class="q2"><button type="button" class="se2_quote2"><span><span>인용구 스타일2</span></span></button></li>
+								<li class="q3"><button type="button" class="se2_quote3"><span><span>인용구 스타일3</span></span></button></li>
+								<li class="q4"><button type="button" class="se2_quote4"><span><span>인용구 스타일4</span></span></button></li>
+								<li class="q5"><button type="button" class="se2_quote5"><span><span>인용구 스타일5</span></span></button></li>
+								<li class="q6"><button type="button" class="se2_quote6"><span><span>인용구 스타일6</span></span></button></li>
+								<li class="q7"><button type="button" class="se2_quote7"><span><span>인용구 스타일7</span></span></button></li>
+								<li class="q8"><button type="button" class="se2_quote8"><span><span>인용구 스타일8</span></span></button></li>
+								<li class="q9"><button type="button" class="se2_quote9"><span><span>인용구 스타일9</span></span></button></li>
+								<li class="q10"><button type="button" class="se2_quote10"><span><span>인용구 스타일10</span></span></button></li>
+								</ul>
+								<button type="button" class="se2_cancel2"><span>적용취소</span></button>
+							</div>
+						</div>
+					</div>
+					<!-- //인용구 -->
+				</li>
+</ul><ul>
+				<li class="husky_seditor_ui_hyperlink first_child"><button type="button" title="링크" class="se2_url"><span class="_buttonRound tool_bg">링크</span></button>
+					<!-- 링크 -->
+					<div class="se2_layer" style="margin-left:-285px">
+						<div class="se2_in_layer">
+							<div class="se2_url2">
+								<input type="text" class="input_ty1" value="http://">
+								<button type="button" class="se2_apply"><span>적용</span></button><button type="button" class="se2_cancel"><span>취소</span></button>
+							</div>
+						</div>
+					</div>
+					<!-- //링크 -->
+				</li>
+
+				<li class="husky_seditor_ui_sCharacter"><button type="button" title="특수기호" class="se2_character"><span class="_buttonRound">특수기호</span></button>
+					<!-- 특수기호 -->
+					<div class="se2_layer husky_seditor_sCharacter_layer" style="margin-left:-448px;">
+						<div class="se2_in_layer">
+							<div class="se2_bx_character">
+								<ul class="se2_char_tab">
+								<li class="active"><button type="button" title="일반기호" class="se2_char1"><span>일반기호</span></button>
+									<div class="se2_s_character">
+										<ul class="husky_se2m_sCharacter_list">
+											<li></li>
+											<!-- 일반기호 목록 -->
+											<!-- <li class="hover"><button type="button"><span>{</span></button></li><li class="active"><button type="button"><span>}</span></button></li><li><button type="button"><span>〔</span></button></li><li><button type="button"><span>〕</span></button></li><li><button type="button"><span>〈</span></button></li><li><button type="button"><span>〉</span></button></li><li><button type="button"><span>《</span></button></li><li><button type="button"><span>》</span></button></li><li><button type="button"><span>「</span></button></li><li><button type="button"><span>」</span></button></li><li><button type="button"><span>『</span></button></li><li><button type="button"><span>』</span></button></li><li><button type="button"><span>【</span></button></li><li><button type="button"><span>】</span></button></li><li><button type="button"><span>‘</span></button></li><li><button type="button"><span>’</span></button></li><li><button type="button"><span>“</span></button></li><li><button type="button"><span>”</span></button></li><li><button type="button"><span>、</span></button></li><li><button type="button"><span>。</span></button></li><li><button type="button"><span>·</span></button></li><li><button type="button"><span>‥</span></button></li><li><button type="button"><span>…</span></button></li><li><button type="button"><span>§</span></button></li><li><button type="button"><span>※</span></button></li><li><button type="button"><span>☆</span></button></li><li><button type="button"><span>★</span></button></li><li><button type="button"><span>○</span></button></li><li><button type="button"><span>●</span></button></li><li><button type="button"><span>◎</span></button></li><li><button type="button"><span>◇</span></button></li><li><button type="button"><span>◆</span></button></li><li><button type="button"><span>□</span></button></li><li><button type="button"><span>■</span></button></li><li><button type="button"><span>△</span></button></li><li><button type="button"><span>▲</span></button></li><li><button type="button"><span>▽</span></button></li><li><button type="button"><span>▼</span></button></li><li><button type="button"><span>◁</span></button></li><li><button type="button"><span>◀</span></button></li><li><button type="button"><span>▷</span></button></li><li><button type="button"><span>▶</span></button></li><li><button type="button"><span>♤</span></button></li><li><button type="button"><span>♠</span></button></li><li><button type="button"><span>♡</span></button></li><li><button type="button"><span>♥</span></button></li><li><button type="button"><span>♧</span></button></li><li><button type="button"><span>♣</span></button></li><li><button type="button"><span>⊙</span></button></li><li><button type="button"><span>◈</span></button></li><li><button type="button"><span>▣</span></button></li><li><button type="button"><span>◐</span></button></li><li><button type="button"><span>◑</span></button></li><li><button type="button"><span>▒</span></button></li><li><button type="button"><span>▤</span></button></li><li><button type="button"><span>▥</span></button></li><li><button type="button"><span>▨</span></button></li><li><button type="button"><span>▧</span></button></li><li><button type="button"><span>▦</span></button></li><li><button type="button"><span>▩</span></button></li><li><button type="button"><span>±</span></button></li><li><button type="button"><span>×</span></button></li><li><button type="button"><span>÷</span></button></li><li><button type="button"><span>≠</span></button></li><li><button type="button"><span>≤</span></button></li><li><button type="button"><span>≥</span></button></li><li><button type="button"><span>∞</span></button></li><li><button type="button"><span>∴</span></button></li><li><button type="button"><span>°</span></button></li><li><button type="button"><span>′</span></button></li><li><button type="button"><span>″</span></button></li><li><button type="button"><span>∠</span></button></li><li><button type="button"><span>⊥</span></button></li><li><button type="button"><span>⌒</span></button></li><li><button type="button"><span>∂</span></button></li><li><button type="button"><span>≡</span></button></li><li><button type="button"><span>≒</span></button></li><li><button type="button"><span>≪</span></button></li><li><button type="button"><span>≫</span></button></li><li><button type="button"><span>√</span></button></li><li><button type="button"><span>∽</span></button></li><li><button type="button"><span>∝</span></button></li><li><button type="button"><span>∵</span></button></li><li><button type="button"><span>∫</span></button></li><li><button type="button"><span>∬</span></button></li><li><button type="button"><span>∈</span></button></li><li><button type="button"><span>∋</span></button></li><li><button type="button"><span>⊆</span></button></li><li><button type="button"><span>⊇</span></button></li><li><button type="button"><span>⊂</span></button></li><li><button type="button"><span>⊃</span></button></li><li><button type="button"><span>∪</span></button></li><li><button type="button"><span>∩</span></button></li><li><button type="button"><span>∧</span></button></li><li><button type="button"><span>∨</span></button></li><li><button type="button"><span>¬</span></button></li><li><button type="button"><span>⇒</span></button></li><li><button type="button"><span>⇔</span></button></li><li><button type="button"><span>∀</span></button></li><li><button type="button"><span>∃</span></button></li><li><button type="button"><span>´</span></button></li><li><button type="button"><span>~</span></button></li><li><button type="button"><span>ˇ</span></button></li><li><button type="button"><span>˘</span></button></li><li><button type="button"><span>˝</span></button></li><li><button type="button"><span>˚</span></button></li><li><button type="button"><span>˙</span></button></li><li><button type="button"><span>¸</span></button></li><li><button type="button"><span>˛</span></button></li><li><button type="button"><span>¡</span></button></li><li><button type="button"><span>¿</span></button></li><li><button type="button"><span>ː</span></button></li><li><button type="button"><span>∮</span></button></li><li><button type="button"><span>∑</span></button></li><li><button type="button"><span>∏</span></button></li><li><button type="button"><span>♭</span></button></li><li><button type="button"><span>♩</span></button></li><li><button type="button"><span>♪</span></button></li><li><button type="button"><span>♬</span></button></li><li><button type="button"><span>㉿</span></button></li><li><button type="button"><span>→</span></button></li><li><button type="button"><span>←</span></button></li><li><button type="button"><span>↑</span></button></li><li><button type="button"><span>↓</span></button></li><li><button type="button"><span>↔</span></button></li><li><button type="button"><span>↕</span></button></li><li><button type="button"><span>↗</span></button></li><li><button type="button"><span>↙</span></button></li><li><button type="button"><span>↖</span></button></li><li><button type="button"><span>↘</span></button></li><li><button type="button"><span>㈜</span></button></li><li><button type="button"><span>№</span></button></li><li><button type="button"><span>㏇</span></button></li><li><button type="button"><span>™</span></button></li><li><button type="button"><span>㏂</span></button></li><li><button type="button"><span>㏘</span></button></li><li><button type="button"><span>℡</span></button></li><li><button type="button"><span>♨</span></button></li><li><button type="button"><span>☏</span></button></li><li><button type="button"><span>☎</span></button></li><li><button type="button"><span>☜</span></button></li><li><button type="button"><span>☞</span></button></li><li><button type="button"><span>¶</span></button></li><li><button type="button"><span>†</span></button></li><li><button type="button"><span>‡</span></button></li><li><button type="button"><span>®</span></button></li><li><button type="button"><span>ª</span></button></li><li><button type="button"><span>º</span></button></li><li><button type="button"><span>♂</span></button></li><li><button type="button"><span>♀</span></button></li> -->
+										</ul>
+									</div>
+								</li>
+								<li><button type="button" title="숫자와 단위" class="se2_char2"><span>숫자와 단위</span></button>
+									<div class="se2_s_character">
+										<ul class="husky_se2m_sCharacter_list">
+											<li></li>
+											<!-- 숫자와 단위 목록 -->
+											<!-- <li class="hover"><button type="button"><span>½</span></button></li><li><button type="button"><span>⅓</span></button></li><li><button type="button"><span>⅔</span></button></li><li><button type="button"><span>¼</span></button></li><li><button type="button"><span>¾</span></button></li><li><button type="button"><span>⅛</span></button></li><li><button type="button"><span>⅜</span></button></li><li><button type="button"><span>⅝</span></button></li><li><button type="button"><span>⅞</span></button></li><li><button type="button"><span>¹</span></button></li><li><button type="button"><span>²</span></button></li><li><button type="button"><span>³</span></button></li><li><button type="button"><span>⁴</span></button></li><li><button type="button"><span>ⁿ</span></button></li><li><button type="button"><span>₁</span></button></li><li><button type="button"><span>₂</span></button></li><li><button type="button"><span>₃</span></button></li><li><button type="button"><span>₄</span></button></li><li><button type="button"><span>Ⅰ</span></button></li><li><button type="button"><span>Ⅱ</span></button></li><li><button type="button"><span>Ⅲ</span></button></li><li><button type="button"><span>Ⅳ</span></button></li><li><button type="button"><span>Ⅴ</span></button></li><li><button type="button"><span>Ⅵ</span></button></li><li><button type="button"><span>Ⅶ</span></button></li><li><button type="button"><span>Ⅷ</span></button></li><li><button type="button"><span>Ⅸ</span></button></li><li><button type="button"><span>Ⅹ</span></button></li><li><button type="button"><span>ⅰ</span></button></li><li><button type="button"><span>ⅱ</span></button></li><li><button type="button"><span>ⅲ</span></button></li><li><button type="button"><span>ⅳ</span></button></li><li><button type="button"><span>ⅴ</span></button></li><li><button type="button"><span>ⅵ</span></button></li><li><button type="button"><span>ⅶ</span></button></li><li><button type="button"><span>ⅷ</span></button></li><li><button type="button"><span>ⅸ</span></button></li><li><button type="button"><span>ⅹ</span></button></li><li><button type="button"><span>₩</span></button></li><li><button type="button"><span>$</span></button></li><li><button type="button"><span>¥</span></button></li><li><button type="button"><span>£</span></button></li><li><button type="button"><span>€</span></button></li><li><button type="button"><span>℃</span></button></li><li><button type="button"><span>A</span></button></li><li><button type="button"><span>℉</span></button></li><li><button type="button"><span>¢</span></button></li><li><button type="button"><span>¤</span></button></li><li><button type="button"><span>‰</span></button></li><li><button type="button"><span>㎕</span></button></li><li><button type="button"><span>㎖</span></button></li><li><button type="button"><span>㎗</span></button></li><li><button type="button"><span>ℓ</span></button></li><li><button type="button"><span>㎘</span></button></li><li><button type="button"><span>㏄</span></button></li><li><button type="button"><span>㎣</span></button></li><li><button type="button"><span>㎤</span></button></li><li><button type="button"><span>㎥</span></button></li><li><button type="button"><span>㎦</span></button></li><li><button type="button"><span>㎙</span></button></li><li><button type="button"><span>㎚</span></button></li><li><button type="button"><span>㎛</span></button></li><li><button type="button"><span>㎜</span></button></li><li><button type="button"><span>㎝</span></button></li><li><button type="button"><span>㎞</span></button></li><li><button type="button"><span>㎟</span></button></li><li><button type="button"><span>㎠</span></button></li><li><button type="button"><span>㎡</span></button></li><li><button type="button"><span>㎢</span></button></li><li><button type="button"><span>㏊</span></button></li><li><button type="button"><span>㎍</span></button></li><li><button type="button"><span>㎎</span></button></li><li><button type="button"><span>㎏</span></button></li><li><button type="button"><span>㏏</span></button></li><li><button type="button"><span>㎈</span></button></li><li><button type="button"><span>㎉</span></button></li><li><button type="button"><span>㏈</span></button></li><li><button type="button"><span>㎧</span></button></li><li><button type="button"><span>㎨</span></button></li><li><button type="button"><span>㎰</span></button></li><li><button type="button"><span>㎱</span></button></li><li><button type="button"><span>㎲</span></button></li><li><button type="button"><span>㎳</span></button></li><li><button type="button"><span>㎴</span></button></li><li><button type="button"><span>㎵</span></button></li><li><button type="button"><span>㎶</span></button></li><li><button type="button"><span>㎷</span></button></li><li><button type="button"><span>㎸</span></button></li><li><button type="button"><span>㎹</span></button></li><li><button type="button"><span>㎀</span></button></li><li><button type="button"><span>㎁</span></button></li><li><button type="button"><span>㎂</span></button></li><li><button type="button"><span>㎃</span></button></li><li><button type="button"><span>㎄</span></button></li><li><button type="button"><span>㎺</span></button></li><li><button type="button"><span>㎻</span></button></li><li><button type="button"><span>㎼</span></button></li><li><button type="button"><span>㎽</span></button></li><li><button type="button"><span>㎾</span></button></li><li><button type="button"><span>㎿</span></button></li><li><button type="button"><span>㎐</span></button></li><li><button type="button"><span>㎑</span></button></li><li><button type="button"><span>㎒</span></button></li><li><button type="button"><span>㎓</span></button></li><li><button type="button"><span>㎔</span></button></li><li><button type="button"><span>Ω</span></button></li><li><button type="button"><span>㏀</span></button></li><li><button type="button"><span>㏁</span></button></li><li><button type="button"><span>㎊</span></button></li><li><button type="button"><span>㎋</span></button></li><li><button type="button"><span>㎌</span></button></li><li><button type="button"><span>㏖</span></button></li><li><button type="button"><span>㏅</span></button></li><li><button type="button"><span>㎭</span></button></li><li><button type="button"><span>㎮</span></button></li><li><button type="button"><span>㎯</span></button></li><li><button type="button"><span>㏛</span></button></li><li><button type="button"><span>㎩</span></button></li><li><button type="button"><span>㎪</span></button></li><li><button type="button"><span>㎫</span></button></li><li><button type="button"><span>㎬</span></button></li><li><button type="button"><span>㏝</span></button></li><li><button type="button"><span>㏐</span></button></li><li><button type="button"><span>㏓</span></button></li><li><button type="button"><span>㏃</span></button></li><li><button type="button"><span>㏉</span></button></li><li><button type="button"><span>㏜</span></button></li><li><button type="button"><span>㏆</span></button></li> -->
+										</ul>
+									</div>
+								</li>
+								<li><button type="button" title="원,괄호" class="se2_char3"><span>원,괄호</span></button>
+									<div class="se2_s_character">
+										<ul class="husky_se2m_sCharacter_list">
+											<li></li>
+											<!-- 원,괄호 목록 -->
+											<!-- <li><button type="button"><span>㉠</span></button></li><li><button type="button"><span>㉡</span></button></li><li><button type="button"><span>㉢</span></button></li><li><button type="button"><span>㉣</span></button></li><li><button type="button"><span>㉤</span></button></li><li><button type="button"><span>㉥</span></button></li><li><button type="button"><span>㉦</span></button></li><li><button type="button"><span>㉧</span></button></li><li><button type="button"><span>㉨</span></button></li><li><button type="button"><span>㉩</span></button></li><li><button type="button"><span>㉪</span></button></li><li><button type="button"><span>㉫</span></button></li><li><button type="button"><span>㉬</span></button></li><li><button type="button"><span>㉭</span></button></li><li><button type="button"><span>㉮</span></button></li><li><button type="button"><span>㉯</span></button></li><li><button type="button"><span>㉰</span></button></li><li><button type="button"><span>㉱</span></button></li><li><button type="button"><span>㉲</span></button></li><li><button type="button"><span>㉳</span></button></li><li><button type="button"><span>㉴</span></button></li><li><button type="button"><span>㉵</span></button></li><li><button type="button"><span>㉶</span></button></li><li><button type="button"><span>㉷</span></button></li><li><button type="button"><span>㉸</span></button></li><li><button type="button"><span>㉹</span></button></li><li><button type="button"><span>㉺</span></button></li><li><button type="button"><span>㉻</span></button></li><li><button type="button"><span>ⓐ</span></button></li><li><button type="button"><span>ⓑ</span></button></li><li><button type="button"><span>ⓒ</span></button></li><li><button type="button"><span>ⓓ</span></button></li><li><button type="button"><span>ⓔ</span></button></li><li><button type="button"><span>ⓕ</span></button></li><li><button type="button"><span>ⓖ</span></button></li><li><button type="button"><span>ⓗ</span></button></li><li><button type="button"><span>ⓘ</span></button></li><li><button type="button"><span>ⓙ</span></button></li><li><button type="button"><span>ⓚ</span></button></li><li><button type="button"><span>ⓛ</span></button></li><li><button type="button"><span>ⓜ</span></button></li><li><button type="button"><span>ⓝ</span></button></li><li><button type="button"><span>ⓞ</span></button></li><li><button type="button"><span>ⓟ</span></button></li><li><button type="button"><span>ⓠ</span></button></li><li><button type="button"><span>ⓡ</span></button></li><li><button type="button"><span>ⓢ</span></button></li><li><button type="button"><span>ⓣ</span></button></li><li><button type="button"><span>ⓤ</span></button></li><li><button type="button"><span>ⓥ</span></button></li><li><button type="button"><span>ⓦ</span></button></li><li><button type="button"><span>ⓧ</span></button></li><li><button type="button"><span>ⓨ</span></button></li><li><button type="button"><span>ⓩ</span></button></li><li><button type="button"><span>①</span></button></li><li><button type="button"><span>②</span></button></li><li><button type="button"><span>③</span></button></li><li><button type="button"><span>④</span></button></li><li><button type="button"><span>⑤</span></button></li><li><button type="button"><span>⑥</span></button></li><li><button type="button"><span>⑦</span></button></li><li><button type="button"><span>⑧</span></button></li><li><button type="button"><span>⑨</span></button></li><li><button type="button"><span>⑩</span></button></li><li><button type="button"><span>⑪</span></button></li><li><button type="button"><span>⑫</span></button></li><li><button type="button"><span>⑬</span></button></li><li><button type="button"><span>⑭</span></button></li><li><button type="button"><span>⑮</span></button></li><li><button type="button"><span>㈀</span></button></li><li><button type="button"><span>㈁</span></button></li><li class="hover"><button type="button"><span>㈂</span></button></li><li><button type="button"><span>㈃</span></button></li><li><button type="button"><span>㈄</span></button></li><li><button type="button"><span>㈅</span></button></li><li><button type="button"><span>㈆</span></button></li><li><button type="button"><span>㈇</span></button></li><li><button type="button"><span>㈈</span></button></li><li><button type="button"><span>㈉</span></button></li><li><button type="button"><span>㈊</span></button></li><li><button type="button"><span>㈋</span></button></li><li><button type="button"><span>㈌</span></button></li><li><button type="button"><span>㈍</span></button></li><li><button type="button"><span>㈎</span></button></li><li><button type="button"><span>㈏</span></button></li><li><button type="button"><span>㈐</span></button></li><li><button type="button"><span>㈑</span></button></li><li><button type="button"><span>㈒</span></button></li><li><button type="button"><span>㈓</span></button></li><li><button type="button"><span>㈔</span></button></li><li><button type="button"><span>㈕</span></button></li><li><button type="button"><span>㈖</span></button></li><li><button type="button"><span>㈗</span></button></li><li><button type="button"><span>㈘</span></button></li><li><button type="button"><span>㈙</span></button></li><li><button type="button"><span>㈚</span></button></li><li><button type="button"><span>㈛</span></button></li><li><button type="button"><span>⒜</span></button></li><li><button type="button"><span>⒝</span></button></li><li><button type="button"><span>⒞</span></button></li><li><button type="button"><span>⒟</span></button></li><li><button type="button"><span>⒠</span></button></li><li><button type="button"><span>⒡</span></button></li><li><button type="button"><span>⒢</span></button></li><li><button type="button"><span>⒣</span></button></li><li><button type="button"><span>⒤</span></button></li><li><button type="button"><span>⒥</span></button></li><li><button type="button"><span>⒦</span></button></li><li><button type="button"><span>⒧</span></button></li><li><button type="button"><span>⒨</span></button></li><li><button type="button"><span>⒩</span></button></li><li><button type="button"><span>⒪</span></button></li><li><button type="button"><span>⒫</span></button></li><li><button type="button"><span>⒬</span></button></li><li><button type="button"><span>⒭</span></button></li><li><button type="button"><span>⒮</span></button></li><li><button type="button"><span>⒯</span></button></li><li><button type="button"><span>⒰</span></button></li><li><button type="button"><span>⒱</span></button></li><li><button type="button"><span>⒲</span></button></li><li><button type="button"><span>⒳</span></button></li><li><button type="button"><span>⒴</span></button></li><li><button type="button"><span>⒵</span></button></li><li><button type="button"><span>⑴</span></button></li><li><button type="button"><span>⑵</span></button></li><li><button type="button"><span>⑶</span></button></li><li><button type="button"><span>⑷</span></button></li><li><button type="button"><span>⑸</span></button></li><li><button type="button"><span>⑹</span></button></li><li><button type="button"><span>⑺</span></button></li><li><button type="button"><span>⑻</span></button></li><li><button type="button"><span>⑼</span></button></li><li><button type="button"><span>⑽</span></button></li><li><button type="button"><span>⑾</span></button></li><li><button type="button"><span>⑿</span></button></li><li><button type="button"><span>⒀</span></button></li><li><button type="button"><span>⒁</span></button></li><li><button type="button"><span>⒂</span></button></li> -->
+										</ul>
+									</div>
+								</li>
+								<li><button type="button" title="한글" class="se2_char4"><span>한글</span></button>
+									<div class="se2_s_character">
+										<ul class="husky_se2m_sCharacter_list">
+											<li></li>
+											<!-- 한글 목록 -->
+											<!-- <li><button type="button"><span>ㄱ</span></button></li><li><button type="button"><span>ㄲ</span></button></li><li><button type="button"><span>ㄳ</span></button></li><li><button type="button"><span>ㄴ</span></button></li><li><button type="button"><span>ㄵ</span></button></li><li><button type="button"><span>ㄶ</span></button></li><li><button type="button"><span>ㄷ</span></button></li><li><button type="button"><span>ㄸ</span></button></li><li><button type="button"><span>ㄹ</span></button></li><li><button type="button"><span>ㄺ</span></button></li><li><button type="button"><span>ㄻ</span></button></li><li><button type="button"><span>ㄼ</span></button></li><li><button type="button"><span>ㄽ</span></button></li><li><button type="button"><span>ㄾ</span></button></li><li><button type="button"><span>ㄿ</span></button></li><li><button type="button"><span>ㅀ</span></button></li><li><button type="button"><span>ㅁ</span></button></li><li><button type="button"><span>ㅂ</span></button></li><li><button type="button"><span>ㅃ</span></button></li><li><button type="button"><span>ㅄ</span></button></li><li><button type="button"><span>ㅅ</span></button></li><li><button type="button"><span>ㅆ</span></button></li><li><button type="button"><span>ㅇ</span></button></li><li><button type="button"><span>ㅈ</span></button></li><li><button type="button"><span>ㅉ</span></button></li><li><button type="button"><span>ㅊ</span></button></li><li><button type="button"><span>ㅋ</span></button></li><li><button type="button"><span>ㅌ</span></button></li><li><button type="button"><span>ㅍ</span></button></li><li><button type="button"><span>ㅎ</span></button></li><li><button type="button"><span>ㅏ</span></button></li><li><button type="button"><span>ㅐ</span></button></li><li><button type="button"><span>ㅑ</span></button></li><li><button type="button"><span>ㅒ</span></button></li><li><button type="button"><span>ㅓ</span></button></li><li><button type="button"><span>ㅔ</span></button></li><li><button type="button"><span>ㅕ</span></button></li><li><button type="button"><span>ㅖ</span></button></li><li><button type="button"><span>ㅗ</span></button></li><li><button type="button"><span>ㅘ</span></button></li><li><button type="button"><span>ㅙ</span></button></li><li><button type="button"><span>ㅚ</span></button></li><li><button type="button"><span>ㅛ</span></button></li><li><button type="button"><span>ㅜ</span></button></li><li><button type="button"><span>ㅝ</span></button></li><li><button type="button"><span>ㅞ</span></button></li><li><button type="button"><span>ㅟ</span></button></li><li><button type="button"><span>ㅠ</span></button></li><li><button type="button"><span>ㅡ</span></button></li><li><button type="button"><span>ㅢ</span></button></li><li><button type="button"><span>ㅣ</span></button></li><li><button type="button"><span>ㅥ</span></button></li><li><button type="button"><span>ㅦ</span></button></li><li><button type="button"><span>ㅧ</span></button></li><li><button type="button"><span>ㅨ</span></button></li><li><button type="button"><span>ㅩ</span></button></li><li><button type="button"><span>ㅪ</span></button></li><li><button type="button"><span>ㅫ</span></button></li><li><button type="button"><span>ㅬ</span></button></li><li><button type="button"><span>ㅭ</span></button></li><li><button type="button"><span>ㅮ</span></button></li><li><button type="button"><span>ㅯ</span></button></li><li><button type="button"><span>ㅰ</span></button></li><li><button type="button"><span>ㅱ</span></button></li><li><button type="button"><span>ㅲ</span></button></li><li><button type="button"><span>ㅳ</span></button></li><li><button type="button"><span>ㅴ</span></button></li><li><button type="button"><span>ㅵ</span></button></li><li><button type="button"><span>ㅶ</span></button></li><li><button type="button"><span>ㅷ</span></button></li><li><button type="button"><span>ㅸ</span></button></li><li><button type="button"><span>ㅹ</span></button></li><li><button type="button"><span>ㅺ</span></button></li><li><button type="button"><span>ㅻ</span></button></li><li><button type="button"><span>ㅼ</span></button></li><li><button type="button"><span>ㅽ</span></button></li><li><button type="button"><span>ㅾ</span></button></li><li><button type="button"><span>ㅿ</span></button></li><li><button type="button"><span>ㆀ</span></button></li><li><button type="button"><span>ㆁ</span></button></li><li><button type="button"><span>ㆂ</span></button></li><li><button type="button"><span>ㆃ</span></button></li><li><button type="button"><span>ㆄ</span></button></li><li><button type="button"><span>ㆅ</span></button></li><li><button type="button"><span>ㆆ</span></button></li><li><button type="button"><span>ㆇ</span></button></li><li><button type="button"><span>ㆈ</span></button></li><li><button type="button"><span>ㆉ</span></button></li><li><button type="button"><span>ㆊ</span></button></li><li><button type="button"><span>ㆋ</span></button></li><li><button type="button"><span>ㆌ</span></button></li><li><button type="button"><span>ㆍ</span></button></li><li><button type="button"><span>ㆎ</span></button></li> -->
+										</ul>
+									</div>
+								</li>
+								<li><button type="button" title="그리스,라틴어" class="se2_char5"><span>그리스,라틴어</span></button>
+									<div class="se2_s_character">
+										<ul class="husky_se2m_sCharacter_list">
+											<li></li>
+											<!-- 그리스,라틴어 목록 -->
+											<!-- <li><button type="button"><span>Α</span></button></li><li><button type="button"><span>Β</span></button></li><li><button type="button"><span>Γ</span></button></li><li><button type="button"><span>Δ</span></button></li><li><button type="button"><span>Ε</span></button></li><li><button type="button"><span>Ζ</span></button></li><li><button type="button"><span>Η</span></button></li><li><button type="button"><span>Θ</span></button></li><li><button type="button"><span>Ι</span></button></li><li><button type="button"><span>Κ</span></button></li><li><button type="button"><span>Λ</span></button></li><li><button type="button"><span>Μ</span></button></li><li><button type="button"><span>Ν</span></button></li><li><button type="button"><span>Ξ</span></button></li><li class="hover"><button type="button"><span>Ο</span></button></li><li><button type="button"><span>Π</span></button></li><li><button type="button"><span>Ρ</span></button></li><li><button type="button"><span>Σ</span></button></li><li><button type="button"><span>Τ</span></button></li><li><button type="button"><span>Υ</span></button></li><li><button type="button"><span>Φ</span></button></li><li><button type="button"><span>Χ</span></button></li><li><button type="button"><span>Ψ</span></button></li><li><button type="button"><span>Ω</span></button></li><li><button type="button"><span>α</span></button></li><li><button type="button"><span>β</span></button></li><li><button type="button"><span>γ</span></button></li><li><button type="button"><span>δ</span></button></li><li><button type="button"><span>ε</span></button></li><li><button type="button"><span>ζ</span></button></li><li><button type="button"><span>η</span></button></li><li><button type="button"><span>θ</span></button></li><li><button type="button"><span>ι</span></button></li><li><button type="button"><span>κ</span></button></li><li><button type="button"><span>λ</span></button></li><li><button type="button"><span>μ</span></button></li><li><button type="button"><span>ν</span></button></li><li><button type="button"><span>ξ</span></button></li><li><button type="button"><span>ο</span></button></li><li><button type="button"><span>π</span></button></li><li><button type="button"><span>ρ</span></button></li><li><button type="button"><span>σ</span></button></li><li><button type="button"><span>τ</span></button></li><li><button type="button"><span>υ</span></button></li><li><button type="button"><span>φ</span></button></li><li><button type="button"><span>χ</span></button></li><li><button type="button"><span>ψ</span></button></li><li><button type="button"><span>ω</span></button></li><li><button type="button"><span>Æ</span></button></li><li><button type="button"><span>Ð</span></button></li><li><button type="button"><span>Ħ</span></button></li><li><button type="button"><span>IJ</span></button></li><li><button type="button"><span>Ŀ</span></button></li><li><button type="button"><span>Ł</span></button></li><li><button type="button"><span>Ø</span></button></li><li><button type="button"><span>Œ</span></button></li><li><button type="button"><span>Þ</span></button></li><li><button type="button"><span>Ŧ</span></button></li><li><button type="button"><span>Ŋ</span></button></li><li><button type="button"><span>æ</span></button></li><li><button type="button"><span>đ</span></button></li><li><button type="button"><span>ð</span></button></li><li><button type="button"><span>ħ</span></button></li><li><button type="button"><span>I</span></button></li><li><button type="button"><span>ij</span></button></li><li><button type="button"><span>ĸ</span></button></li><li><button type="button"><span>ŀ</span></button></li><li><button type="button"><span>ł</span></button></li><li><button type="button"><span>ł</span></button></li><li><button type="button"><span>œ</span></button></li><li><button type="button"><span>ß</span></button></li><li><button type="button"><span>þ</span></button></li><li><button type="button"><span>ŧ</span></button></li><li><button type="button"><span>ŋ</span></button></li><li><button type="button"><span>ʼn</span></button></li><li><button type="button"><span>Б</span></button></li><li><button type="button"><span>Г</span></button></li><li><button type="button"><span>Д</span></button></li><li><button type="button"><span>Ё</span></button></li><li><button type="button"><span>Ж</span></button></li><li><button type="button"><span>З</span></button></li><li><button type="button"><span>И</span></button></li><li><button type="button"><span>Й</span></button></li><li><button type="button"><span>Л</span></button></li><li><button type="button"><span>П</span></button></li><li><button type="button"><span>Ц</span></button></li><li><button type="button"><span>Ч</span></button></li><li><button type="button"><span>Ш</span></button></li><li><button type="button"><span>Щ</span></button></li><li><button type="button"><span>Ъ</span></button></li><li><button type="button"><span>Ы</span></button></li><li><button type="button"><span>Ь</span></button></li><li><button type="button"><span>Э</span></button></li><li><button type="button"><span>Ю</span></button></li><li><button type="button"><span>Я</span></button></li><li><button type="button"><span>б</span></button></li><li><button type="button"><span>в</span></button></li><li><button type="button"><span>г</span></button></li><li><button type="button"><span>д</span></button></li><li><button type="button"><span>ё</span></button></li><li><button type="button"><span>ж</span></button></li><li><button type="button"><span>з</span></button></li><li><button type="button"><span>и</span></button></li><li><button type="button"><span>й</span></button></li><li><button type="button"><span>л</span></button></li><li><button type="button"><span>п</span></button></li><li><button type="button"><span>ф</span></button></li><li><button type="button"><span>ц</span></button></li><li><button type="button"><span>ч</span></button></li><li><button type="button"><span>ш</span></button></li><li><button type="button"><span>щ</span></button></li><li><button type="button"><span>ъ</span></button></li><li><button type="button"><span>ы</span></button></li><li><button type="button"><span>ь</span></button></li><li><button type="button"><span>э</span></button></li><li><button type="button"><span>ю</span></button></li><li><button type="button"><span>я</span></button></li> -->
+										</ul>
+									</div>
+								</li>
+								<li><button type="button" title="일본어" class="se2_char6"><span>일본어</span></button>
+									<div class="se2_s_character">
+										<ul class="husky_se2m_sCharacter_list">
+											<li></li>
+											<!-- 일본어 목록 -->
+											<!-- <li><button type="button"><span>ぁ</span></button></li><li class="hover"><button type="button"><span>あ</span></button></li><li><button type="button"><span>ぃ</span></button></li><li><button type="button"><span>い</span></button></li><li><button type="button"><span>ぅ</span></button></li><li><button type="button"><span>う</span></button></li><li><button type="button"><span>ぇ</span></button></li><li><button type="button"><span>え</span></button></li><li><button type="button"><span>ぉ</span></button></li><li><button type="button"><span>お</span></button></li><li><button type="button"><span>か</span></button></li><li><button type="button"><span>が</span></button></li><li><button type="button"><span>き</span></button></li><li><button type="button"><span>ぎ</span></button></li><li><button type="button"><span>く</span></button></li><li><button type="button"><span>ぐ</span></button></li><li><button type="button"><span>け</span></button></li><li><button type="button"><span>げ</span></button></li><li><button type="button"><span>こ</span></button></li><li><button type="button"><span>ご</span></button></li><li><button type="button"><span>さ</span></button></li><li><button type="button"><span>ざ</span></button></li><li><button type="button"><span>し</span></button></li><li><button type="button"><span>じ</span></button></li><li><button type="button"><span>す</span></button></li><li><button type="button"><span>ず</span></button></li><li><button type="button"><span>せ</span></button></li><li><button type="button"><span>ぜ</span></button></li><li><button type="button"><span>そ</span></button></li><li><button type="button"><span>ぞ</span></button></li><li><button type="button"><span>た</span></button></li><li><button type="button"><span>だ</span></button></li><li><button type="button"><span>ち</span></button></li><li><button type="button"><span>ぢ</span></button></li><li><button type="button"><span>っ</span></button></li><li><button type="button"><span>つ</span></button></li><li><button type="button"><span>づ</span></button></li><li><button type="button"><span>て</span></button></li><li><button type="button"><span>で</span></button></li><li><button type="button"><span>と</span></button></li><li><button type="button"><span>ど</span></button></li><li><button type="button"><span>な</span></button></li><li><button type="button"><span>に</span></button></li><li><button type="button"><span>ぬ</span></button></li><li><button type="button"><span>ね</span></button></li><li><button type="button"><span>の</span></button></li><li><button type="button"><span>は</span></button></li><li><button type="button"><span>ば</span></button></li><li><button type="button"><span>ぱ</span></button></li><li><button type="button"><span>ひ</span></button></li><li><button type="button"><span>び</span></button></li><li><button type="button"><span>ぴ</span></button></li><li><button type="button"><span>ふ</span></button></li><li><button type="button"><span>ぶ</span></button></li><li><button type="button"><span>ぷ</span></button></li><li><button type="button"><span>へ</span></button></li><li><button type="button"><span>べ</span></button></li><li><button type="button"><span>ぺ</span></button></li><li><button type="button"><span>ほ</span></button></li><li><button type="button"><span>ぼ</span></button></li><li><button type="button"><span>ぽ</span></button></li><li><button type="button"><span>ま</span></button></li><li><button type="button"><span>み</span></button></li><li><button type="button"><span>む</span></button></li><li><button type="button"><span>め</span></button></li><li><button type="button"><span>も</span></button></li><li><button type="button"><span>ゃ</span></button></li><li><button type="button"><span>や</span></button></li><li><button type="button"><span>ゅ</span></button></li><li><button type="button"><span>ゆ</span></button></li><li><button type="button"><span>ょ</span></button></li><li><button type="button"><span>よ</span></button></li><li><button type="button"><span>ら</span></button></li><li><button type="button"><span>り</span></button></li><li><button type="button"><span>る</span></button></li><li><button type="button"><span>れ</span></button></li><li><button type="button"><span>ろ</span></button></li><li><button type="button"><span>ゎ</span></button></li><li><button type="button"><span>わ</span></button></li><li><button type="button"><span>ゐ</span></button></li><li><button type="button"><span>ゑ</span></button></li><li><button type="button"><span>を</span></button></li><li><button type="button"><span>ん</span></button></li><li><button type="button"><span>ァ</span></button></li><li><button type="button"><span>ア</span></button></li><li><button type="button"><span>ィ</span></button></li><li><button type="button"><span>イ</span></button></li><li><button type="button"><span>ゥ</span></button></li><li><button type="button"><span>ウ</span></button></li><li><button type="button"><span>ェ</span></button></li><li><button type="button"><span>エ</span></button></li><li><button type="button"><span>ォ</span></button></li><li><button type="button"><span>オ</span></button></li><li><button type="button"><span>カ</span></button></li><li><button type="button"><span>ガ</span></button></li><li><button type="button"><span>キ</span></button></li><li><button type="button"><span>ギ</span></button></li><li><button type="button"><span>ク</span></button></li><li><button type="button"><span>グ</span></button></li><li><button type="button"><span>ケ</span></button></li><li><button type="button"><span>ゲ</span></button></li><li><button type="button"><span>コ</span></button></li><li><button type="button"><span>ゴ</span></button></li><li><button type="button"><span>サ</span></button></li><li><button type="button"><span>ザ</span></button></li><li><button type="button"><span>シ</span></button></li><li><button type="button"><span>ジ</span></button></li><li><button type="button"><span>ス</span></button></li><li><button type="button"><span>ズ</span></button></li><li><button type="button"><span>セ</span></button></li><li><button type="button"><span>ゼ</span></button></li><li><button type="button"><span>ソ</span></button></li><li><button type="button"><span>ゾ</span></button></li><li><button type="button"><span>タ</span></button></li><li><button type="button"><span>ダ</span></button></li><li><button type="button"><span>チ</span></button></li><li><button type="button"><span>ヂ</span></button></li><li><button type="button"><span>ッ</span></button></li><li><button type="button"><span>ツ</span></button></li><li><button type="button"><span>ヅ</span></button></li><li><button type="button"><span>テ</span></button></li><li><button type="button"><span>デ</span></button></li><li><button type="button"><span>ト</span></button></li><li><button type="button"><span>ド</span></button></li><li><button type="button"><span>ナ</span></button></li><li><button type="button"><span>ニ</span></button></li><li><button type="button"><span>ヌ</span></button></li><li><button type="button"><span>ネ</span></button></li><li><button type="button"><span>ノ</span></button></li><li><button type="button"><span>ハ</span></button></li><li><button type="button"><span>バ</span></button></li><li><button type="button"><span>パ</span></button></li><li><button type="button"><span>ヒ</span></button></li><li><button type="button"><span>ビ</span></button></li><li><button type="button"><span>ピ</span></button></li><li><button type="button"><span>フ</span></button></li><li><button type="button"><span>ブ</span></button></li><li><button type="button"><span>プ</span></button></li><li><button type="button"><span>ヘ</span></button></li><li><button type="button"><span>ベ</span></button></li><li><button type="button"><span>ペ</span></button></li><li><button type="button"><span>ホ</span></button></li><li><button type="button"><span>ボ</span></button></li><li><button type="button"><span>ポ</span></button></li><li><button type="button"><span>マ</span></button></li><li><button type="button"><span>ミ</span></button></li><li><button type="button"><span>ム</span></button></li><li><button type="button"><span>メ</span></button></li><li><button type="button"><span>モ</span></button></li><li><button type="button"><span>ャ</span></button></li><li><button type="button"><span>ヤ</span></button></li><li><button type="button"><span>ュ</span></button></li><li><button type="button"><span>ユ</span></button></li><li><button type="button"><span>ョ</span></button></li><li><button type="button"><span>ヨ</span></button></li><li><button type="button"><span>ラ</span></button></li><li><button type="button"><span>リ</span></button></li><li><button type="button"><span>ル</span></button></li><li><button type="button"><span>レ</span></button></li><li><button type="button"><span>ロ</span></button></li><li><button type="button"><span>ヮ</span></button></li><li><button type="button"><span>ワ</span></button></li><li><button type="button"><span>ヰ</span></button></li><li><button type="button"><span>ヱ</span></button></li><li><button type="button"><span>ヲ</span></button></li><li><button type="button"><span>ン</span></button></li><li><button type="button"><span>ヴ</span></button></li><li><button type="button"><span>ヵ</span></button></li><li><button type="button"><span>ヶ</span></button></li> -->
+										</ul>
+									</div>
+								</li>
+								</ul>
+								<p class="se2_apply_character">
+									<label for="char_preview">선택한 기호</label> <input type="text" name="char_preview" id="char_preview" value="®º⊆●○" class="input_ty1"><button type="button" class="se2_confirm"><span>적용</span></button><button type="button" class="se2_cancel husky_se2m_sCharacter_close"><span>취소</span></button>
+								</p>
+							</div>
+						</div>
+					</div>
+					<!-- //특수기호 -->
+				</li>
+
+				<li class="husky_seditor_ui_table"><button type="button" title="표" class="se2_table"><span class="_buttonRound">표</span></button>
+					<!--@lazyload_html create_table-->
+					<!-- 표 -->
+					<div class="se2_layer husky_se2m_table_layer" style="margin-left:-171px">
+						<div class="se2_in_layer">
+							<div class="se2_table_set">
+								<fieldset>
+								<legend>칸수 지정</legend>
+									<dl class="se2_cell_num">
+									<dt><label for="row">행</label></dt>
+									<dd><input id="row" name="" type="text" maxlength="2" value="4" class="input_ty2">
+										<button type="button" class="se2_add"><span>1행추가</span></button>
+										<button type="button" class="se2_del"><span>1행삭제</span></button>
+									</dd>
+									<dt><label for="col">열</label></dt>
+									<dd><input id="col" name="" type="text" maxlength="2" value="4" class="input_ty2">
+										<button type="button" class="se2_add"><span>1열추가</span></button>
+										<button type="button" class="se2_del"><span>1열삭제</span></button>
+									</dd>
+									</dl>
+									<table border="0" cellspacing="1" class="se2_pre_table husky_se2m_table_preview">
+									<tr>
+									<td>&nbsp;</td>
+									<td>&nbsp;</td>
+									<td>&nbsp;</td>
+									<td>&nbsp;</td>
+									</tr>
+									<tr>
+									<td>&nbsp;</td>
+									<td>&nbsp;</td>
+									<td>&nbsp;</td>
+									<td>&nbsp;</td>
+									</tr>
+									<tr>
+									<td>&nbsp;</td>
+									<td>&nbsp;</td>
+									<td>&nbsp;</td>
+									<td>&nbsp;</td>
+									</tr>
+									</table>
+								</fieldset>
+								<fieldset>
+									<legend>속성직접입력</legend>
+									<dl class="se2_t_proper1">
+									<dt><input type="radio" id="se2_tbp1" name="se2_tbp" checked><label for="se2_tbp1">속성직접입력</label></dt>
+									<dd>
+										<dl class="se2_t_proper1_1">
+										<dt><label>표스타일</label></dt>
+										<dd><div class="se2_select_ty1"><span class="se2_b_style3 husky_se2m_table_border_style_preview"></span><button type="button" title="더보기" class="se2_view_more"><span>더보기</span></button></div>
+											<!-- 레이어 : 테두리스타일 -->
+											<div class="se2_layer_b_style husky_se2m_table_border_style_layer" style="display:none">
+												<ul>
+												<li><button type="button" class="se2_b_style1"><span class="se2m_no_border">테두리없음</span></button></li>
+												<li><button type="button" class="se2_b_style2"><span><span>테두리스타일2</span></span></button></li>
+												<li><button type="button" class="se2_b_style3"><span><span>테두리스타일3</span></span></button></li>
+												<li><button type="button" class="se2_b_style4"><span><span>테두리스타일4</span></span></button></li>
+												<li><button type="button" class="se2_b_style5"><span><span>테두리스타일5</span></span></button></li>
+												<li><button type="button" class="se2_b_style6"><span><span>테두리스타일6</span></span></button></li>
+												<li><button type="button" class="se2_b_style7"><span><span>테두리스타일7</span></span></button></li>
+												</ul>
+											</div>
+											<!-- //레이어 : 테두리스타일 -->
+										</dd>
+										</dl>
+										<dl class="se2_t_proper1_1 se2_t_proper1_2">
+										<dt><label for="se2_b_width">테두리두께</label></dt>
+										<dd><input id="se2_b_width" name="" type="text" maxlength="2" value="1" class="input_ty1">
+											<button type="button" title="1px 더하기" class="se2_add se2m_incBorder"><span>1px 더하기</span></button>
+											<button type="button" title="1px 빼기" class="se2_del se2m_decBorder"><span>1px 빼기</span></button>
+										</dd>
+										</dl>
+										<dl class="se2_t_proper1_1 se2_t_proper1_3">
+										<dt><label for="se2_b_color">테두리색</label></dt>
+										<dd><input id="se2_b_color" name="" type="text" maxlength="7" value="#cccccc" class="input_ty3"><span class="se2_pre_color"><button type="button" style="background:#cccccc;"><span>색찾기</span></button></span>	
+										<!-- 레이어 : 테두리색 -->
+											<div class="se2_layer se2_b_t_b1" style="clear:both;display:none;position:absolute;top:20px;left:-147px;">
+												<div class="se2_in_layer husky_se2m_table_border_color_pallet">
+												</div>
+											</div>
+										<!-- //레이어 : 테두리색-->
+										</dd>
+										</dl>
+										<div class="se2_t_dim0"></div><!-- 테두리 없음일때 딤드레이어 -->
+										<dl class="se2_t_proper1_1 se2_t_proper1_4">
+										<dt><label for="se2_cellbg">셀 배경색</label></dt>
+										<dd><input id="se2_cellbg" name="" type="text" maxlength="7" value="#ffffff" class="input_ty3"><span class="se2_pre_color"><button type="button" style="background:#ffffff;"><span>색찾기</span></button></span>
+										<!-- 레이어 : 셀배경색 -->
+										<div class="se2_layer se2_b_t_b1" style="clear:both;display:none;position:absolute;top:20px;left:-147px;">
+											<div class="se2_in_layer husky_se2m_table_bgcolor_pallet">
+											</div>
+										</div>
+										<!-- //레이어 : 셀배경색-->
+										</dd>
+										</dl>
+									</dd>
+									</dl>
+								</fieldset>
+								<fieldset>
+									<legend>표스타일</legend>
+									<dl class="se2_t_proper2">
+									<dt><input type="radio" id="se2_tbp2" name="se2_tbp"><label for="se2_tbp2">스타일 선택</label></dt>
+									<dd><div class="se2_select_ty2"><span class="se2_t_style1 husky_se2m_table_style_preview"></span><button type="button" title="더보기" class="se2_view_more"><span>더보기</span></button></div>
+										<!-- 레이어 : 표템플릿선택 -->
+										<div class="se2_layer_t_style husky_se2m_table_style_layer" style="display:none">
+											<ul class="se2_scroll">
+											<li><button type="button" class="se2_t_style1"><span>표스타일1</span></button></li>
+											<li><button type="button" class="se2_t_style2"><span>표스타일2</span></button></li>
+											<li><button type="button" class="se2_t_style3"><span>표스타일3</span></button></li>
+											<li><button type="button" class="se2_t_style4"><span>표스타일4</span></button></li>
+											<li><button type="button" class="se2_t_style5"><span>표스타일5</span></button></li>
+											<li><button type="button" class="se2_t_style6"><span>표스타일6</span></button></li>
+											<li><button type="button" class="se2_t_style7"><span>표스타일7</span></button></li>
+											<li><button type="button" class="se2_t_style8"><span>표스타일8</span></button></li>
+											<li><button type="button" class="se2_t_style9"><span>표스타일9</span></button></li>
+											<li><button type="button" class="se2_t_style10"><span>표스타일10</span></button></li>
+											<li><button type="button" class="se2_t_style11"><span>표스타일11</span></button></li>
+											<li><button type="button" class="se2_t_style12"><span>표스타일12</span></button></li>
+											<li><button type="button" class="se2_t_style13"><span>표스타일13</span></button></li>
+											<li><button type="button" class="se2_t_style14"><span>표스타일14</span></button></li>
+											<li><button type="button" class="se2_t_style15"><span>표스타일15</span></button></li>
+											<li><button type="button" class="se2_t_style16"><span>표스타일16</span></button></li>
+											</ul>
+										</div>
+										<!-- //레이어 : 표템플릿선택 -->
+									</dd>
+									</dl>
+								</fieldset>
+								<p class="se2_btn_area">
+									<button type="button" class="se2_apply"><span>적용</span></button><button type="button" class="se2_cancel"><span>취소</span></button>
+								</p>
+								<!-- 딤드레이어 -->
+								<div class="se2_t_dim3"></div>
+								<!-- //딤드레이어 -->
+							</div>
+						</div>
+					</div>
+					<!-- //표 -->
+					<!--//@lazyload_html-->
+				</li>
+
+				<li class="husky_seditor_ui_findAndReplace last_child"><button type="button" title="찾기/바꾸기" class="se2_find"><span class="_buttonRound tool_bg">찾기/바꾸기</span></button>
+					<!--@lazyload_html find_and_replace-->
+					<!-- 찾기/바꾸기 -->
+					<div class="se2_layer husky_se2m_findAndReplace_layer" style="margin-left:-238px;">
+						<div class="se2_in_layer">
+							<div class="se2_bx_find_revise">
+								<button type="button" title="닫기" class="se2_close husky_se2m_cancel"><span>닫기</span></button>
+								<h3>찾기/바꾸기</h3>
+								<ul>
+								<li class="active"><button type="button" class="se2_tabfind"><span>찾기</span></button></li>
+								<li><button type="button" class="se2_tabrevise"><span>바꾸기</span></button></li>
+								</ul>
+								<div class="se2_in_bx_find husky_se2m_find_ui" style="display:block">
+									<dl>
+									<dt><label for="find_word">찾을 단어</label></dt><dd><input type="text" id="find_word" value="스마트에디터" class="input_ty1"></dd>
+									</dl>
+									<p class="se2_find_btns">
+										<button type="button" class="se2_find_next husky_se2m_find_next"><span>다음 찾기</span></button><button type="button" class="se2_cancel husky_se2m_cancel"><span>취소</span></button>
+									</p>
+								</div>
+								<div class="se2_in_bx_revise husky_se2m_replace_ui" style="display:none">
+									<dl>
+									<dt><label for="find_word2">찾을 단어</label></dt><dd><input type="text" id="find_word2" value="스마트에디터" class="input_ty1"></dd>
+									<dt><label for="revise_word">바꿀 단어</label></dt><dd><input type="text" id="revise_word" value="스마트에디터" class="input_ty1"></dd>
+									</dl>
+									<p class="se2_find_btns">
+										<button type="button" class="se2_find_next2 husky_se2m_replace_find_next"><span>다음 찾기</span></button><button type="button" class="se2_revise1 husky_se2m_replace"><span>바꾸기</span></button><button type="button" class="se2_revise2 husky_se2m_replace_all"><span>모두 바꾸기</span></button><button type="button" class="se2_cancel husky_se2m_cancel"><span>취소</span></button>
+									</p>
+								</div>
+								<button type="button" title="닫기" class="se2_close husky_se2m_cancel"><span>닫기</span></button>
+							</div>
+						</div>
+					</div>
+					<!-- //찾기/바꾸기 -->
+					<!--//@lazyload_html-->
+				</li>
+</ul>
+				<ul class="se2_multy">
+					<li class="se2_mn husky_seditor_ui_photo_attach"><button type="button" class="se2_photo ico_btn"><span class="se2_icon"></span><span class="se2_mntxt">사진<span class="se2_new"></span></span></button></li>
+				</ul>
+			</div>
+			<!-- //704이상 -->
+		</div>
+		
+				<!-- 접근성 도움말 레이어 -->
+		<div class="se2_layer se2_accessibility" style="display:none;">
+			<div class="se2_in_layer">
+				<button type="button" title="닫기" class="se2_close"><span>닫기</span></button>
+				<h3><strong>접근성 도움말</strong></h3>
+				<div class="box_help">
+					<div>
+						<strong>툴바</strong>
+						<p>ALT+F10 을 누르면 툴바로 이동합니다. 다음 버튼은 TAB 으로 이전 버튼은 SHIFT+TAB 으로 이동 가능합니다. ENTER 를 누르면 해당 버튼의 기능이 동작하고 글쓰기 영역으로 포커스가 이동합니다. ESC 를 누르면 아무런 기능을 실행하지 않고 글쓰기 영역으로 포커스가 이동합니다.</p>
+						<strong>빠져 나가기</strong>
+						<p>ALT+. 를 누르면 스마트 에디터 다음 요소로 ALT+, 를 누르면 스마트에디터 이전 요소로 빠져나갈 수 있습니다.</p>
+						<strong>명령어 단축키</strong>
+						<ul>
+						<li>CTRL+B <span>굵게</span></li>
+						<li>SHIFT+TAB <span>내어쓰기</span></li>
+						<li>CTRL+U <span>밑줄</span></li>
+						<li>CTRL+F <span>찾기</span></li>
+						<li>CTRL+I <span>기울임 글꼴</span></li>
+						<li>CTRL+H <span>바꾸기</span></li>
+						<li>CTRL+D <span>취소선</span></li>
+						<li>CTRL+K <span>링크걸기</span></li>
+						<li>TAB <span>들여쓰기</span></li>
+						</ul>
+					</div>
+				</div>
+				<div class="se2_btns">
+					<button type="button" class="se2_close2"><span>닫기</span></button>
+				</div>
+			</div>
+		</div>		
+		<!-- //접근성 도움말 레이어 -->
+
+		<hr>
+		<!-- 입력 -->
+		<div class="se2_input_area husky_seditor_editing_area_container">
+			
+			
+			<iframe src="about:blank" id="se2_iframe" name="se2_iframe" class="se2_input_wysiwyg" width="400" height="300" title="글쓰기 영역 : 도구 모음은 ALT+F10을, 도움말은 ALT+0을 누르세요." frameborder="0" style="display:block;"></iframe>
+			<textarea name="" rows="10" cols="100" title="HTML 편집 모드" class="se2_input_syntax se2_input_htmlsrc" style="display:none;outline-style:none;resize:none"> </textarea>
+			<textarea name="" rows="10" cols="100" title="TEXT 편집 모드" class="se2_input_syntax se2_input_text" style="display:none;outline-style:none;resize:none;"> </textarea>
+			
+			<!-- 입력창 조절 안내 레이어 -->
+			<div class="ly_controller husky_seditor_resize_notice" style="z-index:20;display:none;">
+				<p>아래 영역을 드래그하여 입력창 크기를 조절할 수 있습니다.</p>
+				<button type="button" title="닫기" class="bt_clse"><span>닫기</span></button>
+				<span class="ic_arr"></span>
+			</div>
+			<!-- //입력창 조절 안내 레이어 -->
+						<div class="quick_wrap">
+				<!-- 표/글양식 간단편집기 -->
+				<!--@lazyload_html qe_table-->
+				<div class="q_table_wrap" style="z-index: 150;">
+				<button class="_fold se2_qmax q_open_table_full" style="position:absolute; display:none;top:340px;left:210px;z-index:30;" title="최대화" type="button"><span>퀵에디터최대화</span></button>
+				<div class="_full se2_qeditor se2_table_set" style="position:absolute;display:none;top:135px;left:661px;z-index:30;">
+					<div class="se2_qbar q_dragable"><span class="se2_qmini"><button title="최소화" class="q_open_table_fold"><span>퀵에디터최소화</span></button></span></div>
+					<div class="se2_qbody0">
+						<div class="se2_qbody">
+							<dl class="se2_qe1">
+							<dt>삽입</dt><dd><button class="se2_addrow" title="행삽입" type="button"><span>행삽입</span></button><button class="se2_addcol" title="열삽입" type="button"><span>열삽입</span></button></dd>
+							<dt>분할</dt><dd><button class="se2_seprow" title="행분할" type="button"><span>행분할</span></button><button class="se2_sepcol" title="열분할" type="button"><span>열분할</span></button></dd>
+
+							<dt>삭제</dt><dd><button class="se2_delrow" title="행삭제" type="button"><span>행삭제</span></button><button class="se2_delcol" title="열삭제" type="button"><span>열삭제</span></button></dd>
+							<dt>병합</dt><dd><button class="se2_merrow" title="행병합" type="button"><span>행병합</span></button></dd>
+							</dl>
+							<div class="se2_qe2 se2_qe2_3"> <!-- 테이블 퀵에디터의 경우만,  se2_qe2_3제거 -->
+								<!-- 샐배경색 -->
+								<dl class="se2_qe2_1">
+
+								<dt><input type="radio" checked="checked" name="se2_tbp3" id="se2_cellbg2" class="husky_se2m_radio_bgc"><label for="se2_cellbg2">셀 배경색</label></dt>
+								<dd><span class="se2_pre_color"><button style="background: none repeat scroll 0% 0% rgb(255, 255, 255);" type="button" class="husky_se2m_table_qe_bgcolor_btn"><span>색찾기</span></button></span>		
+									<!-- layer:셀배경색 -->
+									<div style="display:none;position:absolute;top:20px;left:0px;" class="se2_layer se2_b_t_b1">
+										<div class="se2_in_layer husky_se2m_tbl_qe_bg_paletteHolder">
+										</div>
+									</div>
+									<!-- //layer:셀배경색-->
+
+								</dd>
+								</dl>
+								<!-- //샐배경색 -->
+								<!-- 배경이미지선택 -->
+								<dl style="display: none;" class="se2_qe2_2 husky_se2m_tbl_qe_review_bg">
+								<dt><input type="radio" name="se2_tbp3" id="se2_cellbg3" class="husky_se2m_radio_bgimg"><label for="se2_cellbg3">이미지</label></dt>
+								<dd><span class="se2_pre_bgimg"><button class="husky_se2m_table_qe_bgimage_btn se2_cellimg0" type="button"><span>배경이미지선택</span></button></span>
+									<!-- layer:배경이미지선택 -->
+									<div style="display:none;position:absolute;top:20px;left:-155px;" class="se2_layer se2_b_t_b1">
+										<div class="se2_in_layer husky_se2m_tbl_qe_bg_img_paletteHolder">
+											<ul class="se2_cellimg_set">
+											<li><button class="se2_cellimg0" type="button"><span>배경없음</span></button></li>
+											<li><button class="se2_cellimg1" type="button"><span>배경1</span></button></li>
+											<li><button class="se2_cellimg2" type="button"><span>배경2</span></button></li>
+											<li><button class="se2_cellimg3" type="button"><span>배경3</span></button></li>
+											<li><button class="se2_cellimg4" type="button"><span>배경4</span></button></li>
+											<li><button class="se2_cellimg5" type="button"><span>배경5</span></button></li>
+											<li><button class="se2_cellimg6" type="button"><span>배경6</span></button></li>
+											<li><button class="se2_cellimg7" type="button"><span>배경7</span></button></li>
+											<li><button class="se2_cellimg8" type="button"><span>배경8</span></button></li>
+											<li><button class="se2_cellimg9" type="button"><span>배경9</span></button></li>
+											<li><button class="se2_cellimg10" type="button"><span>배경10</span></button></li>
+											<li><button class="se2_cellimg11" type="button"><span>배경11</span></button></li>
+											<li><button class="se2_cellimg12" type="button"><span>배경12</span></button></li>
+											<li><button class="se2_cellimg13" type="button"><span>배경13</span></button></li>
+											<li><button class="se2_cellimg14" type="button"><span>배경14</span></button></li>
+											<li><button class="se2_cellimg15" type="button"><span>배경15</span></button></li>
+											<li><button class="se2_cellimg16" type="button"><span>배경16</span></button></li>
+											<li><button class="se2_cellimg17" type="button"><span>배경17</span></button></li>
+											<li><button class="se2_cellimg18" type="button"><span>배경18</span></button></li>
+											<li><button class="se2_cellimg19" type="button"><span>배경19</span></button></li>
+											<li><button class="se2_cellimg20" type="button"><span>배경20</span></button></li>
+											<li><button class="se2_cellimg21" type="button"><span>배경21</span></button></li>
+											<li><button class="se2_cellimg22" type="button"><span>배경22</span></button></li>
+											<li><button class="se2_cellimg23" type="button"><span>배경23</span></button></li>
+											<li><button class="se2_cellimg24" type="button"><span>배경24</span></button></li>
+											<li><button class="se2_cellimg25" type="button"><span>배경25</span></button></li>
+											<li><button class="se2_cellimg26" type="button"><span>배경26</span></button></li>
+											<li><button class="se2_cellimg27" type="button"><span>배경27</span></button></li>
+											<li><button class="se2_cellimg28" type="button"><span>배경28</span></button></li>
+											<li><button class="se2_cellimg29" type="button"><span>배경29</span></button></li>
+											<li><button class="se2_cellimg30" type="button"><span>배경30</span></button></li>
+											<li><button class="se2_cellimg31" type="button"><span>배경31</span></button></li>
+											</ul>
+										</div>
+									</div>
+									<!-- //layer:배경이미지선택-->
+								</dd>
+								</dl>
+								<!-- //배경이미지선택 -->
+							</div>
+							<dl style="display: block;" class="se2_qe3 se2_t_proper2">
+							<dt><input type="radio" name="se2_tbp3" id="se2_tbp4" class="husky_se2m_radio_template"><label for="se2_tbp4">표 스타일</label></dt>
+							<dd>
+								<div class="se2_qe3_table">
+								<div class="se2_select_ty2"><span class="se2_t_style1"></span><button class="se2_view_more husky_se2m_template_more" title="더보기" type="button"><span>더보기</span></button></div>
+								<!-- layer:표스타일 -->
+								<div style="display:none;top:33px;left:0;margin:0;" class="se2_layer_t_style">
+									<ul>
+									<li><button class="se2_t_style1" type="button"><span>표 스타일1</span></button></li>
+									<li><button class="se2_t_style2" type="button"><span>표 스타일2</span></button></li>
+									<li><button class="se2_t_style3" type="button"><span>표 스타일3</span></button></li>
+									<li><button class="se2_t_style4" type="button"><span>표 스타일4</span></button></li>
+									<li><button class="se2_t_style5" type="button"><span>표 스타일5</span></button></li>
+									<li><button class="se2_t_style6" type="button"><span>표 스타일6</span></button></li>
+									<li><button class="se2_t_style7" type="button"><span>표 스타일7</span></button></li>
+									<li><button class="se2_t_style8" type="button"><span>표 스타일8</span></button></li>
+									<li><button class="se2_t_style9" type="button"><span>표 스타일9</span></button></li>
+									<li><button class="se2_t_style10" type="button"><span>표 스타일10</span></button></li>
+									<li><button class="se2_t_style11" type="button"><span>표 스타일11</span></button></li>
+									<li><button class="se2_t_style12" type="button"><span>표 스타일12</span></button></li>
+									<li><button class="se2_t_style13" type="button"><span>표 스타일13</span></button></li>
+									<li><button class="se2_t_style14" type="button"><span>표 스타일14</span></button></li>
+									<li><button class="se2_t_style15" type="button"><span>표 스타일15</span></button></li>
+									<li><button class="se2_t_style16" type="button"><span>표 스타일16</span></button></li>
+									</ul>
+								</div>
+								<!-- //layer:표스타일 -->
+								</div>
+							</dd>
+							</dl>
+							<div style="display:none" class="se2_btn_area">
+								<button class="se2_btn_save" type="button"><span>My 리뷰저장</span></button>
+							</div>
+							<div class="se2_qdim0 husky_se2m_tbl_qe_dim1"></div>
+							<div class="se2_qdim4 husky_se2m_tbl_qe_dim2"></div>
+							<div class="se2_qdim6c husky_se2m_tbl_qe_dim_del_col"></div>
+							<div class="se2_qdim6r husky_se2m_tbl_qe_dim_del_row"></div>
+						</div>
+					</div>
+				</div>
+				</div>
+				<!--//@lazyload_html-->
+				<!-- //표/글양식 간단편집기 -->
+				<!-- 이미지 간단편집기 -->
+				<!--@lazyload_html qe_image-->
+				<div class="q_img_wrap">
+					<button class="_fold se2_qmax q_open_img_full" style="position:absolute;display:none;top:240px;left:210px;z-index:30;" title="최대화" type="button"><span>퀵에디터최대화</span></button>
+					<div class="_full se2_qeditor se2_table_set" style="position:absolute;display:none;top:140px;left:450px;z-index:30;">
+						<div class="se2_qbar  q_dragable"><span class="se2_qmini"><button title="최소화" class="q_open_img_fold"><span>퀵에디터최소화</span></button></span></div>
+						<div class="se2_qbody0">
+							<div class="se2_qbody">
+								<div class="se2_qe10">
+									<label for="se2_swidth">가로</label><input type="text" class="input_ty1 widthimg" name="" id="se2_swidth" value="1024"><label class="se2_sheight" for="se2_sheight">세로</label><input type="text" class="input_ty1 heightimg" name="" id="se2_sheight" value="768"><button class="se2_sreset" type="button"><span>초기화</span></button>
+									<div class="se2_qe10_1"><input type="checkbox" name="" class="se2_srate" id="se2_srate"><label for="se2_srate">가로 세로 비율 유지</label></div>
+								</div>
+								<div class="se2_qe11">
+									<dl class="se2_qe11_1">
+									<dt><label for="se2_b_width2">테두리두께</label></dt>
+										<dd class="se2_numberStepper"><input type="text" class="input_ty1 input bordersize" value="1" maxlength="2" name="" id="se2_b_width2" readonly="readonly">
+										<button class="se2_add plus" type="button"><span>1px 더하기</span></button>
+										<button class="se2_del minus" type="button"><span>1px 빼기</span></button>
+									</dd>
+									</dl>
+
+									<dl class="se2_qe11_2">
+									<dt>테두리 색</dt>
+									<dd><span class="se2_pre_color"><button style="background:#000000;" type="button" class="husky_se2m_img_qe_bgcolor_btn"><span>색찾기</span></button></span>
+										<!-- layer:테두리 색 -->
+										<div style="display:none;position:absolute;top:20px;left:-209px;" class="se2_layer se2_b_t_b1">
+											<div class="se2_in_layer husky_se2m_img_qe_bg_paletteHolder">
+											</div>
+										</div>
+										<!-- //layer:테두리 색 -->
+									</dd>
+									</dl>
+								</div>
+								<dl class="se2_qe12">
+								<dt>정렬</dt>
+								<dd><button title="정렬없음" class="se2_align0" type="button"><span>정렬없음</span></button><button title="좌측정렬" class="se2_align1 left" type="button"><span>좌측정렬</span></button><button title="우측정렬" class="se2_align2 right" type="button"><span>우측정렬</span></button>
+								</dd>
+								</dl>
+								<button class="se2_highedit" type="button"><span>고급편집</span></button>
+								<div class="se2_qdim0"></div>
+							</div>
+						</div>
+					</div>
+				</div>
+				<!--//@lazyload_html-->
+				<!-- 이미지 간단편집기 -->
+			</div>
+		</div>
+		<!-- //입력 -->
+		<!-- 입력창조절/ 모드전환 -->
+		<div class="se2_conversion_mode">
+			<button type="button" class="se2_inputarea_controller husky_seditor_editingArea_verticalResizer" title="입력창 크기 조절"><span>입력창 크기 조절</span></button>
+			<ul class="se2_converter">
+			<li class="active"><button type="button" class="se2_to_editor"><span>Editor</span></button></li>
+			<li><button type="button" class="se2_to_html"><span>HTML</span></button></li>
+			<li><button type="button" class="se2_to_text"><span>TEXT</span></button></li>
+			</ul>
+		</div>
+		<!-- //입력창조절/ 모드전환 -->
+		<hr>
+		
+	</div>
+</div>
+<!-- SE2 Markup End -->
+
+<!--Example Start-->
+<div id="se2_sample" style="margin:10px 0;">
+	<input type="button" onclick="pasteHTML();" value="본문에 내용 넣기" />
+	<input type="button" onclick="showHTML();" value="본문 내용 가져오기" />
+	<input type="button" onclick="submitContents();" value="서버로 내용 전송" />
+	<input type="button" onclick="setDefaultFont();" value="기본 폰트 지정하기 (궁서_24)" />
+	<form action="sample/viewer/index.php" method="post">
+		<textarea name="ir1" id="ir1" rows="10" cols="100" style="width:766px; height:412px; display:none;">
+			<p>글 수정시 여기에 값을 넣어주면 됩니다.</p>
+		</textarea>
+	</form>
+</div>
+
+<script type="text/javascript">
+if(window.frameElement){
+	jindo.$("se2_sample").style.display = "none";
+}else{
+	var oEditor = createSEditor2(jindo.$("ir1"), {
+		bUseToolbar : true,				// 툴바 사용 여부 (true:사용/ false:사용하지 않음)
+		bUseVerticalResizer : true,		// 입력창 크기 조절바 사용 여부 (true:사용/ false:사용하지 않음)
+		bUseModeChanger : true,			// 모드 탭(Editor | HTML | TEXT) 사용 여부 (true:사용/ false:사용하지 않음)
+		//bSkipXssFilter : true,		// client-side xss filter 무시 여부 (true:사용하지 않음 / 그외:사용)
+		//aAdditionalFontList : [["MS UI Gothic", "MS UI Gothic"], ["Comic Sans MS", "Comic Sans MS"],["TEST","TEST"]],	// 추가 글꼴 목록
+		fOnBeforeUnload : function(){
+			//예제 코드
+			//return "내용이 변경되었습니다.";
+		}
+	});
+	
+	oEditor.run({
+		fnOnAppReady: function(){
+			//예제 코드
+			//oEditor.exec("PASTE_HTML", ["로딩이 완료된 후에 본문에 삽입되는 text입니다."]);
+		}
+	});
+	
+	function pasteHTML() {
+		var sHTML = "<span style='color:#FF0000;'>이미지도 같은 방식으로 삽입합니다.<\/span>";
+		oEditor.exec("PASTE_HTML", [sHTML]);
+	}
+	
+	function showHTML() {
+		var sHTML = oEditor.getIR();
+		alert(sHTML);
+	}
+	
+	function submitContents() {
+		oEditor.exec("UPDATE_CONTENTS_FIELD");	// 에디터의 내용이 textarea에 적용됩니다.
+	
+		// 에디터의 내용에 대한 값 검증은 이곳에서 document.getElementById("ir1").value를 이용해서 처리하면 됩니다.
+		jindo.$("ir1").form.submit();
+	}
+	
+	function setDefaultFont() {
+		var sDefaultFont = '궁서';
+		var nFontSize = 24;
+		oEditor.setDefaultFont(sDefaultFont, nFontSize);
+	}
+}
+</script>
+<!--Example End-->
+</body>
+</html>(파일 끝에 줄바꿈 문자 없음)
 
client/smarteditor2-2.8.2.3/SmartEditor2noTool.html (added)
+++ client/smarteditor2-2.8.2.3/SmartEditor2noTool.html
@@ -0,0 +1,1248 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="ko">
+
+<head>
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+	<meta http-equiv="Content-Script-Type" content="text/javascript">
+	<meta http-equiv="Content-Style-Type" content="text/css">
+	<title>네이버 :: Smart Editor 2 &#8482;</title>
+	<link href="css/ko_KR/smart_editor2.css" rel="stylesheet" type="text/css">
+	<style type="text/css">
+		body {
+			margin: 10px;
+		}
+	</style>
+	<script type="text/javascript" src="./js/lib/jindo2.all.js" charset="utf-8"></script>
+	<script type="text/javascript" src="./js/lib/jindo_component.js" charset="utf-8"></script>
+	<script type="text/javascript" src="./js/service/SE2M_Configuration.js" charset="utf-8"></script> <!-- 설정 파일 -->
+	<script type="text/javascript" src="./js/service/SE2BasicCreator.js" charset="utf-8"></script>
+	<script type="text/javascript" src="./js/smarteditor2.js" charset="utf-8"></script>
+
+</head>
+
+<body>
+
+
+
+	<!-- <span id="rev">Version: 2.9.1.5caeebb </span> -->
+
+	<!-- SE2 Markup Start -->
+	<div id="smart_editor2">
+		<div id="smart_editor2_content">
+			<a href="#se2_iframe" class="blind">글쓰기영역으로 바로가기</a>
+			<div class="se2_tool" id="se2_tool">
+
+				<div class="se2_text_tool husky_seditor_text_tool">
+					<ul class="se2_font_type">
+						<li class="husky_seditor_ui_fontName"><button type="button" class="se2_font_family"
+								title="글꼴"><span class="husky_se2m_current_fontName">글꼴</span></button>
+							<!-- 글꼴 레이어 -->
+							<div class="se2_layer husky_se_fontName_layer">
+								<div class="se2_in_layer">
+									<ul class="se2_l_font_fam">
+										<li style="display:none"><button
+												type="button"><span>@DisplayName@<span>(</span><em
+														style="font-family:FontFamily;">@SampleText@</em><span>)</span></span></button>
+										</li>
+										<li class="se2_division husky_seditor_font_separator"></li>
+										<li><button type="button"><span>나눔고딕<span>(</span><em
+														style="font-family:'나눔고딕',NanumGothic;">가나다라</em><span>)</span></span></button>
+										</li>
+										<li><button type="button"><span>나눔명조<span>(</span><em
+														style="font-family:'나눔명조',NanumMyeongjo;">가나다라</em><span>)</span></span></button>
+										</li>
+										<li><button type="button"><span>나눔고딕코딩<span>(</span><em
+														style="font-family:'나눔고딕코딩',NanumGothicCoding;">가나다라</em><span>)</span></span></button>
+										</li>
+										<li><button type="button"><span>나눔바른고딕<span>(</span><em
+														style="font-family:'나눔바른고딕',NanumBarunGothic,NanumBarunGothicOTF;">가나다라</em><span>)</span></span></button>
+										</li>
+										<li><button type="button"><span>나눔바른펜<span>(</span><em
+														style="font-family:'나눔바른펜',NanumBarunpen;">가나다라</em><span>)</span></span></button>
+										</li>
+									</ul>
+								</div>
+							</div>
+							<!-- //글꼴 레이어 -->
+						</li>
+
+						<li class="husky_seditor_ui_fontSize"><button type="button" class="se2_font_size"
+								title="글자크기"><span class="husky_se2m_current_fontSize">크기</span></button>
+							<!-- 폰트 사이즈 레이어 -->
+							<div class="se2_layer husky_se_fontSize_layer">
+								<div class="se2_in_layer">
+									<ul class="se2_l_font_size">
+										<li><button type="button"><span
+													style="margin-top:4px; margin-bottom:3px; margin-left:5px; font-size:7pt;">가나다라마바사<span
+														style=" font-size:7pt;">(7pt)</span></span></button></li>
+										<li><button type="button"><span
+													style="margin-bottom:2px; font-size:8pt;">가나다라마바사<span
+														style="font-size:8pt;">(8pt)</span></span></button></li>
+										<li><button type="button"><span
+													style="margin-bottom:1px; font-size:9pt;">가나다라마바사<span
+														style="font-size:9pt;">(9pt)</span></span></button></li>
+										<li><button type="button"><span
+													style="margin-bottom:1px; font-size:10pt;">가나다라마바사<span
+														style="font-size:10pt;">(10pt)</span></span></button></li>
+										<li><button type="button"><span
+													style="margin-bottom:2px; font-size:11pt;">가나다라마바사<span
+														style="font-size:11pt;">(11pt)</span></span></button></li>
+										<li><button type="button"><span
+													style="margin-bottom:1px; font-size:12pt;">가나다라마바사<span
+														style="font-size:12pt;">(12pt)</span></span></button></li>
+										<li><button type="button"><span
+													style="margin-bottom:2px; font-size:14pt;">가나다라마바사<span
+														style="margin-left:6px;font-size:14pt;">(14pt)</span></span></button>
+										</li>
+										<li><button type="button"><span
+													style="margin-bottom:1px; font-size:18pt;">가나다라마바사<span
+														style="margin-left:8px;font-size:18pt;">(18pt)</span></span></button>
+										</li>
+										<li><button type="button"><span
+													style="margin-left:3px; font-size:24pt;">가나다라마<span
+														style="margin-left:11px;font-size:24pt;">(24pt)</span></span></button>
+										</li>
+										<li><button type="button"><span
+													style="margin-top:-1px; margin-left:3px; font-size:36pt;">가나다<span
+														style="font-size:36pt;">(36pt)</span></span></button></li>
+									</ul>
+								</div>
+							</div>
+							<!-- //폰트 사이즈 레이어 -->
+						</li>
+					</ul>
+					<ul>
+						<li class="husky_seditor_ui_bold first_child"><button type="button" title="굵게[Ctrl+B]"
+								class="se2_bold"><span class="_buttonRound tool_bg">굵게[Ctrl+B]</span></button></li>
+
+						<li class="husky_seditor_ui_underline"><button type="button" title="밑줄[Ctrl+U]"
+								class="se2_underline"><span class="_buttonRound">밑줄[Ctrl+U]</span></button></li>
+
+						<li class="husky_seditor_ui_italic"><button type="button" title="기울임꼴[Ctrl+I]"
+								class="se2_italic"><span class="_buttonRound">기울임꼴[Ctrl+I]</span></button></li>
+
+						<li class="husky_seditor_ui_lineThrough"><button type="button" title="취소선[Ctrl+D]"
+								class="se2_tdel"><span class="_buttonRound">취소선[Ctrl+D]</span></button></li>
+
+						<li class="se2_pair husky_seditor_ui_fontColor"><span
+								class="selected_color husky_se2m_fontColor_lastUsed"
+								style="background-color:#4477f9"></span><span
+								class="husky_seditor_ui_fontColorA"><button type="button" title="글자색"
+									class="se2_fcolor"><span>글자색</span></button></span><span
+								class="husky_seditor_ui_fontColorB"><button type="button" title="더보기"
+									class="se2_fcolor_more"><span class="_buttonRound">더보기</span></button></span>
+							<!-- 글자색 -->
+							<div class="se2_layer husky_se2m_fontcolor_layer" style="display:none">
+								<div class="se2_in_layer husky_se2m_fontcolor_paletteHolder">
+									<div class="se2_palette husky_se2m_color_palette">
+										<ul class="se2_pick_color">
+											<li><button type="button" title="#ff0000"
+													style="background:#ff0000"><span><span>#ff0000</span></span></button>
+											</li>
+											<li><button type="button" title="#ff6c00"
+													style="background:#ff6c00"><span><span>#ff6c00</span></span></button>
+											</li>
+											<li><button type="button" title="#ffaa00"
+													style="background:#ffaa00"><span><span>#ffaa00</span></span></button>
+											</li>
+											<li><button type="button" title="#ffef00"
+													style="background:#ffef00"><span><span>#ffef00</span></span></button>
+											</li>
+											<li><button type="button" title="#a6cf00"
+													style="background:#a6cf00"><span><span>#a6cf00</span></span></button>
+											</li>
+											<li><button type="button" title="#009e25"
+													style="background:#009e25"><span><span>#009e25</span></span></button>
+											</li>
+											<li><button type="button" title="#00b0a2"
+													style="background:#00b0a2"><span><span>#00b0a2</span></span></button>
+											</li>
+											<li><button type="button" title="#0075c8"
+													style="background:#0075c8"><span><span>#0075c8</span></span></button>
+											</li>
+											<li><button type="button" title="#3a32c3"
+													style="background:#3a32c3"><span><span>#3a32c3</span></span></button>
+											</li>
+											<li><button type="button" title="#7820b9"
+													style="background:#7820b9"><span><span>#7820b9</span></span></button>
+											</li>
+											<li><button type="button" title="#ef007c"
+													style="background:#ef007c"><span><span>#ef007c</span></span></button>
+											</li>
+											<li><button type="button" title="#000000"
+													style="background:#000000"><span><span>#000000</span></span></button>
+											</li>
+											<li><button type="button" title="#252525"
+													style="background:#252525"><span><span>#252525</span></span></button>
+											</li>
+											<li><button type="button" title="#464646"
+													style="background:#464646"><span><span>#464646</span></span></button>
+											</li>
+											<li><button type="button" title="#636363"
+													style="background:#636363"><span><span>#636363</span></span></button>
+											</li>
+											<li><button type="button" title="#7d7d7d"
+													style="background:#7d7d7d"><span><span>#7d7d7d</span></span></button>
+											</li>
+											<li><button type="button" title="#9a9a9a"
+													style="background:#9a9a9a"><span><span>#9a9a9a</span></span></button>
+											</li>
+											<li><button type="button" title="#ffe8e8"
+													style="background:#ffe8e8"><span><span>#9a9a9a</span></span></button>
+											</li>
+											<li><button type="button" title="#f7e2d2"
+													style="background:#f7e2d2"><span><span>#f7e2d2</span></span></button>
+											</li>
+											<li><button type="button" title="#f5eddc"
+													style="background:#f5eddc"><span><span>#f5eddc</span></span></button>
+											</li>
+											<li><button type="button" title="#f5f4e0"
+													style="background:#f5f4e0"><span><span>#f5f4e0</span></span></button>
+											</li>
+											<li><button type="button" title="#edf2c2"
+													style="background:#edf2c2"><span><span>#edf2c2</span></span></button>
+											</li>
+											<li><button type="button" title="#def7e5"
+													style="background:#def7e5"><span><span>#def7e5</span></span></button>
+											</li>
+											<li><button type="button" title="#d9eeec"
+													style="background:#d9eeec"><span><span>#d9eeec</span></span></button>
+											</li>
+											<li><button type="button" title="#c9e0f0"
+													style="background:#c9e0f0"><span><span>#c9e0f0</span></span></button>
+											</li>
+											<li><button type="button" title="#d6d4eb"
+													style="background:#d6d4eb"><span><span>#d6d4eb</span></span></button>
+											</li>
+											<li><button type="button" title="#e7dbed"
+													style="background:#e7dbed"><span><span>#e7dbed</span></span></button>
+											</li>
+											<li><button type="button" title="#f1e2ea"
+													style="background:#f1e2ea"><span><span>#f1e2ea</span></span></button>
+											</li>
+											<li><button type="button" title="#acacac"
+													style="background:#acacac"><span><span>#acacac</span></span></button>
+											</li>
+											<li><button type="button" title="#c2c2c2"
+													style="background:#c2c2c2"><span><span>#c2c2c2</span></span></button>
+											</li>
+											<li><button type="button" title="#cccccc"
+													style="background:#cccccc"><span><span>#cccccc</span></span></button>
+											</li>
+											<li><button type="button" title="#e1e1e1"
+													style="background:#e1e1e1"><span><span>#e1e1e1</span></span></button>
+											</li>
+											<li><button type="button" title="#ebebeb"
+													style="background:#ebebeb"><span><span>#ebebeb</span></span></button>
+											</li>
+											<li><button type="button" title="#ffffff"
+													style="background:#ffffff"><span><span>#ffffff</span></span></button>
+											</li>
+										</ul>
+										<ul class="se2_pick_color" style="width:156px;">
+											<li><button type="button" title="#e97d81"
+													style="background:#e97d81"><span><span>#e97d81</span></span></button>
+											</li>
+											<li><button type="button" title="#e19b73"
+													style="background:#e19b73"><span><span>#e19b73</span></span></button>
+											</li>
+											<li><button type="button" title="#d1b274"
+													style="background:#d1b274"><span><span>#d1b274</span></span></button>
+											</li>
+											<li><button type="button" title="#cfcca2"
+													style="background:#cfcca2"><span><span>#cfcca2</span></span></button>
+											</li>
+											<li><button type="button" title="#cfcca2"
+													style="background:#cfcca2"><span><span>#cfcca2</span></span></button>
+											</li>
+											<li><button type="button" title="#61b977"
+													style="background:#61b977"><span><span>#61b977</span></span></button>
+											</li>
+											<li><button type="button" title="#53aea8"
+													style="background:#53aea8"><span><span>#53aea8</span></span></button>
+											</li>
+											<li><button type="button" title="#518fbb"
+													style="background:#518fbb"><span><span>#518fbb</span></span></button>
+											</li>
+											<li><button type="button" title="#6a65bb"
+													style="background:#6a65bb"><span><span>#6a65bb</span></span></button>
+											</li>
+											<li><button type="button" title="#9a54ce"
+													style="background:#9a54ce"><span><span>#9a54ce</span></span></button>
+											</li>
+											<li><button type="button" title="#e573ae"
+													style="background:#e573ae"><span><span>#e573ae</span></span></button>
+											</li>
+											<li><button type="button" title="#5a504b"
+													style="background:#5a504b"><span><span>#5a504b</span></span></button>
+											</li>
+											<li><button type="button" title="#767b86"
+													style="background:#767b86"><span><span>#767b86</span></span></button>
+											</li>
+											<li><button type="button" title="#951015"
+													style="background:#951015"><span><span>#951015</span></span></button>
+											</li>
+											<li><button type="button" title="#6e391a"
+													style="background:#6e391a"><span><span>#6e391a</span></span></button>
+											</li>
+											<li><button type="button" title="#785c25"
+													style="background:#785c25"><span><span>#785c25</span></span></button>
+											</li>
+											<li><button type="button" title="#5f5b25"
+													style="background:#5f5b25"><span><span>#5f5b25</span></span></button>
+											</li>
+											<li><button type="button" title="#4c511f"
+													style="background:#4c511f"><span><span>#4c511f</span></span></button>
+											</li>
+											<li><button type="button" title="#1c4827"
+													style="background:#1c4827"><span><span>#1c4827</span></span></button>
+											</li>
+											<li><button type="button" title="#0d514c"
+													style="background:#0d514c"><span><span>#0d514c</span></span></button>
+											</li>
+											<li><button type="button" title="#1b496a"
+													style="background:#1b496a"><span><span>#1b496a</span></span></button>
+											</li>
+											<li><button type="button" title="#2b285f"
+													style="background:#2b285f"><span><span>#2b285f</span></span></button>
+											</li>
+											<li><button type="button" title="#45245b"
+													style="background:#45245b"><span><span>#45245b</span></span></button>
+											</li>
+											<li><button type="button" title="#721947"
+													style="background:#721947"><span><span>#721947</span></span></button>
+											</li>
+											<li><button type="button" title="#352e2c"
+													style="background:#352e2c"><span><span>#352e2c</span></span></button>
+											</li>
+											<li><button type="button" title="#3c3f45"
+													style="background:#3c3f45"><span><span>#3c3f45</span></span></button>
+											</li>
+										</ul>
+										<button type="button" title="더보기"
+											class="se2_view_more husky_se2m_color_palette_more_btn"><span>더보기</span></button>
+										<div class="husky_se2m_color_palette_recent" style="display:none">
+											<h4>최근 사용한 색</h4>
+											<ul class="se2_pick_color">
+												<li></li>
+												<!-- 최근 사용한 색 템플릿 -->
+												<!-- <li><button type="button" title="#e97d81" style="background:#e97d81"><span><span>#e97d81</span></span></button></li> -->
+												<!-- //최근 사용한 색 템플릿 -->
+											</ul>
+										</div>
+										<div class="se2_palette2 husky_se2m_color_palette_colorpicker">
+											<!--form action="http://test.emoticon.naver.com/colortable/TextAdd.nhn" method="post"-->
+											<div class="se2_color_set">
+												<span class="se2_selected_color"><span class="husky_se2m_cp_preview"
+														style="background:#e97d81"></span></span><input type="text"
+													name="" class="input_ty1 husky_se2m_cp_colorcode"
+													value="#e97d81"><button type="button"
+													class="se2_btn_insert husky_se2m_color_palette_ok_btn"
+													title="입력"><span>입력</span></button>
+											</div>
+											<!--input type="hidden" name="callback" value="http://test.emoticon.naver.com/colortable/result.jsp" />
+										<input type="hidden" name="callback_func" value="1" />
+										<input type="hidden" name="text_key" value="" />
+										<input type="hidden" name="text_data" value="" />
+									</form-->
+											<div class="se2_gradation1 husky_se2m_cp_colpanel"></div>
+											<div class="se2_gradation2 husky_se2m_cp_huepanel"></div>
+										</div>
+									</div>
+								</div>
+							</div>
+							<!-- //글자색 -->
+						</li>
+
+						<li class="se2_pair husky_seditor_ui_BGColor"><span
+								class="selected_color husky_se2m_BGColor_lastUsed"
+								style="background-color:#4477f9"></span><span class="husky_seditor_ui_BGColorA"><button
+									type="button" title="배경색" class="se2_bgcolor"><span>배경색</span></button></span><span
+								class="husky_seditor_ui_BGColorB"><button type="button" title="더보기"
+									class="se2_bgcolor_more"><span class="_buttonRound">더보기</span></button></span>
+							<!-- 배경색 -->
+							<div class="se2_layer se2_layer husky_se2m_BGColor_layer" style="display:none">
+								<div class="se2_in_layer">
+									<div class="se2_palette_bgcolor">
+										<ul class="se2_background husky_se2m_bgcolor_list">
+											<li><button type="button" title="배경색#ff0000 글자색#ffffff"
+													style="background:#ff0000; color:#ffffff"><span><span>가나다</span></span></button>
+											</li>
+											<li><button type="button" title="배경색#6d30cf 글자색#ffffff"
+													style="background:#6d30cf; color:#ffffff"><span><span>가나다</span></span></button>
+											</li>
+											<li><button type="button" title="배경색#000000 글자색#ffffff"
+													style="background:#000000; color:#ffffff"><span><span>가나다</span></span></button>
+											</li>
+											<li><button type="button" title="배경색#ff6600 글자색#ffffff"
+													style="background:#ff6600; color:#ffffff"><span><span>가나다</span></span></button>
+											</li>
+											<li><button type="button" title="배경색#3333cc 글자색#ffffff"
+													style="background:#3333cc; color:#ffffff"><span><span>가나다</span></span></button>
+											</li>
+											<li><button type="button" title="배경색#333333 글자색#ffff00"
+													style="background:#333333; color:#ffff00"><span><span>가나다</span></span></button>
+											</li>
+											<li><button type="button" title="배경색#ffa700 글자색#ffffff"
+													style="background:#ffa700; color:#ffffff"><span><span>가나다</span></span></button>
+											</li>
+											<li><button type="button" title="배경색#009999 글자색#ffffff"
+													style="background:#009999; color:#ffffff"><span><span>가나다</span></span></button>
+											</li>
+											<li><button type="button" title="배경색#8e8e8e 글자색#ffffff"
+													style="background:#8e8e8e; color:#ffffff"><span><span>가나다</span></span></button>
+											</li>
+											<li><button type="button" title="배경색#cc9900 글자색#ffffff"
+													style="background:#cc9900; color:#ffffff"><span><span>가나다</span></span></button>
+											</li>
+											<li><button type="button" title="배경색#77b02b 글자색#ffffff"
+													style="background:#77b02b; color:#ffffff"><span><span>가나다</span></span></button>
+											</li>
+											<li><button type="button" title="배경색#ffffff 글자색#000000"
+													style="background:#ffffff; color:#000000"><span><span>가나다</span></span></button>
+											</li>
+										</ul>
+									</div>
+									<div class="husky_se2m_BGColor_paletteHolder"></div>
+								</div>
+							</div>
+							<!-- //배경색 -->
+						</li>
+
+						<li class="husky_seditor_ui_superscript"><button type="button" title="윗첨자" class="se2_sup"><span
+									class="_buttonRound">윗첨자</span></button></li>
+
+						<li class="husky_seditor_ui_subscript last_child"><button type="button" title="아래첨자"
+								class="se2_sub"><span class="_buttonRound tool_bg">아래첨자</span></button></li>
+					</ul>
+					<ul>
+						<li class="husky_seditor_ui_justifyleft first_child"><button type="button" title="왼쪽정렬"
+								class="se2_left"><span class="_buttonRound tool_bg">왼쪽정렬</span></button></li>
+
+						<li class="husky_seditor_ui_justifycenter"><button type="button" title="가운데정렬"
+								class="se2_center"><span class="_buttonRound">가운데정렬</span></button></li>
+
+						<li class="husky_seditor_ui_justifyright"><button type="button" title="오른쪽정렬"
+								class="se2_right"><span class="_buttonRound">오른쪽정렬</span></button></li>
+
+						<li class="husky_seditor_ui_justifyfull"><button type="button" title="양쪽정렬"
+								class="se2_justify"><span class="_buttonRound">양쪽정렬</span></button></li>
+
+						<li class="husky_seditor_ui_orderedlist"><button type="button" title="번호매기기"
+								class="se2_ol"><span class="_buttonRound">번호매기기</span></button></li>
+
+						<li class="husky_seditor_ui_unorderedlist"><button type="button" title="글머리기호"
+								class="se2_ul"><span class="_buttonRound">글머리기호</span></button></li>
+
+						<li class="husky_seditor_ui_outdent"><button type="button" title="내어쓰기[Shift+Tab]"
+								class="se2_outdent"><span class="_buttonRound">내어쓰기[Shift+Tab]</span></button></li>
+
+						<li class="husky_seditor_ui_indent"><button type="button" title="들여쓰기[Tab]"
+								class="se2_indent"><span class="_buttonRound">들여쓰기[Tab]</span></button></li>
+
+						<li class="husky_seditor_ui_lineHeight last_child"><button type="button" title="줄간격"
+								class="se2_lineheight"><span class="_buttonRound tool_bg">줄간격</span></button>
+							<!-- 줄간격 레이어 -->
+							<div class="se2_layer husky_se2m_lineHeight_layer">
+								<div class="se2_in_layer">
+									<ul class="se2_l_line_height">
+										<li><button type="button"><span>50%</span></button></li>
+										<li><button type="button"><span>80%</span></button></li>
+										<li><button type="button"><span>100%</span></button></li>
+										<li><button type="button"><span>120%</span></button></li>
+										<li><button type="button"><span>150%</span></button></li>
+										<li><button type="button"><span>180%</span></button></li>
+										<li><button type="button"><span>200%</span></button></li>
+									</ul>
+									<div class="se2_l_line_height_user husky_se2m_lineHeight_direct_input">
+										<h3>직접 입력</h3>
+										<span class="bx_input">
+											<input type="text" class="input_ty1" maxlength="3" style="width:75px">
+											<button type="button" title="1% 더하기" class="btn_up"><span>1%
+													더하기</span></button>
+											<button type="button" title="1% 빼기" class="btn_down"><span>1%
+													빼기</span></button>
+										</span>
+										<div class="btn_area">
+											<button type="button" class="se2_btn_apply3"><span>적용</span></button><button
+												type="button" class="se2_btn_cancel3"><span>취소</span></button>
+										</div>
+									</div>
+								</div>
+							</div>
+							<!-- //줄간격 레이어 -->
+						</li>
+					</ul>
+					<ul>
+						<li class="husky_seditor_ui_quote single_child"><button type="button" title="인용구"
+								class="se2_blockquote"><span class="_buttonRound tool_bg">인용구</span></button>
+							<!-- 인용구 -->
+							<div class="se2_layer husky_seditor_blockquote_layer"
+								style="margin-left:-407px; display:none;">
+								<div class="se2_in_layer">
+									<div class="se2_quote">
+										<ul>
+											<li class="q1"><button type="button" class="se2_quote1"><span><span>인용구
+															스타일1</span></span></button></li>
+											<li class="q2"><button type="button" class="se2_quote2"><span><span>인용구
+															스타일2</span></span></button></li>
+											<li class="q3"><button type="button" class="se2_quote3"><span><span>인용구
+															스타일3</span></span></button></li>
+											<li class="q4"><button type="button" class="se2_quote4"><span><span>인용구
+															스타일4</span></span></button></li>
+											<li class="q5"><button type="button" class="se2_quote5"><span><span>인용구
+															스타일5</span></span></button></li>
+											<li class="q6"><button type="button" class="se2_quote6"><span><span>인용구
+															스타일6</span></span></button></li>
+											<li class="q7"><button type="button" class="se2_quote7"><span><span>인용구
+															스타일7</span></span></button></li>
+											<li class="q8"><button type="button" class="se2_quote8"><span><span>인용구
+															스타일8</span></span></button></li>
+											<li class="q9"><button type="button" class="se2_quote9"><span><span>인용구
+															스타일9</span></span></button></li>
+											<li class="q10"><button type="button" class="se2_quote10"><span><span>인용구
+															스타일10</span></span></button></li>
+										</ul>
+										<button type="button" class="se2_cancel2"><span>적용취소</span></button>
+									</div>
+								</div>
+							</div>
+							<!-- //인용구 -->
+						</li>
+					</ul>
+					<ul>
+						<li class="husky_seditor_ui_hyperlink first_child"><button type="button" title="링크"
+								class="se2_url"><span class="_buttonRound tool_bg">링크</span></button>
+							<!-- 링크 -->
+							<div class="se2_layer" style="margin-left:-285px">
+								<div class="se2_in_layer">
+									<div class="se2_url2">
+										<input type="text" class="input_ty1" value="http://">
+										<button type="button" class="se2_apply"><span>적용</span></button><button
+											type="button" class="se2_cancel"><span>취소</span></button>
+									</div>
+								</div>
+							</div>
+							<!-- //링크 -->
+						</li>
+
+						<li class="husky_seditor_ui_sCharacter"><button type="button" title="특수기호"
+								class="se2_character"><span class="_buttonRound">특수기호</span></button>
+							<!-- 특수기호 -->
+							<div class="se2_layer husky_seditor_sCharacter_layer" style="margin-left:-448px;">
+								<div class="se2_in_layer">
+									<div class="se2_bx_character">
+										<ul class="se2_char_tab">
+											<li class="active"><button type="button" title="일반기호"
+													class="se2_char1"><span>일반기호</span></button>
+												<div class="se2_s_character">
+													<ul class="husky_se2m_sCharacter_list">
+														<li></li>
+														<!-- 일반기호 목록 -->
+														<!-- <li class="hover"><button type="button"><span>{</span></button></li><li class="active"><button type="button"><span>}</span></button></li><li><button type="button"><span>〔</span></button></li><li><button type="button"><span>〕</span></button></li><li><button type="button"><span>〈</span></button></li><li><button type="button"><span>〉</span></button></li><li><button type="button"><span>《</span></button></li><li><button type="button"><span>》</span></button></li><li><button type="button"><span>「</span></button></li><li><button type="button"><span>」</span></button></li><li><button type="button"><span>『</span></button></li><li><button type="button"><span>』</span></button></li><li><button type="button"><span>【</span></button></li><li><button type="button"><span>】</span></button></li><li><button type="button"><span>‘</span></button></li><li><button type="button"><span>’</span></button></li><li><button type="button"><span>“</span></button></li><li><button type="button"><span>”</span></button></li><li><button type="button"><span>、</span></button></li><li><button type="button"><span>。</span></button></li><li><button type="button"><span>·</span></button></li><li><button type="button"><span>‥</span></button></li><li><button type="button"><span>…</span></button></li><li><button type="button"><span>§</span></button></li><li><button type="button"><span>※</span></button></li><li><button type="button"><span>☆</span></button></li><li><button type="button"><span>★</span></button></li><li><button type="button"><span>○</span></button></li><li><button type="button"><span>●</span></button></li><li><button type="button"><span>◎</span></button></li><li><button type="button"><span>◇</span></button></li><li><button type="button"><span>◆</span></button></li><li><button type="button"><span>□</span></button></li><li><button type="button"><span>■</span></button></li><li><button type="button"><span>△</span></button></li><li><button type="button"><span>▲</span></button></li><li><button type="button"><span>▽</span></button></li><li><button type="button"><span>▼</span></button></li><li><button type="button"><span>◁</span></button></li><li><button type="button"><span>◀</span></button></li><li><button type="button"><span>▷</span></button></li><li><button type="button"><span>▶</span></button></li><li><button type="button"><span>♤</span></button></li><li><button type="button"><span>♠</span></button></li><li><button type="button"><span>♡</span></button></li><li><button type="button"><span>♥</span></button></li><li><button type="button"><span>♧</span></button></li><li><button type="button"><span>♣</span></button></li><li><button type="button"><span>⊙</span></button></li><li><button type="button"><span>◈</span></button></li><li><button type="button"><span>▣</span></button></li><li><button type="button"><span>◐</span></button></li><li><button type="button"><span>◑</span></button></li><li><button type="button"><span>▒</span></button></li><li><button type="button"><span>▤</span></button></li><li><button type="button"><span>▥</span></button></li><li><button type="button"><span>▨</span></button></li><li><button type="button"><span>▧</span></button></li><li><button type="button"><span>▦</span></button></li><li><button type="button"><span>▩</span></button></li><li><button type="button"><span>±</span></button></li><li><button type="button"><span>×</span></button></li><li><button type="button"><span>÷</span></button></li><li><button type="button"><span>≠</span></button></li><li><button type="button"><span>≤</span></button></li><li><button type="button"><span>≥</span></button></li><li><button type="button"><span>∞</span></button></li><li><button type="button"><span>∴</span></button></li><li><button type="button"><span>°</span></button></li><li><button type="button"><span>′</span></button></li><li><button type="button"><span>″</span></button></li><li><button type="button"><span>∠</span></button></li><li><button type="button"><span>⊥</span></button></li><li><button type="button"><span>⌒</span></button></li><li><button type="button"><span>∂</span></button></li><li><button type="button"><span>≡</span></button></li><li><button type="button"><span>≒</span></button></li><li><button type="button"><span>≪</span></button></li><li><button type="button"><span>≫</span></button></li><li><button type="button"><span>√</span></button></li><li><button type="button"><span>∽</span></button></li><li><button type="button"><span>∝</span></button></li><li><button type="button"><span>∵</span></button></li><li><button type="button"><span>∫</span></button></li><li><button type="button"><span>∬</span></button></li><li><button type="button"><span>∈</span></button></li><li><button type="button"><span>∋</span></button></li><li><button type="button"><span>⊆</span></button></li><li><button type="button"><span>⊇</span></button></li><li><button type="button"><span>⊂</span></button></li><li><button type="button"><span>⊃</span></button></li><li><button type="button"><span>∪</span></button></li><li><button type="button"><span>∩</span></button></li><li><button type="button"><span>∧</span></button></li><li><button type="button"><span>∨</span></button></li><li><button type="button"><span>¬</span></button></li><li><button type="button"><span>⇒</span></button></li><li><button type="button"><span>⇔</span></button></li><li><button type="button"><span>∀</span></button></li><li><button type="button"><span>∃</span></button></li><li><button type="button"><span>´</span></button></li><li><button type="button"><span>~</span></button></li><li><button type="button"><span>ˇ</span></button></li><li><button type="button"><span>˘</span></button></li><li><button type="button"><span>˝</span></button></li><li><button type="button"><span>˚</span></button></li><li><button type="button"><span>˙</span></button></li><li><button type="button"><span>¸</span></button></li><li><button type="button"><span>˛</span></button></li><li><button type="button"><span>¡</span></button></li><li><button type="button"><span>¿</span></button></li><li><button type="button"><span>ː</span></button></li><li><button type="button"><span>∮</span></button></li><li><button type="button"><span>∑</span></button></li><li><button type="button"><span>∏</span></button></li><li><button type="button"><span>♭</span></button></li><li><button type="button"><span>♩</span></button></li><li><button type="button"><span>♪</span></button></li><li><button type="button"><span>♬</span></button></li><li><button type="button"><span>㉿</span></button></li><li><button type="button"><span>→</span></button></li><li><button type="button"><span>←</span></button></li><li><button type="button"><span>↑</span></button></li><li><button type="button"><span>↓</span></button></li><li><button type="button"><span>↔</span></button></li><li><button type="button"><span>↕</span></button></li><li><button type="button"><span>↗</span></button></li><li><button type="button"><span>↙</span></button></li><li><button type="button"><span>↖</span></button></li><li><button type="button"><span>↘</span></button></li><li><button type="button"><span>㈜</span></button></li><li><button type="button"><span>№</span></button></li><li><button type="button"><span>㏇</span></button></li><li><button type="button"><span>™</span></button></li><li><button type="button"><span>㏂</span></button></li><li><button type="button"><span>㏘</span></button></li><li><button type="button"><span>℡</span></button></li><li><button type="button"><span>♨</span></button></li><li><button type="button"><span>☏</span></button></li><li><button type="button"><span>☎</span></button></li><li><button type="button"><span>☜</span></button></li><li><button type="button"><span>☞</span></button></li><li><button type="button"><span>¶</span></button></li><li><button type="button"><span>†</span></button></li><li><button type="button"><span>‡</span></button></li><li><button type="button"><span>®</span></button></li><li><button type="button"><span>ª</span></button></li><li><button type="button"><span>º</span></button></li><li><button type="button"><span>♂</span></button></li><li><button type="button"><span>♀</span></button></li> -->
+													</ul>
+												</div>
+											</li>
+											<li><button type="button" title="숫자와 단위" class="se2_char2"><span>숫자와
+														단위</span></button>
+												<div class="se2_s_character">
+													<ul class="husky_se2m_sCharacter_list">
+														<li></li>
+														<!-- 숫자와 단위 목록 -->
+														<!-- <li class="hover"><button type="button"><span>½</span></button></li><li><button type="button"><span>⅓</span></button></li><li><button type="button"><span>⅔</span></button></li><li><button type="button"><span>¼</span></button></li><li><button type="button"><span>¾</span></button></li><li><button type="button"><span>⅛</span></button></li><li><button type="button"><span>⅜</span></button></li><li><button type="button"><span>⅝</span></button></li><li><button type="button"><span>⅞</span></button></li><li><button type="button"><span>¹</span></button></li><li><button type="button"><span>²</span></button></li><li><button type="button"><span>³</span></button></li><li><button type="button"><span>⁴</span></button></li><li><button type="button"><span>ⁿ</span></button></li><li><button type="button"><span>₁</span></button></li><li><button type="button"><span>₂</span></button></li><li><button type="button"><span>₃</span></button></li><li><button type="button"><span>₄</span></button></li><li><button type="button"><span>Ⅰ</span></button></li><li><button type="button"><span>Ⅱ</span></button></li><li><button type="button"><span>Ⅲ</span></button></li><li><button type="button"><span>Ⅳ</span></button></li><li><button type="button"><span>Ⅴ</span></button></li><li><button type="button"><span>Ⅵ</span></button></li><li><button type="button"><span>Ⅶ</span></button></li><li><button type="button"><span>Ⅷ</span></button></li><li><button type="button"><span>Ⅸ</span></button></li><li><button type="button"><span>Ⅹ</span></button></li><li><button type="button"><span>ⅰ</span></button></li><li><button type="button"><span>ⅱ</span></button></li><li><button type="button"><span>ⅲ</span></button></li><li><button type="button"><span>ⅳ</span></button></li><li><button type="button"><span>ⅴ</span></button></li><li><button type="button"><span>ⅵ</span></button></li><li><button type="button"><span>ⅶ</span></button></li><li><button type="button"><span>ⅷ</span></button></li><li><button type="button"><span>ⅸ</span></button></li><li><button type="button"><span>ⅹ</span></button></li><li><button type="button"><span>₩</span></button></li><li><button type="button"><span>$</span></button></li><li><button type="button"><span>¥</span></button></li><li><button type="button"><span>£</span></button></li><li><button type="button"><span>€</span></button></li><li><button type="button"><span>℃</span></button></li><li><button type="button"><span>A</span></button></li><li><button type="button"><span>℉</span></button></li><li><button type="button"><span>¢</span></button></li><li><button type="button"><span>¤</span></button></li><li><button type="button"><span>‰</span></button></li><li><button type="button"><span>㎕</span></button></li><li><button type="button"><span>㎖</span></button></li><li><button type="button"><span>㎗</span></button></li><li><button type="button"><span>ℓ</span></button></li><li><button type="button"><span>㎘</span></button></li><li><button type="button"><span>㏄</span></button></li><li><button type="button"><span>㎣</span></button></li><li><button type="button"><span>㎤</span></button></li><li><button type="button"><span>㎥</span></button></li><li><button type="button"><span>㎦</span></button></li><li><button type="button"><span>㎙</span></button></li><li><button type="button"><span>㎚</span></button></li><li><button type="button"><span>㎛</span></button></li><li><button type="button"><span>㎜</span></button></li><li><button type="button"><span>㎝</span></button></li><li><button type="button"><span>㎞</span></button></li><li><button type="button"><span>㎟</span></button></li><li><button type="button"><span>㎠</span></button></li><li><button type="button"><span>㎡</span></button></li><li><button type="button"><span>㎢</span></button></li><li><button type="button"><span>㏊</span></button></li><li><button type="button"><span>㎍</span></button></li><li><button type="button"><span>㎎</span></button></li><li><button type="button"><span>㎏</span></button></li><li><button type="button"><span>㏏</span></button></li><li><button type="button"><span>㎈</span></button></li><li><button type="button"><span>㎉</span></button></li><li><button type="button"><span>㏈</span></button></li><li><button type="button"><span>㎧</span></button></li><li><button type="button"><span>㎨</span></button></li><li><button type="button"><span>㎰</span></button></li><li><button type="button"><span>㎱</span></button></li><li><button type="button"><span>㎲</span></button></li><li><button type="button"><span>㎳</span></button></li><li><button type="button"><span>㎴</span></button></li><li><button type="button"><span>㎵</span></button></li><li><button type="button"><span>㎶</span></button></li><li><button type="button"><span>㎷</span></button></li><li><button type="button"><span>㎸</span></button></li><li><button type="button"><span>㎹</span></button></li><li><button type="button"><span>㎀</span></button></li><li><button type="button"><span>㎁</span></button></li><li><button type="button"><span>㎂</span></button></li><li><button type="button"><span>㎃</span></button></li><li><button type="button"><span>㎄</span></button></li><li><button type="button"><span>㎺</span></button></li><li><button type="button"><span>㎻</span></button></li><li><button type="button"><span>㎼</span></button></li><li><button type="button"><span>㎽</span></button></li><li><button type="button"><span>㎾</span></button></li><li><button type="button"><span>㎿</span></button></li><li><button type="button"><span>㎐</span></button></li><li><button type="button"><span>㎑</span></button></li><li><button type="button"><span>㎒</span></button></li><li><button type="button"><span>㎓</span></button></li><li><button type="button"><span>㎔</span></button></li><li><button type="button"><span>Ω</span></button></li><li><button type="button"><span>㏀</span></button></li><li><button type="button"><span>㏁</span></button></li><li><button type="button"><span>㎊</span></button></li><li><button type="button"><span>㎋</span></button></li><li><button type="button"><span>㎌</span></button></li><li><button type="button"><span>㏖</span></button></li><li><button type="button"><span>㏅</span></button></li><li><button type="button"><span>㎭</span></button></li><li><button type="button"><span>㎮</span></button></li><li><button type="button"><span>㎯</span></button></li><li><button type="button"><span>㏛</span></button></li><li><button type="button"><span>㎩</span></button></li><li><button type="button"><span>㎪</span></button></li><li><button type="button"><span>㎫</span></button></li><li><button type="button"><span>㎬</span></button></li><li><button type="button"><span>㏝</span></button></li><li><button type="button"><span>㏐</span></button></li><li><button type="button"><span>㏓</span></button></li><li><button type="button"><span>㏃</span></button></li><li><button type="button"><span>㏉</span></button></li><li><button type="button"><span>㏜</span></button></li><li><button type="button"><span>㏆</span></button></li> -->
+													</ul>
+												</div>
+											</li>
+											<li><button type="button" title="원,괄호"
+													class="se2_char3"><span>원,괄호</span></button>
+												<div class="se2_s_character">
+													<ul class="husky_se2m_sCharacter_list">
+														<li></li>
+														<!-- 원,괄호 목록 -->
+														<!-- <li><button type="button"><span>㉠</span></button></li><li><button type="button"><span>㉡</span></button></li><li><button type="button"><span>㉢</span></button></li><li><button type="button"><span>㉣</span></button></li><li><button type="button"><span>㉤</span></button></li><li><button type="button"><span>㉥</span></button></li><li><button type="button"><span>㉦</span></button></li><li><button type="button"><span>㉧</span></button></li><li><button type="button"><span>㉨</span></button></li><li><button type="button"><span>㉩</span></button></li><li><button type="button"><span>㉪</span></button></li><li><button type="button"><span>㉫</span></button></li><li><button type="button"><span>㉬</span></button></li><li><button type="button"><span>㉭</span></button></li><li><button type="button"><span>㉮</span></button></li><li><button type="button"><span>㉯</span></button></li><li><button type="button"><span>㉰</span></button></li><li><button type="button"><span>㉱</span></button></li><li><button type="button"><span>㉲</span></button></li><li><button type="button"><span>㉳</span></button></li><li><button type="button"><span>㉴</span></button></li><li><button type="button"><span>㉵</span></button></li><li><button type="button"><span>㉶</span></button></li><li><button type="button"><span>㉷</span></button></li><li><button type="button"><span>㉸</span></button></li><li><button type="button"><span>㉹</span></button></li><li><button type="button"><span>㉺</span></button></li><li><button type="button"><span>㉻</span></button></li><li><button type="button"><span>ⓐ</span></button></li><li><button type="button"><span>ⓑ</span></button></li><li><button type="button"><span>ⓒ</span></button></li><li><button type="button"><span>ⓓ</span></button></li><li><button type="button"><span>ⓔ</span></button></li><li><button type="button"><span>ⓕ</span></button></li><li><button type="button"><span>ⓖ</span></button></li><li><button type="button"><span>ⓗ</span></button></li><li><button type="button"><span>ⓘ</span></button></li><li><button type="button"><span>ⓙ</span></button></li><li><button type="button"><span>ⓚ</span></button></li><li><button type="button"><span>ⓛ</span></button></li><li><button type="button"><span>ⓜ</span></button></li><li><button type="button"><span>ⓝ</span></button></li><li><button type="button"><span>ⓞ</span></button></li><li><button type="button"><span>ⓟ</span></button></li><li><button type="button"><span>ⓠ</span></button></li><li><button type="button"><span>ⓡ</span></button></li><li><button type="button"><span>ⓢ</span></button></li><li><button type="button"><span>ⓣ</span></button></li><li><button type="button"><span>ⓤ</span></button></li><li><button type="button"><span>ⓥ</span></button></li><li><button type="button"><span>ⓦ</span></button></li><li><button type="button"><span>ⓧ</span></button></li><li><button type="button"><span>ⓨ</span></button></li><li><button type="button"><span>ⓩ</span></button></li><li><button type="button"><span>①</span></button></li><li><button type="button"><span>②</span></button></li><li><button type="button"><span>③</span></button></li><li><button type="button"><span>④</span></button></li><li><button type="button"><span>⑤</span></button></li><li><button type="button"><span>⑥</span></button></li><li><button type="button"><span>⑦</span></button></li><li><button type="button"><span>⑧</span></button></li><li><button type="button"><span>⑨</span></button></li><li><button type="button"><span>⑩</span></button></li><li><button type="button"><span>⑪</span></button></li><li><button type="button"><span>⑫</span></button></li><li><button type="button"><span>⑬</span></button></li><li><button type="button"><span>⑭</span></button></li><li><button type="button"><span>⑮</span></button></li><li><button type="button"><span>㈀</span></button></li><li><button type="button"><span>㈁</span></button></li><li class="hover"><button type="button"><span>㈂</span></button></li><li><button type="button"><span>㈃</span></button></li><li><button type="button"><span>㈄</span></button></li><li><button type="button"><span>㈅</span></button></li><li><button type="button"><span>㈆</span></button></li><li><button type="button"><span>㈇</span></button></li><li><button type="button"><span>㈈</span></button></li><li><button type="button"><span>㈉</span></button></li><li><button type="button"><span>㈊</span></button></li><li><button type="button"><span>㈋</span></button></li><li><button type="button"><span>㈌</span></button></li><li><button type="button"><span>㈍</span></button></li><li><button type="button"><span>㈎</span></button></li><li><button type="button"><span>㈏</span></button></li><li><button type="button"><span>㈐</span></button></li><li><button type="button"><span>㈑</span></button></li><li><button type="button"><span>㈒</span></button></li><li><button type="button"><span>㈓</span></button></li><li><button type="button"><span>㈔</span></button></li><li><button type="button"><span>㈕</span></button></li><li><button type="button"><span>㈖</span></button></li><li><button type="button"><span>㈗</span></button></li><li><button type="button"><span>㈘</span></button></li><li><button type="button"><span>㈙</span></button></li><li><button type="button"><span>㈚</span></button></li><li><button type="button"><span>㈛</span></button></li><li><button type="button"><span>⒜</span></button></li><li><button type="button"><span>⒝</span></button></li><li><button type="button"><span>⒞</span></button></li><li><button type="button"><span>⒟</span></button></li><li><button type="button"><span>⒠</span></button></li><li><button type="button"><span>⒡</span></button></li><li><button type="button"><span>⒢</span></button></li><li><button type="button"><span>⒣</span></button></li><li><button type="button"><span>⒤</span></button></li><li><button type="button"><span>⒥</span></button></li><li><button type="button"><span>⒦</span></button></li><li><button type="button"><span>⒧</span></button></li><li><button type="button"><span>⒨</span></button></li><li><button type="button"><span>⒩</span></button></li><li><button type="button"><span>⒪</span></button></li><li><button type="button"><span>⒫</span></button></li><li><button type="button"><span>⒬</span></button></li><li><button type="button"><span>⒭</span></button></li><li><button type="button"><span>⒮</span></button></li><li><button type="button"><span>⒯</span></button></li><li><button type="button"><span>⒰</span></button></li><li><button type="button"><span>⒱</span></button></li><li><button type="button"><span>⒲</span></button></li><li><button type="button"><span>⒳</span></button></li><li><button type="button"><span>⒴</span></button></li><li><button type="button"><span>⒵</span></button></li><li><button type="button"><span>⑴</span></button></li><li><button type="button"><span>⑵</span></button></li><li><button type="button"><span>⑶</span></button></li><li><button type="button"><span>⑷</span></button></li><li><button type="button"><span>⑸</span></button></li><li><button type="button"><span>⑹</span></button></li><li><button type="button"><span>⑺</span></button></li><li><button type="button"><span>⑻</span></button></li><li><button type="button"><span>⑼</span></button></li><li><button type="button"><span>⑽</span></button></li><li><button type="button"><span>⑾</span></button></li><li><button type="button"><span>⑿</span></button></li><li><button type="button"><span>⒀</span></button></li><li><button type="button"><span>⒁</span></button></li><li><button type="button"><span>⒂</span></button></li> -->
+													</ul>
+												</div>
+											</li>
+											<li><button type="button" title="한글"
+													class="se2_char4"><span>한글</span></button>
+												<div class="se2_s_character">
+													<ul class="husky_se2m_sCharacter_list">
+														<li></li>
+														<!-- 한글 목록 -->
+														<!-- <li><button type="button"><span>ㄱ</span></button></li><li><button type="button"><span>ㄲ</span></button></li><li><button type="button"><span>ㄳ</span></button></li><li><button type="button"><span>ㄴ</span></button></li><li><button type="button"><span>ㄵ</span></button></li><li><button type="button"><span>ㄶ</span></button></li><li><button type="button"><span>ㄷ</span></button></li><li><button type="button"><span>ㄸ</span></button></li><li><button type="button"><span>ㄹ</span></button></li><li><button type="button"><span>ㄺ</span></button></li><li><button type="button"><span>ㄻ</span></button></li><li><button type="button"><span>ㄼ</span></button></li><li><button type="button"><span>ㄽ</span></button></li><li><button type="button"><span>ㄾ</span></button></li><li><button type="button"><span>ㄿ</span></button></li><li><button type="button"><span>ㅀ</span></button></li><li><button type="button"><span>ㅁ</span></button></li><li><button type="button"><span>ㅂ</span></button></li><li><button type="button"><span>ㅃ</span></button></li><li><button type="button"><span>ㅄ</span></button></li><li><button type="button"><span>ㅅ</span></button></li><li><button type="button"><span>ㅆ</span></button></li><li><button type="button"><span>ㅇ</span></button></li><li><button type="button"><span>ㅈ</span></button></li><li><button type="button"><span>ㅉ</span></button></li><li><button type="button"><span>ㅊ</span></button></li><li><button type="button"><span>ㅋ</span></button></li><li><button type="button"><span>ㅌ</span></button></li><li><button type="button"><span>ㅍ</span></button></li><li><button type="button"><span>ㅎ</span></button></li><li><button type="button"><span>ㅏ</span></button></li><li><button type="button"><span>ㅐ</span></button></li><li><button type="button"><span>ㅑ</span></button></li><li><button type="button"><span>ㅒ</span></button></li><li><button type="button"><span>ㅓ</span></button></li><li><button type="button"><span>ㅔ</span></button></li><li><button type="button"><span>ㅕ</span></button></li><li><button type="button"><span>ㅖ</span></button></li><li><button type="button"><span>ㅗ</span></button></li><li><button type="button"><span>ㅘ</span></button></li><li><button type="button"><span>ㅙ</span></button></li><li><button type="button"><span>ㅚ</span></button></li><li><button type="button"><span>ㅛ</span></button></li><li><button type="button"><span>ㅜ</span></button></li><li><button type="button"><span>ㅝ</span></button></li><li><button type="button"><span>ㅞ</span></button></li><li><button type="button"><span>ㅟ</span></button></li><li><button type="button"><span>ㅠ</span></button></li><li><button type="button"><span>ㅡ</span></button></li><li><button type="button"><span>ㅢ</span></button></li><li><button type="button"><span>ㅣ</span></button></li><li><button type="button"><span>ㅥ</span></button></li><li><button type="button"><span>ㅦ</span></button></li><li><button type="button"><span>ㅧ</span></button></li><li><button type="button"><span>ㅨ</span></button></li><li><button type="button"><span>ㅩ</span></button></li><li><button type="button"><span>ㅪ</span></button></li><li><button type="button"><span>ㅫ</span></button></li><li><button type="button"><span>ㅬ</span></button></li><li><button type="button"><span>ㅭ</span></button></li><li><button type="button"><span>ㅮ</span></button></li><li><button type="button"><span>ㅯ</span></button></li><li><button type="button"><span>ㅰ</span></button></li><li><button type="button"><span>ㅱ</span></button></li><li><button type="button"><span>ㅲ</span></button></li><li><button type="button"><span>ㅳ</span></button></li><li><button type="button"><span>ㅴ</span></button></li><li><button type="button"><span>ㅵ</span></button></li><li><button type="button"><span>ㅶ</span></button></li><li><button type="button"><span>ㅷ</span></button></li><li><button type="button"><span>ㅸ</span></button></li><li><button type="button"><span>ㅹ</span></button></li><li><button type="button"><span>ㅺ</span></button></li><li><button type="button"><span>ㅻ</span></button></li><li><button type="button"><span>ㅼ</span></button></li><li><button type="button"><span>ㅽ</span></button></li><li><button type="button"><span>ㅾ</span></button></li><li><button type="button"><span>ㅿ</span></button></li><li><button type="button"><span>ㆀ</span></button></li><li><button type="button"><span>ㆁ</span></button></li><li><button type="button"><span>ㆂ</span></button></li><li><button type="button"><span>ㆃ</span></button></li><li><button type="button"><span>ㆄ</span></button></li><li><button type="button"><span>ㆅ</span></button></li><li><button type="button"><span>ㆆ</span></button></li><li><button type="button"><span>ㆇ</span></button></li><li><button type="button"><span>ㆈ</span></button></li><li><button type="button"><span>ㆉ</span></button></li><li><button type="button"><span>ㆊ</span></button></li><li><button type="button"><span>ㆋ</span></button></li><li><button type="button"><span>ㆌ</span></button></li><li><button type="button"><span>ㆍ</span></button></li><li><button type="button"><span>ㆎ</span></button></li> -->
+													</ul>
+												</div>
+											</li>
+											<li><button type="button" title="그리스,라틴어"
+													class="se2_char5"><span>그리스,라틴어</span></button>
+												<div class="se2_s_character">
+													<ul class="husky_se2m_sCharacter_list">
+														<li></li>
+														<!-- 그리스,라틴어 목록 -->
+														<!-- <li><button type="button"><span>Α</span></button></li><li><button type="button"><span>Β</span></button></li><li><button type="button"><span>Γ</span></button></li><li><button type="button"><span>Δ</span></button></li><li><button type="button"><span>Ε</span></button></li><li><button type="button"><span>Ζ</span></button></li><li><button type="button"><span>Η</span></button></li><li><button type="button"><span>Θ</span></button></li><li><button type="button"><span>Ι</span></button></li><li><button type="button"><span>Κ</span></button></li><li><button type="button"><span>Λ</span></button></li><li><button type="button"><span>Μ</span></button></li><li><button type="button"><span>Ν</span></button></li><li><button type="button"><span>Ξ</span></button></li><li class="hover"><button type="button"><span>Ο</span></button></li><li><button type="button"><span>Π</span></button></li><li><button type="button"><span>Ρ</span></button></li><li><button type="button"><span>Σ</span></button></li><li><button type="button"><span>Τ</span></button></li><li><button type="button"><span>Υ</span></button></li><li><button type="button"><span>Φ</span></button></li><li><button type="button"><span>Χ</span></button></li><li><button type="button"><span>Ψ</span></button></li><li><button type="button"><span>Ω</span></button></li><li><button type="button"><span>α</span></button></li><li><button type="button"><span>β</span></button></li><li><button type="button"><span>γ</span></button></li><li><button type="button"><span>δ</span></button></li><li><button type="button"><span>ε</span></button></li><li><button type="button"><span>ζ</span></button></li><li><button type="button"><span>η</span></button></li><li><button type="button"><span>θ</span></button></li><li><button type="button"><span>ι</span></button></li><li><button type="button"><span>κ</span></button></li><li><button type="button"><span>λ</span></button></li><li><button type="button"><span>μ</span></button></li><li><button type="button"><span>ν</span></button></li><li><button type="button"><span>ξ</span></button></li><li><button type="button"><span>ο</span></button></li><li><button type="button"><span>π</span></button></li><li><button type="button"><span>ρ</span></button></li><li><button type="button"><span>σ</span></button></li><li><button type="button"><span>τ</span></button></li><li><button type="button"><span>υ</span></button></li><li><button type="button"><span>φ</span></button></li><li><button type="button"><span>χ</span></button></li><li><button type="button"><span>ψ</span></button></li><li><button type="button"><span>ω</span></button></li><li><button type="button"><span>Æ</span></button></li><li><button type="button"><span>Ð</span></button></li><li><button type="button"><span>Ħ</span></button></li><li><button type="button"><span>IJ</span></button></li><li><button type="button"><span>Ŀ</span></button></li><li><button type="button"><span>Ł</span></button></li><li><button type="button"><span>Ø</span></button></li><li><button type="button"><span>Œ</span></button></li><li><button type="button"><span>Þ</span></button></li><li><button type="button"><span>Ŧ</span></button></li><li><button type="button"><span>Ŋ</span></button></li><li><button type="button"><span>æ</span></button></li><li><button type="button"><span>đ</span></button></li><li><button type="button"><span>ð</span></button></li><li><button type="button"><span>ħ</span></button></li><li><button type="button"><span>I</span></button></li><li><button type="button"><span>ij</span></button></li><li><button type="button"><span>ĸ</span></button></li><li><button type="button"><span>ŀ</span></button></li><li><button type="button"><span>ł</span></button></li><li><button type="button"><span>ł</span></button></li><li><button type="button"><span>œ</span></button></li><li><button type="button"><span>ß</span></button></li><li><button type="button"><span>þ</span></button></li><li><button type="button"><span>ŧ</span></button></li><li><button type="button"><span>ŋ</span></button></li><li><button type="button"><span>ʼn</span></button></li><li><button type="button"><span>Б</span></button></li><li><button type="button"><span>Г</span></button></li><li><button type="button"><span>Д</span></button></li><li><button type="button"><span>Ё</span></button></li><li><button type="button"><span>Ж</span></button></li><li><button type="button"><span>З</span></button></li><li><button type="button"><span>И</span></button></li><li><button type="button"><span>Й</span></button></li><li><button type="button"><span>Л</span></button></li><li><button type="button"><span>П</span></button></li><li><button type="button"><span>Ц</span></button></li><li><button type="button"><span>Ч</span></button></li><li><button type="button"><span>Ш</span></button></li><li><button type="button"><span>Щ</span></button></li><li><button type="button"><span>Ъ</span></button></li><li><button type="button"><span>Ы</span></button></li><li><button type="button"><span>Ь</span></button></li><li><button type="button"><span>Э</span></button></li><li><button type="button"><span>Ю</span></button></li><li><button type="button"><span>Я</span></button></li><li><button type="button"><span>б</span></button></li><li><button type="button"><span>в</span></button></li><li><button type="button"><span>г</span></button></li><li><button type="button"><span>д</span></button></li><li><button type="button"><span>ё</span></button></li><li><button type="button"><span>ж</span></button></li><li><button type="button"><span>з</span></button></li><li><button type="button"><span>и</span></button></li><li><button type="button"><span>й</span></button></li><li><button type="button"><span>л</span></button></li><li><button type="button"><span>п</span></button></li><li><button type="button"><span>ф</span></button></li><li><button type="button"><span>ц</span></button></li><li><button type="button"><span>ч</span></button></li><li><button type="button"><span>ш</span></button></li><li><button type="button"><span>щ</span></button></li><li><button type="button"><span>ъ</span></button></li><li><button type="button"><span>ы</span></button></li><li><button type="button"><span>ь</span></button></li><li><button type="button"><span>э</span></button></li><li><button type="button"><span>ю</span></button></li><li><button type="button"><span>я</span></button></li> -->
+													</ul>
+												</div>
+											</li>
+											<li><button type="button" title="일본어"
+													class="se2_char6"><span>일본어</span></button>
+												<div class="se2_s_character">
+													<ul class="husky_se2m_sCharacter_list">
+														<li></li>
+														<!-- 일본어 목록 -->
+														<!-- <li><button type="button"><span>ぁ</span></button></li><li class="hover"><button type="button"><span>あ</span></button></li><li><button type="button"><span>ぃ</span></button></li><li><button type="button"><span>い</span></button></li><li><button type="button"><span>ぅ</span></button></li><li><button type="button"><span>う</span></button></li><li><button type="button"><span>ぇ</span></button></li><li><button type="button"><span>え</span></button></li><li><button type="button"><span>ぉ</span></button></li><li><button type="button"><span>お</span></button></li><li><button type="button"><span>か</span></button></li><li><button type="button"><span>が</span></button></li><li><button type="button"><span>き</span></button></li><li><button type="button"><span>ぎ</span></button></li><li><button type="button"><span>く</span></button></li><li><button type="button"><span>ぐ</span></button></li><li><button type="button"><span>け</span></button></li><li><button type="button"><span>げ</span></button></li><li><button type="button"><span>こ</span></button></li><li><button type="button"><span>ご</span></button></li><li><button type="button"><span>さ</span></button></li><li><button type="button"><span>ざ</span></button></li><li><button type="button"><span>し</span></button></li><li><button type="button"><span>じ</span></button></li><li><button type="button"><span>す</span></button></li><li><button type="button"><span>ず</span></button></li><li><button type="button"><span>せ</span></button></li><li><button type="button"><span>ぜ</span></button></li><li><button type="button"><span>そ</span></button></li><li><button type="button"><span>ぞ</span></button></li><li><button type="button"><span>た</span></button></li><li><button type="button"><span>だ</span></button></li><li><button type="button"><span>ち</span></button></li><li><button type="button"><span>ぢ</span></button></li><li><button type="button"><span>っ</span></button></li><li><button type="button"><span>つ</span></button></li><li><button type="button"><span>づ</span></button></li><li><button type="button"><span>て</span></button></li><li><button type="button"><span>で</span></button></li><li><button type="button"><span>と</span></button></li><li><button type="button"><span>ど</span></button></li><li><button type="button"><span>な</span></button></li><li><button type="button"><span>に</span></button></li><li><button type="button"><span>ぬ</span></button></li><li><button type="button"><span>ね</span></button></li><li><button type="button"><span>の</span></button></li><li><button type="button"><span>は</span></button></li><li><button type="button"><span>ば</span></button></li><li><button type="button"><span>ぱ</span></button></li><li><button type="button"><span>ひ</span></button></li><li><button type="button"><span>び</span></button></li><li><button type="button"><span>ぴ</span></button></li><li><button type="button"><span>ふ</span></button></li><li><button type="button"><span>ぶ</span></button></li><li><button type="button"><span>ぷ</span></button></li><li><button type="button"><span>へ</span></button></li><li><button type="button"><span>べ</span></button></li><li><button type="button"><span>ぺ</span></button></li><li><button type="button"><span>ほ</span></button></li><li><button type="button"><span>ぼ</span></button></li><li><button type="button"><span>ぽ</span></button></li><li><button type="button"><span>ま</span></button></li><li><button type="button"><span>み</span></button></li><li><button type="button"><span>む</span></button></li><li><button type="button"><span>め</span></button></li><li><button type="button"><span>も</span></button></li><li><button type="button"><span>ゃ</span></button></li><li><button type="button"><span>や</span></button></li><li><button type="button"><span>ゅ</span></button></li><li><button type="button"><span>ゆ</span></button></li><li><button type="button"><span>ょ</span></button></li><li><button type="button"><span>よ</span></button></li><li><button type="button"><span>ら</span></button></li><li><button type="button"><span>り</span></button></li><li><button type="button"><span>る</span></button></li><li><button type="button"><span>れ</span></button></li><li><button type="button"><span>ろ</span></button></li><li><button type="button"><span>ゎ</span></button></li><li><button type="button"><span>わ</span></button></li><li><button type="button"><span>ゐ</span></button></li><li><button type="button"><span>ゑ</span></button></li><li><button type="button"><span>を</span></button></li><li><button type="button"><span>ん</span></button></li><li><button type="button"><span>ァ</span></button></li><li><button type="button"><span>ア</span></button></li><li><button type="button"><span>ィ</span></button></li><li><button type="button"><span>イ</span></button></li><li><button type="button"><span>ゥ</span></button></li><li><button type="button"><span>ウ</span></button></li><li><button type="button"><span>ェ</span></button></li><li><button type="button"><span>エ</span></button></li><li><button type="button"><span>ォ</span></button></li><li><button type="button"><span>オ</span></button></li><li><button type="button"><span>カ</span></button></li><li><button type="button"><span>ガ</span></button></li><li><button type="button"><span>キ</span></button></li><li><button type="button"><span>ギ</span></button></li><li><button type="button"><span>ク</span></button></li><li><button type="button"><span>グ</span></button></li><li><button type="button"><span>ケ</span></button></li><li><button type="button"><span>ゲ</span></button></li><li><button type="button"><span>コ</span></button></li><li><button type="button"><span>ゴ</span></button></li><li><button type="button"><span>サ</span></button></li><li><button type="button"><span>ザ</span></button></li><li><button type="button"><span>シ</span></button></li><li><button type="button"><span>ジ</span></button></li><li><button type="button"><span>ス</span></button></li><li><button type="button"><span>ズ</span></button></li><li><button type="button"><span>セ</span></button></li><li><button type="button"><span>ゼ</span></button></li><li><button type="button"><span>ソ</span></button></li><li><button type="button"><span>ゾ</span></button></li><li><button type="button"><span>タ</span></button></li><li><button type="button"><span>ダ</span></button></li><li><button type="button"><span>チ</span></button></li><li><button type="button"><span>ヂ</span></button></li><li><button type="button"><span>ッ</span></button></li><li><button type="button"><span>ツ</span></button></li><li><button type="button"><span>ヅ</span></button></li><li><button type="button"><span>テ</span></button></li><li><button type="button"><span>デ</span></button></li><li><button type="button"><span>ト</span></button></li><li><button type="button"><span>ド</span></button></li><li><button type="button"><span>ナ</span></button></li><li><button type="button"><span>ニ</span></button></li><li><button type="button"><span>ヌ</span></button></li><li><button type="button"><span>ネ</span></button></li><li><button type="button"><span>ノ</span></button></li><li><button type="button"><span>ハ</span></button></li><li><button type="button"><span>バ</span></button></li><li><button type="button"><span>パ</span></button></li><li><button type="button"><span>ヒ</span></button></li><li><button type="button"><span>ビ</span></button></li><li><button type="button"><span>ピ</span></button></li><li><button type="button"><span>フ</span></button></li><li><button type="button"><span>ブ</span></button></li><li><button type="button"><span>プ</span></button></li><li><button type="button"><span>ヘ</span></button></li><li><button type="button"><span>ベ</span></button></li><li><button type="button"><span>ペ</span></button></li><li><button type="button"><span>ホ</span></button></li><li><button type="button"><span>ボ</span></button></li><li><button type="button"><span>ポ</span></button></li><li><button type="button"><span>マ</span></button></li><li><button type="button"><span>ミ</span></button></li><li><button type="button"><span>ム</span></button></li><li><button type="button"><span>メ</span></button></li><li><button type="button"><span>モ</span></button></li><li><button type="button"><span>ャ</span></button></li><li><button type="button"><span>ヤ</span></button></li><li><button type="button"><span>ュ</span></button></li><li><button type="button"><span>ユ</span></button></li><li><button type="button"><span>ョ</span></button></li><li><button type="button"><span>ヨ</span></button></li><li><button type="button"><span>ラ</span></button></li><li><button type="button"><span>リ</span></button></li><li><button type="button"><span>ル</span></button></li><li><button type="button"><span>レ</span></button></li><li><button type="button"><span>ロ</span></button></li><li><button type="button"><span>ヮ</span></button></li><li><button type="button"><span>ワ</span></button></li><li><button type="button"><span>ヰ</span></button></li><li><button type="button"><span>ヱ</span></button></li><li><button type="button"><span>ヲ</span></button></li><li><button type="button"><span>ン</span></button></li><li><button type="button"><span>ヴ</span></button></li><li><button type="button"><span>ヵ</span></button></li><li><button type="button"><span>ヶ</span></button></li> -->
+													</ul>
+												</div>
+											</li>
+										</ul>
+										<p class="se2_apply_character">
+											<label for="char_preview">선택한 기호</label> <input type="text"
+												name="char_preview" id="char_preview" value="®º⊆●○"
+												class="input_ty1"><button type="button"
+												class="se2_confirm"><span>적용</span></button><button type="button"
+												class="se2_cancel husky_se2m_sCharacter_close"><span>취소</span></button>
+										</p>
+									</div>
+								</div>
+							</div>
+							<!-- //특수기호 -->
+						</li>
+
+						<li class="husky_seditor_ui_table"><button type="button" title="표" class="se2_table"><span
+									class="_buttonRound">표</span></button>
+							<!--@lazyload_html create_table-->
+							<!-- 표 -->
+							<div class="se2_layer husky_se2m_table_layer" style="margin-left:-171px">
+								<div class="se2_in_layer">
+									<div class="se2_table_set">
+										<fieldset>
+											<legend>칸수 지정</legend>
+											<dl class="se2_cell_num">
+												<dt><label for="row">행</label></dt>
+												<dd><input id="row" name="" type="text" maxlength="2" value="4"
+														class="input_ty2">
+													<button type="button" class="se2_add"><span>1행추가</span></button>
+													<button type="button" class="se2_del"><span>1행삭제</span></button>
+												</dd>
+												<dt><label for="col">열</label></dt>
+												<dd><input id="col" name="" type="text" maxlength="2" value="4"
+														class="input_ty2">
+													<button type="button" class="se2_add"><span>1열추가</span></button>
+													<button type="button" class="se2_del"><span>1열삭제</span></button>
+												</dd>
+											</dl>
+											<table border="0" cellspacing="1"
+												class="se2_pre_table husky_se2m_table_preview">
+												<tr>
+													<td>&nbsp;</td>
+													<td>&nbsp;</td>
+													<td>&nbsp;</td>
+													<td>&nbsp;</td>
+												</tr>
+												<tr>
+													<td>&nbsp;</td>
+													<td>&nbsp;</td>
+													<td>&nbsp;</td>
+													<td>&nbsp;</td>
+												</tr>
+												<tr>
+													<td>&nbsp;</td>
+													<td>&nbsp;</td>
+													<td>&nbsp;</td>
+													<td>&nbsp;</td>
+												</tr>
+											</table>
+										</fieldset>
+										<fieldset>
+											<legend>속성직접입력</legend>
+											<dl class="se2_t_proper1">
+												<dt><input type="radio" id="se2_tbp1" name="se2_tbp" checked><label
+														for="se2_tbp1">속성직접입력</label></dt>
+												<dd>
+													<dl class="se2_t_proper1_1">
+														<dt><label>표스타일</label></dt>
+														<dd>
+															<div class="se2_select_ty1"><span
+																	class="se2_b_style3 husky_se2m_table_border_style_preview"></span><button
+																	type="button" title="더보기"
+																	class="se2_view_more"><span>더보기</span></button>
+															</div>
+															<!-- 레이어 : 테두리스타일 -->
+															<div class="se2_layer_b_style husky_se2m_table_border_style_layer"
+																style="display:none">
+																<ul>
+																	<li><button type="button" class="se2_b_style1"><span
+																				class="se2m_no_border">테두리없음</span></button>
+																	</li>
+																	<li><button type="button"
+																			class="se2_b_style2"><span><span>테두리스타일2</span></span></button>
+																	</li>
+																	<li><button type="button"
+																			class="se2_b_style3"><span><span>테두리스타일3</span></span></button>
+																	</li>
+																	<li><button type="button"
+																			class="se2_b_style4"><span><span>테두리스타일4</span></span></button>
+																	</li>
+																	<li><button type="button"
+																			class="se2_b_style5"><span><span>테두리스타일5</span></span></button>
+																	</li>
+																	<li><button type="button"
+																			class="se2_b_style6"><span><span>테두리스타일6</span></span></button>
+																	</li>
+																	<li><button type="button"
+																			class="se2_b_style7"><span><span>테두리스타일7</span></span></button>
+																	</li>
+																</ul>
+															</div>
+															<!-- //레이어 : 테두리스타일 -->
+														</dd>
+													</dl>
+													<dl class="se2_t_proper1_1 se2_t_proper1_2">
+														<dt><label for="se2_b_width">테두리두께</label></dt>
+														<dd><input id="se2_b_width" name="" type="text" maxlength="2"
+																value="1" class="input_ty1">
+															<button type="button" title="1px 더하기"
+																class="se2_add se2m_incBorder"><span>1px
+																	더하기</span></button>
+															<button type="button" title="1px 빼기"
+																class="se2_del se2m_decBorder"><span>1px
+																	빼기</span></button>
+														</dd>
+													</dl>
+													<dl class="se2_t_proper1_1 se2_t_proper1_3">
+														<dt><label for="se2_b_color">테두리색</label></dt>
+														<dd><input id="se2_b_color" name="" type="text" maxlength="7"
+																value="#cccccc" class="input_ty3"><span
+																class="se2_pre_color"><button type="button"
+																	style="background:#cccccc;"><span>색찾기</span></button></span>
+															<!-- 레이어 : 테두리색 -->
+															<div class="se2_layer se2_b_t_b1"
+																style="clear:both;display:none;position:absolute;top:20px;left:-147px;">
+																<div
+																	class="se2_in_layer husky_se2m_table_border_color_pallet">
+																</div>
+															</div>
+															<!-- //레이어 : 테두리색-->
+														</dd>
+													</dl>
+													<div class="se2_t_dim0"></div><!-- 테두리 없음일때 딤드레이어 -->
+													<dl class="se2_t_proper1_1 se2_t_proper1_4">
+														<dt><label for="se2_cellbg">셀 배경색</label></dt>
+														<dd><input id="se2_cellbg" name="" type="text" maxlength="7"
+																value="#ffffff" class="input_ty3"><span
+																class="se2_pre_color"><button type="button"
+																	style="background:#ffffff;"><span>색찾기</span></button></span>
+															<!-- 레이어 : 셀배경색 -->
+															<div class="se2_layer se2_b_t_b1"
+																style="clear:both;display:none;position:absolute;top:20px;left:-147px;">
+																<div
+																	class="se2_in_layer husky_se2m_table_bgcolor_pallet">
+																</div>
+															</div>
+															<!-- //레이어 : 셀배경색-->
+														</dd>
+													</dl>
+												</dd>
+											</dl>
+										</fieldset>
+										<fieldset>
+											<legend>표스타일</legend>
+											<dl class="se2_t_proper2">
+												<dt><input type="radio" id="se2_tbp2" name="se2_tbp"><label
+														for="se2_tbp2">스타일 선택</label></dt>
+												<dd>
+													<div class="se2_select_ty2"><span
+															class="se2_t_style1 husky_se2m_table_style_preview"></span><button
+															type="button" title="더보기"
+															class="se2_view_more"><span>더보기</span></button></div>
+													<!-- 레이어 : 표템플릿선택 -->
+													<div class="se2_layer_t_style husky_se2m_table_style_layer"
+														style="display:none">
+														<ul class="se2_scroll">
+															<li><button type="button"
+																	class="se2_t_style1"><span>표스타일1</span></button>
+															</li>
+															<li><button type="button"
+																	class="se2_t_style2"><span>표스타일2</span></button>
+															</li>
+															<li><button type="button"
+																	class="se2_t_style3"><span>표스타일3</span></button>
+															</li>
+															<li><button type="button"
+																	class="se2_t_style4"><span>표스타일4</span></button>
+															</li>
+															<li><button type="button"
+																	class="se2_t_style5"><span>표스타일5</span></button>
+															</li>
+															<li><button type="button"
+																	class="se2_t_style6"><span>표스타일6</span></button>
+															</li>
+															<li><button type="button"
+																	class="se2_t_style7"><span>표스타일7</span></button>
+															</li>
+															<li><button type="button"
+																	class="se2_t_style8"><span>표스타일8</span></button>
+															</li>
+															<li><button type="button"
+																	class="se2_t_style9"><span>표스타일9</span></button>
+															</li>
+															<li><button type="button"
+																	class="se2_t_style10"><span>표스타일10</span></button>
+															</li>
+															<li><button type="button"
+																	class="se2_t_style11"><span>표스타일11</span></button>
+															</li>
+															<li><button type="button"
+																	class="se2_t_style12"><span>표스타일12</span></button>
+															</li>
+															<li><button type="button"
+																	class="se2_t_style13"><span>표스타일13</span></button>
+															</li>
+															<li><button type="button"
+																	class="se2_t_style14"><span>표스타일14</span></button>
+															</li>
+															<li><button type="button"
+																	class="se2_t_style15"><span>표스타일15</span></button>
+															</li>
+															<li><button type="button"
+																	class="se2_t_style16"><span>표스타일16</span></button>
+															</li>
+														</ul>
+													</div>
+													<!-- //레이어 : 표템플릿선택 -->
+												</dd>
+											</dl>
+										</fieldset>
+										<p class="se2_btn_area">
+											<button type="button" class="se2_apply"><span>적용</span></button><button
+												type="button" class="se2_cancel"><span>취소</span></button>
+										</p>
+										<!-- 딤드레이어 -->
+										<div class="se2_t_dim3"></div>
+										<!-- //딤드레이어 -->
+									</div>
+								</div>
+							</div>
+							<!-- //표 -->
+							<!--//@lazyload_html-->
+						</li>
+
+						<li class="husky_seditor_ui_findAndReplace last_child"><button type="button" title="찾기/바꾸기"
+								class="se2_find"><span class="_buttonRound tool_bg">찾기/바꾸기</span></button>
+							<!--@lazyload_html find_and_replace-->
+							<!-- 찾기/바꾸기 -->
+							<div class="se2_layer husky_se2m_findAndReplace_layer" style="margin-left:-238px;">
+								<div class="se2_in_layer">
+									<div class="se2_bx_find_revise">
+										<button type="button" title="닫기"
+											class="se2_close husky_se2m_cancel"><span>닫기</span></button>
+										<h3>찾기/바꾸기</h3>
+										<ul>
+											<li class="active"><button type="button"
+													class="se2_tabfind"><span>찾기</span></button></li>
+											<li><button type="button" class="se2_tabrevise"><span>바꾸기</span></button>
+											</li>
+										</ul>
+										<div class="se2_in_bx_find husky_se2m_find_ui" style="display:block">
+											<dl>
+												<dt><label for="find_word">찾을 단어</label></dt>
+												<dd><input type="text" id="find_word" value="스마트에디터" class="input_ty1">
+												</dd>
+											</dl>
+											<p class="se2_find_btns">
+												<button type="button"
+													class="se2_find_next husky_se2m_find_next"><span>다음
+														찾기</span></button><button type="button"
+													class="se2_cancel husky_se2m_cancel"><span>취소</span></button>
+											</p>
+										</div>
+										<div class="se2_in_bx_revise husky_se2m_replace_ui" style="display:none">
+											<dl>
+												<dt><label for="find_word2">찾을 단어</label></dt>
+												<dd><input type="text" id="find_word2" value="스마트에디터" class="input_ty1">
+												</dd>
+												<dt><label for="revise_word">바꿀 단어</label></dt>
+												<dd><input type="text" id="revise_word" value="스마트에디터"
+														class="input_ty1"></dd>
+											</dl>
+											<p class="se2_find_btns">
+												<button type="button"
+													class="se2_find_next2 husky_se2m_replace_find_next"><span>다음
+														찾기</span></button><button type="button"
+													class="se2_revise1 husky_se2m_replace"><span>바꾸기</span></button><button
+													type="button" class="se2_revise2 husky_se2m_replace_all"><span>모두
+														바꾸기</span></button><button type="button"
+													class="se2_cancel husky_se2m_cancel"><span>취소</span></button>
+											</p>
+										</div>
+										<button type="button" title="닫기"
+											class="se2_close husky_se2m_cancel"><span>닫기</span></button>
+									</div>
+								</div>
+							</div>
+							<!-- //찾기/바꾸기 -->
+							<!--//@lazyload_html-->
+						</li>
+					</ul>
+				</div>
+				<!-- //704이상 -->
+			</div>
+
+			<!-- 접근성 도움말 레이어 -->
+			<div class="se2_layer se2_accessibility" style="display:none;">
+				<div class="se2_in_layer">
+					<button type="button" title="닫기" class="se2_close"><span>닫기</span></button>
+					<h3><strong>접근성 도움말</strong></h3>
+					<div class="box_help">
+						<div>
+							<strong>툴바</strong>
+							<p>ALT+F10 을 누르면 툴바로 이동합니다. 다음 버튼은 TAB 으로 이전 버튼은 SHIFT+TAB 으로 이동 가능합니다. ENTER 를 누르면 해당 버튼의
+								기능이 동작하고 글쓰기 영역으로 포커스가 이동합니다. ESC 를 누르면 아무런 기능을 실행하지 않고 글쓰기 영역으로 포커스가 이동합니다.</p>
+							<strong>빠져 나가기</strong>
+							<p>ALT+. 를 누르면 스마트 에디터 다음 요소로 ALT+, 를 누르면 스마트에디터 이전 요소로 빠져나갈 수 있습니다.</p>
+							<strong>명령어 단축키</strong>
+							<ul>
+								<li>CTRL+B <span>굵게</span></li>
+								<li>SHIFT+TAB <span>내어쓰기</span></li>
+								<li>CTRL+U <span>밑줄</span></li>
+								<li>CTRL+F <span>찾기</span></li>
+								<li>CTRL+I <span>기울임 글꼴</span></li>
+								<li>CTRL+H <span>바꾸기</span></li>
+								<li>CTRL+D <span>취소선</span></li>
+								<li>CTRL+K <span>링크걸기</span></li>
+								<li>TAB <span>들여쓰기</span></li>
+							</ul>
+						</div>
+					</div>
+					<div class="se2_btns">
+						<button type="button" class="se2_close2"><span>닫기</span></button>
+					</div>
+				</div>
+			</div>
+			<!-- //접근성 도움말 레이어 -->
+
+			<hr>
+			<!-- 입력 -->
+			<div class="se2_input_area husky_seditor_editing_area_container">
+
+
+				<iframe src="about:blank" id="se2_iframe" name="se2_iframe" class="se2_input_wysiwyg" width="400"
+					height="300" title="글쓰기 영역 : 도구 모음은 ALT+F10을, 도움말은 ALT+0을 누르세요." frameborder="0"
+					style="display:block;"></iframe>
+				<textarea name="" rows="10" cols="100" title="HTML 편집 모드" id="custom_se2_input_htmlsrc_id"
+					class="se2_input_syntax se2_input_htmlsrc"
+					style="display:none;outline-style:none;resize:none"> </textarea>
+				<textarea name="" rows="10" cols="100" title="TEXT 편집 모드" id="custom_se2_input_text_id"
+					class="se2_input_syntax se2_input_text"
+					style="display:none;outline-style:none;resize:none;"> </textarea>
+
+				<!-- 입력창 조절 안내 레이어 -->
+				<div class="ly_controller husky_seditor_resize_notice" style="z-index:20;display:none;">
+					<p>아래 영역을 드래그하여 입력창 크기를 조절할 수 있습니다.</p>
+					<button type="button" title="닫기" class="bt_clse"><span>닫기</span></button>
+					<span class="ic_arr"></span>
+				</div>
+				<!-- //입력창 조절 안내 레이어 -->
+				<div class="quick_wrap">
+					<!-- 표/글양식 간단편집기 -->
+					<!--@lazyload_html qe_table-->
+					<div class="q_table_wrap" style="z-index: 150;">
+						<button class="_fold se2_qmax q_open_table_full"
+							style="position:absolute; display:none;top:340px;left:210px;z-index:30;" title="최대화"
+							type="button"><span>퀵에디터최대화</span></button>
+						<div class="_full se2_qeditor se2_table_set"
+							style="position:absolute;display:none;top:135px;left:661px;z-index:30;">
+							<div class="se2_qbar q_dragable"><span class="se2_qmini"><button title="최소화"
+										class="q_open_table_fold"><span>퀵에디터최소화</span></button></span></div>
+							<div class="se2_qbody0">
+								<div class="se2_qbody">
+									<dl class="se2_qe1">
+										<dt>삽입</dt>
+										<dd><button class="se2_addrow" title="행삽입"
+												type="button"><span>행삽입</span></button><button class="se2_addcol"
+												title="열삽입" type="button"><span>열삽입</span></button></dd>
+										<dt>분할</dt>
+										<dd><button class="se2_seprow" title="행분할"
+												type="button"><span>행분할</span></button><button class="se2_sepcol"
+												title="열분할" type="button"><span>열분할</span></button></dd>
+
+										<dt>삭제</dt>
+										<dd><button class="se2_delrow" title="행삭제"
+												type="button"><span>행삭제</span></button><button class="se2_delcol"
+												title="열삭제" type="button"><span>열삭제</span></button></dd>
+										<dt>병합</dt>
+										<dd><button class="se2_merrow" title="행병합"
+												type="button"><span>행병합</span></button></dd>
+									</dl>
+									<div class="se2_qe2 se2_qe2_3"> <!-- 테이블 퀵에디터의 경우만,  se2_qe2_3제거 -->
+										<!-- 샐배경색 -->
+										<dl class="se2_qe2_1">
+
+											<dt><input type="radio" checked="checked" name="se2_tbp3" id="se2_cellbg2"
+													class="husky_se2m_radio_bgc"><label for="se2_cellbg2">셀 배경색</label>
+											</dt>
+											<dd><span class="se2_pre_color"><button
+														style="background: none repeat scroll 0% 0% rgb(255, 255, 255);"
+														type="button"
+														class="husky_se2m_table_qe_bgcolor_btn"><span>색찾기</span></button></span>
+												<!-- layer:셀배경색 -->
+												<div style="display:none;position:absolute;top:20px;left:0px;"
+													class="se2_layer se2_b_t_b1">
+													<div class="se2_in_layer husky_se2m_tbl_qe_bg_paletteHolder">
+													</div>
+												</div>
+												<!-- //layer:셀배경색-->
+
+											</dd>
+										</dl>
+										<!-- //샐배경색 -->
+										<!-- 배경이미지선택 -->
+										<dl style="display: none;" class="se2_qe2_2 husky_se2m_tbl_qe_review_bg">
+											<dt><input type="radio" name="se2_tbp3" id="se2_cellbg3"
+													class="husky_se2m_radio_bgimg"><label for="se2_cellbg3">이미지</label>
+											</dt>
+											<dd><span class="se2_pre_bgimg"><button
+														class="husky_se2m_table_qe_bgimage_btn se2_cellimg0"
+														type="button"><span>배경이미지선택</span></button></span>
+												<!-- layer:배경이미지선택 -->
+												<div style="display:none;position:absolute;top:20px;left:-155px;"
+													class="se2_layer se2_b_t_b1">
+													<div class="se2_in_layer husky_se2m_tbl_qe_bg_img_paletteHolder">
+														<ul class="se2_cellimg_set">
+															<li><button class="se2_cellimg0"
+																	type="button"><span>배경없음</span></button></li>
+															<li><button class="se2_cellimg1"
+																	type="button"><span>배경1</span></button></li>
+															<li><button class="se2_cellimg2"
+																	type="button"><span>배경2</span></button></li>
+															<li><button class="se2_cellimg3"
+																	type="button"><span>배경3</span></button></li>
+															<li><button class="se2_cellimg4"
+																	type="button"><span>배경4</span></button></li>
+															<li><button class="se2_cellimg5"
+																	type="button"><span>배경5</span></button></li>
+															<li><button class="se2_cellimg6"
+																	type="button"><span>배경6</span></button></li>
+															<li><button class="se2_cellimg7"
+																	type="button"><span>배경7</span></button></li>
+															<li><button class="se2_cellimg8"
+																	type="button"><span>배경8</span></button></li>
+															<li><button class="se2_cellimg9"
+																	type="button"><span>배경9</span></button></li>
+															<li><button class="se2_cellimg10"
+																	type="button"><span>배경10</span></button></li>
+															<li><button class="se2_cellimg11"
+																	type="button"><span>배경11</span></button></li>
+															<li><button class="se2_cellimg12"
+																	type="button"><span>배경12</span></button></li>
+															<li><button class="se2_cellimg13"
+																	type="button"><span>배경13</span></button></li>
+															<li><button class="se2_cellimg14"
+																	type="button"><span>배경14</span></button></li>
+															<li><button class="se2_cellimg15"
+																	type="button"><span>배경15</span></button></li>
+															<li><button class="se2_cellimg16"
+																	type="button"><span>배경16</span></button></li>
+															<li><button class="se2_cellimg17"
+																	type="button"><span>배경17</span></button></li>
+															<li><button class="se2_cellimg18"
+																	type="button"><span>배경18</span></button></li>
+															<li><button class="se2_cellimg19"
+																	type="button"><span>배경19</span></button></li>
+															<li><button class="se2_cellimg20"
+																	type="button"><span>배경20</span></button></li>
+															<li><button class="se2_cellimg21"
+																	type="button"><span>배경21</span></button></li>
+															<li><button class="se2_cellimg22"
+																	type="button"><span>배경22</span></button></li>
+															<li><button class="se2_cellimg23"
+																	type="button"><span>배경23</span></button></li>
+															<li><button class="se2_cellimg24"
+																	type="button"><span>배경24</span></button></li>
+															<li><button class="se2_cellimg25"
+																	type="button"><span>배경25</span></button></li>
+															<li><button class="se2_cellimg26"
+																	type="button"><span>배경26</span></button></li>
+															<li><button class="se2_cellimg27"
+																	type="button"><span>배경27</span></button></li>
+															<li><button class="se2_cellimg28"
+																	type="button"><span>배경28</span></button></li>
+															<li><button class="se2_cellimg29"
+																	type="button"><span>배경29</span></button></li>
+															<li><button class="se2_cellimg30"
+																	type="button"><span>배경30</span></button></li>
+															<li><button class="se2_cellimg31"
+																	type="button"><span>배경31</span></button></li>
+														</ul>
+													</div>
+												</div>
+												<!-- //layer:배경이미지선택-->
+											</dd>
+										</dl>
+										<!-- //배경이미지선택 -->
+									</div>
+									<dl style="display: block;" class="se2_qe3 se2_t_proper2">
+										<dt><input type="radio" name="se2_tbp3" id="se2_tbp4"
+												class="husky_se2m_radio_template"><label for="se2_tbp4">표 스타일</label>
+										</dt>
+										<dd>
+											<div class="se2_qe3_table">
+												<div class="se2_select_ty2"><span class="se2_t_style1"></span><button
+														class="se2_view_more husky_se2m_template_more" title="더보기"
+														type="button"><span>더보기</span></button></div>
+												<!-- layer:표스타일 -->
+												<div style="display:none;top:33px;left:0;margin:0;"
+													class="se2_layer_t_style">
+													<ul>
+														<li><button class="se2_t_style1" type="button"><span>표
+																	스타일1</span></button></li>
+														<li><button class="se2_t_style2" type="button"><span>표
+																	스타일2</span></button></li>
+														<li><button class="se2_t_style3" type="button"><span>표
+																	스타일3</span></button></li>
+														<li><button class="se2_t_style4" type="button"><span>표
+																	스타일4</span></button></li>
+														<li><button class="se2_t_style5" type="button"><span>표
+																	스타일5</span></button></li>
+														<li><button class="se2_t_style6" type="button"><span>표
+																	스타일6</span></button></li>
+														<li><button class="se2_t_style7" type="button"><span>표
+																	스타일7</span></button></li>
+														<li><button class="se2_t_style8" type="button"><span>표
+																	스타일8</span></button></li>
+														<li><button class="se2_t_style9" type="button"><span>표
+																	스타일9</span></button></li>
+														<li><button class="se2_t_style10" type="button"><span>표
+																	스타일10</span></button></li>
+														<li><button class="se2_t_style11" type="button"><span>표
+																	스타일11</span></button></li>
+														<li><button class="se2_t_style12" type="button"><span>표
+																	스타일12</span></button></li>
+														<li><button class="se2_t_style13" type="button"><span>표
+																	스타일13</span></button></li>
+														<li><button class="se2_t_style14" type="button"><span>표
+																	스타일14</span></button></li>
+														<li><button class="se2_t_style15" type="button"><span>표
+																	스타일15</span></button></li>
+														<li><button class="se2_t_style16" type="button"><span>표
+																	스타일16</span></button></li>
+													</ul>
+												</div>
+												<!-- //layer:표스타일 -->
+											</div>
+										</dd>
+									</dl>
+									<div style="display:none" class="se2_btn_area">
+										<button class="se2_btn_save" type="button"><span>My 리뷰저장</span></button>
+									</div>
+									<div class="se2_qdim0 husky_se2m_tbl_qe_dim1"></div>
+									<div class="se2_qdim4 husky_se2m_tbl_qe_dim2"></div>
+									<div class="se2_qdim6c husky_se2m_tbl_qe_dim_del_col"></div>
+									<div class="se2_qdim6r husky_se2m_tbl_qe_dim_del_row"></div>
+								</div>
+							</div>
+						</div>
+					</div>
+					<!--//@lazyload_html-->
+					<!-- //표/글양식 간단편집기 -->
+					<!-- 이미지 간단편집기 -->
+					<!--@lazyload_html qe_image-->
+					<div class="q_img_wrap">
+						<button class="_fold se2_qmax q_open_img_full"
+							style="position:absolute;display:none;top:240px;left:210px;z-index:30;" title="최대화"
+							type="button"><span>퀵에디터최대화</span></button>
+						<div class="_full se2_qeditor se2_table_set"
+							style="position:absolute;display:none;top:140px;left:450px;z-index:30;">
+							<div class="se2_qbar  q_dragable"><span class="se2_qmini"><button title="최소화"
+										class="q_open_img_fold"><span>퀵에디터최소화</span></button></span></div>
+							<div class="se2_qbody0">
+								<div class="se2_qbody">
+									<div class="se2_qe10">
+										<label for="se2_swidth">가로</label><input type="text" class="input_ty1 widthimg"
+											name="" id="se2_swidth" value="1024"><label class="se2_sheight"
+											for="se2_sheight">세로</label><input type="text" class="input_ty1 heightimg"
+											name="" id="se2_sheight" value="768"><button class="se2_sreset"
+											type="button"><span>초기화</span></button>
+										<div class="se2_qe10_1"><input type="checkbox" name="" class="se2_srate"
+												id="se2_srate"><label for="se2_srate">가로 세로 비율 유지</label></div>
+									</div>
+									<div class="se2_qe11">
+										<dl class="se2_qe11_1">
+											<dt><label for="se2_b_width2">테두리두께</label></dt>
+											<dd class="se2_numberStepper"><input type="text"
+													class="input_ty1 input bordersize" value="1" maxlength="2" name=""
+													id="se2_b_width2" readonly="readonly">
+												<button class="se2_add plus" type="button"><span>1px 더하기</span></button>
+												<button class="se2_del minus" type="button"><span>1px 빼기</span></button>
+											</dd>
+										</dl>
+
+										<dl class="se2_qe11_2">
+											<dt>테두리 색</dt>
+											<dd><span class="se2_pre_color"><button style="background:#000000;"
+														type="button"
+														class="husky_se2m_img_qe_bgcolor_btn"><span>색찾기</span></button></span>
+												<!-- layer:테두리 색 -->
+												<div style="display:none;position:absolute;top:20px;left:-209px;"
+													class="se2_layer se2_b_t_b1">
+													<div class="se2_in_layer husky_se2m_img_qe_bg_paletteHolder">
+													</div>
+												</div>
+												<!-- //layer:테두리 색 -->
+											</dd>
+										</dl>
+									</div>
+									<dl class="se2_qe12">
+										<dt>정렬</dt>
+										<dd><button title="정렬없음" class="se2_align0"
+												type="button"><span>정렬없음</span></button><button title="좌측정렬"
+												class="se2_align1 left" type="button"><span>좌측정렬</span></button><button
+												title="우측정렬" class="se2_align2 right"
+												type="button"><span>우측정렬</span></button>
+										</dd>
+									</dl>
+									<button class="se2_highedit" type="button"><span>고급편집</span></button>
+									<div class="se2_qdim0"></div>
+								</div>
+							</div>
+						</div>
+					</div>
+					<!--//@lazyload_html-->
+					<!-- 이미지 간단편집기 -->
+				</div>
+			</div>
+			<!-- //입력 -->
+			<!-- 입력창조절/ 모드전환 -->
+			<div class="se2_conversion_mode">
+				<button type="button" class="se2_inputarea_controller husky_seditor_editingArea_verticalResizer"
+					title="입력창 크기 조절"><span>입력창 크기 조절</span></button>
+				<ul class="se2_converter">
+					<li class="active"><button type="button" class="se2_to_editor"><span>Editor</span></button></li>
+					<li><button type="button" class="se2_to_html"><span>HTML</span></button></li>
+					<li><button type="button" class="se2_to_text"><span>TEXT</span></button></li>
+				</ul>
+			</div>
+			<!-- //입력창조절/ 모드전환 -->
+			<hr>
+			<!-- 얼럿 메세지 공통 -->
+			<div class="se2_alert_wrap" style="display:none">
+				<div class="se2_alert_content">
+					<div class="se2_alert_txts"></div>
+					<p class="se2_alert_btns">
+						<button type="button" class="se2_confirm"><span>확인</span></button><button type="button"
+							class="se2_cancel"><span>취소</span></button>
+					</p>
+					<a href="#" class="btn_close">닫기</a>
+				</div>
+				<!-- 레이어 중앙정렬 -->
+				<span class="va_line"></span>
+				<div class="ie_cover"></div>
+			</div>
+			<!-- //얼럿 메세지 공통 -->
+		</div>
+	</div>
+	<!-- SE2 Markup End -->
+
+
+</body>
+
+</html>(파일 끝에 줄바꿈 문자 없음)
 
client/smarteditor2-2.8.2.3/SmartEditor2noframe.html (added)
+++ client/smarteditor2-2.8.2.3/SmartEditor2noframe.html
@@ -0,0 +1,850 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="ko">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta http-equiv="Content-Script-Type" content="text/javascript">
+<meta http-equiv="Content-Style-Type" content="text/css">
+<title>네이버 :: Smart Editor 2 &#8482;</title>
+<link href="css/ko_KR/smart_editor2.css" rel="stylesheet" type="text/css">
+<style type="text/css">
+	body { margin: 10px; }
+</style>
+<script type="text/javascript" src="./js/lib/jindo2.all.js" charset="utf-8"></script>
+<script type="text/javascript" src="./js/lib/jindo_component.js" charset="utf-8"></script>
+<script type="text/javascript" src="./js/service/SE2M_Configuration.js" charset="utf-8"></script>	<!-- 설정 파일 -->
+<script type="text/javascript" src="./js/service/SE2BasicCreator.js" charset="utf-8"></script>
+<script type="text/javascript" src="./js/smarteditor2.min.js" charset="utf-8"></script>
+
+</head>
+<body>
+
+
+
+<span id="rev">Version: 2.9.1.5caeebb </span>
+
+<!-- SE2 Markup Start -->	
+<div id="smart_editor2">
+	<div id="smart_editor2_content"><a href="#se2_iframe" class="blind">글쓰기영역으로 바로가기</a>
+		<div class="se2_tool" id="se2_tool">
+			
+			<div class="se2_text_tool husky_seditor_text_tool">
+			<ul class="se2_font_type">
+				<li class="husky_seditor_ui_fontName"><button type="button" class="se2_font_family" title="글꼴"><span class="husky_se2m_current_fontName">글꼴</span></button>
+					<!-- 글꼴 레이어 -->
+					<div class="se2_layer husky_se_fontName_layer">
+						<div class="se2_in_layer">
+							<ul class="se2_l_font_fam">
+							<li style="display:none"><button type="button"><span>@DisplayName@<span>(</span><em style="font-family:FontFamily;">@SampleText@</em><span>)</span></span></button></li>
+							<li class="se2_division husky_seditor_font_separator"></li>
+							<li><button type="button"><span>나눔고딕<span>(</span><em style="font-family:'나눔고딕',NanumGothic;">가나다라</em><span>)</span></span></button></li>
+							<li><button type="button"><span>나눔명조<span>(</span><em style="font-family:'나눔명조',NanumMyeongjo;">가나다라</em><span>)</span></span></button></li>
+							<li><button type="button"><span>나눔고딕코딩<span>(</span><em style="font-family:'나눔고딕코딩',NanumGothicCoding;">가나다라</em><span>)</span></span></button></li>
+							<li><button type="button"><span>나눔바른고딕<span>(</span><em style="font-family:'나눔바른고딕',NanumBarunGothic,NanumBarunGothicOTF;">가나다라</em><span>)</span></span></button></li>
+							<li><button type="button"><span>나눔바른펜<span>(</span><em style="font-family:'나눔바른펜',NanumBarunpen;">가나다라</em><span>)</span></span></button></li>
+							</ul>
+						</div>
+					</div>
+					<!-- //글꼴 레이어 -->
+				</li>
+
+				<li class="husky_seditor_ui_fontSize"><button type="button" class="se2_font_size" title="글자크기"><span class="husky_se2m_current_fontSize">크기</span></button>
+					<!-- 폰트 사이즈 레이어 -->
+					<div class="se2_layer husky_se_fontSize_layer">
+						<div class="se2_in_layer">
+							<ul class="se2_l_font_size">
+							<li><button type="button"><span style="margin-top:4px; margin-bottom:3px; margin-left:5px; font-size:7pt;">가나다라마바사<span style=" font-size:7pt;">(7pt)</span></span></button></li>
+							<li><button type="button"><span style="margin-bottom:2px; font-size:8pt;">가나다라마바사<span style="font-size:8pt;">(8pt)</span></span></button></li>
+							<li><button type="button"><span style="margin-bottom:1px; font-size:9pt;">가나다라마바사<span style="font-size:9pt;">(9pt)</span></span></button></li>
+							<li><button type="button"><span style="margin-bottom:1px; font-size:10pt;">가나다라마바사<span style="font-size:10pt;">(10pt)</span></span></button></li>
+							<li><button type="button"><span style="margin-bottom:2px; font-size:11pt;">가나다라마바사<span style="font-size:11pt;">(11pt)</span></span></button></li>
+							<li><button type="button"><span style="margin-bottom:1px; font-size:12pt;">가나다라마바사<span style="font-size:12pt;">(12pt)</span></span></button></li>
+							<li><button type="button"><span style="margin-bottom:2px; font-size:14pt;">가나다라마바사<span style="margin-left:6px;font-size:14pt;">(14pt)</span></span></button></li>
+							<li><button type="button"><span style="margin-bottom:1px; font-size:18pt;">가나다라마바사<span style="margin-left:8px;font-size:18pt;">(18pt)</span></span></button></li>
+							<li><button type="button"><span style="margin-left:3px; font-size:24pt;">가나다라마<span style="margin-left:11px;font-size:24pt;">(24pt)</span></span></button></li>
+							<li><button type="button"><span style="margin-top:-1px; margin-left:3px; font-size:36pt;">가나다<span style="font-size:36pt;">(36pt)</span></span></button></li>
+							</ul>
+						</div>
+					</div>
+					<!-- //폰트 사이즈 레이어 -->
+				</li>
+</ul><ul>
+				<li class="husky_seditor_ui_bold first_child"><button type="button" title="굵게[Ctrl+B]" class="se2_bold"><span class="_buttonRound tool_bg">굵게[Ctrl+B]</span></button></li>
+
+				<li class="husky_seditor_ui_underline"><button type="button" title="밑줄[Ctrl+U]" class="se2_underline"><span class="_buttonRound">밑줄[Ctrl+U]</span></button></li>
+
+				<li class="husky_seditor_ui_italic"><button type="button" title="기울임꼴[Ctrl+I]" class="se2_italic"><span class="_buttonRound">기울임꼴[Ctrl+I]</span></button></li>
+
+				<li class="husky_seditor_ui_lineThrough"><button type="button" title="취소선[Ctrl+D]" class="se2_tdel"><span class="_buttonRound">취소선[Ctrl+D]</span></button></li>
+
+				<li class="se2_pair husky_seditor_ui_fontColor"><span class="selected_color husky_se2m_fontColor_lastUsed" style="background-color:#4477f9"></span><span class="husky_seditor_ui_fontColorA"><button type="button" title="글자색" class="se2_fcolor"><span>글자색</span></button></span><span class="husky_seditor_ui_fontColorB"><button type="button" title="더보기" class="se2_fcolor_more"><span class="_buttonRound">더보기</span></button></span>				
+					<!-- 글자색 -->
+					<div class="se2_layer husky_se2m_fontcolor_layer" style="display:none">
+						<div class="se2_in_layer husky_se2m_fontcolor_paletteHolder">
+							<div class="se2_palette husky_se2m_color_palette">
+								<ul class="se2_pick_color">
+								<li><button type="button" title="#ff0000" style="background:#ff0000"><span><span>#ff0000</span></span></button></li>
+								<li><button type="button" title="#ff6c00" style="background:#ff6c00"><span><span>#ff6c00</span></span></button></li>
+								<li><button type="button" title="#ffaa00" style="background:#ffaa00"><span><span>#ffaa00</span></span></button></li>
+								<li><button type="button" title="#ffef00" style="background:#ffef00"><span><span>#ffef00</span></span></button></li>
+								<li><button type="button" title="#a6cf00" style="background:#a6cf00"><span><span>#a6cf00</span></span></button></li>
+								<li><button type="button" title="#009e25" style="background:#009e25"><span><span>#009e25</span></span></button></li>
+								<li><button type="button" title="#00b0a2" style="background:#00b0a2"><span><span>#00b0a2</span></span></button></li>
+								<li><button type="button" title="#0075c8" style="background:#0075c8"><span><span>#0075c8</span></span></button></li>
+								<li><button type="button" title="#3a32c3" style="background:#3a32c3"><span><span>#3a32c3</span></span></button></li>
+								<li><button type="button" title="#7820b9" style="background:#7820b9"><span><span>#7820b9</span></span></button></li>
+								<li><button type="button" title="#ef007c" style="background:#ef007c"><span><span>#ef007c</span></span></button></li>
+								<li><button type="button" title="#000000" style="background:#000000"><span><span>#000000</span></span></button></li>
+								<li><button type="button" title="#252525" style="background:#252525"><span><span>#252525</span></span></button></li>
+								<li><button type="button" title="#464646" style="background:#464646"><span><span>#464646</span></span></button></li>
+								<li><button type="button" title="#636363" style="background:#636363"><span><span>#636363</span></span></button></li>
+								<li><button type="button" title="#7d7d7d" style="background:#7d7d7d"><span><span>#7d7d7d</span></span></button></li>
+								<li><button type="button" title="#9a9a9a" style="background:#9a9a9a"><span><span>#9a9a9a</span></span></button></li>
+								<li><button type="button" title="#ffe8e8" style="background:#ffe8e8"><span><span>#9a9a9a</span></span></button></li>
+								<li><button type="button" title="#f7e2d2" style="background:#f7e2d2"><span><span>#f7e2d2</span></span></button></li>
+								<li><button type="button" title="#f5eddc" style="background:#f5eddc"><span><span>#f5eddc</span></span></button></li>
+								<li><button type="button" title="#f5f4e0" style="background:#f5f4e0"><span><span>#f5f4e0</span></span></button></li>
+								<li><button type="button" title="#edf2c2" style="background:#edf2c2"><span><span>#edf2c2</span></span></button></li>
+								<li><button type="button" title="#def7e5" style="background:#def7e5"><span><span>#def7e5</span></span></button></li>
+								<li><button type="button" title="#d9eeec" style="background:#d9eeec"><span><span>#d9eeec</span></span></button></li>
+								<li><button type="button" title="#c9e0f0" style="background:#c9e0f0"><span><span>#c9e0f0</span></span></button></li>
+								<li><button type="button" title="#d6d4eb" style="background:#d6d4eb"><span><span>#d6d4eb</span></span></button></li>
+								<li><button type="button" title="#e7dbed" style="background:#e7dbed"><span><span>#e7dbed</span></span></button></li>
+								<li><button type="button" title="#f1e2ea" style="background:#f1e2ea"><span><span>#f1e2ea</span></span></button></li>
+								<li><button type="button" title="#acacac" style="background:#acacac"><span><span>#acacac</span></span></button></li>
+								<li><button type="button" title="#c2c2c2" style="background:#c2c2c2"><span><span>#c2c2c2</span></span></button></li>
+								<li><button type="button" title="#cccccc" style="background:#cccccc"><span><span>#cccccc</span></span></button></li>
+								<li><button type="button" title="#e1e1e1" style="background:#e1e1e1"><span><span>#e1e1e1</span></span></button></li>
+								<li><button type="button" title="#ebebeb" style="background:#ebebeb"><span><span>#ebebeb</span></span></button></li>
+								<li><button type="button" title="#ffffff" style="background:#ffffff"><span><span>#ffffff</span></span></button></li>
+								</ul>
+								<ul class="se2_pick_color" style="width:156px;">
+								<li><button type="button" title="#e97d81" style="background:#e97d81"><span><span>#e97d81</span></span></button></li>
+								<li><button type="button" title="#e19b73" style="background:#e19b73"><span><span>#e19b73</span></span></button></li>
+								<li><button type="button" title="#d1b274" style="background:#d1b274"><span><span>#d1b274</span></span></button></li>
+								<li><button type="button" title="#cfcca2" style="background:#cfcca2"><span><span>#cfcca2</span></span></button></li>
+								<li><button type="button" title="#cfcca2" style="background:#cfcca2"><span><span>#cfcca2</span></span></button></li>
+								<li><button type="button" title="#61b977" style="background:#61b977"><span><span>#61b977</span></span></button></li>
+								<li><button type="button" title="#53aea8" style="background:#53aea8"><span><span>#53aea8</span></span></button></li>
+								<li><button type="button" title="#518fbb" style="background:#518fbb"><span><span>#518fbb</span></span></button></li>
+								<li><button type="button" title="#6a65bb" style="background:#6a65bb"><span><span>#6a65bb</span></span></button></li>
+								<li><button type="button" title="#9a54ce" style="background:#9a54ce"><span><span>#9a54ce</span></span></button></li>
+								<li><button type="button" title="#e573ae" style="background:#e573ae"><span><span>#e573ae</span></span></button></li>
+								<li><button type="button" title="#5a504b" style="background:#5a504b"><span><span>#5a504b</span></span></button></li>
+								<li><button type="button" title="#767b86" style="background:#767b86"><span><span>#767b86</span></span></button></li>
+								<li><button type="button" title="#951015" style="background:#951015"><span><span>#951015</span></span></button></li>
+								<li><button type="button" title="#6e391a" style="background:#6e391a"><span><span>#6e391a</span></span></button></li>
+								<li><button type="button" title="#785c25" style="background:#785c25"><span><span>#785c25</span></span></button></li>
+								<li><button type="button" title="#5f5b25" style="background:#5f5b25"><span><span>#5f5b25</span></span></button></li>
+								<li><button type="button" title="#4c511f" style="background:#4c511f"><span><span>#4c511f</span></span></button></li>
+								<li><button type="button" title="#1c4827" style="background:#1c4827"><span><span>#1c4827</span></span></button></li>
+								<li><button type="button" title="#0d514c" style="background:#0d514c"><span><span>#0d514c</span></span></button></li>
+								<li><button type="button" title="#1b496a" style="background:#1b496a"><span><span>#1b496a</span></span></button></li>
+								<li><button type="button" title="#2b285f" style="background:#2b285f"><span><span>#2b285f</span></span></button></li>
+								<li><button type="button" title="#45245b" style="background:#45245b"><span><span>#45245b</span></span></button></li>
+								<li><button type="button" title="#721947" style="background:#721947"><span><span>#721947</span></span></button></li>
+								<li><button type="button" title="#352e2c" style="background:#352e2c"><span><span>#352e2c</span></span></button></li>
+								<li><button type="button" title="#3c3f45" style="background:#3c3f45"><span><span>#3c3f45</span></span></button></li>
+								</ul>
+								<button type="button" title="더보기" class="se2_view_more husky_se2m_color_palette_more_btn"><span>더보기</span></button>
+								<div class="husky_se2m_color_palette_recent" style="display:none">
+									<h4>최근 사용한 색</h4>
+									<ul class="se2_pick_color">
+									<li></li>
+									<!-- 최근 사용한 색 템플릿 -->
+									<!-- <li><button type="button" title="#e97d81" style="background:#e97d81"><span><span>#e97d81</span></span></button></li> -->
+									<!-- //최근 사용한 색 템플릿 -->
+									</ul>
+								</div>								
+								<div class="se2_palette2 husky_se2m_color_palette_colorpicker">
+									<!--form action="http://test.emoticon.naver.com/colortable/TextAdd.nhn" method="post"-->
+										<div class="se2_color_set">
+											<span class="se2_selected_color"><span class="husky_se2m_cp_preview" style="background:#e97d81"></span></span><input type="text" name="" class="input_ty1 husky_se2m_cp_colorcode" value="#e97d81"><button type="button" class="se2_btn_insert husky_se2m_color_palette_ok_btn" title="입력"><span>입력</span></button></div>
+										<!--input type="hidden" name="callback" value="http://test.emoticon.naver.com/colortable/result.jsp" />
+										<input type="hidden" name="callback_func" value="1" />
+										<input type="hidden" name="text_key" value="" />
+										<input type="hidden" name="text_data" value="" />
+									</form-->
+									<div class="se2_gradation1 husky_se2m_cp_colpanel"></div>
+									<div class="se2_gradation2 husky_se2m_cp_huepanel"></div>
+								</div>
+							</div>
+                        </div>
+					</div>
+                    <!-- //글자색 -->
+				</li>
+
+				<li class="se2_pair husky_seditor_ui_BGColor"><span class="selected_color husky_se2m_BGColor_lastUsed" style="background-color:#4477f9"></span><span class="husky_seditor_ui_BGColorA"><button type="button" title="배경색" class="se2_bgcolor"><span>배경색</span></button></span><span class="husky_seditor_ui_BGColorB"><button type="button" title="더보기" class="se2_bgcolor_more"><span class="_buttonRound">더보기</span></button></span>
+					<!-- 배경색 -->
+					<div class="se2_layer se2_layer husky_se2m_BGColor_layer" style="display:none">
+						<div class="se2_in_layer">
+							<div class="se2_palette_bgcolor">
+								<ul class="se2_background husky_se2m_bgcolor_list">
+								<li><button type="button" title="배경색#ff0000 글자색#ffffff" style="background:#ff0000; color:#ffffff"><span><span>가나다</span></span></button></li>								
+								<li><button type="button" title="배경색#6d30cf 글자색#ffffff" style="background:#6d30cf; color:#ffffff"><span><span>가나다</span></span></button></li>
+								<li><button type="button" title="배경색#000000 글자색#ffffff" style="background:#000000; color:#ffffff"><span><span>가나다</span></span></button></li>
+								<li><button type="button" title="배경색#ff6600 글자색#ffffff" style="background:#ff6600; color:#ffffff"><span><span>가나다</span></span></button></li>
+								<li><button type="button" title="배경색#3333cc 글자색#ffffff" style="background:#3333cc; color:#ffffff"><span><span>가나다</span></span></button></li>
+								<li><button type="button" title="배경색#333333 글자색#ffff00" style="background:#333333; color:#ffff00"><span><span>가나다</span></span></button></li>
+								<li><button type="button" title="배경색#ffa700 글자색#ffffff" style="background:#ffa700; color:#ffffff"><span><span>가나다</span></span></button></li>
+								<li><button type="button" title="배경색#009999 글자색#ffffff" style="background:#009999; color:#ffffff"><span><span>가나다</span></span></button></li>
+								<li><button type="button" title="배경색#8e8e8e 글자색#ffffff" style="background:#8e8e8e; color:#ffffff"><span><span>가나다</span></span></button></li>								
+								<li><button type="button" title="배경색#cc9900 글자색#ffffff" style="background:#cc9900; color:#ffffff"><span><span>가나다</span></span></button></li>
+								<li><button type="button" title="배경색#77b02b 글자색#ffffff" style="background:#77b02b; color:#ffffff"><span><span>가나다</span></span></button></li>
+								<li><button type="button" title="배경색#ffffff 글자색#000000" style="background:#ffffff; color:#000000"><span><span>가나다</span></span></button></li>
+								</ul>
+							</div>
+							<div class="husky_se2m_BGColor_paletteHolder"></div>
+                        </div>
+					</div>
+                    <!-- //배경색 -->
+				</li>
+
+				<li class="husky_seditor_ui_superscript"><button type="button" title="윗첨자" class="se2_sup"><span class="_buttonRound">윗첨자</span></button></li>
+
+				<li class="husky_seditor_ui_subscript last_child"><button type="button" title="아래첨자" class="se2_sub"><span class="_buttonRound tool_bg">아래첨자</span></button></li>
+</ul><ul>
+				<li class="husky_seditor_ui_justifyleft first_child"><button type="button" title="왼쪽정렬" class="se2_left"><span class="_buttonRound tool_bg">왼쪽정렬</span></button></li>
+
+				<li class="husky_seditor_ui_justifycenter"><button type="button" title="가운데정렬" class="se2_center"><span class="_buttonRound">가운데정렬</span></button></li>
+
+				<li class="husky_seditor_ui_justifyright"><button type="button" title="오른쪽정렬" class="se2_right"><span class="_buttonRound">오른쪽정렬</span></button></li>
+
+				<li class="husky_seditor_ui_justifyfull"><button type="button" title="양쪽정렬" class="se2_justify"><span class="_buttonRound">양쪽정렬</span></button></li>
+
+				<li class="husky_seditor_ui_orderedlist"><button type="button" title="번호매기기" class="se2_ol"><span class="_buttonRound">번호매기기</span></button></li>
+
+				<li class="husky_seditor_ui_unorderedlist"><button type="button" title="글머리기호" class="se2_ul"><span class="_buttonRound">글머리기호</span></button></li>
+
+				<li class="husky_seditor_ui_outdent"><button type="button" title="내어쓰기[Shift+Tab]" class="se2_outdent"><span class="_buttonRound">내어쓰기[Shift+Tab]</span></button></li>
+
+				<li class="husky_seditor_ui_indent"><button type="button" title="들여쓰기[Tab]" class="se2_indent"><span class="_buttonRound">들여쓰기[Tab]</span></button></li>			
+
+				<li class="husky_seditor_ui_lineHeight last_child"><button type="button" title="줄간격" class="se2_lineheight" ><span class="_buttonRound tool_bg">줄간격</span></button>
+					<!-- 줄간격 레이어 -->
+					<div class="se2_layer husky_se2m_lineHeight_layer">
+						<div class="se2_in_layer">
+							<ul class="se2_l_line_height">
+							<li><button type="button"><span>50%</span></button></li>
+							<li><button type="button"><span>80%</span></button></li>
+							<li><button type="button"><span>100%</span></button></li>
+							<li><button type="button"><span>120%</span></button></li>
+							<li><button type="button"><span>150%</span></button></li>
+							<li><button type="button"><span>180%</span></button></li>
+							<li><button type="button"><span>200%</span></button></li>
+							</ul>
+							<div class="se2_l_line_height_user husky_se2m_lineHeight_direct_input">
+								<h3>직접 입력</h3>
+								<span class="bx_input">
+								<input type="text" class="input_ty1" maxlength="3" style="width:75px">
+								<button type="button" title="1% 더하기" class="btn_up"><span>1% 더하기</span></button>
+								<button type="button" title="1% 빼기" class="btn_down"><span>1% 빼기</span></button>
+								</span>		
+								<div class="btn_area">
+									<button type="button" class="se2_btn_apply3"><span>적용</span></button><button type="button" class="se2_btn_cancel3"><span>취소</span></button>
+								</div>
+							</div>
+						</div>
+					</div>
+					<!-- //줄간격 레이어 -->
+				</li>
+</ul><ul>
+				<li class="husky_seditor_ui_quote single_child"><button type="button" title="인용구" class="se2_blockquote"><span class="_buttonRound tool_bg">인용구</span></button>
+					<!-- 인용구 -->
+					<div class="se2_layer husky_seditor_blockquote_layer" style="margin-left:-407px; display:none;">
+						<div class="se2_in_layer">
+							<div class="se2_quote">
+								<ul>
+								<li class="q1"><button type="button" class="se2_quote1"><span><span>인용구 스타일1</span></span></button></li>
+								<li class="q2"><button type="button" class="se2_quote2"><span><span>인용구 스타일2</span></span></button></li>
+								<li class="q3"><button type="button" class="se2_quote3"><span><span>인용구 스타일3</span></span></button></li>
+								<li class="q4"><button type="button" class="se2_quote4"><span><span>인용구 스타일4</span></span></button></li>
+								<li class="q5"><button type="button" class="se2_quote5"><span><span>인용구 스타일5</span></span></button></li>
+								<li class="q6"><button type="button" class="se2_quote6"><span><span>인용구 스타일6</span></span></button></li>
+								<li class="q7"><button type="button" class="se2_quote7"><span><span>인용구 스타일7</span></span></button></li>
+								<li class="q8"><button type="button" class="se2_quote8"><span><span>인용구 스타일8</span></span></button></li>
+								<li class="q9"><button type="button" class="se2_quote9"><span><span>인용구 스타일9</span></span></button></li>
+								<li class="q10"><button type="button" class="se2_quote10"><span><span>인용구 스타일10</span></span></button></li>
+								</ul>
+								<button type="button" class="se2_cancel2"><span>적용취소</span></button>
+							</div>
+						</div>
+					</div>
+					<!-- //인용구 -->
+				</li>
+</ul><ul>
+				<li class="husky_seditor_ui_hyperlink first_child"><button type="button" title="링크" class="se2_url"><span class="_buttonRound tool_bg">링크</span></button>
+					<!-- 링크 -->
+					<div class="se2_layer" style="margin-left:-285px">
+						<div class="se2_in_layer">
+							<div class="se2_url2">
+								<input type="text" class="input_ty1" value="http://">
+								<button type="button" class="se2_apply"><span>적용</span></button><button type="button" class="se2_cancel"><span>취소</span></button>
+							</div>
+						</div>
+					</div>
+					<!-- //링크 -->
+				</li>
+
+				<li class="husky_seditor_ui_sCharacter"><button type="button" title="특수기호" class="se2_character"><span class="_buttonRound">특수기호</span></button>
+					<!-- 특수기호 -->
+					<div class="se2_layer husky_seditor_sCharacter_layer" style="margin-left:-448px;">
+						<div class="se2_in_layer">
+							<div class="se2_bx_character">
+								<ul class="se2_char_tab">
+								<li class="active"><button type="button" title="일반기호" class="se2_char1"><span>일반기호</span></button>
+									<div class="se2_s_character">
+										<ul class="husky_se2m_sCharacter_list">
+											<li></li>
+											<!-- 일반기호 목록 -->
+											<!-- <li class="hover"><button type="button"><span>{</span></button></li><li class="active"><button type="button"><span>}</span></button></li><li><button type="button"><span>〔</span></button></li><li><button type="button"><span>〕</span></button></li><li><button type="button"><span>〈</span></button></li><li><button type="button"><span>〉</span></button></li><li><button type="button"><span>《</span></button></li><li><button type="button"><span>》</span></button></li><li><button type="button"><span>「</span></button></li><li><button type="button"><span>」</span></button></li><li><button type="button"><span>『</span></button></li><li><button type="button"><span>』</span></button></li><li><button type="button"><span>【</span></button></li><li><button type="button"><span>】</span></button></li><li><button type="button"><span>‘</span></button></li><li><button type="button"><span>’</span></button></li><li><button type="button"><span>“</span></button></li><li><button type="button"><span>”</span></button></li><li><button type="button"><span>、</span></button></li><li><button type="button"><span>。</span></button></li><li><button type="button"><span>·</span></button></li><li><button type="button"><span>‥</span></button></li><li><button type="button"><span>…</span></button></li><li><button type="button"><span>§</span></button></li><li><button type="button"><span>※</span></button></li><li><button type="button"><span>☆</span></button></li><li><button type="button"><span>★</span></button></li><li><button type="button"><span>○</span></button></li><li><button type="button"><span>●</span></button></li><li><button type="button"><span>◎</span></button></li><li><button type="button"><span>◇</span></button></li><li><button type="button"><span>◆</span></button></li><li><button type="button"><span>□</span></button></li><li><button type="button"><span>■</span></button></li><li><button type="button"><span>△</span></button></li><li><button type="button"><span>▲</span></button></li><li><button type="button"><span>▽</span></button></li><li><button type="button"><span>▼</span></button></li><li><button type="button"><span>◁</span></button></li><li><button type="button"><span>◀</span></button></li><li><button type="button"><span>▷</span></button></li><li><button type="button"><span>▶</span></button></li><li><button type="button"><span>♤</span></button></li><li><button type="button"><span>♠</span></button></li><li><button type="button"><span>♡</span></button></li><li><button type="button"><span>♥</span></button></li><li><button type="button"><span>♧</span></button></li><li><button type="button"><span>♣</span></button></li><li><button type="button"><span>⊙</span></button></li><li><button type="button"><span>◈</span></button></li><li><button type="button"><span>▣</span></button></li><li><button type="button"><span>◐</span></button></li><li><button type="button"><span>◑</span></button></li><li><button type="button"><span>▒</span></button></li><li><button type="button"><span>▤</span></button></li><li><button type="button"><span>▥</span></button></li><li><button type="button"><span>▨</span></button></li><li><button type="button"><span>▧</span></button></li><li><button type="button"><span>▦</span></button></li><li><button type="button"><span>▩</span></button></li><li><button type="button"><span>±</span></button></li><li><button type="button"><span>×</span></button></li><li><button type="button"><span>÷</span></button></li><li><button type="button"><span>≠</span></button></li><li><button type="button"><span>≤</span></button></li><li><button type="button"><span>≥</span></button></li><li><button type="button"><span>∞</span></button></li><li><button type="button"><span>∴</span></button></li><li><button type="button"><span>°</span></button></li><li><button type="button"><span>′</span></button></li><li><button type="button"><span>″</span></button></li><li><button type="button"><span>∠</span></button></li><li><button type="button"><span>⊥</span></button></li><li><button type="button"><span>⌒</span></button></li><li><button type="button"><span>∂</span></button></li><li><button type="button"><span>≡</span></button></li><li><button type="button"><span>≒</span></button></li><li><button type="button"><span>≪</span></button></li><li><button type="button"><span>≫</span></button></li><li><button type="button"><span>√</span></button></li><li><button type="button"><span>∽</span></button></li><li><button type="button"><span>∝</span></button></li><li><button type="button"><span>∵</span></button></li><li><button type="button"><span>∫</span></button></li><li><button type="button"><span>∬</span></button></li><li><button type="button"><span>∈</span></button></li><li><button type="button"><span>∋</span></button></li><li><button type="button"><span>⊆</span></button></li><li><button type="button"><span>⊇</span></button></li><li><button type="button"><span>⊂</span></button></li><li><button type="button"><span>⊃</span></button></li><li><button type="button"><span>∪</span></button></li><li><button type="button"><span>∩</span></button></li><li><button type="button"><span>∧</span></button></li><li><button type="button"><span>∨</span></button></li><li><button type="button"><span>¬</span></button></li><li><button type="button"><span>⇒</span></button></li><li><button type="button"><span>⇔</span></button></li><li><button type="button"><span>∀</span></button></li><li><button type="button"><span>∃</span></button></li><li><button type="button"><span>´</span></button></li><li><button type="button"><span>~</span></button></li><li><button type="button"><span>ˇ</span></button></li><li><button type="button"><span>˘</span></button></li><li><button type="button"><span>˝</span></button></li><li><button type="button"><span>˚</span></button></li><li><button type="button"><span>˙</span></button></li><li><button type="button"><span>¸</span></button></li><li><button type="button"><span>˛</span></button></li><li><button type="button"><span>¡</span></button></li><li><button type="button"><span>¿</span></button></li><li><button type="button"><span>ː</span></button></li><li><button type="button"><span>∮</span></button></li><li><button type="button"><span>∑</span></button></li><li><button type="button"><span>∏</span></button></li><li><button type="button"><span>♭</span></button></li><li><button type="button"><span>♩</span></button></li><li><button type="button"><span>♪</span></button></li><li><button type="button"><span>♬</span></button></li><li><button type="button"><span>㉿</span></button></li><li><button type="button"><span>→</span></button></li><li><button type="button"><span>←</span></button></li><li><button type="button"><span>↑</span></button></li><li><button type="button"><span>↓</span></button></li><li><button type="button"><span>↔</span></button></li><li><button type="button"><span>↕</span></button></li><li><button type="button"><span>↗</span></button></li><li><button type="button"><span>↙</span></button></li><li><button type="button"><span>↖</span></button></li><li><button type="button"><span>↘</span></button></li><li><button type="button"><span>㈜</span></button></li><li><button type="button"><span>№</span></button></li><li><button type="button"><span>㏇</span></button></li><li><button type="button"><span>™</span></button></li><li><button type="button"><span>㏂</span></button></li><li><button type="button"><span>㏘</span></button></li><li><button type="button"><span>℡</span></button></li><li><button type="button"><span>♨</span></button></li><li><button type="button"><span>☏</span></button></li><li><button type="button"><span>☎</span></button></li><li><button type="button"><span>☜</span></button></li><li><button type="button"><span>☞</span></button></li><li><button type="button"><span>¶</span></button></li><li><button type="button"><span>†</span></button></li><li><button type="button"><span>‡</span></button></li><li><button type="button"><span>®</span></button></li><li><button type="button"><span>ª</span></button></li><li><button type="button"><span>º</span></button></li><li><button type="button"><span>♂</span></button></li><li><button type="button"><span>♀</span></button></li> -->
+										</ul>
+									</div>
+								</li>
+								<li><button type="button" title="숫자와 단위" class="se2_char2"><span>숫자와 단위</span></button>
+									<div class="se2_s_character">
+										<ul class="husky_se2m_sCharacter_list">
+											<li></li>
+											<!-- 숫자와 단위 목록 -->
+											<!-- <li class="hover"><button type="button"><span>½</span></button></li><li><button type="button"><span>⅓</span></button></li><li><button type="button"><span>⅔</span></button></li><li><button type="button"><span>¼</span></button></li><li><button type="button"><span>¾</span></button></li><li><button type="button"><span>⅛</span></button></li><li><button type="button"><span>⅜</span></button></li><li><button type="button"><span>⅝</span></button></li><li><button type="button"><span>⅞</span></button></li><li><button type="button"><span>¹</span></button></li><li><button type="button"><span>²</span></button></li><li><button type="button"><span>³</span></button></li><li><button type="button"><span>⁴</span></button></li><li><button type="button"><span>ⁿ</span></button></li><li><button type="button"><span>₁</span></button></li><li><button type="button"><span>₂</span></button></li><li><button type="button"><span>₃</span></button></li><li><button type="button"><span>₄</span></button></li><li><button type="button"><span>Ⅰ</span></button></li><li><button type="button"><span>Ⅱ</span></button></li><li><button type="button"><span>Ⅲ</span></button></li><li><button type="button"><span>Ⅳ</span></button></li><li><button type="button"><span>Ⅴ</span></button></li><li><button type="button"><span>Ⅵ</span></button></li><li><button type="button"><span>Ⅶ</span></button></li><li><button type="button"><span>Ⅷ</span></button></li><li><button type="button"><span>Ⅸ</span></button></li><li><button type="button"><span>Ⅹ</span></button></li><li><button type="button"><span>ⅰ</span></button></li><li><button type="button"><span>ⅱ</span></button></li><li><button type="button"><span>ⅲ</span></button></li><li><button type="button"><span>ⅳ</span></button></li><li><button type="button"><span>ⅴ</span></button></li><li><button type="button"><span>ⅵ</span></button></li><li><button type="button"><span>ⅶ</span></button></li><li><button type="button"><span>ⅷ</span></button></li><li><button type="button"><span>ⅸ</span></button></li><li><button type="button"><span>ⅹ</span></button></li><li><button type="button"><span>₩</span></button></li><li><button type="button"><span>$</span></button></li><li><button type="button"><span>¥</span></button></li><li><button type="button"><span>£</span></button></li><li><button type="button"><span>€</span></button></li><li><button type="button"><span>℃</span></button></li><li><button type="button"><span>A</span></button></li><li><button type="button"><span>℉</span></button></li><li><button type="button"><span>¢</span></button></li><li><button type="button"><span>¤</span></button></li><li><button type="button"><span>‰</span></button></li><li><button type="button"><span>㎕</span></button></li><li><button type="button"><span>㎖</span></button></li><li><button type="button"><span>㎗</span></button></li><li><button type="button"><span>ℓ</span></button></li><li><button type="button"><span>㎘</span></button></li><li><button type="button"><span>㏄</span></button></li><li><button type="button"><span>㎣</span></button></li><li><button type="button"><span>㎤</span></button></li><li><button type="button"><span>㎥</span></button></li><li><button type="button"><span>㎦</span></button></li><li><button type="button"><span>㎙</span></button></li><li><button type="button"><span>㎚</span></button></li><li><button type="button"><span>㎛</span></button></li><li><button type="button"><span>㎜</span></button></li><li><button type="button"><span>㎝</span></button></li><li><button type="button"><span>㎞</span></button></li><li><button type="button"><span>㎟</span></button></li><li><button type="button"><span>㎠</span></button></li><li><button type="button"><span>㎡</span></button></li><li><button type="button"><span>㎢</span></button></li><li><button type="button"><span>㏊</span></button></li><li><button type="button"><span>㎍</span></button></li><li><button type="button"><span>㎎</span></button></li><li><button type="button"><span>㎏</span></button></li><li><button type="button"><span>㏏</span></button></li><li><button type="button"><span>㎈</span></button></li><li><button type="button"><span>㎉</span></button></li><li><button type="button"><span>㏈</span></button></li><li><button type="button"><span>㎧</span></button></li><li><button type="button"><span>㎨</span></button></li><li><button type="button"><span>㎰</span></button></li><li><button type="button"><span>㎱</span></button></li><li><button type="button"><span>㎲</span></button></li><li><button type="button"><span>㎳</span></button></li><li><button type="button"><span>㎴</span></button></li><li><button type="button"><span>㎵</span></button></li><li><button type="button"><span>㎶</span></button></li><li><button type="button"><span>㎷</span></button></li><li><button type="button"><span>㎸</span></button></li><li><button type="button"><span>㎹</span></button></li><li><button type="button"><span>㎀</span></button></li><li><button type="button"><span>㎁</span></button></li><li><button type="button"><span>㎂</span></button></li><li><button type="button"><span>㎃</span></button></li><li><button type="button"><span>㎄</span></button></li><li><button type="button"><span>㎺</span></button></li><li><button type="button"><span>㎻</span></button></li><li><button type="button"><span>㎼</span></button></li><li><button type="button"><span>㎽</span></button></li><li><button type="button"><span>㎾</span></button></li><li><button type="button"><span>㎿</span></button></li><li><button type="button"><span>㎐</span></button></li><li><button type="button"><span>㎑</span></button></li><li><button type="button"><span>㎒</span></button></li><li><button type="button"><span>㎓</span></button></li><li><button type="button"><span>㎔</span></button></li><li><button type="button"><span>Ω</span></button></li><li><button type="button"><span>㏀</span></button></li><li><button type="button"><span>㏁</span></button></li><li><button type="button"><span>㎊</span></button></li><li><button type="button"><span>㎋</span></button></li><li><button type="button"><span>㎌</span></button></li><li><button type="button"><span>㏖</span></button></li><li><button type="button"><span>㏅</span></button></li><li><button type="button"><span>㎭</span></button></li><li><button type="button"><span>㎮</span></button></li><li><button type="button"><span>㎯</span></button></li><li><button type="button"><span>㏛</span></button></li><li><button type="button"><span>㎩</span></button></li><li><button type="button"><span>㎪</span></button></li><li><button type="button"><span>㎫</span></button></li><li><button type="button"><span>㎬</span></button></li><li><button type="button"><span>㏝</span></button></li><li><button type="button"><span>㏐</span></button></li><li><button type="button"><span>㏓</span></button></li><li><button type="button"><span>㏃</span></button></li><li><button type="button"><span>㏉</span></button></li><li><button type="button"><span>㏜</span></button></li><li><button type="button"><span>㏆</span></button></li> -->
+										</ul>
+									</div>
+								</li>
+								<li><button type="button" title="원,괄호" class="se2_char3"><span>원,괄호</span></button>
+									<div class="se2_s_character">
+										<ul class="husky_se2m_sCharacter_list">
+											<li></li>
+											<!-- 원,괄호 목록 -->
+											<!-- <li><button type="button"><span>㉠</span></button></li><li><button type="button"><span>㉡</span></button></li><li><button type="button"><span>㉢</span></button></li><li><button type="button"><span>㉣</span></button></li><li><button type="button"><span>㉤</span></button></li><li><button type="button"><span>㉥</span></button></li><li><button type="button"><span>㉦</span></button></li><li><button type="button"><span>㉧</span></button></li><li><button type="button"><span>㉨</span></button></li><li><button type="button"><span>㉩</span></button></li><li><button type="button"><span>㉪</span></button></li><li><button type="button"><span>㉫</span></button></li><li><button type="button"><span>㉬</span></button></li><li><button type="button"><span>㉭</span></button></li><li><button type="button"><span>㉮</span></button></li><li><button type="button"><span>㉯</span></button></li><li><button type="button"><span>㉰</span></button></li><li><button type="button"><span>㉱</span></button></li><li><button type="button"><span>㉲</span></button></li><li><button type="button"><span>㉳</span></button></li><li><button type="button"><span>㉴</span></button></li><li><button type="button"><span>㉵</span></button></li><li><button type="button"><span>㉶</span></button></li><li><button type="button"><span>㉷</span></button></li><li><button type="button"><span>㉸</span></button></li><li><button type="button"><span>㉹</span></button></li><li><button type="button"><span>㉺</span></button></li><li><button type="button"><span>㉻</span></button></li><li><button type="button"><span>ⓐ</span></button></li><li><button type="button"><span>ⓑ</span></button></li><li><button type="button"><span>ⓒ</span></button></li><li><button type="button"><span>ⓓ</span></button></li><li><button type="button"><span>ⓔ</span></button></li><li><button type="button"><span>ⓕ</span></button></li><li><button type="button"><span>ⓖ</span></button></li><li><button type="button"><span>ⓗ</span></button></li><li><button type="button"><span>ⓘ</span></button></li><li><button type="button"><span>ⓙ</span></button></li><li><button type="button"><span>ⓚ</span></button></li><li><button type="button"><span>ⓛ</span></button></li><li><button type="button"><span>ⓜ</span></button></li><li><button type="button"><span>ⓝ</span></button></li><li><button type="button"><span>ⓞ</span></button></li><li><button type="button"><span>ⓟ</span></button></li><li><button type="button"><span>ⓠ</span></button></li><li><button type="button"><span>ⓡ</span></button></li><li><button type="button"><span>ⓢ</span></button></li><li><button type="button"><span>ⓣ</span></button></li><li><button type="button"><span>ⓤ</span></button></li><li><button type="button"><span>ⓥ</span></button></li><li><button type="button"><span>ⓦ</span></button></li><li><button type="button"><span>ⓧ</span></button></li><li><button type="button"><span>ⓨ</span></button></li><li><button type="button"><span>ⓩ</span></button></li><li><button type="button"><span>①</span></button></li><li><button type="button"><span>②</span></button></li><li><button type="button"><span>③</span></button></li><li><button type="button"><span>④</span></button></li><li><button type="button"><span>⑤</span></button></li><li><button type="button"><span>⑥</span></button></li><li><button type="button"><span>⑦</span></button></li><li><button type="button"><span>⑧</span></button></li><li><button type="button"><span>⑨</span></button></li><li><button type="button"><span>⑩</span></button></li><li><button type="button"><span>⑪</span></button></li><li><button type="button"><span>⑫</span></button></li><li><button type="button"><span>⑬</span></button></li><li><button type="button"><span>⑭</span></button></li><li><button type="button"><span>⑮</span></button></li><li><button type="button"><span>㈀</span></button></li><li><button type="button"><span>㈁</span></button></li><li class="hover"><button type="button"><span>㈂</span></button></li><li><button type="button"><span>㈃</span></button></li><li><button type="button"><span>㈄</span></button></li><li><button type="button"><span>㈅</span></button></li><li><button type="button"><span>㈆</span></button></li><li><button type="button"><span>㈇</span></button></li><li><button type="button"><span>㈈</span></button></li><li><button type="button"><span>㈉</span></button></li><li><button type="button"><span>㈊</span></button></li><li><button type="button"><span>㈋</span></button></li><li><button type="button"><span>㈌</span></button></li><li><button type="button"><span>㈍</span></button></li><li><button type="button"><span>㈎</span></button></li><li><button type="button"><span>㈏</span></button></li><li><button type="button"><span>㈐</span></button></li><li><button type="button"><span>㈑</span></button></li><li><button type="button"><span>㈒</span></button></li><li><button type="button"><span>㈓</span></button></li><li><button type="button"><span>㈔</span></button></li><li><button type="button"><span>㈕</span></button></li><li><button type="button"><span>㈖</span></button></li><li><button type="button"><span>㈗</span></button></li><li><button type="button"><span>㈘</span></button></li><li><button type="button"><span>㈙</span></button></li><li><button type="button"><span>㈚</span></button></li><li><button type="button"><span>㈛</span></button></li><li><button type="button"><span>⒜</span></button></li><li><button type="button"><span>⒝</span></button></li><li><button type="button"><span>⒞</span></button></li><li><button type="button"><span>⒟</span></button></li><li><button type="button"><span>⒠</span></button></li><li><button type="button"><span>⒡</span></button></li><li><button type="button"><span>⒢</span></button></li><li><button type="button"><span>⒣</span></button></li><li><button type="button"><span>⒤</span></button></li><li><button type="button"><span>⒥</span></button></li><li><button type="button"><span>⒦</span></button></li><li><button type="button"><span>⒧</span></button></li><li><button type="button"><span>⒨</span></button></li><li><button type="button"><span>⒩</span></button></li><li><button type="button"><span>⒪</span></button></li><li><button type="button"><span>⒫</span></button></li><li><button type="button"><span>⒬</span></button></li><li><button type="button"><span>⒭</span></button></li><li><button type="button"><span>⒮</span></button></li><li><button type="button"><span>⒯</span></button></li><li><button type="button"><span>⒰</span></button></li><li><button type="button"><span>⒱</span></button></li><li><button type="button"><span>⒲</span></button></li><li><button type="button"><span>⒳</span></button></li><li><button type="button"><span>⒴</span></button></li><li><button type="button"><span>⒵</span></button></li><li><button type="button"><span>⑴</span></button></li><li><button type="button"><span>⑵</span></button></li><li><button type="button"><span>⑶</span></button></li><li><button type="button"><span>⑷</span></button></li><li><button type="button"><span>⑸</span></button></li><li><button type="button"><span>⑹</span></button></li><li><button type="button"><span>⑺</span></button></li><li><button type="button"><span>⑻</span></button></li><li><button type="button"><span>⑼</span></button></li><li><button type="button"><span>⑽</span></button></li><li><button type="button"><span>⑾</span></button></li><li><button type="button"><span>⑿</span></button></li><li><button type="button"><span>⒀</span></button></li><li><button type="button"><span>⒁</span></button></li><li><button type="button"><span>⒂</span></button></li> -->
+										</ul>
+									</div>
+								</li>
+								<li><button type="button" title="한글" class="se2_char4"><span>한글</span></button>
+									<div class="se2_s_character">
+										<ul class="husky_se2m_sCharacter_list">
+											<li></li>
+											<!-- 한글 목록 -->
+											<!-- <li><button type="button"><span>ㄱ</span></button></li><li><button type="button"><span>ㄲ</span></button></li><li><button type="button"><span>ㄳ</span></button></li><li><button type="button"><span>ㄴ</span></button></li><li><button type="button"><span>ㄵ</span></button></li><li><button type="button"><span>ㄶ</span></button></li><li><button type="button"><span>ㄷ</span></button></li><li><button type="button"><span>ㄸ</span></button></li><li><button type="button"><span>ㄹ</span></button></li><li><button type="button"><span>ㄺ</span></button></li><li><button type="button"><span>ㄻ</span></button></li><li><button type="button"><span>ㄼ</span></button></li><li><button type="button"><span>ㄽ</span></button></li><li><button type="button"><span>ㄾ</span></button></li><li><button type="button"><span>ㄿ</span></button></li><li><button type="button"><span>ㅀ</span></button></li><li><button type="button"><span>ㅁ</span></button></li><li><button type="button"><span>ㅂ</span></button></li><li><button type="button"><span>ㅃ</span></button></li><li><button type="button"><span>ㅄ</span></button></li><li><button type="button"><span>ㅅ</span></button></li><li><button type="button"><span>ㅆ</span></button></li><li><button type="button"><span>ㅇ</span></button></li><li><button type="button"><span>ㅈ</span></button></li><li><button type="button"><span>ㅉ</span></button></li><li><button type="button"><span>ㅊ</span></button></li><li><button type="button"><span>ㅋ</span></button></li><li><button type="button"><span>ㅌ</span></button></li><li><button type="button"><span>ㅍ</span></button></li><li><button type="button"><span>ㅎ</span></button></li><li><button type="button"><span>ㅏ</span></button></li><li><button type="button"><span>ㅐ</span></button></li><li><button type="button"><span>ㅑ</span></button></li><li><button type="button"><span>ㅒ</span></button></li><li><button type="button"><span>ㅓ</span></button></li><li><button type="button"><span>ㅔ</span></button></li><li><button type="button"><span>ㅕ</span></button></li><li><button type="button"><span>ㅖ</span></button></li><li><button type="button"><span>ㅗ</span></button></li><li><button type="button"><span>ㅘ</span></button></li><li><button type="button"><span>ㅙ</span></button></li><li><button type="button"><span>ㅚ</span></button></li><li><button type="button"><span>ㅛ</span></button></li><li><button type="button"><span>ㅜ</span></button></li><li><button type="button"><span>ㅝ</span></button></li><li><button type="button"><span>ㅞ</span></button></li><li><button type="button"><span>ㅟ</span></button></li><li><button type="button"><span>ㅠ</span></button></li><li><button type="button"><span>ㅡ</span></button></li><li><button type="button"><span>ㅢ</span></button></li><li><button type="button"><span>ㅣ</span></button></li><li><button type="button"><span>ㅥ</span></button></li><li><button type="button"><span>ㅦ</span></button></li><li><button type="button"><span>ㅧ</span></button></li><li><button type="button"><span>ㅨ</span></button></li><li><button type="button"><span>ㅩ</span></button></li><li><button type="button"><span>ㅪ</span></button></li><li><button type="button"><span>ㅫ</span></button></li><li><button type="button"><span>ㅬ</span></button></li><li><button type="button"><span>ㅭ</span></button></li><li><button type="button"><span>ㅮ</span></button></li><li><button type="button"><span>ㅯ</span></button></li><li><button type="button"><span>ㅰ</span></button></li><li><button type="button"><span>ㅱ</span></button></li><li><button type="button"><span>ㅲ</span></button></li><li><button type="button"><span>ㅳ</span></button></li><li><button type="button"><span>ㅴ</span></button></li><li><button type="button"><span>ㅵ</span></button></li><li><button type="button"><span>ㅶ</span></button></li><li><button type="button"><span>ㅷ</span></button></li><li><button type="button"><span>ㅸ</span></button></li><li><button type="button"><span>ㅹ</span></button></li><li><button type="button"><span>ㅺ</span></button></li><li><button type="button"><span>ㅻ</span></button></li><li><button type="button"><span>ㅼ</span></button></li><li><button type="button"><span>ㅽ</span></button></li><li><button type="button"><span>ㅾ</span></button></li><li><button type="button"><span>ㅿ</span></button></li><li><button type="button"><span>ㆀ</span></button></li><li><button type="button"><span>ㆁ</span></button></li><li><button type="button"><span>ㆂ</span></button></li><li><button type="button"><span>ㆃ</span></button></li><li><button type="button"><span>ㆄ</span></button></li><li><button type="button"><span>ㆅ</span></button></li><li><button type="button"><span>ㆆ</span></button></li><li><button type="button"><span>ㆇ</span></button></li><li><button type="button"><span>ㆈ</span></button></li><li><button type="button"><span>ㆉ</span></button></li><li><button type="button"><span>ㆊ</span></button></li><li><button type="button"><span>ㆋ</span></button></li><li><button type="button"><span>ㆌ</span></button></li><li><button type="button"><span>ㆍ</span></button></li><li><button type="button"><span>ㆎ</span></button></li> -->
+										</ul>
+									</div>
+								</li>
+								<li><button type="button" title="그리스,라틴어" class="se2_char5"><span>그리스,라틴어</span></button>
+									<div class="se2_s_character">
+										<ul class="husky_se2m_sCharacter_list">
+											<li></li>
+											<!-- 그리스,라틴어 목록 -->
+											<!-- <li><button type="button"><span>Α</span></button></li><li><button type="button"><span>Β</span></button></li><li><button type="button"><span>Γ</span></button></li><li><button type="button"><span>Δ</span></button></li><li><button type="button"><span>Ε</span></button></li><li><button type="button"><span>Ζ</span></button></li><li><button type="button"><span>Η</span></button></li><li><button type="button"><span>Θ</span></button></li><li><button type="button"><span>Ι</span></button></li><li><button type="button"><span>Κ</span></button></li><li><button type="button"><span>Λ</span></button></li><li><button type="button"><span>Μ</span></button></li><li><button type="button"><span>Ν</span></button></li><li><button type="button"><span>Ξ</span></button></li><li class="hover"><button type="button"><span>Ο</span></button></li><li><button type="button"><span>Π</span></button></li><li><button type="button"><span>Ρ</span></button></li><li><button type="button"><span>Σ</span></button></li><li><button type="button"><span>Τ</span></button></li><li><button type="button"><span>Υ</span></button></li><li><button type="button"><span>Φ</span></button></li><li><button type="button"><span>Χ</span></button></li><li><button type="button"><span>Ψ</span></button></li><li><button type="button"><span>Ω</span></button></li><li><button type="button"><span>α</span></button></li><li><button type="button"><span>β</span></button></li><li><button type="button"><span>γ</span></button></li><li><button type="button"><span>δ</span></button></li><li><button type="button"><span>ε</span></button></li><li><button type="button"><span>ζ</span></button></li><li><button type="button"><span>η</span></button></li><li><button type="button"><span>θ</span></button></li><li><button type="button"><span>ι</span></button></li><li><button type="button"><span>κ</span></button></li><li><button type="button"><span>λ</span></button></li><li><button type="button"><span>μ</span></button></li><li><button type="button"><span>ν</span></button></li><li><button type="button"><span>ξ</span></button></li><li><button type="button"><span>ο</span></button></li><li><button type="button"><span>π</span></button></li><li><button type="button"><span>ρ</span></button></li><li><button type="button"><span>σ</span></button></li><li><button type="button"><span>τ</span></button></li><li><button type="button"><span>υ</span></button></li><li><button type="button"><span>φ</span></button></li><li><button type="button"><span>χ</span></button></li><li><button type="button"><span>ψ</span></button></li><li><button type="button"><span>ω</span></button></li><li><button type="button"><span>Æ</span></button></li><li><button type="button"><span>Ð</span></button></li><li><button type="button"><span>Ħ</span></button></li><li><button type="button"><span>IJ</span></button></li><li><button type="button"><span>Ŀ</span></button></li><li><button type="button"><span>Ł</span></button></li><li><button type="button"><span>Ø</span></button></li><li><button type="button"><span>Œ</span></button></li><li><button type="button"><span>Þ</span></button></li><li><button type="button"><span>Ŧ</span></button></li><li><button type="button"><span>Ŋ</span></button></li><li><button type="button"><span>æ</span></button></li><li><button type="button"><span>đ</span></button></li><li><button type="button"><span>ð</span></button></li><li><button type="button"><span>ħ</span></button></li><li><button type="button"><span>I</span></button></li><li><button type="button"><span>ij</span></button></li><li><button type="button"><span>ĸ</span></button></li><li><button type="button"><span>ŀ</span></button></li><li><button type="button"><span>ł</span></button></li><li><button type="button"><span>ł</span></button></li><li><button type="button"><span>œ</span></button></li><li><button type="button"><span>ß</span></button></li><li><button type="button"><span>þ</span></button></li><li><button type="button"><span>ŧ</span></button></li><li><button type="button"><span>ŋ</span></button></li><li><button type="button"><span>ʼn</span></button></li><li><button type="button"><span>Б</span></button></li><li><button type="button"><span>Г</span></button></li><li><button type="button"><span>Д</span></button></li><li><button type="button"><span>Ё</span></button></li><li><button type="button"><span>Ж</span></button></li><li><button type="button"><span>З</span></button></li><li><button type="button"><span>И</span></button></li><li><button type="button"><span>Й</span></button></li><li><button type="button"><span>Л</span></button></li><li><button type="button"><span>П</span></button></li><li><button type="button"><span>Ц</span></button></li><li><button type="button"><span>Ч</span></button></li><li><button type="button"><span>Ш</span></button></li><li><button type="button"><span>Щ</span></button></li><li><button type="button"><span>Ъ</span></button></li><li><button type="button"><span>Ы</span></button></li><li><button type="button"><span>Ь</span></button></li><li><button type="button"><span>Э</span></button></li><li><button type="button"><span>Ю</span></button></li><li><button type="button"><span>Я</span></button></li><li><button type="button"><span>б</span></button></li><li><button type="button"><span>в</span></button></li><li><button type="button"><span>г</span></button></li><li><button type="button"><span>д</span></button></li><li><button type="button"><span>ё</span></button></li><li><button type="button"><span>ж</span></button></li><li><button type="button"><span>з</span></button></li><li><button type="button"><span>и</span></button></li><li><button type="button"><span>й</span></button></li><li><button type="button"><span>л</span></button></li><li><button type="button"><span>п</span></button></li><li><button type="button"><span>ф</span></button></li><li><button type="button"><span>ц</span></button></li><li><button type="button"><span>ч</span></button></li><li><button type="button"><span>ш</span></button></li><li><button type="button"><span>щ</span></button></li><li><button type="button"><span>ъ</span></button></li><li><button type="button"><span>ы</span></button></li><li><button type="button"><span>ь</span></button></li><li><button type="button"><span>э</span></button></li><li><button type="button"><span>ю</span></button></li><li><button type="button"><span>я</span></button></li> -->
+										</ul>
+									</div>
+								</li>
+								<li><button type="button" title="일본어" class="se2_char6"><span>일본어</span></button>
+									<div class="se2_s_character">
+										<ul class="husky_se2m_sCharacter_list">
+											<li></li>
+											<!-- 일본어 목록 -->
+											<!-- <li><button type="button"><span>ぁ</span></button></li><li class="hover"><button type="button"><span>あ</span></button></li><li><button type="button"><span>ぃ</span></button></li><li><button type="button"><span>い</span></button></li><li><button type="button"><span>ぅ</span></button></li><li><button type="button"><span>う</span></button></li><li><button type="button"><span>ぇ</span></button></li><li><button type="button"><span>え</span></button></li><li><button type="button"><span>ぉ</span></button></li><li><button type="button"><span>お</span></button></li><li><button type="button"><span>か</span></button></li><li><button type="button"><span>が</span></button></li><li><button type="button"><span>き</span></button></li><li><button type="button"><span>ぎ</span></button></li><li><button type="button"><span>く</span></button></li><li><button type="button"><span>ぐ</span></button></li><li><button type="button"><span>け</span></button></li><li><button type="button"><span>げ</span></button></li><li><button type="button"><span>こ</span></button></li><li><button type="button"><span>ご</span></button></li><li><button type="button"><span>さ</span></button></li><li><button type="button"><span>ざ</span></button></li><li><button type="button"><span>し</span></button></li><li><button type="button"><span>じ</span></button></li><li><button type="button"><span>す</span></button></li><li><button type="button"><span>ず</span></button></li><li><button type="button"><span>せ</span></button></li><li><button type="button"><span>ぜ</span></button></li><li><button type="button"><span>そ</span></button></li><li><button type="button"><span>ぞ</span></button></li><li><button type="button"><span>た</span></button></li><li><button type="button"><span>だ</span></button></li><li><button type="button"><span>ち</span></button></li><li><button type="button"><span>ぢ</span></button></li><li><button type="button"><span>っ</span></button></li><li><button type="button"><span>つ</span></button></li><li><button type="button"><span>づ</span></button></li><li><button type="button"><span>て</span></button></li><li><button type="button"><span>で</span></button></li><li><button type="button"><span>と</span></button></li><li><button type="button"><span>ど</span></button></li><li><button type="button"><span>な</span></button></li><li><button type="button"><span>に</span></button></li><li><button type="button"><span>ぬ</span></button></li><li><button type="button"><span>ね</span></button></li><li><button type="button"><span>の</span></button></li><li><button type="button"><span>は</span></button></li><li><button type="button"><span>ば</span></button></li><li><button type="button"><span>ぱ</span></button></li><li><button type="button"><span>ひ</span></button></li><li><button type="button"><span>び</span></button></li><li><button type="button"><span>ぴ</span></button></li><li><button type="button"><span>ふ</span></button></li><li><button type="button"><span>ぶ</span></button></li><li><button type="button"><span>ぷ</span></button></li><li><button type="button"><span>へ</span></button></li><li><button type="button"><span>べ</span></button></li><li><button type="button"><span>ぺ</span></button></li><li><button type="button"><span>ほ</span></button></li><li><button type="button"><span>ぼ</span></button></li><li><button type="button"><span>ぽ</span></button></li><li><button type="button"><span>ま</span></button></li><li><button type="button"><span>み</span></button></li><li><button type="button"><span>む</span></button></li><li><button type="button"><span>め</span></button></li><li><button type="button"><span>も</span></button></li><li><button type="button"><span>ゃ</span></button></li><li><button type="button"><span>や</span></button></li><li><button type="button"><span>ゅ</span></button></li><li><button type="button"><span>ゆ</span></button></li><li><button type="button"><span>ょ</span></button></li><li><button type="button"><span>よ</span></button></li><li><button type="button"><span>ら</span></button></li><li><button type="button"><span>り</span></button></li><li><button type="button"><span>る</span></button></li><li><button type="button"><span>れ</span></button></li><li><button type="button"><span>ろ</span></button></li><li><button type="button"><span>ゎ</span></button></li><li><button type="button"><span>わ</span></button></li><li><button type="button"><span>ゐ</span></button></li><li><button type="button"><span>ゑ</span></button></li><li><button type="button"><span>を</span></button></li><li><button type="button"><span>ん</span></button></li><li><button type="button"><span>ァ</span></button></li><li><button type="button"><span>ア</span></button></li><li><button type="button"><span>ィ</span></button></li><li><button type="button"><span>イ</span></button></li><li><button type="button"><span>ゥ</span></button></li><li><button type="button"><span>ウ</span></button></li><li><button type="button"><span>ェ</span></button></li><li><button type="button"><span>エ</span></button></li><li><button type="button"><span>ォ</span></button></li><li><button type="button"><span>オ</span></button></li><li><button type="button"><span>カ</span></button></li><li><button type="button"><span>ガ</span></button></li><li><button type="button"><span>キ</span></button></li><li><button type="button"><span>ギ</span></button></li><li><button type="button"><span>ク</span></button></li><li><button type="button"><span>グ</span></button></li><li><button type="button"><span>ケ</span></button></li><li><button type="button"><span>ゲ</span></button></li><li><button type="button"><span>コ</span></button></li><li><button type="button"><span>ゴ</span></button></li><li><button type="button"><span>サ</span></button></li><li><button type="button"><span>ザ</span></button></li><li><button type="button"><span>シ</span></button></li><li><button type="button"><span>ジ</span></button></li><li><button type="button"><span>ス</span></button></li><li><button type="button"><span>ズ</span></button></li><li><button type="button"><span>セ</span></button></li><li><button type="button"><span>ゼ</span></button></li><li><button type="button"><span>ソ</span></button></li><li><button type="button"><span>ゾ</span></button></li><li><button type="button"><span>タ</span></button></li><li><button type="button"><span>ダ</span></button></li><li><button type="button"><span>チ</span></button></li><li><button type="button"><span>ヂ</span></button></li><li><button type="button"><span>ッ</span></button></li><li><button type="button"><span>ツ</span></button></li><li><button type="button"><span>ヅ</span></button></li><li><button type="button"><span>テ</span></button></li><li><button type="button"><span>デ</span></button></li><li><button type="button"><span>ト</span></button></li><li><button type="button"><span>ド</span></button></li><li><button type="button"><span>ナ</span></button></li><li><button type="button"><span>ニ</span></button></li><li><button type="button"><span>ヌ</span></button></li><li><button type="button"><span>ネ</span></button></li><li><button type="button"><span>ノ</span></button></li><li><button type="button"><span>ハ</span></button></li><li><button type="button"><span>バ</span></button></li><li><button type="button"><span>パ</span></button></li><li><button type="button"><span>ヒ</span></button></li><li><button type="button"><span>ビ</span></button></li><li><button type="button"><span>ピ</span></button></li><li><button type="button"><span>フ</span></button></li><li><button type="button"><span>ブ</span></button></li><li><button type="button"><span>プ</span></button></li><li><button type="button"><span>ヘ</span></button></li><li><button type="button"><span>ベ</span></button></li><li><button type="button"><span>ペ</span></button></li><li><button type="button"><span>ホ</span></button></li><li><button type="button"><span>ボ</span></button></li><li><button type="button"><span>ポ</span></button></li><li><button type="button"><span>マ</span></button></li><li><button type="button"><span>ミ</span></button></li><li><button type="button"><span>ム</span></button></li><li><button type="button"><span>メ</span></button></li><li><button type="button"><span>モ</span></button></li><li><button type="button"><span>ャ</span></button></li><li><button type="button"><span>ヤ</span></button></li><li><button type="button"><span>ュ</span></button></li><li><button type="button"><span>ユ</span></button></li><li><button type="button"><span>ョ</span></button></li><li><button type="button"><span>ヨ</span></button></li><li><button type="button"><span>ラ</span></button></li><li><button type="button"><span>リ</span></button></li><li><button type="button"><span>ル</span></button></li><li><button type="button"><span>レ</span></button></li><li><button type="button"><span>ロ</span></button></li><li><button type="button"><span>ヮ</span></button></li><li><button type="button"><span>ワ</span></button></li><li><button type="button"><span>ヰ</span></button></li><li><button type="button"><span>ヱ</span></button></li><li><button type="button"><span>ヲ</span></button></li><li><button type="button"><span>ン</span></button></li><li><button type="button"><span>ヴ</span></button></li><li><button type="button"><span>ヵ</span></button></li><li><button type="button"><span>ヶ</span></button></li> -->
+										</ul>
+									</div>
+								</li>
+								</ul>
+								<p class="se2_apply_character">
+									<label for="char_preview">선택한 기호</label> <input type="text" name="char_preview" id="char_preview" value="®º⊆●○" class="input_ty1"><button type="button" class="se2_confirm"><span>적용</span></button><button type="button" class="se2_cancel husky_se2m_sCharacter_close"><span>취소</span></button>
+								</p>
+							</div>
+						</div>
+					</div>
+					<!-- //특수기호 -->
+				</li>
+
+				<li class="husky_seditor_ui_table"><button type="button" title="표" class="se2_table"><span class="_buttonRound">표</span></button>
+					<!--@lazyload_html create_table-->
+					<!-- 표 -->
+					<div class="se2_layer husky_se2m_table_layer" style="margin-left:-171px">
+						<div class="se2_in_layer">
+							<div class="se2_table_set">
+								<fieldset>
+								<legend>칸수 지정</legend>
+									<dl class="se2_cell_num">
+									<dt><label for="row">행</label></dt>
+									<dd><input id="row" name="" type="text" maxlength="2" value="4" class="input_ty2">
+										<button type="button" class="se2_add"><span>1행추가</span></button>
+										<button type="button" class="se2_del"><span>1행삭제</span></button>
+									</dd>
+									<dt><label for="col">열</label></dt>
+									<dd><input id="col" name="" type="text" maxlength="2" value="4" class="input_ty2">
+										<button type="button" class="se2_add"><span>1열추가</span></button>
+										<button type="button" class="se2_del"><span>1열삭제</span></button>
+									</dd>
+									</dl>
+									<table border="0" cellspacing="1" class="se2_pre_table husky_se2m_table_preview">
+									<tr>
+									<td>&nbsp;</td>
+									<td>&nbsp;</td>
+									<td>&nbsp;</td>
+									<td>&nbsp;</td>
+									</tr>
+									<tr>
+									<td>&nbsp;</td>
+									<td>&nbsp;</td>
+									<td>&nbsp;</td>
+									<td>&nbsp;</td>
+									</tr>
+									<tr>
+									<td>&nbsp;</td>
+									<td>&nbsp;</td>
+									<td>&nbsp;</td>
+									<td>&nbsp;</td>
+									</tr>
+									</table>
+								</fieldset>
+								<fieldset>
+									<legend>속성직접입력</legend>
+									<dl class="se2_t_proper1">
+									<dt><input type="radio" id="se2_tbp1" name="se2_tbp" checked><label for="se2_tbp1">속성직접입력</label></dt>
+									<dd>
+										<dl class="se2_t_proper1_1">
+										<dt><label>표스타일</label></dt>
+										<dd><div class="se2_select_ty1"><span class="se2_b_style3 husky_se2m_table_border_style_preview"></span><button type="button" title="더보기" class="se2_view_more"><span>더보기</span></button></div>
+											<!-- 레이어 : 테두리스타일 -->
+											<div class="se2_layer_b_style husky_se2m_table_border_style_layer" style="display:none">
+												<ul>
+												<li><button type="button" class="se2_b_style1"><span class="se2m_no_border">테두리없음</span></button></li>
+												<li><button type="button" class="se2_b_style2"><span><span>테두리스타일2</span></span></button></li>
+												<li><button type="button" class="se2_b_style3"><span><span>테두리스타일3</span></span></button></li>
+												<li><button type="button" class="se2_b_style4"><span><span>테두리스타일4</span></span></button></li>
+												<li><button type="button" class="se2_b_style5"><span><span>테두리스타일5</span></span></button></li>
+												<li><button type="button" class="se2_b_style6"><span><span>테두리스타일6</span></span></button></li>
+												<li><button type="button" class="se2_b_style7"><span><span>테두리스타일7</span></span></button></li>
+												</ul>
+											</div>
+											<!-- //레이어 : 테두리스타일 -->
+										</dd>
+										</dl>
+										<dl class="se2_t_proper1_1 se2_t_proper1_2">
+										<dt><label for="se2_b_width">테두리두께</label></dt>
+										<dd><input id="se2_b_width" name="" type="text" maxlength="2" value="1" class="input_ty1">
+											<button type="button" title="1px 더하기" class="se2_add se2m_incBorder"><span>1px 더하기</span></button>
+											<button type="button" title="1px 빼기" class="se2_del se2m_decBorder"><span>1px 빼기</span></button>
+										</dd>
+										</dl>
+										<dl class="se2_t_proper1_1 se2_t_proper1_3">
+										<dt><label for="se2_b_color">테두리색</label></dt>
+										<dd><input id="se2_b_color" name="" type="text" maxlength="7" value="#cccccc" class="input_ty3"><span class="se2_pre_color"><button type="button" style="background:#cccccc;"><span>색찾기</span></button></span>	
+										<!-- 레이어 : 테두리색 -->
+											<div class="se2_layer se2_b_t_b1" style="clear:both;display:none;position:absolute;top:20px;left:-147px;">
+												<div class="se2_in_layer husky_se2m_table_border_color_pallet">
+												</div>
+											</div>
+										<!-- //레이어 : 테두리색-->
+										</dd>
+										</dl>
+										<div class="se2_t_dim0"></div><!-- 테두리 없음일때 딤드레이어 -->
+										<dl class="se2_t_proper1_1 se2_t_proper1_4">
+										<dt><label for="se2_cellbg">셀 배경색</label></dt>
+										<dd><input id="se2_cellbg" name="" type="text" maxlength="7" value="#ffffff" class="input_ty3"><span class="se2_pre_color"><button type="button" style="background:#ffffff;"><span>색찾기</span></button></span>
+										<!-- 레이어 : 셀배경색 -->
+										<div class="se2_layer se2_b_t_b1" style="clear:both;display:none;position:absolute;top:20px;left:-147px;">
+											<div class="se2_in_layer husky_se2m_table_bgcolor_pallet">
+											</div>
+										</div>
+										<!-- //레이어 : 셀배경색-->
+										</dd>
+										</dl>
+									</dd>
+									</dl>
+								</fieldset>
+								<fieldset>
+									<legend>표스타일</legend>
+									<dl class="se2_t_proper2">
+									<dt><input type="radio" id="se2_tbp2" name="se2_tbp"><label for="se2_tbp2">스타일 선택</label></dt>
+									<dd><div class="se2_select_ty2"><span class="se2_t_style1 husky_se2m_table_style_preview"></span><button type="button" title="더보기" class="se2_view_more"><span>더보기</span></button></div>
+										<!-- 레이어 : 표템플릿선택 -->
+										<div class="se2_layer_t_style husky_se2m_table_style_layer" style="display:none">
+											<ul class="se2_scroll">
+											<li><button type="button" class="se2_t_style1"><span>표스타일1</span></button></li>
+											<li><button type="button" class="se2_t_style2"><span>표스타일2</span></button></li>
+											<li><button type="button" class="se2_t_style3"><span>표스타일3</span></button></li>
+											<li><button type="button" class="se2_t_style4"><span>표스타일4</span></button></li>
+											<li><button type="button" class="se2_t_style5"><span>표스타일5</span></button></li>
+											<li><button type="button" class="se2_t_style6"><span>표스타일6</span></button></li>
+											<li><button type="button" class="se2_t_style7"><span>표스타일7</span></button></li>
+											<li><button type="button" class="se2_t_style8"><span>표스타일8</span></button></li>
+											<li><button type="button" class="se2_t_style9"><span>표스타일9</span></button></li>
+											<li><button type="button" class="se2_t_style10"><span>표스타일10</span></button></li>
+											<li><button type="button" class="se2_t_style11"><span>표스타일11</span></button></li>
+											<li><button type="button" class="se2_t_style12"><span>표스타일12</span></button></li>
+											<li><button type="button" class="se2_t_style13"><span>표스타일13</span></button></li>
+											<li><button type="button" class="se2_t_style14"><span>표스타일14</span></button></li>
+											<li><button type="button" class="se2_t_style15"><span>표스타일15</span></button></li>
+											<li><button type="button" class="se2_t_style16"><span>표스타일16</span></button></li>
+											</ul>
+										</div>
+										<!-- //레이어 : 표템플릿선택 -->
+									</dd>
+									</dl>
+								</fieldset>
+								<p class="se2_btn_area">
+									<button type="button" class="se2_apply"><span>적용</span></button><button type="button" class="se2_cancel"><span>취소</span></button>
+								</p>
+								<!-- 딤드레이어 -->
+								<div class="se2_t_dim3"></div>
+								<!-- //딤드레이어 -->
+							</div>
+						</div>
+					</div>
+					<!-- //표 -->
+					<!--//@lazyload_html-->
+				</li>
+
+				<li class="husky_seditor_ui_findAndReplace last_child"><button type="button" title="찾기/바꾸기" class="se2_find"><span class="_buttonRound tool_bg">찾기/바꾸기</span></button>
+					<!--@lazyload_html find_and_replace-->
+					<!-- 찾기/바꾸기 -->
+					<div class="se2_layer husky_se2m_findAndReplace_layer" style="margin-left:-238px;">
+						<div class="se2_in_layer">
+							<div class="se2_bx_find_revise">
+								<button type="button" title="닫기" class="se2_close husky_se2m_cancel"><span>닫기</span></button>
+								<h3>찾기/바꾸기</h3>
+								<ul>
+								<li class="active"><button type="button" class="se2_tabfind"><span>찾기</span></button></li>
+								<li><button type="button" class="se2_tabrevise"><span>바꾸기</span></button></li>
+								</ul>
+								<div class="se2_in_bx_find husky_se2m_find_ui" style="display:block">
+									<dl>
+									<dt><label for="find_word">찾을 단어</label></dt><dd><input type="text" id="find_word" value="스마트에디터" class="input_ty1"></dd>
+									</dl>
+									<p class="se2_find_btns">
+										<button type="button" class="se2_find_next husky_se2m_find_next"><span>다음 찾기</span></button><button type="button" class="se2_cancel husky_se2m_cancel"><span>취소</span></button>
+									</p>
+								</div>
+								<div class="se2_in_bx_revise husky_se2m_replace_ui" style="display:none">
+									<dl>
+									<dt><label for="find_word2">찾을 단어</label></dt><dd><input type="text" id="find_word2" value="스마트에디터" class="input_ty1"></dd>
+									<dt><label for="revise_word">바꿀 단어</label></dt><dd><input type="text" id="revise_word" value="스마트에디터" class="input_ty1"></dd>
+									</dl>
+									<p class="se2_find_btns">
+										<button type="button" class="se2_find_next2 husky_se2m_replace_find_next"><span>다음 찾기</span></button><button type="button" class="se2_revise1 husky_se2m_replace"><span>바꾸기</span></button><button type="button" class="se2_revise2 husky_se2m_replace_all"><span>모두 바꾸기</span></button><button type="button" class="se2_cancel husky_se2m_cancel"><span>취소</span></button>
+									</p>
+								</div>
+								<button type="button" title="닫기" class="se2_close husky_se2m_cancel"><span>닫기</span></button>
+							</div>
+						</div>
+					</div>
+					<!-- //찾기/바꾸기 -->
+					<!--//@lazyload_html-->
+				</li>
+</ul>
+			</div>
+			<!-- //704이상 -->
+		</div>
+		
+				<!-- 접근성 도움말 레이어 -->
+		<div class="se2_layer se2_accessibility" style="display:none;">
+			<div class="se2_in_layer">
+				<button type="button" title="닫기" class="se2_close"><span>닫기</span></button>
+				<h3><strong>접근성 도움말</strong></h3>
+				<div class="box_help">
+					<div>
+						<strong>툴바</strong>
+						<p>ALT+F10 을 누르면 툴바로 이동합니다. 다음 버튼은 TAB 으로 이전 버튼은 SHIFT+TAB 으로 이동 가능합니다. ENTER 를 누르면 해당 버튼의 기능이 동작하고 글쓰기 영역으로 포커스가 이동합니다. ESC 를 누르면 아무런 기능을 실행하지 않고 글쓰기 영역으로 포커스가 이동합니다.</p>
+						<strong>빠져 나가기</strong>
+						<p>ALT+. 를 누르면 스마트 에디터 다음 요소로 ALT+, 를 누르면 스마트에디터 이전 요소로 빠져나갈 수 있습니다.</p>
+						<strong>명령어 단축키</strong>
+						<ul>
+						<li>CTRL+B <span>굵게</span></li>
+						<li>SHIFT+TAB <span>내어쓰기</span></li>
+						<li>CTRL+U <span>밑줄</span></li>
+						<li>CTRL+F <span>찾기</span></li>
+						<li>CTRL+I <span>기울임 글꼴</span></li>
+						<li>CTRL+H <span>바꾸기</span></li>
+						<li>CTRL+D <span>취소선</span></li>
+						<li>CTRL+K <span>링크걸기</span></li>
+						<li>TAB <span>들여쓰기</span></li>
+						</ul>
+					</div>
+				</div>
+				<div class="se2_btns">
+					<button type="button" class="se2_close2"><span>닫기</span></button>
+				</div>
+			</div>
+		</div>		
+		<!-- //접근성 도움말 레이어 -->
+
+		<hr>
+		<!-- 입력 -->
+		<div class="se2_input_area husky_seditor_editing_area_container">
+			
+			
+			<iframe src="about:blank" id="se2_iframe" name="se2_iframe" class="se2_input_wysiwyg" width="400" height="300" title="글쓰기 영역 : 도구 모음은 ALT+F10을, 도움말은 ALT+0을 누르세요." frameborder="0" style="display:block;"></iframe>
+			<textarea name="" rows="10" cols="100" title="HTML 편집 모드" class="se2_input_syntax se2_input_htmlsrc" style="display:none;outline-style:none;resize:none"> </textarea>
+			<textarea name="" rows="10" cols="100" title="TEXT 편집 모드" class="se2_input_syntax se2_input_text" style="display:none;outline-style:none;resize:none;"> </textarea>
+			
+			<!-- 입력창 조절 안내 레이어 -->
+			<div class="ly_controller husky_seditor_resize_notice" style="z-index:20;display:none;">
+				<p>아래 영역을 드래그하여 입력창 크기를 조절할 수 있습니다.</p>
+				<button type="button" title="닫기" class="bt_clse"><span>닫기</span></button>
+				<span class="ic_arr"></span>
+			</div>
+			<!-- //입력창 조절 안내 레이어 -->
+						<div class="quick_wrap">
+				<!-- 표/글양식 간단편집기 -->
+				<!--@lazyload_html qe_table-->
+				<div class="q_table_wrap" style="z-index: 150;">
+				<button class="_fold se2_qmax q_open_table_full" style="position:absolute; display:none;top:340px;left:210px;z-index:30;" title="최대화" type="button"><span>퀵에디터최대화</span></button>
+				<div class="_full se2_qeditor se2_table_set" style="position:absolute;display:none;top:135px;left:661px;z-index:30;">
+					<div class="se2_qbar q_dragable"><span class="se2_qmini"><button title="최소화" class="q_open_table_fold"><span>퀵에디터최소화</span></button></span></div>
+					<div class="se2_qbody0">
+						<div class="se2_qbody">
+							<dl class="se2_qe1">
+							<dt>삽입</dt><dd><button class="se2_addrow" title="행삽입" type="button"><span>행삽입</span></button><button class="se2_addcol" title="열삽입" type="button"><span>열삽입</span></button></dd>
+							<dt>분할</dt><dd><button class="se2_seprow" title="행분할" type="button"><span>행분할</span></button><button class="se2_sepcol" title="열분할" type="button"><span>열분할</span></button></dd>
+
+							<dt>삭제</dt><dd><button class="se2_delrow" title="행삭제" type="button"><span>행삭제</span></button><button class="se2_delcol" title="열삭제" type="button"><span>열삭제</span></button></dd>
+							<dt>병합</dt><dd><button class="se2_merrow" title="행병합" type="button"><span>행병합</span></button></dd>
+							</dl>
+							<div class="se2_qe2 se2_qe2_3"> <!-- 테이블 퀵에디터의 경우만,  se2_qe2_3제거 -->
+								<!-- 샐배경색 -->
+								<dl class="se2_qe2_1">
+
+								<dt><input type="radio" checked="checked" name="se2_tbp3" id="se2_cellbg2" class="husky_se2m_radio_bgc"><label for="se2_cellbg2">셀 배경색</label></dt>
+								<dd><span class="se2_pre_color"><button style="background: none repeat scroll 0% 0% rgb(255, 255, 255);" type="button" class="husky_se2m_table_qe_bgcolor_btn"><span>색찾기</span></button></span>		
+									<!-- layer:셀배경색 -->
+									<div style="display:none;position:absolute;top:20px;left:0px;" class="se2_layer se2_b_t_b1">
+										<div class="se2_in_layer husky_se2m_tbl_qe_bg_paletteHolder">
+										</div>
+									</div>
+									<!-- //layer:셀배경색-->
+
+								</dd>
+								</dl>
+								<!-- //샐배경색 -->
+								<!-- 배경이미지선택 -->
+								<dl style="display: none;" class="se2_qe2_2 husky_se2m_tbl_qe_review_bg">
+								<dt><input type="radio" name="se2_tbp3" id="se2_cellbg3" class="husky_se2m_radio_bgimg"><label for="se2_cellbg3">이미지</label></dt>
+								<dd><span class="se2_pre_bgimg"><button class="husky_se2m_table_qe_bgimage_btn se2_cellimg0" type="button"><span>배경이미지선택</span></button></span>
+									<!-- layer:배경이미지선택 -->
+									<div style="display:none;position:absolute;top:20px;left:-155px;" class="se2_layer se2_b_t_b1">
+										<div class="se2_in_layer husky_se2m_tbl_qe_bg_img_paletteHolder">
+											<ul class="se2_cellimg_set">
+											<li><button class="se2_cellimg0" type="button"><span>배경없음</span></button></li>
+											<li><button class="se2_cellimg1" type="button"><span>배경1</span></button></li>
+											<li><button class="se2_cellimg2" type="button"><span>배경2</span></button></li>
+											<li><button class="se2_cellimg3" type="button"><span>배경3</span></button></li>
+											<li><button class="se2_cellimg4" type="button"><span>배경4</span></button></li>
+											<li><button class="se2_cellimg5" type="button"><span>배경5</span></button></li>
+											<li><button class="se2_cellimg6" type="button"><span>배경6</span></button></li>
+											<li><button class="se2_cellimg7" type="button"><span>배경7</span></button></li>
+											<li><button class="se2_cellimg8" type="button"><span>배경8</span></button></li>
+											<li><button class="se2_cellimg9" type="button"><span>배경9</span></button></li>
+											<li><button class="se2_cellimg10" type="button"><span>배경10</span></button></li>
+											<li><button class="se2_cellimg11" type="button"><span>배경11</span></button></li>
+											<li><button class="se2_cellimg12" type="button"><span>배경12</span></button></li>
+											<li><button class="se2_cellimg13" type="button"><span>배경13</span></button></li>
+											<li><button class="se2_cellimg14" type="button"><span>배경14</span></button></li>
+											<li><button class="se2_cellimg15" type="button"><span>배경15</span></button></li>
+											<li><button class="se2_cellimg16" type="button"><span>배경16</span></button></li>
+											<li><button class="se2_cellimg17" type="button"><span>배경17</span></button></li>
+											<li><button class="se2_cellimg18" type="button"><span>배경18</span></button></li>
+											<li><button class="se2_cellimg19" type="button"><span>배경19</span></button></li>
+											<li><button class="se2_cellimg20" type="button"><span>배경20</span></button></li>
+											<li><button class="se2_cellimg21" type="button"><span>배경21</span></button></li>
+											<li><button class="se2_cellimg22" type="button"><span>배경22</span></button></li>
+											<li><button class="se2_cellimg23" type="button"><span>배경23</span></button></li>
+											<li><button class="se2_cellimg24" type="button"><span>배경24</span></button></li>
+											<li><button class="se2_cellimg25" type="button"><span>배경25</span></button></li>
+											<li><button class="se2_cellimg26" type="button"><span>배경26</span></button></li>
+											<li><button class="se2_cellimg27" type="button"><span>배경27</span></button></li>
+											<li><button class="se2_cellimg28" type="button"><span>배경28</span></button></li>
+											<li><button class="se2_cellimg29" type="button"><span>배경29</span></button></li>
+											<li><button class="se2_cellimg30" type="button"><span>배경30</span></button></li>
+											<li><button class="se2_cellimg31" type="button"><span>배경31</span></button></li>
+											</ul>
+										</div>
+									</div>
+									<!-- //layer:배경이미지선택-->
+								</dd>
+								</dl>
+								<!-- //배경이미지선택 -->
+							</div>
+							<dl style="display: block;" class="se2_qe3 se2_t_proper2">
+							<dt><input type="radio" name="se2_tbp3" id="se2_tbp4" class="husky_se2m_radio_template"><label for="se2_tbp4">표 스타일</label></dt>
+							<dd>
+								<div class="se2_qe3_table">
+								<div class="se2_select_ty2"><span class="se2_t_style1"></span><button class="se2_view_more husky_se2m_template_more" title="더보기" type="button"><span>더보기</span></button></div>
+								<!-- layer:표스타일 -->
+								<div style="display:none;top:33px;left:0;margin:0;" class="se2_layer_t_style">
+									<ul>
+									<li><button class="se2_t_style1" type="button"><span>표 스타일1</span></button></li>
+									<li><button class="se2_t_style2" type="button"><span>표 스타일2</span></button></li>
+									<li><button class="se2_t_style3" type="button"><span>표 스타일3</span></button></li>
+									<li><button class="se2_t_style4" type="button"><span>표 스타일4</span></button></li>
+									<li><button class="se2_t_style5" type="button"><span>표 스타일5</span></button></li>
+									<li><button class="se2_t_style6" type="button"><span>표 스타일6</span></button></li>
+									<li><button class="se2_t_style7" type="button"><span>표 스타일7</span></button></li>
+									<li><button class="se2_t_style8" type="button"><span>표 스타일8</span></button></li>
+									<li><button class="se2_t_style9" type="button"><span>표 스타일9</span></button></li>
+									<li><button class="se2_t_style10" type="button"><span>표 스타일10</span></button></li>
+									<li><button class="se2_t_style11" type="button"><span>표 스타일11</span></button></li>
+									<li><button class="se2_t_style12" type="button"><span>표 스타일12</span></button></li>
+									<li><button class="se2_t_style13" type="button"><span>표 스타일13</span></button></li>
+									<li><button class="se2_t_style14" type="button"><span>표 스타일14</span></button></li>
+									<li><button class="se2_t_style15" type="button"><span>표 스타일15</span></button></li>
+									<li><button class="se2_t_style16" type="button"><span>표 스타일16</span></button></li>
+									</ul>
+								</div>
+								<!-- //layer:표스타일 -->
+								</div>
+							</dd>
+							</dl>
+							<div style="display:none" class="se2_btn_area">
+								<button class="se2_btn_save" type="button"><span>My 리뷰저장</span></button>
+							</div>
+							<div class="se2_qdim0 husky_se2m_tbl_qe_dim1"></div>
+							<div class="se2_qdim4 husky_se2m_tbl_qe_dim2"></div>
+							<div class="se2_qdim6c husky_se2m_tbl_qe_dim_del_col"></div>
+							<div class="se2_qdim6r husky_se2m_tbl_qe_dim_del_row"></div>
+						</div>
+					</div>
+				</div>
+				</div>
+				<!--//@lazyload_html-->
+				<!-- //표/글양식 간단편집기 -->
+				<!-- 이미지 간단편집기 -->
+				<!--@lazyload_html qe_image-->
+				<div class="q_img_wrap">
+					<button class="_fold se2_qmax q_open_img_full" style="position:absolute;display:none;top:240px;left:210px;z-index:30;" title="최대화" type="button"><span>퀵에디터최대화</span></button>
+					<div class="_full se2_qeditor se2_table_set" style="position:absolute;display:none;top:140px;left:450px;z-index:30;">
+						<div class="se2_qbar  q_dragable"><span class="se2_qmini"><button title="최소화" class="q_open_img_fold"><span>퀵에디터최소화</span></button></span></div>
+						<div class="se2_qbody0">
+							<div class="se2_qbody">
+								<div class="se2_qe10">
+									<label for="se2_swidth">가로</label><input type="text" class="input_ty1 widthimg" name="" id="se2_swidth" value="1024"><label class="se2_sheight" for="se2_sheight">세로</label><input type="text" class="input_ty1 heightimg" name="" id="se2_sheight" value="768"><button class="se2_sreset" type="button"><span>초기화</span></button>
+									<div class="se2_qe10_1"><input type="checkbox" name="" class="se2_srate" id="se2_srate"><label for="se2_srate">가로 세로 비율 유지</label></div>
+								</div>
+								<div class="se2_qe11">
+									<dl class="se2_qe11_1">
+									<dt><label for="se2_b_width2">테두리두께</label></dt>
+										<dd class="se2_numberStepper"><input type="text" class="input_ty1 input bordersize" value="1" maxlength="2" name="" id="se2_b_width2" readonly="readonly">
+										<button class="se2_add plus" type="button"><span>1px 더하기</span></button>
+										<button class="se2_del minus" type="button"><span>1px 빼기</span></button>
+									</dd>
+									</dl>
+
+									<dl class="se2_qe11_2">
+									<dt>테두리 색</dt>
+									<dd><span class="se2_pre_color"><button style="background:#000000;" type="button" class="husky_se2m_img_qe_bgcolor_btn"><span>색찾기</span></button></span>
+										<!-- layer:테두리 색 -->
+										<div style="display:none;position:absolute;top:20px;left:-209px;" class="se2_layer se2_b_t_b1">
+											<div class="se2_in_layer husky_se2m_img_qe_bg_paletteHolder">
+											</div>
+										</div>
+										<!-- //layer:테두리 색 -->
+									</dd>
+									</dl>
+								</div>
+								<dl class="se2_qe12">
+								<dt>정렬</dt>
+								<dd><button title="정렬없음" class="se2_align0" type="button"><span>정렬없음</span></button><button title="좌측정렬" class="se2_align1 left" type="button"><span>좌측정렬</span></button><button title="우측정렬" class="se2_align2 right" type="button"><span>우측정렬</span></button>
+								</dd>
+								</dl>
+								<button class="se2_highedit" type="button"><span>고급편집</span></button>
+								<div class="se2_qdim0"></div>
+							</div>
+						</div>
+					</div>
+				</div>
+				<!--//@lazyload_html-->
+				<!-- 이미지 간단편집기 -->
+			</div>
+		</div>
+		<!-- //입력 -->
+		<!-- 입력창조절/ 모드전환 -->
+		<div class="se2_conversion_mode">
+			<button type="button" class="se2_inputarea_controller husky_seditor_editingArea_verticalResizer" title="입력창 크기 조절"><span>입력창 크기 조절</span></button>
+			<ul class="se2_converter">
+			<li class="active"><button type="button" class="se2_to_editor"><span>Editor</span></button></li>
+			<li><button type="button" class="se2_to_html"><span>HTML</span></button></li>
+			<li><button type="button" class="se2_to_text"><span>TEXT</span></button></li>
+			</ul>
+		</div>
+		<!-- //입력창조절/ 모드전환 -->
+		<hr>
+		<!-- 얼럿 메세지 공통 -->
+		<div class="se2_alert_wrap" style="display:none">
+			<div class="se2_alert_content">
+				<div class="se2_alert_txts"></div>
+				<p class="se2_alert_btns">
+					<button type="button" class="se2_confirm"><span>확인</span></button><button type="button" class="se2_cancel"><span>취소</span></button>
+				</p>
+				<a href="#" class="btn_close">닫기</a>
+			</div>
+			<!-- 레이어 중앙정렬 -->
+			<span class="va_line"></span>
+			<div class="ie_cover"></div>
+		</div>
+		<!-- //얼럿 메세지 공통 -->
+	</div>
+</div>
+<!-- SE2 Markup End -->
+
+<!--Example Start-->
+<div id="se2_sample" style="margin:10px 0;">
+	<input type="button" onclick="pasteHTML();" value="본문에 내용 넣기" />
+	<input type="button" onclick="showHTML();" value="본문 내용 가져오기" />
+	<input type="button" onclick="submitContents();" value="서버로 내용 전송" />
+	<input type="button" onclick="setDefaultFont();" value="기본 폰트 지정하기 (궁서_24)" />
+	<form action="sample/viewer/index.php" method="post">
+		<textarea name="ir1" id="ir1" rows="10" cols="100" style="width:766px; height:412px; display:none;">
+			<p>글 수정시 여기에 값을 넣어주면 됩니다.</p>
+		</textarea>
+	</form>
+</div>
+
+<script type="text/javascript">
+if(window.frameElement){
+	jindo.$("se2_sample").style.display = "none";
+}else{
+	var oEditor = createSEditor2(jindo.$("ir1"), {
+		bUseToolbar : true,				// 툴바 사용 여부 (true:사용/ false:사용하지 않음)
+		bUseVerticalResizer : true,		// 입력창 크기 조절바 사용 여부 (true:사용/ false:사용하지 않음)
+		bUseModeChanger : true,			// 모드 탭(Editor | HTML | TEXT) 사용 여부 (true:사용/ false:사용하지 않음)
+		//bSkipXssFilter : true,		// client-side xss filter 무시 여부 (true:사용하지 않음 / 그외:사용)
+		//aAdditionalFontList : [["MS UI Gothic", "MS UI Gothic"], ["Comic Sans MS", "Comic Sans MS"],["TEST","TEST"]],	// 추가 글꼴 목록
+		fOnBeforeUnload : function(){
+			//예제 코드
+			//return "내용이 변경되었습니다.";
+		}
+	});
+	
+	oEditor.run({
+		fnOnAppReady: function(){
+			//예제 코드
+			//oEditor.exec("PASTE_HTML", ["로딩이 완료된 후에 본문에 삽입되는 text입니다."]);
+		}
+	});
+	
+	function pasteHTML() {
+		var sHTML = "<span style='color:#FF0000;'>이미지도 같은 방식으로 삽입합니다.<\/span>";
+		oEditor.exec("PASTE_HTML", [sHTML]);
+	}
+	
+	function showHTML() {
+		var sHTML = oEditor.getIR();
+		alert(sHTML);
+	}
+	
+	function submitContents() {
+		oEditor.exec("UPDATE_CONTENTS_FIELD");	// 에디터의 내용이 textarea에 적용됩니다.
+	
+		// 에디터의 내용에 대한 값 검증은 이곳에서 document.getElementById("ir1").value를 이용해서 처리하면 됩니다.
+		jindo.$("ir1").form.submit();
+	}
+	
+	function setDefaultFont() {
+		var sDefaultFont = '궁서';
+		var nFontSize = 24;
+		oEditor.setDefaultFont(sDefaultFont, nFontSize);
+	}
+}
+</script>
+<!--Example End-->
+</body>
+</html>(파일 끝에 줄바꿈 문자 없음)
 
client/smarteditor2-2.8.2.3/css/ko_KR/smart_editor2.css (added)
+++ client/smarteditor2-2.8.2.3/css/ko_KR/smart_editor2.css
@@ -0,0 +1,234 @@
+@charset "UTF-8";
+/* NHN Web Standardization Team (http://html.nhndesign.com/) HHJ 090226 */
+/* COMMON */
+body,#smart_editor2,#smart_editor2 p,#smart_editor2 h1,#smart_editor2 h2,#smart_editor2 h3,#smart_editor2 h4,#smart_editor2 h5,#smart_editor2 h6,#smart_editor2 ul,#smart_editor2 ol,#smart_editor2 li,#smart_editor2 dl,#smart_editor2 dt,#smart_editor2 dd,#smart_editor2 table,#smart_editor2 th,#smart_editor2 td,#smart_editor2 form,#smart_editor2 fieldset,#smart_editor2 legend,#smart_editor2 input,#smart_editor2 textarea,#smart_editor2 button,#smart_editor2 select{margin:0;padding:0}
+#smart_editor2,#smart_editor2 h1,#smart_editor2 h2,#smart_editor2 h3,#smart_editor2 h4,#smart_editor2 h5,#smart_editor2 h6,#smart_editor2 input,#smart_editor2 textarea,#smart_editor2 select,#smart_editor2 table,#smart_editor2 button{font-family:'돋움',Dotum,Helvetica,sans-serif;font-size:16px;color:#666}
+
+/* 에디터 사이즈 조정 */
+#smart_editor2 {width:100% !important;margin-right: 1px !important;min-width: 100px !important;}
+
+#smart_editor2 span,#smart_editor2 em{font-size:12px}
+#smart_editor2 em,#smart_editor2 address{font-style:normal}
+#smart_editor2 img,#smart_editor2 fieldset{border:0}
+#smart_editor2 hr{display:none}
+#smart_editor2 ol,#smart_editor2 ul{list-style:none}
+#smart_editor2 button{border:0;background:none;font-size:11px;vertical-align:top;cursor:pointer}
+#smart_editor2 button span,#smart_editor2 button em{visibility:hidden;overflow:hidden;position:absolute;top:0;font-size:0;line-height:0}
+#smart_editor2 legend,#smart_editor2 .blind{visibility:hidden;overflow:hidden;position:absolute;width:0;height:0;font-size:0;line-height:0}
+#smart_editor2 .input_ty1{height:14px;margin:0;padding:4px 2px 0 4px;border:1px solid #c7c7c7;font-size:11px;color:#666}
+#smart_editor2 a:link,#smart_editor2 a:visited,#smart_editor2 a:active,#smart_editor2 a:focus{color:#666;text-decoration:none}
+#smart_editor2 a:hover{color:#666;text-decoration:underline}
+/* LAYOUT */
+#smart_editor2 .se2_header{margin:10px 0 29px 0}
+#smart_editor2 .se2_bi{float:left;width:93px;height:20px;margin:0;padding:0;background:url("../../img/ko_KR/btn_set.png?160622") -343px -358px no-repeat;font-size:0;line-height:0;text-indent:-10000px;vertical-align:middle}
+#smart_editor2 .se2_allhelp{display:inline-block;width:18px;height:18px;padding:0;background:url("../../img/ko_KR/btn_set.png?160622") -437px -358px no-repeat;font-size:0;line-height:0;text-indent:-10000px;vertical-align:middle}
+#smart_editor2 #smart_editor2_content{position:relative;border:1px solid #b5b5b5}
+#smart_editor2 .se2_tool{overflow:visible;position:relative;z-index:25}
+/* EDITINGAREA */
+#smart_editor2 .se2_input_area{position:relative;z-index:22;height:400px;margin:0;padding:0;*zoom:1}
+#smart_editor2 .se2_input_wysiwyg,#smart_editor2 .se2_input_syntax{display:block;overflow:auto;width:100%;height:100%;margin:0;*margin:-1px 0 0 0;border:0}
+/* EDITINGMODE */
+#smart_editor2 .se2_conversion_mode{position:relative;height:15px;padding-top:1px;border-top:1px solid #b5b5b5;background:url("../../img/icon_set.gif?141007") 0 -896px repeat-x}
+#smart_editor2 .se2_inputarea_controller{display:block;clear:both;position:relative;width:100%;height:15px;text-align:center;cursor:n-resize}
+#smart_editor2 .se2_inputarea_controller span,#smart_editor2 .controller_on span{background:url("../../img/ico_extend.png") no-repeat}
+#smart_editor2 .se2_inputarea_controller span{position:static;display:inline-block;visibility:visible;overflow:hidden;height:15px;padding-left:11px;background-position:0 2px;color:#888;font-size:11px;letter-spacing:-1px;line-height:16px;white-space:nowrap}
+* + html #smart_editor2 .se2_inputarea_controller span{line-height:14px}
+#smart_editor2 .controller_on span{background-position:0 -21px;color:#249c04}
+#smart_editor2 .ly_controller{display:block;position:absolute;bottom:2px;left:50%;width:287px;margin-left:-148px;padding:8px 0 7px 9px;border:1px solid #827f7c;background:#fffdef}
+#smart_editor2 .ly_controller p{color:#666;font-size:11px;letter-spacing:-1px;line-height:11px}
+#smart_editor2 .ly_controller .bt_clse,#smart_editor2 .ly_controller .ic_arr{position:absolute;background:url("../../img/ico_extend.png") no-repeat}
+#smart_editor2 .ly_controller .bt_clse{top:5px;right:4px;width:14px;height:15px;background-position:1px -43px}
+#smart_editor2 .ly_controller .ic_arr{top:25px;left:50%;width:10px;height:6px;margin-left:-5px;background-position:0 -65px}
+#smart_editor2 .se2_converter{float:left;position:absolute;top:-1px;right:3px;z-index:20}
+#smart_editor2 .se2_converter li{float:left}
+#smart_editor2 .se2_converter .se2_to_editor{width:59px;height:15px;background:url("../../img/ko_KR/btn_set.png?160622") 0 -85px no-repeat;vertical-align:top}
+#smart_editor2 .se2_converter .se2_to_html{width:59px;height:15px;background:url("../../img/ko_KR/btn_set.png?160622") -59px -70px no-repeat;vertical-align:top}
+#smart_editor2 .se2_converter .se2_to_text{width:60px;height:15px;background:url("../../img/ko_KR/btn_set.png?160622") -417px -466px no-repeat;vertical-align:top}
+#smart_editor2 .se2_converter .active .se2_to_editor{width:59px;height:15px;background:url("../../img/ko_KR/btn_set.png?160622") 0 -70px no-repeat;vertical-align:top}
+#smart_editor2 .se2_converter .active .se2_to_html{width:59px;height:15px;background:url("../../img/ko_KR/btn_set.png?160622") -59px -85px no-repeat;vertical-align:top}
+#smart_editor2 .se2_converter .active .se2_to_text{width:60px;height:15px;background:url("../../img/ko_KR/btn_set.png?160622") -417px -481px no-repeat;vertical-align:top}
+/* EDITINGAREA_HTMLSRC */
+#smart_editor2 .off .ico_btn,#smart_editor2 .off .se2_more,#smart_editor2 .off .se2_more2,#smart_editor2 .off .se2_font_family,#smart_editor2 .off .se2_font_size,#smart_editor2 .off .se2_bold,#smart_editor2 .off .se2_underline,#smart_editor2 .off .se2_italic,#smart_editor2 .off .se2_tdel,#smart_editor2 .off .se2_fcolor,#smart_editor2 .off .se2_fcolor_more,#smart_editor2 .off .se2_bgcolor,#smart_editor2 .off .se2_bgcolor_more,#smart_editor2 .off .se2_left,#smart_editor2 .off .se2_center,#smart_editor2 .off .se2_right,#smart_editor2 .off .se2_justify,#smart_editor2 .off .se2_ol,#smart_editor2 .off .se2_ul,#smart_editor2 .off .se2_indent,#smart_editor2 .off .se2_outdent,#smart_editor2 .off .se2_lineheight,#smart_editor2 .off .se2_del_style,#smart_editor2 .off .se2_blockquote,#smart_editor2 .off .se2_summary,#smart_editor2 .off .se2_footnote,#smart_editor2 .off .se2_url,#smart_editor2 .off .se2_emoticon,#smart_editor2 .off .se2_character,#smart_editor2 .off .se2_table,#smart_editor2 .off .se2_find,#smart_editor2 .off .se2_spelling,#smart_editor2 .off .se2_sup,#smart_editor2 .off .se2_sub,#smart_editor2 .off .se2_text_tool_more,#smart_editor2 .off .se2_new,#smart_editor2 .off .selected_color,#smart_editor2 .off .se2_lineSticker{-ms-filter:alpha(opacity=50);opacity:.5;cursor:default;filter:alpha(opacity=50)}
+/* LAYER */
+#smart_editor2 .se2_text_tool .se2_layer{display:none;float:left;position:absolute;top:20px;left:0;z-index:50;margin:0;padding:0;border:1px solid #bcbbbb;background:#fafafa}
+#smart_editor2 .se2_text_tool li.active{z-index:50}
+#smart_editor2 .se2_text_tool .active .se2_layer{display:block}
+#smart_editor2 .se2_text_tool .active li .se2_layer{display:none}
+#smart_editor2 .se2_text_tool .active .active .se2_layer{display:block}
+#smart_editor2 .se2_text_tool .se2_layer .se2_in_layer{float:left;margin:0;padding:0;border:1px solid #fff;background:#fafafa}
+#smart_editor2 .se2_content_loading{display:none;z-index:10;position:absolute;top:0;left:0;width:100%;height:100%;text-align:center}
+#smart_editor2 .se2_content_loading img{position:absolute;top:50%;left:50%;margin:-27px 0 0 -27px}
+#smart_editor2 .se2_alert_wrap{display:none;z-index:20;position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;text-align:center}
+#smart_editor2 .se2_alert_wrap.active{display:block}
+#smart_editor2 .se2_alert_wrap .dimmed{position:absolute;top:0;left:0;width:100%;height:100%;background:#000;opacity:0.4;filter:alpha(opacity=40)}
+#smart_editor2 .se2_alert_wrap .ie_cover{position:absolute;top:0;left:0;width:100%;height:100%;background:#fff;opacity:0;filter:alpha(opacity=0)}
+#smart_editor2 .se2_alert_wrap .va_line{display:inline-block;height:100%;vertical-align:middle;*zoom:1}
+#smart_editor2 .se2_alert_wrap .se2_alert_content{z-index:10;position:relative;display:inline-block;*display:inline;*zoom:1;border:1px solid #727272;background:#fff;padding:26px 33px 22px;vertical-align:middle}
+#smart_editor2 .se2_alert_wrap .se2_alert_content{margin-top:47px}
+#smart_editor2 .se2_alert_wrap .txt1{color:#333;line-height:18px}
+#smart_editor2 .se2_alert_wrap .txt2{margin-top:3px;color:#999}
+#smart_editor2 .se2_alert_wrap .btn_close,#smart_editor2 .se2_alert_btns button{background:url("../../img/ko_KR/btn_set.png?160622") no-repeat}
+#smart_editor2 .se2_alert_wrap .btn_close{z-index:10;position:absolute;top:7px;right:7px;width:11px;height:11px;background-position:-122px -32px;text-indent:-5000px}
+#smart_editor2 .se2_alert_btns{margin-top:19px}
+#smart_editor2 .se2_alert_btns button{display:inline;float:none;width:48px;height:27px}
+#smart_editor2 .se2_alert_btns button + button{margin-left:10px}
+#smart_editor2 .se2_alert_btns .se2_confirm{background-position:-369px -434px}
+#smart_editor2 .se2_alert_btns .se2_cancel{background-position:-419px -434px}
+/* TEXT_TOOLBAR */
+#smart_editor2 .se2_text_tool{position:relative;clear:both;z-index:30;padding:4px 0 4px 3px;background:#f4f4f4 url("../../img/bg_text_tool.gif") 0 0 repeat-x;border-bottom:1px solid #b5b5b5;*zoom:1}
+#smart_editor2 .se2_text_tool:after{content:"";display:block;clear:both}
+#smart_editor2 .se2_text_tool ul{float:left;display:inline;margin-right:3px;padding-left:1px;white-space:nowrap}
+#smart_editor2 .se2_text_tool li{_display:inline;float:left;position:relative;z-index:30}
+#smart_editor2 .se2_text_tool button,#smart_editor2 .se2_multy .se2_icon{width:21px;height:21px;background:url("../../img/ko_KR/text_tool_set.png?140317") no-repeat;vertical-align:top}
+#smart_editor2 .se2_text_tool .se2_font_type{position:relative}
+#smart_editor2 .se2_text_tool .se2_font_type li{margin-left:3px}
+#smart_editor2 .se2_text_tool .se2_font_type button{text-align:left}
+#smart_editor2 .se2_text_tool .se2_font_type button.se2_font_family span,#smart_editor2 .se2_text_tool .se2_font_type button.se2_font_size span{display:inline-block;visibility:visible;position:static;width:52px;height:20px;padding:0 0 0 6px;font-size:12px;line-height:20px;*line-height:22px;color:#333;*zoom:1}
+#smart_editor2 .se2_text_tool .se2_multy{position:absolute;top:0;right:0;padding-left:0;margin-right:0;white-space:nowrap;border-left:1px solid #e0dedf}
+#smart_editor2 .se2_text_tool .se2_multy .se2_mn{float:left;white-space:nowrap}
+#smart_editor2 .se2_text_tool .se2_multy button{background-image:none;width:47px}
+#smart_editor2 .se2_text_tool .se2_multy .se2_icon{display:inline-block;visibility:visible;overflow:visible;position:static;width:16px;height:29px;margin:-1px 2px 0 -1px;background-position:0 -132px;line-height:30px;vertical-align:top}
+#smart_editor2 .se2_text_tool .se2_multy button,#smart_editor2 .se2_text_tool .se2_multy button span{height:29px;line-height:29px}
+#smart_editor2 .se2_text_tool .se2_map .se2_icon{background-position:-29px -132px}
+#smart_editor2 .se2_text_tool button span.se2_mntxt{display:inline-block;visibility:visible;overflow:visible;_overflow-y:hidden;position:relative;*margin-right:-1px;width:auto;height:29px;font-weight:normal;font-size:11px;line-height:30px;*line-height:29px;_line-height:30px;color:#444;letter-spacing:-1px;vertical-align:top}
+#smart_editor2 .se2_text_tool .se2_multy .se2_photo{margin-right:1px}
+#smart_editor2 .se2_text_tool .se2_multy .hover .ico_btn{background:#e8e8e8}
+#smart_editor2 .se2_text_tool .se2_multy .se2_mn.hover{background:#e0dedf}
+/* TEXT_TOOLBAR : ROUNDING */
+#smart_editor2 ul li.first_child button span.tool_bg, #smart_editor2 ul li.last_child button span.tool_bg, #smart_editor2 ul li.single_child button span.tool_bg{visibility:visible;height:21px}
+#smart_editor2 ul li.first_child button span.tool_bg{left:-1px;width:3px;background:url("../../img/bg_button_left.gif?20121228") no-repeat}
+#smart_editor2 ul li.last_child button span.tool_bg{right:0px;_right:-1px;width:2px;background:url("../../img/bg_button_right.gif") no-repeat}
+#smart_editor2 ul li.single_child{padding-right:1px}
+#smart_editor2 ul li.single_child button span.tool_bg{left:0;background:url("../../img/bg_button.gif?20121228") no-repeat;width:22px}
+#smart_editor2 div.se2_text_tool ul li.hover button span.tool_bg{background-position:0 -21px}
+#smart_editor2 div.se2_text_tool ul li.active button span.tool_bg, #smart_editor2 div.se2_text_tool ul li.active li.active button span.tool_bg{background-position:0 -42px}
+#smart_editor2 div.se2_text_tool ul li.active li button span.tool_bg{background-position:0 0}
+/* TEXT_TOOLBAR : SUB_MENU */
+#smart_editor2 .se2_sub_text_tool{display:none;position:absolute;top:20px;left:0;z-index:40;width:auto;height:29px;padding:0 4px 0 0;border:1px solid #b5b5b5;border-top:1px solid #9a9a9a;background:#f4f4f4}
+#smart_editor2 .active .se2_sub_text_tool{display:block}
+#smart_editor2 .se2_sub_text_tool ul{float:left;height:25px;margin:0;padding:4px 0 0 4px}
+/* TEXT_TOOLBAR : SUB_MENU_SIZE */
+#smart_editor2 .se2_sub_step1{width:88px}
+#smart_editor2 .se2_sub_step2{width:199px}
+#smart_editor2 .se2_sub_step2_1{width:178px}
+/* TEXT_TOOLBAR : BUTTON */
+#smart_editor2 .se2_text_tool .se2_font_family{width:70px;height:21px;background-position:0 -10px}
+#smart_editor2 .se2_text_tool .hover .se2_font_family{background-position:0 -72px}
+#smart_editor2 .se2_text_tool .active .se2_font_family{background-position:0 -103px}
+#smart_editor2 .se2_text_tool .se2_font_size{width:45px;height:21px;background-position:-70px -10px}
+#smart_editor2 .se2_text_tool .hover .se2_font_size{background-position:-70px -72px}
+#smart_editor2 .se2_text_tool .active .se2_font_size{background-position:-70px -103px}
+#smart_editor2 .se2_text_tool .se2_bold{background-position:-115px -10px}
+#smart_editor2 .se2_text_tool .hover .se2_bold{background-position:-115px -72px}
+#smart_editor2 .se2_text_tool .active .se2_bold{background-position:-115px -103px}
+#smart_editor2 .se2_text_tool .se2_underline{background-position:-136px -10px}
+#smart_editor2 .se2_text_tool .hover .se2_underline{background-position:-136px -72px}
+#smart_editor2 .se2_text_tool .active .se2_underline{background-position:-136px -103px}
+#smart_editor2 .se2_text_tool .se2_italic{background-position:-157px -10px}
+#smart_editor2 .se2_text_tool .hover .se2_italic{background-position:-157px -72px}
+#smart_editor2 .se2_text_tool .active .se2_italic{background-position:-157px -103px}
+#smart_editor2 .se2_text_tool .se2_tdel{background-position:-178px -10px}
+#smart_editor2 .se2_text_tool .hover .se2_tdel{background-position:-178px -72px}
+#smart_editor2 .se2_text_tool .active .se2_tdel{background-position:-178px -103px}
+#smart_editor2 .se2_text_tool .se2_fcolor{position:relative;background-position:-199px -10px}
+#smart_editor2 .se2_text_tool .hover .se2_fcolor{background-position:-199px -72px}
+#smart_editor2 .se2_text_tool .active .se2_fcolor{background-position:-199px -103px}
+#smart_editor2 .se2_text_tool .se2_fcolor_more{background-position:-220px -10px;width:10px}
+#smart_editor2 .se2_text_tool .hover .se2_fcolor_more{background-position:-220px -72px}
+#smart_editor2 .se2_text_tool .active .se2_fcolor_more{background-position:-220px -103px}
+#smart_editor2 .se2_text_tool .selected_color{position:absolute;top:14px;left:5px;width:11px;height:3px;font-size:0}
+#smart_editor2 .se2_text_tool .se2_ol,#smart_editor2 .se2_text_tool .active .se2_sub_text_tool .se2_ol{background-position:-345px -10px}
+#smart_editor2 .se2_text_tool .se2_ul,#smart_editor2 .se2_text_tool .active .se2_sub_text_tool .se2_ul{background-position:-366px -10px}
+#smart_editor2 .se2_text_tool .hover .se2_ol,#smart_editor2 .se2_text_tool .active .se2_sub_text_tool .hover .se2_ol{background-position:-345px -72px}
+#smart_editor2 .se2_text_tool .hover .se2_ul,#smart_editor2 .se2_text_tool .active .se2_sub_text_tool .hover .se2_ul{background-position:-366px -72px}
+#smart_editor2 .se2_text_tool .active .se2_ol,#smart_editor2 .se2_text_tool .active .active .se2_ol{background-position:-345px -103px}
+#smart_editor2 .se2_text_tool .active .se2_ul,#smart_editor2 .se2_text_tool .active .active .se2_ul{background-position:-366px -103px}
+#smart_editor2 .se2_text_tool .se2_indent,#smart_editor2 .se2_text_tool .active .se2_sub_text_tool .se2_indent{background-position:-408px -10px}
+#smart_editor2 .se2_text_tool .se2_outdent,#smart_editor2 .se2_text_tool .active .se2_sub_text_tool .se2_outdent{background-position:-387px -10px}
+#smart_editor2 .se2_text_tool .hover .se2_indent,#smart_editor2 .se2_text_tool .active .se2_sub_text_tool .hover .se2_indent{background-position:-408px -72px}
+#smart_editor2 .se2_text_tool .hover .se2_outdent,#smart_editor2 .se2_text_tool .active .se2_sub_text_tool .hover .se2_outdent{background-position:-387px -72px}
+#smart_editor2 .se2_text_tool .active .se2_indent,#smart_editor2 .se2_text_tool .active .active .se2_indent{background-position:-408px -103px}
+#smart_editor2 .se2_text_tool .active .se2_outdent,#smart_editor2 .se2_text_tool .active .active .se2_outdent{background-position:-387px -103px}
+#smart_editor2 .se2_text_tool .se2_lineheight{background-position:-429px -10px}
+#smart_editor2 .se2_text_tool .hover .se2_lineheight{background-position:-429px -72px}
+#smart_editor2 .se2_text_tool .active .se2_lineheight{background-position:-429px -103px}
+#smart_editor2 .se2_text_tool .se2_url{background-position:-513px -10px}
+#smart_editor2 .se2_text_tool .hover .se2_url{background-position:-513px -72px}
+#smart_editor2 .se2_text_tool .active .se2_url{background-position:-513px -103px}
+#smart_editor2 .se2_text_tool .se2_bgcolor{position:relative;background-position:-230px -10px}
+#smart_editor2 .se2_text_tool .hover .se2_bgcolor{background-position:-230px -72px}
+#smart_editor2 .se2_text_tool .active .se2_bgcolor{background-position:-230px -103px}
+#smart_editor2 .se2_text_tool .se2_bgcolor_more{background-position:-251px -10px;width:10px}
+#smart_editor2 .se2_text_tool .hover .se2_bgcolor_more{background-position:-251px -72px}
+#smart_editor2 .se2_text_tool .active .se2_bgcolor_more{background-position:-251px -103px}
+#smart_editor2 .se2_text_tool .se2_left{background-position:-261px -10px}
+#smart_editor2 .se2_text_tool .hover .se2_left{background-position:-261px -72px}
+#smart_editor2 .se2_text_tool .active .se2_left{background-position:-261px -103px}
+#smart_editor2 .se2_text_tool .se2_center{background-position:-282px -10px}
+#smart_editor2 .se2_text_tool .hover .se2_center{background-position:-282px -72px}
+#smart_editor2 .se2_text_tool .active .se2_center{background-position:-282px -103px}
+#smart_editor2 .se2_text_tool .se2_right{background-position:-303px -10px}
+#smart_editor2 .se2_text_tool .hover .se2_right{background-position:-303px -72px}
+#smart_editor2 .se2_text_tool .active .se2_right{background-position:-303px -103px}
+#smart_editor2 .se2_text_tool .se2_justify{background-position:-324px -10px}
+#smart_editor2 .se2_text_tool .hover .se2_justify{background-position:-324px -72px}
+#smart_editor2 .se2_text_tool .active .se2_justify{background-position:-324px -103px}
+#smart_editor2 .se2_text_tool .se2_blockquote{background-position:-471px -10px}
+#smart_editor2 .se2_text_tool .hover .se2_blockquote{background-position:-471px -72px}
+#smart_editor2 .se2_text_tool .active .se2_blockquote{background-position:-471px -103px}
+#smart_editor2 .se2_text_tool .se2_character{background-position:-555px -10px}
+#smart_editor2 .se2_text_tool .hover .se2_character{background-position:-555px -72px}
+#smart_editor2 .se2_text_tool .active .se2_character{background-position:-555px -103px}
+#smart_editor2 .se2_text_tool .se2_table{background-position:-576px -10px}
+#smart_editor2 .se2_text_tool .hover .se2_table{background-position:-576px -72px}
+#smart_editor2 .se2_text_tool .active .se2_table{background-position:-576px -103px}
+#smart_editor2 .se2_text_tool .se2_find{background-position:-597px -10px}
+#smart_editor2 .se2_text_tool .hover .se2_find{background-position:-597px -72px}
+#smart_editor2 .se2_text_tool .active .se2_find{background-position:-597px -103px}
+#smart_editor2 .se2_text_tool .se2_sup{background-position:-660px -10px}
+#smart_editor2 .se2_text_tool .hover .se2_sup{background-position:-660px -72px}
+#smart_editor2 .se2_text_tool .active .se2_sup{background-position:-660px -103px}
+#smart_editor2 .se2_text_tool .se2_sub{background-position:-681px -10px}
+#smart_editor2 .se2_text_tool .hover .se2_sub{background-position:-681px -72px}
+#smart_editor2 .se2_text_tool .active .se2_sub{background-position:-681px -103px}
+#smart_editor2 .se2_text_tool .se2_text_tool_more{background-position:0 -41px;width:13px}
+#smart_editor2 .se2_text_tool .se2_text_tool_more span.tool_bg{background:none}
+#smart_editor2 .se2_text_tool .hover .se2_text_tool_more{background-position:-13px -41px}
+#smart_editor2 .se2_text_tool .active .se2_text_tool_more{background-position:-26px -41px}
+
+/*@###################################################추가####################################################################################*/
+#smart_editor2 .input_ty2{width: 23px; height:14px;margin:0 4px;padding:4px 2px 0 4px;border:1px solid #c7c7c7;font-size:11px;color:#666}
+#smart_editor2 .se2_text_tool .se2_video_2 .se2_icon{width:21px;height:21px;background:url("../../img/icon_set.gif") no-repeat;vertical-align:top}
+#smart_editor2 .se2_text_tool .se2_video_2{position:absolute;top:0;right:0;padding-left:0;margin-right:0;white-space:nowrap;border-left:1px solid #e0dedf}
+#smart_editor2 .se2_text_tool .se2_video_2 .se2_mn{float:left;white-space:nowrap}
+#smart_editor2 .se2_text_tool .se2_video_2 button{background-image:none;width:47px}
+#smart_editor2 .se2_text_tool .se2_video_2 .se2_icon{display:inline-block;visibility:visible;overflow:visible;position:static;width:16px;height:29px;margin:-1px 2px 0 -1px;background-position:-17px -1255px;line-height:30px;vertical-align:top}
+#smart_editor2 .se2_text_tool .se2_video_2 button,#smart_editor2 .se2_text_tool .se2_video_2 button span{height:29px;line-height:29px}
+#smart_editor2 .se2_text_tool .se2_video_2 .se2_photo{margin-right:1px}
+#smart_editor2 .se2_text_tool .se2_video_2 .hover .ico_btn{background:#e8e8e8}
+#smart_editor2 .se2_text_tool .se2_video_2 .se2_mn.hover{background:#e0dedf}
+/*@###################################################추가 끝############################################################################*/
+
+/* 반응형을 위한 css 코드 추가 */
+@media screen and (max-width: 640px){
+    #smart_editor2 .se2_text_tool ul:nth-child(4n){clear:both;}
+    #smart_editor2 .se2_text_tool ul{margin-bottom:4px}
+    #smart_editor2 .se2_text_tool ul:nth-child(n+4){margin-bottom:0}
+    #smart_editor2 .se2_text_tool .se2_multy,#smart_editor2 .se2_text_tool .se2_multy button, #smart_editor2 .se2_text_tool .se2_multy button span{height:54px}
+}
+@media screen and (max-width: 515px){
+    #smart_editor2 .se2_text_tool ul:nth-child(3n){clear:both;margin-left:4px}
+    #smart_editor2 .se2_text_tool ul:nth-child(6n),#smart_editor2 .se2_text_tool ul:nth-child(4n){clear:none;margin-left:0}
+    #smart_editor2 .se2_text_tool ul:nth-child(n+3){margin-bottom:4px}
+}
+@media screen and (max-width: 370px){
+    #smart_editor2 .se2_text_tool ul:nth-child(2n){clear:both;margin-left:4px}
+    #smart_editor2 .se2_text_tool ul:nth-child(3n){clear:both;margin-left:4px}
+    #smart_editor2 .se2_text_tool ul:nth-child(6n),#smart_editor2 .se2_text_tool ul:nth-child(4n){clear:none;margin-left:0}
+    #smart_editor2 .se2_text_tool ul:nth-child(n+3){margin-bottom:4px}
+    #smart_editor2 .se2_text_tool .se2_multy,#smart_editor2 .se2_text_tool .se2_multy button, #smart_editor2 .se2_text_tool .se2_multy button span{height:79px}
+}
+@media screen and (max-width: 325px){
+    #smart_editor2 .se2_text_tool .se2_multy,#smart_editor2 .se2_text_tool .se2_multy button, #smart_editor2 .se2_text_tool .se2_multy button span{height:29px;}
+    #smart_editor2 .se2_text_tool .se2_multy{border-bottom:1px solid #e0dedf}
+}(파일 끝에 줄바꿈 문자 없음)
 
client/smarteditor2-2.8.2.3/css/ko_KR/smart_editor2_in.css (added)
+++ client/smarteditor2-2.8.2.3/css/ko_KR/smart_editor2_in.css
@@ -0,0 +1,25 @@
+@charset "UTF-8";
+/* NHN Web Standardization Team (http://html.nhndesign.com/) HHJ 090226 */
+
+/* COMMON */
+body,.se2_inputarea{margin:0;padding:0;font-family:'돋움',Dotum,Helvetica,Sans-serif;font-size:16px;line-height:1.5}
+/* body,.se2_inputarea,.se2_inputarea th,.se2_inputarea td{margin:0;padding:0;font-family:'돋움',Dotum,Helvetica,Sans-serif;font-size:12px;line-height:1.5;color:#666} */
+.se2_inputarea p,.se2_inputarea br{margin:0;padding:0}
+.se2_inputarea{margin:15px;word-wrap:break-word;*word-wrap:normal;*word-break:break-all}
+.se2_inputarea td{word-break:break-all}
+.se2_inputarea_890{width:741px;margin:20px 0 10px 64px}
+.se2_inputarea_698{width:548px;margin:20px 0 10px 64px}
+@media screen and (-webkit-min-device-pixel-ratio: 0) {
+    .se2_inputarea td:empty:after,.se2_inputarea td > p:empty:after{content:"\00A0";line-height:1}
+}
+/* TEXT_TOOLBAR : QUOTE */
+.se2_quote1{margin:0 0 30px 20px;padding:0 8px;border-left:2px solid #ccc;color:#888}
+.se2_quote2{margin:0 0 30px 13px;padding:0 8px 0 16px;background:url("../../img/bg_quote2.gif") 0 3px no-repeat;color:#888}
+.se2_quote3{margin:0 0 30px;padding:12px 10px 11px;border:1px dashed #ccc;color:#888}
+.se2_quote4{margin:0 0 30px;padding:12px 10px 11px;border:1px dashed #66b246;color:#888}
+.se2_quote5{margin:0 0 30px;padding:12px 10px 11px;border:1px dashed #ccc;background:#fafafa;color:#888}
+.se2_quote6{margin:0 0 30px;padding:12px 10px 11px;border:1px solid #e5e5e5;color:#888}
+.se2_quote7{margin:0 0 30px;padding:12px 10px 11px;border:1px solid #66b246;color:#888}
+.se2_quote8{margin:0 0 30px;padding:12px 10px 11px;border:1px solid #e5e5e5;background:#fafafa;color:#888}
+.se2_quote9{margin:0 0 30px;padding:12px 10px 11px;border:2px solid #e5e5e5;color:#888}
+.se2_quote10{margin:0 0 30px;padding:12px 10px 11px;border:2px solid #e5e5e5;background:#fafafa;color:#888}
 
client/smarteditor2-2.8.2.3/css/ko_KR/smart_editor2_items.css (added)
+++ client/smarteditor2-2.8.2.3/css/ko_KR/smart_editor2_items.css
@@ -0,0 +1,468 @@
+@charset "UTF-8";
+/* NHN Web Standardization Team (http://html.nhndesign.com/) HHJ 090226 */
+/* TEXT_TOOLBAR : FONTNAME */
+#smart_editor2 .se2_tool .se2_l_font_fam{width:202px;margin:0;padding:0}
+#smart_editor2 .se2_tool .se2_l_font_fam li{display:block;width:202px;height:21px;margin:0;padding:0;color:#333;cursor:pointer}
+#smart_editor2 .se2_l_font_fam .hover,#smart_editor2 .se2_l_font_fam .active{background:#ebebeb}
+#smart_editor2 .se2_l_font_fam button{width:200px;height:21px;margin:0;padding:2px 0 2px 0px;background:none;text-align:left}
+#smart_editor2 .se2_l_font_fam button span{display:block;visibility:visible;overflow:visible;position:relative;top:auto;left:auto;width:auto;height:auto;margin:0 0 0 4px;padding:0;font-size:12px;line-height:normal;color:#333}
+#smart_editor2 .se2_l_font_fam button span span{display:inline;visibility:visible;overflow:visible;width:auto;height:auto;margin:0 0 0 4px;font-family:Verdana;font-size:12px;line-height:14px;color:#888}
+#smart_editor2 .se2_l_font_fam button span em{visibility:visible;overflow:auto;position:static;width:auto;height:auto;margin-right:-4px;font-size:12px;color:#888}
+#smart_editor2 .se2_l_font_fam .se2_division{width:162px;height:2px !important;margin:1px 0 1px 0px;border:0;background:url("../../img/bg_line1.gif") 0 0 repeat-x;font-size:0;cursor:default}
+/* TEXT_TOOLBAR : FONTSIZE */
+#smart_editor2 .se2_tool .se2_l_font_size{width:302px;margin:0;padding:0}
+#smart_editor2 .se2_tool .se2_l_font_size li{width:302px;margin:0;padding:0;color:#333;cursor:pointer}
+#smart_editor2 .se2_l_font_size .hover,#smart_editor2 .se2_l_font_size .active{background:#ebebeb}
+#smart_editor2 .se2_l_font_size button{width:300px;height:auto;margin:0;padding:2px 0 1px 0px;*padding:4px 0 1px 0px;background:none;text-align:left}
+#smart_editor2 .se2_l_font_size button span{display:block;visibility:visible;overflow:visible;position:relative;top:auto;left:auto;width:auto;height:auto;margin:0 0 0 4px;padding:0;line-height:normal;color:#373737;letter-spacing:0px}
+#smart_editor2 .se2_l_font_size button span span{display:inline;margin:0 0 0 5px;padding:0}
+#smart_editor2 .se2_l_font_size span em{visibility:visible;overflow:auto;position:static;width:auto;height:auto;color:#888}
+/* TEXT_TOOLBAR : FONTCOLOR */
+#smart_editor2 .se2_palette{float:left;position:relative;width:225px;margin:0;padding:11px 0 10px 0}
+#smart_editor2 .se2_palette .se2_pick_color{_display:inline;float:left;clear:both;width:205px;margin:0 0 0 11px;padding:0}
+#smart_editor2 .se2_palette .se2_pick_color li{float:left;width:12px;height:12px;margin:0;padding:0}
+#smart_editor2 .se2_palette .se2_pick_color li button{width:11px;height:11px;border:0}
+#smart_editor2 .se2_palette .se2_pick_color li button span{display:block;visibility:visible;overflow:visible;position:absolute;top:1px;left:1px;width:11px;height:11px}
+#smart_editor2 .se2_palette .se2_pick_color li button span span{visibility:hidden;overflow:hidden;position:absolute;top:0;left:0;width:0;height:0}
+#smart_editor2 .se2_palette .se2_pick_color .hover button,#smart_editor2 .se2_palette .se2_pick_color .active button{width:11px;height:11px;border:1px solid #666}
+#smart_editor2 .se2_palette .se2_pick_color .hover span,#smart_editor2 .se2_palette .se2_pick_color .active span{width:7px;height:7px;border:1px solid #fff}
+#smart_editor2 .se2_palette .se2_view_more{_display:inline;float:left;width:46px;height:23px;margin:1px 0 0 1px;background:url("../../img/ko_KR/btn_set.png?160622") 0 -47px no-repeat}
+#smart_editor2 .se2_palette .se2_view_more2{_display:inline;float:left;width:46px;height:23px;margin:1px 0 0 1px;background:url("../../img/ko_KR/btn_set.png?160622") 0 -24px no-repeat}
+#smart_editor2 .se2_palette h4{_display:inline;float:left;width:203px;margin:9px 0 0 11px;padding:10px 0 4px 0;background:url("../../img/bg_line1.gif") repeat-x;font-weight:normal;font-size:12px;line-height:14px;color:#333;letter-spacing:-1px}
+#smart_editor2 .se2_palette2{float:left;_float:none;width:214px;margin:9px 0 0 0;padding:11px 0 0 11px;background:url("../../img/bg_line1.gif") repeat-x}
+#smart_editor2 .se2_palette2 .se2_color_set{float:left}
+#smart_editor2 .se2_palette2 .se2_selected_color{_display:inline;float:left;width:83px;height:18px;margin:0;border:1px solid #c7c7c7;background:#fff}
+#smart_editor2 .se2_palette2 .se2_selected_color span{_display:inline;float:left;width:79px;height:14px;margin:2px}
+#smart_editor2 .se2_palette2 .input_ty1{_display:inline;float:left;width:67px;height:16px;margin:0 3px 0 3px;padding:2px 2px 0 4px;font-family:tahoma;font-size:11px}
+#smart_editor2 .se2_palette2 button.se2_btn_insert{float:left;width:35px;height:21px;margin-left:2px;padding:0;background:url("../../img/ko_KR/btn_set.png?160622") -80px 0 no-repeat}
+#smart_editor2 .se2_gradation1{float:left;_float:none;width:201px;height:128px;margin:4px 0 0 0;border:1px solid #c7c7c7;cursor:crosshair}
+#smart_editor2 .se2_gradation2{float:left;_float:none;width:201px;height:10px;margin:4px 0 1px 0;border:1px solid #c7c7c7;cursor:crosshair}
+/* TEXT_TOOLBAR : BGCOLOR */
+#smart_editor2 .se2_palette_bgcolor{width:225px;margin:11px 0 0;padding:0}
+#smart_editor2 .se2_palette_bgcolor .se2_background{width:205px;margin:0 11px 0 11px}
+#smart_editor2 .se2_palette_bgcolor .se2_background li{width:68px;height:20px}
+#smart_editor2 .se2_palette_bgcolor .se2_background button{width:67px;height:19px;border:0}
+#smart_editor2 .se2_palette_bgcolor .se2_background span{left:0;display:block;visibility:visible;overflow:visible;width:65px;height:17px;padding:0}
+#smart_editor2 .se2_palette_bgcolor .se2_background span span{display:block;visibility:visible;overflow:visible;width:64px;height:16px;padding:3px 0 0 3px;font-size:11px;line-height:14px;text-align:left}
+#smart_editor2 .se2_palette_bgcolor .se2_background .hover span{width:65px;height:17px;border:1px solid #666}
+#smart_editor2 .se2_palette_bgcolor .se2_background .hover span span{width:62px;height:14px;padding:1px 0 0 1px;border:1px solid #fff}
+/* TEXT_TOOLBAR : LINEHEIGHT */
+#smart_editor2 .se2_l_line_height{width:107px;margin:0;padding:0}
+#smart_editor2 .se2_l_line_height li{width:107px;margin:0;padding:0;border-top:0;border-bottom:0;color:#333;cursor:pointer}
+#smart_editor2 .se2_l_line_height .hover{background:#ebebeb}
+#smart_editor2 .se2_l_line_height button{width:105px;height:19px;margin:0;padding:3px 0 2px 0px;background:none;text-align:left}
+#smart_editor2 .se2_l_line_height button span{visibility:visible;overflow:visible;position:relative;width:auto;height:auto;margin:0;padding:0 0 0 15px;font-size:12px;line-height:normal;color:#373737}
+#smart_editor2 .se2_l_line_height li button.active span{background:url("../../img/icon_set.gif?141007") 5px -30px no-repeat}
+#smart_editor2 .se2_l_line_height_user{clear:both;width:83px;margin:5px 0 0 12px;padding:10px 0 0 0;_padding:11px 0 0 0;background:url("../../img/bg_line1.gif") repeat-x}
+#smart_editor2 .se2_l_line_height_user h3{margin:0 0 4px 0;_margin:0 0 2px -1px;padding:0;line-height:14px;color:#000;letter-spacing:-1px}
+#smart_editor2 .se2_l_line_height_user .bx_input{display:block;position:relative;width:83px}
+#smart_editor2 .se2_l_line_height_user .btn_up{position:absolute;top:2px;*top:3px;left:68px;width:13px;height:8px;background:url("../../img/ko_KR/btn_set.png?160622") -86px -54px no-repeat}
+#smart_editor2 .se2_l_line_height_user .btn_down{position:absolute;top:10px;*top:11px;left:68px;width:13px;height:8px;background:url("../../img/ko_KR/btn_set.png?160622") -86px -62px no-repeat}
+#smart_editor2 .se2_l_line_height_user .btn_area{margin:5px 0 10px 0}
+#smart_editor2 .se2_tool .btn_area .se2_btn_apply3{width:41px;height:24px;background:url("../../img/ko_KR/btn_set.png?160622") no-repeat}
+#smart_editor2 .se2_tool .btn_area .se2_btn_cancel3{width:39px;height:24px;margin-left:3px;background:url("../../img/ko_KR/btn_set.png?160622") -41px 0 no-repeat}
+/* TEXT_TOOLBAR : QUOTE */
+#smart_editor2 .se2_quote{width:425px;height:56px}
+#smart_editor2 .se2_quote ul{_display:inline;float:left;margin:11px 0 0 9px;padding:0}
+#smart_editor2 .se2_quote li{_display:inline;float:left;margin:0 0 0 2px;padding:0}
+#smart_editor2 .se2_quote button{width:34px;height:34px;margin:0;padding:0;background:url("../../img/ko_KR/btn_set.png?160622") no-repeat;cursor:pointer}
+#smart_editor2 .se2_quote button span{left:0;display:block;visibility:visible;overflow:visible;width:32px;height:32px;margin:0;padding:0;border:1px solid #c7c7c7}
+#smart_editor2 .se2_quote button span span{visibility:hidden;overflow:hidden;position:absolute;top:0;left:0;width:0;height:0;margin:0;padding:0}
+#smart_editor2 .se2_quote .se2_quote1{background-position:1px -375px}
+#smart_editor2 .se2_quote .se2_quote2{background-position:-32px -375px}
+#smart_editor2 .se2_quote .se2_quote3{background-position:-65px -375px}
+#smart_editor2 .se2_quote .se2_quote4{background-position:-98px -375px}
+#smart_editor2 .se2_quote .se2_quote5{background-position:-131px -375px}
+#smart_editor2 .se2_quote .se2_quote6{background-position:-164px -375px}
+#smart_editor2 .se2_quote .se2_quote7{background-position:-197px -375px}
+#smart_editor2 .se2_quote .se2_quote8{background-position:-230px -375px}
+#smart_editor2 .se2_quote .se2_quote9{background-position:-263px -375px}
+#smart_editor2 .se2_quote .se2_quote10{background-position:-296px -375px}
+#smart_editor2 .se2_quote .hover button span,#smart_editor2 .se2_quote .active button span{width:30px;height:30px;margin:0;padding:0;border:2px solid #44b525}
+#smart_editor2 .se2_quote .hover button span span,#smart_editor2 .se2_quote .active button span span{visibility:hidden;overflow:hidden;position:absolute;top:0;left:0;width:0;height:0;margin:0;padding:0}
+#smart_editor2 .se2_quote .se2_cancel2{float:left;width:40px;height:35px;margin:11px 0 0 5px;background:url("../../img/ko_KR/btn_set.png?160622") -46px -24px no-repeat}
+#smart_editor2 .se2_quote .se2_cancel2 span{visibility:hidden;overflow:hidden;position:absolute;top:0;left:0;width:0;height:0;margin:0;padding:0}
+/* TEXT_TOOLBAR : HYPERLINK */
+#smart_editor2 .se2_url2{width:281px;padding:11px 11px 6px 11px;color:#666}
+#smart_editor2 .se2_url2 .input_ty1{display:block;width:185px;height:16px;margin:0 5px 5px 0;*margin:-1px 5px 5px 0;padding:5px 2px 0 4px}
+#smart_editor2 .se2_url2 .se2_url_new{width:15px;height:15px;margin:-1px 3px 1px -1px;*margin:-2px 3px 2px -1px;vertical-align:middle}
+#smart_editor2 .se2_url2 label{font-size:11px;line-height:14px;vertical-align:middle}
+#smart_editor2 .se2_url2 .se2_apply{position:absolute;top:13px;right:51px;width:41px;height:24px;margin:-1px 3px 1px 0;background:url("../../img/ko_KR/btn_set.png?160622") no-repeat}
+#smart_editor2 .se2_url2 .se2_cancel{position:absolute;top:13px;right:9px;width:39px;height:24px;margin:-1px 3px 1px 0;background:url("../../img/ko_KR/btn_set.png?160622") -41px 0 no-repeat}
+
+/* TEXT_TOOLBAR : VIDEOLINK ( 추가  ) */
+#smart_editor2 .se2_video_2 .se2_url2 .se2_apply{position:absolute;top:13px;right:51px;width:41px;height:24px;margin:-1px 3px 1px 0;background:url("../../img/ko_KR/btn_set.png?160622") no-repeat}
+#smart_editor2 .se2_video_2 .se2_url2 .se2_cancel{position:absolute;top:13px;right:9px;width:39px;height:24px;margin:-1px 3px 1px 0;background:url("../../img/ko_KR/btn_set.png?160622") -41px 0 no-repeat}
+#smart_editor2 .se2_video_2 .se2_url2 .se2_vdefault{border:0.01px solid #8080806b;height:21px;width:43px;border-radius:3px;line-height:1px;font-size:11px;margin-left:3px;background-color:#FFFF;box-shadow: 0.05px 0.05px;}
+
+/* TEXT_TOOLBAR : SCHARACTER */
+#smart_editor2 .se2_bx_character{width:469px;height:272px;margin:0;padding:0;background:url("../../img/bx_set_110302.gif") 9px -1230px no-repeat}
+#smart_editor2 .se2_bx_character .se2_char_tab{_display:inline;float:left;position:relative;width:443px;margin:11px 10px 200px 11px;padding:0 0 0 1px}
+#smart_editor2 .se2_bx_character .se2_char_tab li{position:static;margin:0 0 0 -1px;padding:0}
+#smart_editor2 .se2_bx_character .se2_char1{width:76px;height:26px;background:url("../../img/ko_KR/btn_set.png?160622") 0 -204px no-repeat}
+#smart_editor2 .se2_bx_character .se2_char2{width:86px;height:26px;background:url("../../img/ko_KR/btn_set.png?160622") -75px -204px no-repeat}
+#smart_editor2 .se2_bx_character .se2_char3{width:68px;height:26px;background:url("../../img/ko_KR/btn_set.png?160622") -160px -204px no-repeat}
+#smart_editor2 .se2_bx_character .se2_char4{width:55px;height:26px;background:url("../../img/ko_KR/btn_set.png?160622") -227px -204px no-repeat}
+#smart_editor2 .se2_bx_character .se2_char5{width:97px;height:26px;background:url("../../img/ko_KR/btn_set.png?160622") -281px -204px no-repeat}
+#smart_editor2 .se2_bx_character .se2_char6{width:66px;height:26px;background:url("../../img/ko_KR/btn_set.png?160622") -377px -204px no-repeat}
+#smart_editor2 .se2_bx_character .active .se2_char1{width:76px;height:26px;background:url("../../img/ko_KR/btn_set.png?160622") 0 -230px no-repeat}
+#smart_editor2 .se2_bx_character .active .se2_char2{width:86px;height:26px;background:url("../../img/ko_KR/btn_set.png?160622") -75px -230px no-repeat}
+#smart_editor2 .se2_bx_character .active .se2_char3{width:68px;height:26px;background:url("../../img/ko_KR/btn_set.png?160622") -160px -230px no-repeat}
+#smart_editor2 .se2_bx_character .active .se2_char4{width:55px;height:26px;background:url("../../img/ko_KR/btn_set.png?160622") -227px -230px no-repeat}
+#smart_editor2 .se2_bx_character .active .se2_char5{width:97px;height:26px;background:url("../../img/ko_KR/btn_set.png?160622") -281px -230px no-repeat}
+#smart_editor2 .se2_bx_character .active .se2_char6{width:66px;height:26px;background:url("../../img/ko_KR/btn_set.png?160622") -377px -230px no-repeat}
+#smart_editor2 .se2_bx_character .se2_s_character{display:none;position:absolute;top:26px;left:0;width:448px;height:194px;margin:0;padding:0}
+#smart_editor2 .se2_bx_character .active .se2_s_character{display:block}
+#smart_editor2 .se2_bx_character .se2_s_character ul{float:left;width:422px;height:172px;margin:0;padding:9px 0 0 11px}
+#smart_editor2 .se2_bx_character .se2_s_character li{_display:inline;float:left;position:relative;width:20px;height:18px;margin:0 0 1px 1px;background:#fff}
+#smart_editor2 .se2_bx_character .se2_s_character button{width:20px;height:18px;margin:0;padding:2px;background:none}
+#smart_editor2 .se2_bx_character .se2_s_character .hover,#smart_editor2 .se2_bx_character .se2_s_character .active{background:url("../../img/ko_KR/btn_set.png?160622") -446px -274px no-repeat}
+#smart_editor2 .se2_bx_character .se2_s_character button span{left:0;display:block;visibility:visible;overflow:visible;width:14px;height:16px;margin:3px 0 0 3px;border:0;background:none;font-size:12px;line-height:normal}
+#smart_editor2 .se2_apply_character{clear:both;position:relative;padding:0 0 0 11px}
+#smart_editor2 .se2_apply_character label{margin:0 3px 0 0;font-size:12px;color:#666;letter-spacing:-1px}
+#smart_editor2 .se2_apply_character .input_ty1{width:283px;height:17px;margin:-1px 5px 1px 0;padding:4px 0 0 5px;font-size:12px;color:#666;letter-spacing:0;vertical-align:middle}
+#smart_editor2 .se2_apply_character .se2_confirm{width:41px;height:24px;margin-right:3px;background:url("../../img/ko_KR/btn_set.png?160622") no-repeat;vertical-align:middle}
+#smart_editor2 .se2_apply_character .se2_cancel{width:39px;height:24px;background:url("../../img/ko_KR/btn_set.png?160622") -41px 0 no-repeat;vertical-align:middle}
+/* TEXT_TOOLBAR : TABLECREATOR */
+#smart_editor2 .se2_table_set{position:relative;width:166px;margin:3px 11px 0 11px;padding:8px 0 0 0}
+#smart_editor2 .se2_table_set .se2_cell_num{float:left;width:73px}
+#smart_editor2 .se2_table_set .se2_cell_num dt{float:left;clear:both;width:17px;height:23px;margin:0;padding:0}
+#smart_editor2 .se2_table_set .se2_cell_num dt label{display:block;margin:5px 0 0 0;font-size:11px;color:#666}
+#smart_editor2 .se2_table_set .se2_cell_num dd{float:left;position:relative;width:54px;height:23px;margin:0;padding:0}
+#smart_editor2 .se2_table_set .se2_cell_num .input_ty2{display:block;width:32px;height:16px;*margin:-1px 0 0 0;padding:2px 19px 0 0px;border:1px solid #c7c7c7;font-family:tahoma,verdana,times New Roman;font-size:11px;color:#666;text-align:right;*direction:rtl}
+#smart_editor2 .se2_table_set .se2_cell_num .input_ty2::-ms-clear{display:none}
+#smart_editor2 .se2_table_set .se2_pre_table{float:right;width:91px;height:43px;background:#c7c7c7;border-spacing:1px}
+#smart_editor2 .se2_table_set .se2_pre_table tr{background:#fff}
+#smart_editor2 .se2_table_set .se2_pre_table td{font-size:0;line-height:0}
+#smart_editor2 .se2_table_set .se2_add{position:absolute;top:2px;right:3px;width:13px;height:8px;background:url("../../img/ko_KR/btn_set.png?160622") -86px -54px no-repeat}
+#smart_editor2 .se2_table_set .se2_del{position:absolute;top:10px;right:3px;width:13px;height:8px;background:url("../../img/ko_KR/btn_set.png?160622") -86px -62px no-repeat}
+/* TEXT_TOOLBAR : TABLEEDITOR */
+#smart_editor2 .se2_table_set .se2_t_proper1{float:left;width:166px;margin:7px 0 0 0;padding:10px 0 5px;background:url("../../img/bg_line1.gif") repeat-x}
+#smart_editor2 .se2_table_set .se2_t_proper1 dt{width:166px;margin:0 0 6px 0}
+#smart_editor2 .se2_table_set .se2_t_proper1 dd{width:166px}
+#smart_editor2 .se2_table_set .se2_t_proper1 dt input{width:15px;height:15px;margin:-1px 3px 1px 0;_margin:-2px 3px 2px 0;vertical-align:middle}
+#smart_editor2 .se2_table_set .se2_t_proper1 dt label{font-weight:bold;font-size:11px;color:#666;letter-spacing:-1px;vertical-align:middle}
+#smart_editor2 .se2_table_set .se2_t_proper1_1{float:left;position:relative;z-index:59;width:166px;margin:1px 0 0 0}
+#smart_editor2 .se2_table_set .se2_t_proper1_2{z-index:54;margin:0}
+#smart_editor2 .se2_table_set .se2_t_proper1_3{z-index:53;margin:0}
+#smart_editor2 .se2_table_set .se2_t_proper1_4{z-index:52;margin:0}
+#smart_editor2 .se2_table_set .se2_t_proper1_1 dt{_display:inline;float:left;clear:both;width:66px;height:22px;margin:1px 0 0 18px}
+#smart_editor2 .se2_table_set .se2_t_proper1_1 dt label{display:block;margin:4px 0 0 0;font-weight:normal;font-size:11px;color:#666;letter-spacing:-1px}
+#smart_editor2 .se2_table_set .se2_t_proper1_1 dd{float:left;position:relative;width:82px;height:23px}
+#smart_editor2 .se2_table_set .se2_t_proper1_1 .input_ty1{width:72px;height:16px;*margin:-1px 0 0 0;padding:2px 2px 0 6px;font-family:tahoma,verdana,times New Roman;font-size:11px;color:#666}
+#smart_editor2 .se2_table_set .se2_t_proper1_1 .input_ty3{float:left;width:49px;height:16px;margin:0 3px 0 0;padding:2px 4px 0 4px;border:1px solid #c7c7c7;font-family:tahoma,verdana,times New Roman;font-size:11px;color:#666}
+#smart_editor2 .se2_table_set .se2_t_proper1_1 .se2_add{top:2px;right:2px}
+#smart_editor2 .se2_table_set .se2_t_proper1_1 .se2_del{top:10px;right:2px}
+#smart_editor2 .se2_table_set .se2_t_proper1_1 .se2_color_set .input_ty1{_display:inline;float:left;width:67px;height:16px;margin:0 3px 0 3px;padding:2px 2px 0 4px; font-family:tahoma,verdana,times New Roman;font-size:11px}
+#smart_editor2 .se2_select_ty1{position:relative;width:80px;height:18px;border:1px solid #c7c7c7;background:#fff;font-size:11px;line-height:14px;text-align:left}
+#smart_editor2 .se2_select_ty1 span{float:left;width:54px;height:18px;margin:0 0 0 5px;font-size:11px;line-height:14px;color:#666}
+#smart_editor2 .se2_select_ty1 .se2_b_style0{position:relative;top:3px;left:-3px;white-space:nowrap}
+#smart_editor2 .se2_select_ty1 .se2_b_style1{height:15px;margin:3px 0 0 4px;font-size:11px;line-height:14px;color:#666;letter-spacing:-1px}
+#smart_editor2 .se2_select_ty1 .se2_b_style2{background:url("../../img/bg_set.gif") 0 -50px repeat-x}
+#smart_editor2 .se2_select_ty1 .se2_b_style3{background:url("../../img/bg_set.gif") 0 -68px repeat-x}
+#smart_editor2 .se2_select_ty1 .se2_b_style4{background:url("../../img/bg_set.gif") 0 -85px repeat-x}
+#smart_editor2 .se2_select_ty1 .se2_b_style5{background:url("../../img/bg_set.gif") 0 -103px repeat-x}
+#smart_editor2 .se2_select_ty1 .se2_b_style6{background:url("../../img/bg_set.gif") 0 -121px repeat-x}
+#smart_editor2 .se2_select_ty1 .se2_b_style7{background:url("../../img/bg_set.gif") 0 -139px repeat-x}
+#smart_editor2 .se2_select_ty1 .se2_view_more{position:absolute;top:1px;right:1px;width:13px;height:16px;background:url("../../img/ko_KR/btn_set.png?160622") -112px -54px no-repeat}
+#smart_editor2 .se2_select_ty1 .se2_view_more2{position:absolute;top:1px;right:1px;width:13px;height:16px;background:url("../../img/ko_KR/btn_set.png?160622") -99px -54px no-repeat}
+/* TEXT_TOOLBAR : TABLEEDITOR > BORDER */
+#smart_editor2 .se2_table_set .se2_b_t_b1{border-top:1px solid #b1b1b1}
+#smart_editor2 .se2_layer_b_style{position:absolute;top:20px;right:0px;width:80px;padding-bottom:1px;border:1px solid #c7c7c7;border-top:1px solid #a8a8a8;background:#fff}
+#smart_editor2 .se2_layer_b_style ul{width:80px;margin:0;padding:1px 0 0 0}
+#smart_editor2 .se2_layer_b_style li{width:80px;height:18px;margin:0;padding:0}
+#smart_editor2 .se2_layer_b_style .hover,#smart_editor2 .se2_layer_b_style .active{background:#ebebeb}
+#smart_editor2 .se2_layer_b_style button{width:80px;height:18px;background:none}
+#smart_editor2 .se2_layer_b_style button span{left:0;display:block;visibility:visible;overflow:visible;width:71px;height:18px;margin:0 0 0 5px;font-size:11px;line-height:15px;text-align:left}
+#smart_editor2 .se2_layer_b_style button span span{visibility:hidden;overflow:hidden;position:absolute;top:0;left:0;width:0;height:0}
+#smart_editor2 .se2_layer_b_style .se2_b_style1 span{margin:3px 0 0 4px;font-size:11px;line-height:14px;color:#666;letter-spacing:-1px}
+#smart_editor2 .se2_layer_b_style .se2_b_style2 span{background:url("../../img/bg_set.gif") 0 -50px repeat-x}
+#smart_editor2 .se2_layer_b_style .se2_b_style3 span{background:url("../../img/bg_set.gif") 0 -68px repeat-x}
+#smart_editor2 .se2_layer_b_style .se2_b_style4 span{background:url("../../img/bg_set.gif") 0 -86px repeat-x}
+#smart_editor2 .se2_layer_b_style .se2_b_style5 span{background:url("../../img/bg_set.gif") 0 -103px repeat-x}
+#smart_editor2 .se2_layer_b_style .se2_b_style6 span{background:url("../../img/bg_set.gif") 0 -121px repeat-x}
+#smart_editor2 .se2_layer_b_style .se2_b_style7 span{background:url("../../img/bg_set.gif") 0 -139px repeat-x}
+/* TEXT_TOOLBAR : TABLEEDITOR > COLOR */
+#smart_editor2 .se2_pre_color{float:left;width:18px;height:18px;border:1px solid #c7c7c7}
+#smart_editor2 .se2_pre_color button{float:left;width:14px;height:14px;margin:2px 0 0 2px;padding:0}
+#smart_editor2 .se2_pre_color button span{overflow:hidden;position:absolute;top:-10000px;left:-10000px;z-index:-100;width:0;height:0}
+/* TEXT_TOOLBAR : TABLEEDITOR > DIMMED */
+#smart_editor2 .se2_table_set .se2_t_dim1{clear:both;position:absolute;top:71px;left:16px;z-index:60;width:157px;height:118px;background:#fafafa;opacity:0.5;filter:alpha(opacity=50)}
+#smart_editor2 .se2_table_set .se2_t_dim2{position:absolute;top:116px;left:16px;z-index:55;width:157px;height:45px;background:#fafafa;opacity:0.5;filter:alpha(opacity=50)}
+#smart_editor2 .se2_table_set .se2_t_dim3{clear:both;position:absolute;top:192px;left:16px;z-index:51;width:157px;height:39px;background:#fafafa;opacity:0.5;filter:alpha(opacity=50)}
+/* TEXT_TOOLBAR : TABLEEDITOR > STYLE PREVIEW */
+#smart_editor2 .se2_table_set .se2_t_proper2{float:left;position:relative;z-index:50;width:166px;margin:2px 0 0 0}
+#smart_editor2 .se2_table_set .se2_t_proper2 dt{float:left;width:84px;height:33px;margin:4px 0 0 0}
+#smart_editor2 .se2_table_set .se2_t_proper2 dt input{width:15px;height:15px;margin:-1px 3px 1px 0;_margin:-2px 3px 2px 0;vertical-align:middle}
+#smart_editor2 .se2_table_set .se2_t_proper2 dt label{font-weight:bold;font-size:11px;color:#666;letter-spacing:-1px;vertical-align:middle}
+#smart_editor2 .se2_table_set .se2_t_proper2 dd{float:left;width:66px;height:33px}
+#smart_editor2 .se2_select_ty2{position:relative;width:65px;height:31px;border:1px solid #c7c7c7;background:#fff;font-size:11px;line-height:14px;text-align:left}
+#smart_editor2 .se2_select_ty2 span{float:left;width:45px;height:25px;margin:3px 0 0 3px;background:url("../../img/ko_KR/btn_set.png?160622") repeat-x}
+#smart_editor2 .se2_select_ty2 .se2_t_style1{background-position:0 -410px}
+#smart_editor2 .se2_select_ty2 .se2_t_style2{background-position:-46px -410px}
+#smart_editor2 .se2_select_ty2 .se2_t_style3{background-position:-92px -410px}
+#smart_editor2 .se2_select_ty2 .se2_t_style4{background-position:-138px -410px}
+#smart_editor2 .se2_select_ty2 .se2_t_style5{background-position:-184px -410px}
+#smart_editor2 .se2_select_ty2 .se2_t_style6{background-position:-230px -410px}
+#smart_editor2 .se2_select_ty2 .se2_t_style7{background-position:-276px -410px}
+#smart_editor2 .se2_select_ty2 .se2_t_style8{background-position:-322px -410px}
+#smart_editor2 .se2_select_ty2 .se2_t_style9{background-position:0 -436px}
+#smart_editor2 .se2_select_ty2 .se2_t_style10{background-position:-46px -436px}
+#smart_editor2 .se2_select_ty2 .se2_t_style11{background-position:-92px -436px}
+#smart_editor2 .se2_select_ty2 .se2_t_style12{background-position:-138px -436px}
+#smart_editor2 .se2_select_ty2 .se2_t_style13{background-position:-184px -436px}
+#smart_editor2 .se2_select_ty2 .se2_t_style14{background-position:-230px -436px}
+#smart_editor2 .se2_select_ty2 .se2_t_style15{background-position:-276px -436px}
+#smart_editor2 .se2_select_ty2 .se2_t_style16{background-position:-322px -436px}
+#smart_editor2 .se2_select_ty2 .se2_view_more{position:absolute;top:1px;right:1px;_right:0px;width:13px !important;height:29px !important;background:url("../../img/ko_KR/btn_set.png?160622") -353px -48px no-repeat !important}
+#smart_editor2 .se2_select_ty2 .se2_view_more2{position:absolute;top:1px;right:1px;_right:0px;width:13px !important;height:29px !important;background:url("../../img/ko_KR/btn_set.png?160622") -340px -48px no-repeat !important}
+#smart_editor2 .se2_select_ty2 .se2_view_more span{display:none}
+/* TEXT_TOOLBAR : TABLEEDITOR > STYLE */
+#smart_editor2 .se2_layer_t_style{position:absolute;top:33px;right:15px;width:208px;border:1px solid #c7c7c7;border-top:1px solid #a8a8a8;background:#fff}
+#smart_editor2 .se2_layer_t_style ul{width:204px;height:126px;margin:1px 2px;padding:1px 0 0 0;background:#fff}
+#smart_editor2 .se2_layer_t_style li{_display:inline;float:left;width:45px;height:25px;margin:1px;padding:1px;border:1px solid #fff}
+#smart_editor2 .se2_layer_t_style .hover,#smart_editor2 .se2_layer_t_style .active{border:1px solid #666;background:#fff}
+#smart_editor2 .se2_layer_t_style button{width:45px;height:25px;background:url("../../img/ko_KR/btn_set.png?160622") repeat-x !important}
+#smart_editor2 .se2_layer_t_style .se2_t_style1{background-position:0 -410px !important}
+#smart_editor2 .se2_layer_t_style .se2_t_style2{background-position:-46px -410px !important}
+#smart_editor2 .se2_layer_t_style .se2_t_style3{background-position:-92px -410px !important}
+#smart_editor2 .se2_layer_t_style .se2_t_style4{background-position:-138px -410px !important}
+#smart_editor2 .se2_layer_t_style .se2_t_style5{background-position:-184px -410px !important}
+#smart_editor2 .se2_layer_t_style .se2_t_style6{background-position:-230px -410px !important}
+#smart_editor2 .se2_layer_t_style .se2_t_style7{background-position:-276px -410px !important}
+#smart_editor2 .se2_layer_t_style .se2_t_style8{background-position:-322px -410px !important}
+#smart_editor2 .se2_layer_t_style .se2_t_style9{background-position:0 -436px !important}
+#smart_editor2 .se2_layer_t_style .se2_t_style10{background-position:-46px -436px !important}
+#smart_editor2 .se2_layer_t_style .se2_t_style11{background-position:-92px -436px !important}
+#smart_editor2 .se2_layer_t_style .se2_t_style12{background-position:-138px -436px !important}
+#smart_editor2 .se2_layer_t_style .se2_t_style13{background-position:-184px -436px !important}
+#smart_editor2 .se2_layer_t_style .se2_t_style14{background-position:-230px -436px !important}
+#smart_editor2 .se2_layer_t_style .se2_t_style15{background-position:-276px -436px !important}
+#smart_editor2 .se2_layer_t_style .se2_t_style16{background-position:-322px -436px !important}
+#smart_editor2 .se2_table_set .se2_btn_area{float:left;width:166px;margin:6px 0 0 0;padding:12px 0 8px 0;background:url("../../img/bg_line1.gif") repeat-x;text-align:center}
+#smart_editor2 .se2_table_set button.se2_apply{width:41px;height:24px;margin-right:3px;background:url("../../img/ko_KR/btn_set.png?160622") no-repeat}
+#smart_editor2 .se2_table_set button.se2_cancel{width:39px;height:24px;background:url("../../img/ko_KR/btn_set.png?160622") -41px 0 no-repeat}
+#smart_editor2 .se2_table_set .se2_rd{width:14px;height:14px;vertical-align:middle}
+#smart_editor2 .se2_table_set .se2_celltit{font-size:11px;font-size:11px;color:#666;letter-spacing:-1px}
+#smart_editor2 .se2_table_set dt label.se2_celltit{display:inline}
+/* TEXT_TOOLBAR : FINDREPLACE */
+#smart_editor2 .se2_bx_find_revise{position:relative;width:255px;margin:0;padding:0}
+#smart_editor2 .se2_bx_find_revise .se2_close{position:absolute;top:5px;right:8px;width:20px;height:20px;background:url("../../img/ko_KR/btn_set.png?160622") -151px -1px no-repeat}
+#smart_editor2 .se2_bx_find_revise h3{margin:0;padding:10px 0 13px 10px;background:url("../../img/bg_find_h3.gif") 0 -1px repeat-x;font-size:12px;line-height:14px;letter-spacing:-1px}
+#smart_editor2 .se2_bx_find_revise ul{position:relative;margin:8px 0 0 0;padding:0 0 0 12px}
+#smart_editor2 .se2_bx_find_revise ul li{_display:inline;float:left;position:static;margin:0 0 0 -1px;padding:0}
+#smart_editor2 .se2_bx_find_revise .se2_tabfind{width:117px;height:26px;background:url("../../img/ko_KR/btn_set.png?160622") 0 -100px no-repeat}
+#smart_editor2 .se2_bx_find_revise .se2_tabrevise{width:117px;height:26px;background:url("../../img/ko_KR/btn_set.png?160622") -116px -100px no-repeat}
+#smart_editor2 .se2_bx_find_revise .active .se2_tabfind{width:117px;height:26px;background:url("../../img/ko_KR/btn_set.png?160622") 0 -126px no-repeat}
+#smart_editor2 .se2_bx_find_revise .active .se2_tabrevise{width:117px;height:26px;background:url("../../img/ko_KR/btn_set.png?160622") -116px -126px no-repeat}
+#smart_editor2 .se2_bx_find_revise .se2_in_bx_find dl{_display:inline;float:left;width:223px;margin:0 0 0 9px;padding:7px 0 13px 14px;background:url("../../img/bx_set_110302.gif") -289px -1518px no-repeat}
+#smart_editor2 .se2_bx_find_revise .se2_in_bx_revise dl{_display:inline;float:left;width:223px;margin:0 0 0 9px;padding:7px 0 13px 14px;background:url("../../img/bx_set_110302.gif") -289px -1619px no-repeat}
+#smart_editor2 .se2_bx_find_revise dt{_display:inline;float:left;clear:both;width:47px;margin:1px 0 2px 0}
+#smart_editor2 .se2_bx_find_revise dd{float:left;margin:0 0 2px 0}
+#smart_editor2 .se2_bx_find_revise label{float:left;padding:5px 0 0 0;font-size:11px;color:#666;letter-spacing:-2px}
+#smart_editor2 .se2_bx_find_revise input{float:left;width:155px;height:12px;margin:1px 0 0 0;padding:3px 2px 3px 4px;font-size:12px;color:#666}
+#smart_editor2 .se2_bx_find_revise .se2_find_btns{float:left;clear:both;width:255px;padding:8px 0 10px 0;text-align:center}
+#smart_editor2 .se2_bx_find_revise .se2_find_next{width:65px;height:24px;margin:0 3px 0 0;background:url("../../img/ko_KR/btn_set.png?160622") -180px -48px no-repeat}
+#smart_editor2 .se2_bx_find_revise .se2_find_next2{width:61px;height:24px;margin:0 3px 0 0;background:url("../../img/ko_KR/btn_set.png?160622") -180px -24px no-repeat}
+#smart_editor2 .se2_bx_find_revise .se2_revise1{width:54px;height:24px;margin:0 3px 0 0;background:url("../../img/ko_KR/btn_set.png?160622") -245px -48px no-repeat}
+#smart_editor2 .se2_bx_find_revise .se2_revise2{width:70px;height:24px;margin:0 3px 0 0;background:url("../../img/ko_KR/btn_set.png?160622") -245px -24px no-repeat}
+#smart_editor2 .se2_bx_find_revise .se2_cancel{width:39px;height:24px;background:url("../../img/ko_KR/btn_set.png?160622") -41px 0 no-repeat}
+/* TEXT_TOOLBAR : QUICKEDITOR_TABLE */
+#smart_editor2 .se2_qmax{position:absolute;width:18px;height:18px;background:url("../../img/ko_KR/btn_set.png?160622") -339px -169px no-repeat}
+#smart_editor2 .se2_qeditor{position:absolute;top:0;left:0;width:183px;margin:0;padding:0;border:1px solid #c7c7c7;border-right:1px solid #ababab;border-bottom:1px solid #ababab;background:#fafafa}
+#smart_editor2 .se2_qeditor label,#smart_editor2 .se2_qeditor span,#smart_editor2 .se2_qeditor dt{font-size:11px;color:#666;letter-spacing:-1px}
+#smart_editor2 .se2_qbar{position:relative;width:183px;height:11px;background:url("../../img/bx_set_110302.gif") 0 -731px no-repeat}
+#smart_editor2 .se2_qbar .se2_qmini{position:absolute;top:-1px;right:0;*right:-1px;_right:-3px;width:18px;height:14px;background:url("../../img/ko_KR/btn_set.png?160622") -315px -170px no-repeat}
+#smart_editor2 .se2_qbar .se2_qmini button{width:20px;height:14px;margin-top:-1px}
+#smart_editor2 .se2_qeditor .se2_qbody0{float:left;border:1px solid #fefefe}
+#smart_editor2 .se2_qeditor .se2_qbody{position:relative;z-index:90;width:174px;padding:4px 0 0 7px}
+#smart_editor2 .se2_qeditor .se2_qe1{overflow:hidden;width:174px}
+#smart_editor2 .se2_qeditor .se2_qe1 dt{float:left;width:22px;height:18px;padding:4px 0 0 0}
+#smart_editor2 .se2_qeditor .se2_qe1 dd{float:left;width:65px;height:22px}
+#smart_editor2 .se2_qeditor .se2_addrow{width:28px;height:19px;background:url("../../img/ko_KR/btn_set.png?160622") no-repeat -385px -49px}
+#smart_editor2 .se2_qeditor .se2_addcol{width:29px;height:19px;background:url("../../img/ko_KR/btn_set.png?160622") no-repeat -413px -49px}
+#smart_editor2 .se2_qeditor .se2_seprow{width:28px;height:19px;background:url("../../img/ko_KR/btn_set.png?160622") no-repeat -385px -68px}
+#smart_editor2 .se2_qeditor .se2_sepcol{width:29px;height:19px;background:url("../../img/ko_KR/btn_set.png?160622") no-repeat -413px -68px}
+#smart_editor2 .se2_qeditor .se2_delrow{width:28px;height:19px;background:url("../../img/ko_KR/btn_set.png?160622") no-repeat -385px -106px}
+#smart_editor2 .se2_qeditor .se2_delcol{width:29px;height:19px;background:url("../../img/ko_KR/btn_set.png?160622") no-repeat -413px -106px}
+#smart_editor2 .se2_qeditor .se2_merrow{width:57px;height:19px;background:url("../../img/ko_KR/btn_set.png?160622") no-repeat -385px -125px}
+#smart_editor2 .se2_qeditor .se2_mercol{width:57px;height:19px;background:url("../../img/ko_KR/btn_set.png?160622") no-repeat -413px -125px}
+#smart_editor2 .se2_qeditor .se2_seprow_off{width:28px;height:19px;background:url("../../img/ko_KR/btn_set.png?160622") no-repeat -385px -87px}
+#smart_editor2 .se2_qeditor .se2_sepcol_off{width:29px;height:19px;background:url("../../img/ko_KR/btn_set.png?160622") no-repeat -413px -87px}
+#smart_editor2 .se2_qeditor .se2_merrow_off{width:57px;height:19px;background:url("../../img/ko_KR/btn_set.png?160622") no-repeat -385px -144px}
+#smart_editor2 .se2_qeditor .se2_mercol_off{width:57px;height:19px;background:url("../../img/ko_KR/btn_set.png?160622") no-repeat -413px -144px}
+/* TEXT_TOOLBAR : QUICKEDITOR_TABLE > CELL_BACKGROUND */
+#smart_editor2 .se2_qeditor .se2_qe2{_display:inline;float:left;position:relative;z-index:100;width:165px;margin:2px 0 0 1px;padding:7px 0 0 0;background:url("../../img/bg_line1.gif") repeat-x;zoom:1}
+#smart_editor2 .se2_qeditor .se2_qe2_1 dt{float:left;width:62px;padding:3px 0 0 0}
+#smart_editor2 .se2_qeditor .se2_qe2_1 dt input{width:15px;height:15px;margin:-1px 1px 1px -1px;vertical-align:middle}
+#smart_editor2 .se2_qeditor .se2_qe2_1 dd{float:left;position:relative;zoom:1}
+#smart_editor2 .se2_qeditor .se2_qe2_3{padding:7px 0 6px 0}
+/* My글양식 없을때 */
+#smart_editor2 .se2_qeditor .se2_qe2_2{position:relative;_position:absolute}
+#smart_editor2 .se2_qeditor .se2_qe2_2 dt{float:left;width:50px;padding:3px 0 0 13px}
+#smart_editor2 .se2_qeditor .se2_qe2_2 dt input{width:15px;height:15px;margin:-1px 2px 1px -1px;vertical-align:middle}
+#smart_editor2 .se2_qeditor .se2_qe2_2 dd{float:left}
+/* TEXT_TOOLBAR : QUICKEDITOR_TABLE > STYLE */
+#smart_editor2 .se2_table_set .se2_qbody .se2_t_proper2{float:left;*float:none;position:static;width:166px;margin:5px 0 0 1px}
+#smart_editor2 .se2_qeditor .se2_qe3 dt{float:left;width:62px;padding:0}
+#smart_editor2 .se2_qeditor .se2_qe3 dt label{font-weight:normal}
+#smart_editor2 .se2_qeditor .se2_qe3 dt input{width:15px;height:15px;margin:-1px 1px 1px -1px;vertical-align:middle}
+#smart_editor2 .se2_qeditor .se2_qe3 dd .se2_qe3_table{position:relative}
+/* TEXT_TOOLBAR : QUICKEDITOR_TABLE > CELL_BACKGROUND PREWVIEW */
+#smart_editor2 .se2_qeditor .se2_pre_color{float:left;width:18px;height:18px;border:1px solid #c7c7c7}
+#smart_editor2 .se2_qeditor .se2_pre_color button{float:left;width:14px;height:14px;margin:2px 0 0 2px;padding:0}
+#smart_editor2 .se2_qeditor .se2_pre_color button span{overflow:hidden;position:absolute;top:-10000px;left:-10000px;z-index:-100;width:0;height:0}
+/* TEXT_TOOLBAR : QUICKEDITOR_TABLE > CELL_BACKGROUND LAYER */
+#smart_editor2 .se2_qeditor .se2_layer{float:left;clear:both;position:absolute;top:20px;left:0;margin:0;padding:0;border:1px solid #c7c7c7;border-top:1px solid #9a9a9a;background:#fafafa}
+#smart_editor2 .se2_qeditor .se2_layer .se2_in_layer{float:left;margin:0;padding:0;border:1px solid #fff;background:#fafafa}
+#smart_editor2 .se2_qeditor .se2_layer button{vertical-align:top}
+#smart_editor2 .se2_qeditor .se2_layer .se2_pick_color li{position:relative}
+/* TEXT_TOOLBAR : QUICKEDITOR_TABLE > CELL_BACKGROUND IMAGE */
+#smart_editor2 .se2_qeditor .se2_pre_bgimg{float:left;width:14px;height:14px;padding:2px;border:1px solid #c7c7c7}
+#smart_editor2 .se2_qeditor .se2_qe2_2 button{width:16px;height:16px;background:url("../../img/ko_KR/btn_set.png?160622") 0 -261px no-repeat}
+/* TEXT_TOOLBAR : QUICKEDITOR_TABLE > CELL_BACKGROUND IMAGE LAYER */
+#smart_editor2 .se2_cellimg_set{_display:inline;float:left;width:136px;margin:4px 3px 0 4px;padding-bottom:4px}
+#smart_editor2 .se2_cellimg_set li{_display:inline;float:left;width:16px;height:16px;margin:0 1px 1px 0}
+#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg0{background-position:-255px -278px}
+#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg1{background-position:0 -261px}
+#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg2{background-position:-17px -261px}
+#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg3{background-position:-34px -261px}
+#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg4{background-position:-51px -261px}
+#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg5{background-position:-68px -261px}
+#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg6{background-position:-85px -261px}
+#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg7{background-position:-102px -261px}
+#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg8{background-position:-119px -261px}
+#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg9{background-position:-136px -261px}
+#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg10{background-position:-153px -261px}
+#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg11{background-position:-170px -261px}
+#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg12{background-position:-187px -261px}
+#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg13{background-position:-204px -261px}
+#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg14{background-position:-221px -261px}
+#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg15{background-position:-238px -261px}
+#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg16{background-position:-255px -261px}
+#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg17{background-position:0 -278px}
+#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg18{background-position:-17px -278px}
+#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg19{background-position:-34px -278px}
+#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg20{background-position:-51px -278px}
+#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg21{background-position:-68px -278px}
+#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg22{background-position:-85px -278px}
+#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg23{background-position:-102px -278px}
+#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg24{background-position:-119px -278px}
+#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg25{background-position:-136px -278px}
+#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg26{background-position:-153px -278px}
+#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg27{background-position:-170px -278px}
+#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg28{background-position:-187px -278px}
+#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg29{background-position:-204px -278px}
+#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg30{background-position:-221px -278px}
+#smart_editor2 .se2_qeditor .se2_qe2_2 .se2_cellimg31{background-position:-238px -278px}
+#smart_editor2 .se2_qeditor .se2_pre_bgimg button{width:14px;height:14px}
+#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg1{background-position:-1px -262px}
+#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg2{background-position:-18px -262px}
+#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg3{background-position:-35px -262px}
+#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg4{background-position:-52px -262px}
+#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg5{background-position:-69px -262px}
+#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg6{background-position:-86px -262px}
+#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg7{background-position:-103px -262px}
+#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg8{background-position:-120px -262px}
+#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg9{background-position:-137px -262px}
+#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg10{background-position:-154px -262px}
+#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg11{background-position:-171px -262px}
+#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg12{background-position:-188px -262px}
+#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg13{background-position:-205px -262px}
+#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg14{background-position:-222px -262px}
+#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg15{background-position:-239px -262px}
+#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg16{background-position:-256px -262px}
+#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg17{background-position:-1px -279px}
+#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg18{background-position:-18px -279px}
+#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg19{background-position:-35px -279px}
+#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg20{background-position:-52px -279px}
+#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg21{background-position:-69px -279px}
+#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg22{background-position:-86px -279px}
+#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg23{background-position:-103px -279px}
+#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg24{background-position:-120px -279px}
+#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg25{background-position:-137px -279px}
+#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg26{background-position:-154px -279px}
+#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg27{background-position:-171px -279px}
+#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg28{background-position:-188px -279px}
+#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg29{background-position:-205px -279px}
+#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg30{background-position:-222px -279px}
+#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg31{background-position:-239px -279px}
+#smart_editor2 .se2_qeditor .se2_pre_bgimg .se2_cellimg32{background-position:-256px -279px}
+/* TEXT_TOOLBAR : QUICKEDITOR_TABLE > MY REVIEW */
+#smart_editor2 .se2_btn_area{_display:inline;float:left;clear:both;width:166px;margin:5px 0 0 1px;padding:7px 0 6px 0;background:url("../../img/bg_line1.gif") repeat-x;text-align:center}
+#smart_editor2 .se2_btn_area .se2_btn_save{width:97px;height:21px;background:url("../../img/ko_KR/btn_set.png?160622") -369px -163px no-repeat}
+/* TEXT_TOOLBAR : QUICKEDITOR_IMAGE */
+#smart_editor2 .se2_qe10{width:166px;margin:0;*margin:-2px 0 0 0}
+#smart_editor2 .se2_qe10 label{margin:0 1px 0 0;vertical-align:middle}
+#smart_editor2 .se2_qe10 .se2_sheight{margin-left:4px}
+#smart_editor2 .se2_qe10 .input_ty1{width:30px;height:13px;margin:0 0 1px 1px;padding:3px 4px 0 1px;font-size:11px;letter-spacing:0;text-align:right;vertical-align:middle}
+#smart_editor2 .se2_qe10 .se2_sreset{width:41px;height:19px;margin-left:3px;background:url("../../img/ko_KR/btn_set.png?160622") -401px -184px no-repeat;vertical-align:middle}
+#smart_editor2 .se2_qe10_1{margin-top:4px;padding:10px 0 3px;background:url("../../img/bg_line1.gif") repeat-x}
+#smart_editor2 .se2_qe10_1 input{width:15px;height:15px;margin:-1px 3px 1px -1px;vertical-align:middle}
+#smart_editor2 .se2_qe11{float:left;width:166px;margin:4px 0 0 0;padding:7px 0 2px 0;background:url("../../img/bg_line1.gif") repeat-x}
+#smart_editor2 .se2_qe11_1{float:left;width:99px}
+#smart_editor2 .se2_qe11_1 dt{float:left;width:56px;height:15px;padding:5px 0 0 0}
+#smart_editor2 .se2_qe11_1 dd{float:left;position:relative;width:38px;height:20px}
+#smart_editor2 .se2_qe11_1 .input_ty1{display:block;width:29px;height:15px;margin:0;*margin:-1px 0 1px 0;padding:3px 1px 0 5px;font-size:11px;letter-spacing:0;text-align:left}
+#smart_editor2 .se2_qe11_1 .se2_add{position:absolute;top:2px;right:3px;width:13px;height:8px;background:url("../../img/ko_KR/btn_set.png?160622") -86px -54px no-repeat}
+#smart_editor2 .se2_qe11_1 .se2_del{position:absolute;top:10px;right:3px;width:13px;height:8px;background:url("../../img/ko_KR/btn_set.png?160622") -86px -62px no-repeat}
+#smart_editor2 .se2_qe11_2{float:left;width:67px}
+#smart_editor2 .se2_qe11_2 dt{float:left;width:47px;margin:5px 0 0 0}
+#smart_editor2 .se2_qe11_2 dd{float:left;position:relative;width:20px}
+#smart_editor2 .se2_qe12{float:left;width:166px;margin:3px 0 0 0;padding:7px 0 0 0;background:url("../../img/bg_line1.gif") repeat-x}
+#smart_editor2 .se2_qe12 dt{float:left;margin:5px 4px 0 0}
+#smart_editor2 .se2_qe12 dd{float:left;padding:0 0 6px 0}
+#smart_editor2 .se2_qe12 .se2_align0{float:left;width:19px;height:21px;background:url("../../img/ko_KR/btn_set.png?160622") -276px -121px no-repeat}
+#smart_editor2 .se2_qe12 .se2_align1{float:left;width:19px;height:21px;background:url("../../img/ko_KR/btn_set.png?160622") -295px -121px no-repeat}
+#smart_editor2 .se2_qe12 .se2_align2{float:left;width:20px;height:21px;background:url("../../img/ko_KR/btn_set.png?160622") -314px -121px no-repeat}
+#smart_editor2 .se2_qe13{position:relative;z-index:10;zoom:1}
+#smart_editor2 .se2_qe13 dt{float:left;width:62px;padding:3px 0 0}
+#smart_editor2 .se2_qe13 dt input{width:15px;height:15px;margin:-1px 1px 1px -1px;vertical-align:middle;zoom:1}
+#smart_editor2 .se2_qe13 dt .se2_qdim2{width:32px}
+#smart_editor2 .se2_qe13 dd .se2_select_ty1{width:38px}
+#smart_editor2 .se2_qe13 dd .se2_select_ty1 span{width:15px}
+#smart_editor2 .se2_qe13 dd .input_ty1{width:20px}
+#smart_editor2 .se2_qe13 dd .se2_palette2 .input_ty1{width:67px}
+#smart_editor2 .se2_qe13 .se2_add{*top:3px}
+#smart_editor2 .se2_qe13 .se2_del{*top:11px}
+#smart_editor2 .se2_qe13 .se2_layer_b_style{right:-2px;_right:0}
+#smart_editor2 .se2_qe13 .se2_layer_b_style li span{width:auto;margin:0 4px 0 5px;padding-top:2px}
+#smart_editor2 .se2_qe13 dd{_display:inline;float:left;position:relative;width:29px;margin-right:5px;_margin-right:3px;zoom:1}
+#smart_editor2 .se2_qe13 dd .se2_palette h4{margin-top:9px;font-family:dotum;font-size:12px}
+#smart_editor2 .se2_qe13 dd.dd_type{width:38px}
+#smart_editor2 .se2_qe13 dd.dd_type2{width:37px;margin-right:3px}
+#smart_editor2 .se2_qe13 dd.dd_type2 .input_ty1{width:29px}
+#smart_editor2 .se2_qe13 dd.dd_type2 button{right:2px;_right:1px}
+#smart_editor2 .se2_qe13 dd.dd_type3{width:20px;margin:0}
+#smart_editor2 .se2_qe13_v1{_display:inline;float:left;margin:2px 0 1px}
+#smart_editor2 .se2_qe13_v1 dt{padding:4px 0 0 1px}
+#smart_editor2 .se2_qe13_v2{_display:inline;float:left;position:relative;z-index:100;width:165px;margin:4px 0 0 1px;zoom:1}
+#smart_editor2 .se2_qe13_v2 dd{width:18px;margin:0}
+#smart_editor2 .se2_qeditor .se2_qdim1{clear:both;position:absolute;top:25px;left:115px;width:60px;height:23px;background:#fafafa;opacity:0.5;filter:alpha(opacity=50)}
+#smart_editor2 .se2_qeditor .se2_qdim2{clear:both;position:absolute;top:55px;left:24px;z-index:110;width:70px;height:22px;background:#fafafa;opacity:0.5;filter:alpha(opacity=50)}
+#smart_editor2 .se2_qeditor .se2_qdim3{clear:both;position:absolute;top:55px;left:118px;z-index:110;width:56px;height:22px;background:#fafafa;opacity:0.5;filter:alpha(opacity=50)}
+#smart_editor2 .se2_qeditor .se2_qdim4{clear:both;position:absolute;top:81px;left:23px;z-index:35;width:116px;height:35px;background:#fafafa;opacity:0.5;filter:alpha(opacity=50)}
+#smart_editor2 .se2_qeditor .se2_qdim5{clear:both;position:absolute;top:31px;left:106px;width:68px;height:26px;background:#fafafa;opacity:0.5;filter:alpha(opacity=50)}
+#smart_editor2 .se2_qeditor .se2_qdim6c{clear:both;position:absolute;top:25px;left:28px;width:29px;height:23px;background:#fafafa;opacity:0.5;filter:alpha(opacity=50)}
+#smart_editor2 .se2_qeditor .se2_qdim6r{clear:both;position:absolute;top:25px;left:57px;width:29px;height:23px;background:#fafafa;opacity:0.5;filter:alpha(opacity=50)}
+#smart_editor2 .se2_highedit{float:right;width:56px;height:21px;margin:-27px 8px 0 0;background:url("../../img/ko_KR/btn_set.png?160622") -329px -142px no-repeat}
+#smart_editor2 .se2_qeditor .se2_qdim7{clear:both;position:absolute;top:55px;left:24px;z-index:110;width:150px;height:48px;background:#fafafa;opacity:0.5;filter:alpha(opacity=50)}
+#smart_editor2 .se2_qeditor .se2_qdim8{clear:both;position:absolute;top:105px;left:24px;z-index:110;width:150px;height:37px;background:#fafafa;opacity:0.5;filter:alpha(opacity=50)}
+#smart_editor2 .se2_qeditor .se2_qdim9{clear:both;position:absolute;top:55px;left:111px;z-index:110;width:65px;height:24px;background:#fafafa;opacity:0.5;filter:alpha(opacity=50)}
+#smart_editor2 .se2_qeditor .se2_qdim10{clear:both;position:absolute;top:55px;left:100px;z-index:110;width:77px;height:24px;background:#fafafa;opacity:0.5;filter:alpha(opacity=50)}
+#smart_editor2 .se2_qeditor .se2_qdim11{clear:both;position:absolute;top:55px;left:65px;z-index:110;width:115px;height:24px;background:#fafafa;opacity:0.5;filter:alpha(opacity=50)}
+/* HELP : ACCESSIBILITY */
+#smart_editor2 .se2_accessibility{z-index:90}
+#smart_editor2 .se2_accessibility .se2_in_layer{width:568px;padding:0 10px;background:#fafafa;border:1px solid #bcbbbb}
+#smart_editor2 .se2_accessibility h3{margin:0 -10px;padding:6px 0 12px 0;background:url("../../img/bg_find_h3.gif") repeat-x;font-size:12px;line-height:14px;letter-spacing:-1px}
+#smart_editor2 .se2_accessibility h3 strong{display:inline-block;padding:4px 0 3px 11px;color:#333;letter-spacing:0}
+#smart_editor2 .se2_accessibility .se2_close{position:absolute;top:10px;right:12px;width:13px;height:12px;background:url("../../img/ko_KR/btn_set.png?160622") -155px -5px no-repeat}
+#smart_editor2 .se2_accessibility .box_help{padding:0 2px;margin-top:8px;background:url("../../img/bg_help.gif") 0 100% no-repeat}
+#smart_editor2 .se2_accessibility .box_help div{overflow:hidden;padding:20px 21px 24px;border-top:1px solid #d0d0d0;color:#333}
+#smart_editor2 .se2_accessibility .box_help strong{display:block;margin-bottom:2px}
+#smart_editor2 .se2_accessibility .box_help p{margin-bottom:28px;line-height:1.5}
+#smart_editor2 .se2_accessibility .box_help ul{width:150%;margin-top:10px}
+#smart_editor2 .se2_accessibility .box_help li{position:relative;float:left;width:252px;padding:5px 0 5px 9px;margin-right:40px;background:url("../../img/ko_KR/btn_set.png?160622") -475px -51px no-repeat;border-right:1px solid #f0f0f0;*zoom:1;line-height:1}
+#smart_editor2 .se2_accessibility .box_help li span{position:absolute;top:4px;left:138px;line-height:1.2}
+#smart_editor2 .se2_accessibility .se2_btns{padding:9px 0 10px;text-align:center}
+#smart_editor2 .se2_accessibility .se2_btns .se2_close2{width:39px;height:24px;background:url("../../img/ko_KR/btn_set.png?160622") -235px -120px no-repeat}
 
client/smarteditor2-2.8.2.3/css/ko_KR/smart_editor2_out.css (added)
+++ client/smarteditor2-2.8.2.3/css/ko_KR/smart_editor2_out.css
@@ -0,0 +1,12 @@
+@charset "UTF-8";
+/* NHN Web Standardization Team (http://html.nhndesign.com/) HHJ 090226 */
+/* COMMON */
+.se2_outputarea, .se2_outputarea th, .se2_outputarea td{margin:0;padding:0;color:#666;font-size:16pt;font-family:'돋움',Dotum,'굴림',Gulim,Helvetica,Sans-serif;line-height:1.5}
+.se2_outputarea p{margin:0;padding:0}
+.se2_outputarea a:hover{text-decoration:underline}
+.se2_outputarea a:link{color:#0000ff}
+.se2_outputarea ul{margin:0 0 0 40px;padding:0}
+.se2_outputarea ul li{margin:0;list-style-type:disc;padding:0}
+.se2_outputarea ul ul li{list-style-type:circle}
+.se2_outputarea ul ul ul li{list-style-type:square}
+.se2_outputarea img, .se2_outputarea fieldset{border:0}
 
client/smarteditor2-2.8.2.3/img/bg_b1.png (Binary) (added)
+++ client/smarteditor2-2.8.2.3/img/bg_b1.png
Binary file is not shown
 
client/smarteditor2-2.8.2.3/img/bg_button.gif (Binary) (added)
+++ client/smarteditor2-2.8.2.3/img/bg_button.gif
Binary file is not shown
 
client/smarteditor2-2.8.2.3/img/bg_button_left.gif (Binary) (added)
+++ client/smarteditor2-2.8.2.3/img/bg_button_left.gif
Binary file is not shown
 
client/smarteditor2-2.8.2.3/img/bg_button_right.gif (Binary) (added)
+++ client/smarteditor2-2.8.2.3/img/bg_button_right.gif
Binary file is not shown
 
client/smarteditor2-2.8.2.3/img/bg_find_h3.gif (Binary) (added)
+++ client/smarteditor2-2.8.2.3/img/bg_find_h3.gif
Binary file is not shown
 
client/smarteditor2-2.8.2.3/img/bg_help.gif (Binary) (added)
+++ client/smarteditor2-2.8.2.3/img/bg_help.gif
Binary file is not shown
 
client/smarteditor2-2.8.2.3/img/bg_icon_tool.gif (Binary) (added)
+++ client/smarteditor2-2.8.2.3/img/bg_icon_tool.gif
Binary file is not shown
 
client/smarteditor2-2.8.2.3/img/bg_line1.gif (Binary) (added)
+++ client/smarteditor2-2.8.2.3/img/bg_line1.gif
Binary file is not shown
 
client/smarteditor2-2.8.2.3/img/bg_quote2.gif (Binary) (added)
+++ client/smarteditor2-2.8.2.3/img/bg_quote2.gif
Binary file is not shown
 
client/smarteditor2-2.8.2.3/img/bg_set.gif (Binary) (added)
+++ client/smarteditor2-2.8.2.3/img/bg_set.gif
Binary file is not shown
 
client/smarteditor2-2.8.2.3/img/bg_spell.gif (Binary) (added)
+++ client/smarteditor2-2.8.2.3/img/bg_spell.gif
Binary file is not shown
 
client/smarteditor2-2.8.2.3/img/bg_text_tool.gif (Binary) (added)
+++ client/smarteditor2-2.8.2.3/img/bg_text_tool.gif
Binary file is not shown
 
client/smarteditor2-2.8.2.3/img/bg_tool2.gif (Binary) (added)
+++ client/smarteditor2-2.8.2.3/img/bg_tool2.gif
Binary file is not shown
 
client/smarteditor2-2.8.2.3/img/bx_set_110302.gif (Binary) (added)
+++ client/smarteditor2-2.8.2.3/img/bx_set_110302.gif
Binary file is not shown
 
client/smarteditor2-2.8.2.3/img/editor_guideline_698.gif (Binary) (added)
+++ client/smarteditor2-2.8.2.3/img/editor_guideline_698.gif
Binary file is not shown
 
client/smarteditor2-2.8.2.3/img/editor_guideline_890.gif (Binary) (added)
+++ client/smarteditor2-2.8.2.3/img/editor_guideline_890.gif
Binary file is not shown
 
client/smarteditor2-2.8.2.3/img/ico_extend.png (Binary) (added)
+++ client/smarteditor2-2.8.2.3/img/ico_extend.png
Binary file is not shown
 
client/smarteditor2-2.8.2.3/img/icon_set.gif (Binary) (added)
+++ client/smarteditor2-2.8.2.3/img/icon_set.gif
Binary file is not shown
 
client/smarteditor2-2.8.2.3/img/ko_KR/btn_set.png (Binary) (added)
+++ client/smarteditor2-2.8.2.3/img/ko_KR/btn_set.png
Binary file is not shown
 
client/smarteditor2-2.8.2.3/img/ko_KR/bx_set_110302.gif (Binary) (added)
+++ client/smarteditor2-2.8.2.3/img/ko_KR/bx_set_110302.gif
Binary file is not shown
 
client/smarteditor2-2.8.2.3/img/ko_KR/text_tool_set.png (Binary) (added)
+++ client/smarteditor2-2.8.2.3/img/ko_KR/text_tool_set.png
Binary file is not shown
 
client/smarteditor2-2.8.2.3/img/text_tool_set2.png (Binary) (added)
+++ client/smarteditor2-2.8.2.3/img/text_tool_set2.png
Binary file is not shown
 
client/smarteditor2-2.8.2.3/js/HuskyEZCreator.js (added)
+++ client/smarteditor2-2.8.2.3/js/HuskyEZCreator.js
@@ -0,0 +1,151 @@
+/*
+Copyright (C) NAVER corp.  
+
+This library is free software; you can redistribute it and/or  
+modify it under the terms of the GNU Lesser General Public  
+License as published by the Free Software Foundation; either  
+version 2.1 of the License, or (at your option) any later version.  
+
+This library is distributed in the hope that it will be useful,  
+but WITHOUT ANY WARRANTY; without even the implied warranty of  
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU  
+Lesser General Public License for more details.  
+
+You should have received a copy of the GNU Lesser General Public  
+License along with this library; if not, write to the Free Software  
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA  
+*/
+if(typeof window.nhn=='undefined') window.nhn = {};
+if (!nhn.husky) nhn.husky = {};
+
+/**
+ * @fileOverview This file contains application creation helper function, which would load up an HTML(Skin) file and then execute a specified create function.
+ * @name HuskyEZCreator.js
+ */
+nhn.husky.EZCreator = new (function(){
+	this.nBlockerCount = 0;
+
+	this.createInIFrame = function(htOptions){
+		if(arguments.length == 1){
+			var oAppRef = htOptions.oAppRef;
+			var elPlaceHolder = htOptions.elPlaceHolder;
+			var sSkinURI = htOptions.sSkinURI;
+			var fCreator = htOptions.fCreator;
+			var fOnAppLoad = htOptions.fOnAppLoad;
+			var bUseBlocker = htOptions.bUseBlocker;
+			var htParams = htOptions.htParams || null;
+		}else{
+			// for backward compatibility only
+			var oAppRef = arguments[0];
+			var elPlaceHolder = arguments[1];
+			var sSkinURI = arguments[2];
+			var fCreator = arguments[3];
+			var fOnAppLoad = arguments[4];
+			var bUseBlocker = arguments[5];
+			var htParams = arguments[6];
+		}
+
+		if(bUseBlocker) nhn.husky.EZCreator.showBlocker();
+
+		var attachEvent = function(elNode, sEvent, fHandler){ 
+			if(elNode.addEventListener){
+				elNode.addEventListener(sEvent, fHandler, false);
+			}else{
+				elNode.attachEvent("on"+sEvent, fHandler);
+			}
+		} 
+
+		if(!elPlaceHolder){
+			alert("Placeholder is required!");
+			return;
+		}
+
+		if(typeof(elPlaceHolder) != "object")
+			elPlaceHolder = document.getElementById(elPlaceHolder);
+
+		var elIFrame, nEditorWidth, nEditorHeight;
+		 
+
+		try{
+			elIFrame = document.createElement("<IFRAME frameborder=0 scrolling=no>");
+		}catch(e){
+			elIFrame = document.createElement("IFRAME");
+			elIFrame.setAttribute("frameborder", "0");
+			elIFrame.setAttribute("scrolling", "no");
+		}
+		
+		elIFrame.style.width = "1px";
+		elIFrame.style.height = "1px";
+		elPlaceHolder.parentNode.insertBefore(elIFrame, elPlaceHolder.nextSibling);
+		
+		attachEvent(elIFrame, "load", function(){
+			fCreator = elIFrame.contentWindow[fCreator] || elIFrame.contentWindow.createSEditor2;
+			
+//			top.document.title = ((new Date())-window.STime);
+//			window.STime = new Date();
+			
+			try{
+			
+				nEditorWidth = elIFrame.contentWindow.document.body.scrollWidth || "500px";
+				nEditorHeight = elIFrame.contentWindow.document.body.scrollHeight + 12;
+				elIFrame.style.width =  "100%";
+				elIFrame.style.height = nEditorHeight+ "px";
+				elIFrame.contentWindow.document.body.style.margin = "0";
+			}catch(e){
+				nhn.husky.EZCreator.hideBlocker(true);
+				elIFrame.style.border = "5px solid red";
+				elIFrame.style.width = "500px";
+				elIFrame.style.height = "500px";
+				alert("Failed to access "+sSkinURI);
+				return;
+			}
+			
+			var oApp = fCreator(elPlaceHolder, htParams);	// oEditor
+			
+
+			oApp.elPlaceHolder = elPlaceHolder;
+
+			oAppRef[oAppRef.length] = oApp;
+			if(!oAppRef.getById) oAppRef.getById = {};
+			
+			if(elPlaceHolder.id) oAppRef.getById[elPlaceHolder.id] = oApp;
+
+			oApp.run({fnOnAppReady:fOnAppLoad}); 
+			
+//			top.document.title += ", "+((new Date())-window.STime);
+			nhn.husky.EZCreator.hideBlocker();
+		});
+//		window.STime = new Date();
+		elIFrame.src = sSkinURI;
+		this.elIFrame = elIFrame;
+	};
+	
+	this.showBlocker = function(){
+		if(this.nBlockerCount<1){
+			var elBlocker = document.createElement("DIV");
+			elBlocker.style.position = "absolute";
+			elBlocker.style.top = 0;
+			elBlocker.style.left = 0;
+			elBlocker.style.backgroundColor = "#FFFFFF";
+			elBlocker.style.width = "100%";
+
+			document.body.appendChild(elBlocker);
+			
+			nhn.husky.EZCreator.elBlocker = elBlocker;
+		}
+
+		nhn.husky.EZCreator.elBlocker.style.height = Math.max(document.body.scrollHeight, document.body.clientHeight)+"px";
+		
+		this.nBlockerCount++;
+	};
+	
+	this.hideBlocker = function(bForce){
+		if(!bForce){
+			if(--this.nBlockerCount > 0) return;
+		}
+		
+		this.nBlockerCount = 0;
+		
+		if(nhn.husky.EZCreator.elBlocker) nhn.husky.EZCreator.elBlocker.style.display = "none";
+	}
+})();(파일 끝에 줄바꿈 문자 없음)
 
client/smarteditor2-2.8.2.3/js/lib/jindo2.all.js (added)
+++ client/smarteditor2-2.8.2.3/js/lib/jindo2.all.js
@@ -0,0 +1,4 @@
+function isUnCacheAgent(){var e=_ua.indexOf("iPad")>-1,t=_ua.indexOf("Android")>-1,n=!(_ua.indexOf("IEMobile")>-1)&&_ua.indexOf("Mobile")>-1||e&&_ua.indexOf("Safari")>-1;return n&&!e&&!t}"undefined"!=typeof window&&"undefined"==typeof window.nhn&&(window.nhn={}),"undefined"!=typeof window?"undefined"==typeof window.jindo&&(window.jindo={}):jindo||(jindo={}),jindo.$Jindo=function(){var e=arguments.callee,t=e._cached;return t?t:this instanceof e?(t||(e._cached=this),void(this.version="1.5.2-SMART_EDITOR")):new e},jindo.$=function(e){var t=[],n=arguments,o=n.length,i=n[o-1],r=document,s=null,a=/^<([a-z]+|h[1-5])>$/i,u=/^<([a-z]+|h[1-5])(\s+[^>]+)?>/i;o>1&&"string"!=typeof i&&i.body&&(n=Array.prototype.slice.apply(n,[0,o-1]),r=i);for(var l=0;o>l;l++){if(s=n[l],"string"==typeof s)if(s=s.replace(/^\s+|\s+$/g,""),s.indexOf("<")>-1){if(a.test(s))s=r.createElement(RegExp.$1);else if(u.test(s)){for(var d={thead:"table",tbody:"table",tr:"tbody",td:"tr",dt:"dl",dd:"dl",li:"ul",legend:"fieldset",option:"select"},c=RegExp.$1.toLowerCase(),p=jindo._createEle(d[c],s,r),l=0,f=p.length;f>l;l++)t.push(p[l]);s=null}}else s=r.getElementById(s);s&&(t[t.length]=s)}return t.length>1?t:t[0]||null},jindo._createEle=function(e,t,n,o){var i="R"+(new Date).getTime()+parseInt(1e5*Math.random(),10),r=n.createElement("div");switch(e){case"select":case"table":case"dl":case"ul":case"fieldset":r.innerHTML="<"+e+' class="'+i+'">'+t+"</"+e+">";break;case"thead":case"tbody":case"col":r.innerHTML="<table><"+e+' class="'+i+'">'+t+"</"+e+"></table>";break;case"tr":r.innerHTML='<table><tbody><tr class="'+i+'">'+t+"</tr></tbody></table>";break;default:r.innerHTML='<div class="'+i+'">'+t+"</div>"}var s;for(s=r.firstChild;s&&s.className!=i;s=s.firstChild);return o?s:s.childNodes},jindo.$Class=function(oDef){function typeClass(){for(var t=this,a=[],superFunc=function(m,superClass,func){if("constructor"!=m&&func.toString().indexOf("$super")>-1){var funcArg=func.toString().replace(/function[^\(]*\(([^\)]*)[\w\W]*/g,"$1").split(","),funcStr=func.toString().replace(/function[^{]*{/,"").replace(/(\w|\.?)(this\.\$super|this)/g,function(e,t,n){return t?e:n+".$super"});funcStr=funcStr.substr(0,funcStr.length-1),func=superClass[m]=eval("false||function("+funcArg.join(",")+"){"+funcStr+"}")}return function(){var e=this.$this[m],t=this.$this,n=(t[m]=func).apply(t,arguments);return t[m]=e,n}};"undefined"!=typeof t._$superClass;){t.$super=new Object,t.$super.$this=this;for(var x in t._$superClass.prototype)t._$superClass.prototype.hasOwnProperty(x)&&("undefined"==typeof this[x]&&"$init"!=x&&(this[x]=t._$superClass.prototype[x]),"constructor"!=x&&"_$superClass"!=x&&"function"==typeof t._$superClass.prototype[x]?t.$super[x]=superFunc(x,t._$superClass,t._$superClass.prototype[x]):t.$super[x]=t._$superClass.prototype[x]);"function"==typeof t.$super.$init&&(a[a.length]=t),t=t.$super}for(var i=a.length-1;i>-1;i--)a[i].$super.$init.apply(a[i].$super,arguments);"function"==typeof this.$init&&this.$init.apply(this,arguments)}if("undefined"!=typeof oDef.$static){var i=0,x;for(x in oDef)oDef.hasOwnProperty(x)&&("$static"==x||i++);for(x in oDef.$static)oDef.$static.hasOwnProperty(x)&&(typeClass[x]=oDef.$static[x]);if(!i)return oDef.$static;delete oDef.$static}return typeClass.prototype=oDef,typeClass.prototype.constructor=typeClass,typeClass.extend=jindo.$Class.extend,typeClass},jindo.$Class.extend=function(e){if("undefined"==typeof e||null===e||!e.extend)throw new Error("extend시 슈퍼 클래스는 Class여야 합니다.");this.prototype._$superClass=e;for(var t in e)if(e.hasOwnProperty(t)){if("prototype"==t)continue;this[t]=e[t]}return this},jindo.$$=jindo.cssquery=function(){function getElementsByClass(e,t,n){var o=new Array;null==t&&(t=document),null==n&&(n="*");var r=t.getElementsByTagName(n),s=r.length,a=new RegExp("(^|\\s)"+e+"(\\s|$)");for(i=0,j=0;i<s;i++)a.test(r[i].className)&&(o[j]=r[i],j++);return o}function _isNonStandardQueryButNotException(e){return/\[\s*(?:checked|selected|disabled)/.test(e)}function _commaRevise(e,t){return e.replace(/\,/gi,t)}var sVersion="3.0",debugOption={repeat:1},UID=1,cost=0,validUID={},bSupportByClassName=document.getElementsByClassName?!0:!1,safeHTML=!1,getUID4HTML=function(e){var t=safeHTML?e._cssquery_UID&&e._cssquery_UID[0]:e._cssquery_UID;return t&&validUID[t]==e?t:(t=UID++,e._cssquery_UID=safeHTML?[t]:t,validUID[t]=e,t)},getUID4XML=function(e){var t=e.getAttribute("_cssquery_UID"),n=safeHTML?t&&t[0]:t;return n||(n=UID++,e.setAttribute("_cssquery_UID",safeHTML?[n]:n)),n},getUID=getUID4HTML,uniqid=function(e){return(e||"")+(new Date).getTime()+parseInt(1e8*Math.random(),10)},getChilds_dontShrink=function(e,t,n){return bSupportByClassName&&n?e.getElementsByClassName?e.getElementsByClassName(n):e.querySelectorAll?e.querySelectorAll(n):getElementsByClass(n,e,t):"*"==t?e.all||e.getElementsByTagName(t):e.getElementsByTagName(t)},clearKeys=function(){backupKeys._keys={}},oDocument_dontShrink=document,bXMLDocument=!1,backupKeys=function(e){var t=backupKeys._keys;e=e.replace(/'(\\'|[^'])*'/g,function(e){var n=uniqid("QUOT");return t[n]=e,n}),e=e.replace(/"(\\"|[^"])*"/g,function(e){var n=uniqid("QUOT");return t[n]=e,n}),e=e.replace(/\[(.*?)\]/g,function(e,n){if(0==n.indexOf("ATTR"))return e;var o="["+uniqid("ATTR")+"]";return t[o]=e,o});var n;do n=!1,e=e.replace(/\(((\\\)|[^)|^(])*)\)/g,function(e,o){if(0==o.indexOf("BRCE"))return e;var i="_"+uniqid("BRCE");return t[i]=e,n=!0,i});while(n);return e},restoreKeys=function(e,t){var n,o=backupKeys._keys,i=t?/(\[ATTR[0-9]+\])/g:/(QUOT[0-9]+|\[ATTR[0-9]+\])/g;do n=!1,e=e.replace(i,function(e){return o[e]?(n=!0,o[e]):e});while(n);return e=e.replace(/_BRCE[0-9]+/g,function(e){return o[e]?o[e]:e})},restoreString=function(sKey){var oKeys=backupKeys._keys,sOrg=oKeys[sKey];return sOrg?eval(sOrg):sKey},wrapQuot=function(e){return'"'+e.replace(/"/g,'\\"')+'"'},getStyleKey=function(e){return/^@/.test(e)?e.substr(1):null},getCSS=function(e,t){return e.currentStyle?("float"==t&&(t="styleFloat"),e.currentStyle[t]||e.style[t]):window.getComputedStyle?oDocument_dontShrink.defaultView.getComputedStyle(e,null).getPropertyValue(t.replace(/([A-Z])/g,"-$1").toLowerCase())||e.style[t]:("float"==t&&/MSIE/.test(window.navigator.userAgent)&&(t="styleFloat"),e.style[t])},oCamels={accesskey:"accessKey",cellspacing:"cellSpacing",cellpadding:"cellPadding","class":"className",colspan:"colSpan","for":"htmlFor",maxlength:"maxLength",readonly:"readOnly",rowspan:"rowSpan",tabindex:"tabIndex",valign:"vAlign"},getDefineCode=function(e){var t,n;if(bXMLDocument)t='oEl.getAttribute("'+e+'",2)';else if(n=getStyleKey(e))e="$$"+n,t='getCSS(oEl, "'+n+'")';else switch(e){case"checked":t='oEl.checked + ""';break;case"disabled":t='oEl.disabled + ""';break;case"enabled":t='!oEl.disabled + ""';break;case"readonly":t='oEl.readOnly + ""';break;case"selected":t='oEl.selected + ""';break;default:t=oCamels[e]?"oEl."+oCamels[e]:'oEl.getAttribute("'+e+'",2)'}return"_"+e.replace(/\-/g,"_")+" = "+t},getReturnCode=function(e){var t=getStyleKey(e.key),n="_"+(t?"$$"+t:e.key);n=n.replace(/\-/g,"_");var o=e.val?wrapQuot(e.val):"";switch(e.op){case"~=":return"("+n+' && (" " + '+n+' + " ").indexOf(" " + '+o+' + " ") > -1)';case"^=":return"("+n+" && "+n+".indexOf("+o+") == 0)";case"$=":return"("+n+" && "+n+".substr("+n+".length - "+e.val.length+") == "+o+")";case"*=":return"("+n+" && "+n+".indexOf("+o+") > -1)";case"!=":return"("+n+" != "+o+")";case"=":return"("+n+" == "+o+")"}return"("+n+")"},getNodeIndex=function(e){var t=getUID(e),n=oNodeIndexes[t]||0;if(0==n){for(var o=(e.parentNode||e._IE5_parentNode).firstChild;o;o=o.nextSibling)1==o.nodeType&&(n++,setNodeIndex(o,n));n=oNodeIndexes[t]}return n},oNodeIndexes={},setNodeIndex=function(e,t){var n=getUID(e);oNodeIndexes[n]=t},unsetNodeIndexes=function(){setTimeout(function(){oNodeIndexes={}},0)},oPseudoes_dontShrink={contains:function(e,t){return(e.innerText||e.textContent||"").indexOf(t)>-1},"last-child":function(e,t){for(e=e.nextSibling;e;e=e.nextSibling)if(1==e.nodeType)return!1;return!0},"first-child":function(e,t){for(e=e.previousSibling;e;e=e.previousSibling)if(1==e.nodeType)return!1;return!0},"only-child":function(e,t){for(var n=0,o=(e.parentNode||e._IE5_parentNode).firstChild;o;o=o.nextSibling)if(1==o.nodeType&&n++,n>1)return!1;return n?!0:!1},empty:function(e,t){return e.firstChild?!1:!0},"nth-child":function(e,t,n){var o=getNodeIndex(e);return o%t==n},"nth-last-child":function(e,t,n){for(var o=(e.parentNode||e._IE5_parentNode).lastChild;o&&1!=o.nodeType;o=o.previousSibling);var i=getNodeIndex(o),r=getNodeIndex(e),s=i-r+1;return s%t==n},checked:function(e){return!!e.checked},selected:function(e){return!!e.selected},enabled:function(e){return!e.disabled},disabled:function(e){return!!e.disabled}},getExpression=function(e){var t,n,o={defines:"",returns:"true"},e=restoreKeys(e,!0),i=[],r=[],s=[],e=e.replace(/:([\w-]+)(\(([^)]*)\))?/g,function(e,t,n,i){switch(t){case"not":var r=getExpression(i),a=r.defines,u=r.returnsID+r.returnsTAG+r.returns;s.push("!(function() { "+a+" return "+u+" })()");break;case"nth-child":case"nth-last-child":i=restoreString(i),"even"==i?i="2n":"odd"==i&&(i="2n+1");var l,d,c=i.match(/([0-9]*)n([+-][0-9]+)*/);c?(l=c[1]||1,d=c[2]||0):(l=1/0,d=parseInt(i,10)),s.push("oPseudoes_dontShrink["+wrapQuot(t)+"](oEl, "+l+", "+d+")");break;case"first-of-type":case"last-of-type":t="first-of-type"==t?"nth-of-type":"nth-last-of-type",i=1;case"nth-of-type":case"nth-last-of-type":i=restoreString(i),"even"==i?i="2n":"odd"==i&&(i="2n+1");var l,d;/([0-9]*)n([+-][0-9]+)*/.test(i)?(l=parseInt(RegExp.$1,10)||1,d=parseInt(RegExp.$2,20)||0):(l=1/0,d=parseInt(i,10)),o.nth=[l,d,t];break;default:i=i?restoreString(i):"",s.push("oPseudoes_dontShrink["+wrapQuot(t)+"](oEl, "+wrapQuot(i)+")")}return""}),e=e.replace(/\[(@?[\w-]+)(([!^~$*]?=)([^\]]*))?\]/g,function(e,t,n,o,r){return t=restoreString(t),r=restoreString(r),("checked"==t||"disabled"==t||"enabled"==t||"readonly"==t||"selected"==t)&&(r||(o="=",r="true")),i.push({key:t,op:o,val:r}),""}),a=null,e=e.replace(/\.([\w-]+)/g,function(e,t){return i.push({key:"class",op:"~=",val:t}),a||(a=t),""}),e=e.replace(/#([\w-]+)/g,function(e,n){return bXMLDocument?i.push({key:"id",op:"=",val:n}):t=n,""});n="*"==e?"":e;for(var u,l={},d=0;u=i[d];d++){var c=u.key;l[c]||r.push(getDefineCode(c)),s.unshift(getReturnCode(u)),l[c]=!0}return r.length&&(o.defines="var "+r.join(",")+";"),s.length&&(o.returns=s.join("&&")),o.quotID=t?wrapQuot(t):"",o.quotTAG=n?wrapQuot(bXMLDocument?n:n.toUpperCase()):"",bSupportByClassName&&(o.quotCLASS=a?wrapQuot(a):""),o.returnsID=t?"oEl.id == "+o.quotID+" && ":"",o.returnsTAG=n&&"*"!=n?"oEl.tagName == "+o.quotTAG+" && ":"",o},splitToParts=function(e){var t=[],n=" ",o=e.replace(/(.*?)\s*(!?[+>~ ]|!)\s*/g,function(e,o,i){return o&&t.push({rel:n,body:o}),n=i.replace(/\s+$/g,"")||" ",""});return o&&t.push({rel:n,body:o}),t},isNth_dontShrink=function(e,t,n,o,i){for(var r=0,s=e;s;s=s[i])1!=s.nodeType||t&&t!=s.tagName||r++;return r%n==o},compileParts=function(aParts){for(var aPartExprs=[],i=0,oPart;oPart=aParts[i];i++)aPartExprs.push(getExpression(oPart.body));for(var sFunc="",sPushCode="aRet.push(oEl); if (oOptions.single) { bStop = true; }",i=aParts.length-1,oPart;oPart=aParts[i];i--){var oExpr=aPartExprs[i],sPush=(debugOption.callback?"cost++;":"")+oExpr.defines,sReturn="if (bStop) {"+(0==i?"return aRet;":"return;")+"}";sPush+="true"==oExpr.returns?(sFunc?sFunc+"(oEl);":sPushCode)+sReturn:"if ("+oExpr.returns+") {"+(sFunc?sFunc+"(oEl);":sPushCode)+sReturn+"}";var sCheckTag="oEl.nodeType != 1";oExpr.quotTAG&&(sCheckTag="oEl.tagName != "+oExpr.quotTAG);var sTmpFunc="(function(oBase"+(0==i?", oOptions) { var bStop = false; var aRet = [];":") {");switch(oExpr.nth&&(sPush="if (isNth_dontShrink(oEl, "+(oExpr.quotTAG?oExpr.quotTAG:"false")+","+oExpr.nth[0]+","+oExpr.nth[1]+',"'+("nth-of-type"==oExpr.nth[2]?"previousSibling":"nextSibling")+'")) {'+sPush+"}"),oPart.rel){case" ":sTmpFunc+=oExpr.quotID?"var oEl = oDocument_dontShrink.getElementById("+oExpr.quotID+");var oCandi = oEl;for (; oCandi; oCandi = (oCandi.parentNode || oCandi._IE5_parentNode)) {if (oCandi == oBase) break;}if (!oCandi || "+sCheckTag+") return aRet;"+sPush:"var aCandi = getChilds_dontShrink(oBase, "+(oExpr.quotTAG||'"*"')+", "+(oExpr.quotCLASS||"null")+");for (var i = 0, oEl; oEl = aCandi[i]; i++) {"+(oExpr.quotCLASS?"if ("+sCheckTag+") continue;":"")+sPush+"}";break;case">":sTmpFunc+=oExpr.quotID?"var oEl = oDocument_dontShrink.getElementById("+oExpr.quotID+");if ((oEl.parentNode || oEl._IE5_parentNode) != oBase || "+sCheckTag+") return aRet;"+sPush:"for (var oEl = oBase.firstChild; oEl; oEl = oEl.nextSibling) {if ("+sCheckTag+") { continue; }"+sPush+"}";break;case"+":sTmpFunc+=oExpr.quotID?"var oEl = oDocument_dontShrink.getElementById("+oExpr.quotID+");var oPrev;for (oPrev = oEl.previousSibling; oPrev; oPrev = oPrev.previousSibling) { if (oPrev.nodeType == 1) break; }if (!oPrev || oPrev != oBase || "+sCheckTag+") return aRet;"+sPush:"for (var oEl = oBase.nextSibling; oEl; oEl = oEl.nextSibling) { if (oEl.nodeType == 1) break; }if (!oEl || "+sCheckTag+") { return aRet; }"+sPush;break;case"~":sTmpFunc+=oExpr.quotID?"var oEl = oDocument_dontShrink.getElementById("+oExpr.quotID+");var oCandi = oEl;for (; oCandi; oCandi = oCandi.previousSibling) { if (oCandi == oBase) break; }if (!oCandi || "+sCheckTag+") return aRet;"+sPush:"for (var oEl = oBase.nextSibling; oEl; oEl = oEl.nextSibling) {if ("+sCheckTag+") { continue; }if (!markElement_dontShrink(oEl, "+i+")) { break; }"+sPush+"}";break;case"!":sTmpFunc+=oExpr.quotID?"var oEl = oDocument_dontShrink.getElementById("+oExpr.quotID+");for (; oBase; oBase = (oBase.parentNode || oBase._IE5_parentNode)) { if (oBase == oEl) break; }if (!oBase || "+sCheckTag+") return aRet;"+sPush:"for (var oEl = (oBase.parentNode || oBase._IE5_parentNode); oEl; oEl = (oEl.parentNode || oEl._IE5_parentNode)) {if ("+sCheckTag+") { continue; }"+sPush+"}";break;case"!>":sTmpFunc+=oExpr.quotID?"var oEl = oDocument_dontShrink.getElementById("+oExpr.quotID+");var oRel = (oBase.parentNode || oBase._IE5_parentNode);if (!oRel || oEl != oRel || ("+sCheckTag+")) return aRet;"+sPush:"var oEl = (oBase.parentNode || oBase._IE5_parentNode);if (!oEl || "+sCheckTag+") { return aRet; }"+sPush;break;case"!+":sTmpFunc+=oExpr.quotID?"var oEl = oDocument_dontShrink.getElementById("+oExpr.quotID+");var oRel;for (oRel = oBase.previousSibling; oRel; oRel = oRel.previousSibling) { if (oRel.nodeType == 1) break; }if (!oRel || oEl != oRel || ("+sCheckTag+")) return aRet;"+sPush:"for (oEl = oBase.previousSibling; oEl; oEl = oEl.previousSibling) { if (oEl.nodeType == 1) break; }if (!oEl || "+sCheckTag+") { return aRet; }"+sPush;break;case"!~":sTmpFunc+=oExpr.quotID?"var oEl = oDocument_dontShrink.getElementById("+oExpr.quotID+");var oRel;for (oRel = oBase.previousSibling; oRel; oRel = oRel.previousSibling) { if (oRel.nodeType != 1) { continue; }if (oRel == oEl) { break; }}if (!oRel || ("+sCheckTag+")) return aRet;"+sPush:"for (oEl = oBase.previousSibling; oEl; oEl = oEl.previousSibling) {if ("+sCheckTag+") { continue; }if (!markElement_dontShrink(oEl, "+i+")) { break; }"+sPush+"}"}sTmpFunc+=(0==i?"return aRet;":"")+"})",sFunc=sTmpFunc}return eval("var fpCompiled = "+sFunc+";"),fpCompiled},parseQuery=function(e){var t=e,n=arguments.callee,o=n._cache[t];if(!o){e=backupKeys(e);var i=splitToParts(e);o=n._cache[t]=compileParts(i),o.depth=i.length}return o};parseQuery._cache={};var parseTestQuery=function(sQuery){for(var fpSelf=arguments.callee,aSplitQuery=backupKeys(sQuery).split(/\s*,\s*/),aResult=[],nLen=aSplitQuery.length,aFunc=[],i=0;nLen>i;i++)aFunc.push(function(sQuery){var sCacheKey=sQuery,fpFunction=fpSelf._cache[sCacheKey];if(!fpFunction){sQuery=backupKeys(sQuery);var oExpr=getExpression(sQuery);eval("fpFunction = function(oEl) { "+oExpr.defines+"return ("+oExpr.returnsID+oExpr.returnsTAG+oExpr.returns+"); };")}return fpFunction}(restoreKeys(aSplitQuery[i])));return aFunc};parseTestQuery._cache={};var distinct=function(e){for(var t,n=[],o={},i=0;t=e[i];i++){var r=getUID(t);o[r]||(n.push(t),o[r]=!0)}return n},markElement_dontShrink=function(e,t){var n=getUID(e);return cssquery._marked[t][n]?!1:(cssquery._marked[t][n]=!0,!0)},oResultCache=null,bUseResultCache=!1,bExtremeMode=!1,old_cssquery=function(e,t,n){if("object"==typeof e){var o={};for(var i in e)e.hasOwnProperty(i)&&(o[i]=arguments.callee(e[i],t,n));return o}cost=0;for(var r,s=(new Date).getTime(),a=0,u=debugOption.repeat;u>a;a++)r=function(e,t,n){if(n?n.oneTimeOffCache||(n.oneTimeOffCache=!1):n={oneTimeOffCache:!1},cssquery.safeHTML(n.oneTimeOffCache),t||(t=document),oDocument_dontShrink=t.ownerDocument||t.document||t,/\bMSIE\s([0-9]+(\.[0-9]+)*);/.test(navigator.userAgent)&&parseFloat(RegExp.$1)<6){try{oDocument_dontShrink.location}catch(o){oDocument_dontShrink=document}oDocument_dontShrink.firstChild=oDocument_dontShrink.getElementsByTagName("html")[0],oDocument_dontShrink.firstChild._IE5_parentNode=oDocument_dontShrink}bXMLDocument="undefined"!=typeof XMLDocument?oDocument_dontShrink.constructor===XMLDocument:!oDocument_dontShrink.location,getUID=bXMLDocument?getUID4XML:getUID4HTML,clearKeys();for(var i=backupKeys(e).split(/\s*,\s*/),r=[],s=i.length,a=0;s>a;a++)i[a]=restoreKeys(i[a]);for(var a=0;s>a;a++){var u=i[a],l=null,d=u+(n.single?"_single":""),c=bUseResultCache?oResultCache[d]:null;if(c)for(var p,f=0;p=c[f];f++)if(p.parent==t){l=p.result;break}if(!l){var h=parseQuery(u);cssquery._marked=[];for(var f=0,y=h.depth;y>f;f++)cssquery._marked.push({});l=distinct(h(t,n)),bUseResultCache&&!n.oneTimeOffCache&&(oResultCache[d]instanceof Array||(oResultCache[d]=[]),oResultCache[d].push({parent:t,result:l}))}r=r.concat(l)}return unsetNodeIndexes(),r}(e,t,n);return s=(new Date).getTime()-s,debugOption.callback&&debugOption.callback(e,cost,s),r},cssquery;if(document.querySelectorAll){var protoSlice=Array.prototype.slice,_toArray=function(e){return protoSlice.apply(e)};try{protoSlice.apply(document.documentElement.childNodes)}catch(e){_toArray=function(e){for(var t=[],n=e.length,o=0;n>o;o++)t.push(e[o]);return t}}cssquery=function(e,t,n){t=t||document;try{if(_isNonStandardQueryButNotException(e))throw Error("None Standard Query");var o=e,i=t;if(9!=t.nodeType){if(!bExtremeMode)throw Error("Parent Element has not ID.or It is not document.or None Extreme Mode.");t.id||(t.id="p"+(new Date).getTime()+parseInt(1e8*Math.random(),10)),o=_commaRevise("#"+t.id+" "+e,", #"+t.id),i=t.ownerDocument||t.document||document}return n&&n.single?[i.querySelector(o)]:_toArray(i.querySelectorAll(o))}catch(r){return old_cssquery(e,t,n)}}}else cssquery=old_cssquery;return cssquery.test=function(e,t){clearKeys();for(var n=parseTestQuery(t),o=0,i=n.length;i>o;o++)if(n[o](e))return!0;return!1},cssquery.useCache=function(e){return"undefined"!=typeof e&&(bUseResultCache=e,cssquery.clearCache()),bUseResultCache},cssquery.clearCache=function(){oResultCache={}},cssquery.getSingle=function(e,t,n){return cssquery(e,t,{single:!0,oneTimeOffCache:n?!!n.oneTimeOffCache:!1})[0]||null},cssquery.xpath=function(e,t){var e=e.replace(/\/(\w+)(\[([0-9]+)\])?/g,function(e,t,n,o){return o=o||"1",">"+t+":nth-of-type("+o+")"});return old_cssquery(e,t)},cssquery.debug=function(e,t){debugOption.callback=e,debugOption.repeat=t||1},cssquery.safeHTML=function(e){var t=/MSIE/.test(window.navigator.userAgent);return arguments.length>0&&(safeHTML=e&&t),safeHTML||!t},cssquery.version=sVersion,cssquery.release=function(){/MSIE/.test(window.navigator.userAgent)&&(delete validUID,validUID={},bUseResultCache&&cssquery.clearCache())},cssquery._getCacheInfo=function(){return{uidCache:validUID,eleCache:oResultCache}},cssquery._resetUID=function(){UID=0},cssquery.extreme=function(e){0==arguments.length&&(e=!0),bExtremeMode=e},cssquery}(),jindo.$Agent=function(){var e=arguments.callee,t=e._cached;return t?t:this instanceof e?(t||(e._cached=this),this._navigator=navigator,void(this._dm=document.documentMode)):new e},jindo.$Agent.prototype.navigator=function(){function e(e,t){return(t||"").indexOf(e)>-1}var t={},n=-1,o=-1,i=this._navigator.userAgent,r=this._navigator.vendor||"",s=this._dm;t.getName=function(){var e="";for(x in t)"boolean"==typeof t[x]&&t[x]&&t.hasOwnProperty(x)&&(e=x);return e},t.edge=e("Edge",i),t.webkit=!t.edge&&e("WebKit",i),t.opera=void 0!==window.opera||e("Opera",i)||e("OPR",i),t.ie=!t.opera&&(e("MSIE",i)||e("Trident",i)),t.chrome=!t.edge&&t.webkit&&!t.opera&&e("Chrome",i)||e("CriOS",i),t.safari=!t.edge&&t.webkit&&!t.chrome&&!t.opera&&e("Apple",r),t.firefox=e("Firefox",i),t.mozilla=!t.edge&&e("Gecko",i)&&!t.safari&&!t.chrome&&!t.firefox&&!t.ie,t.camino=e("Camino",r),t.netscape=e("Netscape",i),t.omniweb=e("OmniWeb",i),t.icab=e("iCab",r),t.konqueror=e("KDE",r),t.mobile=!t.edge&&(e("Mobile",i)||e("Android",i)||e("Nokia",i)||e("webOS",i)||e("Opera Mini",i)||e("Opera Mobile",i)||e("BlackBerry",i)||e("Windows",i)&&e("PPC",i)||e("Smartphone",i)||e("IEMobile",i))&&!(e("iPad",i)||e("Tablet",i)),t.msafari=!t.edge&&(!e("IEMobile",i)&&e("Mobile",i)||e("iPad",i)&&e("Safari",i))&&!t.chrome&&!t.opera&&!t.firefox,t.mopera=e("Opera Mini",i),t.mie=e("PPC",i)||e("Smartphone",i)||e("IEMobile",i);try{if(t.ie)if(s>0)if(n=s,i.match(/(?:Trident)\/([0-9.]+)/)){var a=parseFloat(RegExp.$1,10);a>3&&(o=a+4)}else o=n;else o=n=i.match(/(?:MSIE) ([0-9.]+)/)[1];else t.edge?n=i.match(/(?:Edge)\/([\d.]+)/)[1]:t.safari||t.msafari?(n=parseFloat(i.match(/Safari\/([0-9.]+)/)[1]),n=100==n?1.1:i.match(/Version\/([0-9.]+)/)?RegExp.$1:[1,1.2,-1,1.3,2,3][Math.floor(n/100)]):t.mopera?n=i.match(/(?:Opera\sMini)\/([0-9.]+)/)[1]:t.firefox||t.opera||t.omniweb?n=i.match(/(?:Firefox|Opera|OmniWeb)\/([0-9.]+)/)[1]:t.mozilla?n=i.match(/rv:([0-9.]+)/)[1]:t.icab?n=i.match(/iCab[ \/]([0-9.]+)/)[1]:t.chrome&&(n=i.match(/Chrome[ \/]([0-9.]+)/)[1]);t.version=parseFloat(n),t.nativeVersion=parseFloat(o),isNaN(t.version)&&(t.version=-1)}catch(u){t.version=-1}return this.navigator=function(){return t},t},jindo.$Agent.prototype.os=function(){var e=new Object,t=this._navigator.userAgent,n=this._navigator.platform,o=function(e,t){return t.indexOf(e)>-1};return e.getName=function(){var t="";for(x in e)"boolean"==typeof e[x]&&e[x]&&e.hasOwnProperty(x)&&(t=x);return t},e.win=o("Win",n),e.mac=o("Mac",n),e.linux=o("Linux",n),e.win2000=e.win&&(o("NT 5.0",t)||o("2000",t)),e.winxp=e.win&&o("NT 5.1",t),e.xpsp2=e.winxp&&o("SV1",t),e.vista=e.win&&o("NT 6.0",t),e.win7=e.win&&o("NT 6.1",t),e.ipad=o("iPad",t),e.iphone=o("iPhone",t)&&!e.ipad,e.android=o("Android",t),e.nokia=o("Nokia",t),e.webos=o("webOS",t),e.blackberry=o("BlackBerry",t),e.mwin=o("PPC",t)||o("Smartphone",t)||o("IEMobile",t),this.os=function(){return e},e},jindo.$Agent.prototype.flash=function(){var e=new Object,t=this._navigator.plugins,n=this._navigator.mimeTypes,o=null;if(e.installed=!1,e.version=-1,"undefined"!=typeof t&&t.length)o=t["Shockwave Flash"],o&&(e.installed=!0,o.description&&(e.version=parseFloat(o.description.match(/[0-9.]+/)[0]))),t["Shockwave Flash 2.0"]&&(e.installed=!0,e.version=2);else if("undefined"!=typeof n&&n.length)o=n["application/x-shockwave-flash"],e.installed=o&&o.enabledPlugin;else for(var i=10;i>1;i--)try{o=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+i),e.installed=!0,e.version=i;break}catch(r){}return this.flash=function(){return e},this.info=this.flash,e},jindo.$Agent.prototype.silverlight=function(){var e=new Object,t=this._navigator.plugins,n=null;if(e.installed=!1,e.version=-1,"undefined"!=typeof t&&t.length)n=t["Silverlight Plug-In"],n&&(e.installed=!0,e.version=parseInt(n.description.split(".")[0],10),"1.0.30226.2"==n.description&&(e.version=2));else try{n=new ActiveXObject("AgControl.AgControl"),e.installed=!0,n.isVersionSupported("3.0")?e.version=3:n.isVersionSupported("2.0")?e.version=2:n.isVersionSupported("1.0")&&(e.version=1)}catch(o){}return this.silverlight=function(){return e},e},jindo.$A=function(e){var t=arguments.callee;if(("undefined"==typeof e||null==e)&&(e=[]),e instanceof t)return e;if(!(this instanceof t))return new t(e);if(this._array=[],e.constructor!=String){this._array=[];for(var n=0;n<e.length;n++)this._array[this._array.length]=e[n]}},jindo.$A.prototype.toString=function(){return this._array.toString()},jindo.$A.prototype.get=function(e){return this._array[e]},jindo.$A.prototype.length=function(e,t){if("number"==typeof e){var n=this._array.length;if(this._array.length=e,"undefined"!=typeof t)for(var o=n;e>o;o++)this._array[o]=t;return this}return this._array.length},jindo.$A.prototype.has=function(e){return this.indexOf(e)>-1},jindo.$A.prototype.indexOf=function(e){return"undefined"!=typeof this._array.indexOf?jindo.$A.prototype.indexOf=function(e){return this._array.indexOf(e)}:jindo.$A.prototype.indexOf=function(e){for(var t=0;t<this._array.length;t++)if(this._array[t]==e)return t;return-1},this.indexOf(e)},jindo.$A.prototype.$value=function(){return this._array},jindo.$A.prototype.push=function(e){return this._array.push.apply(this._array,Array.prototype.slice.apply(arguments))},jindo.$A.prototype.pop=function(){return this._array.pop()},jindo.$A.prototype.shift=function(){return this._array.shift()},jindo.$A.prototype.unshift=function(e){return this._array.unshift.apply(this._array,Array.prototype.slice.apply(arguments)),this._array.length},jindo.$A.prototype.forEach=function(e,t){return"function"==typeof this._array.forEach?jindo.$A.prototype.forEach=function(e,t){function n(n,o,r){try{e.call(t,n,o,r)}catch(s){if(!(s instanceof i))throw s}}var o=(this._array,this.constructor.Break),i=this.constructor.Continue;try{this._array.forEach(n)}catch(r){if(!(r instanceof o))throw r}return this}:jindo.$A.prototype.forEach=function(e,t){function n(n,o,i){try{e.call(t,n,o,i)}catch(s){if(!(s instanceof r))throw s}}for(var o=this._array,i=this.constructor.Break,r=this.constructor.Continue,s=0;s<o.length;s++)try{n(o[s],s,o)}catch(a){if(a instanceof i)break;throw a}return this},this.forEach(e,t)},jindo.$A.prototype.slice=function(e,t){var n=this._array.slice.call(this._array,e,t);return jindo.$A(n)},jindo.$A.prototype.splice=function(e,t){var n=this._array.splice.apply(this._array,Array.prototype.slice.apply(arguments));return jindo.$A(n)},jindo.$A.prototype.shuffle=function(){return this._array.sort(function(e,t){return Math.random()>Math.random()?1:-1}),this},jindo.$A.prototype.reverse=function(){return this._array.reverse(),this},jindo.$A.prototype.empty=function(){return this.length(0)},jindo.$A.Break=function(){if(!(this instanceof arguments.callee))throw new arguments.callee},jindo.$A.Continue=function(){if(!(this instanceof arguments.callee))throw new arguments.callee},jindo.$A.prototype.map=function(e,t){return"function"==typeof this._array.map?jindo.$A.prototype.map=function(e,t){function n(n,o,r){try{return e.call(t,n,o,r)}catch(s){if(s instanceof i)return n;throw s}}var o=(this._array,this.constructor.Break),i=this.constructor.Continue;try{this._array=this._array.map(n)}catch(r){if(!(r instanceof o))throw r}return this}:jindo.$A.prototype.map=function(e,t){function n(n,o,i){try{return e.call(t,n,o,i)}catch(r){if(r instanceof s)return n;throw r}}for(var o=this._array,i=[],r=this.constructor.Break,s=this.constructor.Continue,a=0;a<this._array.length;a++)try{i[a]=n(o[a],a,o)}catch(u){if(u instanceof r)return this;throw u}return this._array=i,this},this.map(e,t)},jindo.$A.prototype.filter=function(e,t){return"undefined"!=typeof this._array.filter?jindo.$A.prototype.filter=function(e,t){return jindo.$A(this._array.filter(e,t))}:jindo.$A.prototype.filter=function(e,t){var n=[];return this.forEach(function(o,i,r){e.call(t,o,i,r)===!0&&(n[n.length]=o)}),jindo.$A(n)},this.filter(e,t)},jindo.$A.prototype.every=function(e,t){return"undefined"!=typeof this._array.every?jindo.$A.prototype.every=function(e,t){return this._array.every(e,t)}:jindo.$A.prototype.every=function(e,t){var n=!0;return this.forEach(function(o,i,r){e.call(t,o,i,r)===!1&&(n=!1,jindo.$A.Break())}),n},this.every(e,t)},jindo.$A.prototype.some=function(e,t){return"undefined"!=typeof this._array.some?jindo.$A.prototype.some=function(e,t){return this._array.some(e,t)}:jindo.$A.prototype.some=function(e,t){var n=!1;return this.forEach(function(o,i,r){e.call(t,o,i,r)===!0&&(n=!0,jindo.$A.Break())}),n},this.some(e,t)},jindo.$A.prototype.refuse=function(e){var t=jindo.$A(Array.prototype.slice.apply(arguments));return this.filter(function(e,n){return!t.has(e)})},jindo.$A.prototype.unique=function(){var e,t,n=this._array,o=[],i=n.length;for(e=0;i>e;e++){for(t=0;t<o.length&&n[e]!=o[t];t++);t>=o.length&&(o[t]=n[e])}return this._array=o,this},jindo.$Ajax=function(e,t){function n(){var e=window.XMLHttpRequest&&new XMLHttpRequest;if(this._checkCORSUrl(this._url)){if(e&&"withCredentials"in e)return e;if(window.XDomainRequest)return this._bXDomainRequest=!0,new XDomainRequest}else{if(e)return e;if(window.ActiveXObject)try{return new ActiveXObject("MSXML2.XMLHTTP")}catch(t){return new ActiveXObject("Microsoft.XMLHTTP")}}return null}var o=arguments.callee;if(!(this instanceof o))return new o(e,t);this._status=0,this._url=e,this._options=new Object,this._headers=new Object,this._options={type:"xhr",method:"post",proxy:"",timeout:0,onload:function(e){},onerror:null,ontimeout:function(e){},jsonp_charset:"utf-8",callbackid:"",callbackname:"",sendheader:!0,async:!0,decode:!0,postBody:!1,withCredentials:!1},this.option(t),jindo.$Ajax.CONFIG&&this.option(jindo.$Ajax.CONFIG);var i=this._options;switch(i.type=i.type.toLowerCase(),i.method=i.method.toLowerCase(),"undefined"==typeof window.__jindo2_callback&&(window.__jindo2_callback=new Array),i.type){case"put":case"delete":case"get":case"post":i.method=i.type,i.type="xhr";case"xhr":this._request=n.call(this),this._checkCORS(this._url,i.type);break;case"flash":if(!jindo.$Ajax.SWFRequest)throw Error("Require jindo.$Ajax.SWFRequest");this._request=new jindo.$Ajax.SWFRequest(jindo.$Fn(this.option,this).bind());break;case"jsonp":if(!jindo.$Ajax.JSONPRequest)throw Error("Require jindo.$Ajax.JSONPRequest");i.method="get",this._request=new jindo.$Ajax.JSONPRequest(jindo.$Fn(this.option,this).bind());break;case"iframe":if(!jindo.$Ajax.FrameRequest)throw Error("Require jindo.$Ajax.FrameRequest");this._request=new jindo.$Ajax.FrameRequest(jindo.$Fn(this.option,this).bind())}},jindo.$Ajax.prototype._checkCORSUrl=function(e){return/^http/.test(e)&&!new RegExp("^http://"+window.location.host,"i").test(e)},jindo.$Ajax.prototype._checkCORS=function(e,t){if(this._bCORS=!1,this._checkCORSUrl(e)&&"xhr"===t){if(!(this._bXDomainRequest||"withCredentials"in this._request))throw Error("This browser does not support CORS.");this._bCORS=!0}},jindo.$Ajax.prototype._onload=function(e){return e?function(){var e,t=this._request.status,n=4==this._request.readyState&&(200==t||0==t)||this._bXDomainRequest&&!!this._request.responseText;if(4==this._request.readyState||this._bXDomainRequest)try{200!=this._request.status&&"function"==typeof this._options.onerror?0==!this._request.status&&this._options.onerror(jindo.$Ajax.Response(this._request)):this._is_abort||(e=this._options.onload(jindo.$Ajax.Response(this._request)))}finally{if("function"==typeof this._oncompleted&&this._oncompleted(n,e),"xhr"==this._options.type){this.abort();try{delete this._request.onload}catch(o){this._request.onload=void 0}}this._request.onreadystatechange&&delete this._request.onreadystatechange}}:function(){var e,t=4==this._request.readyState&&200==this._request.status;if(4==this._request.readyState)try{200!=this._request.status&&"function"==typeof this._options.onerror?this._options.onerror(jindo.$Ajax.Response(this._request)):e=this._options.onload(jindo.$Ajax.Response(this._request))}finally{this._status--,"function"==typeof this._oncompleted&&this._oncompleted(t,e)}}}(/MSIE/.test(window.navigator.userAgent)),jindo.$Ajax.prototype.request=function(e){this._status++;var t,n,o=this,i=this._request,r=this._options,s=[],t="",a=null,u=this._url;this._is_abort=!1;var l=r.type.toUpperCase(),d=r.method.toUpperCase();
+if(r.postBody&&"XHR"==l&&"GET"!=d)t="string"==typeof e?e:jindo.$Json(e).toString();else if("undefined"!=typeof e&&e){for(var c in e)e.hasOwnProperty(c)&&(n=e[c],"function"==typeof n&&(n=n()),n instanceof Array||n instanceof jindo.$A?jindo.$A(n).forEach(function(e,t,n){s[s.length]=c+"="+encodeURIComponent(e)}):s[s.length]=c+"="+encodeURIComponent(n));t=s.join("&")}else t=null;if(t&&"XHR"==l&&"GET"==d&&(u+=-1==u.indexOf("?")?"?":"&",u+=t,t=null),i.open(d,u,!!r.async),r.withCredentials&&(i.withCredentials=!0),this._bCORS&&r.sendheader===!1&&(i.setRequestHeader=null),"XHR"==l&&"GET"==d&&/MSIE|Trident/.test(window.navigator.userAgent)&&i.setRequestHeader&&i.setRequestHeader("If-Modified-Since","Thu, 1 Jan 1970 00:00:00 GMT"),("XHR"==l||"IFRAME"==l||"FLASH"==l&&r.sendheader)&&i.setRequestHeader){this._headers["Content-Type"]||i.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=utf-8"),i.setRequestHeader("charset","utf-8"),this._bCORS||this._headers["X-Requested-With"]||i.setRequestHeader("X-Requested-With","XMLHttpRequest");for(var p in this._headers)if(this._headers.hasOwnProperty(p)){if("function"==typeof this._headers[p])continue;i.setRequestHeader(p,String(this._headers[p]))}}var f=navigator.userAgent;if(!i.addEventListener||f.indexOf("Opera")>-1||f.indexOf("MSIE")>-1)if("undefined"!=typeof i.onload){if(i.onload=function(e){4!=i.readyState||o._is_abort||(clearTimeout(a),a=void 0,o._onload(e))},this._bXDomainRequest){var h=i.onload;i.onload=function(e){o._request.readyState=4,o._request.status=200,h(e)},i.onerror=function(e){o._request.readyState=4,o._request.status=404,h(e)}}}else if(6==window.navigator.userAgent.match(/(?:MSIE) ([0-9.]+)/)[1]&&r.async){var y=function(e){4!=i.readyState||o._is_abort||(a&&(clearTimeout(a),a=void 0),o._onload(e),clearInterval(o._interval),o._interval=void 0)};this._interval=setInterval(y,300)}else i.onreadystatechange=function(e){4==i.readyState&&(clearTimeout(a),a=void 0,o._onload(e))};else this._loadFunc&&i.removeEventListener("load",this._loadFunc,!1),this._loadFunc=function(e){clearTimeout(a),a=void 0,o._onload(e)},i.addEventListener("load",this._loadFunc,!1),i.addEventListener("error",this._loadFunc,!1);return r.timeout>0&&(this._timer&&clearTimeout(this._timer),a=setTimeout(function(){o._is_abort=!0,o._interval&&(clearInterval(o._interval),o._interval=void 0);try{i.abort()}catch(e){}r.ontimeout(i),"function"==typeof o._oncompleted&&o._oncompleted(!1)},1e3*r.timeout),this._timer=a),this._test_url=u,i.send(t),this},jindo.$Ajax.prototype.isIdle=function(){return 0==this._status},jindo.$Ajax.prototype.abort=function(){try{this._interval&&clearInterval(this._interval),this._timer&&clearTimeout(this._timer),this._interval=void 0,this._timer=void 0,this._is_abort=!0,this._request.abort()}finally{this._status--}return this},jindo.$Ajax.prototype.option=function(e,t){if("undefined"==typeof e)return"";if("string"==typeof e)return"undefined"==typeof t?this._options[e]:(this._options[e]=t,this);try{for(var n in e)e.hasOwnProperty(n)&&(this._options[n]=e[n])}catch(o){}return this},jindo.$Ajax.prototype.header=function(e,t){if("undefined"==typeof e)return"";if("string"==typeof e)return"undefined"==typeof t?this._headers[e]:(this._headers[e]=t,this);try{for(var n in e)e.hasOwnProperty(n)&&(this._headers[n]=e[n])}catch(o){}return this},jindo.$Ajax.Response=function(e){return this===jindo.$Ajax?new jindo.$Ajax.Response(e):void(this._response=e)},jindo.$Ajax.Response.prototype.xml=function(){return this._response.responseXML},jindo.$Ajax.Response.prototype.text=function(){return this._response.responseText},jindo.$Ajax.Response.prototype.status=function(){return this._response.status},jindo.$Ajax.Response.prototype.readyState=function(){return this._response.readyState},jindo.$Ajax.Response.prototype.json=function(){if(this._response.responseJSON)return this._response.responseJSON;if(this._response.responseText)try{return eval("("+this._response.responseText+")")}catch(e){return{}}return{}},jindo.$Ajax.Response.prototype.header=function(e){return"string"==typeof e?this._response.getResponseHeader(e):this._response.getAllResponseHeaders()},jindo.$Ajax.RequestBase=jindo.$Class({_respHeaderString:"",callbackid:"",callbackname:"",responseXML:null,responseJSON:null,responseText:"",status:404,readyState:0,$init:function(e){},onload:function(){},abort:function(){},open:function(){},send:function(){},setRequestHeader:function(e,t){this._headers[e]=t},getResponseHeader:function(e){return this._respHeaders[e]||""},getAllResponseHeaders:function(){return this._respHeaderString},_getCallbackInfo:function(){var e="";if(""!=this.option("callbackid")){var t=0;do e="_"+this.option("callbackid")+"_"+t,t++;while(window.__jindo2_callback[e])}else do e="_"+Math.floor(1e4*Math.random());while(window.__jindo2_callback[e]);return""==this.option("callbackname")&&this.option("callbackname","_callback"),{callbackname:this.option("callbackname"),id:e,name:"window.__jindo2_callback."+e}}}),jindo.$Ajax.JSONPRequest=jindo.$Class({_headers:{},_respHeaders:{},_script:null,_onerror:null,$init:function(e){this.option=e},_callback:function(e){this._onerror&&(clearTimeout(this._onerror),this._onerror=null);var t=this;this.responseJSON=e,this.onload(this),setTimeout(function(){t.abort()},10)},abort:function(){if(this._script)try{this._script.parentNode.removeChild(this._script)}catch(e){}},open:function(e,t){this.responseJSON=null,this._url=t},send:function(e){var t=this,n=this._getCallbackInfo(),o=document.getElementsByTagName("head")[0];this._script=jindo.$("<script>"),this._script.type="text/javascript",this._script.charset=this.option("jsonp_charset"),o?o.appendChild(this._script):document.body&&document.body.appendChild(this._script),window.__jindo2_callback[n.id]=function(e){try{t.readyState=4,t.status=200,t._callback(e)}finally{delete window.__jindo2_callback[n.id]}};var i=jindo.$Agent(navigator);i.navigator().ie||i.navigator().opera?this._script.onreadystatechange=function(){"loaded"==this.readyState&&(t.responseJSON||(t.readyState=4,t.status=500,t._onerror=setTimeout(function(){t._callback(null)},200)),this.onreadystatechange=null)}:(this._script.onload=function(){t.responseJSON||(t.readyState=4,t.status=500,t._onerror=setTimeout(function(){t._callback(null)},200)),this.onload=null,this.onerror=null},this._script.onerror=function(){t.responseJSON||(t.readyState=4,t.status=404,t._onerror=setTimeout(function(){t._callback(null)},200)),this.onerror=null,this.onload=null});var r="&";-1==this._url.indexOf("?")&&(r="?"),e=e?"&"+e:"",this._test_url=this._url+r+n.callbackname+"="+n.name+e,this._script.src=this._url+r+n.callbackname+"="+n.name+e}}).extend(jindo.$Ajax.RequestBase),jindo.$Ajax.SWFRequest=jindo.$Class({$init:function(e){this.option=e},_headers:{},_respHeaders:{},_getFlashObj:function(){var e,t=jindo.$Agent(window.navigator).navigator();return e=t.ie&&9==t.version?document.getElementById(jindo.$Ajax.SWFRequest._tmpId):window.document[jindo.$Ajax.SWFRequest._tmpId],(this._getFlashObj=function(){return e})()},_callback:function(e,t,n){if(this.readyState=4,"number"==(typeof e).toLowerCase()?this.status=e:1==e&&(this.status=200),200==this.status){if("string"==typeof t)try{this.responseText=this.option("decode")?decodeURIComponent(t):t,this.responseText&&""!=this.responseText||(this.responseText=t)}catch(o){"URIError"==o.name&&(this.responseText=t,this.responseText&&""!=this.responseText||(this.responseText=t))}"object"==typeof n&&(this._respHeaders=n)}this.onload(this)},open:function(e,t){this._url=t,this._method=e},send:function(e){function t(e){switch(typeof e){case"string":return'"'+e.replace(/\\/g,"\\\\").replace(/\"/g,'\\"')+'"';case"number":return e;case"object":var n="",o=[];if(e instanceof Array){for(var i=0;i<e.length;i++)o[i]=t(e[i]);n="["+o.join(",")+"]"}else{for(var r in e)e.hasOwnProperty(r)&&(o[o.length]=t(r)+":"+t(e[r]));n="{"+o.join(",")+"}"}return n;default:return'""'}}this.responseXML=!1,this.responseText="";var n=this,o={},i=this._getCallbackInfo(),r=this._getFlashObj();e=e?e.split("&"):[];for(var s=0;s<e.length;s++)pos=e[s].indexOf("="),key=e[s].substring(0,pos),val=e[s].substring(pos+1),o[key]=decodeURIComponent(val);this._current_callback_id=i.id,window.__jindo2_callback[i.id]=function(e,t){try{n._callback(e,t)}finally{delete window.__jindo2_callback[i.id]}};var a={url:this._url,type:this._method,data:o,charset:"UTF-8",callback:i.name,header_json:this._headers};r.requestViaFlash(t(a))},abort:function(){this._current_callback_id&&(window.__jindo2_callback[this._current_callback_id]=function(){delete window.__jindo2_callback[info.id]})}}).extend(jindo.$Ajax.RequestBase),jindo.$Ajax.SWFRequest.write=function(e){"undefined"==typeof e&&(e="./ajax.swf"),jindo.$Ajax.SWFRequest._tmpId="tmpSwf"+(new Date).getMilliseconds()+Math.floor(1e5*Math.random());var t="jindo.$Ajax.SWFRequest.loaded";jindo.$Ajax._checkFlashLoad(),document.write('<div style="position:absolute;top:-1000px;left:-1000px"><object tabindex="-1" id="'+jindo.$Ajax.SWFRequest._tmpId+'" width="1" height="1" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"><param name="movie" value="'+e+'"><param name = "FlashVars" value = "activeCallback='+t+'" /><param name = "allowScriptAccess" value = "always" /><embed name="'+jindo.$Ajax.SWFRequest._tmpId+'" src="'+e+'" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" width="1" height="1" allowScriptAccess="always" swLiveConnect="true" FlashVars="activeCallback='+t+'"></embed></object></div>')},jindo.$Ajax._checkFlashLoad=function(){jindo.$Ajax._checkFlashKey=setTimeout(function(){},5e3),jindo.$Ajax._checkFlashLoad=function(){}},jindo.$Ajax.SWFRequest.activeFlash=!1,jindo.$Ajax.SWFRequest.loaded=function(){clearTimeout(jindo.$Ajax._checkFlashKey),jindo.$Ajax.SWFRequest.activeFlash=!0},jindo.$Ajax.FrameRequest=jindo.$Class({_headers:{},_respHeaders:{},_frame:null,_domain:"",$init:function(e){this.option=e},_callback:function(e,t,n){var o=this;this.readyState=4,this.status=200,this.responseText=t,this._respHeaderString=n,n.replace(/^([\w\-]+)\s*:\s*(.+)$/m,function(e,t,n){o._respHeaders[t]=n}),this.onload(this),setTimeout(function(){o.abort()},10)},abort:function(){if(this._frame)try{this._frame.parentNode.removeChild(this._frame)}catch(e){}},open:function(e,t){var n=/https?:\/\/([a-z0-9_\-\.]+)/i,o=document.location.toString().match(n);this._method=e,this._url=t,this._remote=String(t).match(/(https?:\/\/[a-z0-9_\-\.]+)(:[0-9]+)?/i)[0],this._frame=null,this._domain=o[1]!=document.domain?document.domain:""},send:function(e){this.responseXML="",this.responseText="";var t=this,n=/https?:\/\/([a-z0-9_\-\.]+)/i,o=this._getCallbackInfo(),i=[];i.push(this._remote+"/ajax_remote_callback.html?method="+this._method);var r=new Array;window.__jindo2_callback[o.id]=function(e,n,i){try{t._callback(e,n,i)}finally{delete window.__jindo2_callback[o.id]}};for(var s in this._headers)this._headers.hasOwnProperty(s)&&(r[r.length]="'"+s+"':'"+this._headers[s]+"'");r="{"+r.join(",")+"}",i.push("&id="+o.id),i.push("&header="+encodeURIComponent(r)),i.push("&proxy="+encodeURIComponent(this.option("proxy"))),i.push("&domain="+this._domain),i.push("&url="+encodeURIComponent(this._url.replace(n,""))),i.push("#"+encodeURIComponent(e));var a=this._frame=jindo.$("<iframe>");a.style.position="absolute",a.style.visibility="hidden",a.style.width="1px",a.style.height="1px";var u=document.body||document.documentElement;u.firstChild?u.insertBefore(a,u.firstChild):u.appendChild(a),a.src=i.join("")}}).extend(jindo.$Ajax.RequestBase),jindo.$Ajax.Queue=function(e){var t=arguments.callee;return this instanceof t?(this._options={async:!1,useResultAsParam:!1,stopOnFailure:!1},this.option(e),void(this._queue=[])):new t(e)},jindo.$Ajax.Queue.prototype.option=function(e,t){if("undefined"==typeof e)return"";if("string"==typeof e)return"undefined"==typeof t?this._options[e]:(this._options[e]=t,this);try{for(var n in e)e.hasOwnProperty(n)&&(this._options[n]=e[n])}catch(o){}return this},jindo.$Ajax.Queue.prototype.add=function(e,t){this._queue.push({obj:e,param:t})},jindo.$Ajax.Queue.prototype.request=function(){this.option("async")?this._requestAsync():this._requestSync(0)},jindo.$Ajax.Queue.prototype._requestSync=function(e,t){var n=this;this._queue.length>e+1&&(this._queue[e].obj._oncompleted=function(t,o){(!n.option("stopOnFailure")||t)&&n._requestSync(e+1,o)});var o=this._queue[e].param||{};if(this.option("useResultAsParam")&&t)try{for(var i in t)"undefined"==typeof o[i]&&t.hasOwnProperty(i)&&(o[i]=t[i])}catch(r){}this._queue[e].obj.request(o)},jindo.$Ajax.Queue.prototype._requestAsync=function(){for(var e=0;e<this._queue.length;e++)this._queue[e].obj.request(this._queue[e].param)},jindo.$H=function(e){var t=arguments.callee;if("undefined"==typeof e&&(e=new Object),e instanceof t)return e;if(!(this instanceof t))return new t(e);this._table={};for(var n in e)e.hasOwnProperty(n)&&(this._table[n]=e[n])},jindo.$H.prototype.$value=function(){return this._table},jindo.$H.prototype.$=function(e,t){return"undefined"==typeof t?this._table[e]:(this._table[e]=t,this)},jindo.$H.prototype.length=function(){var e=0;for(var t in this._table)if(this._table.hasOwnProperty(t)){if("undefined"!=typeof Object.prototype[t]&&Object.prototype[t]===this._table[t])continue;e++}return e},jindo.$H.prototype.forEach=function(e,t){var n=this._table,o=this.constructor;for(var i in n)if(n.hasOwnProperty(i)){if(!n.propertyIsEnumerable(i))continue;try{e.call(t,n[i],i,n)}catch(r){if(r instanceof o.Break)break;if(r instanceof o.Continue)continue;throw r}}return this},jindo.$H.prototype.filter=function(e,t){var n=jindo.$H();return this.forEach(function(o,i,r){e.call(t,o,i,r)===!0&&n.add(i,o)}),n},jindo.$H.prototype.map=function(e,t){var n=this._table;return this.forEach(function(o,i,r){n[i]=e.call(t,o,i,r)}),this},jindo.$H.prototype.add=function(e,t){return this._table[e]=t,this},jindo.$H.prototype.remove=function(e){if("undefined"==typeof this._table[e])return null;var t=this._table[e];return delete this._table[e],t},jindo.$H.prototype.search=function(e){var t=!1;return this.forEach(function(n,o,i){n===e&&(t=o,jindo.$H.Break())}),t},jindo.$H.prototype.hasKey=function(e){return"undefined"!=typeof this._table[e]},jindo.$H.prototype.hasValue=function(e){return this.search(e)!==!1},jindo.$H.prototype.sort=function(){var e=new Object,t=this.values(),n=!1;t.sort();for(var o=0;o<t.length;o++)n=this.search(t[o]),e[n]=t[o],delete this._table[n];return this._table=e,this},jindo.$H.prototype.ksort=function(){var e=new Object,t=this.keys();t.sort();for(var n=0;n<t.length;n++)e[t[n]]=this._table[t[n]];return this._table=e,this},jindo.$H.prototype.keys=function(){var e=new Array;for(var t in this._table)this._table.hasOwnProperty(t)&&e.push(t);return e},jindo.$H.prototype.values=function(){var e=[];for(var t in this._table)this._table.hasOwnProperty(t)&&(e[e.length]=this._table[t]);return e},jindo.$H.prototype.toQueryString=function(){var e=[],t=null;for(var n in this._table)if(this._table.hasOwnProperty(n))if("object"==typeof(t=this._table[n])&&t.constructor==Array)for(i=0;i<t.length;i++)e[e.length]=encodeURIComponent(n)+"[]="+encodeURIComponent(t[i]+"");else e[e.length]=encodeURIComponent(n)+"="+encodeURIComponent(this._table[n]+"");return e.join("&")},jindo.$H.prototype.empty=function(){for(var e=this.keys(),t=0;t<e.length;t++)delete this._table[e[t]];return this},jindo.$H.Break=function(){if(!(this instanceof arguments.callee))throw new arguments.callee},jindo.$H.Continue=function(){if(!(this instanceof arguments.callee))throw new arguments.callee},jindo.$Json=function(e){var t=arguments.callee;return"undefined"==typeof e&&(e={}),e instanceof t?e:this instanceof t?void("string"==typeof e?this._object=jindo.$Json._oldMakeJSON(e):this._object=e):new t(e)},jindo.$Json._oldMakeJSON=function(sObject){try{sObject=/^(?:\s*)[\{\[]/.test(sObject)?eval("("+sObject+")"):sObject}catch(e){sObject={}}return sObject},jindo.$Json.fromXML=function(e){var t={},n=/\s*<(\/?[\w:\-]+)((?:\s+[\w:\-]+\s*=\s*(?:"(?:\\"|[^"])*"|'(?:\\'|[^'])*'))*)\s*((?:\/>)|(?:><\/\1>|\s*))|\s*<!\[CDATA\[([\w\W]*?)\]\]>\s*|\s*>?([^<]*)/gi,o=/^[0-9]+(?:\.[0-9]+)?$/,i={"&amp;":"&","&nbsp;":" ","&quot;":'"',"&lt;":"<","&gt;":">"},r={tags:["/"],stack:[t]},s=function(e){return"undefined"==typeof e?"":e.replace(/&[a-z]+;/g,function(e){return"string"==typeof i[e]?i[e]:e})},a=function(e,t){e.replace(/([\w\:\-]+)\s*=\s*(?:"((?:\\"|[^"])*)"|'((?:\\'|[^'])*)')/g,function(e,n,o,i){t[n]=s((o?o.replace(/\\"/g,'"'):void 0)||(i?i.replace(/\\'/g,"'"):void 0))})},u=function(e){for(var t in e)if(e.hasOwnProperty(t)){if(Object.prototype[t])continue;return!1}return!0},l=function(e,t,n,i,l,d){var c,p="",f=r.stack.length-1;if("string"==typeof t&&t)if("/"!=t.substr(0,1)){var h="string"==typeof n&&n,y="string"==typeof i&&i,m=!h&&y?"":{};if(c=r.stack[f],"undefined"==typeof c[t])c[t]=m,c=r.stack[f+1]=c[t];else if(c[t]instanceof Array){var _=c[t].length;c[t][_]=m,c=r.stack[f+1]=c[t][_]}else c[t]=[c[t],m],c=r.stack[f+1]=c[t][1];h&&a(n,c),r.tags[f+1]=t,y&&(r.tags.length--,r.stack.length--)}else r.tags.length--,r.stack.length--;else"string"==typeof l&&l?p=l:"string"==typeof d&&d&&(p=s(d));if(p.replace(/^\s+/g,"").length>0){var g=r.stack[f-1],v=r.tags[f];if(o.test(p)?p=parseFloat(p):"true"==p?p=!0:"false"==p&&(p=!1),"undefined"==typeof g)return;if(g[v]instanceof Array){var j=g[v];"object"!=typeof j[j.length-1]||u(j[j.length-1])?j[j.length-1]=p:(j[j.length-1].$cdata=p,j[j.length-1].toString=function(){return p})}else"object"!=typeof g[v]||u(g[v])?g[v]=p:(g[v].$cdata=p,g[v].toString=function(){return p})}};return e=e.replace(/<(\?|\!-)[^>]*>/g,""),e.replace(n,l),jindo.$Json(t)},jindo.$Json.prototype.get=function(e){for(var t,n,o,i,r,s=this._object,a=e.split("/"),u=/^([\w:\-]+)\[([0-9]+)\]$/,l=[[s]],d=l[0],c=a.length,p=0;c>p;p++)if("."!=a[p]&&""!=a[p]){if(".."==a[p])l.length--;else{if(o=[],n=-1,t=d.length,0==t)return[];for(u.test(a[p])&&(n=+RegExp.$2),i=0;t>i;i++)r=d[i][a[p]],"undefined"!=typeof r&&(r instanceof Array?n>-1?n<r.length&&(o[o.length]=r[n]):o=o.concat(r):-1==n&&(o[o.length]=r));l[l.length]=o}d=l[l.length-1]}return d},jindo.$Json.prototype.toString=function(){return window.JSON&&window.JSON.stringify?jindo.$Json.prototype.toString=function(){try{return window.JSON.stringify(this._object)}catch(e){return jindo.$Json._oldToString(this._object)}}:jindo.$Json.prototype.toString=function(){return jindo.$Json._oldToString(this._object)},this.toString()},jindo.$Json._oldToString=function(e){var t={$:function(e){return"object"==typeof e&&null==e?"null":"undefined"==typeof e?'""':"boolean"==typeof e?e?"true":"false":"string"==typeof e?this.s(e):"number"==typeof e?e:e instanceof Array?this.a(e):e instanceof Object?this.o(e):void 0},s:function(e){var t={'"':'\\"',"\\":"\\\\","\n":"\\n","\r":"\\r","	":"\\t"},n=function(e){return"undefined"!=typeof t[e]?t[e]:e};return'"'+e.replace(/[\\"'\n\r\t]/g,n)+'"'},a:function(e){for(var t="[",n="",o=e.length,i=0;o>i;i++)"function"!=typeof e[i]&&(t+=n+this.$(e[i]),n||(n=","));return t+"]"},o:function(e){e=jindo.$H(e).ksort().$value();var t="{",n="";for(var o in e)if(e.hasOwnProperty(o)){if("function"==typeof e[o])continue;t+=n+this.s(o)+":"+this.$(e[o]),n||(n=",")}return t+"}"}};return t.$(e)},jindo.$Json.prototype.toXML=function(){var e=function(t,n){var o=function(e,t){return"<"+n+(t||"")+">"+e+"</"+n+">"};switch(typeof t){case"undefined":case"null":return o("");case"number":return o(t);case"string":return o(t.indexOf("<")<0?t.replace(/&/g,"&amp;"):"<![CDATA["+t+"]]>");case"boolean":return o(String(t));case"object":var i="";if(t instanceof Array)for(var r=t.length,s=0;r>s;s++)i+=e(t[s],n);else{var a="";for(var u in t)if(t.hasOwnProperty(u)){if("$cdata"==u||"function"==typeof t[u])continue;i+=e(t[u],u)}n&&(i=o(i,a))}return i}};return e(this._object,"")},jindo.$Json.prototype.toObject=function(){return this._object},jindo.$Json.prototype.compare=function(e){return jindo.$Json._oldToString(this._object).toString()==jindo.$Json._oldToString(jindo.$Json(e).$value()).toString()},jindo.$Json.prototype.$value=jindo.$Json.prototype.toObject,jindo.$Cookie=function(){var e=arguments.callee;e._cached;return e._cached?e._cached:this instanceof e?void("undefined"==typeof e._cached&&(e._cached=this)):new e},jindo.$Cookie.prototype.keys=function(){for(var e=document.cookie.split(";"),t=/^\s+|\s+$/g,n=new Array,o=0;o<e.length;o++)n[n.length]=e[o].substr(0,e[o].indexOf("=")).replace(t,"");return n},jindo.$Cookie.prototype.get=function(e){for(var t=document.cookie.split(/\s*;\s*/),n=new RegExp("^(\\s*"+e+"\\s*=)"),o=0;o<t.length;o++)if(n.test(t[o]))return unescape(t[o].substr(RegExp.$1.length));return null},jindo.$Cookie.prototype.set=function(e,t,n,o,i){var r="";return"number"==typeof n&&(r=";expires="+new Date((new Date).getTime()+1e3*n*60*60*24).toGMTString()),"undefined"==typeof o&&(o=""),"undefined"==typeof i&&(i="/"),document.cookie=e+"="+escape(t)+r+"; path="+i+(o?"; domain="+o:""),this},jindo.$Cookie.prototype.remove=function(e,t,n){return null!=this.get(e)&&this.set(e,"",-1,t,n),this},jindo.$Event=function(e){var t=arguments.callee;return e instanceof t?e:this instanceof t?("undefined"==typeof e&&(e=window.event),e===window.event&&document.createEventObject&&(e=document.createEventObject(e)),this._event=e,this._globalEvent=window.event,this.type=e.type.toLowerCase(),"dommousescroll"==this.type?this.type="mousewheel":"domcontentloaded"==this.type&&(this.type="domready"),this.canceled=!1,this.element=e.target||e.srcElement,this.currentElement=e.currentTarget,this.relatedElement=null,void("undefined"!=typeof e.relatedTarget?this.relatedElement=e.relatedTarget:e.fromElement&&e.toElement&&(this.relatedElement=e["mouseout"==this.type?"toElement":"fromElement"]))):new t(e)},jindo.$Event.prototype.mouse=function(){var e=this._event,t=0,n=!1,o=!1,i=!1,n=e.which?0==e.button:!!(1&e.button),o=e.which?1==e.button:!!(4&e.button),i=e.which?2==e.button:!!(2&e.button),r={};return e.wheelDelta?t=e.wheelDelta/120:e.detail&&(t=-e.detail/3),r={delta:t,left:n,middle:o,right:i},this.mouse=function(){return r},r},jindo.$Event.prototype.key=function(){var e=this._event,t=e.keyCode||e.charCode,n={keyCode:t,alt:e.altKey,ctrl:e.ctrlKey,meta:e.metaKey,shift:e.shiftKey,up:38==t,down:40==t,left:37==t,right:39==t,enter:13==t,esc:27==t};return this.key=function(){return n},n},jindo.$Event.prototype.pos=function(e){var t=this._event,n=(this.element.ownerDocument||document).body,o=(this.element.ownerDocument||document).documentElement,i=[n.scrollLeft||o.scrollLeft,n.scrollTop||o.scrollTop],r={clientX:t.clientX,clientY:t.clientY,pageX:"pageX"in t?t.pageX:t.clientX+i[0]-n.clientLeft,pageY:"pageY"in t?t.pageY:t.clientY+i[1]-n.clientTop,layerX:"offsetX"in t?t.offsetX:t.layerX-1,layerY:"offsetY"in t?t.offsetY:t.layerY-1};if(e&&jindo.$Element){var s=jindo.$Element(this.element).offset();r.offsetX=r.pageX-s.left,r.offsetY=r.pageY-s.top}return r},jindo.$Event.prototype.stop=function(e){e=e||jindo.$Event.CANCEL_ALL;var t=window.event&&window.event==this._globalEvent?this._globalEvent:this._event,n=!!(e&jindo.$Event.CANCEL_BUBBLE),o=!!(e&jindo.$Event.CANCEL_DEFAULT);return this.canceled=!0,"undefined"!=typeof t.preventDefault&&o&&t.preventDefault(),"undefined"!=typeof t.stopPropagation&&n&&t.stopPropagation(),o&&(t.returnValue=!1),n&&(t.cancelBubble=!0),this},jindo.$Event.prototype.stopDefault=function(){return this.stop(jindo.$Event.CANCEL_DEFAULT)},jindo.$Event.prototype.stopBubble=function(){return this.stop(jindo.$Event.CANCEL_BUBBLE)},jindo.$Event.prototype.$value=function(){return this._event},jindo.$Event.CANCEL_BUBBLE=1,jindo.$Event.CANCEL_DEFAULT=2,jindo.$Event.CANCEL_ALL=3,jindo.$Element=function(e){var t=arguments.callee;if(e&&e instanceof t)return e;if(null===e||"undefined"==typeof e)return null;if(e=jindo.$(e),null===e)return null;if(!(this instanceof t))return new t(e);this._element="string"==typeof e?jindo.$(e):e;var n=this._element.tagName;this.tag="undefined"!=typeof n?n.toLowerCase():""};var _j_ag=navigator.userAgent,IS_IE=_j_ag.indexOf("MSIE")>-1,IS_FF=_j_ag.indexOf("Firefox")>-1,IS_OP=_j_ag.indexOf("Opera")>-1,IS_SF=_j_ag.indexOf("Apple")>-1,IS_CH=_j_ag.indexOf("Chrome")>-1;jindo.$Element.prototype.$value=function(){return this._element},jindo.$Element.prototype.visible=function(e,t){return"undefined"!=typeof e?(this[e?"show":"hide"](t),this):"none"!=this.css("display")},jindo.$Element.prototype.show=function(e){var t=this._element.style,n="block",o={p:n,div:n,form:n,h1:n,h2:n,h3:n,h4:n,ol:n,ul:n,fieldset:n,td:"table-cell",th:"table-cell",li:"list-item",table:"table",thead:"table-header-group",tbody:"table-row-group",tfoot:"table-footer-group",tr:"table-row",col:"table-column",colgroup:"table-column-group",caption:"table-caption",dl:n,dt:n,dd:n};try{if(e)t.display=e;else{var i=o[this.tag];t.display=i||"inline"}}catch(r){t.display="block"}return this},jindo.$Element.prototype.hide=function(){return this._element.style.display="none",this},jindo.$Element.prototype.toggle=function(e){return this[this.visible()?"hide":"show"](e),this},jindo.$Element.prototype.opacity=function(e){var t,n=this._element,o="none"!=this._getCss(n,"display");return e=parseFloat(e),n.style.zoom=1,isNaN(e)?("undefined"!=typeof n.filters?(t="undefined"==typeof n.filters.alpha?o?100:0:n.filters.alpha.opacity,t/=100):(t=parseFloat(n.style.opacity),isNaN(t)&&(t=o?1:0)),t):(e=Math.max(Math.min(e,1),0),"undefined"!=typeof n.filters?(e=Math.ceil(100*e),"unknown"!=typeof n.filters&&"undefined"!=typeof n.filters.alpha?n.filters.alpha.opacity=e:n.style.filter=n.style.filter+" alpha(opacity="+e+")"):n.style.opacity=e,e)},jindo.$Element.prototype.css=function(e,t){var n=this._element,o=typeof t;if("opacity"==e)return"undefined"==o?this.opacity():this.opacity(t);var i=typeof e;if("string"==i){if("string"!=o&&"number"!=o){var r=this._getCss;if((IS_FF||IS_OP)&&("backgroundPositionX"==e||"backgroundPositionY"==e)){var s=r(n,"backgroundPosition").split(/\s+/);return"backgroundPositionX"==e?s[0]:s[1]}if(IS_IE&&"backgroundPosition"==e)return r(n,"backgroundPositionX")+" "+r(n,"backgroundPositionY");if((IS_FF||IS_SF||IS_CH)&&("padding"==e||"margin"==e)){var a=r(n,e+"Top"),u=r(n,e+"Right"),l=r(n,e+"Bottom"),d=r(n,e+"Left");return a==u&&l==d?a:a==l&&u==d?a+" "+u:a+" "+u+" "+l+" "+d}return r(n,e)}var c={};c[e]=t,e=c}var p=jindo.$H;if("undefined"!=typeof p&&e instanceof p&&(e=e._table),"object"==typeof e){var f,h;for(var y in e)if(e.hasOwnProperty(y)){if(f=e[y],h=typeof f,"string"!=h&&"number"!=h)continue;if("opacity"==y){"undefined"==h?this.opacity():this.opacity(f);continue}if("cssFloat"==y&&IS_IE&&(y="styleFloat"),!IS_FF&&!IS_OP||"backgroundPositionX"!=y&&"backgroundPositionY"!=y)this._setCss(n,y,f);else{var s=this.css("backgroundPosition").split(/\s+/);f="backgroundPositionX"==y?f+" "+s[1]:s[0]+" "+f,this._setCss(n,"backgroundPosition",f)}}}return this},jindo.$Element.prototype._getCss=function(e,t){var n;return n=e.currentStyle?function(e,t){try{"cssFloat"==t&&(t="styleFloat");var n=e.style[t];if(n)return n;var o=e.currentStyle;return o?o[t]:n}catch(i){throw new Error((e.tagName||"document")+"는 css를 사용 할수 없습니다.")}}:window.getComputedStyle?function(e,t){try{"cssFloat"==t&&(t="float");var n=e.ownerDocument||e.document||document,o=e.style[t]||n.defaultView.getComputedStyle(e,null).getPropertyValue(t.replace(/([A-Z])/g,"-$1").toLowerCase());return"textDecoration"==t&&(o=o.replace(",","")),o}catch(i){throw new Error((e.tagName||"document")+"는 css를 사용 할수 없습니다.")}}:function(e,t){try{return"cssFloat"==t&&IS_IE&&(t="styleFloat"),e.style[t]}catch(n){throw new Error((e.tagName||"document")+"는 css를 사용 할수 없습니다.")}},jindo.$Element.prototype._getCss=n,n(e,t)},jindo.$Element.prototype._setCss=function(e,t,n){"#top#left#right#bottom#".indexOf(t+"#")>0&&("number"==typeof n||/\d$/.test(n))?e.style[t]=parseInt(n,10)+"px":e.style[t]=n},jindo.$Element.prototype.attr=function(e,t){var n=this._element;if("string"==typeof e){if("undefined"==typeof t)return"class"==e||"className"==e?n.className:"style"==e?n.style.cssText:"checked"==e||"disabled"==e?!!n[e]:"value"==e?n.value:"href"==e?n.getAttribute(e,2):n.getAttribute(e);var o={};o[e]=t,e=o}if("undefined"!=typeof jindo.$H&&e instanceof jindo.$H&&(e=e.$value()),"object"==typeof e)for(var i in e)e.hasOwnProperty(i)&&("undefined"!=typeof t&&null===t?n.removeAttribute(i):"class"==i||"className"==i?n.className=e[i]:"style"==i?n.style.cssText=e[i]:"checked"==i||"disabled"==i?n[i]=e[i]:"value"==i?n.value=e[i]:n.setAttribute(i,e[i]));return this},jindo.$Element.prototype.width=function(e){if("number"==typeof e){var t=this._element;t.style.width=e+"px";var n=t.offsetWidth;if(n!=e&&0!==n){var o=2*e-n;o>0&&(t.style.width=o+"px")}return this}return this._element.offsetWidth},jindo.$Element.prototype.height=function(e){if("number"==typeof e){var t=this._element;t.style.height=e+"px";var n=t.offsetHeight;if(n!=e&&0!==n){var e=2*e-n;e>0&&(t.style.height=e+"px")}return this}return this._element.offsetHeight},jindo.$Element.prototype.className=function(e){var t=this._element;return"undefined"==typeof e?t.className:(t.className=e,this)},jindo.$Element.prototype.hasClass=function(e){return this._element.classList?jindo.$Element.prototype.hasClass=function(e){return this._element.classList.contains(e)}:jindo.$Element.prototype.hasClass=function(e){return(" "+this._element.className+" ").indexOf(" "+e+" ")>-1},this.hasClass(e)},jindo.$Element.prototype.addClass=function(e){return this._element.classList?jindo.$Element.prototype.addClass=function(e){for(var t=e.split(/\s+/),n=this._element.classList,o=t.length;o--;)n.add(t[o]);return this}:jindo.$Element.prototype.addClass=function(e){for(var t,n=this._element,o=e.split(/\s+/),i=o.length-1;i>=0;i--)t=o[i],this.hasClass(t)||(n.className=(n.className+" "+t).replace(/^\s+/,""));return this},this.addClass(e)},jindo.$Element.prototype.removeClass=function(e){return this._element.classList?jindo.$Element.prototype.removeClass=function(e){for(var t=this._element.classList,n=e.split(" "),o=n.length;o--;)t.remove(n[o]);return this}:jindo.$Element.prototype.removeClass=function(e){for(var t,n=this._element,o=e.split(/\s+/),i=o.length-1;i>=0;i--)t=o[i],this.hasClass(t)&&(n.className=(" "+n.className.replace(/\s+$/,"").replace(/^\s+/,"")+" ").replace(" "+t+" "," ").replace(/\s+$/,"").replace(/^\s+/,""));return this},this.removeClass(e)},jindo.$Element.prototype.toggleClass=function(e,t){return this._element.classList?jindo.$Element.prototype.toggleClass=function(e,t){return"undefined"==typeof t?this._element.classList.toggle(e):this.hasClass(e)?(this.removeClass(e),this.addClass(t)):(this.addClass(e),this.removeClass(t)),this}:jindo.$Element.prototype.toggleClass=function(e,t){return t=t||"",this.hasClass(e)?(this.removeClass(e),t&&this.addClass(t)):(this.addClass(e),t&&this.removeClass(t)),this},this.toggleClass(e,t)},jindo.$Element.prototype.text=function(e){var t=this._element,n=this.tag,o="undefined"!=typeof t.innerText?"innerText":"textContent";("textarea"==n||"input"==n)&&(o="value");var i=typeof e;if("undefined"!=i&&("string"==i||"number"==i||"boolean"==i)){e+="";try{"value"!=o&&(o="undefined"!=typeof t.textContent?"textContent":"innerText"),t[o]=e}catch(r){return this.html(e.replace(/&/g,"&amp;").replace(/</g,"&lt;"))}return this}return t[o]},jindo.$Element.prototype.html=function(e){var t=IS_IE,n=IS_FF;return t?jindo.$Element.prototype.html=function(e){if("undefined"!=typeof e&&arguments.length){e+="",jindo.$$.release();for(var t=this._element;t.firstChild;)t.removeChild(t.firstChild);var n,o="R"+(new Date).getTime()+parseInt(1e5*Math.random(),10),i=t.ownerDocument||t.document||document,r=t.tagName.toLowerCase();switch(r){case"select":case"table":n=i.createElement("div"),n.innerHTML="<"+r+' class="'+o+'">'+e+"</"+r+">";break;case"tr":case"thead":case"tbody":case"colgroup":
+n=i.createElement("div"),n.innerHTML="<table><"+r+' class="'+o+'">'+e+"</"+r+"></table>";break;default:t.innerHTML=e}if(n){var s;for(s=n.firstChild;s&&s.className!=o;s=s.firstChild);if(s){for(var a,u=!0;a=t.firstChild;)a.removeNode(!0);for(var a=s.firstChild;a;a=s.firstChild)if("select"==r){var l=a.cloneNode(!0);a.selected&&u&&(u=!1,l.selected=!0),t.appendChild(l),a.removeNode(!0)}else t.appendChild(a);n.removeNode&&n.removeNode(!0)}n=null}return this}return this._element.innerHTML}:n?jindo.$Element.prototype.html=function(e){if("undefined"!=typeof e&&arguments.length){e+="";var t=this._element;if(t.parentNode)t.innerHTML=e;else{var n,o="R"+(new Date).getTime()+parseInt(1e5*Math.random(),10),i=t.ownerDocument||t.document||document,r=t.tagName.toLowerCase();switch(r){case"select":case"table":n=i.createElement("div"),n.innerHTML="<"+r+' class="'+o+'">'+e+"</"+r+">";break;case"tr":case"thead":case"tbody":case"colgroup":n=i.createElement("div"),n.innerHTML="<table><"+r+' class="'+o+'">'+e+"</"+r+"></table>";break;default:t.innerHTML=e}if(n){var s;for(s=n.firstChild;s&&s.className!=o;s=s.firstChild);if(s){for(var a;a=t.firstChild;)a.removeNode(!0);for(var a=s.firstChild;a;a=s.firstChild)t.appendChild(a);n.removeNode&&n.removeNode(!0)}n=null}}return this}return this._element.innerHTML}:jindo.$Element.prototype.html=function(e){if("undefined"!=typeof e&&arguments.length){e+="";var t=this._element;return t.innerHTML=e,this}return this._element.innerHTML},this.html(e)},jindo.$Element.prototype.outerHTML=function(){var e=this._element;if("undefined"!=typeof e.outerHTML)return e.outerHTML;var t=e.ownerDocument||e.document||document,n=t.createElement("div"),o=e.parentNode;if(!o)return e.innerHTML;o.insertBefore(n,e),n.style.display="none",n.appendChild(e);var i=n.innerHTML;return o.insertBefore(e,n),o.removeChild(n),i},jindo.$Element.prototype.toString=jindo.$Element.prototype.outerHTML,jindo.$Element._getTransition=function(){var e=!1,t="";return"undefined"!=typeof document.body.style.trasition?(e=!0,t="trasition"):"undefined"!=typeof document.body.style.webkitTransition?(e=!0,t="webkitTransition"):"undefined"!=typeof document.body.style.OTransition&&(e=!0,t="OTransition"),(jindo.$Element._getTransition=function(){return{hasTransition:e,name:t}})()},jindo.$Element.prototype.appear=function(e,t){var n=jindo.$Element._getTransition();return n.hasTransition?jindo.$Element.prototype.appear=function(e,t){e=e||.3;var o=this;t=t||function(){};var i=function(){t(),o.show(),this.removeEventListener(n.name+"End",arguments.callee,!1)},r=this._element;return this.visible()||(r.style.opacity=r.style.opacity||0,o.show()),r.addEventListener(n.name+"End",i,!1),r.style[n.name+"Property"]="opacity",r.style[n.name+"Duration"]=e+"s",r.style[n.name+"TimingFunction"]="linear",setTimeout(function(){r.style.opacity="1"},1),this}:jindo.$Element.prototype.appear=function(e,t){var n=this,o=this.opacity();if(this.visible()||(o=0),1==o)return this;try{clearTimeout(this._fade_timer)}catch(i){}t=t||function(){};var r=(1-o)/(100*(e||.3)),s=function(){o+=r,n.opacity(o),o>=1?t(n):n._fade_timer=setTimeout(s,10)};return this.show(),s(),this},this.appear(e,t)},jindo.$Element.prototype.disappear=function(e,t){var n=jindo.$Element._getTransition();return n.hasTransition?jindo.$Element.prototype.disappear=function(e,t){e=e||.3;var o=this;t=t||function(){};var i=function(){t(),this.removeEventListener(n.name+"End",arguments.callee,!1),o.hide()},r=this._element;return r.addEventListener(n.name+"End",i,!1),r.style[n.name+"Property"]="opacity",r.style[n.name+"Duration"]=e+"s",r.style[n.name+"TimingFunction"]="linear",setTimeout(function(){r.style.opacity="0"},1),this}:jindo.$Element.prototype.disappear=function(e,t){var n=this,o=this.opacity();if(0==o)return this;try{clearTimeout(this._fade_timer)}catch(i){}t=t||function(){};var r=o/(100*(e||.3)),s=function(){o-=r,n.opacity(o),0>=o?(n.hide(),n.opacity(1),t(n)):n._fade_timer=setTimeout(s,10)};return s(),this},this.disappear(e,t)},jindo.$Element.prototype.offset=function(e,t){var n=this._element,o=null;if("number"==typeof e&&"number"==typeof t){isNaN(parseInt(this.css("top"),10))&&this.css("top",0),isNaN(parseInt(this.css("left"),10))&&this.css("left",0);var i=this.offset(),r={top:e-i.top,left:t-i.left};return n.style.top=parseInt(this.css("top"),10)+r.top+"px",n.style.left=parseInt(this.css("left"),10)+r.left+"px",this}var s=/Safari/.test(navigator.userAgent),a=/MSIE/.test(navigator.userAgent),u=a?navigator.userAgent.match(/(?:MSIE) ([0-9.]+)/)[1]:0,l=function(e){for(var t={left:0,top:0},n=e,o=n.offsetParent;n=n.parentNode;)n.offsetParent&&(t.left-=n.scrollLeft,t.top-=n.scrollTop),n==o&&(t.left+=e.offsetLeft+n.clientLeft,t.top+=e.offsetTop+n.clientTop,n.offsetParent||(t.left+=n.offsetLeft,t.top+=n.offsetTop),o=n.offsetParent,e=n);return t},d=function(e){var t={left:0,top:0},n=e.ownerDocument||e.document||document,i=n.documentElement,r=n.body;if(e.getBoundingClientRect){if(!o){var s=window==top;if(!s)try{s=window.frameElement&&1==window.frameElement.frameBorder}catch(l){}a&&8>u&&window.external&&s?(o={left:2,top:2},oBase=null):o={left:0,top:0}}var d=e.getBoundingClientRect();e!==i&&e!==r&&(t.left=d.left-o.left,t.top=d.top-o.top,t.left+=i.scrollLeft||r.scrollLeft,t.top+=i.scrollTop||r.scrollTop)}else if(n.getBoxObjectFor){var d=n.getBoxObjectFor(e),c=n.getBoxObjectFor(i||r);t.left=d.screenX-c.screenX,t.top=d.screenY-c.screenY}else{for(var p=e;p;p=p.offsetParent)t.left+=p.offsetLeft,t.top+=p.offsetTop;for(var p=e.parentNode;p&&"BODY"!=p.tagName;p=p.parentNode)"TR"==p.tagName&&(t.top+=2),t.left-=p.scrollLeft,t.top-=p.scrollTop}return t};return(s?l:d)(n)},jindo.$Element.prototype.evalScripts=function(sHTML){var aJS=[];return sHTML=sHTML.replace(new RegExp("<script(\\s[^>]+)*>(.*?)</script>","gi"),function(e,t,n){return aJS.push(n),""}),eval(aJS.join("\n")),this},jindo.$Element._append=function(e,t){return"string"==typeof t?t=jindo.$(t):t instanceof jindo.$Element&&(t=t.$value()),e._element.appendChild(t),e},jindo.$Element._prepend=function(e,t){"string"==typeof e?e=jindo.$(e):e instanceof jindo.$Element&&(e=e.$value());var n=e.childNodes;return n.length>0?e.insertBefore(t._element,n[0]):e.appendChild(t._element),t},jindo.$Element.prototype.append=function(e){return jindo.$Element._append(this,e)},jindo.$Element.prototype.prepend=function(e){return jindo.$Element._prepend(this._element,jindo.$Element(e))},jindo.$Element.prototype.replace=function(e){jindo.$$.release();var t=this._element,n=t.parentNode,o=jindo.$Element(e);if(n&&n.replaceChild)return n.replaceChild(o.$value(),t),o;var o=o.$value();return n.insertBefore(o,t),n.removeChild(t),o},jindo.$Element.prototype.appendTo=function(e){var t=jindo.$Element(e);return jindo.$Element._append(t,this._element),t},jindo.$Element.prototype.prependTo=function(e){return jindo.$Element._prepend(e,this),jindo.$Element(e)},jindo.$Element.prototype.before=function(e){var t=jindo.$Element(e),n=t.$value();return this._element.parentNode.insertBefore(n,this._element),t},jindo.$Element.prototype.after=function(e){var t=this.before(e);return t.before(this),t},jindo.$Element.prototype.parent=function(e,t){var n=this._element,o=[],i=null;if("undefined"==typeof e)return jindo.$Element(n.parentNode);for(("undefined"==typeof t||0==t)&&(t=-1);n.parentNode&&0!=t--&&(i=jindo.$Element(n.parentNode),n.parentNode!=document.documentElement);)(!e||e&&e(i))&&(o[o.length]=i),n=n.parentNode;return o},jindo.$Element.prototype.child=function(e,t){var n=this._element,o=[],i=null;return"undefined"==typeof e?jindo.$A(n.childNodes).filter(function(e){return 1==e.nodeType}).map(function(e){return jindo.$Element(e)}).$value():(("undefined"==typeof t||0==t)&&(t=-1),(i=function(t,n){for(var r=null,s=null,a=0;a<t.childNodes.length;a++)r=t.childNodes[a],1==r.nodeType&&(s=jindo.$Element(t.childNodes[a]),(!e||e&&e(s))&&(o[o.length]=s),0!=n&&i(t.childNodes[a],n-1))})(n,t-1),o)},jindo.$Element.prototype.prev=function(e){var t=this._element,n=[],o="undefined"==typeof e;if(!t)return o?jindo.$Element(null):n;do if(t=t.previousSibling,t&&1==t.nodeType){if(o)return jindo.$Element(t);(!e||e(t))&&(n[n.length]=jindo.$Element(t))}while(t);return o?jindo.$Element(t):n},jindo.$Element.prototype.next=function(e){var t=this._element,n=[],o="undefined"==typeof e;if(!t)return o?jindo.$Element(null):n;do if(t=t.nextSibling,t&&1==t.nodeType){if(o)return jindo.$Element(t);(!e||e(t))&&(n[n.length]=jindo.$Element(t))}while(t);return o?jindo.$Element(t):n},jindo.$Element.prototype.first=function(){var e=this._element.firstElementChild||this._element.firstChild;if(!e)return null;for(;e&&1!=e.nodeType;)e=e.nextSibling;return e?jindo.$Element(e):null},jindo.$Element.prototype.last=function(){var e=this._element.lastElementChild||this._element.lastChild;if(!e)return null;for(;e&&1!=e.nodeType;)e=e.previousSibling;return e?jindo.$Element(e):null},jindo.$Element.prototype.isChildOf=function(e){return jindo.$Element._contain(jindo.$Element(e).$value(),this._element)},jindo.$Element.prototype.isParentOf=function(e){return jindo.$Element._contain(this._element,jindo.$Element(e).$value())},jindo.$Element._contain=function(e,t){return document.compareDocumentPosition?jindo.$Element._contain=function(e,t){return!!(16&e.compareDocumentPosition(t))}:document.body.contains?jindo.$Element._contain=function(e,t){return e!==t&&(e.contains?e.contains(t):!0)}:jindo.$Element._contain=function(e,t){for(var n=e,o=t;n&&n.parentNode;)if(n=n.parentNode,n==o)return!0;return!1},jindo.$Element._contain(e,t)},jindo.$Element.prototype.isEqual=function(e){try{return this._element===jindo.$Element(e).$value()}catch(t){return!1}},jindo.$Element.prototype.fireEvent=function(e,t){function n(e,t){e=(e+"").toLowerCase();var n=document.createEventObject();if(t){for(k in t)t.hasOwnProperty(k)&&(n[k]=t[k]);n.button=(t.left?1:0)+(t.middle?4:0)+(t.right?2:0),n.relatedTarget=t.relatedElement||null}var o=this._element;return"input"==this.tag&&"click"==e&&("checkbox"==o.type?o.checked=!o.checked:"radio"==o.type&&(o.checked=!0)),this._element.fireEvent("on"+e,n),this}function o(e,t){var n="HTMLEvents";e=(e+"").toLowerCase(),"click"==e||0==e.indexOf("mouse")?(n="MouseEvent","mousewheel"==e&&(e="dommousescroll")):0==e.indexOf("key")&&(n="KeyboardEvent");var o;if(t)switch(t.button=0+(t.middle?1:0)+(t.right?2:0),t.ctrl=t.ctrl||!1,t.alt=t.alt||!1,t.shift=t.shift||!1,t.meta=t.meta||!1,n){case"MouseEvent":o=document.createEvent(n),o.initMouseEvent(e,!0,!0,null,t.detail||0,t.screenX||0,t.screenY||0,t.clientX||0,t.clientY||0,t.ctrl,t.alt,t.shift,t.meta,t.button,t.relatedElement||null);break;case"KeyboardEvent":if(window.KeyEvent)o=document.createEvent("KeyEvents"),o.initKeyEvent(e,!0,!0,window,t.ctrl,t.alt,t.shift,t.meta,t.keyCode,t.keyCode);else try{o=document.createEvent("Events")}catch(i){o=document.createEvent("UIEvents")}finally{o.initEvent(e,!0,!0),o.ctrlKey=t.ctrl,o.altKey=t.alt,o.shiftKey=t.shift,o.metaKey=t.meta,o.keyCode=t.keyCode,o.which=t.keyCode}break;default:o=document.createEvent(n),o.initEvent(e,!0,!0)}else o=document.createEvent(n),o.initEvent(e,!0,!0);return this._element.dispatchEvent(o),this}return jindo.$Element.prototype.fireEvent="undefined"!=typeof this._element.dispatchEvent?o:n,this.fireEvent(e,t)},jindo.$Element.prototype.empty=function(){return jindo.$$.release(),this.html(""),this},jindo.$Element.prototype.remove=function(e){return jindo.$$.release(),jindo.$Element(e).leave(),this},jindo.$Element.prototype.leave=function(){var e=this._element;return e.parentNode&&(jindo.$$.release(),e.parentNode.removeChild(e)),jindo.$Fn.freeElement(this._element),this},jindo.$Element.prototype.wrap=function(e){var t=this._element;return e=jindo.$Element(e).$value(),t.parentNode&&t.parentNode.insertBefore(e,t),e.appendChild(t),this},jindo.$Element.prototype.ellipsis=function(e){e=e||"...";var t=this.text(),n=t.length,o=parseInt(this.css("paddingTop"),10)+parseInt(this.css("paddingBottom"),10),i=this.height()-o,r=0,s=this.text("A").height()-o;if(1.5*s>i)return this.text(t);for(i=s;1.5*s>i;)r+=Math.max(Math.ceil((n-r)/2),1),i=this.text(t.substring(0,r)+e).height()-o;for(;i>1.5*s;)r--,i=this.text(t.substring(0,r)+e).height()-o},jindo.$Element.prototype.indexOf=function(e){try{for(var t=jindo.$Element(e).$value(),n=this._element.childNodes,o=0,i=n.length,r=0;i>r;r++)if(1==n[r].nodeType){if(n[r]===t)return o;o++}}catch(t){}return-1},jindo.$Element.prototype.queryAll=function(e){return jindo.$$(e,this._element)},jindo.$Element.prototype.query=function(e){return jindo.$$.getSingle(e,this._element)},jindo.$Element.prototype.test=function(e){return jindo.$$.test(this._element,e)},jindo.$Element.prototype.xpathAll=function(e){return jindo.$$.xpath(e,this._element)},jindo.$Element.insertAdjacentHTML=function(e,t,n,o,i){var r=e._element;if(r.insertAdjacentHTML&&!/^<(option|tr|td|th|col)(?:.*?)>/.test(t.replace(/^(\s| )+|(\s| )+$/g,"").toLowerCase()))r.insertAdjacentHTML(n,t);else{var s,a=r.ownerDocument||r.document||document,u=a.createDocumentFragment(),l=t.replace(/^(\s| )+|(\s| )+$/g,""),d={option:"select",tr:"tbody",thead:"table",tbody:"table",col:"table",td:"tr",th:"tr",div:"div"},c=/^\<(option|tr|thead|tbody|td|th|col)(?:.*?)\>/i.exec(l),p=null===c?"div":c[1].toLowerCase(),f=d[p];s=jindo._createEle(f,l,a,!0);for(var h=s.getElementsByTagName("script"),y=0,m=h.length;m>y;y++)h[y].parentNode.removeChild(h[y]);for(;s[o];)u.appendChild(s[o]);i(u.cloneNode(!0))}return e},jindo.$Element.prototype.appendHTML=function(e){return jindo.$Element.insertAdjacentHTML(this,e,"beforeEnd","firstChild",jindo.$Fn(function(e){this.append(e)},this).bind())},jindo.$Element.prototype.prependHTML=function(e){return jindo.$Element.insertAdjacentHTML(this,e,"afterBegin","lastChild",jindo.$Fn(function(e){this.prepend(e)},this).bind())},jindo.$Element.prototype.beforeHTML=function(e){return jindo.$Element.insertAdjacentHTML(this,e,"beforeBegin","firstChild",jindo.$Fn(function(e){this.before(e)},this).bind())},jindo.$Element.prototype.afterHTML=function(e){return jindo.$Element.insertAdjacentHTML(this,e,"afterEnd","lastChild",jindo.$Fn(function(e){this._element.parentNode.insertBefore(e,this._element.nextSibling)},this).bind())},jindo.$Element.prototype.delegate=function(e,t,n){if(!this._element["_delegate_"+e]){this._element["_delegate_"+e]={};var o=jindo.$Fn(function(e,t){t=t||window.event,"undefined"==typeof t.currentTarget&&(t.currentTarget=this._element);var n,o,i,r,s=t.target||t.srcElement,a=this._element["_delegate_"+e];for(var u in a)if(n=a[u],r=n.checker(s),r[0]){o=n.func,i=jindo.$Event(t),i.element=r[1];for(var l=0,d=o.length;d>l;l++)o[l](i)}},this).bind(e);jindo.$Element._eventBind(this._element,e,o);var i=this._element;i["_delegate_"+e+"_func"]=o,this._element._delegate_events?this._element._delegate_events.push(e):this._element._delegate_events=[e],i=null}return this._bind(e,t,n),this},jindo.$Element._eventBind=function(e,t,n){e.addEventListener?jindo.$Element._eventBind=function(e,t,n){e.addEventListener(t,n,!1)}:jindo.$Element._eventBind=function(e,t,n){e.attachEvent("on"+t,n)},jindo.$Element._eventBind(e,t,n)},jindo.$Element.prototype.undelegate=function(e,t,n){return this._unbind(e,t,n),this},jindo.$Element.prototype._bind=function(e,t,n){var o=this._element["_delegate_"+e];if(o){var i;"string"==typeof t?i=jindo.$Fn(function(e,t){var n=t,o=jindo.$$.test(t,e);if(!o)for(var i=this._getParent(t),r=0,s=i.length;s>r;r++)if(n=i[r],jindo.$$.test(n,e)){o=!0;break}return[o,n]},this).bind(t):"function"==typeof t&&(i=jindo.$Fn(function(e,t){var n=t,o=e(this._element,t);if(!o)for(var i=this._getParent(t),r=0,s=i.length;s>r;r++)if(n=i[r],e(this._element,n)){o=!0;break}return[o,n]},this).bind(t)),this._element["_delegate_"+e]=jindo.$Element._addBind(o,t,n,i)}else alert("check your delegate event.")},jindo.$Element.prototype._getParent=function(e){for(var t=this._element,n=[],o=null;e.parentNode&&o!=t&&(o=e.parentNode,o!=document.documentElement);)n[n.length]=o,e=o;return n},jindo.$Element._addBind=function(e,t,n,o){var i=e[t];if(i){var r=i.func;r.push(n),i.func=r}else i={checker:o,func:[n]};return e[t]=i,e},jindo.$Element.prototype._unbind=function(e,t,n){var o=this._element;if(e&&t&&n){var i=o["_delegate_"+e];if(i&&i[t]){var r=i[t].func;r=i[t].func=jindo.$A(r).refuse(n).$value(),r.length||jindo.$Element._deleteFilter(o,e,t)}}else if(e&&t)jindo.$Element._deleteFilter(o,e,t);else if(e)jindo.$Element._deleteEvent(o,e,t);else{for(var s,a=o._delegate_events,u=0,l=a.length;l>u;u++)s=a[u],jindo.$Element._unEventBind(o,s,o["_delegate_"+s+"_func"]),jindo.$Element._delDelegateInfo(o,"_delegate_"+s),jindo.$Element._delDelegateInfo(o,"_delegate_"+s+"_func");jindo.$Element._delDelegateInfo(o,"_delegate_events")}return this},jindo.$Element._delDelegateInfo=function(e,t){try{e[t]=null,delete e[t]}catch(n){}return e},jindo.$Element._deleteFilter=function(e,t,n){var o=e["_delegate_"+t];o&&o[n]&&(1==jindo.$H(o).keys().length?jindo.$Element._deleteEvent(e,t,n):jindo.$Element._delDelegateInfo(o,n))},jindo.$Element._deleteEvent=function(e,t,n){var o=e._delegate_events;jindo.$Element._unEventBind(e,t,e["_delegate_"+t+"_func"]),jindo.$Element._delDelegateInfo(e,"_delegate_"+t),jindo.$Element._delDelegateInfo(e,"_delegate_"+t+"_func"),o=jindo.$A(o).refuse(t).$value(),o.length?e._delegate_events=jindo.$A(o).refuse(t).$value():jindo.$Element._delDelegateInfo(e,"_delegate_events")},jindo.$Element._unEventBind=function(e,t,n){e.removeEventListener?jindo.$Element._unEventBind=function(e,t,n){e.removeEventListener(t,n,!1)}:jindo.$Element._unEventBind=function(e,t,n){e.detachEvent("on"+t,n)},jindo.$Element._unEventBind(e,t,n)},jindo.$Fn=function(func,thisObject){var cl=arguments.callee;return func instanceof cl?func:this instanceof cl?(this._events=[],this._tmpElm=null,this._key=null,void("function"==typeof func?(this._func=func,this._this=thisObject):"string"==typeof func&&"string"==typeof thisObject&&(this._func=eval("false||function("+func+"){"+thisObject+"}")))):new cl(func,thisObject)};var _ua=navigator.userAgent;if(jindo.$Fn.prototype.$value=function(){return this._func},jindo.$Fn.prototype.bind=function(){var e=jindo.$A(arguments).$value(),t=this._func,n=this._this,o=function(){var o=jindo.$A(arguments).$value();return e.length&&(o=e.concat(o)),t.apply(n,o)};return o},jindo.$Fn.prototype.bindForEvent=function(){var e=arguments,t=this._func,n=this._this,o=this._tmpElm||null,i=function(i){var r=Array.prototype.slice.apply(e);"undefined"==typeof i&&(i=window.event),"undefined"==typeof i.currentTarget&&(i.currentTarget=o);var s=jindo.$Event(i);r.unshift(s);var a=t.apply(n,r);return"undefined"!=typeof a&&"beforeunload"==s.type&&(i.returnValue=a),a};return i},jindo.$Fn._resizeEventBugInIE=function(e){var t=document.documentMode>=9&&document.documentMode<11;if(t){var n=/resize/;jindo.$Fn._resizeEventBugInIE=function(e){return n.test(e)}}else jindo.$Fn._resizeEventBugInIE=function(){return!1};return jindo.$Fn._resizeEventBugInIE(e)},jindo.$Fn.prototype.attach=function(e,t,n){var o=null,i=t,r=e,s=_ua;if("undefined"==typeof n&&(n=!1),this._bUseCapture=n,r instanceof Array||jindo.$A&&r instanceof jindo.$A&&(r=r.$value())){for(var a=0;a<r.length;a++)this.attach(r[a],i,n);return this}if(!r||!i)return this;"function"==typeof r.$value&&(r=r.$value()),r=jindo.$(r),i=i.toLowerCase(),this._tmpElm=r,o=this.bindForEvent(),this._tmpElm=null;var u=s.indexOf("MSIE")>-1;if("undefined"==typeof r.addEventListener||jindo.$Fn._resizeEventBugInIE(t)){if("undefined"!=typeof r.attachEvent){if("domready"==i){if(window.top!=window)throw new Error("Domready Event doesn't work in the iframe.");return jindo.$Fn._domready(r,o),this}r.attachEvent("on"+i,o)}}else{if("domready"==i)i="DOMContentLoaded";else if("mousewheel"==i&&s.indexOf("WebKit")<0&&!/Opera/.test(s)&&!u)i="DOMMouseScroll";else if("mouseenter"!=i||u)if("mouseleave"!=i||u){if("transitionend"==i||"transitionstart"==i){var l,d=i.replace("transition","");d=d.substr(0,1).toUpperCase()+d.substr(1),"undefined"!=typeof document.body.style.WebkitTransition?l="webkit":"undefined"!=typeof document.body.style.OTransition?l="o":"undefined"!=typeof document.body.style.MsTransition&&(l="ms"),i=(l?l+"Transition":"transition")+d,this._for_test_attach=i,this._for_test_detach=""}else if("animationstart"==i||"animationend"==i||"animationiteration"==i){var l,d=i.replace("animation","");d=d.substr(0,1).toUpperCase()+d.substr(1),"undefined"!=typeof document.body.style.WebkitAnimationName?l="webkit":"undefined"!=typeof document.body.style.OAnimationName?l="o":"undefined"!=typeof document.body.style.MsTransitionName&&(l="ms"),i=(l?l+"Animation":"animation")+d,this._for_test_attach=i,this._for_test_detach=""}}else i="mouseout",o=jindo.$Fn._fireWhenElementBoundary(r,o);else i="mouseover",o=jindo.$Fn._fireWhenElementBoundary(r,o);r.addEventListener(i,o,n)}return this._key||(this._key="$"+jindo.$Fn.gc.count++,jindo.$Fn.gc.pool[this._key]=this),this._events[this._events.length]={element:r,event:t.toLowerCase(),func:o},this},jindo.$Fn.prototype.detach=function(e,t){var n=null,o=e,i=t,r=_ua;if(o instanceof Array||jindo.$A&&o instanceof jindo.$A&&(o=o.$value())){for(var s=0;s<o.length;s++)this.detach(o[s],i);return this}if(!o||!i)return this;jindo.$Element&&o instanceof jindo.$Element&&(o=o.$value()),o=jindo.$(o),i=i.toLowerCase();for(var a=this._events,s=0;s<a.length;s++)if(a[s].element===o&&a[s].event===i){n=a[s].func,this._events=jindo.$A(this._events).refuse(a[s]).$value();break}if("undefined"==typeof o.removeEventListener||jindo.$Fn._resizeEventBugInIE(t)){if("undefined"!=typeof o.detachEvent){if("domready"==i)return jindo.$Fn._domready.list=jindo.$Fn._domready.list.refuse(n),this;o.detachEvent("on"+i,n)}}else{if("domready"==i)i="DOMContentLoaded";else if("mousewheel"==i&&r.indexOf("WebKit")<0)i="DOMMouseScroll";else if("mouseenter"==i)i="mouseover";else if("mouseleave"==i)i="mouseout";else if("transitionend"==i||"transitionstart"==i){var u,l=i.replace("transition","");l=l.substr(0,1).toUpperCase()+l.substr(1),"undefined"!=typeof document.body.style.WebkitTransition?u="webkit":"undefined"!=typeof document.body.style.OTransition?u="o":"undefined"!=typeof document.body.style.MsTransition&&(u="ms"),i=(u?u+"Transition":"transition")+l,this._for_test_detach=i,this._for_test_attach=""}else if("animationstart"==i||"animationend"==i||"animationiteration"==i){var u,l=i.replace("animation","");l=l.substr(0,1).toUpperCase()+l.substr(1),"undefined"!=typeof document.body.style.WebkitAnimationName?u="webkit":"undefined"!=typeof document.body.style.OAnimationName?u="o":"undefined"!=typeof document.body.style.MsTransitionName&&(u="ms"),i=(u?u+"Animation":"animation")+l,this._for_test_detach=i,this._for_test_attach=""}n&&o.removeEventListener(i,n,!1)}return this},jindo.$Fn.prototype.delay=function(e,t){return"undefined"==typeof t&&(t=[]),this._delayKey=setTimeout(this.bind.apply(this,t),1e3*e),this},jindo.$Fn.prototype.setInterval=function(e,t){return"undefined"==typeof t&&(t=[]),this._repeatKey=setInterval(this.bind.apply(this,t),1e3*e),this._repeatKey},jindo.$Fn.prototype.repeat=jindo.$Fn.prototype.setInterval,jindo.$Fn.prototype.stopDelay=function(){return"undefined"!=typeof this._delayKey&&(window.clearTimeout(this._delayKey),delete this._delayKey),this},jindo.$Fn.prototype.stopRepeat=function(){return"undefined"!=typeof this._repeatKey&&(window.clearInterval(this._repeatKey),delete this._repeatKey),this},jindo.$Fn.prototype.free=function(e){for(var t=this._events.length;t>0;){var n=this._events[--t].element,o=this._events[t].event;this._events[t].func;if(!e||n===e){this.detach(n,o);var i=!e;i&&window===n&&"unload"==o&&_ua.indexOf("MSIE")<1&&this._func.call(this._this),delete this._events[t]}}if(0==this._events.length)try{delete jindo.$Fn.gc.pool[this._key]}catch(r){}},jindo.$Fn._domready=function(e,t){if("undefined"==typeof jindo.$Fn._domready.list){var n=null,o=jindo.$Fn._domready.list=jindo.$A([t]),i=!1,r=function(){if(!i){i=!0;for(var t={type:"domready",target:e,currentTarget:e};n=o.shift();)n(t)}};!function(){try{e.documentElement.doScroll("left")}catch(t){return void setTimeout(arguments.callee,50)}r()}(),e.onreadystatechange=function(){"complete"==e.readyState&&(e.onreadystatechange=null,r())}}else jindo.$Fn._domready.list.push(t)},jindo.$Fn._fireWhenElementBoundary=function(e,t){return function(e){var n=jindo.$Event(e),o=jindo.$Element(n.relatedElement);o&&(o.isEqual(this)||o.isChildOf(this))||t.call(this,e)}},jindo.$Fn.gc=function(){var e=jindo.$Fn.gc.pool;for(var t in e)if(e.hasOwnProperty(t))try{e[t].free()}catch(n){}jindo.$Fn.gc.pool=e={}},jindo.$Fn.freeElement=function(e){var t=jindo.$Fn.gc.pool;for(var n in t)if(t.hasOwnProperty(n))try{t[n].free(e)}catch(o){}},jindo.$Fn.gc.count=0,jindo.$Fn.gc.pool={},"undefined"==typeof window||isUnCacheAgent()||jindo.$Fn(jindo.$Fn.gc).attach(window,"unload"),jindo.$ElementList=function(e){var t=arguments.callee;return e instanceof t?e:this instanceof t?(e=e instanceof Array?jindo.$A(e):jindo.$A&&e instanceof jindo.$A?jindo.$A(e.$value()):"string"==typeof e&&jindo.cssquery?jindo.$A(jindo.cssquery(e)):jindo.$A(),void(this._elements=e.map(function(e,t,n){return jindo.$Element(e)}))):new t(e)},jindo.$ElementList.prototype.get=function(e){return this._elements.$value()[e]},jindo.$ElementList.prototype.getFirst=function(){return this.get(0)},jindo.$ElementList.prototype.length=function(e,t){return this._elements.length(e,t)},jindo.$ElementList.prototype.getLast=function(){return this.get(Math.max(this._elements.length()-1,0))},jindo.$ElementList.prototype.$value=function(){return this._elements.$value()},function(e){var t=["show","hide","toggle","addClass","removeClass","toggleClass","fireEvent","leave","empty","appear","disappear","className","width","height","text","html","css","attr"];jindo.$A(t).forEach(function(t){e[t]=function(){var e=jindo.$A(arguments).$value();return this._elements.forEach(function(n){n[t].apply(n,e)}),this}}),jindo.$A(["appear","disappear"]).forEach(function(t){e[t]=function(e,n){var o=this._elements.length,i=this;return this._elements.forEach(function(r,s){s==o-1?r[t](e,function(){n(i)}):r[t](e)}),this}})}(jindo.$ElementList.prototype),jindo.$S=function(e){var t=arguments.callee;return"undefined"==typeof e&&(e=""),e instanceof t?e:this instanceof t?void(this._str=e+""):new t(e)},jindo.$S.prototype.$value=function(){return this._str},jindo.$S.prototype.toString=jindo.$S.prototype.$value,jindo.$S.prototype.trim=function(){return"".trim?jindo.$S.prototype.trim=function(){return jindo.$S(this._str.trim())}:jindo.$S.prototype.trim=function(){return jindo.$S(this._str.replace(/^(\s| )+/g,"").replace(/(\s| )+$/g,""))},jindo.$S(this.trim())},jindo.$S.prototype.escapeHTML=function(){var e={'"':"quot","&":"amp","<":"lt",">":"gt","'":"#39"},t=this._str.replace(/[<>&"']/g,function(t){return e[t]?"&"+e[t]+";":t});return jindo.$S(t)},jindo.$S.prototype.stripTags=function(){return jindo.$S(this._str.replace(/<\/?(?:h[1-5]|[a-z]+(?:\:[a-z]+)?)[^>]*>/gi,""))},jindo.$S.prototype.times=function(e){for(var t=[],n=0;e>n;n++)t[t.length]=this._str;return jindo.$S(t.join(""))},jindo.$S.prototype.unescapeHTML=function(){var e={quot:'"',amp:"&",lt:"<",gt:">","#39":"'"},t=this._str.replace(/&([a-z]+|#[0-9]+);/g,function(t,n){return e[n]?e[n]:t});return jindo.$S(t)},jindo.$S.prototype.escape=function(){var e=this._str.replace(/([\u0080-\uFFFF]+)|[\n\r\t"'\\]/g,function(e,t,n){return t?escape(t).replace(/%/g,"\\"):(n={"\n":"\\n","\r":"\\r","	":"\\t"})[e]?n[e]:"\\"+e});return jindo.$S(e)},jindo.$S.prototype.bytes=function(e){var t,n,o=0,i=0,r=0,s=this._str.length,a=(document.charset||document.characterSet||document.defaultCharset)+"";if("undefined"==typeof e?t=!1:e.constructor==Number?(t=!0,n=e):e.constructor==Object?(a=e.charset||a,n=e.size||!1,t=!!n):t=!1,"utf-8"==a.toLowerCase()){for(r=0;s>r;r++)if(o=this._str.charCodeAt(r),i+=128>o?1:2048>o?2:65536>o?3:4,t&&i>n){this._str=this._str.substr(0,r);break}}else for(r=0;s>r;r++)if(i+=this._str.charCodeAt(r)>128?2:1,t&&i>n){this._str=this._str.substr(0,r);break}return t?this:i},jindo.$S.prototype.parseString=function(){if(""==this._str)return{};for(var e,t,n,o=this._str.split(/&/g),i={},r=!1,s=0;s<o.length;s++){t=o[s].substring(0,e=o[s].indexOf("=")),r=!1;try{n=decodeURIComponent(o[s].substring(e+1))}catch(a){r=!0,n=decodeURIComponent(unescape(o[s].substring(e+1)))}"[]"==t.substr(t.length-2,2)?(t=t.substring(0,t.length-2),"undefined"==typeof i[t]&&(i[t]=[]),i[t][i[t].length]=r?escape(n):n):i[t]=r?escape(n):n}return i},jindo.$S.prototype.escapeRegex=function(){var e=this._str,t=/([\?\.\*\+\-\/\(\)\{\}\[\]\:\!\^\$\\\|])/g;return jindo.$S(e.replace(t,"\\$1"))},jindo.$S.prototype.format=function(){var e=arguments,t=0,n=this._str.replace(/%([ 0])?(-)?([1-9][0-9]*)?([bcdsoxX])/g,function(n,o,i,r,s){var a=e[t++],u="",l="";if(r=r?+r:0,"s"==s)u=a+"";else if(" bcdoxX".indexOf(s)>0){if("number"!=typeof a)return"";u="c"==s?String.fromCharCode(a):a.toString({b:2,d:10,o:8,x:16,X:16}[s])," X".indexOf(s)>0&&(u=u.toUpperCase())}return u.length<r&&(l=jindo.$S(o||" ").times(r-u.length).toString()),"-"==i?u+=l:u=l+u,u});return jindo.$S(n)},jindo.$Document=function(e){var t=arguments.callee;return e instanceof t?e:this instanceof t?(this._doc=e||document,void(this._docKey="Standards"==this.renderingMode()?"documentElement":"body")):new t(e)},jindo.$Document.prototype.$value=function(){return this._doc},jindo.$Document.prototype.scrollSize=function(){var e=navigator.userAgent.indexOf("WebKit")>-1,t=this._doc[e?"body":this._docKey];return{width:Math.max(t.scrollWidth,t.clientWidth),height:Math.max(t.scrollHeight,t.clientHeight)}},jindo.$Document.prototype.scrollPosition=function(){var e=navigator.userAgent.indexOf("WebKit")>-1,t=this._doc[e?"body":this._docKey];return{left:t.scrollLeft||window.pageXOffset||window.scrollX||0,top:t.scrollTop||window.pageYOffset||window.scrollY||0}},jindo.$Document.prototype.clientSize=function(){var e=navigator.userAgent,t=this._doc[this._docKey],n=e.indexOf("WebKit")>-1&&-1==e.indexOf("Chrome");return n?{width:window.innerWidth,height:window.innerHeight}:{width:t.clientWidth,height:t.clientHeight}},jindo.$Document.prototype.renderingMode=function(){var e,t=navigator.userAgent,n="undefined"==typeof window.opera&&t.indexOf("MSIE")>-1,o=t.indexOf("WebKit")>-1&&t.indexOf("Chrome")<0&&navigator.vendor.indexOf("Apple")>-1;return e="compatMode"in this._doc?"CSS1Compat"==this._doc.compatMode?"Standards":n?"Quirks":"Almost":o?"Standards":"Quirks"},jindo.$Document.prototype.queryAll=function(e){return jindo.$$(e,this._doc)},jindo.$Document.prototype.query=function(e){return jindo.$$.getSingle(e,this._doc)},jindo.$Document.prototype.xpathAll=function(e){return jindo.$$.xpath(e,this._doc)},jindo.$Form=function(e){var t=arguments.callee;if(e instanceof t)return e;if(!(this instanceof t))return new t(e);if(e=jindo.$(e),!e.tagName||"FORM"!=e.tagName.toUpperCase())throw new Error("The element should be a FORM element");this._form=e},jindo.$Form.prototype.$value=function(){return this._form},jindo.$Form.prototype.serialize=function(){var e=this,t={},n=arguments.length,o=function(n){var o=e.value(n);"undefined"!=typeof o&&(t[n]=o)};if(0==n)jindo.$A(this.element()).forEach(function(e){e.name&&o(e.name)});else for(var i=0;n>i;i++)o(arguments[i]);return jindo.$H(t).toQueryString()},jindo.$Form.prototype.element=function(e){return arguments.length>0?this._form[e]:this._form.elements},jindo.$Form.prototype.enable=function(){var e=arguments[0];if("object"==typeof e){var t=this;return jindo.$H(e).forEach(function(e,n){t.enable(n,e)}),this}var n=this.element(e);if(!n)return this;if(n=1==n.nodeType?[n]:n,arguments.length<2){var o=!0;return jindo.$A(n).forEach(function(e){e.disabled&&(o=!1,jindo.$A.Break())}),o}var i=arguments[1];return jindo.$A(n).forEach(function(e){e.disabled=!i}),this},jindo.$Form.prototype.value=function(e){if("object"==typeof e){var t=this;return jindo.$H(e).forEach(function(e,n){t.value(n,e)}),this}var n=this.element(e);if(!n)throw new Error("엘리먼트는 존재하지 않습니다.");
+if(n=1==n.nodeType?[n]:n,arguments.length>1){var o=arguments[1];return jindo.$A(n).forEach(function(e){switch(e.type){case"radio":e.checked=e.value==o;break;case"checkbox":o.constructor==Array?e.checked=jindo.$A(o).has(e.value):e.checked=e.value==o;break;case"select-one":for(var t=-1,n=0,i=e.options.length;i>n;n++)e.options[n].value==o&&(t=n);e.selectedIndex=t;break;case"select-multiple":var t=-1;if(o.constructor==Array)for(var r=jindo.$A(o),n=0,i=e.options.length;i>n;n++)e.options[n].selected=r.has(e.options[n].value);else{for(var n=0,i=e.options.length;i>n;n++)e.options[n].value==o&&(t=n);e.selectedIndex=t}break;default:e.value=o}}),this}var i=[];return jindo.$A(n).forEach(function(e){switch(e.type){case"radio":case"checkbox":e.checked&&i.push(e.value);break;case"select-one":-1!=e.selectedIndex&&i.push(e.options[e.selectedIndex].value);break;case"select-multiple":if(-1!=e.selectedIndex)for(var t=0,n=e.options.length;n>t;t++)e.options[t].selected&&i.push(e.options[t].value);break;default:i.push(e.value)}}),i.length>1?i:i[0]},jindo.$Form.prototype.submit=function(e,t){var n=null;return"string"==typeof e&&(n=this._form.target,this._form.target=e),"function"==typeof e&&(t=e),"undefined"==typeof t||t(this._form)?(this._form.submit(),null!==n&&(this._form.target=n),this):this},jindo.$Form.prototype.reset=function(e){return"undefined"==typeof e||e(this._form)?(this._form.reset(),this):this},jindo.$Template=function(e){var t=null,n="",o=arguments.callee;return e instanceof o?e:this instanceof o?("undefined"==typeof e?e="":(t=document.getElementById(e)||e)&&t.tagName&&(n=t.tagName.toUpperCase())&&("TEXTAREA"==n||"SCRIPT"==n&&"text/template"==t.getAttribute("type"))&&(e=(t.value||t.innerHTML).replace(/^\s+|\s+$/g,"")),void(this._str=e+"")):new o(e)},jindo.$Template.splitter=/(?!\\)[\{\}]/g,jindo.$Template.pattern=/^(?:if (.+)|elseif (.+)|for (?:(.+)\:)?(.+) in (.+)|(else)|\/(if|for)|=(.+)|js (.+)|set (.+))$/,jindo.$Template.prototype.process=function(data){var key="",leftBrace="",rightBrace="",tpl=(" "+this._str+" ").replace(/\\{/g,leftBrace).replace(/\\}/g,rightBrace).replace(/(?!\\)\}\{/g,"}"+key+"{").split(jindo.$Template.splitter),i=tpl.length,map={'"':'\\"',"\\":"\\\\","\n":"\\n","\r":"\\r","	":"\\t","\f":"\\f"},reg=[/(["'](?:(?:\\.)+|[^\\["']+)*["']|[a-zA-Z_][\w\.]*)/g,/[\n\r\t\f"\\]/g,/^\s+/,/\s+$/,/#/g],cb=[function(e){return'"'==e.substring(0,1)||"'"==e.substring(0,1)||"null"==e?e:"d."+e},function(e){return map[e]||e},"",""],stm=[],lev=0;if(tpl[0]=tpl[0].substr(1),tpl[i-1]=tpl[i-1].substr(0,tpl[i-1].length-1),2>i)return tpl[0];tpl=jindo.$A(tpl).reverse().$value();for(var delete_info;i--;)i%2?tpl[i]=tpl[i].replace(jindo.$Template.pattern,function(){var e=arguments;if(e[10])return e[10].replace(/(\w+)(?:\s*)=(?:\s*)(?:([a-zA-Z0-9_]+)|(.+))$/g,function(){var e=arguments,t="d."+e[1]+"=";return t+=e[2]?"d."+e[2]:e[3].replace(/(=(?:[a-zA-Z_][\w\.]*)+)/g,function(e){return"="==e.substring(0,1)?"d."+e.replace("=",""):e})})+";";if(e[9])return"s[i++]="+e[9].replace(/(=(?:[a-zA-Z_][\w\.]*)+)/g,function(e){return"="==e.substring(0,1)?"d."+e.replace("=",""):e})+";";if(e[8])return"s[i++]= d."+e[8]+";";if(e[1])return"if("+e[1].replace(reg[0],cb[0]).replace(/d\.(typeof) /,"$1 ").replace(/ d\.(instanceof) d\./," $1 ")+"){";if(e[2])return"}else if("+e[2].replace(reg[0],cb[0]).replace(/d\.(typeof) /,"$1 ").replace(/ d\.(instanceof) d\./," $1 ")+"){";if(e[5]){delete_info=e[4];var t=[];return t.push("var t#=d."+e[5]+"||{},p#=isArray(t#),i#=0;"),t.push("for(var x# in t#){"),t.push("if(!t#.hasOwnProperty(x#)){continue;}"),t.push("	if( (p# && isNaN(i#=parseInt(x#,10))) || (!p# && !t#.propertyIsEnumerable(x#)) ) continue;"),t.push("	d."+e[4]+"=t#[x#];"),t.push(e[3]?"d."+e[3]+"=p#?i#:x#;":""),t.join("").replace(reg[4],lev++)}return e[6]?"}else{":e[7]?"for"==e[7]?"delete d."+delete_info+"; };":"};":e[0]}):tpl[i]==key?tpl[i]="":tpl[i]&&(tpl[i]='s[i++]="'+tpl[i].replace(reg[1],cb[1])+'";');tpl=jindo.$A(tpl).reverse().$value().join("").replace(new RegExp(leftBrace,"g"),"{").replace(new RegExp(rightBrace,"g"),"}");var _aStr=[];return _aStr.push("var s=[],i=0;"),_aStr.push('function isArray(o){ return Object.prototype.toString.call(o) == "[object Array]" };'),_aStr.push(tpl),_aStr.push('return s.join("");'),tpl=eval("false||function(d){"+_aStr.join("")+"}"),tpl=tpl(data)},jindo.$Date=function(e){var t=arguments,n="",o=arguments.callee;if(e&&e instanceof o)return e;if(!(this instanceof o))return new o(t[0],t[1],t[2],t[3],t[4],t[5],t[6]);if("string"==(n=typeof e))if(/(\d\d\d\d)(?:-?(\d\d)(?:-?(\d\d)))/.test(e))try{this._date=new Date(e),this._date.toISOString?"Invalid Date"==this._date.toISOString()&&(this._date=jindo.$Date.makeISO(e)):this._date=jindo.$Date.makeISO(e)}catch(i){this._date=jindo.$Date.makeISO(e)}else this._date=o.parse(e);else if("number"==n)if("undefined"==typeof t[1])this._date=new Date(e);else{for(var r=0;7>r;r++)"number"!=typeof t[r]&&(t[r]=1);this._date=new Date(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}else"object"==n&&e.constructor==Date?((this._date=new Date).setTime(e.getTime()),this._date.setMilliseconds(e.getMilliseconds())):this._date=new Date;this._names={};for(var r in jindo.$Date.names)jindo.$Date.names.hasOwnProperty(r)&&(this._names[r]=jindo.$Date.names[r])},jindo.$Date.makeISO=function(e){var t=e.match(/(\d\d\d\d)(?:-?(\d\d)(?:-?(\d\d)(?:[T ](\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|(?:([-+])(\d\d)(?::?(\d\d))?)?)?)?)?)?/),n=parseInt(t[4]||0,10),o=parseInt(t[5]||0,10);return"Z"==t[8]?n+=jindo.$Date.utc:("+"==t[9]||"-"==t[9])&&(n+=jindo.$Date.utc-parseInt(t[9]+t[10],10),o+=parseInt(t[9]+t[11],10)),new Date(t[1]||0,parseInt(t[2]||0,10)-1,t[3]||0,n,o,t[6]||0,t[7]||0)},jindo.$Date.names={month:["January","Febrary","March","April","May","June","July","August","September","October","Novermber","December"],s_month:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],day:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],s_day:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],ampm:["AM","PM"]},jindo.$Date.utc=9,jindo.$Date.now=function(){return Date.now()},jindo.$Date.prototype.name=function(e){if(!arguments.length)return this._names;for(var t in e)e.hasOwnProperty(t)&&(this._names[t]=e[t])},jindo.$Date.parse=function(e){return new Date(Date.parse(e))},jindo.$Date.prototype.$value=function(){return this._date},jindo.$Date.prototype.format=function(e){var t={},n=this._date,o=this.name(),i=this;return(e||"").replace(/[a-z]/gi,function(e){if("undefined"!=typeof t[e])return t[e];switch(e){case"d":case"j":return t.j=n.getDate(),t.d=(t.j>9?"":"0")+t.j,t[e];case"l":case"D":case"w":case"N":return t.w=n.getDay(),t.N=t.w?t.w:7,t.D=o.s_day[t.w],t.l=o.day[t.w],t[e];case"S":return(t.S=["st","nd","rd"][n.getDate()])?t.S:t.S="th";case"z":return t.z=Math.floor((n.getTime()-new Date(n.getFullYear(),0,1).getTime())/864e5),t.z;case"m":case"n":return t.n=n.getMonth()+1,t.m=(t.n>9?"":"0")+t.n,t[e];case"L":return t.L=i.isLeapYear(),t.L;case"o":case"Y":case"y":return t.o=t.Y=n.getFullYear(),t.y=(t.o+"").substr(2),t[e];case"a":case"A":case"g":case"G":case"h":case"H":return t.G=n.getHours(),t.g=(t.g=t.G%12)?t.g:12,t.A=t.G<12?o.ampm[0]:o.ampm[1],t.a=t.A.toLowerCase(),t.H=(t.G>9?"":"0")+t.G,t.h=(t.g>9?"":"0")+t.g,t[e];case"i":return t.i=((t.i=n.getMinutes())>9?"":"0")+t.i,t.i;case"s":return t.s=((t.s=n.getSeconds())>9?"":"0")+t.s,t.s;case"u":return t.u=n.getMilliseconds(),t.u;case"U":return t.U=i.time(),t.U;default:return e}})},jindo.$Date.prototype.time=function(e){return"number"==typeof e?(this._date.setTime(e),this):this._date.getTime()},jindo.$Date.prototype.year=function(e){return"number"==typeof e?(this._date.setFullYear(e),this):this._date.getFullYear()},jindo.$Date.prototype.month=function(e){return"number"==typeof e?(this._date.setMonth(e),this):this._date.getMonth()},jindo.$Date.prototype.date=function(e){return"number"==typeof e?(this._date.setDate(e),this):this._date.getDate()},jindo.$Date.prototype.day=function(){return this._date.getDay()},jindo.$Date.prototype.hours=function(e){return"number"==typeof e?(this._date.setHours(e),this):this._date.getHours()},jindo.$Date.prototype.minutes=function(e){return"number"==typeof e?(this._date.setMinutes(e),this):this._date.getMinutes()},jindo.$Date.prototype.seconds=function(e){return"number"==typeof e?(this._date.setSeconds(e),this):this._date.getSeconds()},jindo.$Date.prototype.isLeapYear=function(){var e=this._date.getFullYear();return!((e%4||!(e%100))&&e%400)},jindo.$Window=function(e){var t=arguments.callee;return e instanceof t?e:this instanceof t?void(this._win=e||window):new t(e)},jindo.$Window.prototype.$value=function(){return this._win},jindo.$Window.prototype.resizeTo=function(e,t){return this._win.resizeTo(e,t),this},jindo.$Window.prototype.resizeBy=function(e,t){return this._win.resizeBy(e,t),this},jindo.$Window.prototype.moveTo=function(e,t){return this._win.moveTo(e,t),this},jindo.$Window.prototype.moveBy=function(e,t){return this._win.moveBy(e,t),this},jindo.$Window.prototype.sizeToContent=function(e,t){if("function"==typeof this._win.sizeToContent)this._win.sizeToContent();else{if(2!=arguments.length){var n,o,i=this._win,r=this._win.document;i.innerHeight?(n=i.innerWidth,o=i.innerHeight):r.documentElement&&r.documentElement.clientHeight?(n=r.documentElement.clientWidth,o=r.documentElement.clientHeight):r.body&&(n=r.body.clientWidth,o=r.body.clientHeight);var s,a,u=r.body.scrollHeight,l=r.body.offsetHeight;u>l?(s=r.body.scrollWidth,a=r.body.scrollHeight):(s=r.body.offsetWidth,a=r.body.offsetHeight),e=s-n,t=a-o}this.resizeBy(e,t)}return this},"undefined"!=typeof window)for(prop in jindo)jindo.hasOwnProperty(prop)&&(window[prop]=jindo[prop]);(파일 끝에 줄바꿈 문자 없음)
 
client/smarteditor2-2.8.2.3/js/lib/jindo_component.js (added)
+++ client/smarteditor2-2.8.2.3/js/lib/jindo_component.js
@@ -0,0 +1,3 @@
+jindo.Component=jindo.$Class({_htEventHandler:null,_htOption:null,$init:function(){var t=this.constructor.getInstance();t.push(this),this._htEventHandler={},this._htOption={},this._htOption._htSetter={}},option:function(t,e){switch(typeof t){case"undefined":return this._htOption;case"string":if("undefined"==typeof e)return this._htOption[t];if("htCustomEventHandler"==t){if("undefined"!=typeof this._htOption[t])return this;this.attach(e)}this._htOption[t]=e,"function"==typeof this._htOption._htSetter[t]&&this._htOption._htSetter[t](e);break;case"object":for(var n in t){if("htCustomEventHandler"==n){if("undefined"!=typeof this._htOption[n])continue;this.attach(t[n])}this._htOption[n]=t[n],"function"==typeof this._htOption._htSetter[n]&&this._htOption._htSetter[n](t[n])}}return this},optionSetter:function(t,e){switch(typeof t){case"undefined":return this._htOption._htSetter;case"string":if("undefined"==typeof e)return this._htOption._htSetter[t];this._htOption._htSetter[t]=jindo.$Fn(e,this).bind();break;case"object":for(var n in t)this._htOption._htSetter[n]=jindo.$Fn(t[n],this).bind()}return this},fireEvent:function(t,e){e=e||{};var n=this["on"+t],i=this._htEventHandler[t]||[],s="function"==typeof n,a=i.length>0;if(!s&&!a)return!0;i=i.concat(),e.sType=t,"undefined"==typeof e._aExtend&&(e._aExtend=[],e.stop=function(){e._aExtend.length>0&&(e._aExtend[e._aExtend.length-1].bCanceled=!0)}),e._aExtend.push({sType:t,bCanceled:!1});var o,r,h=[e];for(o=2,r=arguments.length;r>o;o++)h.push(arguments[o]);if(s&&n.apply(this,h),a){var l;for(o=0,l;l=i[o];o++)l.apply(this,h)}return!e._aExtend.pop().bCanceled},attach:function(t,e){if(1==arguments.length)return jindo.$H(arguments[0]).forEach(jindo.$Fn(function(t,e){this.attach(e,t)},this).bind()),this;var n=this._htEventHandler[t];return"undefined"==typeof n&&(n=this._htEventHandler[t]=[]),n.push(e),this},detach:function(t,e){if(1==arguments.length)return jindo.$H(arguments[0]).forEach(jindo.$Fn(function(t,e){this.detach(e,t)},this).bind()),this;var n=this._htEventHandler[t];if(n)for(var i,s=0;i=n[s];s++)if(i===e){n=n.splice(s,1);break}return this},detachAll:function(t){var e=this._htEventHandler;if(arguments.length)return"undefined"==typeof e[t]?this:(delete e[t],this);for(var n in e)delete e[n];return this}}),jindo.Component.factory=function(t,e){var n,i=[];"undefined"==typeof e&&(e={});for(var s,a=0;s=t[a];a++)n=new this(s,e),i[i.length]=n;return i},jindo.Component.getInstance=function(){return"undefined"==typeof this._aInstance&&(this._aInstance=[]),this._aInstance},jindo.UIComponent=jindo.$Class({$init:function(){this._bIsActivating=!1},isActivating:function(){return this._bIsActivating},activate:function(){return this.isActivating()?this:(this._bIsActivating=!0,arguments.length>0?this._onActivate.apply(this,arguments):this._onActivate(),this)},deactivate:function(){return this.isActivating()?(this._bIsActivating=!1,arguments.length>0?this._onDeactivate.apply(this,arguments):this._onDeactivate(),this):this}}).extend(jindo.Component),jindo.RolloverArea=jindo.$Class({$init:function(t,e){this.option({sClassName:"rollover",sClassPrefix:"rollover-",bCheckMouseDown:!0,bActivateOnload:!0,htStatus:{sOver:"over",sDown:"down"}}),this.option(e||{}),this._elArea=jindo.$(t),this._aOveredElements=[],this._aDownedElements=[],this._wfMouseOver=jindo.$Fn(this._onMouseOver,this),this._wfMouseOut=jindo.$Fn(this._onMouseOut,this),this._wfMouseDown=jindo.$Fn(this._onMouseDown,this),this._wfMouseUp=jindo.$Fn(this._onMouseUp,this),this.option("bActivateOnload")&&this.activate()},_addOvered:function(t){this._aOveredElements.push(t)},_removeOvered:function(t){this._aOveredElements.splice(jindo.$A(this._aOveredElements).indexOf(t),1)},_addStatus:function(t,e){jindo.$Element(t).addClass(this.option("sClassPrefix")+e)},_removeStatus:function(t,e){jindo.$Element(t).removeClass(this.option("sClassPrefix")+e)},_isInnerElement:function(t,e){return t===e?!0:jindo.$Element(t).isParentOf(e)},_onActivate:function(){this._wfMouseOver.attach(this._elArea,"mouseover"),this._wfMouseOut.attach(this._elArea,"mouseout"),this.option("bCheckMouseDown")&&(this._wfMouseDown.attach(this._elArea,"mousedown"),this._wfMouseUp.attach(document,"mouseup"))},_onDeactivate:function(){this._wfMouseOver.detach(this._elArea,"mouseover"),this._wfMouseOut.detach(this._elArea,"mouseout"),this._wfMouseDown.detach(this._elArea,"mousedown"),this._wfMouseUp.detach(document,"mouseup"),this._aOveredElements.length=0,this._aDownedElements.length=0},_findRollover:function(t){var e=this.option("sClassName");return jindo.$$.test(t,"."+e)?t:jindo.$$.getSingle("! ."+e,t)},_onMouseOver:function(t){for(var e,n=t.element,i=t.relatedElement;n=this._findRollover(n);n=n.parentNode)i&&this._isInnerElement(n,i)||(this._addOvered(n),e={element:n,htStatus:this.option("htStatus"),weEvent:t},this.fireEvent("over",e)&&this._addStatus(e.element,e.htStatus.sOver))},_onMouseOut:function(t){for(var e,n=t.element,i=t.relatedElement;n=this._findRollover(n);n=n.parentNode)i&&this._isInnerElement(n,i)||(this._removeOvered(n),e={element:n,htStatus:this.option("htStatus"),weEvent:t},this.fireEvent("out",e)&&this._removeStatus(e.element,e.htStatus.sOver))},_onMouseDown:function(t){for(var e,n=t.element;n=this._findRollover(n);)e={element:n,htStatus:this.option("htStatus"),weEvent:t},this._aDownedElements.push(n),this.fireEvent("down",e)&&this._addStatus(e.element,e.htStatus.sDown),n=n.parentNode},_onMouseUp:function(t){var e,n,i,s=t.element,a=[],o=this._aDownedElements;for(i=0;n=o[i];i++)a.push({element:n,htStatus:this.option("htStatus"),weEvent:t});for(;s=this._findRollover(s);s=s.parentNode)jindo.$A(o).indexOf(s)>-1||a.push({element:s,htStatus:this.option("htStatus"),weEvent:t});for(i=0;e=a[i];i++)this.fireEvent("up",e)&&this._removeStatus(e.element,e.htStatus.sDown);this._aDownedElements=[]}}).extend(jindo.UIComponent),jindo.Calendar=jindo.$Class({$init:function(t,e){this._htToday=this.constructor.getDateHashTable(new Date),this._elLayer=jindo.$(t),this.htDefaultOption={sClassPrefix:"calendar-",nYear:this._htToday.nYear,nMonth:this._htToday.nMonth,nDate:this._htToday.nDate,sTitleFormat:"yyyy-mm",sYearTitleFormat:"yyyy",sMonthTitleFormat:"m",aMonthTitle:["JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC"],bDrawOnload:!0},this.option(this.htDefaultOption),this.option(e||{}),this._assignHTMLElements(),this.activate(),this.setDate(this.option("nYear"),this.option("nMonth"),this.option("nDate")),this.option("bDrawOnload")&&this.draw()},getBaseElement:function(){return this._elLayer},getDate:function(){return this._htDate},getDateOfElement:function(t){var e=jindo.$A(this._aDateContainerElement).indexOf(t);return e>-1?this._aMetaData[e]:null},getToday:function(){return this._htToday},setDate:function(t,e,n){this._htDate={nYear:t,nMonth:1*e,nDate:1*n}},getShownDate:function(){return this._getShownDate()},_getShownDate:function(){return this.htShownDate||this.getDate()},_setShownDate:function(t,e){this.htShownDate={nYear:t,nMonth:1*e,nDate:1}},_assignHTMLElements:function(){var t=this.option("sClassPrefix"),e=this.getBaseElement();(this.elBtnPrevYear=jindo.$$.getSingle("."+t+"btn-prev-year",e))&&(this.wfPrevYear=jindo.$Fn(function(t){t.stop(jindo.$Event.CANCEL_DEFAULT),this.draw(-1,0,!0)},this)),(this.elBtnPrevMonth=jindo.$$.getSingle("."+t+"btn-prev-mon",e))&&(this.wfPrevMonth=jindo.$Fn(function(t){t.stop(jindo.$Event.CANCEL_DEFAULT),this.draw(0,-1,!0)},this)),(this.elBtnNextMonth=jindo.$$.getSingle("."+t+"btn-next-mon",e))&&(this.wfNextMonth=jindo.$Fn(function(t){t.stop(jindo.$Event.CANCEL_DEFAULT),this.draw(0,1,!0)},this)),(this.elBtnNextYear=jindo.$$.getSingle("."+t+"btn-next-year",e))&&(this.wfNextYear=jindo.$Fn(function(t){t.stop(jindo.$Event.CANCEL_DEFAULT),this.draw(1,0,!0)},this)),this.elTitle=jindo.$$.getSingle("."+t+"title",e),this.elTitleYear=jindo.$$.getSingle("."+t+"title-year",e),this.elTitleMonth=jindo.$$.getSingle("."+t+"title-month",e);var n=jindo.$$.getSingle("."+t+"week",e);this.elWeekTemplate=n.cloneNode(!0),this.elWeekAppendTarget=n.parentNode},_setCalendarTitle:function(t,e,n){10>e&&(e=("0"+1*e).toString());var i,s=this.elTitle,a=this.option("sTitleFormat");if("undefined"!=typeof n)switch(n){case"year":s=this.elTitleYear,a=this.option("sYearTitleFormat"),i=a.replace(/yyyy/g,t).replace(/y/g,t.toString().substr(2,2));break;case"month":s=this.elTitleMonth,a=this.option("sMonthTitleFormat"),i=a.replace(/mm/g,e).replace(/m/g,1*e).replace(/M/g,this.option("aMonthTitle")[e-1])}else i=a.replace(/yyyy/g,t).replace(/y/g,t.toString().substr(2,2)).replace(/mm/g,e).replace(/m/g,1*e).replace(/M/g,this.option("aMonthTitle")[e-1]);jindo.$Element(s).text(i)},draw:function(t,e,n){var i=this.option("sClassPrefix"),s=this.getDate(),a=this._getShownDate();if(a&&"undefined"!=typeof n&&n){var o=this.constructor.getRelativeDate(t,e,0,a);t=o.nYear,e=o.nMonth}else"undefined"==typeof t&&"undefined"==typeof e&&"undefined"==typeof n?(t=s.nYear,e=s.nMonth):(t=t||a.nYear,e=e||a.nMonth);if(this.fireEvent("beforeDraw",{nYear:t,nMonth:e})){this.elTitle&&this._setCalendarTitle(t,e),this.elTitleYear&&this._setCalendarTitle(t,e,"year"),this.elTitleMonth&&this._setCalendarTitle(t,e,"month"),this._clear(jindo.Calendar.getWeeks(t,e)),this._setShownDate(t,e);var r,h,l,u,c,f,d,_,g,p=this.getToday(),v=this.constructor.getFirstDay(t,e),m=this.constructor.getLastDay(t,e),E=this.constructor.getLastDate(t,e),w=0,P=this.constructor.getRelativeDate(0,-1,0,{nYear:t,nMonth:e,nDate:1}),D=this.constructor.getRelativeDate(0,1,0,{nYear:t,nMonth:e,nDate:1}),L=this.constructor.getLastDate(P.nYear,P.nMonth),j=[],b=this.constructor.getWeeks(t,e);for(g=0;b>g;g++)_=this.elWeekTemplate.cloneNode(!0),jindo.$Element(_).appendTo(this.elWeekAppendTarget),this._aWeekElement.push(_);if(this._aDateElement=jindo.$$("."+i+"date",this.elWeekAppendTarget),this._aDateContainerElement=jindo.$$("."+i+"week > *",this.elWeekAppendTarget),v>0)for(g=L-v;L>g;g++)j.push(g+1);for(g=1;E+1>g;g++)j.push(g);for(d=j.length-1,g=1;7-m>g;g++)j.push(g);for(g=0;g<j.length;g++)r=!1,h=!1,l=jindo.$Element(this._aDateContainerElement[g]),u=t,c=e,v>g?(r=!0,l.addClass(i+"prev-mon"),u=P.nYear,c=P.nMonth):g>d?(h=!0,l.addClass(i+"next-mon"),u=D.nYear,c=D.nMonth):(u=t,c=e),0===w&&l.addClass(i+"sun"),6==w&&l.addClass(i+"sat"),u==p.nYear&&1*c==p.nMonth&&j[g]==p.nDate&&l.addClass(i+"today"),f={elDate:this._aDateElement[g],elDateContainer:l.$value(),nYear:u,nMonth:c,nDate:j[g],bPrevMonth:r,bNextMonth:h,sHTML:j[g]},jindo.$Element(f.elDate).html(f.sHTML.toString()),this._aMetaData.push({nYear:u,nMonth:c,nDate:j[g]}),w=(w+1)%7,this.fireEvent("draw",f);this.fireEvent("afterDraw",{nYear:t,nMonth:e})}},_clear:function(t){this._aMetaData=[],this._aWeekElement=[],jindo.$Element(this.elWeekAppendTarget).empty()},attachEvent:function(){this.activate()},detachEvent:function(){this.deactivate()},_onActivate:function(){this.elBtnPrevYear&&this.wfPrevYear.attach(this.elBtnPrevYear,"click"),this.elBtnPrevMonth&&this.wfPrevMonth.attach(this.elBtnPrevMonth,"click"),this.elBtnNextMonth&&this.wfNextMonth.attach(this.elBtnNextMonth,"click"),this.elBtnNextYear&&this.wfNextYear.attach(this.elBtnNextYear,"click")},_onDeactivate:function(){this.elBtnPrevYear&&this.wfPrevYear.detach(this.elBtnPrevYear,"click"),this.elBtnPrevMonth&&this.wfPrevMonth.detach(this.elBtnPrevMonth,"click"),this.elBtnNextMonth&&this.wfNextMonth.detach(this.elBtnNextMonth,"click"),this.elBtnNextYear&&this.wfNextYear.detach(this.elBtnNextYear,"click")}}).extend(jindo.UIComponent),jindo.Calendar.getDateObject=function(t){return 3==arguments.length?new Date(arguments[0],arguments[1]-1,arguments[2]):new Date(t.nYear,t.nMonth-1,t.nDate)},jindo.Calendar.getDateHashTable=function(t){return 3==arguments.length?{nYear:arguments[0],nMonth:arguments[1],nDate:arguments[2]}:(arguments.length<=1&&(t=t||new Date),{nYear:t.getFullYear(),nMonth:t.getMonth()+1,nDate:t.getDate()})},jindo.Calendar.getTime=function(t){return this.getDateObject(t).getTime()},jindo.Calendar.getFirstDay=function(t,e){return new Date(t,e-1,1).getDay()},jindo.Calendar.getLastDay=function(t,e){return new Date(t,e,0).getDay()},jindo.Calendar.getLastDate=function(t,e){return new Date(t,e,0).getDate()},jindo.Calendar.getWeeks=function(t,e){var n=this.getFirstDay(t,e),i=this.getLastDate(t,e);return Math.ceil((n+i)/7)},jindo.Calendar.getRelativeDate=function(t,e,n,i){return this.getDateHashTable(new Date(i.nYear+t,i.nMonth+e-1,i.nDate+n))},jindo.Calendar.isPast=function(t,e){return this.getTime(t)<this.getTime(e)?!0:!1},jindo.Calendar.isFuture=function(t,e){return this.getTime(t)>this.getTime(e)?!0:!1},jindo.Calendar.isSameDate=function(t,e){return this.getTime(t)==this.getTime(e)?!0:!1},jindo.Calendar.isBetween=function(t,e,n){return this.isFuture(t,n)||this.isPast(t,e)?!1:!0},jindo.LayerManager=jindo.$Class({_bIsActivating:!1,_bIsLayerVisible:!1,_bIsHiding:!1,_bIsShowing:!1,_aLink:null,$init:function(t,e){this.option({sCheckEvent:"click",nCheckDelay:100,nShowDelay:0,nHideDelay:100,sMethod:"show",nDuration:200,Transition:{fFadeIn:jindo.Effect.cubicEaseOut,fFadeOut:jindo.Effect.cubicEaseIn,fSlideDown:jindo.Effect.cubicEaseOut,fSlideUp:jindo.Effect.cubicEaseIn}}),this.option(e||{}),this.setLayer(t),this._aLink=[],this._oShowTimer=new jindo.Timer,this._oHideTimer=new jindo.Timer,this._oEventTimer=new jindo.Timer,this._wfOnEvent=jindo.$Fn(this._onEvent,this),this.getVisible(),this.activate()},_onActivate:function(){this._wfOnEvent.attach(document,this.option("sCheckEvent"))},_onDeactivate:function(){this._wfOnEvent.detach(document,this.option("sCheckEvent"))},getVisible:function(){return this._bIsLayerVisible=this._wel.visible()&&this._wel.opacity()>0},_check:function(t){for(var e,n=jindo.$Element(t),i=0;e=this._aLink[i];i++)if(e=jindo.$Element(e).$value(),e&&(t==e||n.isChildOf(e)))return!0;return!1},_find:function(t){for(var e,n=0;e=this._aLink[n];n++)if(e==t)return n;return-1},getLayer:function(){return this._el},setLayer:function(t){this._el=jindo.$(t),this._wel=jindo.$Element(t);var e=this._el.cloneNode(!0),n=jindo.$Element(e);return n.css({position:"absolute",left:"-5000px"}).appendTo(this._el.parentNode),n.show(),this._nLayerHeight=n.height(),n.height(this._nLayerHeight),this._sLayerCSSHeight=n.css("height"),this._sLayerCSSOverflowX=this._wel.css("overflowX"),this._sLayerCSSOverflowY=this._wel.css("overflowY"),n.css("overflow","hidden").height(0),this._nSlideMinHeight=n.height()+1,n.leave(),this},_transform:function(){this._wel.css({overflowX:"hidden",overflowY:"hidden"})},_restore:function(){this._wel.css({overflowX:this._sLayerCSSOverflowX,overflowY:this._sLayerCSSOverflowY})},getLinks:function(){return this._aLink},setLinks:function(t){return this._aLink=jindo.$A(t).unique().$value(),this},link:function(t){if(arguments.length>1){for(var e=0,n=arguments.length;n>e;e++)this.link(arguments[e]);return this}return-1!=this._find(t)?this:(this._aLink.push(t),this)},unlink:function(t){if(arguments.length>1){for(var e=0,n=arguments.length;n>e;e++)this.unlink(arguments[e]);return this}var i=this._find(t);return i>-1&&this._aLink.splice(i,1),this},_fireEventBeforeShow:function(){return this._transform(),this.fireEvent("beforeShow",{elLayer:this.getLayer(),aLinkedElement:this.getLinks(),sMethod:this.option("sMethod")})},_fireEventAppear:function(){this.fireEvent("appear",{elLayer:this.getLayer(),aLinkedElement:this.getLinks(),sMethod:this.option("sMethod")})},_fireEventShow:function(){this._bIsShowing=!1,this._restore(),this.fireEvent("show",{elLayer:this.getLayer(),aLinkedElement:this.getLinks(),sMethod:this.option("sMethod")})},_fireEventBeforeHide:function(){return this._transform(),this.fireEvent("beforeHide",{elLayer:this.getLayer(),aLinkedElement:this.getLinks(),sMethod:this.option("sMethod")})},_fireEventHide:function(){this._bIsHiding=!1,this._restore(),this.fireEvent("hide",{elLayer:this.getLayer(),aLinkedElement:this.getLinks(),sMethod:this.option("sMethod")})},_show:function(t,e){this._oEventTimer.abort(),this._bIsShowing=!0,this._bIsHiding=!1,e>0?this._oShowTimer.start(t,e):(this._oHideTimer.abort(),t())},_hide:function(t,e){this._bIsShowing=!1,this._bIsHiding=!0,e>0?this._oHideTimer.start(t,e):(this._oShowTimer.abort(),t())},_getShowMethod:function(){switch(this.option("sMethod")){case"show":return"showIn";case"fade":return"fadeIn";case"slide":return"slideDown"}},_getHideMethod:function(){switch(this.option("sMethod")){case"show":return"hideOut";case"fade":return"fadeOut";case"slide":return"slideUp"}},show:function(t){return"undefined"==typeof t&&(t=this.option("nShowDelay")),this[this._getShowMethod()](t),this},hide:function(t){return"undefined"==typeof t&&(t=this.option("nHideDelay")),this[this._getHideMethod()](t),this},showIn:function(t){"undefined"==typeof t&&(t=this.option("nShowDelay"));var e=this;return this._show(function(){e._sAppliedMethod="show",e.getVisible()||e._fireEventBeforeShow()&&(e._wel.show(),e._fireEventAppear(),e._fireEventShow())},t),this},hideOut:function(t){"undefined"==typeof t&&(t=this.option("nHideDelay"));var e=this;return this._hide(function(){e._sAppliedMethod="show",e.getVisible()&&e._fireEventBeforeHide()&&(e._wel.hide(),e._fireEventHide())},t),this},_getTransition:function(){return this._oTransition?this._oTransition:this._oTransition=(new jindo.Transition).fps(30)},fadeIn:function(t){var e=this._getTransition();e.detachAll().abort(),"undefined"==typeof t&&(t=this.option("nShowDelay"));var n=this.option("nDuration"),i=this;return this._show(function(){i._sAppliedMethod="fade";var t=i.getLayer();i._wel.visible()&&1==i._wel.opacity()||i._fireEventBeforeShow()&&(i._wel.visible()||(i._wel.opacity(0),i._wel.show()),n*=1-i._wel.opacity(),e.attach({playing:function(t){1===t.nStep&&(this.detach("playing",arguments.callee),i._fireEventAppear())},end:function(t){this.detach("end",arguments.callee),i._fireEventShow()}}).start(n,t,{"@opacity":i.option("Transition").fFadeIn.apply(null,[1])}))},t),this},fadeOut:function(t){var e=this._getTransition();e.detachAll().abort(),"undefined"==typeof t&&(t=this.option("nHideDelay"));var n=this.option("nDuration"),i=this;return this._hide(function(){if(i._sAppliedMethod="fade",i.getVisible()){var t=i.getLayer();i._fireEventBeforeHide()&&(n*=i._wel.opacity(),e.attach({end:function(t){this.detach("end",arguments.callee),i._wel.hide(),i._wel.opacity(1),i._fireEventHide()}}).start(n,t,{"@opacity":i.option("Transition").fFadeOut.apply(null,[0])}))}},t),this},slideDown:function(t){var e=this._getTransition();e.detachAll().abort(),"undefined"==typeof t&&(t=this.option("nShowDelay"));var n=this.option("nDuration"),i=this;return this._show(function(){i._sAppliedMethod="slide";var t=i.getLayer();Math.ceil(i._wel.height())<i._nLayerHeight&&i._fireEventBeforeShow()&&(i.getVisible()?n=Math.ceil(n*((i._nLayerHeight-i._wel.height())/(i._nLayerHeight-i._nSlideMinHeight))):i._wel.height(0).show(),e.attach({playing:function(t){1===t.nStep&&(this.detach("playing",arguments.callee),i._fireEventAppear())},end:function(t){this.detach("end",arguments.callee),i._fireEventShow()}}).start(n,{getter:function(e){return jindo.$Element(t)[e]()+1},setter:function(e,n){jindo.$Element(t)[e](parseFloat(n))}},{height:i.option("Transition").fSlideDown.apply(null,[i._nLayerHeight])}))},t),this},slideUp:function(t){var e=this._getTransition();e.detachAll().abort(),"undefined"==typeof t&&(t=this.option("nHideDelay"));var n=this.option("nDuration"),i=this;return this._hide(function(){i._sAppliedMethod="slide";var t=i.getLayer();i.getVisible()&&i._fireEventBeforeHide()&&(n=Math.ceil(n*(i._wel.height()/i._nLayerHeight)),e.attach({end:function(t){i._wel.hide().css({height:i._sLayerCSSHeight}),this.detach("end",arguments.callee),i._fireEventHide()}}).start(n,{getter:function(e){return jindo.$Element(t)[e]()},setter:function(e,n){jindo.$Element(t)[e](Math.ceil(n))}},{height:i.option("Transition").fSlideUp.apply(null,[i._nSlideMinHeight])}))},t),this},toggle:function(t){return!this.getVisible()||this._bIsHiding?this.show(t||this.option("nShowDelay")):this.hide(t||this.option("nHideDelay")),this},_onEvent:function(t){var e=t.element,n=this;this._oEventTimer.start(function(){!n._bIsHiding&&n.getVisible()&&(n._check(e)?n._bIsShowing||(n.fireEvent("ignore",{sCheckEvent:n.option("sCheckEvent")}),n._oHideTimer.abort(),n._bIsHiding=!1):"undefined"!=typeof e.tagName&&n.hide())},this.option("nCheckDelay"))}}).extend(jindo.UIComponent),jindo.LayerPosition=jindo.$Class({$init:function(t,e,n){this.option({sPosition:"outside-bottom",sAlign:"left",sValign:"",nTop:0,nLeft:0,bAuto:!1}),this.option(n||{}),this.setElement(t),e&&this.setLayer(e),t&&e&&this.setPosition(),this._wfSetPosition=jindo.$Fn(function(){var t=this._elLayer;t&&this._welLayer.visible()&&this.fireEvent("beforeAdjust",{elLayer:t,htCurrentPosition:this.getCurrentPosition(),htAdjustedPosition:this._adjustPosition(this.getCurrentPosition())})&&(this.setPosition(),this.fireEvent("adjust",{elLayer:t,htCurrentPosition:this.getCurrentPosition()}))},this),this.option("bAuto")&&this._wfSetPosition.attach(window,"scroll").attach(window,"resize")},getElement:function(){return this._el},setElement:function(t){return this._el=jindo.$(t),this._wel=jindo.$Element(t),this},getLayer:function(){return this._elLayer},setLayer:function(t){return this._elLayer=jindo.$(t),this._welLayer=jindo.$Element(t),document.body.appendChild(t),this},_isPosition:function(t,e){return t.sPosition.indexOf(e)>-1?!0:!1},_setLeftRight:function(t,e){var n=this.getElement(),i=this.getLayer(),s=n.offsetWidth,a=i.offsetWidth;n==document.body&&(s=jindo.$Document().clientSize().width);var o=this._isPosition(t,"left"),r=this._isPosition(t,"right"),h=this._isPosition(t,"inside");return o?h?e.nLeft+=t.nLeft:(e.nLeft-=a,e.nLeft-=t.nLeft):r?(e.nLeft+=s,h?(e.nLeft-=a,e.nLeft-=t.nLeft):e.nLeft+=t.nLeft):("left"==t.sAlign&&(e.nLeft+=t.nLeft),"center"==t.sAlign&&(e.nLeft+=(s-a)/2),"right"==t.sAlign&&(e.nLeft+=s-a,e.nLeft-=t.nLeft)),e},_setVerticalAlign:function(t,e){var n=this.getElement(),i=this.getLayer(),s=n.offsetHeight,a=i.offsetHeight;switch(n==document.body&&(s=jindo.$Document().clientSize().height),t.sValign){case"top":e.nTop+=t.nTop;break;case"middle":e.nTop+=(s-a)/2;break;case"bottom":e.nTop+=s-a-t.nTop}return e},_adjustScrollPosition:function(t){if(this.getElement()==document.body){var e=jindo.$Document().scrollPosition();t.nTop+=e.top,t.nLeft+=e.left}return t},getPosition:function(t){"object"!=typeof t&&(t=this.option()),"undefined"==typeof t.nTop&&(t.nTop=0),"undefined"==typeof t.nLeft&&(t.nLeft=0);var e,n=this._isPosition(t,"center"),i=this._isPosition(t,"inside"),s=this._isPosition(t,"top"),a=this._isPosition(t,"bottom"),o=this._isPosition(t,"left"),r=this._isPosition(t,"right");o&&(e="left"),r&&(e="right"),s&&(e="top"),a&&(e="bottom"),n&&(e="center");var h,l=this.getElement(),u=jindo.$Element(l),c=this.getLayer(),f=jindo.$Element(c),d=u.offset(),_=l.offsetWidth,g=l.offsetHeight,p=c.offsetWidth,v=c.offsetHeight,m={nTop:d.top,nLeft:d.left};switch(l==document.body&&(h=jindo.$Document().clientSize(),_=h.width,g=h.height),p+=parseInt(f.css("marginLeft"))+parseInt(f.css("marginRight"))||0,v+=parseInt(f.css("marginTop"))+parseInt(f.css("marginBottom"))||0,e){case"center":m.nTop+=(g-v)/2,m.nTop+=t.nTop,m.nLeft+=(_-p)/2,m.nLeft+=t.nLeft;break;case"top":i?m.nTop+=t.nTop:m.nTop-=t.nTop+v,m=this._setLeftRight(t,m);break;case"bottom":m.nTop+=g,i?m.nTop-=t.nTop+v:m.nTop+=t.nTop,m=this._setLeftRight(t,m);break;case"left":i?m.nLeft+=t.nLeft:m.nLeft-=t.nLeft+p,m=this._setVerticalAlign(t,m);break;case"right":m.nLeft+=_,i?m.nLeft-=t.nLeft+p:m.nLeft+=t.nLeft,m=this._setVerticalAlign(t,m)}return m=this._adjustScrollPosition(m)},setPosition:function(t){var e=jindo.$Element(this.getLayer());return e.css("left","-9999px").css("top","0px"),"undefined"==typeof t&&(t=this.getPosition()),this.option("bAuto")&&(t=this._adjustPosition(t)),e.css("left",t.nLeft+"px").css("top",t.nTop+"px"),this},getCurrentPosition:function(){var t=jindo.$Element(this.getLayer());return{nTop:parseInt(t.css("top")),nLeft:parseInt(t.css("left"))}},_isFullyVisible:function(t){var e=this.getLayer(),n=jindo.$Element(e),i=jindo.$Document().scrollPosition(),s=i.top,a=i.left,o=jindo.$Document().clientSize(),r=e.offsetWidth+(parseInt(n.css("marginLeft"))+parseInt(n.css("marginRight"))||0),h=e.offsetHeight+(parseInt(n.css("marginTop"))+parseInt(n.css("marginBottom"))||0);return t.nLeft>=0&&t.nTop>=0&&o.width>=t.nLeft-a+r&&o.height>=t.nTop-s+h?!0:!1},_mirrorHorizontal:function(t){if("center"==t.sAlign||"inside-center"==t.sPosition)return t;var e={};for(var n in t)e[n]=t[n];return this._isPosition(e,"right")?e.sPosition=e.sPosition.replace(/right/,"left"):this._isPosition(e,"left")?e.sPosition=e.sPosition.replace(/left/,"right"):"right"==e.sAlign?e.sAlign="left":"left"==e.sAlign&&(e.sAlign="right"),e},_mirrorVertical:function(t){if("middle"==t.sValign||"inside-center"==t.sPosition)return t;var e={};for(var n in t)e[n]=t[n];return this._isPosition(e,"top")?e.sPosition=e.sPosition.replace(/top/,"bottom"):this._isPosition(e,"bottom")?e.sPosition=e.sPosition.replace(/bottom/,"top"):"top"==e.sValign?e.sValign="bottom":"bottom"==e.sValign&&(e.sValign="top"),e},_adjustPosition:function(t){var e=this.option(),n=[];n.push(t),n.push(this.getPosition(this._mirrorHorizontal(e))),n.push(this.getPosition(this._mirrorVertical(e))),n.push(this.getPosition(this._mirrorVertical(this._mirrorHorizontal(e))));for(var i,s=0;i=n[s];s++)if(this._isFullyVisible(i)){t=i;break}return t}}).extend(jindo.Component),jindo.Timer=jindo.$Class({$init:function(){this._nTimer=null,this._nLatest=null,this._nRemained=0,this._nDelay=null,this._fRun=null,this._bIsRunning=!1},start:function(t,e){return this.abort(),this._nRemained=0,this._nDelay=e,this._fRun=t,this._bIsRunning=!0,this._nLatest=this._getTime(),this.fireEvent("wait"),this._excute(this._nDelay,!1),!0},isRunning:function(){return this._bIsRunning},_getTime:function(){return(new Date).getTime()},_clearTimer:function(){var t=!1;return this._nTimer&&(clearInterval(this._nTimer),this._bIsRunning=!1,t=!0),this._nTimer=null,t},abort:function(){var t=this._clearTimer();return t&&(this.fireEvent("abort"),this._fRun=null),t},pause:function(){var t=this._getTime()-this._nLatest;return this._nRemained=Math.max(this._nDelay-t,0),this._clearTimer()},_excute:function(t,e){var n=this;this._clearTimer(),this._bIsRunning=!0,this._nTimer=setInterval(function(){if(n._nTimer){n.fireEvent("run");var t=n._fRun();if(n._nLatest=n._getTime(),!t)return clearInterval(n._nTimer),n._nTimer=null,n._bIsRunning=!1,void n.fireEvent("end");n.fireEvent("wait"),e&&n._excute(n._nDelay,!1)}},t)},resume:function(){return!this._fRun||this.isRunning()?!1:(this._bIsRunning=!0,this.fireEvent("wait"),this._excute(this._nRemained,!0),this._nRemained=0,!0)}}).extend(jindo.Component),jindo.Transition=jindo.$Class({_nFPS:30,_aTaskQueue:null,_oTimer:null,_bIsWaiting:!0,_bIsPlaying:!1,$init:function(t){this._aTaskQueue=[],this._oTimer=new jindo.Timer,this.option({fEffect:jindo.Effect.linear,bCorrection:!1}),this.option(t||{})},fps:function(t){return arguments.length>0?(this._nFPS=t,this):this._nFPS},isPlaying:function(){return this._bIsPlaying},abort:function(){return this._aTaskQueue=[],this._oTimer.abort(),this._bIsPlaying&&this.fireEvent("abort"),this._bIsWaiting=!0,this._bIsPlaying=!1,this._htTaskToDo=null,this},start:function(t,e,n){return arguments.length>0&&this.queue.apply(this,arguments),this._prepareNextTask(),this},queue:function(t,e){var n;if("function"==typeof arguments[0])n={sType:"function",fTask:arguments[0]};else{var i=[];arguments.length;if(arguments[1]instanceof Array)i=arguments[1];else{var s=[];jindo.$A(arguments).forEach(function(t,e){e>0&&(s.push(t),e%2==0&&(i.push(s.concat()),s=[]))})}n={sType:"task",nDuration:t,aList:[]};for(var a=0;a<i.length;a++){var o,r=[],h=i[a][1];for(var l in h)o=h[l],/^(@|style\.)(\w+)/i.test(l)?r.push(["style",RegExp.$2,o]):r.push(["attr",l,o]);n.aList.push({elTarget:i[a][0],aValue:r})}}return this._queueTask(n),this},pause:function(){return this._oTimer.abort()&&this.fireEvent("pause"),this},resume:function(){if(this._htTaskToDo){this._bIsWaiting===!1&&this._bIsPlaying===!0&&this.fireEvent("resume"),this._doTask(),this._bIsWaiting=!1,this._bIsPlaying=!0;var t=this;this._oTimer.start(function(){var e=!t._doTask();return e&&(t._bIsWaiting=!0,setTimeout(function(){t._prepareNextTask()},0)),!e},this._htTaskToDo.nInterval)}return this},precede:function(t,e,n){return this.start.apply(this,arguments),this},sleep:function(t,e){return"undefined"==typeof e&&(e=function(){}),this._queueTask({sType:"sleep",nDuration:t,fCallback:e}),this._prepareNextTask(),this},_queueTask:function(t){this._aTaskQueue.push(t)},_dequeueTask:function(){var t=this._aTaskQueue.shift();if(t){if("task"==t.sType)for(var e=t.aList,n=0,i=e.length;i>n;n++)for(var s=e[n].elTarget,a=0,o=e[n].aValue,r=o.length;r>a;a++){var h=o[a][0],l=o[a][2];if("function"!=typeof l&&(l=l instanceof Array?this.option("fEffect")(l[0],l[1]):this.option("fEffect")(l)),l.setStart)if(this._isHTMLElement(s)){var u=jindo.$Element(s);switch(h){case"style":l.setStart(u.css(o[a][1]));break;case"attr":l.setStart(u.$value()[o[a][1]])}}else l.setStart(s.getter(o[a][1]));o[a][2]=l}return t}return null},_prepareNextTask:function(){if(this._bIsWaiting){var t=this._dequeueTask();if(t)switch(t.sType){case"task":this._bIsPlaying||this.fireEvent("start");var e=1e3/this._nFPS,n=e/t.nDuration;this._htTaskToDo={aList:t.aList,nRatio:0,nInterval:e,nGap:n,nStep:0,nTotalStep:Math.ceil(t.nDuration/e)},this.resume();break;case"function":this._bIsPlaying||this.fireEvent("start"),t.fTask(),this._prepareNextTask();break;case"sleep":this._bIsPlaying&&(this.fireEvent("sleep",{nDuration:t.nDuration}),t.fCallback());var i=this;setTimeout(function(){i.fireEvent("awake"),i._prepareNextTask()},t.nDuration)}else this._bIsPlaying&&(this._bIsPlaying=!1,this.abort(),this.fireEvent("end"))}},_isHTMLElement:function(t){return"tagName"in t},_doTask:function(){for(var t=this._htTaskToDo,e=parseFloat(t.nRatio.toFixed(5),1),n=t.nStep,i=t.nTotalStep,s=t.aList,a={},o=this.option("bCorrection"),r=0,h=s.length;h>r;r++)for(var l=s[r].elTarget,u=0,c=s[r].aValue,f=c.length;f>u;u++){var d=c[u][0],_=c[u][1],g=c[u][2](e);if(this._isHTMLElement(l)){var p=jindo.$Element(l);if(o){var v=/^[0-9]*([^0-9]*)$/.test(g)&&RegExp.$1||"";if(v){var m,E=parseFloat(g);E+=a[_]||0,E=parseFloat(E.toFixed(5)),r==h-1?g=Math.round(E)+v:(m=parseFloat(/(\.[0-9]+)$/.test(E)&&RegExp.$1||0),g=parseInt(E,10)+v,a[_]=m)}}switch(d){case"style":p.css(_,g);break;case"attr":p.$value()[_]=g}}else l.setter(_,g);this._bIsPlaying&&this.fireEvent("playing",{element:l,sKey:_,sValue:g,nStep:n,nTotalStep:i})}return t.nRatio=Math.min(t.nRatio+t.nGap,1),t.nStep+=1,1!=e}}).extend(jindo.Component),function(){var t=jindo.$Element.prototype.css;jindo.$Element.prototype.css=function(e,n){return"opacity"==e?"undefined"!=typeof n?this.opacity(parseFloat(n)):this.opacity():"undefined"!=typeof n?t.call(this,e,n):t.call(this,e)}}(),jindo.Effect=function(t){if(this instanceof arguments.callee)throw new Error("You can't create a instance of this");var e=/^(\-?[0-9\.]+)(%|px|pt|em)?$/,n=/^rgb\(([0-9]+)\s?,\s?([0-9]+)\s?,\s?([0-9]+)\)$/i,i=/^#([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i,s=/^#([0-9A-F])([0-9A-F])([0-9A-F])$/i,a=function(t){var a,o=t;return e.test(t)?(o=parseFloat(t),a=RegExp.$2):n.test(t)?(o=[parseInt(RegExp.$1,10),parseInt(RegExp.$2,10),parseInt(RegExp.$3,10)],a="color"):i.test(t=t.replace(s,"#$1$1$2$2$3$3"))&&(o=[parseInt(RegExp.$1,16),parseInt(RegExp.$2,16),parseInt(RegExp.$3,16)],a="color"),{nValue:o,sUnit:a}};return function(e,n){var i;if(arguments.length>1?(e=a(e),n=a(n),i=n.sUnit):(n=a(e),e=null,i=n.sUnit),e&&n&&e.sUnit!=n.sUnit)throw new Error("unit error");e=e&&e.nValue,n=n&&n.nValue;var s=function(s){var a=t(s),o=function(t,e){return(e-t)*a+t+i};if("color"==i){var r=parseInt(o(e[0],n[0]),10)<<16;r|=parseInt(o(e[1],n[1]),10)<<8,r|=parseInt(o(e[2],n[2]),10),
+r=r.toString(16).toUpperCase();for(var h=0;6-r.length;h++)r="0"+r;return"#"+r}return o(e,n)};return null===e&&(s.setStart=function(t){if(t=a(t),t.sUnit!=i)throw new Error("unit eror");e=t.nValue}),s}},jindo.Effect.linear=jindo.Effect(function(t){return t}),jindo.Effect.easeIn=jindo.Effect(function(t){return 1-Math.sqrt(1-t*t)}),jindo.Effect.easeOut=jindo.Effect(function(t){return Math.sqrt((2-t)*t)}),jindo.Effect.bounce=jindo.Effect(function(t){return 1/2.75>t?7.5625*t*t:2/2.75>t?7.5625*(t-=1.5/2.75)*t+.75:2.5/2.75>t?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}),jindo.Effect._cubicBezier=function(t,e,n,i){return function(s){function a(t){return((u*t+l)*t+h)*t}function o(t){return((d*t+f)*t+c)*t}function r(t,e){for(var n,i,s=0,o=1,r=t,c=0;8>c;c++){if(n=a(r)-t,Math.abs(n)<e)return r;if(i=(3*u*r+2*l)*r+h,Math.abs(i)<1e-6)break;r-=n/i}if(s>r)return s;if(r>o)return o;for(;o>s;){if(n=a(r),Math.abs(n-t)<e)return r;t>n?s=r:o=r,r=.5*(o-s)+s}return r}var h=3*t,l=3*(n-t)-h,u=1-h-l,c=3*e,f=3*(i-e)-c,d=1-c-f;return o(r(s,.001))}},jindo.Effect.cubicBezier=function(t,e,n,i){return jindo.Effect(jindo.Effect._cubicBezier(t,e,n,i))},jindo.Effect.overphase=jindo.Effect.cubicBezier(.25,.75,.8,1.3),jindo.Effect.easeInOut=jindo.Effect.cubicBezier(.75,0,.25,1),jindo.Effect.easeOutIn=jindo.Effect.cubicBezier(.25,.75,.75,.25),jindo.Effect.cubicEase=jindo.Effect.cubicBezier(.25,.1,.25,1),jindo.Effect.cubicEaseIn=jindo.Effect.cubicBezier(.42,0,1,1),jindo.Effect.cubicEaseOut=jindo.Effect.cubicBezier(0,0,.58,1),jindo.Effect.cubicEaseInOut=jindo.Effect.cubicBezier(.42,0,.58,1),jindo.Effect.cubicEaseOutIn=jindo.Effect.cubicBezier(0,.42,1,.58),jindo.Effect.pulse=function(t){return jindo.Effect(function(e){return-Math.cos(e*(t-.5)*2*Math.PI)/2+.5})},jindo.FileUploader=jindo.$Class({_bIsActivating:!1,_aHiddenInput:[],$init:function(t,e){var n={sUrl:"",sCallback:"",htData:{},sFiletype:"*",sMsgNotAllowedExt:"업로드가 허용되지 않는 파일형식입니다",bAutoUpload:!1,bAutoReset:!0,bActivateOnload:!0};this.option(n),this.option(e||{}),this._el=jindo.$(t),this._wel=jindo.$Element(this._el),this._elForm=this._el.form,this._aHiddenInput=[],this.constructor._oCallback={},this._wfChange=jindo.$Fn(this._onFileSelectChange,this),this._sFunctionName=null,this.option("bActivateOnload")&&this.activate()},_appendIframe:function(){var t="tmpFrame_"+this._makeUniqueId();this._welIframe=jindo.$Element(jindo.$('<iframe name="'+t+'" src="">')).css({position:"absolute",width:"1px",height:"1px",left:"-100px",top:"-100px"}),document.body.appendChild(this._welIframe.$value())},_removeIframe:function(){this._welIframe&&this._welIframe.leave()},getBaseElement:function(){return this.getFileSelect()},getFileSelect:function(){return this._el},getFormElement:function(){return this._elForm},upload:function(){this._appendIframe();var t=this.getFormElement(),e=jindo.$Element(t),n=this._welIframe.attr("name"),i=this._sFunctionName=n+"_func",s=this.option("sUrl");e.attr({target:n,action:s}),this._aHiddenInput.push(this._createElement("input",{type:"hidden",name:"callback",value:this.option("sCallback")})),this._aHiddenInput.push(this._createElement("input",{type:"hidden",name:"callback_func",value:i}));for(var a in this.option("htData"))this._aHiddenInput.push(this._createElement("input",{type:"hidden",name:a,value:this.option("htData")[a]}));for(var o=0;o<this._aHiddenInput.length;o++)t.appendChild(this._aHiddenInput[o]);this.constructor._oCallback[i+"_success"]=jindo.$Fn(function(t){this.option("bAutoReset")&&this.reset(),this._revertFormAttr(),this.fireEvent("success",{htResult:t}),this._clear()},this).bind(),this.constructor._oCallback[i+"_error"]=jindo.$Fn(function(t){this.option("bAutoReset")&&this.reset(),this._revertFormAttr(),this.fireEvent("error",{htResult:t}),this._clear()},this).bind(),t.submit()},reset:function(){var t=jindo.$("<form>");this._wel.wrap(t),t.reset(),jindo.$Element(t).replace(this._el);var e=jindo.$Agent().navigator();if(e.ie&&e.version<=10){var n=this.getFormElement();n.type="radio",n.type="file"}return this._clear(),this},_revertFormAttr:function(){var t=this.getFormElement(),e=jindo.$Element(t);e.attr({target:this._sPrevTarget,action:this._sAction})},_onActivate:function(){var t=this.getFormElement(),e=jindo.$Element(t);this._sPrevTarget=e.attr("target"),this._sAction=e.attr("action"),this._el.value="",this._wfChange.attach(this._el,"change")},_onDeactivate:function(){this._wfChange.detach(this._el,"change")},_makeUniqueId:function(){return(new Date).getMilliseconds()+Math.floor(1e5*Math.random())},_createElement:function(t,e){var n=jindo.$("<"+t+">"),i=jindo.$Element(n);for(var s in e)i.attr(s,e[s]);return n},_checkExtension:function(t){for(var e,n=this.option("sFiletype").split(";"),i=0;i<n.length;i++)if(e="*.*"==n[i]?"*":n[i],e=e.replace(/^\s+|\s+$/,""),e=e.replace(/\./g,"\\."),e=e.replace(/\*/g,"[^\\/]+"),new RegExp(e+"$","gi").test(t))return!0;return!1},_onFileSelectChange:function(t){var e=t.element.value,n=this._checkExtension(e),i={sValue:e,bAllowed:n,sMsgNotAllowedExt:this.option("sMsgNotAllowedExt")};e.length&&this.fireEvent("select",i)&&(n?this.option("bAutoUpload")&&this.upload():alert(i.sMsgNotAllowedExt))},_clear:function(){null!=this._sFunctionName&&(delete this.constructor._oCallback[this._sFunctionName+"_success"],delete this.constructor._oCallback[this._sFunctionName+"_error"],this._sFunctionName=null);for(var t=0,e=this._aHiddenInput.length;e>t;t++)jindo.$Element(this._aHiddenInput[t]).leave();this._aHiddenInput.length=0,this._removeIframe()}}).extend(jindo.UIComponent),jindo.MultipleAjaxRequest=jindo.$Class({_bIsRequesting:!1,$init:function(t){var e={sMode:"parallel"};this.option(e),this.option(t)},isRequesting:function(){return this._bIsRequesting},request:function(t,e){if(this.isRequesting())return!1;switch(t instanceof Array||(t=[t]),"undefined"==typeof e&&(e={}),this._htMetaData=e,this.option("sMode")){case"parallel":this._parallelRequest(t);break;case"serial":this._serialRequest(t);break;default:return!1}return!0},_fireEventStart:function(){return this._bIsRequesting=!0,this.fireEvent("start",{aAjax:this._aAjax,htMetaData:this._htMetaData})?!0:(this.abort(),!1)},_fireEventBeforeEachRequest:function(t){return this.fireEvent("beforeEachRequest",{oAjax:this._aAjax[t],nIndex:t})?!0:(this.abort(),!1)},_fireEventAfterEachResponse:function(t){return this.fireEvent("afterEachResponse",{oAjax:this._aAjax[t],nIndex:t})?!0:(this.abort(),!1)},_parallelRequest:function(t){if(this._aAjaxData=t,this._aAjax=[],this._aStatus=[],this._aStatus.length=t.length,this._aResponse=[],this._fireEventStart()){var e=this;jindo.$A(this._aAjaxData).forEach(function(t,n){var i=function(t){t._constructor=e._aAjax[n];var i=e._findAjaxObjectIndexOfResponse(t._constructor);e._aResponse[i]=t,e._aStatus[i]=!0,e._fireEventAfterEachResponse(i)&&e._hasCompletedGotResponsesOfParallelResponses()&&e._complete()};e._aAjax.push(jindo.$Ajax(t.sUrl,t.htOption)),t.htOption.onload=i,t.htOption.onerror=i,t.htOption.ontimeout=i,e._aAjax[n].option(t.htOption),e._fireEventBeforeEachRequest(n)?e._aAjax[n].request(t.htParameter):jindo.$A.Break()})}},_findAjaxObjectIndexOfResponse:function(t){return jindo.$A(this._aAjax).indexOf(t)},_hasCompletedGotResponsesOfParallelResponses:function(){var t=!0;return jindo.$A(this._aStatus).forEach(function(e){e||(t=!1,jindo.$A.Break())}),t},_serialRequest:function(t){this._aAjaxData=t,this._aAjax=[],this._aStatus=[],this._aStatus.length=t.length,this._aResponse=[];var e=this;jindo.$A(this._aAjaxData).forEach(function(t,n){var i=function(t){t._constructor=e._aAjax[n],e._aResponse.push(t),e._serialRequestNext()};e._aAjax.push(jindo.$Ajax(t.sUrl,t.htOption)),t.htOption.onload=i,t.htOption.onerror=i,t.htOption.ontimeout=i,e._aAjax[n].option(t.htOption)}),this._fireEventStart()&&this._fireEventBeforeEachRequest(0)&&(this._aAjax[0].request(this._aAjaxData[0].htParameter),this._aStatus[0]=!0)},_serialRequestNext:function(){for(var t=-1,e=0;e<this._aStatus.length;e++)if(!this._aStatus[e]){this._aStatus[e]=!0,t=e;break}t>0?this._fireEventAfterEachResponse(t-1)&&this._fireEventBeforeEachRequest(t)&&this._aAjax[t].request(this._aAjaxData[t].htParameter):-1==t&&this._fireEventAfterEachResponse(this._aStatus.length-1)&&this._complete()},_reset:function(){this._aAjaxData.length=0,this._aAjax.length=0,this._aStatus.length=0,this._aResponse.length=0,this._htMetaData=null,delete this._aAjaxData,delete this._aAjax,delete this._aStatus,delete this._aResponse,delete this._htMetaData,this._bIsRequesting=!1},abort:function(){jindo.$A(this._aAjax).forEach(function(t){t.abort()}),this._reset()},_complete:function(){var t,e=this._aResponse.concat(),n={};for(t in this._htMetaData)n[t]=this._htMetaData[t];this._reset(),this.fireEvent("complete",{aResponse:e,htMetaData:n})}}).extend(jindo.Component),jindo.RolloverClick=jindo.$Class({$init:function(t,e){this.option({bActivateOnload:!0,sCheckEvent:"click",bCheckDblClick:!1,RolloverArea:{sClassName:"rollover",sClassPrefix:"rollover-",bCheckMouseDown:!1,bActivateOnload:!1,htStatus:{sOver:"over",sDown:"down"}}}),this.option(e||{});var n=this;this._oRolloverArea=new jindo.RolloverArea(t,this.option("RolloverArea")).attach({over:function(t){n.fireEvent("over",t)||t.stop()},out:function(t){n.fireEvent("out",t)||t.stop()}}),this._wfClick=jindo.$Fn(this._onClick,this),this._wfDblClick=jindo.$Fn(this._onClick,this),this.option("bActivateOnload")&&this.activate()},_onClick:function(t){var e=t.element,n="click";for("dblclick"==t.type&&(n=t.type);e=this._oRolloverArea._findRollover(e);)this.fireEvent(n,{element:e,htStatus:this._oRolloverArea.option("htStatus"),weEvent:t}),e=e.parentNode},_onActivate:function(){this._wfClick.attach(this._oRolloverArea._elArea,this.option("sCheckEvent")),this.option("bCheckDblClick")&&this._wfDblClick.attach(this._oRolloverArea._elArea,"dblclick"),this._oRolloverArea.activate()},_onDeactivate:function(){this._wfClick.detach(this._oRolloverArea._elArea,this.option("sCheckEvent")),this._wfDblClick.detach(this._oRolloverArea._elArea,"dblclick"),this._oRolloverArea.deactivate()}}).extend(jindo.UIComponent),jindo.Pagination=jindo.$Class({$init:function(t,e){this._elPageList=jindo.$(t),this._welPageList=jindo.$Element(this._elPageList),this._waPage=jindo.$A([]),this._fClickPage=jindo.$Fn(this._onClickPageList,this),this.option({bActivateOnload:!0,nItem:10,nItemPerPage:10,nPagePerPageList:10,nPage:1,sMoveUnit:"pagelist",bAlignCenter:!1,sInsertTextNode:"",sClassPrefix:"",sClassFirst:"first-child",sClassLast:"last-child",sPageTemplate:"<a href='#'>{=page}</a>",sCurrentPageTemplate:"<strong>{=page}</strong>",elFirstPageLinkOn:jindo.$$.getSingle("a."+this._wrapPrefix("pre_end"),this._elPageList),elPrevPageLinkOn:jindo.$$.getSingle("a."+this._wrapPrefix("pre"),this._elPageList),elNextPageLinkOn:jindo.$$.getSingle("a."+this._wrapPrefix("next"),this._elPageList),elLastPageLinkOn:jindo.$$.getSingle("a."+this._wrapPrefix("next_end"),this._elPageList),elFirstPageLinkOff:jindo.$$.getSingle("span."+this._wrapPrefix("pre_end"),this._elPageList),elPrevPageLinkOff:jindo.$$.getSingle("span."+this._wrapPrefix("pre"),this._elPageList),elNextPageLinkOff:jindo.$$.getSingle("span."+this._wrapPrefix("next"),this._elPageList),elLastPageLinkOff:jindo.$$.getSingle("span."+this._wrapPrefix("next_end"),this._elPageList)}),this.option(e||{}),this.option("bActivateOnload")&&this.activate()},option:function(t,e){var n=jindo.Component.prototype.option.apply(this,arguments);if("object"==typeof t||"undefined"!=typeof e){var i=this.option("sMoveUnit"),s=this.option("bAlignCenter");if(s&&"pageunit"===i)throw new Error('Invalid Option : sMoveUnit can\'t be set to "pageunit" when bAlignCenter is true.')}return n},_wrapPrefix:function(t){var e=this.option("sClassPrefix");return e?e+t.replace(/_/g,"-"):t},getBaseElement:function(){return this._elPageList},getItemCount:function(){return this.option("nItem")},setItemCount:function(t){this.option({nItem:t})},getItemPerPage:function(){return this.option("nItemPerPage")},setItemPerPage:function(t){this.option("nItemPerPage",t)},getCurrentPage:function(){return this._nCurrentPage},getFirstItemOfPage:function(t){return this.getItemPerPage()*(t-1)+1},getPageOfItem:function(t){return Math.ceil(t/this.getItemPerPage())},_getLastPage:function(){return Math.ceil(this.getItemCount()/this.getItemPerPage())},_getRelativePage:function(t){var e=null,n="page"==this.option("sMoveUnit"),i=this._getPageList(this.getCurrentPage());switch(t){case"pre_end":e=1;break;case"next_end":e=this._getLastPage();break;case"pre":e=n?this.getCurrentPage()-1:(i-1)*this.option("nPagePerPageList");break;case"next":e=n?this.getCurrentPage()+1:i*this.option("nPagePerPageList")+1}return e},_getPageList:function(t){if(this.option("bAlignCenter")){var e=Math.floor(this.option("nPagePerPageList")/2),n=t-e;return n=Math.max(n,1),n=Math.min(n,this._getLastPage())}return Math.ceil(t/this.option("nPagePerPageList"))},_isIn:function(t,e){return e?t===e?!0:jindo.$Element(t).isChildOf(e):!1},_getPageElement:function(t){for(var e=0,n=this._waPage.$value().length;n>e;e++){var i=this._waPage.get(e);if(this._isIn(t,i))return i}return null},_onClickPageList:function(t){t.stop(jindo.$Event.CANCEL_DEFAULT);var e=null,n=this.option(),i=t.element;if(this._isIn(i,n.elFirstPageLinkOn))e=this._getRelativePage("pre_end");else if(this._isIn(i,n.elPrevPageLinkOn))e=this._getRelativePage("pre");else if(this._isIn(i,n.elNextPageLinkOn))e=this._getRelativePage("next");else if(this._isIn(i,n.elLastPageLinkOn))e=this._getRelativePage("next_end");else{var s=this._getPageElement(i);if(!s)return;e=parseInt(jindo.$Element(s).text(),10)}this.fireEvent("click",{nPage:e,weEvent:t})&&this.movePageTo(e)},_convertToAvailPage:function(t){var e=this._getLastPage();return t=Math.max(t,1),t=Math.min(t,e)},movePageTo:function(t,e){"undefined"==typeof e&&(e=!0),t=this._convertToAvailPage(t),this._nCurrentPage=t,(!e||this.fireEvent("beforeMove",{nPage:t}))&&(this._paginate(t),e&&this.fireEvent("move",{nPage:t}))},reset:function(t){"undefined"==typeof t&&(t=this.option("nItem")),this.setItemCount(t),this.movePageTo(1,!1)},_onActivate:function(){jindo.$Element.prototype.preventTapHighlight&&this._welPageList.preventTapHighlight(!0),this._fClickPage.attach(this._elPageList,"click"),this.setItemCount(this.option("nItem")),this.movePageTo(this.option("nPage"),!1),this._welPageList.addClass(this._wrapPrefix("loaded"))},_onDeactivate:function(){jindo.$Element.prototype.preventTapHighlight&&this._welPageList.preventTapHighlight(!1),this._fClickPage.detach(this._elPageList,"click"),this._welPageList.removeClass(this._wrapPrefix("loaded"))},_addTextNode:function(){var t=this.option("sInsertTextNode");this._elPageList.appendChild(document.createTextNode(t))},_paginate:function(t){this._empty(),this._addTextNode();var e=this.option(),n=e.elFirstPageLinkOn,i=e.elPrevPageLinkOn,s=e.elNextPageLinkOn,a=e.elLastPageLinkOn,o=e.elFirstPageLinkOff,r=e.elPrevPageLinkOff,h=e.elNextPageLinkOff,l=e.elLastPageLinkOff,u=this._getLastPage(),c=this._getPageList(t),f=this._getPageList(u);0===u?this._welPageList.addClass(this._wrapPrefix("no-result")):1==u?this._welPageList.addClass(this._wrapPrefix("only-one")).removeClass(this._wrapPrefix("no-result")):this._welPageList.removeClass(this._wrapPrefix("only-one")).removeClass(this._wrapPrefix("no-result"));var d,_;if(e.bAlignCenter){var g=Math.floor(e.nPagePerPageList/2);d=t-g,d=Math.max(d,1),_=d+e.nPagePerPageList-1,_>u&&(d=u-e.nPagePerPageList+1,d=Math.max(d,1),_=u)}else d=(c-1)*e.nPagePerPageList+1,_=c*e.nPagePerPageList,_=Math.min(_,u);"page"==e.sMoveUnit&&(c=t,f=u),t>1?n&&(this._welPageList.append(n),this._addTextNode()):o&&(this._welPageList.append(o),this._addTextNode()),c>1?i&&(this._welPageList.append(i),this._addTextNode()):r&&(this._welPageList.append(r),this._addTextNode());for(var p,v,m=d;_>=m;m++)m==t?p=jindo.$(jindo.$Template(e.sCurrentPageTemplate).process({page:m.toString()})):(p=jindo.$(jindo.$Template(e.sPageTemplate).process({page:m.toString()})),this._waPage.push(p)),v=jindo.$Element(p),m==d&&v.addClass(this._wrapPrefix(this.option("sClassFirst"))),m==_&&v.addClass(this._wrapPrefix(this.option("sClassLast"))),this._welPageList.append(p),this._addTextNode();f>c?s&&(this._welPageList.append(s),this._addTextNode()):h&&(this._welPageList.append(h),this._addTextNode()),u>t?a&&(this._welPageList.append(a),this._addTextNode()):l&&(this._welPageList.append(l),this._addTextNode())},_empty:function(){var t=this.option();this.option({elFirstPageLinkOn:this._clone(t.elFirstPageLinkOn),elPrevPageLinkOn:this._clone(t.elPrevPageLinkOn),elNextPageLinkOn:this._clone(t.elNextPageLinkOn),elLastPageLinkOn:this._clone(t.elLastPageLinkOn),elFirstPageLinkOff:this._clone(t.elFirstPageLinkOff),elPrevPageLinkOff:this._clone(t.elPrevPageLinkOff),elNextPageLinkOff:this._clone(t.elNextPageLinkOff),elLastPageLinkOff:this._clone(t.elLastPageLinkOff)}),this._waPage.empty(),this._welPageList.empty()},_clone:function(t){return t&&t.cloneNode?t.cloneNode(!0):t}}).extend(jindo.UIComponent),jindo.DatePicker=jindo.$Class({_aDatePickerSet:[],_htSelectedDatePickerSet:null,$init:function(t,e){var n=new Date;this.htDefaultOption={bUseLayerPosition:!0,Calendar:{sClassPrefix:"calendar-",nYear:n.getFullYear(),nMonth:n.getMonth()+1,nDate:n.getDate(),sTitleFormat:"yyyy-mm",aMonthTitle:["JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC"]},LayerManager:{sCheckEvent:"click",nShowDelay:0,nHideDelay:0},LayerPosition:{sPosition:"outside-bottom",sAlign:"left",nTop:0,nLeft:0,bAuto:!1}},this.option(this.htDefaultOption),this.option(e),this._elCalendarLayer=jindo.$(t),this._initCalendar(),this._initLayerManager(),this._initLayerPosition(),this._wfFocusInput=jindo.$Fn(this._onFocusInput,this),this._wfClickLinkedElement=jindo.$Fn(this._onClickLinkedElement,this),this._wfMouseOverOutDate=jindo.$Fn(this._onMouseOverOutDate,this),this._wfClickDate=jindo.$Fn(this._onClickDate,this),this.activate()},addDatePickerSet:function(t){var e=(this.option(),this.getCalendar().option()),n={nYear:e.nYear,nMonth:e.nMonth,nDate:e.nDate,bDefaultSet:!0,bReadOnly:!0,sDateFormat:"yyyy-mm-dd",htSelectableDateFrom:{nYear:1900,nMonth:1,nDate:1},htSelectableDateTo:{nYear:2100,nMonth:12,nDate:31}};if("undefined"!=typeof t.htOption)for(var i in t.htOption)"undefined"!=typeof n[i]&&(n[i]=t.htOption[i]);t.htOption=n,this._aDatePickerSet.push(t);var s=this.getLayerManager();return"undefined"!=typeof t.elInput&&(s.link(t.elInput),t.htOption.bReadOnly&&(t.elInput.readOnly=!0),this._wfFocusInput.attach(t.elInput,"focus"),this._wfClickLinkedElement.attach(t.elInput,"click")),"undefined"!=typeof t.elButton&&(s.link(t.elButton),this._wfClickLinkedElement.attach(t.elButton,"click")),t.htOption.bDefaultSet&&this._setDate(t,t.htOption),this},removeDatePickerSet:function(t){for(var e=-1,n=0,i=this._aDatePickerSet.length;i>n;n++)if(this._aDatePickerSet[n].elInput==t.elInput||this._aDatePickerSet[n].elButton==t.elButton){e=n;break}var s=this._aDatePickerSet[e],a=this.getLayerManager();return"undefined"!=typeof s.elButton&&(a.unlink(s.elButton),this._wfClickLinkedElement.detach(s.elButton,"click")),"undefined"!=typeof s.elInput&&(this._wfFocusInput.detach(s.elInput,"focus"),this._wfClickLinkedElement.detach(s.elInput,"click"),s.elInput.readOnly=!1),s==this._htSelectedDatePickerSet&&(this._htSelectedDatePickerSet=null),this._aDatePickerSet.splice(n,1),this},getDatePickerSet:function(t){if("undefined"==typeof t)return this._aDatePickerSet;for(var e=0,n=this._aDatePickerSet.length;n>e;e++)if(this._aDatePickerSet[e].elInput==t||this._aDatePickerSet[e].elButton==t)return this._aDatePickerSet[e];return!1},getCalendarLayer:function(){return this._elCalendarLayer},_initCalendar:function(){var t=this;this._oCalendar=new jindo.Calendar(this.getCalendarLayer(),this.option("Calendar")).attach({beforeDraw:function(e){t.fireEvent("beforeDraw",e)||e.stop()},draw:function(e){var n=this.option("sClassPrefix"),i=t._htSelectedDatePickerSet;t.isSelectable(i,e)?(e.bSelectable=!0,jindo.Calendar.isSameDate(e,i)&&jindo.$Element(e.elDateContainer).addClass(n+"selected")):(e.bSelectable=!1,jindo.$Element(e.elDateContainer).addClass(this.option("sClassPrefix")+"unselectable")),t.fireEvent("draw",e)||e.stop()},afterDraw:function(e){t.fireEvent("afterDraw",e)}})},getCalendar:function(){return this._oCalendar},_initLayerManager:function(){var t=this,e=this.getCalendarLayer();this._oLayerManager=new jindo.LayerManager(e,this.option("LayerManager")).attach({hide:function(e){t._htSelectedDatePickerSet=null}}).link(e)},getLayerManager:function(){return this._oLayerManager},_initLayerPosition:function(){this.option("bUseLayerPosition")&&(this._oLayerPosition=new jindo.LayerPosition(null,this.getCalendarLayer(),this.option("LayerPosition")))},getLayerPosition:function(){return this._oLayerPosition},getInput:function(t){return t.elInput||null},setInput:function(t,e){this._setDate(t,e)},getDate:function(t){return{nYear:t.nYear,nMonth:t.nMonth,nDate:t.nDate}},_setDate:function(t,e){t.nYear=1*e.nYear,t.nMonth=1*e.nMonth,t.nDate=1*e.nDate,"undefined"!=typeof t.elInput&&(t.elInput.value=this._getDateFormat(t,e))},isSelectable:function(t,e){return jindo.Calendar.isBetween(e,t.htOption.htSelectableDateFrom,t.htOption.htSelectableDateTo)},setDate:function(t,e){if(this.isSelectable(t,e)){var n=this._getDateFormat(t,e),i={sText:n,nYear:e.nYear,nMonth:e.nMonth,nDate:e.nDate};return this.fireEvent("beforeSelect",i)&&(this._setDate(t,e),this.fireEvent("select",i)&&this.getLayerManager().hide()),!0}return!1},_getDateFormat:function(t,e){var n=e.nYear,i=e.nMonth,s=e.nDate;10>i&&(i=("0"+1*i).toString()),10>s&&(s=("0"+1*s).toString());var a=t.htOption.sDateFormat;return a=a.replace(/yyyy/g,n).replace(/y/g,n.toString().substr(2,2)).replace(/mm/g,i).replace(/m/g,1*i).replace(/M/g,this.getCalendar().option("aMonthTitle")[i-1]).replace(/dd/g,s).replace(/d/g,1*s)},_linkOnly:function(t){var e=this.getLayerManager();e.setLinks([this.getCalendarLayer()]),"undefined"!=typeof t.elInput&&e.link(t.elInput),"undefined"!=typeof t.elButton&&e.link(t.elButton)},_onActivate:function(){var t=this.getCalendarLayer();this._wfMouseOverOutDate.attach(t,"mouseover").attach(t,"mouseout"),this._wfClickDate.attach(t,"click"),this.getLayerManager().activate(),this.getCalendar().activate()},_onDeactivate:function(){var t=this.getCalendarLayer();this._wfMouseOverOutDate.detach(t,"mouseover").detach(t,"mouseout"),this._wfClickDate.detach(t,"click").detach(t,"mouseover").detach(t,"mouseout"),this.getLayerManager().deactivate(),this.getCalendar().deactivate()},attachEvent:function(){return this.activate()},detachEvent:function(){return this.deactivate()},addButton:function(){return this},_onFocusInput:function(t){this.fireEvent("focus")},_onClickLinkedElement:function(t){if(t.stop(jindo.$Event.CANCEL_DEFAULT),this.fireEvent("click",{element:t.element})){var e=this.getDatePickerSet(t.currentElement);if(e){this._htSelectedDatePickerSet=e,this._linkOnly(e),e.nYear||(e.nYear=e.htOption.nYear),e.nMonth||(e.nMonth=e.htOption.nMonth),e.nDate||(e.nDate=e.htOption.nDate);var n=e.nYear,i=e.nMonth;this.getCalendar().draw(n,i),this.getLayerManager().show(),this.option("bUseLayerPosition")&&("undefined"!=typeof e.elLayerPosition?this.getLayerPosition().setElement(e.elLayerPosition).setPosition():this.getLayerPosition().setElement(e.elInput).setPosition())}}},_getTargetDateElement:function(t){var e=this.getCalendar().option("sClassPrefix"),n=jindo.$Element(t).hasClass(e+"date")?t:jindo.$$.getSingle("."+e+"date",t);return!n||n!=t&&1!=n.length?null:n},_getTargetDateContainerElement:function(t){var e=this.getCalendar().option("sClassPrefix"),n=jindo.$$.getSingle("! ."+e+"week",t);if(n){for(var i=t;!jindo.$Element(i.parentNode).hasClass(e+"week");)i=i.parentNode;return jindo.$Element(i).hasClass(e+"unselectable")?null:i}return null},_onMouseOverOutDate:function(t){t.stop(jindo.$Event.CANCEL_DEFAULT);var e=this.getCalendar().option("sClassPrefix"),n=t.element,i=this._getTargetDateContainerElement(n);if(i){var s=this.getCalendar().getDateOfElement(i);if(this._htSelectedDatePickerSet&&this.isSelectable(this._htSelectedDatePickerSet,s)){if("mouseover"==t.type)return this._elSelected||(this._elSelected=jindo.$$.getSingle("."+e+"selected",this.elWeekAppendTarget),this._elSelected&&jindo.$Element(this._elSelected).removeClass(e+"selected")),void jindo.$Element(i).addClass(e+"over");if("mouseout"==t.type)return void jindo.$Element(i).removeClass(e+"over")}else this._elSelected&&(jindo.$Element(this._elSelected).addClass(e+"selected"),this._elSelected=null)}else this._elSelected&&(jindo.$Element(this._elSelected).addClass(e+"selected"),this._elSelected=null)},_onClickDate:function(t){t.stop(jindo.$Event.CANCEL_DEFAULT);var e=t.element,n=this._getTargetDateElement(e);if(n){var i=this._getTargetDateContainerElement(n);if(i){var s=this.getCalendar().getDateOfElement(i);this.isSelectable(this._htSelectedDatePickerSet,s)&&this.setDate(this._htSelectedDatePickerSet,s)}}}}).extend(jindo.UIComponent),jindo.StarRating=jindo.$Class({$init:function(t,e){var n={nStep:1,nMaxValue:10,nDefaultValue:0,bSnap:!1,bActivateOnload:!0};this.option(n),this.option(e||{}),this._el=jindo.$(t),this._wel=jindo.$Element(t),this._assignHTMLElements(),this._wfMouseMove=jindo.$Fn(this._onMouseMove,this),this._wfMouseLeave=jindo.$Fn(this._onMouseLeave,this),this._wfClick=jindo.$Fn(this._onClick,this),this.option("bActivateOnload")&&this.activate()},_assignHTMLElements:function(){this._elRatingElement=jindo.$$.getSingle("span",this.getBaseElement()),this._welRatingElement=jindo.$Element(this._elRatingElement)},getBaseElement:function(){return this._el},getRatingElement:function(){return this._elRatingElement},getValue:function(){return this._nValue},getValueByWidth:function(){return this._welRatingElement.width()/this._nBaseWidth*this.option("nMaxValue")},getValueToBeSet:function(t){return t=this._round(t,this.option("nStep")),t=Math.min(t,this.option("nMaxValue")),t=Math.max(t,0)},setValue:function(t,e){"undefined"==typeof e&&(e=!0);var n=this.option("nMaxValue");t=this.getValueToBeSet(t);var i=this._nBaseWidth*t/n;return i=Math.min(i,this._nBaseWidth),this._welRatingElement.width(i),this._nValue=t,e&&this.fireEvent("set",{nValue:this._nValue}),this},reset:function(){var t=this.option("nDefaultValue")||0;return this.setValue(t,!1),this},_round:function(t,e){var n,i,s=t,a=Math.floor(t),o=a+1,r=1;for(i=a;o>=i;i+=e)n=Math.abs(t-i),r>=n&&(r=n,s=i);return s.toFixed(Math.max(e.toString().length-2,0))},_onActivate:function(){var t=this.getBaseElement();this._wfMouseMove.attach(t,"mousemove"),this._wfMouseLeave.attach(t,"mouseleave"),this._wfClick.attach(t,"click"),this._nBaseWidth=this._wel.width(),this.reset()},_onDeactivate:function(){var t=this.getBaseElement();this._wfMouseMove.detach(t,"mousemove"),this._wfMouseLeave.detach(t,"mouseleave"),this._wfClick.detach(t,"click")},_onMouseMove:function(t){var e,n=t.pos(!0).offsetX+1,i=n>this._nBaseWidth?this._nBaseWidth:n;this.option("bSnap")&&(e=n/this._nBaseWidth*this.option("nMaxValue"),i=this._round(e,this.option("nStep"))*this._nBaseWidth/this.option("nMaxValue"),i=Math.min(i,this._nBaseWidth)),this._welRatingElement.css("width",i+"px"),e=this.getValueByWidth(),this.fireEvent("move",{nValue:e,nValueToBeSet:this.getValueToBeSet(e)})},_onMouseLeave:function(t){this.setValue(this._nValue,!1),this.fireEvent("out")},_onClick:function(t){this.setValue(this.getValueByWidth())}}).extend(jindo.UIComponent),jindo.DragArea=jindo.$Class({$init:function(t,e){this.option({sClassName:"draggable",bFlowOut:!0,bSetCapture:!0,nThreshold:0}),this.option(e||{}),this._el=t,this._bIE=jindo.$Agent().navigator().ie,this._htDragInfo={bIsDragging:!1,bPrepared:!1,bHandleDown:!1,bForceDrag:!1},this._wfOnMouseDown=jindo.$Fn(this._onMouseDown,this),this._wfOnMouseMove=jindo.$Fn(this._onMouseMove,this),this._wfOnMouseUp=jindo.$Fn(this._onMouseUp,this),this._wfOnDragStart=jindo.$Fn(this._onDragStart,this),this._wfOnSelectStart=jindo.$Fn(this._onSelectStart,this),this.activate()},_findDraggableElement:function(t){if(1===t.nodeType&&jindo.$$.test(t,"input[type=text], textarea, select"))return null;var e=this,n="."+this.option("sClassName"),i=function(t){return null===t?!1:e._el===document||e._el===t?!0:jindo.$Element(e._el).isParentOf(t)},s=jindo.$$.test(t,n)?t:jindo.$$.getSingle("! "+n,t);return i(s)||(s=null),s},isDragging:function(){var t=this._htDragInfo;return t.bIsDragging&&!t.bPrepared},stopDragging:function(){return this._stopDragging(!0),this},_stopDragging:function(t){if(this._wfOnMouseMove.detach(document,"mousemove"),this._wfOnMouseUp.detach(document,"mouseup"),this.isDragging()){var e=this._htDragInfo,n=jindo.$Element(e.elDrag);e.bIsDragging=!1,e.bForceDrag=!1,e.bPrepared=!1,this._bIE&&this._elSetCapture&&(this._elSetCapture.releaseCapture(),this._elSetCapture=null),this.fireEvent("dragEnd",{elArea:this._el,elHandle:e.elHandle,elDrag:e.elDrag,nX:parseInt(n.css("left"),10)||0,nY:parseInt(n.css("top"),10)||0,bInterupted:t})}},_onActivate:function(){this._wfOnMouseDown.attach(this._el,"mousedown"),this._wfOnDragStart.attach(this._el,"dragstart"),this._wfOnSelectStart.attach(this._el,"selectstart")},_onDeactivate:function(){this._wfOnMouseDown.detach(this._el,"mousedown"),this._wfOnDragStart.detach(this._el,"dragstart"),this._wfOnSelectStart.detach(this._el,"selectstart")},attachEvent:function(){this.activate()},detachEvent:function(){this.deactivate()},isEventAttached:function(){return this.isActivating()},startDragging:function(t){var e=this._findDraggableElement(t);return e?(this._htDragInfo.bForceDrag=!0,this._htDragInfo.bPrepared=!0,this._htDragInfo.elHandle=e,this._htDragInfo.elDrag=e,this._wfOnMouseMove.attach(document,"mousemove"),this._wfOnMouseUp.attach(document,"mouseup"),!0):!1},_onMouseDown:function(t){var e=t.mouse(!0);if(!e.left||e.right||e.scrollbar)return void this._stopDragging(!0);var n=this._findDraggableElement(t.element);if(n){var i=t.pos(),s=this._htDragInfo;s.bHandleDown=!0,s.bPrepared=!0,s.nButton=t._event.button,s.elHandle=n,s.elDrag=n,s.nPageX=i.pageX,s.nPageY=i.pageY,this.fireEvent("handleDown",{elHandle:n,elDrag:n,weEvent:t})&&this._wfOnMouseMove.attach(document,"mousemove"),this._wfOnMouseUp.attach(document,"mouseup"),t.stop(jindo.$Event.CANCEL_DEFAULT)}},_onMouseMove:function(t){var e,n,i=this._htDragInfo,s=t.pos(),a={nX:s.pageX-i.nPageX,nY:s.pageY-i.nPageY};if(i.bPrepared){var o=this.option("nThreshold"),r={};if(!i.bForceDrag&&o){r.nPageX=s.pageX-i.nPageX,r.nPageY=s.pageY-i.nPageY;var h=Math.sqrt(r.nPageX*r.nPageX+r.nPageY*r.nPageY);if(o>h)return}if(this._bIE&&this.option("bSetCapture")&&(this._elSetCapture=this._el===document?document.body:this._findDraggableElement(t.element),this._elSetCapture&&this._elSetCapture.setCapture(!1)),e={elArea:this._el,elHandle:i.elHandle,elDrag:i.elDrag,htDiff:r,weEvent:t},i.bIsDragging=!0,i.bPrepared=!1,!this.fireEvent("dragStart",e))return void(i.bPrepared=!0);var l=jindo.$Element(e.elDrag),u=l.offset();i.elHandle=e.elHandle,i.elDrag=e.elDrag,i.nX=parseInt(l.css("left"),10)||0,i.nY=parseInt(l.css("top"),10)||0,i.nClientX=u.left+l.width()/2,i.nClientY=u.top+l.height()/2}if(i.bForceDrag&&(a.nX=s.clientX-i.nClientX,a.nY=s.clientY-i.nClientY),e={elArea:this._el,elFlowOut:i.elDrag.parentNode,elHandle:i.elHandle,elDrag:i.elDrag,weEvent:t,nX:i.nX+a.nX,nY:i.nY+a.nY,nGapX:a.nX,nGapY:a.nY},this.fireEvent("beforeDrag",e)){var c=i.elDrag;if(this.option("bFlowOut")===!1){var f=e.elFlowOut,d=[c.offsetWidth,c.offsetHeight],_=0,g=0;if(f==document.body&&(f=null),f&&d[0]<=f.scrollWidth&&d[1]<=f.scrollHeight)n={nWidth:f.clientWidth,nHeight:f.clientHeight},_=f.scrollLeft,g=f.scrollTop;else{var p=jindo.$Document().clientSize();n={nWidth:p.width,nHeight:p.height}}null!==e.nX&&(e.nX=Math.max(e.nX,_),e.nX=Math.min(e.nX,n.nWidth-d[0]+_)),null!==e.nY&&(e.nY=Math.max(e.nY,g),e.nY=Math.min(e.nY,n.nHeight-d[1]+g))}null!==e.nX&&(c.style.left=e.nX+"px"),null!==e.nY&&(c.style.top=e.nY+"px"),
+this.fireEvent("drag",e)}else i.bIsDragging=!1},_onMouseUp:function(t){this._stopDragging(!1);var e=this._htDragInfo;e.bHandleDown=!1,this.fireEvent("handleUp",{weEvent:t,elHandle:e.elHandle,elDrag:e.elDrag})},_onDragStart:function(t){this._findDraggableElement(t.element)&&t.stop(jindo.$Event.CANCEL_DEFAULT)},_onSelectStart:function(t){(this.isDragging()||this._findDraggableElement(t.element))&&t.stop(jindo.$Event.CANCEL_DEFAULT)}}).extend(jindo.UIComponent),jindo.DefaultTextValue=jindo.$Class({$init:function(t,e){this.option({sValue:"",bActivateOnload:!0}),this.option(e||{}),this._elBaseTarget=jindo.$(t),this._wfOnFocusAndBlur=jindo.$Fn(this._onFocusAndBlur,this),this.option("bActivateOnload")&&this.activate()},getBaseElement:function(){return this._elBaseTarget},setDefault:function(){return this.getBaseElement().value=this.option("sValue"),this},setDefaultValue:function(t){var e=this.option("sValue");return this.option("sValue",t),this.getBaseElement().value==e&&this.setDefault(),this},getDefaultValue:function(){return this.option("sValue")},paint:function(){return this},_onActivate:function(){var t=this.getBaseElement();""==t.value&&this.setDefault(),this._wfOnFocusAndBlur.attach(t,"focus").attach(t,"blur")},_onDeactivate:function(){var t=this.getBaseElement();this._wfOnFocusAndBlur.detach(t,"focus").detach(t,"blur")},_onFocusAndBlur:function(t){var e=this._elBaseTarget,n=e.value;switch(t.type){case"focus":n==this.getDefaultValue()&&(e.value="",e.select());break;case"blur":""==jindo.$S(n).trim().$value()&&this.setDefault()}}}).extend(jindo.UIComponent),jindo.NumericStepper=jindo.$Class({_bIsOnFocus:!1,$init:function(t,e){this._el=jindo.$(t),this.option({sClassPrefix:"ns-",bActivateOnload:!0,bUseMouseWheel:!1,nStep:1,nDecimalPoint:0,nMin:-(1/0),nMax:1/0,nDefaultValue:0,bInputReadOnly:!0}),this.option(e||{}),this._assignHTMLElements(),this._initEventHandlers(),this.option("bActivateOnload")&&this.activate()},_assignHTMLElements:function(){var t=this.option("sClassPrefix");this._elInput=jindo.$$.getSingle("."+t+"input",this._el),this._elPlusButton=jindo.$$.getSingle("."+t+"plus",this._el),this._elMinusButton=jindo.$$.getSingle("."+t+"minus",this._el)},_initEventHandlers:function(){this._wfPlusClick=jindo.$Fn(this._onPlusClick,this),this._wfMinusClick=jindo.$Fn(this._onMinusClick,this),this._wfWheel=jindo.$Fn(this._onWheel,this),this._wfFocus=jindo.$Fn(this._onFocus,this),this._wfBlur=jindo.$Fn(this._onBlur,this)},reset:function(){this._elInput.value=this.option("nDefaultValue").toFixed(this.option("nDecimalPoint"))},getValue:function(){return parseFloat(this._elInput.value)},setValue:function(t){t=t.toFixed(this.option("nDecimalPoint"));var e=this.option("nMin"),n=this.option("nMax"),i={nValue:t,nMin:e,nMax:n};return t>n||e>t?void this.fireEvent("overLimit",i):void(this.fireEvent("beforeChange",i)&&(this._elInput.value=i.nValue,this.fireEvent("change",i)))},getBaseElement:function(){return this._el},getInputElement:function(){return this._elInput},getPlusElement:function(){return this._elPlusButton},getMinusElement:function(){return this._elMinusButton},isFocused:function(){return this._bIsOnFocus},_onActivate:function(){var t=this.getInputElement();this._wfPlusClick.attach(this.getPlusElement(),"click"),this._wfMinusClick.attach(this.getMinusElement(),"click"),this._wfFocus.attach(t,"focus"),this._wfBlur.attach(t,"blur"),this.option("bUseMouseWheel")&&this._wfWheel.attach(t,"mousewheel"),this._elInput.readOnly=this.option("bInputReadOnly"),this.reset()},_onDeactivate:function(){var t=this.getInputElement();this._wfPlusClick.detach(this.getPlusElement(),"click"),this._wfMinusClick.detach(this.getMinusElement(),"click"),this._wfInputClick.detach(t,"click"),this._wfFocus.detach(t,"focus"),this._wfBlur.detach(t,"blur"),this._wfWheel.detach(t,"mousewheel")},_onMinusClick:function(t){this.setValue(this.getValue()-this.option("nStep"))},_onPlusClick:function(t){this.setValue(this.getValue()+this.option("nStep"))},_onWheel:function(t){this.isFocused()&&(t.stop(jindo.$Event.CANCEL_DEFAULT),t.mouse().delta>0?this._onPlusClick():this._onMinusClick())},_onFocus:function(t){this._bIsOnFocus=!0},_onBlur:function(t){this._bIsOnFocus=!1,this.setValue(this.getValue()),this._elInput.readOnly=this.option("bInputReadOnly")}}).extend(jindo.UIComponent),jindo.LazyLoading={_waLoading:jindo.$A([]),_waLoaded:jindo.$A([]),_whtScript:jindo.$H({}),_whtCallback:jindo.$H({})},jindo.LazyLoading.load=function(t,e,n){if("function"!=typeof e&&(e=function(){}),this._queueCallback(t,e),this._checkIsLoading(t))return!1;if(this._checkAlreadyLoaded(t))return this._doCallback(t),!0;this._waLoading.push(t);var i=this,s=document.getElementsByTagName("head")[0],a=document.createElement("script");return a.type="text/javascript",a.charset=n||"utf-8",a.src=t,this._whtScript.add(t,a),"onload"in a?a.onload=function(){i._waLoaded.push(t),i._waLoading=i._waLoading.refuse(t),i._doCallback(t)}:a.onreadystatechange=function(){("complete"==this.readyState||"loaded"==this.readyState)&&(i._waLoaded.push(t),i._waLoading=i._waLoading.refuse(t),i._doCallback(t),this.onreadystatechange=null)},s.appendChild(a),!0},jindo.LazyLoading._queueCallback=function(t,e){var n=this._whtCallback.$(t);n?n.push(e):this._whtCallback.$(t,[e])},jindo.LazyLoading._doCallback=function(t){for(var e=this._whtCallback.$(t).concat(),n=0;n<e.length;n++)this._whtCallback.$(t).splice(n,1),e[n]()},jindo.LazyLoading.abort=function(t){if(this._checkIsLoading(t)){var e=this.getScriptElement(t);return this._waLoading=this._waLoading.refuse(t),"onload"in e?e.onload=null:e.onreadystatechange=null,jindo.$Element(e).leave(),this._whtScript.remove(t),this._whtCallback.remove(t),!0}return!1},jindo.LazyLoading._checkAlreadyLoaded=function(t){return this._waLoaded.has(t)},jindo.LazyLoading._checkIsLoading=function(t){return this._waLoading.has(t)},jindo.LazyLoading.getLoaded=function(){return this._waLoaded.$value()},jindo.LazyLoading.getLoading=function(){return this._waLoading.$value()},jindo.LazyLoading.getScriptElement=function(t){return this._whtScript.$(t)||null};(파일 끝에 줄바꿈 문자 없음)
 
client/smarteditor2-2.8.2.3/js/service/SE2BasicCreator.js (added)
+++ client/smarteditor2-2.8.2.3/js/service/SE2BasicCreator.js
@@ -0,0 +1,127 @@
+/*
+Copyright (C) NAVER corp.  
+
+This library is free software; you can redistribute it and/or  
+modify it under the terms of the GNU Lesser General Public  
+License as published by the Free Software Foundation; either  
+version 2.1 of the License, or (at your option) any later version.  
+
+This library is distributed in the hope that it will be useful,  
+but WITHOUT ANY WARRANTY; without even the implied warranty of  
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU  
+Lesser General Public License for more details.  
+
+You should have received a copy of the GNU Lesser General Public  
+License along with this library; if not, write to the Free Software  
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA  
+*/
+function createSEditor2(elIRField, htParams, elSeAppContainer){
+	if(!window.$Jindo){
+		parent.document.body.innerHTML="진도 프레임웍이 필요합니다.<br>\n<a href='http://dev.naver.com/projects/jindo/download'>http://dev.naver.com/projects/jindo/download</a>에서 Jindo 1.5.3 버전의 jindo.min.js를 다운로드 받아 /js 폴더에 복사 해 주세요.\n(아직 Jindo 2 는 지원하지 않습니다.)";
+		return;
+	}
+
+	var elAppContainer = (elSeAppContainer || jindo.$("smart_editor2"));	
+	var elEditingArea = jindo.$$.getSingle("DIV.husky_seditor_editing_area_container", elAppContainer);
+	var oWYSIWYGIFrame = jindo.$$.getSingle("IFRAME.se2_input_wysiwyg", elEditingArea);
+	var oIRTextarea = elIRField?elIRField:jindo.$$.getSingle("TEXTAREA.blind", elEditingArea);
+	var oHTMLSrc = jindo.$$.getSingle("TEXTAREA.se2_input_htmlsrc", elEditingArea);
+	var oTextArea = jindo.$$.getSingle("TEXTAREA.se2_input_text", elEditingArea);
+	
+	if(!htParams){ 
+		htParams = {}; 
+		htParams.fOnBeforeUnload = null;
+	}
+	htParams.elAppContainer = elAppContainer;												// 에디터 UI 최상위 element 셋팅 
+	htParams.oNavigator = jindo.$Agent().navigator();										// navigator 객체 셋팅
+	htParams.I18N_LOCALE = htParams.I18N_LOCALE || "ko_KR";
+
+	var oEditor = new nhn.husky.HuskyCore(htParams);
+	oEditor.registerPlugin(new nhn.husky.CorePlugin(htParams?htParams.fOnAppLoad:null));	
+	oEditor.registerPlugin(new nhn.husky.StringConverterManager());
+	if(htParams.bSkipXssFilter !== true){
+		// 보안 필터링 플러그인 (TODO:소스분리 및 블랙리스트 옵션 추가)
+		oEditor.registerPlugin({
+			_rxFilter:/<\/*(?:applet|b(?:ase|gsound|link)|embed|frame(?:set)?|i(?:frame|layer)|l(?:ayer|ink)|meta|object|s(?:cript|tyle)|title|xml)[^>]*?>/gi,
+			$ON_REGISTER_CONVERTERS : function() {
+				var fXssFilter = jindo.$Fn(function(sHtml){
+					return sHtml.replace(this._rxFilter, "");
+				}, this).bind();
+				this.oApp.exec("ADD_CONVERTER",["HTMLSrc_TO_IR", fXssFilter]);
+				this.oApp.exec("ADD_CONVERTER",["IR_TO_DB", fXssFilter]);
+			}
+		});
+	}
+
+	var htDimension = {
+		nMinHeight:205,
+		nMinWidth:parseInt(elIRField.style.minWidth, 10)||570,
+		nHeight:elIRField.style.height||elIRField.offsetHeight,
+		nWidth:elIRField.style.width||elIRField.offsetWidth
+	};
+	
+	var htConversionMode = {
+		bUseVerticalResizer : htParams.bUseVerticalResizer,
+		bUseModeChanger : htParams.bUseModeChanger
+	};
+	
+	var aAdditionalFontList = htParams.aAdditionalFontList;
+	
+	oEditor.registerPlugin(new nhn.husky.SE_EditingAreaManager("WYSIWYG", oIRTextarea, htDimension,  htParams.fOnBeforeUnload, elAppContainer));
+	oEditor.registerPlugin(new nhn.husky.SE_EditingArea_WYSIWYG(oWYSIWYGIFrame));			// Tab Editor 모드
+	oEditor.registerPlugin(new nhn.husky.SE_EditingArea_HTMLSrc(oHTMLSrc));					// Tab HTML 모드
+	oEditor.registerPlugin(new nhn.husky.SE_EditingArea_TEXT(oTextArea));					// Tab Text 모드
+	oEditor.registerPlugin(new nhn.husky.SE2M_EditingModeChanger(elAppContainer, htConversionMode));	// 모드간 변경(Editor, HTML, Text)
+	oEditor.registerPlugin(new nhn.husky.SE_PasteHandler()); 								// WYSIWYG Paste Handler
+	
+	oEditor.registerPlugin(new nhn.husky.HuskyRangeManager(oWYSIWYGIFrame));
+	oEditor.registerPlugin(new nhn.husky.Utils());
+	oEditor.registerPlugin(new nhn.husky.SE2M_UtilPlugin());
+	oEditor.registerPlugin(new nhn.husky.SE_WYSIWYGStyler());
+	oEditor.registerPlugin(new nhn.husky.SE2M_Toolbar(elAppContainer));
+	
+	oEditor.registerPlugin(new nhn.husky.Hotkey());											// 단축키
+	oEditor.registerPlugin(new nhn.husky.SE_EditingAreaVerticalResizer(elAppContainer, htConversionMode));	// 편집영역 리사이즈
+	oEditor.registerPlugin(new nhn.husky.DialogLayerManager());
+	oEditor.registerPlugin(new nhn.husky.ActiveLayerManager());
+	oEditor.registerPlugin(new nhn.husky.SE_WYSIWYGStyleGetter());							// 커서 위치 스타일 정보 가져오기
+
+	oEditor.registerPlugin(new nhn.husky.SE_WYSIWYGEnterKey("P"));							// 엔터 시 처리, 현재는 P로 처리
+	
+	oEditor.registerPlugin(new nhn.husky.SE2M_ColorPalette(elAppContainer));				// 색상 팔레트
+	oEditor.registerPlugin(new nhn.husky.SE2M_FontColor(elAppContainer));					// 글자색
+	oEditor.registerPlugin(new nhn.husky.SE2M_BGColor(elAppContainer));						// 글자배경색
+	oEditor.registerPlugin(new nhn.husky.SE2M_FontNameWithLayerUI(elAppContainer, aAdditionalFontList));	// 글꼴종류
+	oEditor.registerPlugin(new nhn.husky.SE2M_FontSizeWithLayerUI(elAppContainer));			// 글꼴크기
+	
+	oEditor.registerPlugin(new nhn.husky.SE2M_LineStyler());								 
+	oEditor.registerPlugin(new nhn.husky.SE2M_ExecCommand(oWYSIWYGIFrame));
+	oEditor.registerPlugin(new nhn.husky.SE2M_LineHeightWithLayerUI(elAppContainer));		// 줄간격	
+
+	oEditor.registerPlugin(new nhn.husky.SE2M_Quote(elAppContainer));						// 인용구
+	oEditor.registerPlugin(new nhn.husky.SE2M_Hyperlink(elAppContainer));					// 링크
+	oEditor.registerPlugin(new nhn.husky.SE2M_SCharacter(elAppContainer));					// 특수문자
+	oEditor.registerPlugin(new nhn.husky.SE2M_FindReplacePlugin(elAppContainer));			// 찾기/바꾸기
+	oEditor.registerPlugin(new nhn.husky.SE2M_TableCreator(elAppContainer));				// 테이블 생성
+	oEditor.registerPlugin(new nhn.husky.SE2M_TableEditor(elAppContainer));					// 테이블 편집
+	oEditor.registerPlugin(new nhn.husky.SE2M_TableBlockStyler(elAppContainer));			// 테이블 스타일
+	// oEditor.registerPlugin(new nhn.husky.SE_QuickEditor_Image(elAppContainer));			// 이미지 퀵에디터 - 230427 방선주 추가
+	if(nhn.husky.SE2M_AttachQuickPhoto){
+		oEditor.registerPlugin(new nhn.husky.SE2M_AttachQuickPhoto(elAppContainer));			// 사진			
+	}
+
+	oEditor.registerPlugin(new nhn.husky.MessageManager(oMessageMap, htParams.I18N_LOCALE));
+	oEditor.registerPlugin(new nhn.husky.SE2M_QuickEditor_Common(elAppContainer));			// 퀵에디터 공통(표, 이미지)
+	
+	oEditor.registerPlugin(new nhn.husky.SE2B_CSSLoader());									// CSS lazy load
+	if(window.frameElement){
+		oEditor.registerPlugin(new nhn.husky.SE_OuterIFrameControl(elAppContainer, 100));
+	}
+	
+	oEditor.registerPlugin(new nhn.husky.SE_ToolbarToggler(elAppContainer, htParams.bUseToolbar));
+	oEditor.registerPlugin(new nhn.husky.SE2M_Accessibility(elAppContainer, htParams.I18N_LOCALE));	// 에디터내의 웹접근성 관련 기능모음 플러그인
+	
+	// oEditor.registerPlugin(new nhn.husky.SE2M_Configuration.SE2M_Videolink(elAppContainer));					// 영상 링크 ( 추가  ) 
+	oEditor.registerPlugin(new nhn.husky.SE2M_Videolink(elAppContainer));
+	return oEditor;
+}(파일 끝에 줄바꿈 문자 없음)
 
client/smarteditor2-2.8.2.3/js/service/SE2M_Configuration.js (added)
+++ client/smarteditor2-2.8.2.3/js/service/SE2M_Configuration.js
@@ -0,0 +1,60 @@
+/*
+ * Smart Editor 2 Configuration : This setting must be changed by service
+ */
+window.nhn = window.nhn || {};
+nhn.husky = nhn.husky || {};
+nhn.husky.SE2M_Configuration = nhn.husky.SE2M_Configuration || {};
+
+/**
+ * CSS LazyLoad를 위한 경로
+ */
+nhn.husky.SE2M_Configuration.SE2B_CSSLoader = {
+	sCSSBaseURI : "css"
+};
+
+/**
+ * 편집영역 설정
+ */
+nhn.husky.SE2M_Configuration.SE_EditingAreaManager = {
+	sCSSBaseURI : "css",					// smart_editor2_inputarea.html 파일의 상대경로
+	sBlankPageURL : "smart_editor2_inputarea.html",
+	sBlankPageURL_EmulateIE7 : "smart_editor2_inputarea_ie8.html",
+	aAddtionalEmulateIE7 : [] // IE8 default 사용, IE9 ~ 선택적 사용
+};
+
+/**
+ * [웹접근성]
+ * 단축키 ALT+,  ALT+. 을 이용하여 스마트에디터 영역의 이전/이후 요소로 이동할 수 있다.
+ * 		sBeforeElementId : 스마트에디터 영역 이전 요소의 id
+ * 		sNextElementId : 스마트에디터 영역 이후 요소의 id 
+ * 
+ * 스마트에디터 영역 이외의 제목 영역 (예:스마트에디터가 적용된 블로그 쓰기 페이지에서의 제목 영역) 에 해당하는 엘리먼트에서 Tab키를 누르면 에디팅 영역으로 포커스를 이동시킬 수 있다.
+ * 		sTitleElementId : 제목에 해당하는 input 요소의 id. 
+ */
+nhn.husky.SE2M_Configuration.SE2M_Accessibility = {
+    sBeforeElementId : '',
+    sNextElementId : '',
+    sTitleElementId : ''
+};
+
+/**
+ * 링크 기능 옵션
+ */
+nhn.husky.SE2M_Configuration.SE2M_Hyperlink = {
+	bAutolink : true	// 자동링크기능 사용여부(기본값:true)
+};
+
+nhn.husky.SE2M_Configuration.Quote = {
+	sImageBaseURL : 'http://static.se2.naver.com/static/img'
+};
+
+nhn.husky.SE2M_Configuration.SE2M_ColorPalette = {
+	bUseRecentColor : false
+};
+
+/**
+ * 영상 링크 옵션 ( 추가 )
+ */
+nhn.husky.SE2M_Videolink = {
+	bAutolink : true	// 자동링크기능 사용여부(기본값:true)
+};(파일 끝에 줄바꿈 문자 없음)
 
client/smarteditor2-2.8.2.3/js/smarteditor2.js (added)
+++ client/smarteditor2-2.8.2.3/js/smarteditor2.js
This file is too big to display.
 
client/smarteditor2-2.8.2.3/js/smarteditor2.min.js (added)
+++ client/smarteditor2-2.8.2.3/js/smarteditor2.min.js
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/readme.txt (added)
+++ client/smarteditor2-2.8.2.3/readme.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/release_notes.txt (added)
+++ client/smarteditor2-2.8.2.3/release_notes.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/js/plugin/hp_SE2M_AttachQuickPhoto.js (added)
+++ client/smarteditor2-2.8.2.3/sample/js/plugin/hp_SE2M_AttachQuickPhoto.js
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/photo_uploader/attach_photo.js (added)
+++ client/smarteditor2-2.8.2.3/sample/photo_uploader/attach_photo.js
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/photo_uploader/callback.html (added)
+++ client/smarteditor2-2.8.2.3/sample/photo_uploader/callback.html
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/photo_uploader/file_uploader.php (added)
+++ client/smarteditor2-2.8.2.3/sample/photo_uploader/file_uploader.php
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/photo_uploader/file_uploader_html5.php (added)
+++ client/smarteditor2-2.8.2.3/sample/photo_uploader/file_uploader_html5.php
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/photo_uploader/img/bg_drag_image.png (Binary) (added)
+++ client/smarteditor2-2.8.2.3/sample/photo_uploader/img/bg_drag_image.png
Binary file is not shown
 
client/smarteditor2-2.8.2.3/sample/photo_uploader/img/btn_cancel.png (Binary) (added)
+++ client/smarteditor2-2.8.2.3/sample/photo_uploader/img/btn_cancel.png
Binary file is not shown
 
client/smarteditor2-2.8.2.3/sample/photo_uploader/img/btn_confirm.png (Binary) (added)
+++ client/smarteditor2-2.8.2.3/sample/photo_uploader/img/btn_confirm.png
Binary file is not shown
 
client/smarteditor2-2.8.2.3/sample/photo_uploader/img/btn_confirm2.png (Binary) (added)
+++ client/smarteditor2-2.8.2.3/sample/photo_uploader/img/btn_confirm2.png
Binary file is not shown
 
client/smarteditor2-2.8.2.3/sample/photo_uploader/img/btn_del.png (Binary) (added)
+++ client/smarteditor2-2.8.2.3/sample/photo_uploader/img/btn_del.png
Binary file is not shown
 
client/smarteditor2-2.8.2.3/sample/photo_uploader/img/btn_find.png (Binary) (added)
+++ client/smarteditor2-2.8.2.3/sample/photo_uploader/img/btn_find.png
Binary file is not shown
 
client/smarteditor2-2.8.2.3/sample/photo_uploader/jindo.fileuploader.js (added)
+++ client/smarteditor2-2.8.2.3/sample/photo_uploader/jindo.fileuploader.js
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/photo_uploader/jindo.min.js (added)
+++ client/smarteditor2-2.8.2.3/sample/photo_uploader/jindo.min.js
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/photo_uploader/photo_uploader.html (added)
+++ client/smarteditor2-2.8.2.3/sample/photo_uploader/photo_uploader.html
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/HTMLPurifier.standalone.php (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/HTMLPurifier.standalone.php
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/Builder/ConfigSchema.php (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/Builder/ConfigSchema.php
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/Builder/Xml.php (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/Builder/Xml.php
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/Exception.php (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/Exception.php
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/Interchange.php (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/Interchange.php
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/Interchange/Directive.php (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/Interchange/Directive.php
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/Interchange/Id.php (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/Interchange/Id.php
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/InterchangeBuilder.php (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/InterchangeBuilder.php
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/Validator.php (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/Validator.php
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/ValidatorAtom.php (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/ValidatorAtom.php
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema.ser (Binary) (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema.ser
Binary file is not shown
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Attr.AllowedClasses.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Attr.AllowedClasses.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Attr.AllowedFrameTargets.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Attr.AllowedFrameTargets.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Attr.AllowedRel.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Attr.AllowedRel.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Attr.AllowedRev.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Attr.AllowedRev.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Attr.ClassUseCDATA.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Attr.ClassUseCDATA.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Attr.DefaultImageAlt.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Attr.DefaultImageAlt.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Attr.DefaultInvalidImage.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Attr.DefaultInvalidImage.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Attr.DefaultInvalidImageAlt.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Attr.DefaultInvalidImageAlt.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Attr.DefaultTextDir.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Attr.DefaultTextDir.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Attr.EnableID.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Attr.EnableID.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Attr.ForbiddenClasses.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Attr.ForbiddenClasses.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Attr.ID.HTML5.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Attr.ID.HTML5.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Attr.IDBlacklist.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Attr.IDBlacklist.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Attr.IDBlacklistRegexp.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Attr.IDBlacklistRegexp.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Attr.IDPrefix.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Attr.IDPrefix.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Attr.IDPrefixLocal.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Attr.IDPrefixLocal.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/AutoFormat.AutoParagraph.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/AutoFormat.AutoParagraph.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/AutoFormat.Custom.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/AutoFormat.Custom.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/AutoFormat.DisplayLinkURI.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/AutoFormat.DisplayLinkURI.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/AutoFormat.Linkify.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/AutoFormat.Linkify.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/AutoFormat.PurifierLinkify.DocURL.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/AutoFormat.PurifierLinkify.DocURL.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/AutoFormat.PurifierLinkify.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/AutoFormat.PurifierLinkify.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.Predicate.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.Predicate.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.RemoveNbsp.Exceptions.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.RemoveNbsp.Exceptions.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.RemoveNbsp.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.RemoveNbsp.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveSpansWithoutAttributes.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveSpansWithoutAttributes.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/CSS.AllowDuplicates.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/CSS.AllowDuplicates.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/CSS.AllowImportant.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/CSS.AllowImportant.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/CSS.AllowTricky.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/CSS.AllowTricky.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/CSS.AllowedFonts.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/CSS.AllowedFonts.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/CSS.AllowedProperties.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/CSS.AllowedProperties.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/CSS.DefinitionRev.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/CSS.DefinitionRev.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/CSS.ForbiddenProperties.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/CSS.ForbiddenProperties.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/CSS.MaxImgLength.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/CSS.MaxImgLength.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/CSS.Proprietary.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/CSS.Proprietary.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/CSS.Trusted.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/CSS.Trusted.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Cache.DefinitionImpl.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Cache.DefinitionImpl.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Cache.SerializerPath.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Cache.SerializerPath.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Cache.SerializerPermissions.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Cache.SerializerPermissions.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Core.AggressivelyFixLt.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Core.AggressivelyFixLt.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Core.AllowHostnameUnderscore.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Core.AllowHostnameUnderscore.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Core.CollectErrors.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Core.CollectErrors.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Core.ColorKeywords.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Core.ColorKeywords.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Core.ConvertDocumentToFragment.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Core.ConvertDocumentToFragment.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Core.DirectLexLineNumberSyncInterval.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Core.DirectLexLineNumberSyncInterval.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Core.DisableExcludes.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Core.DisableExcludes.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Core.EnableIDNA.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Core.EnableIDNA.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Core.Encoding.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Core.Encoding.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Core.EscapeInvalidChildren.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Core.EscapeInvalidChildren.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Core.EscapeInvalidTags.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Core.EscapeInvalidTags.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Core.EscapeNonASCIICharacters.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Core.EscapeNonASCIICharacters.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Core.HiddenElements.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Core.HiddenElements.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Core.Language.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Core.Language.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Core.LexerImpl.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Core.LexerImpl.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Core.MaintainLineNumbers.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Core.MaintainLineNumbers.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Core.NormalizeNewlines.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Core.NormalizeNewlines.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Core.RemoveInvalidImg.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Core.RemoveInvalidImg.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Core.RemoveProcessingInstructions.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Core.RemoveProcessingInstructions.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Core.RemoveScriptContents.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Core.RemoveScriptContents.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Filter.Custom.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Filter.Custom.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.Escaping.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.Escaping.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.Scope.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.Scope.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.TidyImpl.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.TidyImpl.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Filter.YouTube.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Filter.YouTube.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.Allowed.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.Allowed.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.AllowedAttributes.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.AllowedAttributes.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.AllowedComments.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.AllowedComments.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.AllowedCommentsRegexp.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.AllowedCommentsRegexp.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.AllowedElements.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.AllowedElements.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.AllowedModules.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.AllowedModules.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.Attr.Name.UseCDATA.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.Attr.Name.UseCDATA.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.BlockWrapper.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.BlockWrapper.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.CoreModules.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.CoreModules.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.CustomDoctype.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.CustomDoctype.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.DefinitionID.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.DefinitionID.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.DefinitionRev.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.DefinitionRev.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.Doctype.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.Doctype.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.FlashAllowFullScreen.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.FlashAllowFullScreen.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.ForbiddenAttributes.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.ForbiddenAttributes.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.ForbiddenElements.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.ForbiddenElements.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.MaxImgLength.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.MaxImgLength.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.Nofollow.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.Nofollow.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.Parent.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.Parent.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.Proprietary.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.Proprietary.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.SafeEmbed.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.SafeEmbed.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.SafeIframe.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.SafeIframe.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.SafeObject.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.SafeObject.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.SafeScripting.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.SafeScripting.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.Strict.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.Strict.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.TargetBlank.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.TargetBlank.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.TargetNoreferrer.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.TargetNoreferrer.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.TidyAdd.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.TidyAdd.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.TidyLevel.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.TidyLevel.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.TidyRemove.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.TidyRemove.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.Trusted.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.Trusted.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.XHTML.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/HTML.XHTML.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Output.CommentScriptContents.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Output.CommentScriptContents.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Output.FixInnerHTML.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Output.FixInnerHTML.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Output.FlashCompat.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Output.FlashCompat.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Output.Newline.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Output.Newline.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Output.SortAttr.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Output.SortAttr.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Output.TidyFormat.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Output.TidyFormat.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Test.ForceNoIconv.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/Test.ForceNoIconv.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/URI.AllowedSchemes.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/URI.AllowedSchemes.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/URI.Base.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/URI.Base.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/URI.DefaultScheme.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/URI.DefaultScheme.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/URI.DefinitionID.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/URI.DefinitionID.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/URI.DefinitionRev.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/URI.DefinitionRev.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/URI.Disable.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/URI.Disable.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/URI.DisableExternal.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/URI.DisableExternal.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/URI.DisableExternalResources.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/URI.DisableExternalResources.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/URI.DisableResources.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/URI.DisableResources.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/URI.Host.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/URI.Host.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/URI.HostBlacklist.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/URI.HostBlacklist.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/URI.MakeAbsolute.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/URI.MakeAbsolute.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/URI.Munge.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/URI.Munge.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/URI.MungeResources.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/URI.MungeResources.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/URI.MungeSecretKey.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/URI.MungeSecretKey.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/URI.OverrideAllowedSchemes.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/URI.OverrideAllowedSchemes.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/URI.SafeIframeRegexp.txt (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/URI.SafeIframeRegexp.txt
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/info.ini (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema/info.ini
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/DefinitionCache/Serializer/HTML/4.8.0,b6889960956c877d241a7e8f87e613efc7a3611d,1.ser (Binary) (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/DefinitionCache/Serializer/HTML/4.8.0,b6889960956c877d241a7e8f87e613efc7a3611d,1.ser
Binary file is not shown
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/EntityLookup/entities.ser (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/EntityLookup/entities.ser
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/Filter/ExtractStyleBlocks.php (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/Filter/ExtractStyleBlocks.php
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/Filter/YouTube.php (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/Filter/YouTube.php
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/Language/classes/en-x-test.php (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/Language/classes/en-x-test.php
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/Language/messages/en-x-test.php (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/Language/messages/en-x-test.php
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/Language/messages/en-x-testmini.php (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/Language/messages/en-x-testmini.php
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/Language/messages/en.php (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/Language/messages/en.php
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/Lexer/PH5P.php (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/Lexer/PH5P.php
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/Printer.php (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/Printer.php
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/Printer/CSSDefinition.php (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/Printer/CSSDefinition.php
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/Printer/ConfigForm.css (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/Printer/ConfigForm.css
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/Printer/ConfigForm.js (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/Printer/ConfigForm.js
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/Printer/ConfigForm.php (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/Printer/ConfigForm.php
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/Printer/HTMLDefinition.php (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/htmlpurifier/standalone/HTMLPurifier/Printer/HTMLDefinition.php
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/sample/viewer/index.php (added)
+++ client/smarteditor2-2.8.2.3/sample/viewer/index.php
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/smart_editor2_inputarea.html (added)
+++ client/smarteditor2-2.8.2.3/smart_editor2_inputarea.html
This diff is skipped because there are too many other diffs.
 
client/smarteditor2-2.8.2.3/smart_editor2_inputarea_ie8.html (added)
+++ client/smarteditor2-2.8.2.3/smart_editor2_inputarea_ie8.html
This diff is skipped because there are too many other diffs.
 
client/views/common/commonPlugin.js (added)
+++ client/views/common/commonPlugin.js
This diff is skipped because there are too many other diffs.
 
client/views/common/filters.js (added)
+++ client/views/common/filters.js
This diff is skipped because there are too many other diffs.
 
client/views/component/chart/ClusteredBarChart.vue (added)
+++ client/views/component/chart/ClusteredBarChart.vue
This diff is skipped because there are too many other diffs.
 
client/views/component/chart/ClusteredColumnChart.vue (added)
+++ client/views/component/chart/ClusteredColumnChart.vue
This diff is skipped because there are too many other diffs.
 
client/views/component/chart/PieChart.vue (added)
+++ client/views/component/chart/PieChart.vue
This diff is skipped because there are too many other diffs.
 
client/views/component/chart/SingleBarChart.vue (added)
+++ client/views/component/chart/SingleBarChart.vue
This diff is skipped because there are too many other diffs.
 
client/views/component/chart/lineChart.vue (added)
+++ client/views/component/chart/lineChart.vue
This diff is skipped because there are too many other diffs.
 
client/views/component/comment/CommentItem.vue (added)
+++ client/views/component/comment/CommentItem.vue
This diff is skipped because there are too many other diffs.
 
client/views/component/file/Attachment.vue (added)
+++ client/views/component/file/Attachment.vue
This diff is skipped because there are too many other diffs.
 
client/views/component/hierachy/Hierachy.vue (added)
+++ client/views/component/hierachy/Hierachy.vue
This diff is skipped because there are too many other diffs.
 
client/views/component/hierachy/HierachyDraggable.vue (added)
+++ client/views/component/hierachy/HierachyDraggable.vue
This diff is skipped because there are too many other diffs.
 
client/views/component/hierachy/HierachyDscsn.vue (added)
+++ client/views/component/hierachy/HierachyDscsn.vue
This diff is skipped because there are too many other diffs.
 
client/views/component/inquiry/Inquiry.vue (added)
+++ client/views/component/inquiry/Inquiry.vue
This diff is skipped because there are too many other diffs.
 
client/views/component/loading/LoadingSpinner.vue (added)
+++ client/views/component/loading/LoadingSpinner.vue
This diff is skipped because there are too many other diffs.
 
client/views/component/modal/Modal.vue (added)
+++ client/views/component/modal/Modal.vue
This diff is skipped because there are too many other diffs.
 
client/views/component/nice/NiceM.vue (added)
+++ client/views/component/nice/NiceM.vue
This diff is skipped because there are too many other diffs.
 
client/views/component/pagenavigationbar/PageNavigationBar.vue (added)
+++ client/views/component/pagenavigationbar/PageNavigationBar.vue
This diff is skipped because there are too many other diffs.
 
client/views/component/pagination/PaginationButton.vue (added)
+++ client/views/component/pagination/PaginationButton.vue
This diff is skipped because there are too many other diffs.
 
client/views/component/pdf/PdfViewerComponent.vue (added)
+++ client/views/component/pdf/PdfViewerComponent.vue
This diff is skipped because there are too many other diffs.
 
client/views/component/popup/PopUp.vue (added)
+++ client/views/component/popup/PopUp.vue
This diff is skipped because there are too many other diffs.
 
client/views/component/progressbar/ProgressBar.vue (added)
+++ client/views/component/progressbar/ProgressBar.vue
This diff is skipped because there are too many other diffs.
 
client/views/component/satisfaction/Satisfaction.vue (added)
+++ client/views/component/satisfaction/Satisfaction.vue
This diff is skipped because there are too many other diffs.
 
client/views/component/table/ListTable.vue (added)
+++ client/views/component/table/ListTable.vue
This diff is skipped because there are too many other diffs.
 
client/views/component/table/SelectListOne.vue (added)
+++ client/views/component/table/SelectListOne.vue
This diff is skipped because there are too many other diffs.
 
client/views/component/terms/Email.vue (added)
+++ client/views/component/terms/Email.vue
This diff is skipped because there are too many other diffs.
 
client/views/component/terms/Privacy .vue (added)
+++ client/views/component/terms/Privacy .vue
This diff is skipped because there are too many other diffs.
 
client/views/component/terms/Terms1.vue (added)
+++ client/views/component/terms/Terms1.vue
This diff is skipped because there are too many other diffs.
 
client/views/index.html (added)
+++ client/views/index.html
This diff is skipped because there are too many other diffs.
 
client/views/index.js (added)
+++ client/views/index.js
This diff is skipped because there are too many other diffs.
 
client/views/layout/AdminHeader.vue (added)
+++ client/views/layout/AdminHeader.vue
This diff is skipped because there are too many other diffs.
 
client/views/layout/AdminMenu.vue (added)
+++ client/views/layout/AdminMenu.vue
This diff is skipped because there are too many other diffs.
 
client/views/layout/MoblieMenu.vue (added)
+++ client/views/layout/MoblieMenu.vue
This diff is skipped because there are too many other diffs.
 
client/views/layout/UserHeader.vue (added)
+++ client/views/layout/UserHeader.vue
This diff is skipped because there are too many other diffs.
 
client/views/layout/UserMenu.vue (added)
+++ client/views/layout/UserMenu.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/App.vue (added)
+++ client/views/pages/App.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/AppRouter.js (added)
+++ client/views/pages/AppRouter.js
This diff is skipped because there are too many other diffs.
 
client/views/pages/AppStore.js (added)
+++ client/views/pages/AppStore.js
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/authority/authority/AuthorityInsert.vue (added)
+++ client/views/pages/adm/authority/authority/AuthorityInsert.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/authority/authority/AuthoritySelectList.vue (added)
+++ client/views/pages/adm/authority/authority/AuthoritySelectList.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/authority/authority/AuthoritySelectListOne.vue (added)
+++ client/views/pages/adm/authority/authority/AuthoritySelectListOne.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/authority/menuAuthority/MenuAuthority.vue (added)
+++ client/views/pages/adm/authority/menuAuthority/MenuAuthority.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/boardManagement/boardManagement/BoardManagementInsert.vue (added)
+++ client/views/pages/adm/boardManagement/boardManagement/BoardManagementInsert.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/boardManagement/boardManagement/BoardManagementSelectList.vue (added)
+++ client/views/pages/adm/boardManagement/boardManagement/BoardManagementSelectList.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/boardManagement/boardManagement/BoardManagementSelectListOne.vue (added)
+++ client/views/pages/adm/boardManagement/boardManagement/BoardManagementSelectListOne.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/boardManagement/template/commonTemplate copy/CommonInsert.vue (added)
+++ client/views/pages/adm/boardManagement/template/commonTemplate copy/CommonInsert.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/boardManagement/template/commonTemplate copy/CommonSelectList.vue (added)
+++ client/views/pages/adm/boardManagement/template/commonTemplate copy/CommonSelectList.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/boardManagement/template/commonTemplate copy/CommonSelectListOne.vue (added)
+++ client/views/pages/adm/boardManagement/template/commonTemplate copy/CommonSelectListOne.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/boardManagement/template/commonTemplate/CommonInsert.vue (added)
+++ client/views/pages/adm/boardManagement/template/commonTemplate/CommonInsert.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/boardManagement/template/commonTemplate/CommonSelectList.vue (added)
+++ client/views/pages/adm/boardManagement/template/commonTemplate/CommonSelectList.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/boardManagement/template/commonTemplate/CommonSelectListOne.vue (added)
+++ client/views/pages/adm/boardManagement/template/commonTemplate/CommonSelectListOne.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/boardManagement/template/faqTemplate/FaqInsert.vue (added)
+++ client/views/pages/adm/boardManagement/template/faqTemplate/FaqInsert.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/boardManagement/template/faqTemplate/FaqSelectList.vue (added)
+++ client/views/pages/adm/boardManagement/template/faqTemplate/FaqSelectList.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/boardManagement/template/faqTemplate/FaqSelectListOne.vue (added)
+++ client/views/pages/adm/boardManagement/template/faqTemplate/FaqSelectListOne.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/boardManagement/template/galleryTemplate/GalleryInsert.vue (added)
+++ client/views/pages/adm/boardManagement/template/galleryTemplate/GalleryInsert.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/boardManagement/template/galleryTemplate/GallerySelectList.vue (added)
+++ client/views/pages/adm/boardManagement/template/galleryTemplate/GallerySelectList.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/boardManagement/template/galleryTemplate/GallerySelectListOne.vue (added)
+++ client/views/pages/adm/boardManagement/template/galleryTemplate/GallerySelectListOne.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/boardManagement/template/videoTemplate/VideoInsert.vue (added)
+++ client/views/pages/adm/boardManagement/template/videoTemplate/VideoInsert.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/boardManagement/template/videoTemplate/VideoSelectList.vue (added)
+++ client/views/pages/adm/boardManagement/template/videoTemplate/VideoSelectList.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/boardManagement/template/videoTemplate/VideoSelectListOne.vue (added)
+++ client/views/pages/adm/boardManagement/template/videoTemplate/VideoSelectListOne.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/boardManagement/wordsManagement/WordsManagementSelectList.vue (added)
+++ client/views/pages/adm/boardManagement/wordsManagement/WordsManagementSelectList.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/departmentManagement/DepartmentManagement.vue (added)
+++ client/views/pages/adm/departmentManagement/DepartmentManagement.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/log/AdminLog.vue (added)
+++ client/views/pages/adm/log/AdminLog.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/log/LoginLog.vue (added)
+++ client/views/pages/adm/log/LoginLog.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/log/PersonalDataLog.vue (added)
+++ client/views/pages/adm/log/PersonalDataLog.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/main/Main.vue (added)
+++ client/views/pages/adm/main/Main.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/main/Test.vue (added)
+++ client/views/pages/adm/main/Test.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/member/adminManagement/AdminManagementInsert.vue (added)
+++ client/views/pages/adm/member/adminManagement/AdminManagementInsert.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/member/adminManagement/AdminManagementSelectList.vue (added)
+++ client/views/pages/adm/member/adminManagement/AdminManagementSelectList.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/member/adminManagement/AdminManagementSelectOne.vue (added)
+++ client/views/pages/adm/member/adminManagement/AdminManagementSelectOne.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/member/enterpriseManagement/EnterpriseManagementSelectList.vue (added)
+++ client/views/pages/adm/member/enterpriseManagement/EnterpriseManagementSelectList.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/member/enterpriseManagement/EnterpriseManagementSelectListOne.vue (added)
+++ client/views/pages/adm/member/enterpriseManagement/EnterpriseManagementSelectListOne.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/member/termsManagement/TermsManagementInsert.vue (added)
+++ client/views/pages/adm/member/termsManagement/TermsManagementInsert.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/member/termsManagement/TermsManagementSelectList.vue (added)
+++ client/views/pages/adm/member/termsManagement/TermsManagementSelectList.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/member/termsManagement/TermsManagementSelectListOne.vue (added)
+++ client/views/pages/adm/member/termsManagement/TermsManagementSelectListOne.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/member/userManagement/UserManagementSelectList.vue (added)
+++ client/views/pages/adm/member/userManagement/UserManagementSelectList.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/member/userManagement/UserManagementSelectOne.vue (added)
+++ client/views/pages/adm/member/userManagement/UserManagementSelectOne.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/member/userManagement/UserManagementUpdate.vue (added)
+++ client/views/pages/adm/member/userManagement/UserManagementUpdate.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/menuManagement/menuManagement/MenuManagement.vue (added)
+++ client/views/pages/adm/menuManagement/menuManagement/MenuManagement.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/menuManagement/menuSatisfactionManagement/MenuSatisfactionSelectList.vue (added)
+++ client/views/pages/adm/menuManagement/menuSatisfactionManagement/MenuSatisfactionSelectList.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/popup/PopupManagementInsert.vue (added)
+++ client/views/pages/adm/popup/PopupManagementInsert.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/popup/PopupManagementSelectList.vue (added)
+++ client/views/pages/adm/popup/PopupManagementSelectList.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/popup/PopupManagementSelectListOne.vue (added)
+++ client/views/pages/adm/popup/PopupManagementSelectListOne.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/preferences/category/CategoryManagement.vue (added)
+++ client/views/pages/adm/preferences/category/CategoryManagement.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/preferences/commonCodeManagement/CommonCodeManagement.vue (added)
+++ client/views/pages/adm/preferences/commonCodeManagement/CommonCodeManagement.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/preferences/contentManagement/CompanyConsultSelectListOne.vue (added)
+++ client/views/pages/adm/preferences/contentManagement/CompanyConsultSelectListOne.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/preferences/contentTypeManagement/ContentTypeManagementInsert.vue (added)
+++ client/views/pages/adm/preferences/contentTypeManagement/ContentTypeManagementInsert.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/preferences/contentTypeManagement/ContentTypeManagementSelectList.vue (added)
+++ client/views/pages/adm/preferences/contentTypeManagement/ContentTypeManagementSelectList.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/preferences/contentTypeManagement/ContentTypeManagementSelectListOne.vue (added)
+++ client/views/pages/adm/preferences/contentTypeManagement/ContentTypeManagementSelectListOne.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/preferences/subscribeManagement/SubscribeManagement.vue (added)
+++ client/views/pages/adm/preferences/subscribeManagement/SubscribeManagement.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/statistics/BbsStatistics.vue (added)
+++ client/views/pages/adm/statistics/BbsStatistics.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/statistics/CompanyMenuStatistics_back.vue (added)
+++ client/views/pages/adm/statistics/CompanyMenuStatistics_back.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/statistics/Discussionstatistics.vue (added)
+++ client/views/pages/adm/statistics/Discussionstatistics.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/statistics/GovernmentMenuStatistics_back.vue (added)
+++ client/views/pages/adm/statistics/GovernmentMenuStatistics_back.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/statistics/LoginStatistics.vue (added)
+++ client/views/pages/adm/statistics/LoginStatistics.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/statistics/MailStatistics.vue (added)
+++ client/views/pages/adm/statistics/MailStatistics.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/statistics/MenuStatistics.vue (added)
+++ client/views/pages/adm/statistics/MenuStatistics.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/statistics/SmsStatistics.vue (added)
+++ client/views/pages/adm/statistics/SmsStatistics.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/statistics/TechnicalDocumentStatistics.vue (added)
+++ client/views/pages/adm/statistics/TechnicalDocumentStatistics.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/statistics/UserStatistics.vue (added)
+++ client/views/pages/adm/statistics/UserStatistics.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/system/networkAccessControl/NetworkAccessControlInsert.vue (added)
+++ client/views/pages/adm/system/networkAccessControl/NetworkAccessControlInsert.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/system/networkAccessControl/NetworkAccessControlSelectList.vue (added)
+++ client/views/pages/adm/system/networkAccessControl/NetworkAccessControlSelectList.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/system/networkAccessControl/NetworkAccessControlSelectListOne.vue (added)
+++ client/views/pages/adm/system/networkAccessControl/NetworkAccessControlSelectListOne.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/system/setting/SiteSettingInsert.vue (added)
+++ client/views/pages/adm/system/setting/SiteSettingInsert.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/technicalEducation/TechnicalEducationInsert.vue (added)
+++ client/views/pages/adm/technicalEducation/TechnicalEducationInsert.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/technicalEducation/TechnicalEducationList.vue (added)
+++ client/views/pages/adm/technicalEducation/TechnicalEducationList.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/technicalEducation/TechnicalEducationView.vue (added)
+++ client/views/pages/adm/technicalEducation/TechnicalEducationView.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/technicalSupport/technicalDocumentManagemant/technicalDocumentManagement.vue (added)
+++ client/views/pages/adm/technicalSupport/technicalDocumentManagemant/technicalDocumentManagement.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/adm/transData.vue (added)
+++ client/views/pages/adm/transData.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/login/FindInfo.vue (added)
+++ client/views/pages/login/FindInfo.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/login/Login.vue (added)
+++ client/views/pages/login/Login.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/login/Login_admin.vue (added)
+++ client/views/pages/login/Login_admin.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/popup/PopUp.vue (added)
+++ client/views/pages/popup/PopUp.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/user/etc/Inspection.vue (added)
+++ client/views/pages/user/etc/Inspection.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/user/etc/NotFound.vue (added)
+++ client/views/pages/user/etc/NotFound.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/user/inquiry/ent/entInquiryInsert.vue (added)
+++ client/views/pages/user/inquiry/ent/entInquiryInsert.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/user/inquiry/ent/entInquirySelectList.vue (added)
+++ client/views/pages/user/inquiry/ent/entInquirySelectList.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/user/inquiry/ent/entInquirySelectOne.vue (added)
+++ client/views/pages/user/inquiry/ent/entInquirySelectOne.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/user/inquiry/ent/entInquiryUpdate.vue (added)
+++ client/views/pages/user/inquiry/ent/entInquiryUpdate.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/user/inquiry/mngr/mngrInquirySelectList.vue (added)
+++ client/views/pages/user/inquiry/mngr/mngrInquirySelectList.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/user/inquiry/mngr/mngrInquirySelectOne.vue (added)
+++ client/views/pages/user/inquiry/mngr/mngrInquirySelectOne.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/user/introduction/Introduction.vue (added)
+++ client/views/pages/user/introduction/Introduction.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/user/join/Completed.vue (added)
+++ client/views/pages/user/join/Completed.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/user/join/Join.vue (added)
+++ client/views/pages/user/join/Join.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/user/join/Terms.vue (added)
+++ client/views/pages/user/join/Terms.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/user/main/Main.vue (added)
+++ client/views/pages/user/main/Main.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/user/mypage/CompanyApplyComponent.vue (added)
+++ client/views/pages/user/mypage/CompanyApplyComponent.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/user/mypage/CompanyInfoUpdateComponent.vue (added)
+++ client/views/pages/user/mypage/CompanyInfoUpdateComponent.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/user/mypage/CompanyManageComponent.vue (added)
+++ client/views/pages/user/mypage/CompanyManageComponent.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/user/mypage/CompanyManagePage.vue (added)
+++ client/views/pages/user/mypage/CompanyManagePage.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/user/mypage/CompanyPage.vue (added)
+++ client/views/pages/user/mypage/CompanyPage.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/user/mypage/UserPage.vue (added)
+++ client/views/pages/user/mypage/UserPage.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/user/nicepage/NiceRequest.vue (added)
+++ client/views/pages/user/nicepage/NiceRequest.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/user/nicepage/NiceTest.vue (added)
+++ client/views/pages/user/nicepage/NiceTest.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/user/nicepage/NiceTestPopup.vue (added)
+++ client/views/pages/user/nicepage/NiceTestPopup.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/user/search/Search.vue (added)
+++ client/views/pages/user/search/Search.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/user/techedulist/TechnicalEducationApplyList.vue (added)
+++ client/views/pages/user/techedulist/TechnicalEducationApplyList.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/user/technicalSupport/guideline/Guidelines.vue (added)
+++ client/views/pages/user/technicalSupport/guideline/Guidelines.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/user/technicalSupport/technicaldocument/TechnicaldocumentList.vue (added)
+++ client/views/pages/user/technicalSupport/technicaldocument/TechnicaldocumentList.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/user/technicalSupport/technicaldocument/TechnicaldocumentView.vue (added)
+++ client/views/pages/user/technicalSupport/technicaldocument/TechnicaldocumentView.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/user/termsPage/TermsPage.vue (added)
+++ client/views/pages/user/termsPage/TermsPage.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/viewer/PdfView.vue (added)
+++ client/views/pages/viewer/PdfView.vue
This diff is skipped because there are too many other diffs.
 
client/views/pages/viewer/ReportViewer.vue (added)
+++ client/views/pages/viewer/ReportViewer.vue
This diff is skipped because there are too many other diffs.
 
client/views/robots.txt (added)
+++ client/views/robots.txt
This diff is skipped because there are too many other diffs.
 
package-lock.json (added)
+++ package-lock.json
This diff is skipped because there are too many other diffs.
 
package.json (added)
+++ package.json
This diff is skipped because there are too many other diffs.
 
server/modules/db/mysql/MysqlConnection.js (added)
+++ server/modules/db/mysql/MysqlConnection.js
This diff is skipped because there are too many other diffs.
 
server/modules/db/oracle/OracleConnection.js (added)
+++ server/modules/db/oracle/OracleConnection.js
This diff is skipped because there are too many other diffs.
 
server/modules/db/oracle/client/client_19.16/BASIC_LICENSE (added)
+++ server/modules/db/oracle/client/client_19.16/BASIC_LICENSE
This diff is skipped because there are too many other diffs.
 
server/modules/db/oracle/client/client_19.16/BASIC_README (added)
+++ server/modules/db/oracle/client/client_19.16/BASIC_README
This diff is skipped because there are too many other diffs.
 
server/modules/db/oracle/client/client_19.16/adrci.exe (Binary) (added)
+++ server/modules/db/oracle/client/client_19.16/adrci.exe
Binary file is not shown
 
server/modules/db/oracle/client/client_19.16/adrci.sym (Binary) (added)
+++ server/modules/db/oracle/client/client_19.16/adrci.sym
Binary file is not shown
 
server/modules/db/oracle/client/client_19.16/genezi.exe (Binary) (added)
+++ server/modules/db/oracle/client/client_19.16/genezi.exe
Binary file is not shown
 
server/modules/db/oracle/client/client_19.16/genezi.sym (Binary) (added)
+++ server/modules/db/oracle/client/client_19.16/genezi.sym
Binary file is not shown
 
server/modules/db/oracle/client/client_19.16/oci.dll (Binary) (added)
+++ server/modules/db/oracle/client/client_19.16/oci.dll
Binary file is not shown
 
server/modules/db/oracle/client/client_19.16/oci.sym (Binary) (added)
+++ server/modules/db/oracle/client/client_19.16/oci.sym
Binary file is not shown
 
server/modules/db/oracle/client/client_19.16/ocijdbc19.dll (Binary) (added)
+++ server/modules/db/oracle/client/client_19.16/ocijdbc19.dll
Binary file is not shown
 
server/modules/db/oracle/client/client_19.16/ocijdbc19.sym (Binary) (added)
+++ server/modules/db/oracle/client/client_19.16/ocijdbc19.sym
Binary file is not shown
 
server/modules/db/oracle/client/client_19.16/ociw32.dll (Binary) (added)
+++ server/modules/db/oracle/client/client_19.16/ociw32.dll
Binary file is not shown
 
server/modules/db/oracle/client/client_19.16/ociw32.sym (Binary) (added)
+++ server/modules/db/oracle/client/client_19.16/ociw32.sym
Binary file is not shown
 
server/modules/db/oracle/client/client_19.16/ojdbc8.jar (Binary) (added)
+++ server/modules/db/oracle/client/client_19.16/ojdbc8.jar
Binary file is not shown
 
server/modules/db/oracle/client/client_19.16/oramysql19.dll (Binary) (added)
+++ server/modules/db/oracle/client/client_19.16/oramysql19.dll
Binary file is not shown
 
server/modules/db/oracle/client/client_19.16/oramysql19.sym (Binary) (added)
+++ server/modules/db/oracle/client/client_19.16/oramysql19.sym
Binary file is not shown
 
server/modules/db/oracle/client/client_19.16/orannzsbb19.dll (Binary) (added)
+++ server/modules/db/oracle/client/client_19.16/orannzsbb19.dll
Binary file is not shown
 
server/modules/db/oracle/client/client_19.16/orannzsbb19.sym (Binary) (added)
+++ server/modules/db/oracle/client/client_19.16/orannzsbb19.sym
Binary file is not shown
 
server/modules/db/oracle/client/client_19.16/oraocci19.dll (Binary) (added)
+++ server/modules/db/oracle/client/client_19.16/oraocci19.dll
Binary file is not shown
 
server/modules/db/oracle/client/client_19.16/oraocci19.sym (Binary) (added)
+++ server/modules/db/oracle/client/client_19.16/oraocci19.sym
Binary file is not shown
 
server/modules/db/oracle/client/client_19.16/oraocci19d.dll (Binary) (added)
+++ server/modules/db/oracle/client/client_19.16/oraocci19d.dll
Binary file is not shown
 
server/modules/db/oracle/client/client_19.16/oraocci19d.sym (Binary) (added)
+++ server/modules/db/oracle/client/client_19.16/oraocci19d.sym
Binary file is not shown
 
server/modules/db/oracle/client/client_19.16/oraociei19.dll (added)
+++ server/modules/db/oracle/client/client_19.16/oraociei19.dll
This diff is skipped because there are too many other diffs.
 
server/modules/db/oracle/client/client_19.16/oraociei19.sym (Binary) (added)
+++ server/modules/db/oracle/client/client_19.16/oraociei19.sym
Binary file is not shown
 
server/modules/db/oracle/client/client_19.16/oraons.dll (Binary) (added)
+++ server/modules/db/oracle/client/client_19.16/oraons.dll
Binary file is not shown
 
server/modules/db/oracle/client/client_19.16/orasql19.dll (Binary) (added)
+++ server/modules/db/oracle/client/client_19.16/orasql19.dll
Binary file is not shown
 
server/modules/db/oracle/client/client_19.16/orasql19.sym (Binary) (added)
+++ server/modules/db/oracle/client/client_19.16/orasql19.sym
Binary file is not shown
 
server/modules/db/oracle/client/client_19.16/ucp.jar (Binary) (added)
+++ server/modules/db/oracle/client/client_19.16/ucp.jar
Binary file is not shown
 
server/modules/db/oracle/client/client_19.16/uidrvci.exe (Binary) (added)
+++ server/modules/db/oracle/client/client_19.16/uidrvci.exe
Binary file is not shown
 
server/modules/db/oracle/client/client_19.16/uidrvci.sym (Binary) (added)
+++ server/modules/db/oracle/client/client_19.16/uidrvci.sym
Binary file is not shown
 
server/modules/db/oracle/client/client_19.16/vc14/oraocci19.dll (Binary) (added)
+++ server/modules/db/oracle/client/client_19.16/vc14/oraocci19.dll
Binary file is not shown
 
server/modules/db/oracle/client/client_19.16/vc14/oraocci19.sym (Binary) (added)
+++ server/modules/db/oracle/client/client_19.16/vc14/oraocci19.sym
Binary file is not shown
 
server/modules/db/oracle/client/client_19.16/vc14/oraocci19d.dll (Binary) (added)
+++ server/modules/db/oracle/client/client_19.16/vc14/oraocci19d.dll
Binary file is not shown
 
server/modules/db/oracle/client/client_19.16/vc14/oraocci19d.sym (Binary) (added)
+++ server/modules/db/oracle/client/client_19.16/vc14/oraocci19d.sym
Binary file is not shown
 
server/modules/db/oracle/client/client_19.16/xstreams.jar (Binary) (added)
+++ server/modules/db/oracle/client/client_19.16/xstreams.jar
Binary file is not shown
 
server/modules/db/oracle/client/client_21.6/BASIC_LICENSE (added)
+++ server/modules/db/oracle/client/client_21.6/BASIC_LICENSE
This diff is skipped because there are too many other diffs.
 
server/modules/db/oracle/client/client_21.6/BASIC_README (added)
+++ server/modules/db/oracle/client/client_21.6/BASIC_README
This diff is skipped because there are too many other diffs.
 
server/modules/db/oracle/client/client_21.6/adrci.exe (Binary) (added)
+++ server/modules/db/oracle/client/client_21.6/adrci.exe
Binary file is not shown
 
server/modules/db/oracle/client/client_21.6/adrci.sym (Binary) (added)
+++ server/modules/db/oracle/client/client_21.6/adrci.sym
Binary file is not shown
 
server/modules/db/oracle/client/client_21.6/genezi.exe (Binary) (added)
+++ server/modules/db/oracle/client/client_21.6/genezi.exe
Binary file is not shown
 
server/modules/db/oracle/client/client_21.6/genezi.sym (Binary) (added)
+++ server/modules/db/oracle/client/client_21.6/genezi.sym
Binary file is not shown
 
server/modules/db/oracle/client/client_21.6/network/admin/README (added)
+++ server/modules/db/oracle/client/client_21.6/network/admin/README
This diff is skipped because there are too many other diffs.
 
server/modules/db/oracle/client/client_21.6/oci.dll (Binary) (added)
+++ server/modules/db/oracle/client/client_21.6/oci.dll
Binary file is not shown
 
server/modules/db/oracle/client/client_21.6/oci.sym (Binary) (added)
+++ server/modules/db/oracle/client/client_21.6/oci.sym
Binary file is not shown
 
server/modules/db/oracle/client/client_21.6/ocijdbc21.dll (Binary) (added)
+++ server/modules/db/oracle/client/client_21.6/ocijdbc21.dll
Binary file is not shown
 
server/modules/db/oracle/client/client_21.6/ocijdbc21.sym (Binary) (added)
+++ server/modules/db/oracle/client/client_21.6/ocijdbc21.sym
Binary file is not shown
 
server/modules/db/oracle/client/client_21.6/ociw32.dll (Binary) (added)
+++ server/modules/db/oracle/client/client_21.6/ociw32.dll
Binary file is not shown
 
server/modules/db/oracle/client/client_21.6/ociw32.sym (Binary) (added)
+++ server/modules/db/oracle/client/client_21.6/ociw32.sym
Binary file is not shown
 
server/modules/db/oracle/client/client_21.6/ojdbc8.jar (Binary) (added)
+++ server/modules/db/oracle/client/client_21.6/ojdbc8.jar
Binary file is not shown
 
server/modules/db/oracle/client/client_21.6/oramysql.dll (Binary) (added)
+++ server/modules/db/oracle/client/client_21.6/oramysql.dll
Binary file is not shown
 
server/modules/db/oracle/client/client_21.6/oramysql.sym (Binary) (added)
+++ server/modules/db/oracle/client/client_21.6/oramysql.sym
Binary file is not shown
 
server/modules/db/oracle/client/client_21.6/orannzsbb.dll (Binary) (added)
+++ server/modules/db/oracle/client/client_21.6/orannzsbb.dll
Binary file is not shown
 
server/modules/db/oracle/client/client_21.6/orannzsbb.sym (Binary) (added)
+++ server/modules/db/oracle/client/client_21.6/orannzsbb.sym
Binary file is not shown
 
server/modules/db/oracle/client/client_21.6/oraocci21.dll (Binary) (added)
+++ server/modules/db/oracle/client/client_21.6/oraocci21.dll
Binary file is not shown
 
server/modules/db/oracle/client/client_21.6/oraocci21.sym (Binary) (added)
+++ server/modules/db/oracle/client/client_21.6/oraocci21.sym
Binary file is not shown
 
server/modules/db/oracle/client/client_21.6/oraocci21d.dll (Binary) (added)
+++ server/modules/db/oracle/client/client_21.6/oraocci21d.dll
Binary file is not shown
 
server/modules/db/oracle/client/client_21.6/oraocci21d.sym (Binary) (added)
+++ server/modules/db/oracle/client/client_21.6/oraocci21d.sym
Binary file is not shown
 
server/modules/db/oracle/client/client_21.6/oraociei.dll (added)
+++ server/modules/db/oracle/client/client_21.6/oraociei.dll
This diff is skipped because there are too many other diffs.
 
server/modules/db/oracle/client/client_21.6/oraociei.sym (Binary) (added)
+++ server/modules/db/oracle/client/client_21.6/oraociei.sym
Binary file is not shown
 
server/modules/db/oracle/client/client_21.6/orasql.dll (Binary) (added)
+++ server/modules/db/oracle/client/client_21.6/orasql.dll
Binary file is not shown
 
server/modules/db/oracle/client/client_21.6/orasql.sym (Binary) (added)
+++ server/modules/db/oracle/client/client_21.6/orasql.sym
Binary file is not shown
 
server/modules/db/oracle/client/client_21.6/ucp.jar (Binary) (added)
+++ server/modules/db/oracle/client/client_21.6/ucp.jar
Binary file is not shown
 
server/modules/db/oracle/client/client_21.6/uidrvci.exe (Binary) (added)
+++ server/modules/db/oracle/client/client_21.6/uidrvci.exe
Binary file is not shown
 
server/modules/db/oracle/client/client_21.6/uidrvci.sym (Binary) (added)
+++ server/modules/db/oracle/client/client_21.6/uidrvci.sym
Binary file is not shown
 
server/modules/db/oracle/client/client_21.6/xstreams.jar (Binary) (added)
+++ server/modules/db/oracle/client/client_21.6/xstreams.jar
Binary file is not shown
 
server/modules/db/postgresql/PostgresqlConnection.js (added)
+++ server/modules/db/postgresql/PostgresqlConnection.js
This diff is skipped because there are too many other diffs.
 
server/modules/log/Logger.js (added)
+++ server/modules/log/Logger.js
This diff is skipped because there are too many other diffs.
 
server/modules/util/Queue.js (added)
+++ server/modules/util/Queue.js
This diff is skipped because there are too many other diffs.
 
server/modules/web/Server.js (added)
+++ server/modules/web/Server.js
This diff is skipped because there are too many other diffs.
 
server/modules/web/public/error.html (added)
+++ server/modules/web/public/error.html
This diff is skipped because there are too many other diffs.
 
server/service/test/model/TestDAO.js (added)
+++ server/service/test/model/TestDAO.js
This diff is skipped because there are too many other diffs.
 
server/service/test/model/TestService.js (added)
+++ server/service/test/model/TestService.js
This diff is skipped because there are too many other diffs.
 
server/service/test/router/TestRouter.js (added)
+++ server/service/test/router/TestRouter.js
This diff is skipped because there are too many other diffs.
 
vetur.config.js (added)
+++ vetur.config.js
This diff is skipped because there are too many other diffs.
 
webpack.config.js (added)
+++ webpack.config.js
This diff is skipped because there are too many other diffs.
Add a comment
List