home.html 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755
  1. <?php
  2. session_start();
  3. //Can't come in without logged in
  4. if (!isset($_SESSION['loggedin'])) {
  5. header('Location: pages-signin.html');
  6. exit;
  7. }
  8. ?>
  9. <!doctype html>
  10. <html class="fixed">
  11. <head>
  12. <!-- Basic -->
  13. <meta charset="UTF-8">
  14. <title>資料庫管理</title>
  15. <meta name="keywords" content="HTML5 Admin Template" />
  16. <meta name="description" content="JSOFT Admin - Responsive HTML5 Template">
  17. <meta name="author" content="JSOFT.net">
  18. <script src="assets/vendor/jquery/jquery.js"></script>
  19. <!-- Mobile Metas -->
  20. <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
  21. <!-- Web Fonts -->
  22. <link href="http://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700,800|Shadows+Into+Light" rel="stylesheet" type="text/css">
  23. <!-- jstree CSS -->
  24. <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jstree/3.3.4/themes/default/style.min.css">
  25. <!-- Vendor CSS -->
  26. <link rel="stylesheet" href="assets/vendor/bootstrap/css/bootstrap.css" />
  27. <link rel="stylesheet" href="assets/vendor/font-awesome/css/font-awesome.css" />
  28. <link rel="stylesheet" href="assets/vendor/magnific-popup/magnific-popup.css" />
  29. <link rel="stylesheet" href="assets/vendor/bootstrap-datepicker/css/datepicker3.css" />
  30. <link rel="stylesheet" href="assets/vendor/pnotify/pnotify.custom.css" />
  31. <!-- Specific Page Vendor CSS -->
  32. <link rel="stylesheet" href="assets/vendor/jquery-ui/css/ui-lightness/jquery-ui-1.10.4.custom.css" />
  33. <link rel="stylesheet" href="assets/vendor/bootstrap-multiselect/bootstrap-multiselect.css" />
  34. <link rel="stylesheet" href="assets/vendor/morris/morris.css" />
  35. <link rel="stylesheet" href="assets/vendor/bootstrap-fileupload/bootstrap-fileupload.min.css" />
  36. <!-- Theme CSS -->
  37. <link rel="stylesheet" href="assets/stylesheets/theme.css" />
  38. <!-- Skin CSS -->
  39. <link rel="stylesheet" href="assets/stylesheets/skins/default.css" />
  40. <!-- Theme Custom CSS -->
  41. <link rel="stylesheet" href="assets/stylesheets/theme-custom.css">
  42. <!-- Head Libs -->
  43. <script src="assets/vendor/modernizr/modernizr.js"></script>
  44. <!-- chart.js -->
  45. <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
  46. <!-- DataTable -->
  47. <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.25/css/jquery.dataTables.css">
  48. <script type="text/javascript" charset="utf8" src="https://cdn.datatables.net/1.10.25/js/jquery.dataTables.js"></script>
  49. <!-- Icon -->
  50. <link rel="shortcut icon" href="assets/images/favicon.ico" />
  51. <link href="https://js.arcgis.com/4.21/esri/themes/light/main.css" rel="stylesheet">
  52. <link href="./CustomCSS/main.css" rel="stylesheet">
  53. <script src="./script/js/bootstrap.js"></script>
  54. <script src="./script/js/pdfobject.min.js"></script>
  55. <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jstree/3.3.4/jstree.min.js"></script>
  56. <script src="./script/js/jstreeAJAX.js"></script>
  57. <script src="https://js.arcgis.com/4.21/"></script>
  58. <style>
  59. .row {
  60. margin-top: -15px;
  61. }
  62. .page-header>ul {
  63. list-style: none;
  64. padding: 0;
  65. margin: 0;
  66. }
  67. .page-header>ul>li {
  68. display: inline-block;
  69. font-size: 25px;
  70. color: #FFFFFF;
  71. }
  72. .page-header>ul>li.right {
  73. float: right;
  74. padding-right: 10px;
  75. }
  76. .input-search {
  77. margin-top: 8px;
  78. }
  79. .page-header li>label {
  80. margin-top: 13px;
  81. border-bottom: 4px solid #0088cc;
  82. height: 41px;
  83. }
  84. .sidebar-left {
  85. box-shadow: 0 0 0;
  86. }
  87. .jstree-default .jstree-icon {
  88. color: #ffe693;
  89. }
  90. .jqsfield {
  91. color: white;
  92. font: 10px arial, san serif;
  93. text-align: left;
  94. }
  95. .jstree-anchor {
  96. width: 250px;
  97. text-overflow: ellipsis;
  98. overflow: hidden;
  99. white-space: nowrap;
  100. }
  101. .jstree-anchor,
  102. .jstree-anchor:link,
  103. .jstree-anchor:visited,
  104. .jstree-anchor:hover,
  105. .jstree-anchor:active {
  106. color: #abb4be;
  107. }
  108. td,
  109. th {
  110. text-align: center;
  111. }
  112. th {
  113. width: 30%;
  114. }
  115. .nav-main {
  116. padding: 15px;
  117. }
  118. .node-hidden {
  119. display: none;
  120. }
  121. html.fixed .page-header {
  122. left: 349px;
  123. }
  124. html.fixed .content-body {
  125. margin-left: 350px;
  126. }
  127. .sidebar-left {
  128. width: 350px;
  129. }
  130. #datatable-ajax tr:hover {
  131. background-color: #e8e8e8;
  132. }
  133. #viewDiv {
  134. height: 100%;
  135. width: 100%;
  136. }
  137. #zoom {
  138. margin-bottom: 5px;
  139. }
  140. #actions {
  141. padding: 5px;
  142. }
  143. .container {
  144. height: 50%;
  145. width: 100%;
  146. }
  147. #createSlideDiv {
  148. background-color: white;
  149. opacity: 0.9;
  150. color: black;
  151. padding: 6px;
  152. }
  153. #slidesDiv {
  154. background-color: white;
  155. opacity: 0.9;
  156. color: black;
  157. padding: 10px;
  158. visibility: hidden;
  159. bottom: 20px;
  160. overflow-y: auto;
  161. text-align: center;
  162. height: 260px;
  163. }
  164. #slidesDiv .slide {
  165. /* Show cursor as pointer when on a slide */
  166. cursor: pointer;
  167. margin-bottom: 6px;
  168. }
  169. #slidesDiv .slide .title {
  170. /* Center the title text */
  171. text-align: center;
  172. }
  173. /* Draw active slide with a nice border around the thumbnail */
  174. #slidesDiv .slide.active img {
  175. box-shadow: 0px 0px 12px black;
  176. border-style: solid;
  177. border-width: thin;
  178. border-color: black;
  179. }
  180. .pdfobject-container {
  181. height: 730px;
  182. }
  183. #topbar {
  184. background: #fff;
  185. padding: 10px;
  186. }
  187. #datatable-ajax_length {
  188. width: 100%;
  189. }
  190. </style>
  191. <script>
  192. $(document).ready(function() {
  193. getToken();
  194. });
  195. var token;
  196. function getToken() {
  197. var t;
  198. $.ajax({
  199. url: "./scripts/PHP/access_token.php",
  200. type: "GET",
  201. async: false,
  202. }).done(function(data) {
  203. token = data;
  204. //data = JSON.parse(data);
  205. }).error(function() {
  206. });
  207. }
  208. require([
  209. "esri/config",
  210. "esri/Map",
  211. "esri/WebScene",
  212. "esri/views/SceneView",
  213. "esri/core/urlUtils",
  214. "esri/identity/OAuthInfo",
  215. "esri/identity/IdentityManager",
  216. "esri/widgets/Legend",
  217. "esri/widgets/Home",
  218. "esri/widgets/Fullscreen",
  219. "esri/widgets/Slider",
  220. "esri/widgets/BasemapGallery",
  221. "esri/widgets/LayerList",
  222. "esri/layers/GroupLayer",
  223. "esri/layers/FeatureLayer",
  224. "esri/widgets/FeatureTable",
  225. "esri/tasks/support/Query",
  226. "esri/layers/SceneLayer",
  227. "esri/widgets/Zoom",
  228. "esri/widgets/Compass",
  229. "esri/widgets/NavigationToggle",
  230. "esri/widgets/Slice",
  231. "esri/widgets/Search",
  232. "esri/geometry/Point",
  233. "esri/geometry/Polyline",
  234. "esri/webscene/Slide",
  235. "esri/symbols/WebStyleSymbol",
  236. "esri/widgets/DirectLineMeasurement3D",
  237. "esri/widgets/AreaMeasurement3D",
  238. "esri/Graphic",
  239. "esri/widgets/Search/LocatorSearchSource",
  240. "esri/renderers/UniqueValueRenderer",
  241. "esri/geometry/geometryEngine",
  242. "esri/widgets/Expand",
  243. "esri/layers/GeoJSONLayer",
  244. "esri/PopupTemplate",
  245. "esri/renderers/Renderer",
  246. "esri/geometry/projection"
  247. ], (esriConfig, Map, WebScene, SceneView, urlUtils, OAuthInfo, esriId,
  248. Legend,
  249. Home,
  250. Fullscreen,
  251. Slider,
  252. BasemapGallery,
  253. LayerList,
  254. GroupLayer,
  255. FeatureLayer,
  256. FeatureTable,
  257. Query,
  258. SceneLayer,
  259. Zoom,
  260. Compass,
  261. NavigationToggle,
  262. Slice,
  263. Search,
  264. Point,
  265. Polyline,
  266. Slide,
  267. WebStyleSymbol,
  268. DirectLineMeasurement3D,
  269. AreaMeasurement3D,
  270. Graphic,
  271. LocatorSearchSource,
  272. UniqueValueRenderer,
  273. geometryEngine,
  274. Expand, GeoJsonLayer, PopupTemplate, Renderer, projection) => {
  275. esriConfig.apiKey = token;
  276. let activeWidget = null;
  277. const webscene = new WebScene({
  278. portalItem: {
  279. id: "dea6580d8d4547df9915a822fe7f2b9d"
  280. },
  281. opacity: .75,
  282. showAttribution: false,
  283. });
  284. var featureLayer = new FeatureLayer({
  285. url: "https://services3.arcgis.com/W6g8dmWX0ILAHcNd/arcgis/rest/services/%E5%B7%A5%E7%A8%8B%E8%A8%AD%E8%A8%88%E8%B3%87%E6%96%99%E5%BA%AB/FeatureServer",
  286. outFields: ["*"],
  287. //renderer: poleRenderer,
  288. title: "工程設計資料庫",
  289. elevationInfo: "on-the-ground",
  290. visible: true
  291. });
  292. webscene.add(featureLayer);
  293. const view = new SceneView({
  294. container: "viewDiv",
  295. map: webscene,
  296. popup: {
  297. defaultPopupTemplateEnabled: true,
  298. dockEnabled: true,
  299. dockOptions: {
  300. breakpoint: false,
  301. buttonEnabled: false,
  302. position: "bottom-right",
  303. }
  304. }
  305. });
  306. window.view = view;
  307. view.ui.empty("top-left");
  308. //view.ui.empty("manual");
  309. view.ui.add(
  310. new Expand({
  311. view: view,
  312. content: new BasemapGallery({
  313. view: view
  314. }),
  315. autoCollapse: true,
  316. group: "top-left"
  317. }),
  318. "top-left"
  319. );
  320. view.ui.add(
  321. new Expand({
  322. view: view,
  323. content: new Legend({
  324. view: view
  325. }),
  326. autoCollapse: true,
  327. group: "top-left"
  328. }),
  329. "top-left"
  330. );
  331. view.ui.add(
  332. new Home({
  333. view: view,
  334. group: "top-left"
  335. }),
  336. "top-left"
  337. );
  338. //新增量測工具
  339. view.ui.add("topbar", "bottom-right");
  340. document
  341. .getElementById("distanceButton")
  342. .addEventListener("click", (event) => {
  343. setActiveWidget(null);
  344. if (!event.target.classList.contains("active")) {
  345. setActiveWidget("distance");
  346. } else {
  347. setActiveButton(null);
  348. }
  349. });
  350. document
  351. .getElementById("areaButton")
  352. .addEventListener("click", (event) => {
  353. setActiveWidget(null);
  354. if (!event.target.classList.contains("active")) {
  355. setActiveWidget("area");
  356. } else {
  357. setActiveButton(null);
  358. }
  359. });
  360. document
  361. .getElementById("clear")
  362. .addEventListener("click", (event) => {
  363. setActiveWidget(null);
  364. setActiveButton(null);
  365. });
  366. function setActiveWidget(type) {
  367. switch (type) {
  368. case "distance":
  369. activeWidget = new DirectLineMeasurement3D({
  370. view: view
  371. });
  372. // skip the initial 'new measurement' button
  373. activeWidget.viewModel.start().catch((error) => {
  374. if (promiseUtils.isAbortError(error)) {
  375. return; // don't display abort errors
  376. }
  377. throw error; // throw other errors since they are of interest
  378. });
  379. view.ui.add(activeWidget, "bottom-left");
  380. setActiveButton(document.getElementById("distanceButton"));
  381. break;
  382. case "area":
  383. activeWidget = new AreaMeasurement3D({
  384. view: view
  385. });
  386. // skip the initial 'new measurement' button
  387. activeWidget.viewModel.start().catch((error) => {
  388. if (promiseUtils.isAbortError(error)) {
  389. return; // don't display abort errors
  390. }
  391. throw error; // throw other errors since they are of interest
  392. });
  393. view.ui.add(activeWidget, "bottom-left");
  394. setActiveButton(document.getElementById("areaButton"));
  395. break;
  396. case null:
  397. if (activeWidget) {
  398. view.ui.remove(activeWidget);
  399. activeWidget.destroy();
  400. activeWidget = null;
  401. }
  402. break;
  403. }
  404. }
  405. function setActiveButton(selectedButton) {
  406. // focus the view to activate keyboard shortcuts for sketching
  407. view.focus();
  408. const elements = document.getElementById("topbar").getElementsByClassName("active");
  409. for (let i = 0; i < elements.length; i++) {
  410. elements[i].classList.remove("active");
  411. }
  412. if (selectedButton) {
  413. selectedButton.classList.add("active");
  414. }
  415. }
  416. view.ui.add(
  417. new Fullscreen({
  418. view: view,
  419. group: "top-left"
  420. }),
  421. "top-right"
  422. );
  423. view.ui.add(
  424. new Zoom({
  425. view: view
  426. }),
  427. "top-right"
  428. );
  429. view.ui.add(
  430. new NavigationToggle({
  431. view: view
  432. }),
  433. "top-right"
  434. );
  435. view.ui.add(
  436. new Compass({
  437. view: view
  438. }),
  439. "top-right"
  440. );
  441. $("#measureExpendDiv .esri-widget--button").click(function() {
  442. if (pMeasureExpand.expanded) {
  443. activeMeasureWidget.viewModel.newMeasurement();
  444. } else {
  445. activeMeasureWidget.viewModel.clearMeasurement();
  446. }
  447. });
  448. function zoomToLayer(layer) {
  449. return layer.queryExtent().then((response) => {
  450. view.goTo({
  451. target: response.extent,
  452. tilt: 0,
  453. heading: 0,
  454. }).catch((error) => {
  455. console.error(error);
  456. });
  457. });
  458. }
  459. $('#treeAjaxHTML').on("select_node.jstree", function(e, data) {
  460. if (data.node.text.includes("-")) {
  461. project_id = data.node.text.split("-")[0];
  462. featureLayer.definitionExpression = "計畫編號 = " + project_id;
  463. zoomToLayer(featureLayer);
  464. }
  465. /*else{
  466. type = data.node.text;
  467. console.log(type);
  468. featureLayer.definitionExpression = "工程類別 = '"+ type + "'";
  469. zoomToLayer(featureLayer);
  470. }*/
  471. });
  472. view.when(function() {
  473. });
  474. });
  475. </script>
  476. </head>
  477. <body>
  478. <script type="application/javascript">
  479. var test;
  480. var i = 0;
  481. var download;
  482. var fileName;
  483. var folder;
  484. var software;
  485. var userName = 'maabim';
  486. jQuery(window).load(function() {
  487. var searchURL = window.location.search;
  488. searchURL = searchURL.substring(1, searchURL.length);
  489. if (searchURL.includes("=")) {
  490. projectId = decodeURIComponent(searchURL.split("&")[1].split("=")[1]);
  491. var projectNode = $(".jstree-anchor").filter(function() {
  492. return $(this).text().includes(projectId);
  493. });
  494. var projectId = projectNode[0].attributes.id.value;
  495. $('#treeAjaxHTML').jstree("select_node", projectId);
  496. $("#treeAjaxHTML").jstree("close_all");
  497. }
  498. });
  499. //var typeId = node[0].attributes.id.value;
  500. </script>
  501. <section class="body">
  502. <!-- start: header -->
  503. <header class="header">
  504. <div class="logo-container">
  505. <div class="banner-txt">資料庫管理</div>
  506. <div class="visible-xs toggle-sidebar-left" data-toggle-class="sidebar-left-opened" data-target="html" data-fire-event="sidebar-left-opened">
  507. <i class="fa fa-bars" aria-label="Toggle sidebar"></i>
  508. </div>
  509. </div>
  510. <!-- start: search & user box -->
  511. <div class="header-right">
  512. <span class="separator"></span>
  513. <ul class="notifications">
  514. <li>
  515. <a href="/Front-Page/home.php" class="notification-icon" data-toggle="tooltip" title="綜合登入入口" data-placement="bottom">
  516. <i class="fa fa-home"></i>
  517. </a>
  518. </li>
  519. </ul>
  520. <span class="separator"></span>
  521. <div id="userbox" class="userbox">
  522. <a href="#" data-toggle="dropdown">
  523. <figure class="profile-picture"> <img src="assets/images/!logged-user.jpg" alt="Joseph Doe" class="img-circle" data-lock-picture="assets/images/!logged-user.jpg" /> </figure>
  524. <div class="profile-info" data-lock-name="John Doe" data-lock-email="johndoe@JSOFT.com"> <span class="name"><?php echo $_SESSION['name'] ?></span> <span class="role">administrator</span> </div> <i class="fa custom-caret"></i>
  525. </a>
  526. <div class="dropdown-menu">
  527. <ul class="list-unstyled">
  528. <li class="divider"></li>
  529. <li> <a role="menuitem" tabindex="-1" href="./script/php/Logout.php"><i class="fa fa-power-off"></i> Logout</a> </li>
  530. </ul>
  531. </div>
  532. </div>
  533. </div>
  534. <!-- end: search & user box -->
  535. </header>
  536. <!-- end: header -->
  537. <div class="inner-wrapper">
  538. <!-- start: sidebar -->
  539. <aside id="sidebar-left" class="sidebar-left">
  540. <div class="nano">
  541. <div class="nano-content">
  542. <nav id="menu" class="nav-main" role="navigation">
  543. <div class="widget-header clearfix">
  544. <h6 class="title pull-left mt-xs">資料庫文件</h6>
  545. </div>
  546. <div class="widget-content">
  547. <div class="jstree jstree-1 jstree-default" id="treeAjaxHTML"></div>
  548. </div>
  549. </nav>
  550. </div>
  551. </div>
  552. </aside>
  553. <!-- end: sidebar -->
  554. <section role="main" class="content-body">
  555. <header class="page-header">
  556. <ul>
  557. <li>
  558. <label id="header"></label>
  559. </li>
  560. <li class="right">
  561. <div class="input-group input-search" style="table-layout: auto;"><input type="text" class="form-control" name="search" id="search" placeholder="Search..."><span class="input-group-btn"><button class="btn btn-default" id="btn-search"><i class="fa fa-search"></i></button></span></div>
  562. </li>
  563. </ul>
  564. </header>
  565. <div class="row">
  566. <div class="col-md-6">
  567. <section class="panel">
  568. <div class="panel-body">
  569. <button id="reset" type="button" class="mb-xs mr-xs btn btn-default" style="float: right;"><i class="fa fa-reply"></i> 上一層</button>
  570. <table style="width:99%;" class="table table-bordered table-striped" id="datatable-ajax">
  571. <thead>
  572. <tr>
  573. <th id="SN">項次</th>
  574. <th id="name">類別</th>
  575. <th>關鍵字</th>
  576. <th>版次</th>
  577. <th>檔案數</th>
  578. </tr>
  579. </thead>
  580. <tbody>
  581. </tbody>
  582. </table>
  583. </div>
  584. </section>
  585. <section class="panel">
  586. <div id="panel" class="panel-body" style="height: 300px;">
  587. <div class="table-responsive" style="display:none;">
  588. <table class="table table-bordered mb-none" id="tableDetail">
  589. <tbody>
  590. <tr>
  591. <th>計畫編號</th>
  592. <td id="plan_code"></td>
  593. </tr>
  594. <tr>
  595. <th>計畫名稱</th>
  596. <td id="plan_name"></td>
  597. </tr>
  598. <tr>
  599. <th>圖名</th>
  600. <td id="fileName"></td>
  601. </tr>
  602. <tr>
  603. <th>版次</th>
  604. <td id="version"></td>
  605. </tr>
  606. <tr>
  607. <th>文件</th>
  608. <td id="download"></td>
  609. </tr>
  610. </tbody>
  611. </table>
  612. </div>
  613. </div>
  614. </section>
  615. </div>
  616. <div class="col-md-6">
  617. <div class="tabs">
  618. <ul class="nav nav-tabs nav-justified">
  619. <li class="active">
  620. <a href="#arcgisTab" data-toggle="tab" class="text-center"><i class="fa fa-map-marker"></i> ArcGIS</a>
  621. </li>
  622. <li>
  623. <a href="#pdfTab" data-toggle="tab" class="text-center"><i class="fa fa-file"></i> Pdf 預覽</a>
  624. </li>
  625. </ul>
  626. <div class="tab-content">
  627. <div id="arcgisTab" class="tab-pane active">
  628. <div id="arcgis" class="panel-body" style="height: 730px;">
  629. <div class="mapok" style="height:100%">
  630. <div id="topbar" class="esri-component esri-widget">
  631. <button id="distanceButton" class="action-button esri-icon-measure-line" type="button" title="Measure distance between two points"></button>
  632. <button id="areaButton" class="action-button esri-icon-measure-area" type="button" title="Measure area"></button>
  633. <button id="clear" class="action-button esri-icon-trash" title="Clear Measurements"></button>
  634. </div>
  635. <div id="viewDiv"></div>
  636. <div id="measureExpendDiv"></div>
  637. <div id="measureExpendDiv2"></div>
  638. <div id="slidesDiv" class="esri-widget"></div>
  639. <span style="display:none;" id="project-id"></span>
  640. </div>
  641. </div>
  642. </div>
  643. <div id="pdfTab" class="tab-pane">
  644. <div id="pdfFile"></div>
  645. </div>
  646. </div>
  647. </div>
  648. </div>
  649. </div>
  650. </div>
  651. </section>
  652. </div>
  653. </section>
  654. <script>
  655. </script>
  656. </body>
  657. </html>