Merge branch 'master' of https://github.com/apache/trafodion into TRAFODION-3026


Project: http://git-wip-us.apache.org/repos/asf/trafodion/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafodion/commit/0d322885
Tree: http://git-wip-us.apache.org/repos/asf/trafodion/tree/0d322885
Diff: http://git-wip-us.apache.org/repos/asf/trafodion/diff/0d322885

Branch: refs/heads/master
Commit: 0d322885762617a8ca859b971ef53bb32097db8e
Parents: f04d51f 07e94f3
Author: Liu Ming <[email protected]>
Authored: Sun Jun 17 20:00:30 2018 -0400
Committer: Liu Ming <[email protected]>
Committed: Sun Jun 17 20:00:30 2018 -0400

----------------------------------------------------------------------
 .../jdbc/t4/CONNECTION_CONTEXT_def.java         |    1 +
 .../jdbc/t4/InitializeDialogueMessage.java      |    3 +-
 .../trafodion/jdbc/t4/InterfaceConnection.java  |    7 +-
 .../trafodion/jdbc/t4/InterfaceResultSet.java   |  103 +-
 .../org/trafodion/jdbc/t4/T4DSProperties.java   |    3 +
 .../org/trafodion/jdbc/t4/T4Properties.java     |   32 +-
 .../java/org/trafodion/jdbc/t4/TRANSPORT.java   |    1 +
 .../org/trafodion/jdbc/t4/TrafT4Statement.java  |    4 +-
 core/conn/odbc/src/odbc/Common/Global.h         |    3 +
 .../odbc/Krypton/generated_incs/odbcCommon.h    |    1 +
 .../src/odbc/nsksrvr/Interface/odbcs_srvr.cpp   |    1 +
 core/conn/odbc/src/odbc/nsksrvr/SrvrConnect.cpp |    1 +
 .../odbc/src/odbc/nsksrvrcore/srvrothers.cpp    |  124 +-
 core/conn/trafci/install/Installer.java-tmpl    |    8 +
 core/sqf/commonLogger/CommonLogger.cpp          |    3 +
 core/sqf/conf/log4cxx.monitor.trafns.config     |   45 +
 .../export/include/common/evl_sqlog_eventnum.h  |  129 +-
 core/sqf/export/include/seabed/ms.h             |    9 +
 core/sqf/export/include/trafconf/trafconfig.h   |   25 +-
 core/sqf/monitor/linux/cluster.cxx              | 1973 +++++++++++----
 core/sqf/monitor/linux/cluster.h                |   74 +-
 core/sqf/monitor/linux/commaccept.cxx           |   60 +-
 core/sqf/monitor/linux/config.cxx               |  416 +++-
 core/sqf/monitor/linux/config.h                 |   25 +-
 core/sqf/monitor/linux/device.h                 |    2 +
 core/sqf/monitor/linux/healthcheck.cxx          |  119 +-
 core/sqf/monitor/linux/healthcheck.h            |    5 +
 core/sqf/monitor/linux/internal.h               |   99 +-
 core/sqf/monitor/linux/lnode.cxx                |   47 +-
 core/sqf/monitor/linux/lnode.h                  |    3 +-
 core/sqf/monitor/linux/localio.h                |    7 +-
 core/sqf/monitor/linux/makefile                 |   79 +-
 core/sqf/monitor/linux/meas.cxx                 |  240 ++
 core/sqf/monitor/linux/meas.h                   |   75 +
 core/sqf/monitor/linux/mlio.cxx                 |   28 +-
 core/sqf/monitor/linux/mlio.h                   |    2 +
 core/sqf/monitor/linux/monitor.cxx              |  849 +++++--
 core/sqf/monitor/linux/monitor.h                |   16 +
 core/sqf/monitor/linux/monlogging.h             |    2 +
 core/sqf/monitor/linux/monmemlog.cxx            |   11 +
 core/sqf/monitor/linux/monsonar.h               |   18 +
 core/sqf/monitor/linux/montrace.cxx             |   24 +-
 core/sqf/monitor/linux/montrace.h               |   44 +-
 core/sqf/monitor/linux/msgdef.h                 |  159 ++
 core/sqf/monitor/linux/nameserver.cxx           | 1120 +++++++++
 core/sqf/monitor/linux/nameserver.h             |   74 +
 core/sqf/monitor/linux/notice.cxx               |  199 +-
 core/sqf/monitor/linux/notice.h                 |    7 +
 core/sqf/monitor/linux/nscluster.cxx            |   40 +
 core/sqf/monitor/linux/nscommaccept.cxx         |   28 +
 core/sqf/monitor/linux/nscommacceptmon.cxx      |  907 +++++++
 core/sqf/monitor/linux/nscommacceptmon.h        |   79 +
 core/sqf/monitor/linux/nsconfig.cxx             |   28 +
 core/sqf/monitor/linux/nshealthcheck.cxx        |   28 +
 core/sqf/monitor/linux/nslnode.cxx              |   28 +
 core/sqf/monitor/linux/nsmonitor.cxx            |   28 +
 core/sqf/monitor/linux/nsmontrace.cxx           |   28 +
 core/sqf/monitor/linux/nspnode.cxx              |   28 +
 core/sqf/monitor/linux/nsprocess.cxx            |  132 +
 core/sqf/monitor/linux/nsredirector.cxx         |   28 +
 core/sqf/monitor/linux/nsreplicate.cxx          |   28 +
 core/sqf/monitor/linux/nsreqdelproc.cxx         |  191 ++
 core/sqf/monitor/linux/nsreqnewproc.cxx         |  180 ++
 core/sqf/monitor/linux/nsreqprocinfo.cxx        |   28 +
 core/sqf/monitor/linux/nsreqprocinfons.cxx      |  288 +++
 core/sqf/monitor/linux/nsreqqueue.cxx           |  129 +
 core/sqf/monitor/linux/nsreqshutdown.cxx        |  110 +
 core/sqf/monitor/linux/nsreqstart.cxx           |  130 +
 core/sqf/monitor/linux/nsreqstop.cxx            |  124 +
 core/sqf/monitor/linux/nsreqworker.cxx          |   28 +
 core/sqf/monitor/linux/nstype.h                 |   28 +
 core/sqf/monitor/linux/pnode.cxx                |  735 +++++-
 core/sqf/monitor/linux/pnode.h                  |   61 +-
 core/sqf/monitor/linux/process.cxx              | 1495 ++++++++++--
 core/sqf/monitor/linux/process.h                |  109 +-
 core/sqf/monitor/linux/pstartd.cxx              |    1 +
 core/sqf/monitor/linux/ptpclient.cxx            | 1102 +++++++++
 core/sqf/monitor/linux/ptpclient.h              |   98 +
 core/sqf/monitor/linux/ptpcommaccept.cxx        |  444 ++++
 core/sqf/monitor/linux/ptpcommaccept.h          |   62 +
 core/sqf/monitor/linux/redirector.cxx           |  100 +-
 core/sqf/monitor/linux/redirector.h             |    2 +
 core/sqf/monitor/linux/replicate.cxx            |  442 +++-
 core/sqf/monitor/linux/replicate.h              |   75 +
 core/sqf/monitor/linux/reqdump.cxx              |   96 +-
 core/sqf/monitor/linux/reqevent.cxx             |  121 +-
 core/sqf/monitor/linux/reqget.cxx               |    2 +-
 core/sqf/monitor/linux/reqkill.cxx              |  152 +-
 core/sqf/monitor/linux/reqnewproc.cxx           |   71 +-
 core/sqf/monitor/linux/reqnodeadd.cxx           |    3 +-
 core/sqf/monitor/linux/reqnodedelete.cxx        |    2 +-
 core/sqf/monitor/linux/reqnodename.cxx          |    2 +-
 core/sqf/monitor/linux/reqnotify.cxx            |  155 +-
 core/sqf/monitor/linux/reqnsadd.cxx             |  197 ++
 core/sqf/monitor/linux/reqnsdelete.cxx          |  174 ++
 core/sqf/monitor/linux/reqnsstart.cxx           |   71 +
 core/sqf/monitor/linux/reqnsstop.cxx            |   71 +
 core/sqf/monitor/linux/reqopen.cxx              |   64 +-
 core/sqf/monitor/linux/reqprocinfo.cxx          |  633 +++--
 core/sqf/monitor/linux/reqqueue.cxx             | 2306 +++++++++++++++---
 core/sqf/monitor/linux/reqqueue.h               |  590 ++++-
 core/sqf/monitor/linux/reqtmleader.cxx          |   36 +
 core/sqf/monitor/linux/reqworker.cxx            |    6 +-
 core/sqf/monitor/linux/shell.cxx                | 1524 ++++++++++--
 core/sqf/monitor/linux/system.cxx               |    2 +-
 core/sqf/monitor/linux/tmsync.cxx               |   29 +
 core/sqf/monitor/linux/versns.cxx               |   30 +
 core/sqf/monitor/linux/zclient.cxx              |  125 +-
 core/sqf/monitor/linux/zclient.h                |    6 +
 core/sqf/monitor/linux/zootest.cxx              |   10 +-
 core/sqf/monitor/test/Makefile                  |    6 +-
 core/sqf/monitor/test/childExitChild.cxx        |    1 +
 core/sqf/monitor/test/childExitParent.cxx       |    1 +
 core/sqf/monitor/test/monitor.env               |   61 +
 core/sqf/monitor/test/montestutil.cxx           |    4 +-
 core/sqf/monitor/test/nameserver.env            |   61 +
 core/sqf/monitor/test/runtest                   |  258 +-
 core/sqf/monitor/test/sqconfig.monitor.cluster  |   39 -
 core/sqf/monitor/test/sqconfig.monitor.virtual  |    3 +
 core/sqf/sqenvcom.sh                            |   30 +-
 core/sqf/sql/scripts/createConfigDb             |    7 +
 core/sqf/sql/scripts/gensq.pl                   |   53 +
 core/sqf/sql/scripts/gomon.cold                 |  106 +-
 core/sqf/sql/scripts/install_local_hadoop       |   22 +-
 core/sqf/sql/scripts/monitor.env                |    2 +
 core/sqf/sql/scripts/nameserver.env             |   61 +
 core/sqf/sql/scripts/pstat                      |    2 +-
 core/sqf/sql/scripts/sqconfig                   |    4 +
 core/sqf/sql/scripts/sqconfig.persist           |   12 +-
 core/sqf/sql/scripts/sqconfig.sample            |   17 +-
 core/sqf/sql/scripts/sqconfigdb.pm              |   47 +
 core/sqf/sql/scripts/sqgen                      |  211 +-
 core/sqf/sql/scripts/sqnameserver.pm            |  151 ++
 core/sqf/sql/scripts/sqnodes.pm                 |    4 +-
 core/sqf/sql/scripts/sqpersist.pm               |    4 +-
 core/sqf/sql/scripts/sqstart                    |  213 +-
 core/sqf/sql/scripts/sqstop                     |   36 +-
 core/sqf/src/seabed/src/labelmaps.cpp           |   29 +
 core/sqf/src/seabed/test/Makefile               |   18 +-
 core/sqf/src/seabed/test/TEST-README.txt        |    1 +
 core/sqf/src/seabed/test/go141                  |    3 +
 core/sqf/src/seabed/test/go17                   |    2 +-
 core/sqf/src/seabed/test/go190                  |    3 +
 core/sqf/src/seabed/test/go20                   |    2 +-
 core/sqf/src/seabed/test/go22                   |    4 +-
 core/sqf/src/seabed/test/go23                   |    2 +-
 core/sqf/src/seabed/test/go286                  |   38 +
 core/sqf/src/seabed/test/go69mon                |    2 +
 core/sqf/src/seabed/test/go83                   |    2 +-
 core/sqf/src/seabed/test/goall                  |   26 +-
 core/sqf/src/seabed/test/gocleanport            |    2 +-
 core/sqf/src/seabed/test/godb.pl                |   15 +
 core/sqf/src/seabed/test/gohost                 |    2 +-
 core/sqf/src/seabed/test/gosetup                |    8 +-
 core/sqf/src/seabed/test/gosetupcl3             |    5 +-
 core/sqf/src/seabed/test/goshell                |    4 +-
 core/sqf/src/seabed/test/goshell124             |    4 +
 core/sqf/src/seabed/test/goshell176             |    4 +
 core/sqf/src/seabed/test/goshell31              |    6 +-
 core/sqf/src/seabed/test/goshell31d             |    6 +-
 core/sqf/src/seabed/test/goshell31vc            |    6 +-
 core/sqf/src/seabed/test/goshell49              |    6 +-
 core/sqf/src/seabed/test/goshell76              |    2 +-
 core/sqf/src/seabed/test/goshell93              |    2 +-
 core/sqf/src/seabed/test/goshell96              |    2 +-
 core/sqf/src/seabed/test/goshelln               |    4 +
 core/sqf/src/seabed/test/t169srv.cpp            |   11 +-
 core/sqf/src/seabed/test/t209ms.cpp             |    4 +
 core/sqf/src/seabed/test/t213fs.cpp             |   11 +-
 core/sqf/src/seabed/test/t226fs.cpp             |    4 +
 core/sqf/src/seabed/test/t228ms.cpp             |   23 +-
 core/sqf/src/seabed/test/t279ms.cpp             |   12 +-
 core/sqf/src/seabed/test/t280fs.cpp             |    2 +
 core/sqf/src/seabed/test/t286ms.cpp             |  396 +++
 core/sqf/src/seabed/test/tdelta.cpp             |  269 ++
 core/sqf/src/seabed/test/tmerge.cpp             |  322 +++
 core/sqf/src/seatrans/hbase-trx/pom.xml.hdp     |    1 +
 core/sqf/src/seatrans/hbase-trx/pom.xml.hdp2_1  |    1 +
 core/sqf/src/seatrans/hbase-trx/pom.xml.mapr    |  334 ---
 core/sqf/src/trafconf/Makefile                  |    7 +-
 core/sqf/src/trafconf/clusterconf.cpp           |   47 +
 core/sqf/src/trafconf/nameserverconfig.cpp      |  350 +++
 core/sqf/src/trafconf/nameserverconfig.h        |   79 +
 core/sqf/src/trafconf/persistconfig.cpp         |    3 +
 core/sqf/src/trafconf/tcdb.cpp                  |   44 +
 core/sqf/src/trafconf/tcdb.h                    |    4 +
 core/sqf/src/trafconf/tcdbsqlite.cpp            |  340 +++
 core/sqf/src/trafconf/tcdbsqlite.h              |    4 +
 core/sqf/src/trafconf/tcdbstore.h               |    4 +
 core/sqf/src/trafconf/tctrace.cpp               |    3 +-
 core/sqf/src/trafconf/tctrace.h                 |    4 +-
 core/sqf/src/trafconf/trafconf.cpp              |  221 +-
 core/sqf/src/trafconf/trafconfig.cpp            |   56 +
 core/sql/bin/SqlciErrors.txt                    |   11 +-
 core/sql/cli/Cli.cpp                            |   15 +
 core/sql/cli/Cli.h                              |    8 +-
 core/sql/cli/CliExtern.cpp                      |  122 +
 core/sql/cli/Context.cpp                        |   86 +
 core/sql/cli/Context.h                          |    6 +-
 core/sql/cli/SessionDefaults.cpp                |    4 +-
 core/sql/comexe/ComTdbExeUtil.cpp               |   15 -
 core/sql/comexe/ComTdbExeUtil.h                 |   23 +-
 core/sql/common/ComAnsiNamePart.cpp             |   24 +
 core/sql/common/ComAnsiNamePart.h               |    2 +
 core/sql/common/ComObjectName.cpp               |    7 +-
 core/sql/common/NAString.cpp                    |   27 +-
 core/sql/common/NAType.cpp                      |   10 +-
 core/sql/common/OperTypeEnum.h                  |    4 +
 core/sql/executor/ExComTdb.cpp                  |    1 -
 core/sql/executor/ExExeUtil.h                   |   55 +-
 core/sql/executor/ExExeUtilLoad.cpp             |   70 +-
 core/sql/executor/ExExeUtilMisc.cpp             |   39 -
 core/sql/executor/HiveClient_JNI.cpp            |    3 +-
 core/sql/executor/JavaObjectInterface.cpp       |   43 +-
 core/sql/executor/JavaObjectInterface.h         |    8 +-
 core/sql/executor/hiveHook.cpp                  |   14 +-
 core/sql/exp/ExpErrorEnums.h                    |    1 +
 core/sql/exp/ExpLOB.cpp                         |  131 +-
 core/sql/exp/ExpLOB.h                           |   15 +-
 core/sql/exp/ExpLOBenums.h                      |    2 +-
 core/sql/exp/ExpLOBexternal.h                   |    4 +-
 core/sql/exp/ExpPCodeClauseGen.cpp              |    4 +
 core/sql/exp/exp_clause.cpp                     |    3 +
 core/sql/exp/exp_clause_derived.h               |   14 +-
 core/sql/export/ComDiags.cpp                    |    1 +
 core/sql/generator/GenExpGenerator.cpp          |    2 +
 core/sql/generator/GenExpGenerator.h            |    9 +-
 core/sql/generator/GenExplain.cpp               |   25 +-
 core/sql/generator/GenFastTransport.cpp         |    6 +
 core/sql/generator/GenItemExpr.cpp              |    2 +
 core/sql/generator/GenItemFunc.cpp              |   10 +-
 core/sql/generator/GenPreCode.cpp               |    8 +-
 core/sql/generator/GenRelExeUtil.cpp            |   26 +-
 core/sql/generator/GenRelScan.cpp               |    4 +
 core/sql/generator/Generator.h                  |    2 +-
 core/sql/optimizer/BindItemExpr.cpp             |    5 -
 core/sql/optimizer/BindRelExpr.cpp              |    5 +-
 core/sql/optimizer/ItemExpr.cpp                 |   18 +-
 core/sql/optimizer/NATable.cpp                  |   31 +-
 core/sql/optimizer/NATable.h                    |   42 +-
 core/sql/optimizer/NormRelExpr.cpp              |   18 +-
 core/sql/optimizer/RelExeUtil.cpp               |   92 +-
 core/sql/optimizer/RelExeUtil.h                 |   11 +-
 core/sql/optimizer/RelExpr.cpp                  |    4 +-
 core/sql/optimizer/RelMisc.h                    |    2 +
 core/sql/optimizer/hiveHook.h                   |   16 +
 core/sql/parser/AllStmtDDL.h                    |    2 +
 core/sql/parser/ElemDDLConstraintPK.h           |   23 +-
 core/sql/parser/ElemDDLLikeOptions.cpp          |   30 +
 core/sql/parser/ElemDDLLikeOptions.h            |   33 +
 core/sql/parser/ElemDDLNode.cpp                 |    6 +
 core/sql/parser/ElemDDLNode.h                   |    6 +-
 core/sql/parser/ParDDLLikeOpts.cpp              |   15 +
 core/sql/parser/ParDDLLikeOptsCreateTable.h     |   14 +
 core/sql/parser/SqlParserAux.cpp                |   75 +-
 core/sql/parser/SqlParserAux.h                  |   14 +-
 core/sql/parser/StmtDDLCleanupObjects.h         |    4 +-
 core/sql/parser/StmtDDLCreate.cpp               |   35 +-
 core/sql/parser/StmtDDLCreateTable.h            |   14 +
 core/sql/parser/StmtDDLCreateView.h             |    7 +
 core/sql/parser/StmtDDLDrop.cpp                 |    3 +-
 core/sql/parser/StmtDDLDropView.h               |    6 +
 core/sql/parser/StmtDDLMisc.cpp                 |    2 -
 core/sql/parser/StmtDDLRegOrUnregHive.cpp       |    4 +-
 core/sql/parser/StmtDDLRegOrUnregHive.h         |    6 +-
 core/sql/parser/StmtDDLonHiveObjects.h          |  191 ++
 core/sql/parser/sqlparser.y                     |  807 ++++--
 core/sql/parser/ulexer.cpp                      |   25 +-
 core/sql/regress/compGeneral/EXPECTEDTOK        |    4 +-
 core/sql/regress/compGeneral/EXPECTEDTOK2       |    4 +-
 core/sql/regress/core/EXPECTED002.LINUX         |   15 +
 core/sql/regress/core/EXPECTED056.SB            |    6 +
 core/sql/regress/core/TEST002                   |    5 +
 core/sql/regress/core/TEST056                   |    2 +
 core/sql/regress/executor/EXPECTED020           |    4 +
 core/sql/regress/executor/EXPECTED063           |   24 +-
 core/sql/regress/executor/EXPECTED122           |   27 +-
 core/sql/regress/executor/TEST063               |    2 +-
 core/sql/regress/executor/TEST122               |    5 +-
 core/sql/regress/hive/DIFF003.KNOWN             |   10 +-
 core/sql/regress/hive/DIFF008.KNOWN             |    7 +
 core/sql/regress/hive/DIFF009.KNOWN             |    3 +
 core/sql/regress/hive/EXPECTED003               |    2 +-
 core/sql/regress/hive/EXPECTED005               |  189 +-
 core/sql/regress/hive/EXPECTED007               |  314 ++-
 core/sql/regress/hive/EXPECTED008               | 1108 +++++++++
 core/sql/regress/hive/EXPECTED009               |   96 +-
 core/sql/regress/hive/EXPECTED018               |  840 ++++---
 core/sql/regress/hive/FILTER005                 |    1 +
 core/sql/regress/hive/FILTER008                 |   35 +
 core/sql/regress/hive/TEST003                   |    2 +-
 core/sql/regress/hive/TEST005                   |   57 +-
 core/sql/regress/hive/TEST005_a.hive.sql        |    2 +
 core/sql/regress/hive/TEST007                   |   53 +-
 core/sql/regress/hive/TEST008                   |  309 +++
 core/sql/regress/hive/TEST009                   |    4 +-
 core/sql/regress/hive/TEST009_a.hive.sql        |    8 +-
 core/sql/regress/hive/TEST009_b.hive.sql        |   30 +-
 core/sql/regress/hive/TEST018                   |  160 +-
 .../hive/TEST018_create_hive_tables.hive        |   20 +-
 core/sql/regress/privs2/EXPECTED129             |   36 +-
 core/sql/regress/privs2/TEST138                 |    1 +
 core/sql/regress/seabase/EXPECTED003            |    6 +-
 core/sql/regress/seabase/EXPECTED020            |   58 +-
 core/sql/regress/seabase/EXPECTED031            |   59 +-
 core/sql/regress/seabase/EXPECTED032            |  248 +-
 core/sql/regress/seabase/TEST020                |    4 +-
 core/sql/regress/seabase/TEST026                |    1 +
 core/sql/regress/seabase/TEST031                |   10 +-
 core/sql/regress/seabase/TEST032                |   56 +
 core/sql/runtimestats/SqlStats.cpp              |   22 +-
 core/sql/runtimestats/SqlStats.h                |    3 +
 core/sql/runtimestats/rts_msg.cpp               |   39 +
 core/sql/runtimestats/rts_msg.h                 |   40 +-
 core/sql/runtimestats/sscpipc.cpp               |   53 +
 core/sql/runtimestats/sscpipc.h                 |    1 +
 core/sql/runtimestats/ssmpipc.cpp               |   85 +
 core/sql/runtimestats/ssmpipc.h                 |    5 +-
 core/sql/sqlcomp/CmpDescribe.cpp                |  277 ++-
 core/sql/sqlcomp/CmpDescribe.h                  |   68 +-
 core/sql/sqlcomp/CmpSeabaseDDL.h                |   36 +-
 core/sql/sqlcomp/CmpSeabaseDDLcleanup.cpp       |  185 +-
 core/sql/sqlcomp/CmpSeabaseDDLcleanup.h         |    5 +-
 core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp        |   28 +-
 core/sql/sqlcomp/CmpSeabaseDDLschema.cpp        |    5 +-
 core/sql/sqlcomp/CmpSeabaseDDLtable.cpp         | 1583 +++++++++---
 core/sql/sqlcomp/CmpSeabaseDDLview.cpp          |   20 +
 core/sql/sqlcomp/DefaultConstants.h             |   20 +
 core/sql/sqlcomp/nadefaults.cpp                 |   17 +-
 core/sql/sqlcomp/parser.cpp                     |  131 +-
 core/sql/sqlcomp/parser.h                       |  100 +
 .../main/java/org/trafodion/sql/HiveClient.java |    6 +-
 core/sql/ustat/hs_la.cpp                        |    6 +-
 .../org/trafodion/dcs/server/ServerManager.java |   14 +-
 .../src/asciidoc/_chapters/sql_statements.adoc  |   68 +-
 335 files changed, 28640 insertions(+), 4748 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafodion/blob/0d322885/core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp
----------------------------------------------------------------------

Reply via email to