#! <?xml version="1.0" encoding="UTF-8" ?>
#! <WORKSPACE
#    Command-line to run this workspace:
#        /Library/FME/2020.0/fme "/Users/sanae.mendoza/Documents/Application Integration Demo Workspaces/Project/ContractorApp.fmw"
#              --workorderid "134681"
#              --Date "20200618"
#              --contractor "1022"
#              --hours "6"
#              --material "7642"
#              --status "COMPLETE"
#              --DestDataset_HTML "/Users/alex.cebry/Downloads/complete.html"
#    
#!   ATTR_TYPE_ENCODING="SDF"
#!   BEGIN_PYTHON=""
#!   BEGIN_TCL=""
#!   CATEGORY=""
#!   DESCRIPTION=""
#!   DESTINATION="NONE"
#!   DESTINATION_ROUTING_FILE=""
#!   DOC_EXTENTS="6229.36 1356.85"
#!   DOC_TOP_LEFT="30.0003 -1680.02"
#!   END_PYTHON=""
#!   END_TCL=""
#!   EXPLICIT_BOOKMARK_ORDER="false"
#!   FME_BUILD_NUM="20218"
#!   FME_DOCUMENT_GUID="06dba55c-ffe3-46b1-9b0a-c8e41544481d"
#!   FME_DOCUMENT_PRIORGUID="901b8607-2aee-46d2-a756-a652b455836b,394ab413-e21f-444a-9143-1b6efce8e651,12621bcb-20d9-4b51-b4a2-31dca6252d84,c0ad190a-7520-498d-b7f7-2a0666de40db,28904d8c-e10f-432b-bc59-b15a173a168d,da8ba36d-078b-42b2-8e69-3c38268281b8,96cb072c-6999-4637-9c1d-6d40ffeee922,be4d18ce-f877-4db4-88f7-b022c5c40841"
#!   FME_GEOMETRY_HANDLING="Enhanced"
#!   FME_IMPLICIT_CSMAP_REPROJECTION_MODE="Auto"
#!   FME_REPROJECTION_ENGINE="FME"
#!   FME_SERVER_SERVICES=""
#!   FME_STROKE_MAX_DEVIATION="0"
#!   HISTORY=""
#!   IGNORE_READER_FAILURE="No"
#!   LAST_SAVE_BUILD="FME(R) 2020.0.1.0 (20200407 - Build 20218 - macosx)"
#!   LAST_SAVE_DATE="2020-07-16T10:20:28"
#!   LOG_FILE=""
#!   LOG_MAX_RECORDED_FEATURES="200"
#!   MARKDOWN_DESCRIPTION=""
#!   MARKDOWN_USAGE=""
#!   MAX_LOG_FEATURES="200"
#!   MULTI_WRITER_DATASET_ORDER="BY_ID"
#!   PASSWORD=""
#!   PYTHON_COMPATIBILITY="37"
#!   REDIRECT_TERMINATORS="NONE"
#!   SAVE_ON_PROMPT_AND_RUN="Yes"
#!   SHOW_ANNOTATIONS="true"
#!   SHOW_INFO_NODES="true"
#!   SOURCE="NONE"
#!   SOURCE_ROUTING_FILE=""
#!   TERMINATE_REJECTED="NO"
#!   TITLE=""
#!   USAGE=""
#!   USE_MARKDOWN=""
#!   VIEW_POSITION="2683.36 423.338"
#!   WARN_INVALID_XFORM_PARAM="Yes"
#!   WORKSPACE_VERSION="1"
#!   ZOOM_SCALE="90"
#! >
#! <DATASETS>
#! <DATASET
#!   IS_SOURCE="false"
#!   ROLE="WRITER"
#!   FORMAT="HTML"
#!   DATASET="$(DestDataset_HTML)"
#!   KEYWORD="HTML_1"
#!   MULTI_GEOM_ALLOWED="true"
#!   ATTR_MAX_LENGTH="60"
#!   ATTR_CASE="ANY"
#!   ALLOWED_FEAT_TYPES="HTML"
#!   WRITE_DEFS="false"
#!   DEFLINE_TEMPLATE=""
#!   DEFLINE_ATTRS="true"
#!   EXPOSABLE_ATTRS="fme_basename char(50) fme_text_size number(31,15) fme_color char(50) fme_geometry char(50) fme_rotation number(31,15) fme_type char(50) fme_start_angle number(31,15) fme_sweep_angle number(31,15) fme_secondary_axis number(31,15) html_eol char(10) fme_dataset char(50) fme_feature_type char(50) fme_fill_color char(50) fme_text_string char(50) fme_primary_axis number(31,15)"
#!   DEFLINE_PARMS=""
#!   ATTR_INDEX_TYPES=""
#!   ATTR_NAME_INVALID_CHARS=""
#!   SUPPORTS_FEATURE_TYPE_FANOUT="false"
#!   ENABLED="true"
#!   DYNAMIC_FEATURE_TYPES_LIST_ON_MERGE="true"
#!   DATASET_TYPE="FILE"
#!   FTTR_TYPE=""
#!   GENERATE_FME_BUILD_NUM="20218"
#!   COORDSYS=""
#!   FANOUT_EXPRESSION="&lt;Unused&gt;"
#!   FANOUT_GROUP="NO"
#! >
#! <METAFILE_PARAMETER
#!   NAME="DATASET_NAME"
#!   VALUE="HTML file"
#! />
#! <METAFILE_PARAMETER
#!   NAME="FEATURE_TYPE_DEFAULT_NAME"
#!   VALUE="HTML"
#! />
#! <METAFILE_PARAMETER
#!   NAME="MIME_TYPE"
#!   VALUE="text/html"
#! />
#! <METAFILE_PARAMETER
#!   NAME="READER_DATASET_HINT"
#!   VALUE="Select the HTML file(s)"
#! />
#! <METAFILE_PARAMETER
#!   NAME="READER_FEATURE_TYPE_EDITING"
#!   VALUE="NO"
#! />
#! <METAFILE_PARAMETER
#!   NAME="WRITER_DATASET_HINT"
#!   VALUE="Specify a name for the HTML file"
#! />
#! <METAFILE_PARAMETER
#!   NAME="WRITER_FEATURE_TYPE_EDITING"
#!   VALUE="NO"
#! />
#! </DATASET>
#! </DATASETS>
#! <DATA_TYPES>
#! <DATA_TYPE
#!   IS_SOURCE="false"
#!   FORMAT_TYPE="char(width)"
#!   FME_TYPE="fme_varchar(width)"
#!   FORMAT="HTML"
#! />
#! <DATA_TYPE
#!   IS_SOURCE="false"
#!   FORMAT_TYPE="char(width)"
#!   FME_TYPE="fme_varbinary(width)"
#!   FORMAT="HTML"
#! />
#! <DATA_TYPE
#!   IS_SOURCE="false"
#!   FORMAT_TYPE="char(width)"
#!   FME_TYPE="fme_char(width)"
#!   FORMAT="HTML"
#! />
#! <DATA_TYPE
#!   IS_SOURCE="false"
#!   FORMAT_TYPE="char(width)"
#!   FME_TYPE="fme_binary(width)"
#!   FORMAT="HTML"
#! />
#! <DATA_TYPE
#!   IS_SOURCE="false"
#!   FORMAT_TYPE="buffer"
#!   FME_TYPE="fme_buffer"
#!   FORMAT="HTML"
#! />
#! <DATA_TYPE
#!   IS_SOURCE="false"
#!   FORMAT_TYPE="buffer"
#!   FME_TYPE="fme_binarybuffer"
#!   FORMAT="HTML"
#! />
#! <DATA_TYPE
#!   IS_SOURCE="false"
#!   FORMAT_TYPE="buffer"
#!   FME_TYPE="fme_xml"
#!   FORMAT="HTML"
#! />
#! <DATA_TYPE
#!   IS_SOURCE="false"
#!   FORMAT_TYPE="buffer"
#!   FME_TYPE="fme_json"
#!   FORMAT="HTML"
#! />
#! <DATA_TYPE
#!   IS_SOURCE="false"
#!   FORMAT_TYPE="char(20)"
#!   FME_TYPE="fme_datetime"
#!   FORMAT="HTML"
#! />
#! <DATA_TYPE
#!   IS_SOURCE="false"
#!   FORMAT_TYPE="char(12)"
#!   FME_TYPE="fme_time"
#!   FORMAT="HTML"
#! />
#! <DATA_TYPE
#!   IS_SOURCE="false"
#!   FORMAT_TYPE="char(8)"
#!   FME_TYPE="fme_date"
#!   FORMAT="HTML"
#! />
#! <DATA_TYPE
#!   IS_SOURCE="false"
#!   FORMAT_TYPE="number(31,15)"
#!   FME_TYPE="fme_real64"
#!   FORMAT="HTML"
#! />
#! <DATA_TYPE
#!   IS_SOURCE="false"
#!   FORMAT_TYPE="number(15,7)"
#!   FME_TYPE="fme_real32"
#!   FORMAT="HTML"
#! />
#! <DATA_TYPE
#!   IS_SOURCE="false"
#!   FORMAT_TYPE="number(11,0)"
#!   FME_TYPE="fme_int32"
#!   FORMAT="HTML"
#! />
#! <DATA_TYPE
#!   IS_SOURCE="false"
#!   FORMAT_TYPE="number(11,0)"
#!   FME_TYPE="fme_uint32"
#!   FORMAT="HTML"
#! />
#! <DATA_TYPE
#!   IS_SOURCE="false"
#!   FORMAT_TYPE="number(20,0)"
#!   FME_TYPE="fme_int64"
#!   FORMAT="HTML"
#! />
#! <DATA_TYPE
#!   IS_SOURCE="false"
#!   FORMAT_TYPE="number(20,0)"
#!   FME_TYPE="fme_uint64"
#!   FORMAT="HTML"
#! />
#! <DATA_TYPE
#!   IS_SOURCE="false"
#!   FORMAT_TYPE="logical"
#!   FME_TYPE="fme_boolean"
#!   FORMAT="HTML"
#! />
#! <DATA_TYPE
#!   IS_SOURCE="false"
#!   FORMAT_TYPE="number(6,0)"
#!   FME_TYPE="fme_int16"
#!   FORMAT="HTML"
#! />
#! <DATA_TYPE
#!   IS_SOURCE="false"
#!   FORMAT_TYPE="number(6,0)"
#!   FME_TYPE="fme_uint16"
#!   FORMAT="HTML"
#! />
#! <DATA_TYPE
#!   IS_SOURCE="false"
#!   FORMAT_TYPE="number(4,0)"
#!   FME_TYPE="fme_int8"
#!   FORMAT="HTML"
#! />
#! <DATA_TYPE
#!   IS_SOURCE="false"
#!   FORMAT_TYPE="number(4,0)"
#!   FME_TYPE="fme_uint8"
#!   FORMAT="HTML"
#! />
#! <DATA_TYPE
#!   IS_SOURCE="false"
#!   FORMAT_TYPE="number(width,decimal)"
#!   FME_TYPE="fme_decimal(width,decimal)"
#!   FORMAT="HTML"
#! />
#! </DATA_TYPES>
#! <GEOM_TYPES>
#! <GEOM_TYPE
#!   IS_SOURCE="false"
#!   FORMAT_TYPE="html_none"
#!   FME_TYPE="fme_no_geom"
#!   FORMAT="HTML"
#! />
#! <GEOM_TYPE
#!   IS_SOURCE="false"
#!   FORMAT_TYPE="html_none"
#!   FME_TYPE="fme_point"
#!   FORMAT="HTML"
#! />
#! <GEOM_TYPE
#!   IS_SOURCE="false"
#!   FORMAT_TYPE="html_none"
#!   FME_TYPE="fme_line"
#!   FORMAT="HTML"
#! />
#! <GEOM_TYPE
#!   IS_SOURCE="false"
#!   FORMAT_TYPE="html_none"
#!   FME_TYPE="fme_area"
#!   FORMAT="HTML"
#! />
#! <GEOM_TYPE
#!   IS_SOURCE="false"
#!   FORMAT_TYPE="html_none"
#!   FME_TYPE="fme_text"
#!   FORMAT="HTML"
#! />
#! <GEOM_TYPE
#!   IS_SOURCE="false"
#!   FORMAT_TYPE="html_none"
#!   FME_TYPE="fme_ellipse"
#!   FORMAT="HTML"
#! />
#! <GEOM_TYPE
#!   IS_SOURCE="false"
#!   FORMAT_TYPE="html_none"
#!   FME_TYPE="fme_arc"
#!   FORMAT="HTML"
#! />
#! <GEOM_TYPE
#!   IS_SOURCE="false"
#!   FORMAT_TYPE="html_none"
#!   FME_TYPE="fme_rectangle"
#!   FORMAT="HTML"
#! />
#! <GEOM_TYPE
#!   IS_SOURCE="false"
#!   FORMAT_TYPE="html_none"
#!   FME_TYPE="fme_rounded_rectangle"
#!   FORMAT="HTML"
#! />
#! <GEOM_TYPE
#!   IS_SOURCE="false"
#!   FORMAT_TYPE="html_none"
#!   FME_TYPE="fme_collection"
#!   FORMAT="HTML"
#! />
#! <GEOM_TYPE
#!   IS_SOURCE="false"
#!   FORMAT_TYPE="html_none"
#!   FME_TYPE="fme_raster"
#!   FORMAT="HTML"
#! />
#! <GEOM_TYPE
#!   IS_SOURCE="false"
#!   FORMAT_TYPE="html_none"
#!   FME_TYPE="fme_surface"
#!   FORMAT="HTML"
#! />
#! <GEOM_TYPE
#!   IS_SOURCE="false"
#!   FORMAT_TYPE="html_none"
#!   FME_TYPE="fme_solid"
#!   FORMAT="HTML"
#! />
#! <GEOM_TYPE
#!   IS_SOURCE="false"
#!   FORMAT_TYPE="html_none"
#!   FME_TYPE="fme_point_cloud"
#!   FORMAT="HTML"
#! />
#! <GEOM_TYPE
#!   IS_SOURCE="false"
#!   FORMAT_TYPE="html_none"
#!   FME_TYPE="fme_feature_table"
#!   FORMAT="HTML"
#! />
#! </GEOM_TYPES>
#! <FEATURE_TYPES>
#! <FEATURE_TYPE
#!   IS_SOURCE="false"
#!   NODE_NAME="HTML"
#!   FEATURE_TYPE_NAME=""
#!   FEATURE_TYPE_NAME_QUALIFIER=""
#!   IS_EDITABLE="false"
#!   IDENTIFIER="28"
#!   FEAT_GEOMTYPE="All"
#!   POSITION="5713.3594669280055 -526.05322499765884"
#!   BOUNDING_RECT="5713.3594669280055 -526.05322499765884 454 71"
#!   ORDER="500000000000048"
#!   COLLAPSED="true"
#!   KEYWORD="HTML_1"
#!   PARMS_EDITED="true"
#!   ENABLED="true"
#!   SCHEMA_ATTRIBUTE_SOURCE="1"
#! >
#!     <FEAT_ATTRIBUTE ATTR_NAME="html_content" ATTR_TYPE="buffer" ATTR_HAS_PORT="true" ATTR_VALUE=""/>
#! </FEATURE_TYPE>
#! </FEATURE_TYPES>
#! <FMESERVER>
#! <SERVICES>
#! <SERVICE
#!   NAME="fmedatastreaming"
#! >
#! <PROPERTIES>
#! <PROPERTY
#!   CATEGORY="FMEUSERPROPDATA"
#!   NAME="ADVANCED"
#!   VALUE=""
#! />
#! <PROPERTY
#!   CATEGORY="FMEUSERPROPDATA"
#!   NAME="FAILURE_TOPICS"
#!   VALUE=""
#! />
#! <PROPERTY
#!   CATEGORY="FMEUSERPROPDATA"
#!   NAME="HTTP_DATASET"
#!   VALUE=""
#! />
#! <PROPERTY
#!   CATEGORY="FMEUSERPROPDATA"
#!   NAME="NOTIFICATION_WRITER"
#!   VALUE=""
#! />
#! <PROPERTY
#!   CATEGORY="FMEUSERPROPDATA"
#!   NAME="OUTPUT_WRITER"
#!   VALUE="HTML_1"
#! />
#! <PROPERTY
#!   CATEGORY="FMEUSERPROPDATA"
#!   NAME="SUCCESS_TOPICS"
#!   VALUE=""
#! />
#! </PROPERTIES>
#! </SERVICE>
#! <SERVICE
#!   NAME="fmejobsubmitter"
#! >
#! <PROPERTIES>
#! <PROPERTY
#!   CATEGORY="FMEUSERPROPDATA"
#!   NAME="ADVANCED"
#!   VALUE=""
#! />
#! <PROPERTY
#!   CATEGORY="FMEUSERPROPDATA"
#!   NAME="FAILURE_TOPICS"
#!   VALUE=""
#! />
#! <PROPERTY
#!   CATEGORY="FMEUSERPROPDATA"
#!   NAME="HTTP_DATASET"
#!   VALUE=""
#! />
#! <PROPERTY
#!   CATEGORY="FMEUSERPROPDATA"
#!   NAME="NOTIFICATION_WRITER"
#!   VALUE=""
#! />
#! <PROPERTY
#!   CATEGORY="FMEUSERPROPDATA"
#!   NAME="SUCCESS_TOPICS"
#!   VALUE=""
#! />
#! </PROPERTIES>
#! </SERVICE>
#! </SERVICES>
#! <REPOSITORY
#!   NAME="Application Integration with Cityworks"
#! />
#! <ITEM
#!   NAME="ContractorApp.fmw"
#! />
#! <MODIFICATIONS>
#! <MODIFICATION
#!   UID=":DatasetMgr_HTML_1:DestDataset_HTML_1"
#!   VALUE="$(DestDataset_HTML)"
#! />
#! <MODIFICATION
#!   UID=":GlobalParameterMgr:DestDataset_HTML"
#!   VALUE="/Users/alex.cebry/Downloads/complete.html"
#! />
#! <MODIFICATION
#!   UID=":GlobalParameterMgr:FME_SERVER_DEST_DIR"
#!   VALUE=""
#! />
#! <MODIFICATION
#!   UID=":GlobalParameterMgr:FME_SHAREDRESOURCE_BACKUP"
#!   VALUE=""
#! />
#! <MODIFICATION
#!   UID=":GlobalParameterMgr:FME_SHAREDRESOURCE_DASHBOARD"
#!   VALUE=""
#! />
#! <MODIFICATION
#!   UID=":GlobalParameterMgr:FME_SHAREDRESOURCE_DATA"
#!   VALUE=""
#! />
#! <MODIFICATION
#!   UID=":GlobalParameterMgr:FME_SHAREDRESOURCE_ENGINE"
#!   VALUE=""
#! />
#! <MODIFICATION
#!   UID=":GlobalParameterMgr:FME_SHAREDRESOURCE_LOG"
#!   VALUE=""
#! />
#! <MODIFICATION
#!   UID=":GlobalParameterMgr:FME_SHAREDRESOURCE_SYSTEM"
#!   VALUE=""
#! />
#! <MODIFICATION
#!   UID=":GlobalParameterMgr:FME_SHAREDRESOURCE_TEMP"
#!   VALUE=""
#! />
#! <MODIFICATION
#!   UID=":GlobalParameterMgr:FME_TOPIC_MESSAGE"
#!   VALUE=""
#! />
#! <MODIFICATION
#!   UID=":WBDoc:DESTINATION_ROUTING_FILE"
#!   VALUE=""
#! />
#! <MODIFICATION
#!   UID=":WBDoc:LOG_FILE"
#!   VALUE=""
#! />
#! <MODIFICATION
#!   UID=":WBDoc:SOURCE_ROUTING_FILE"
#!   VALUE=""
#! />
#! <MODIFICATION
#!   UID="CityworksContractorCosts:WBParameterNode_11:FILEPATH_OR_URL"
#!   VALUE="&lt;Unused&gt;"
#! />
#! <MODIFICATION
#!   UID="CityworksContractorCosts:WBParameterNode_7:OUTPUT_DIRNAME"
#!   VALUE="&lt;Unused&gt;"
#! />
#! <MODIFICATION
#!   UID="CityworksContractorCosts:WBParameterNode_7:OUTPUT_FILENAME"
#!   VALUE="&lt;Unused&gt;"
#! />
#! <MODIFICATION
#!   UID="CityworksContractorCosts:WBParameterNode_7:UPLOAD_FILE"
#!   VALUE="&lt;Unused&gt;"
#! />
#! <MODIFICATION
#!   UID="CityworksMaterialCosts:WBParameterNode_11:FILEPATH_OR_URL"
#!   VALUE="&lt;Unused&gt;"
#! />
#! <MODIFICATION
#!   UID="CityworksMaterialCosts:WBParameterNode_7:OUTPUT_DIRNAME"
#!   VALUE="&lt;Unused&gt;"
#! />
#! <MODIFICATION
#!   UID="CityworksMaterialCosts:WBParameterNode_7:OUTPUT_FILENAME"
#!   VALUE="&lt;Unused&gt;"
#! />
#! <MODIFICATION
#!   UID="CityworksMaterialCosts:WBParameterNode_7:UPLOAD_FILE"
#!   VALUE="&lt;Unused&gt;"
#! />
#! <MODIFICATION
#!   UID="CityworksWorkOrderUpdater:WBParameterNode_13:FILEPATH_OR_URL"
#!   VALUE="&lt;Unused&gt;"
#! />
#! <MODIFICATION
#!   UID="CityworksWorkOrderUpdater:WBParameterNode_7:OUTPUT_DIRNAME"
#!   VALUE="&lt;Unused&gt;"
#! />
#! <MODIFICATION
#!   UID="CityworksWorkOrderUpdater:WBParameterNode_7:OUTPUT_FILENAME"
#!   VALUE="&lt;Unused&gt;"
#! />
#! <MODIFICATION
#!   UID="CityworksWorkOrderUpdater:WBParameterNode_7:UPLOAD_FILE"
#!   VALUE="&lt;Unused&gt;"
#! />
#! </MODIFICATIONS>
#! <WRITER_DATASETS>
#! <DATASET
#!   NAME="HTML_1"
#!   OVERRIDE="-HTML_1_DATASET"
#!   DATASET="HTML_1/complete.html"
#! />
#! </WRITER_DATASETS>
#! </FMESERVER>
#! <GLOBAL_PARAMETERS>
#! <GLOBAL_PARAMETER
#!   GUI_LINE="GUI TEXT_OR_ATTR workorderid Work Order ID:"
#!   DEFAULT_VALUE="134681"
#!   IS_STAND_ALONE="true"
#! />
#! <GLOBAL_PARAMETER
#!   GUI_LINE="GUI DATE_OR_ATTR Date &quot;{}&quot; Date:"
#!   DEFAULT_VALUE="20200618"
#!   IS_STAND_ALONE="true"
#! />
#! <GLOBAL_PARAMETER
#!   GUI_LINE="GUI LOOKUP_CHOICE_OR_ATTR contractor Road&lt;space&gt;Runner&lt;space&gt;Inc.,11320%Lizard&lt;space&gt;Concrete&lt;space&gt;Repair,1022%Zipster&lt;space&gt;Paving&lt;space&gt;Company,1021%A1&lt;space&gt;Asphalt,11349 Choose a Contractor:"
#!   DEFAULT_VALUE="1022"
#!   IS_STAND_ALONE="true"
#! />
#! <GLOBAL_PARAMETER
#!   GUI_LINE="GUI CHOICE_OR_ATTR hours 1%2%3%4%5%6%7%8 Hours of Work (0-100):"
#!   DEFAULT_VALUE="6"
#!   IS_STAND_ALONE="true"
#! />
#! <GLOBAL_PARAMETER
#!   GUI_LINE="GUI LOOKUP_CHOICE_OR_ATTR material Asphalt,17692%Concrete,7642%Pavement,2541 Material Used:"
#!   DEFAULT_VALUE="7642"
#!   IS_STAND_ALONE="true"
#! />
#! <GLOBAL_PARAMETER
#!   GUI_LINE="GUI LOOKUP_CHOICE_OR_ATTR status Completed,COMPLETE Status:"
#!   DEFAULT_VALUE="COMPLETE"
#!   IS_STAND_ALONE="true"
#! />
#! <GLOBAL_PARAMETER
#!   GUI_LINE="GUI FILENAME DestDataset_HTML HTML&lt;space&gt;Files(*.html)|*.html Destination Html File:"
#!   DEFAULT_VALUE="/Users/alex.cebry/Downloads/complete.html"
#!   IS_STAND_ALONE="false"
#! />
#! </GLOBAL_PARAMETERS>
#! <COMMENTS>
#! <COMMENT
#!   IDENTIFIER="49"
#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;.AppleSystemUIFont&apos;; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Round labour and materials values&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
#!   POSITION="3529.896449670267 -956.06002506565994"
#!   TOP_LEFT="3529.896449670267 -956.06002506565994"
#!   BOTTOM_RIGHT="3983.896449670267 -957.06002506565994"
#!   BOUNDING_RECT="3529.896449670267 -956.06002506565994 454 1"
#!   ORDER="500000000000055"
#!   FOLLOW_ANCHOR="true"
#!   INFO_NODE="false"
#!   CUSTOM_USER_COLOR="false"
#!   COLOUR="1,0.85490196078431369,0.59999999999999998,0.78431372549019607"
#!   SIZE_POLICY="10"
#!   ANCHORED_NODE="47"
#! />
#! <COMMENT
#!   IDENTIFIER="52"
#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;.AppleSystemUIFont&apos;; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Fecting user parameters&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
#!   POSITION="70.000700007000034 -709.33941672750063"
#!   TOP_LEFT="70.000700007000034 -709.33941672750063"
#!   BOTTOM_RIGHT="524.00070000699998 -710.33941672750063"
#!   BOUNDING_RECT="70.000700007000034 -709.33941672750063 454 1"
#!   ORDER="500000000000287.25"
#!   FOLLOW_ANCHOR="true"
#!   INFO_NODE="false"
#!   CUSTOM_USER_COLOR="false"
#!   COLOUR="1,0.85490196078431369,0.59999999999999998,0.78431372549019607"
#!   SIZE_POLICY="10"
#!   ANCHORED_NODE="5"
#! />
#! <COMMENT
#!   IDENTIFIER="53"
#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;.AppleSystemUIFont&apos;; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Converting date to more readable format&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
#!   POSITION="70.000700007000091 -897.72595839165945"
#!   TOP_LEFT="70.000700007000091 -897.72595839165945"
#!   BOTTOM_RIGHT="524.00070000700009 -898.72595839165945"
#!   BOUNDING_RECT="70.000700007000091 -897.72595839165945 454 1"
#!   ORDER="500000000000288.25"
#!   FOLLOW_ANCHOR="true"
#!   INFO_NODE="false"
#!   CUSTOM_USER_COLOR="false"
#!   COLOUR="1,0.85490196078431369,0.59999999999999998,0.78431372549019607"
#!   SIZE_POLICY="10"
#!   ANCHORED_NODE="38"
#! />
#! <COMMENT
#!   IDENTIFIER="54"
#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;.AppleSystemUIFont&apos;; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Sending hours to Cityworks and calculating labour cost&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
#!   POSITION="1376.3470968043023 -491.14456456840696"
#!   TOP_LEFT="1376.3470968043023 -491.14456456840696"
#!   BOTTOM_RIGHT="1867.3470968043023 -492.14456456840696"
#!   BOUNDING_RECT="1376.3470968043023 -491.14456456840696 491 1"
#!   ORDER="500000000000289.25"
#!   FOLLOW_ANCHOR="true"
#!   INFO_NODE="false"
#!   CUSTOM_USER_COLOR="false"
#!   COLOUR="0.63529411764705879,0.80000000000000004,0.59999999999999998,0.78431372549019607"
#!   SIZE_POLICY="10"
#!   ANCHORED_NODE="2"
#! />
#! <COMMENT
#!   IDENTIFIER="55"
#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;.AppleSystemUIFont&apos;; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Renaming &apos;Cost&apos; to LabourCost&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
#!   POSITION="1692.6832134988003 -1445.3958917576592"
#!   TOP_LEFT="1692.6832134988003 -1445.3958917576592"
#!   BOTTOM_RIGHT="2146.6832134988003 -1446.3958917576592"
#!   BOUNDING_RECT="1692.6832134988003 -1445.3958917576592 454 1"
#!   ORDER="500000000000290.25"
#!   FOLLOW_ANCHOR="true"
#!   INFO_NODE="false"
#!   CUSTOM_USER_COLOR="false"
#!   COLOUR="0.63529411764705879,0.80000000000000004,0.59999999999999998,0.78431372549019607"
#!   SIZE_POLICY="10"
#!   ANCHORED_NODE="41"
#! />
#! <COMMENT
#!   IDENTIFIER="56"
#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;.AppleSystemUIFont&apos;; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Renaming &apos;Cost&apos; to MaterialCost&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
#!   POSITION="2357.8701370347017 -1445.3958917576592"
#!   TOP_LEFT="2357.8701370347017 -1445.3958917576592"
#!   BOTTOM_RIGHT="2811.8701370347017 -1446.3958917576592"
#!   BOUNDING_RECT="2357.8701370347017 -1445.3958917576592 454 1"
#!   ORDER="500000000000291.25"
#!   FOLLOW_ANCHOR="true"
#!   INFO_NODE="false"
#!   CUSTOM_USER_COLOR="false"
#!   COLOUR="0.63529411764705879,0.80000000000000004,0.59999999999999998,0.78431372549019607"
#!   SIZE_POLICY="10"
#!   ANCHORED_NODE="44"
#! />
#! <COMMENT
#!   IDENTIFIER="57"
#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;.AppleSystemUIFont&apos;; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Sending materials to Cityworks and calculating materials cost&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
#!   POSITION="2014.8560771708451 -438.14624458520734"
#!   TOP_LEFT="2014.8560771708451 -438.14624458520734"
#!   BOTTOM_RIGHT="2510.8560771708453 -439.14624458520734"
#!   BOUNDING_RECT="2014.8560771708451 -438.14624458520734 496 1"
#!   ORDER="500000000000292.25"
#!   FOLLOW_ANCHOR="true"
#!   INFO_NODE="false"
#!   CUSTOM_USER_COLOR="false"
#!   COLOUR="0.63529411764705879,0.80000000000000004,0.59999999999999998,0.78431372549019607"
#!   SIZE_POLICY="10"
#!   ANCHORED_NODE="8"
#! />
#! <COMMENT
#!   IDENTIFIER="58"
#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;.AppleSystemUIFont&apos;; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Updating work order to complete&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
#!   POSITION="2666.7205438721039 -468.67356340230049"
#!   TOP_LEFT="2666.7205438721039 -468.67356340230049"
#!   BOTTOM_RIGHT="3245.7205438721039 -469.67356340230049"
#!   BOUNDING_RECT="2666.7205438721039 -468.67356340230049 579 1"
#!   ORDER="500000000000293.25"
#!   FOLLOW_ANCHOR="true"
#!   INFO_NODE="false"
#!   CUSTOM_USER_COLOR="false"
#!   COLOUR="0.63529411764705879,0.80000000000000004,0.59999999999999998,0.78431372549019607"
#!   SIZE_POLICY="10"
#!   ANCHORED_NODE="9"
#! />
#! <COMMENT
#!   IDENTIFIER="60"
#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;.AppleSystemUIFont&apos;; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Calculating total costs&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
#!   POSITION="4221.8765394711636 -485.52690619056568"
#!   TOP_LEFT="4221.8765394711636 -485.52690619056568"
#!   BOTTOM_RIGHT="4675.8765394711636 -486.52690619056568"
#!   BOUNDING_RECT="4221.8765394711636 -485.52690619056568 454 1"
#!   ORDER="500000000000294.25"
#!   FOLLOW_ANCHOR="true"
#!   INFO_NODE="false"
#!   CUSTOM_USER_COLOR="false"
#!   COLOUR="1,0.85490196078431369,0.59999999999999998,0.78431372549019607"
#!   SIZE_POLICY="10"
#!   ANCHORED_NODE="32"
#! />
#! <COMMENT
#!   IDENTIFIER="61"
#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;.AppleSystemUIFont&apos;; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Creating dollar value attributes&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
#!   POSITION="4221.9037497432664 -912.72625839465991"
#!   TOP_LEFT="4221.9037497432664 -912.72625839465991"
#!   BOTTOM_RIGHT="4675.9037497432664 -913.72625839465991"
#!   BOUNDING_RECT="4221.9037497432664 -912.72625839465991 454 1"
#!   ORDER="500000000000295.25"
#!   FOLLOW_ANCHOR="true"
#!   INFO_NODE="false"
#!   CUSTOM_USER_COLOR="false"
#!   COLOUR="1,0.85490196078431369,0.59999999999999998,0.78431372549019607"
#!   SIZE_POLICY="10"
#!   ANCHORED_NODE="37"
#! />
#! <COMMENT
#!   IDENTIFIER="62"
#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;.AppleSystemUIFont&apos;; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Generating invoice&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
#!   POSITION="4983.5877732205508 -672.72325836465916"
#!   TOP_LEFT="4983.5877732205508 -672.72325836465916"
#!   BOTTOM_RIGHT="5498.5877732205508 -673.72325836465916"
#!   BOUNDING_RECT="4983.5877732205508 -672.72325836465916 515 1"
#!   ORDER="500000000000296.25"
#!   FOLLOW_ANCHOR="true"
#!   INFO_NODE="false"
#!   CUSTOM_USER_COLOR="false"
#!   COLOUR="0.59215686274509804,0.8901960784313725,0.90980392156862744,0.78431372549019607"
#!   SIZE_POLICY="10"
#!   ANCHORED_NODE="22"
#! />
#! </COMMENTS>
#! <CONSTANTS>
#! </CONSTANTS>
#! <BOOKMARKS>
#! <BOOKMARK
#!   IDENTIFIER="35"
#!   NAME="User adds labour, materials, and status change to Work Order"
#!   DESCRIPTION=""
#!   TOP_LEFT="1226.6789334560012 -333.33666670000031"
#!   ORDER="500000000000038"
#!   PALETTE_COLOR="Color2"
#!   BOTTOM_RIGHT="3350.0335003350033 -1680.0168001680015"
#!   BOUNDING_RECT="1226.6789334560012 -333.33666670000031 2123.354566879002 1346.6801334680013"
#!   STICKY="true"
#!   COLOUR="0.63529411764705879,0.80000000000000004,0.59999999999999998,1"
#!   CONTENTS="54 44 8 55 2 56 57 9 41 58 46 45 43 42 "
#! >
#! </BOOKMARK>
#! <BOOKMARK
#!   IDENTIFIER="30"
#!   NAME="Streaming Invoice"
#!   DESCRIPTION=""
#!   TOP_LEFT="4900.2267977982965 -364.387291671659"
#!   ORDER="500000000000045"
#!   PALETTE_COLOR="Color6"
#!   BOTTOM_RIGHT="6259.3594669280046 -840.00840008400075"
#!   BOUNDING_RECT="4900.2267977982965 -364.387291671659 1359.1326691297086 475.62110841234175"
#!   STICKY="true"
#!   COLOUR="0.59215686274509804,0.8901960784313725,0.90980392156862744,1"
#!   CONTENTS="28 62 22 29 "
#! >
#! </BOOKMARK>
#! <BOOKMARK
#!   IDENTIFIER="31"
#!   NAME="Getting User parameters"
#!   DESCRIPTION=""
#!   TOP_LEFT="30.000300003000028 -323.17118337850042"
#!   ORDER="500000000000046"
#!   PALETTE_COLOR="Color3"
#!   BOTTOM_RIGHT="1170.3421845839582 -1187.6756834235009"
#!   BOUNDING_RECT="30.000300003000028 -323.17118337850042 1140.3418845809581 864.50450004500044"
#!   STICKY="true"
#!   COLOUR="1,0.85490196078431369,0.59999999999999998,1"
#!   CONTENTS="5 38 3 39 53 52 6 "
#! >
#! </BOOKMARK>
#! <BOOKMARK
#!   IDENTIFIER="36"
#!   NAME="Handle work atributes and format invoice"
#!   DESCRIPTION=""
#!   TOP_LEFT="3380.0338003380029 -364.387291671659"
#!   ORDER="500000000000039"
#!   PALETTE_COLOR="Color3"
#!   BOTTOM_RIGHT="4866.7153338200042 -1140.5373189170941"
#!   BOUNDING_RECT="3380.0338003380029 -364.387291671659 1486.6815334820008 776.15002724543524"
#!   STICKY="true"
#!   COLOUR="1,0.85490196078431369,0.59999999999999998,1"
#!   CONTENTS="61 48 37 32 60 49 47 50 "
#! >
#! </BOOKMARK>
#! </BOOKMARKS>
#! <TRANSFORMERS>
#! <TRANSFORMER
#!   IDENTIFIER="2"
#!   TYPE="SubDocumentTransformer"
#!   VERSION="1"
#!   POSITION="1376.3470968043023 -780.53110623256589"
#!   BOUNDING_RECT="1376.3470968043023 -780.53110623256589 486.18856825772946 71"
#!   ORDER="500000000000023"
#!   PARMS_EDITED="true"
#!   ENABLED="true"
#!   LAST_PARM_EDIT="20218"
#! >
#!     <OUTPUT_FEAT NAME="Output"/>
#!     <FEAT_COLLAPSED COLLAPSED="0"/>
#!     <XFORM_ATTR ATTR_NAME="_authentication" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_instance" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_request_params" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_workorderid" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_contractorID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_hours" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_description" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_creation_instance" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_contractor" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_material" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_status" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_Date" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="LaborCostID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="Description" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="Cost" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="LaborName" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="ContractorNumber" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <OUTPUT_FEAT NAME="&lt;Rejected&gt;"/>
#!     <FEAT_COLLAPSED COLLAPSED="1"/>
#!     <XFORM_ATTR ATTR_NAME="GenericErrorMessage" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_authentication" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_instance" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_request_params" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_workorderid" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_contractorID" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_hours" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_description" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_creation_instance" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_contractor" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_material" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_status" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_Date" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="WarningMessageText" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="ErrorMessageText" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_PARM PARM_NAME="SUB_DOC_NAME" PARM_VALUE="CityworksContractorCosts"/>
#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="ContractorLabourCosts"/>
#!     <XFORM_PARM PARM_NAME="__COMPOUND_PARAMETERS" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="authentication" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="contractorID" PARM_VALUE="@Value(_contractor)"/>
#!     <XFORM_PARM PARM_NAME="description" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="hours" PARM_VALUE="@Value(_hours)"/>
#!     <XFORM_PARM PARM_NAME="instance" PARM_VALUE="YOUR CITYWORKS INSTANCE HERE"/>
#!     <XFORM_PARM PARM_NAME="request_params" PARM_VALUE="&quot;Estimated&quot;: false,"/>
#!     <XFORM_PARM PARM_NAME="workorderid" PARM_VALUE="@Value(_workorderid)"/>
#! </TRANSFORMER>
#! <TRANSFORMER
#!   IDENTIFIER="3"
#!   TYPE="Creator"
#!   VERSION="5"
#!   POSITION="666.34218458395765 -451.67118337850042"
#!   BOUNDING_RECT="666.34218458395765 -451.67118337850042 430 71"
#!   ORDER="500000000000024"
#!   PARMS_EDITED="true"
#!   ENABLED="true"
#!   LAST_PARM_EDIT="20218"
#! >
#!     <OUTPUT_FEAT NAME="CREATED"/>
#!     <FEAT_COLLAPSED COLLAPSED="0"/>
#!     <XFORM_ATTR ATTR_NAME="_creation_instance" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_PARM PARM_NAME="ATEND" PARM_VALUE="no"/>
#!     <XFORM_PARM PARM_NAME="COORDS" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="COORDSYS" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="CRE_ATTR" PARM_VALUE="_creation_instance"/>
#!     <XFORM_PARM PARM_NAME="GEOM" PARM_VALUE="&lt;lt&gt;?xml&lt;space&gt;version=&lt;quote&gt;1.0&lt;quote&gt;&lt;space&gt;encoding=&lt;quote&gt;US_ASCII&lt;quote&gt;&lt;space&gt;standalone=&lt;quote&gt;no&lt;quote&gt;&lt;space&gt;?&lt;gt&gt;&lt;lt&gt;geometry&lt;space&gt;dimension=&lt;quote&gt;2&lt;quote&gt;&lt;gt&gt;&lt;lt&gt;null&lt;solidus&gt;&lt;gt&gt;&lt;lt&gt;&lt;solidus&gt;geometry&lt;gt&gt;"/>
#!     <XFORM_PARM PARM_NAME="GEOMTYPE" PARM_VALUE="Geometry Object"/>
#!     <XFORM_PARM PARM_NAME="NUM" PARM_VALUE="1"/>
#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="Creator"/>
#! </TRANSFORMER>
#! <TRANSFORMER
#!   IDENTIFIER="5"
#!   TYPE="ParameterFetcher"
#!   VERSION="4"
#!   POSITION="666.34218458395765 -728.34061673950077"
#!   BOUNDING_RECT="666.34218458395765 -728.34061673950077 454 71"
#!   ORDER="500000000000025"
#!   PARMS_EDITED="true"
#!   ENABLED="true"
#!   LAST_PARM_EDIT="20218"
#! >
#!     <OUTPUT_FEAT NAME="OUTPUT"/>
#!     <FEAT_COLLAPSED COLLAPSED="0"/>
#!     <XFORM_ATTR ATTR_NAME="_creation_instance" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_contractor" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_hours" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_material" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_workorderid" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_status" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_Date" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_PARM PARM_NAME="ATTR_LIST" PARM_VALUE="_contractor $(contractor) _hours $(hours) _material $(material) _workorderid $(workorderid) _status $(status) _Date $(Date)"/>
#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="XFORMER_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="ParameterFetcher"/>
#! </TRANSFORMER>
#! <TRANSFORMER
#!   IDENTIFIER="8"
#!   TYPE="SubDocumentTransformer"
#!   VERSION="1"
#!   POSITION="2007.2713703520719 -780.531106232566"
#!   BOUNDING_RECT="2007.2713703520719 -780.531106232566 491.54794325772946 71"
#!   ORDER="500000000000026"
#!   PARMS_EDITED="true"
#!   ENABLED="true"
#!   LAST_PARM_EDIT="20218"
#! >
#!     <OUTPUT_FEAT NAME="Output"/>
#!     <FEAT_COLLAPSED COLLAPSED="0"/>
#!     <XFORM_ATTR ATTR_NAME="_authentication" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_instance" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_request_params" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_units" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_source" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_workorderid" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_materialsSID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="LabourCost" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_contractorID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_hours" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_description" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_creation_instance" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_contractor" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_material" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_status" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_Date" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="LaborCostID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="Description" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="LaborName" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="ContractorNumber" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="MaterialCostID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="UnitsRequired" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="Cost" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="Source" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="WarningMessageText" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="ErrorMessageText" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <OUTPUT_FEAT NAME="&lt;Rejected&gt;"/>
#!     <FEAT_COLLAPSED COLLAPSED="1"/>
#!     <XFORM_ATTR ATTR_NAME="GenericErrorMessage" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_authentication" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_instance" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_request_params" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_units" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_source" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_workorderid" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_materialsSID" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="LabourCost" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_contractorID" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_hours" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_description" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_creation_instance" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_contractor" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_material" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_status" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_Date" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="LaborCostID" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="Description" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="LaborName" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="ContractorNumber" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="WarningMessageText" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="ErrorMessageText" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_PARM PARM_NAME="SUB_DOC_NAME" PARM_VALUE="CityworksMaterialCosts"/>
#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="CityworksMaterialCosts"/>
#!     <XFORM_PARM PARM_NAME="__COMPOUND_PARAMETERS" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="authentication" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="instance" PARM_VALUE="YOUR CITYWORKS INSTANCE HERE"/>
#!     <XFORM_PARM PARM_NAME="materialsSID" PARM_VALUE="@Value(_material)"/>
#!     <XFORM_PARM PARM_NAME="request_params" PARM_VALUE="&quot;Estimated&quot;: false,"/>
#!     <XFORM_PARM PARM_NAME="source" PARM_VALUE="MAIN"/>
#!     <XFORM_PARM PARM_NAME="units" PARM_VALUE="@Value(_hours)"/>
#!     <XFORM_PARM PARM_NAME="workorderid" PARM_VALUE="@Value(_workorderid)"/>
#! </TRANSFORMER>
#! <TRANSFORMER
#!   IDENTIFIER="9"
#!   TYPE="SubDocumentTransformer"
#!   VERSION="1"
#!   POSITION="2666.7205438721039 -797.72495838165935"
#!   BOUNDING_RECT="2666.7205438721039 -797.72495838165935 577.42294325772946 71"
#!   ORDER="500000000000027"
#!   PARMS_EDITED="true"
#!   ENABLED="true"
#!   LAST_PARM_EDIT="20218"
#! >
#!     <OUTPUT_FEAT NAME="Output"/>
#!     <FEAT_COLLAPSED COLLAPSED="0"/>
#!     <XFORM_ATTR ATTR_NAME="_workorderID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_actualfinishdate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_actualstartdate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_address" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_completedbySID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_instructions" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_location" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_priority" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_projectedfinishdate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_projectedstartdate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_requestedbySID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_status" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_request_params" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_authentication" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_instance" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="MaterialCost" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_units" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_source" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_workorderid" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_materialsSID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="LabourCost" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_contractorID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_hours" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_description" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_creation_instance" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_contractor" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_material" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_Date" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="LaborCostID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="Description" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="LaborName" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="ContractorNumber" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="MaterialCostID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="UnitsRequired" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="Source" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="WarningMessageText" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="ErrorMessageText" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="Status" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="RequestedBy" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="Priority" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="Supervisor" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="Instructions" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="CompletedBySid" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="WOAddress" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="Location" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="ProjStartDate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="ProjFinishDate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="ActualStartDate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="ActualFinishDate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <OUTPUT_FEAT NAME="&lt;Rejected&gt;"/>
#!     <FEAT_COLLAPSED COLLAPSED="1"/>
#!     <XFORM_ATTR ATTR_NAME="GenericErrorMessage" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_workorderID" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_actualfinishdate" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_actualstartdate" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_address" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_completedbySID" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_instructions" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_location" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_priority" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_projectedfinishdate" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_projectedstartdate" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_requestedbySID" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_status" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_request_params" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_authentication" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_instance" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="MaterialCost" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_units" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_source" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_workorderid" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_materialsSID" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="LabourCost" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_contractorID" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_hours" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_description" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_creation_instance" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_contractor" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_material" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_Date" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="LaborCostID" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="Description" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="LaborName" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="ContractorNumber" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="MaterialCostID" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="UnitsRequired" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="Source" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="WarningMessageText" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="ErrorMessageText" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="Status" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="RequestedBy" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="Priority" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="Supervisor" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="Instructions" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="CompletedBySid" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="WOAddress" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="Location" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="ProjStartDate" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="ProjFinishDate" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="ActualStartDate" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="ActualFinishDate" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_error" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="fme_rejection_code" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_PARM PARM_NAME="SUB_DOC_NAME" PARM_VALUE="CityworksWorkOrderUpdater"/>
#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="CityworksWorkOrderUpdater"/>
#!     <XFORM_PARM PARM_NAME="__COMPOUND_PARAMETERS" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="actualfinishdate" PARM_VALUE="@Value(_Date)"/>
#!     <XFORM_PARM PARM_NAME="actualstartdate" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="address" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="authentication" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="completedbySID" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="instance" PARM_VALUE="YOUR CITYWORKS INSTANCE HERE"/>
#!     <XFORM_PARM PARM_NAME="instructions" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="location" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="priority" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="projectedfinishdate" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="projectedstartdate" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="request_params" PARM_VALUE="&quot;CustomFieldValues&quot;: {140: &quot;Scheduled&quot;},"/>
#!     <XFORM_PARM PARM_NAME="requestedbySID" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="status" PARM_VALUE="@Value(_status)"/>
#!     <XFORM_PARM PARM_NAME="supervisorSID" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="workorderID" PARM_VALUE="@Value(_workorderid)"/>
#! </TRANSFORMER>
#! <TRANSFORMER
#!   IDENTIFIER="38"
#!   TYPE="DateTimeConverter"
#!   VERSION="3"
#!   POSITION="666.34218458395765 -961.67568342350069"
#!   BOUNDING_RECT="666.34218458395765 -961.67568342350069 454 71"
#!   ORDER="500000000000041"
#!   PARMS_EDITED="true"
#!   ENABLED="true"
#!   LAST_PARM_EDIT="20218"
#! >
#!     <OUTPUT_FEAT NAME="OUTPUT"/>
#!     <FEAT_COLLAPSED COLLAPSED="0"/>
#!     <XFORM_ATTR ATTR_NAME="_creation_instance" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_contractor" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_hours" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_material" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_workorderid" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_status" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_Date" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <OUTPUT_FEAT NAME="&lt;REJECTED&gt;"/>
#!     <FEAT_COLLAPSED COLLAPSED="1"/>
#!     <XFORM_ATTR ATTR_NAME="_creation_instance" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_contractor" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_hours" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_material" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_workorderid" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_status" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_Date" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="fme_rejection_code" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_PARM PARM_NAME="DATETIME_ATTR" PARM_VALUE="_Date"/>
#!     <XFORM_PARM PARM_NAME="IN_FORMAT" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="OUT_FORMAT" PARM_VALUE="%Y-%m-%dT%H:%M:%S"/>
#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="PASSTHROUGH" PARM_VALUE="YES"/>
#!     <XFORM_PARM PARM_NAME="REFERENCE" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="REFERENCE_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="REPAIR_INPUT" PARM_VALUE="YES"/>
#!     <XFORM_PARM PARM_NAME="TEST_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="TEST_INPUT" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="TEST_INPUT_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="TEST_RESULT" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="DateTimeConverter"/>
#! </TRANSFORMER>
#! <TRANSFORMER
#!   IDENTIFIER="22"
#!   TYPE="HTMLReportGenerator"
#!   VERSION="0"
#!   POSITION="4988.2267977982965 -474.387291671659"
#!   BOUNDING_RECT="4988.2267977982965 -474.387291671659 510.31874999999997 71"
#!   ORDER="500000000000041"
#!   PARMS_EDITED="true"
#!   ENABLED="true"
#!   LAST_PARM_EDIT="20218"
#! >
#!     <OUTPUT_FEAT NAME="OUTPUT"/>
#!     <FEAT_COLLAPSED COLLAPSED="0"/>
#!     <XFORM_ATTR ATTR_NAME="html_content" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_PARM PARM_NAME="CONTENTS_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="CONTENT_LIST" PARM_VALUE="HEADER TABLE"/>
#!     <XFORM_PARM PARM_NAME="GROUP_BY" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="PAGE_CONFIG" PARM_VALUE="HEADER{{TEXT;Work&lt;space&gt;Order&lt;space&gt;Invoice;HEADER;H1;HEADER_ID;;ALIGNMENT;LEFT;COLOR;0&lt;comma&gt;0&lt;comma&gt;0;FME_CONTROLLER_QUERY_FILE;transformers&lt;solidus&gt;dependencies&lt;solidus&gt;html5&lt;solidus&gt;Header.fme}}TABLE{{STYLE;DEFAULT;TABLE;Status|Status/Contractor|Contractor/Description|Material&lt;space&gt;Type/MaterialCostFormatted|Material&lt;space&gt;Cost/LabourCostFormatted|Labour&lt;space&gt;Cost/TotalCostDollars|Total&lt;space&gt;Cost;FME_CONTROLLER_QUERY_FILE;transformers&lt;solidus&gt;dependencies&lt;solidus&gt;html5&lt;solidus&gt;Table.fme}}"/>
#!     <XFORM_PARM PARM_NAME="PAGE_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="TITLE" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="HTMLReportGenerator_2"/>
#! </TRANSFORMER>
#! <TRANSFORMER
#!   IDENTIFIER="32"
#!   TYPE="AttributeManager"
#!   VERSION="2"
#!   POSITION="3529.8692393981642 -484.38729167165877"
#!   BOUNDING_RECT="3529.8692393981642 -484.38729167165877 454 71"
#!   ORDER="500000000000028"
#!   PARMS_EDITED="true"
#!   ENABLED="true"
#!   LAST_PARM_EDIT="20218"
#! >
#!     <OUTPUT_FEAT NAME="OUTPUT"/>
#!     <FEAT_COLLAPSED COLLAPSED="0"/>
#!     <XFORM_ATTR ATTR_NAME="_workorderID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="Contractor" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_hours" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="MaterialCostID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="Description" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="UnitsRequired" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="Source" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="Status" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="RequestStatus" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="join" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_Date" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="LaborCostID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="LaborName" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="ContractorNumber" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="MaterialCost" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="LabourCost" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="TotalCostSum" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_PARM PARM_NAME="ATTRIBUTE_GRP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="ATTRIBUTE_HANDLING" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="ATTR_TABLE" PARM_VALUE="_workorderID _workorderID  RENAME_SET_VALUE _actualfinishdate _actualfinishdate  REMOVE _actualstartdate _actualstartdate  REMOVE _address _address  REMOVE _completedbySID _completedbySID  REMOVE _instructions _instructions  REMOVE _location _location  REMOVE _priority _priority  REMOVE _projectedfinishdate _projectedfinishdate  REMOVE _projectedstartdate _projectedstartdate  REMOVE _requestedbySID _requestedbySID  REMOVE _status _status  REMOVE _request_params _request_params  REMOVE _authentication _authentication  REMOVE _instance _instance  REMOVE _units _units  REMOVE _source _source  REMOVE _workorderid _workorderid  REMOVE _materialsSID _materialsSID  REMOVE _response_body _response_body  REMOVE _description _description  REMOVE _contractorID _contractorID  REMOVE _creation_instance _creation_instance  REMOVE  Contractor &quot;FME_CONDITIONAL:DEFAULT_VALUE&apos;Contractor&apos;BOOL_OP;OR;COMPOSITE_TEST;1;TEST &lt;at&gt;Value&lt;openparen&gt;_contractor&lt;closeparen&gt; = 11320&apos;Road&lt;space&gt;Runner&lt;space&gt;Inc.&apos;BOOL_OP;OR;COMPOSITE_TEST;1;TEST &lt;at&gt;Value&lt;openparen&gt;_contractor&lt;closeparen&gt; = 1022&apos;Lizard&lt;space&gt;Concrete&lt;space&gt;Repair&apos;BOOL_OP;OR;COMPOSITE_TEST;1;TEST &lt;at&gt;Value&lt;openparen&gt;_contractor&lt;closeparen&gt; = 1021&apos;Zipster&lt;space&gt;Paving&lt;space&gt;Company&apos;BOOL_OP;OR;COMPOSITE_TEST;1;TEST &lt;at&gt;Value&lt;openparen&gt;_contractor&lt;closeparen&gt; = 11349&apos;A1&lt;space&gt;Asphalt&apos;FME_NUM_CONDITIONS5___&quot; SET_TO _contractor _contractor  REMOVE _hours _hours  NO_OP _material _material  REMOVE _http_status_code _http_status_code  REMOVE MaterialCostID MaterialCostID  NO_OP Description Description  NO_OP UnitsRequired UnitsRequired  NO_OP Source Source Main&lt;space&gt;Warehouse SET_TO WarningMessageText WarningMessageText  REMOVE ErrorMessageText ErrorMessageText  REMOVE Status Status  NO_OP RequestedBy RequestedBy  REMOVE Priority Priority  REMOVE Supervisor Supervisor  REMOVE Instructions Instructions  REMOVE CompletedBySid CompletedBySid  REMOVE WOAddress WOAddress  REMOVE Location Location  REMOVE ProjStartDate ProjStartDate  REMOVE ProjFinishDate ProjFinishDate  REMOVE ActualStartDate ActualStartDate  REMOVE ActualFinishDate ActualFinishDate  REMOVE RequestId RequestId  NO_OP Date Date  NO_OP  RequestStatus Completed SET_TO  join 1 SET_TO _Date _Date  NO_OP LaborCostID LaborCostID  NO_OP LaborName LaborName  NO_OP ContractorNumber ContractorNumber  NO_OP MaterialCost MaterialCost  NO_OP LabourCost LabourCost  NO_OP  TotalCostSum &lt;at&gt;Evaluate&lt;openparen&gt;&lt;at&gt;Value&lt;openparen&gt;MaterialCost&lt;closeparen&gt;+&lt;at&gt;Value&lt;openparen&gt;LabourCost&lt;closeparen&gt;&lt;closeparen&gt; SET_TO"/>
#!     <XFORM_PARM PARM_NAME="MULTI_FEATURE_MODE" PARM_VALUE="NO"/>
#!     <XFORM_PARM PARM_NAME="NULL_ATTR_MODE_DISPLAY" PARM_VALUE="No Substitution"/>
#!     <XFORM_PARM PARM_NAME="NULL_ATTR_VALUE" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="NUM_PRIOR_FEATURES" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="NUM_SUBSEQUENT_FEATURES" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeManager"/>
#! </TRANSFORMER>
#! <TRANSFORMER
#!   IDENTIFIER="41"
#!   TYPE="AttributeRenamer"
#!   VERSION="4"
#!   POSITION="1692.6832134988003 -1220.3929917286587"
#!   BOUNDING_RECT="1692.6832134988003 -1220.3929917286587 454 71"
#!   ORDER="500000000000049"
#!   PARMS_EDITED="true"
#!   ENABLED="true"
#!   LAST_PARM_EDIT="20218"
#! >
#!     <OUTPUT_FEAT NAME="OUTPUT"/>
#!     <FEAT_COLLAPSED COLLAPSED="0"/>
#!     <XFORM_ATTR ATTR_NAME="LabourCost" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_authentication" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_instance" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_request_params" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_workorderid" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_contractorID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_hours" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_description" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_creation_instance" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_contractor" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_material" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_status" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_Date" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="LaborCostID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="Description" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="LaborName" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="ContractorNumber" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_PARM PARM_NAME="ATTRIBUTE_GRP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="ATTR_TABLE" PARM_VALUE="Cost LabourCost RENAME_SET_DEFAULT "/>
#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeRenamer"/>
#! </TRANSFORMER>
#! <TRANSFORMER
#!   IDENTIFIER="44"
#!   TYPE="AttributeRenamer"
#!   VERSION="4"
#!   POSITION="2357.8701370347017 -1220.3929917286587"
#!   BOUNDING_RECT="2357.8701370347017 -1220.3929917286587 454 71"
#!   ORDER="500000000000050"
#!   PARMS_EDITED="true"
#!   ENABLED="true"
#!   LAST_PARM_EDIT="20218"
#! >
#!     <OUTPUT_FEAT NAME="OUTPUT"/>
#!     <FEAT_COLLAPSED COLLAPSED="0"/>
#!     <XFORM_ATTR ATTR_NAME="MaterialCost" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_authentication" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_instance" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_request_params" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_units" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_source" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_workorderid" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_materialsSID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="LabourCost" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_contractorID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_hours" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_description" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_creation_instance" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_contractor" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_material" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_status" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_Date" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="LaborCostID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="Description" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="LaborName" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="ContractorNumber" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="MaterialCostID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="UnitsRequired" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="Source" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="WarningMessageText" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="ErrorMessageText" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_PARM PARM_NAME="ATTRIBUTE_GRP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="ATTR_TABLE" PARM_VALUE="Cost MaterialCost RENAME_SET_DEFAULT "/>
#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeRenamer_2"/>
#! </TRANSFORMER>
#! <TRANSFORMER
#!   IDENTIFIER="47"
#!   TYPE="AttributeRounder"
#!   VERSION="4"
#!   POSITION="3529.8692393981642 -724.39039170265937"
#!   BOUNDING_RECT="3529.8692393981642 -724.39039170265937 454 71"
#!   ORDER="500000000000052"
#!   PARMS_EDITED="true"
#!   ENABLED="true"
#!   LAST_PARM_EDIT="20218"
#! >
#!     <OUTPUT_FEAT NAME="OUTPUT"/>
#!     <FEAT_COLLAPSED COLLAPSED="0"/>
#!     <XFORM_ATTR ATTR_NAME="_workorderID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="Contractor" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_hours" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="MaterialCostID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="Description" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="UnitsRequired" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="Source" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="Status" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="RequestStatus" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="join" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_Date" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="LaborCostID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="LaborName" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="ContractorNumber" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="MaterialCost" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="LabourCost" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="TotalCostSum" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <OUTPUT_FEAT NAME="&lt;REJECTED&gt;"/>
#!     <FEAT_COLLAPSED COLLAPSED="1"/>
#!     <XFORM_ATTR ATTR_NAME="_workorderID" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="Contractor" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_hours" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="MaterialCostID" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="Description" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="UnitsRequired" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="Source" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="Status" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="RequestStatus" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="join" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_Date" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="LaborCostID" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="LaborName" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="ContractorNumber" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="MaterialCost" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="LabourCost" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="TotalCostSum" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="fme_rejection_code" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="PLACES" PARM_VALUE="2"/>
#!     <XFORM_PARM PARM_NAME="ROUND_TYPE" PARM_VALUE="Nearest"/>
#!     <XFORM_PARM PARM_NAME="SRC_ATTRS" PARM_VALUE="TotalCostSum LabourCost MaterialCost"/>
#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeRounder"/>
#! </TRANSFORMER>
#! <TRANSFORMER
#!   IDENTIFIER="37"
#!   TYPE="AttributeCreator"
#!   VERSION="9"
#!   POSITION="4221.8765394711636 -724.39039170265937"
#!   BOUNDING_RECT="4221.8765394711636 -724.39039170265937 454 71"
#!   ORDER="500000000000054"
#!   PARMS_EDITED="true"
#!   ENABLED="true"
#!   LAST_PARM_EDIT="20218"
#! >
#!     <OUTPUT_FEAT NAME="OUTPUT"/>
#!     <FEAT_COLLAPSED COLLAPSED="0"/>
#!     <XFORM_ATTR ATTR_NAME="TotalCostDollars" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="MaterialCostFormatted" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="LabourCostFormatted" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_workorderID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="Contractor" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_hours" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="MaterialCostID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="Description" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="UnitsRequired" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="Source" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="Status" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="RequestStatus" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="join" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_Date" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="LaborCostID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="LaborName" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="ContractorNumber" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="MaterialCost" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="LabourCost" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="TotalCostSum" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_PARM PARM_NAME="ATTRIBUTE_GRP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="ATTRIBUTE_HANDLING" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="ATTR_TABLE" PARM_VALUE="&quot;&quot; TotalCostDollars SET_TO &lt;dollar&gt;&lt;at&gt;Value&lt;openparen&gt;TotalCostSum&lt;closeparen&gt;  MaterialCostFormatted SET_TO &lt;dollar&gt;&lt;at&gt;Value&lt;openparen&gt;MaterialCost&lt;closeparen&gt;  LabourCostFormatted SET_TO &lt;dollar&gt;&lt;at&gt;Value&lt;openparen&gt;LabourCost&lt;closeparen&gt;"/>
#!     <XFORM_PARM PARM_NAME="MULTI_FEATURE_MODE" PARM_VALUE="NO"/>
#!     <XFORM_PARM PARM_NAME="NULL_ATTR_MODE_DISPLAY" PARM_VALUE="No Substitution"/>
#!     <XFORM_PARM PARM_NAME="NULL_ATTR_VALUE" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="NUM_PRIOR_FEATURES" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="NUM_SUBSEQUENT_FEATURES" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeCreator"/>
#! </TRANSFORMER>
#! </TRANSFORMERS>
#! <FEAT_LINKS>
#! <FEAT_LINK
#!   IDENTIFIER="6"
#!   SOURCE_NODE="3"
#!   TARGET_NODE="5"
#!   SOURCE_PORT_DESC="fo 0 CREATED"
#!   TARGET_PORT_DESC="fi 0 "
#!   ENABLED="true"
#!   EXECUTION_IDX="0"
#!   HIDDEN="false"
#!   COLOUR="0,0,0,1"
#!   PEN_WIDTH="4"
#!   PEN_STYLE="1"
#!   LINK_STYLE_NAME="&lt;Default&gt;"
#!   EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#!   IDENTIFIER="42"
#!   SOURCE_NODE="2"
#!   TARGET_NODE="41"
#!   SOURCE_PORT_DESC="fo 0 Output"
#!   TARGET_PORT_DESC="fi 0 "
#!   ENABLED="true"
#!   EXECUTION_IDX="0"
#!   HIDDEN="false"
#!   COLOUR="0,0,0,1"
#!   PEN_WIDTH="4"
#!   PEN_STYLE="1"
#!   LINK_STYLE_NAME="&lt;Default&gt;"
#!   EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#!   IDENTIFIER="39"
#!   SOURCE_NODE="5"
#!   TARGET_NODE="38"
#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
#!   TARGET_PORT_DESC="fi 0 "
#!   ENABLED="true"
#!   EXECUTION_IDX="0"
#!   HIDDEN="false"
#!   COLOUR="0,0,0,1"
#!   PEN_WIDTH="4"
#!   PEN_STYLE="1"
#!   LINK_STYLE_NAME="&lt;Default&gt;"
#!   EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#!   IDENTIFIER="45"
#!   SOURCE_NODE="8"
#!   TARGET_NODE="44"
#!   SOURCE_PORT_DESC="fo 0 Output"
#!   TARGET_PORT_DESC="fi 0 "
#!   ENABLED="true"
#!   EXECUTION_IDX="0"
#!   HIDDEN="false"
#!   COLOUR="0,0,0,1"
#!   PEN_WIDTH="4"
#!   PEN_STYLE="1"
#!   LINK_STYLE_NAME="&lt;Default&gt;"
#!   EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#!   IDENTIFIER="59"
#!   SOURCE_NODE="9"
#!   TARGET_NODE="32"
#!   SOURCE_PORT_DESC="fo 0 Output"
#!   TARGET_PORT_DESC="fi 0 "
#!   ENABLED="true"
#!   EXECUTION_IDX="0"
#!   HIDDEN="false"
#!   COLOUR="0,0,0,1"
#!   PEN_WIDTH="4"
#!   PEN_STYLE="1"
#!   LINK_STYLE_NAME="&lt;Default&gt;"
#!   EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#!   IDENTIFIER="29"
#!   SOURCE_NODE="22"
#!   TARGET_NODE="28"
#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
#!   TARGET_PORT_DESC="-1"
#!   ENABLED="true"
#!   EXECUTION_IDX="0"
#!   HIDDEN="false"
#!   COLOUR="0,0,0,1"
#!   PEN_WIDTH="4"
#!   PEN_STYLE="1"
#!   LINK_STYLE_NAME="&lt;Default&gt;"
#!   EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#!   IDENTIFIER="48"
#!   SOURCE_NODE="32"
#!   TARGET_NODE="47"
#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
#!   TARGET_PORT_DESC="fi 0 "
#!   ENABLED="true"
#!   EXECUTION_IDX="0"
#!   HIDDEN="false"
#!   COLOUR="0,0,0,1"
#!   PEN_WIDTH="4"
#!   PEN_STYLE="1"
#!   LINK_STYLE_NAME="&lt;Default&gt;"
#!   EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#!   IDENTIFIER="51"
#!   SOURCE_NODE="37"
#!   TARGET_NODE="22"
#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
#!   TARGET_PORT_DESC="fi 0 "
#!   ENABLED="true"
#!   EXECUTION_IDX="0"
#!   HIDDEN="false"
#!   COLOUR="0,0,0,1"
#!   PEN_WIDTH="4"
#!   PEN_STYLE="1"
#!   LINK_STYLE_NAME="&lt;Default&gt;"
#!   EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#!   IDENTIFIER="40"
#!   SOURCE_NODE="38"
#!   TARGET_NODE="2"
#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
#!   TARGET_PORT_DESC="fi 0 Input"
#!   ENABLED="true"
#!   EXECUTION_IDX="0"
#!   HIDDEN="false"
#!   COLOUR="0,0,0,1"
#!   PEN_WIDTH="4"
#!   PEN_STYLE="1"
#!   LINK_STYLE_NAME="&lt;Default&gt;"
#!   EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#!   IDENTIFIER="43"
#!   SOURCE_NODE="41"
#!   TARGET_NODE="8"
#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
#!   TARGET_PORT_DESC="fi 0 Input"
#!   ENABLED="true"
#!   EXECUTION_IDX="0"
#!   HIDDEN="false"
#!   COLOUR="0,0,0,1"
#!   PEN_WIDTH="4"
#!   PEN_STYLE="1"
#!   LINK_STYLE_NAME="&lt;Default&gt;"
#!   EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#!   IDENTIFIER="46"
#!   SOURCE_NODE="44"
#!   TARGET_NODE="9"
#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
#!   TARGET_PORT_DESC="fi 0 Input"
#!   ENABLED="true"
#!   EXECUTION_IDX="0"
#!   HIDDEN="false"
#!   COLOUR="0,0,0,1"
#!   PEN_WIDTH="4"
#!   PEN_STYLE="1"
#!   LINK_STYLE_NAME="&lt;Default&gt;"
#!   EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#!   IDENTIFIER="50"
#!   SOURCE_NODE="47"
#!   TARGET_NODE="37"
#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
#!   TARGET_PORT_DESC="fi 0 "
#!   ENABLED="true"
#!   EXECUTION_IDX="0"
#!   HIDDEN="false"
#!   COLOUR="0,0,0,1"
#!   PEN_WIDTH="4"
#!   PEN_STYLE="1"
#!   LINK_STYLE_NAME="&lt;Default&gt;"
#!   EXTRA_POINTS=""
#! />
#! </FEAT_LINKS>
#! <BREAKPOINTS>
#! </BREAKPOINTS>
#! <ATTR_LINKS>
#! </ATTR_LINKS>
#! <SUBDOCUMENTS>
#! <SUBDOCUMENT
#!   NAME="CityworksContractorCosts"
#!   CATEGORY="Integrations"
#!   DESCRIPTION="&lt;h3&gt;Description&lt;/h3&gt;&#10;&lt;p&gt;This transformer leverages the Cityworks REST API to send contractor labour costs to work orders within Cityworks from FME. It is designed to be used with an authenticated web connection to Cityworks.&lt;/p&gt;&#10;&lt;h3&gt;Details&lt;/h3&gt;&#10;&lt;p&gt;This transformer uses an HTTPCaller to make a call to Cityworks REST API. The API returns a response body that is parsed and made into attributes using JSONExtractor. Additional information and context can be found in the _response_body attribute. Tester transformers reroute Cityworks generic error page in addition to Error and Warning messages to the &amp;lt;Rejected&gt; port. Additional parameters can be provided in the &lt;em&gt;Additional Request Parameters&lt;/em&gt; field to send a more detailed request to Cityworks. &lt;/p&gt;"
#!   DOC_DYNAMIC_INPUT_ATTRS="0"
#!   DOC_EXTENTS="4624.55 702.585"
#!   DOC_TOP_LEFT="-5532.43 45.4225"
#!   FME_DOCUMENT_GUID="524790c9-7b3e-493a-883d-37881d9f062a"
#!   FME_DOCUMENT_PRIORGUID="1bb1c465-4328-4c27-a841-251c2deea7d2,fbdee21f-da73-49f8-83d9-4ddee6b33970,1c3f19ca-d235-4f83-80c8-ef8f73f9c560"
#!   FME_PROCESS_COUNT="NO_PARALLELISM"
#!   FME_PROCESS_GROUPS_ORDERED="No"
#!   FME_PROCESS_GROUP_BY=""
#!   FME_PROCESS_PRESERVE_GROUP_ATTR="No"
#!   FMX_ATTRIBUTE_PROPOGATION_MODE="AUTO"
#!   GUID="524790c9-7b3e-493a-883d-37881d9f062a"
#!   HISTORY="May&lt;space&gt;27th&lt;comma&gt;&lt;space&gt;2020,Sanae&lt;space&gt;Mendoza,Initial&lt;space&gt;Creation."
#!   IS_VISIBLE="false"
#!   LAST_SAVE_BUILD="FME(R) 2020.0.1.0 (20200407 - Build 20218 - macosx)"
#!   LAST_SAVE_DATE="2020-05-29T14:46:18"
#!   MARKDOWN_DESCRIPTION="&#10;###Description&#10;This transformer leverages the Cityworks REST API to send contractor labour costs to work orders within Cityworks from FME. It is designed to be used with an authenticated web connection to Cityworks.&#10;&#10;###Details &#10;This transformer uses an HTTPCaller to make a call to Cityworks REST API. The API returns a response body that is parsed and made into attributes using JSONExtractor. Additional information and context can be found in the \_response\_body attribute. Tester transformers reroute Cityworks generic error page in addition to Error and Warning messages to the &lt;Rejected\&gt; port. Additional parameters can be provided in the _Additional Request Parameters_ field to send a more detailed request to Cityworks. "
#!   MARKDOWN_USAGE="&#10;**Input Ports**&#10;&#10;Features entering this port trigger the addition of Contractor labour costs to a specified work order. Incoming attribute values may be used as input if they are valid parameters of the request URL. If this transformer is intended to be used on its own, a [Creator](http://docs.safe.com/fme/2019.0/html/FME_Desktop_Documentation/FME_Transformers/Transformers/creator.htm) transformer should be used as input to trigger the call without having to read in data.&#10;&#10;**Output Ports**&#10;&#10;The outgoing port sends returned attributes parsed from the Cityworks API response. Additional attributes include the JSON response body and input user parameters. Outgoing attributes can be customized by configuring the JSONExtractor inside the transformer to parse target attributes from the Cityworks response.&#10;&#10;The rejected output port is connected to HTTPCaller, JSONExtractor, and two testers. The first Tester checks for Cityworks generic HTML error page, indicating bad input. Tester_2 checks the returned Cityworks JSON response body for values in the ErrorMessages or WarningMessages. Attributes associated with these failure messages are output to the &lt;Rejected\&gt; port and may be further investigated using the Cityworks API documentation.&#10;&#10;**Parameters**&#10;&#10;Web Connection: The name of your Cityworks web connection.&#10;&#10;Cityworks Instance: The path to your Cityworks instance endpoint.&#10;Example: `http://localhost/Cityworks`&#10;&#10;Work Order ID: The work order that you wish to send contractor costs to.  &#10;&#10;Contractor ID: The Contractor ID for the contractor that you are sending labour costs for. &#10;&#10;Hours: The duration to calculate costs for.  &#10;&#10;Description: Notes or additional information associated with the cost. Optional.&#10;&#10;Additional Request Parameters: This parameter can contain one or more extra request parameter definitions which will be included in your work order. Parameters must be valid for your Cityworks instance. Additional parameters should be formatted with double quotation marks (`&quot;`) surrounding each key and value, with a colon (`:`) between keys and values. Each key-value pair should be separated by a comma (`,`).&#10;Example: ` &apos;&apos;Address&apos;&apos;:&apos;&apos;1234 Fake St.&apos;&apos;,&apos;&apos;City&apos;&apos;:&apos;&apos;NowhereVille&apos;&apos;`&#10;&#10;**Consult your Cityworks documentation for more request parameters.**&#10;"
#!   PYTHON_COMPATIBILITY=""
#!   REPLACED_BY=""
#!   SUPPRESS_UPGRADE="false"
#!   TITLE="CityworksContractorCosts"
#!   USAGE="&lt;p&gt;&lt;strong&gt;Input Ports&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;Features entering this port trigger the addition of Contractor labour costs to a specified work order. Incoming attribute values may be used as input if they are valid parameters of the request URL. If this transformer is intended to be used on its own, a &lt;a href=&quot;http://docs.safe.com/fme/2019.0/html/FME_Desktop_Documentation/FME_Transformers/Transformers/creator.htm&quot;&gt;Creator&lt;/a&gt; transformer should be used as input to trigger the call without having to read in data.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Output Ports&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;The outgoing port sends returned attributes parsed from the Cityworks API response. Additional attributes include the JSON response body and input user parameters. Outgoing attributes can be customized by configuring the JSONExtractor inside the transformer to parse target attributes from the Cityworks response.&lt;/p&gt;&#10;&lt;p&gt;The rejected output port is connected to HTTPCaller, JSONExtractor, and two testers. The first Tester checks for Cityworks generic HTML error page, indicating bad input. Tester_2 checks the returned Cityworks JSON response body for values in the ErrorMessages or WarningMessages. Attributes associated with these failure messages are output to the &amp;lt;Rejected&gt; port and may be further investigated using the Cityworks API documentation.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Parameters&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;Web Connection: The name of your Cityworks web connection.&lt;/p&gt;&#10;&lt;p&gt;Cityworks Instance: The path to your Cityworks instance endpoint.&#10;Example: &lt;code&gt;http://localhost/Cityworks&lt;/code&gt;&lt;/p&gt;&#10;&lt;p&gt;Work Order ID: The work order that you wish to send contractor costs to.  &lt;/p&gt;&#10;&lt;p&gt;Contractor ID: The Contractor ID for the contractor that you are sending labour costs for. &lt;/p&gt;&#10;&lt;p&gt;Hours: The duration to calculate costs for.  &lt;/p&gt;&#10;&lt;p&gt;Description: Notes or additional information associated with the cost. Optional.&lt;/p&gt;&#10;&lt;p&gt;Additional Request Parameters: This parameter can contain one or more extra request parameter definitions which will be included in your work order. Parameters must be valid for your Cityworks instance. Additional parameters should be formatted with double quotation marks (&lt;code&gt;&quot;&lt;/code&gt;) surrounding each key and value, with a colon (&lt;code&gt;:&lt;/code&gt;) between keys and values. Each key-value pair should be separated by a comma (&lt;code&gt;,&lt;/code&gt;).&#10;Example: &lt;code&gt;&apos;&apos;Address&apos;&apos;:&apos;&apos;1234 Fake St.&apos;&apos;,&apos;&apos;City&apos;&apos;:&apos;&apos;NowhereVille&apos;&apos;&lt;/code&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Consult your Cityworks documentation for more request parameters.&lt;/strong&gt;&lt;/p&gt;"
#!   USE_MARKDOWN="YES"
#!   VIEW_POSITION="-2345.86 820.842"
#!   XFORM_DEPRECATED="No"
#!   ZOOM_SCALE="72"
#! >
#! <GLOBAL_PARAMETERS>
#! <GLOBAL_PARAMETER
#!   GUI_LINE="GUI NAMED_CONNECTION_OR_ATTR authentication Cityworks% Web Connection:"
#!   DEFAULT_VALUE=""
#!   IS_STAND_ALONE="true"
#! />
#! <GLOBAL_PARAMETER
#!   GUI_LINE="GUI TEXT_OR_ATTR instance Cityworks Instance:"
#!   DEFAULT_VALUE=""
#!   IS_STAND_ALONE="true"
#! />
#! <GLOBAL_PARAMETER
#!   GUI_LINE="GUI TEXT_OR_ATTR workorderid Work Order ID:"
#!   DEFAULT_VALUE=""
#!   IS_STAND_ALONE="true"
#! />
#! <GLOBAL_PARAMETER
#!   GUI_LINE="GUI TEXT_OR_ATTR contractorID Contractor ID:"
#!   DEFAULT_VALUE=""
#!   IS_STAND_ALONE="true"
#! />
#! <GLOBAL_PARAMETER
#!   GUI_LINE="GUI RANGE_SLIDER_OR_ATTR hours &quot;RANGE:[0,1000]&quot; Hours:"
#!   DEFAULT_VALUE=""
#!   IS_STAND_ALONE="true"
#! />
#! <GLOBAL_PARAMETER
#!   GUI_LINE="GUI OPTIONAL TEXT_EDIT_OR_ATTR description &quot;&quot; Cost Description:"
#!   DEFAULT_VALUE=""
#!   IS_STAND_ALONE="true"
#! />
#! <GLOBAL_PARAMETER
#!   GUI_LINE="GUI OPTIONAL TEXT_OR_ATTR request_params Additional Request Parameters:"
#!   DEFAULT_VALUE="&quot;Estimated&quot;: false,"
#!   IS_STAND_ALONE="true"
#! />
#! </GLOBAL_PARAMETERS>
#! <COMMENTS>
#! <COMMENT
#!   IDENTIFIER="24"
#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;.AppleSystemUIFont&apos;; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Reroute Cityworks Error Page&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
#!   POSITION="-3394.3181059444378 727.00708470698169"
#!   TOP_LEFT="-3394.3181059444378 727.00708470698169"
#!   BOTTOM_RIGHT="-2940.3181059444378 726.00708470698169"
#!   BOUNDING_RECT="-3394.3181059444378 727.00708470698169 454 1"
#!   ORDER="500000000000025"
#!   FOLLOW_ANCHOR="true"
#!   INFO_NODE="false"
#!   CUSTOM_USER_COLOR="false"
#!   COLOUR="1,1,0.95686274509803926,0.78431372549019607"
#!   SIZE_POLICY="10"
#!   ANCHORED_NODE="8"
#! />
#! <COMMENT
#!   IDENTIFIER="25"
#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;.AppleSystemUIFont&apos;; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Send Contractor Call to Cityworks REST API&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
#!   POSITION="-4077.6308224049344 727.00708470698169"
#!   TOP_LEFT="-4077.6308224049344 727.00708470698169"
#!   BOTTOM_RIGHT="-3605.6308224049344 726.00708470698169"
#!   BOUNDING_RECT="-4077.6308224049344 727.00708470698169 472 1"
#!   ORDER="500000000000031"
#!   FOLLOW_ANCHOR="true"
#!   INFO_NODE="false"
#!   CUSTOM_USER_COLOR="false"
#!   COLOUR="1,1,0.95686274509803926,0.78431372549019607"
#!   SIZE_POLICY="10"
#!   ANCHORED_NODE="7"
#! />
#! <COMMENT
#!   IDENTIFIER="26"
#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;.AppleSystemUIFont&apos;; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Test for ErrorMessages or WarningMessages&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
#!   POSITION="-2060.5724764535589 748.00794471558174"
#!   TOP_LEFT="-2060.5724764535589 748.00794471558174"
#!   BOTTOM_RIGHT="-1606.5724764535589 747.00794471558174"
#!   BOUNDING_RECT="-2060.5724764535589 748.00794471558174 454 1"
#!   ORDER="500000000000029"
#!   FOLLOW_ANCHOR="true"
#!   INFO_NODE="false"
#!   CUSTOM_USER_COLOR="false"
#!   COLOUR="1,1,0.95686274509803926,0.78431372549019607"
#!   SIZE_POLICY="10"
#!   ANCHORED_NODE="10"
#! />
#! <COMMENT
#!   IDENTIFIER="27"
#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;.AppleSystemUIFont&apos;; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Extract JSON values from HTTP Response&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
#!   POSITION="-2737.9880983996468 652.00698470598172"
#!   TOP_LEFT="-2737.9880983996468 652.00698470598172"
#!   BOTTOM_RIGHT="-2207.603515537975 502.00578469398158"
#!   BOUNDING_RECT="-2737.9880983996468 652.00698470598172 530.38458286167202 150.00120001200011"
#!   ORDER="500000000000033"
#!   FOLLOW_ANCHOR="true"
#!   INFO_NODE="false"
#!   CUSTOM_USER_COLOR="false"
#!   COLOUR="1,1,0.95686274509803926,0.78431372549019607"
#!   SIZE_POLICY="10"
#!   ANCHORED_NODE="11"
#! />
#! </COMMENTS>
#! <CONSTANTS>
#! </CONSTANTS>
#! <BOOKMARKS>
#! <BOOKMARK
#!   IDENTIFIER="28"
#!   NAME="Get User Parameters"
#!   DESCRIPTION=""
#!   TOP_LEFT="-4883.4987844178868 698.84015137098163"
#!   ORDER="500000000000017"
#!   PALETTE_COLOR="Color2"
#!   BOTTOM_RIGHT="-4129.8075087717016 45.422480256194603"
#!   BOUNDING_RECT="-4883.4987844178868 698.84015137098163 753.69127564618498 653.41767111478703"
#!   STICKY="true"
#!   COLOUR="0.63529411764705879,0.80000000000000004,0.59999999999999998,1"
#!   CONTENTS="5 6 13 "
#! >
#! </BOOKMARK>
#! </BOOKMARKS>
#! <TRANSFORMERS>
#! <TRANSFORMER
#!   IDENTIFIER="5"
#!   TYPE="ParameterFetcher"
#!   VERSION="4"
#!   POSITION="-4728.8314510778873 542.00588469498166"
#!   BOUNDING_RECT="-4728.8314510778873 542.00588469498166 431 71"
#!   ORDER="500000000000001"
#!   PARMS_EDITED="true"
#!   ENABLED="true"
#!   LAST_PARM_EDIT="20218"
#! >
#!     <OUTPUT_FEAT NAME="OUTPUT"/>
#!     <FEAT_COLLAPSED COLLAPSED="0"/>
#!     <XFORM_ATTR ATTR_NAME="_authentication" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_instance" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_workorderid" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_contractorID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_hours" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_description" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_request_params" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_PARM PARM_NAME="ATTR_LIST" PARM_VALUE="_authentication $(authentication) _instance $(instance) _workorderid $(workorderid) _contractorID $(contractorID) _hours $(hours) _description $(description) _request_params $(request_params)"/>
#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="XFORMER_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="ParameterFetcher"/>
#! </TRANSFORMER>
#! <TRANSFORMER
#!   IDENTIFIER="6"
#!   TYPE="AttributeManager"
#!   VERSION="2"
#!   POSITION="-4727.8314510778873 306.33811135058124"
#!   BOUNDING_RECT="-4727.8314510778873 306.33811135058124 430 71"
#!   ORDER="500000000000002"
#!   PARMS_EDITED="true"
#!   ENABLED="true"
#!   LAST_PARM_EDIT="20218"
#! >
#!     <OUTPUT_FEAT NAME="OUTPUT"/>
#!     <FEAT_COLLAPSED COLLAPSED="0"/>
#!     <XFORM_ATTR ATTR_NAME="_authentication" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_instance" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_request_params" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_workorderid" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_contractorID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_hours" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_description" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_PARM PARM_NAME="ATTRIBUTE_GRP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="ATTRIBUTE_HANDLING" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="ATTR_TABLE" PARM_VALUE="_authentication _authentication  NO_OP _instance _instance  NO_OP _request_params _request_params  NO_OP _workorderid _workorderid  NO_OP _contractorID _contractorID  NO_OP _hours _hours  NO_OP _description _description &quot;FME_CONDITIONAL:DEFAULT_VALUE&apos;FME_NULL_VALUE&apos;BOOL_OP;OR;COMPOSITE_TEST;1;TEST _description ATTRIBUTE_HAS_A_VALUE _FME_BLANK_STRING_&apos;&lt;quote&gt;Description&lt;quote&gt;:&lt;space&gt;&lt;quote&gt;&lt;at&gt;Value&lt;openparen&gt;_description&lt;closeparen&gt;&lt;quote&gt;&lt;comma&gt;&apos;FME_NUM_CONDITIONS2___&quot; SET_TO"/>
#!     <XFORM_PARM PARM_NAME="MULTI_FEATURE_MODE" PARM_VALUE="NO"/>
#!     <XFORM_PARM PARM_NAME="NULL_ATTR_MODE_DISPLAY" PARM_VALUE="No Substitution"/>
#!     <XFORM_PARM PARM_NAME="NULL_ATTR_VALUE" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="NUM_PRIOR_FEATURES" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="NUM_SUBSEQUENT_FEATURES" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeManager_2"/>
#! </TRANSFORMER>
#! <TRANSFORMER
#!   IDENTIFIER="7"
#!   TYPE="HTTPCaller"
#!   VERSION="2"
#!   POSITION="-4035.6578526752369 467.00578469398152"
#!   BOUNDING_RECT="-4035.6578526752369 467.00578469398152 430 71"
#!   ORDER="500000000000006"
#!   PARMS_EDITED="true"
#!   ENABLED="true"
#!   LAST_PARM_EDIT="20218"
#! >
#!     <OUTPUT_FEAT NAME="Output"/>
#!     <FEAT_COLLAPSED COLLAPSED="0"/>
#!     <XFORM_ATTR ATTR_NAME="_authentication" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_instance" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_request_params" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_workorderid" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_contractorID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_hours" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_description" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <OUTPUT_FEAT NAME="&lt;REJECTED&gt;"/>
#!     <FEAT_COLLAPSED COLLAPSED="1"/>
#!     <XFORM_ATTR ATTR_NAME="_authentication" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_instance" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_request_params" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_workorderid" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_contractorID" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_hours" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_description" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_error" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="fme_rejection_code" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_PARM PARM_NAME="ADDITIONAL_PARAMETERS_GROUP" PARM_VALUE="FME_DISCLOSURE_OPEN"/>
#!     <XFORM_PARM PARM_NAME="ADDITIONAL_URL_PARAMETERS" PARM_VALUE="data;&lt;opencurly&gt;&lt;at&gt;Value&lt;openparen&gt;_request_params&lt;closeparen&gt;&lt;space&gt;&lt;at&gt;Value&lt;openparen&gt;_description&lt;closeparen&gt;&lt;space&gt;&lt;quote&gt;WorkOrderId&lt;quote&gt;:&lt;space&gt;&lt;at&gt;Value&lt;openparen&gt;_workorderid&lt;closeparen&gt;&lt;comma&gt;&lt;space&gt;&lt;quote&gt;Hours&lt;quote&gt;:&lt;space&gt;&lt;at&gt;Value&lt;openparen&gt;_hours&lt;closeparen&gt;&lt;comma&gt;&lt;space&gt;&lt;space&gt;&lt;quote&gt;ContractorSids&lt;quote&gt;:&lt;space&gt;&lt;openbracket&gt;&lt;at&gt;Value&lt;openparen&gt;_contractorID&lt;closeparen&gt;&lt;closebracket&gt;&lt;closecurly&gt;"/>
#!     <XFORM_PARM PARM_NAME="ADVANCED_REQUEST_PARAMETERS" PARM_VALUE="NO"/>
#!     <XFORM_PARM PARM_NAME="ADVANCED_RESPONSE_PARAMETERS" PARM_VALUE="FME_DISCLOSURE_OPEN"/>
#!     <XFORM_PARM PARM_NAME="AUTH_METHOD" PARM_VALUE="Web Connection"/>
#!     <XFORM_PARM PARM_NAME="AUTH_NAMED_CONNECTION" PARM_VALUE="&lt;at&gt;Value&lt;openparen&gt;_authentication&lt;closeparen&gt;"/>
#!     <XFORM_PARM PARM_NAME="AUTH_PASSWORD" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="AUTH_USERNAME" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="CONNECTION_TIMEOUT_LENGTH" PARM_VALUE="60"/>
#!     <XFORM_PARM PARM_NAME="CUSTOM_HEADERS" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="CUSTOM_HEADERS_GROUP" PARM_VALUE="NO"/>
#!     <XFORM_PARM PARM_NAME="ERROR_ATTR" PARM_VALUE="_error"/>
#!     <XFORM_PARM PARM_NAME="FILE_PATH_ATTR" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="FILE_TYPE" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="FOLLOW_REDIRECTS" PARM_VALUE="FOLLOW_WITH_GET"/>
#!     <XFORM_PARM PARM_NAME="HTTPURL_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="HTTP_AUTH_GROUP" PARM_VALUE="YES"/>
#!     <XFORM_PARM PARM_NAME="HTTP_METHOD" PARM_VALUE="GET"/>
#!     <XFORM_PARM PARM_NAME="HTTP_RESPONSE_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="MULTIPARTS" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="MULTIPART_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="OUTPUT_DIRNAME" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="OUTPUT_FILENAME" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="REDIRECT_AUTH" PARM_VALUE="ORIGINAL_DOMAIN_ONLY"/>
#!     <XFORM_PARM PARM_NAME="RESPONSE_FILE_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="RESPONSE_HEADER_LIST_ATTR" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="SAVE_FILE" PARM_VALUE="Attribute"/>
#!     <XFORM_PARM PARM_NAME="SAVE_MULTI" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="STATUS_CODE_ATTR" PARM_VALUE="_http_status_code"/>
#!     <XFORM_PARM PARM_NAME="TARGET_ATTR" PARM_VALUE="_response_body"/>
#!     <XFORM_PARM PARM_NAME="TARGET_ATTR_ENCODING" PARM_VALUE="auto-detect"/>
#!     <XFORM_PARM PARM_NAME="TARGET_URL" PARM_VALUE="&lt;at&gt;Value&lt;openparen&gt;_instance&lt;closeparen&gt;&lt;solidus&gt;services&lt;solidus&gt;Ams&lt;solidus&gt;LaborCost&lt;solidus&gt;AddWorkOrderCosts?"/>
#!     <XFORM_PARM PARM_NAME="TRANSFER_TIMEOUT_LENGTH" PARM_VALUE="90"/>
#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="UPLOAD_BODY" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="UPLOAD_CONTENT_TYPE" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="UPLOAD_FILE" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="UPLOAD_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="UPLOAD_TYPE" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="USE_COOKIES" PARM_VALUE="No"/>
#!     <XFORM_PARM PARM_NAME="VERIFY_SSL_CERTIFICATES" PARM_VALUE="Yes"/>
#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="HTTPCaller"/>
#! </TRANSFORMER>
#! <TRANSFORMER
#!   IDENTIFIER="8"
#!   TYPE="Tester"
#!   VERSION="3"
#!   POSITION="-3394.3181059444378 542.00588469498166"
#!   BOUNDING_RECT="-3394.3181059444378 542.00588469498166 431 71"
#!   ORDER="500000000000019"
#!   PARMS_EDITED="false"
#!   ENABLED="true"
#!   LAST_PARM_EDIT="20218"
#!   OUTPUT_FT_ORDER="FAILED%PASSED"
#! >
#!     <OUTPUT_FEAT NAME="FAILED"/>
#!     <FEAT_COLLAPSED COLLAPSED="0"/>
#!     <XFORM_ATTR ATTR_NAME="_authentication" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_instance" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_request_params" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_workorderid" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_contractorID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_hours" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_description" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <OUTPUT_FEAT NAME="PASSED"/>
#!     <FEAT_COLLAPSED COLLAPSED="1"/>
#!     <XFORM_ATTR ATTR_NAME="_authentication" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_instance" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_request_params" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_workorderid" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_contractorID" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_hours" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_description" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_PARM PARM_NAME="ADVANCED_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="BOOL_OP" PARM_VALUE="OR"/>
#!     <XFORM_PARM PARM_NAME="COMPOSITE_MSG" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="COMPOSITE_TEST" PARM_VALUE="1"/>
#!     <XFORM_PARM PARM_NAME="PRESERVE_FEATURE_ORDER" PARM_VALUE="Per Output Port"/>
#!     <XFORM_PARM PARM_NAME="TEST_CLAUSE" PARM_VALUE="CASE_INSENSITIVE_TEST &lt;at&gt;Value&lt;openparen&gt;_response_body&lt;closeparen&gt; BEGINS_WITH &lt;lt&gt;!DOCTYPE&lt;space&gt;HTML&lt;gt&gt;"/>
#!     <XFORM_PARM PARM_NAME="TEST_CLAUSE_GRP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="TEST_MODE" PARM_VALUE="CASE_INSENSITIVE_TEST"/>
#!     <XFORM_PARM PARM_NAME="TEST_PREVIEW_GROUP" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="Tester"/>
#! </TRANSFORMER>
#! <TRANSFORMER
#!   IDENTIFIER="9"
#!   TYPE="AttributeCreator"
#!   VERSION="9"
#!   POSITION="-3394.3181059444378 264.3039980536019"
#!   BOUNDING_RECT="-3394.3181059444378 264.3039980536019 454 71"
#!   ORDER="500000000000023"
#!   PARMS_EDITED="true"
#!   ENABLED="true"
#!   LAST_PARM_EDIT="20218"
#! >
#!     <OUTPUT_FEAT NAME="OUTPUT"/>
#!     <FEAT_COLLAPSED COLLAPSED="0"/>
#!     <XFORM_ATTR ATTR_NAME="GenericErrorMessage" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_authentication" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_instance" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_request_params" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_workorderid" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_contractorID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_hours" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_description" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_PARM PARM_NAME="ATTRIBUTE_GRP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="ATTRIBUTE_HANDLING" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="ATTR_TABLE" PARM_VALUE="&quot;&quot; GenericErrorMessage SET_TO Bad&lt;space&gt;Or&lt;space&gt;Incomplete&lt;space&gt;Request"/>
#!     <XFORM_PARM PARM_NAME="MULTI_FEATURE_MODE" PARM_VALUE="NO"/>
#!     <XFORM_PARM PARM_NAME="NULL_ATTR_MODE_DISPLAY" PARM_VALUE="No Substitution"/>
#!     <XFORM_PARM PARM_NAME="NULL_ATTR_VALUE" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="NUM_PRIOR_FEATURES" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="NUM_SUBSEQUENT_FEATURES" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeCreator"/>
#! </TRANSFORMER>
#! <TRANSFORMER
#!   IDENTIFIER="10"
#!   TYPE="Tester"
#!   VERSION="3"
#!   POSITION="-2060.5724764535589 467.00578469398152"
#!   BOUNDING_RECT="-2060.5724764535589 467.00578469398152 454 71"
#!   ORDER="500000000000014"
#!   PARMS_EDITED="false"
#!   ENABLED="true"
#!   LAST_PARM_EDIT="20218"
#!   OUTPUT_FT_ORDER="FAILED%PASSED"
#! >
#!     <OUTPUT_FEAT NAME="FAILED"/>
#!     <FEAT_COLLAPSED COLLAPSED="0"/>
#!     <XFORM_ATTR ATTR_NAME="_authentication" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_instance" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_request_params" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_workorderid" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_contractorID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_hours" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_description" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="LaborCostID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="Description" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="Cost" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="LaborName" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="ContractorNumber" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="WarningMessageText" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="ErrorMessageText" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <OUTPUT_FEAT NAME="PASSED"/>
#!     <FEAT_COLLAPSED COLLAPSED="1"/>
#!     <XFORM_ATTR ATTR_NAME="_authentication" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_instance" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_request_params" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_workorderid" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_contractorID" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_hours" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_description" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="LaborCostID" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="Description" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="Cost" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="LaborName" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="ContractorNumber" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="WarningMessageText" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="ErrorMessageText" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_PARM PARM_NAME="ADVANCED_GROUP" PARM_VALUE="FME_DISCLOSURE_OPEN"/>
#!     <XFORM_PARM PARM_NAME="BOOL_OP" PARM_VALUE="OR"/>
#!     <XFORM_PARM PARM_NAME="COMPOSITE_MSG" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="COMPOSITE_TEST" PARM_VALUE="1 OR 2"/>
#!     <XFORM_PARM PARM_NAME="PRESERVE_FEATURE_ORDER" PARM_VALUE="Per Output Port"/>
#!     <XFORM_PARM PARM_NAME="TEST_CLAUSE" PARM_VALUE="TEST WarningMessageText ATTRIBUTE_HAS_A_VALUE &quot;&quot;&#10;TEST ErrorMessageText ATTRIBUTE_HAS_A_VALUE &quot;&quot;"/>
#!     <XFORM_PARM PARM_NAME="TEST_CLAUSE_GRP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="TEST_MODE" PARM_VALUE="TEST"/>
#!     <XFORM_PARM PARM_NAME="TEST_PREVIEW_GROUP" PARM_VALUE="FME_DISCLOSURE_CLOSED"/>
#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="Tester_2"/>
#! </TRANSFORMER>
#! <TRANSFORMER
#!   IDENTIFIER="11"
#!   TYPE="JSONExtractor"
#!   VERSION="4"
#!   POSITION="-2702.9881283999471 467.00578469398152"
#!   BOUNDING_RECT="-2702.9881283999471 467.00578469398152 454 71"
#!   ORDER="500000000000032"
#!   PARMS_EDITED="true"
#!   ENABLED="true"
#!   LAST_PARM_EDIT="20218"
#! >
#!     <OUTPUT_FEAT NAME="EVALUATED"/>
#!     <FEAT_COLLAPSED COLLAPSED="0"/>
#!     <XFORM_ATTR ATTR_NAME="_authentication" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_instance" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_request_params" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_workorderid" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_contractorID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_hours" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_description" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="LaborCostID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="Description" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="Cost" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="LaborName" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="ContractorNumber" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="WarningMessageText" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="ErrorMessageText" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <OUTPUT_FEAT NAME="&lt;REJECTED&gt;"/>
#!     <FEAT_COLLAPSED COLLAPSED="1"/>
#!     <XFORM_ATTR ATTR_NAME="_authentication" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_instance" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_request_params" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_workorderid" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_contractorID" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_hours" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_description" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="fme_rejection_code" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="LaborCostID" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="Description" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="Cost" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="LaborName" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="ContractorNumber" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="WarningMessageText" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="ErrorMessageText" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_PARM PARM_NAME="EXTRACT_QUERY_TABLE" PARM_VALUE="LaborCostID json&lt;openbracket&gt;&lt;quote&gt;Value&lt;quote&gt;&lt;closebracket&gt;&lt;openbracket&gt;0&lt;closebracket&gt;&lt;openbracket&gt;&lt;quote&gt;LaborCostId&lt;quote&gt;&lt;closebracket&gt; Description json&lt;openbracket&gt;&lt;quote&gt;Value&lt;quote&gt;&lt;closebracket&gt;&lt;openbracket&gt;0&lt;closebracket&gt;&lt;openbracket&gt;&lt;quote&gt;Description&lt;quote&gt;&lt;closebracket&gt; Cost json&lt;openbracket&gt;&lt;quote&gt;Value&lt;quote&gt;&lt;closebracket&gt;&lt;openbracket&gt;0&lt;closebracket&gt;&lt;openbracket&gt;&lt;quote&gt;Cost&lt;quote&gt;&lt;closebracket&gt; LaborName json&lt;openbracket&gt;&lt;quote&gt;Value&lt;quote&gt;&lt;closebracket&gt;&lt;openbracket&gt;0&lt;closebracket&gt;&lt;openbracket&gt;&lt;quote&gt;LaborName&lt;quote&gt;&lt;closebracket&gt; ContractorNumber json&lt;openbracket&gt;&lt;quote&gt;Value&lt;quote&gt;&lt;closebracket&gt;&lt;openbracket&gt;0&lt;closebracket&gt;&lt;openbracket&gt;&lt;quote&gt;ContractorNumber&lt;quote&gt;&lt;closebracket&gt; WarningMessageText json&lt;openbracket&gt;&lt;quote&gt;WarningMessages&lt;quote&gt;&lt;closebracket&gt;&lt;openbracket&gt;0&lt;closebracket&gt;&lt;openbracket&gt;&lt;quote&gt;DisplayText&lt;quote&gt;&lt;closebracket&gt; ErrorMessageText json&lt;openbracket&gt;&lt;quote&gt;ErrorMessages&lt;quote&gt;&lt;closebracket&gt;&lt;openbracket&gt;0&lt;closebracket&gt;&lt;openbracket&gt;&lt;quote&gt;DisplayText&lt;quote&gt;&lt;closebracket&gt;"/>
#!     <XFORM_PARM PARM_NAME="FILEPATH_OR_URL" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="INPUT_SETTINGS_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="JSON_DOCUMENT" PARM_VALUE="&lt;at&gt;Value&lt;openparen&gt;_response_body&lt;closeparen&gt;"/>
#!     <XFORM_PARM PARM_NAME="QUERY_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="READ_FROM_FILE" PARM_VALUE="NO"/>
#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="JSONExtractor"/>
#! </TRANSFORMER>
#! </TRANSFORMERS>
#! <SUBDOCUMENT_IOS>
#! <SUBDOCUMENT_IO
#!   IDENTIFIER="2"
#!   NAME="Input"
#!   POSITION="-5532.4302551452874 630.49391759471314"
#!   BOUNDING_RECT="-5532.4302551452874 630.49391759471314 430 71"
#!   COLLAPSED="true"
#!   PUBLISHED="true"
#!   IS_SOURCE="true"
#!   ATTR_MODE="0"
#! >
#! </SUBDOCUMENT_IO>
#! <SUBDOCUMENT_IO
#!   IDENTIFIER="3"
#!   NAME="Output"
#!   POSITION="-1399.3779324651036 648.00588469498155"
#!   BOUNDING_RECT="-1399.3779324651036 648.00588469498155 454 71"
#!   COLLAPSED="true"
#!   IS_SOURCE="false"
#!   ATTR_MODE="1"
#! >
#!     <XFORM_ATTR ATTR_NAME="_authentication" ATTR_TYPE="buffer" />
#!     <XFORM_ATTR ATTR_NAME="_contractorID" ATTR_TYPE="buffer" />
#!     <XFORM_ATTR ATTR_NAME="_description" ATTR_TYPE="buffer" />
#!     <XFORM_ATTR ATTR_NAME="_hours" ATTR_TYPE="buffer" />
#!     <XFORM_ATTR ATTR_NAME="_http_status_code" ATTR_TYPE="buffer" />
#!     <XFORM_ATTR ATTR_NAME="_instance" ATTR_TYPE="buffer" />
#!     <XFORM_ATTR ATTR_NAME="_request_params" ATTR_TYPE="buffer" />
#!     <XFORM_ATTR ATTR_NAME="_response_body" ATTR_TYPE="varchar(200)" />
#!     <XFORM_ATTR ATTR_NAME="_workorderid" ATTR_TYPE="buffer" />
#!     <XFORM_ATTR ATTR_NAME="ContractorNumber" ATTR_TYPE="varchar(200)" />
#!     <XFORM_ATTR ATTR_NAME="Cost" ATTR_TYPE="varchar(200)" />
#!     <XFORM_ATTR ATTR_NAME="Description" ATTR_TYPE="varchar(200)" />
#!     <XFORM_ATTR ATTR_NAME="LaborCostID" ATTR_TYPE="varchar(200)" />
#!     <XFORM_ATTR ATTR_NAME="LaborName" ATTR_TYPE="varchar(200)" />
#! </SUBDOCUMENT_IO>
#! <SUBDOCUMENT_IO
#!   IDENTIFIER="4"
#!   NAME="&lt;Rejected&gt;"
#!   POSITION="-1361.8775574613539 147.43165218185356"
#!   BOUNDING_RECT="-1361.8775574613539 147.43165218185356 454 71"
#!   COLLAPSED="true"
#!   IS_SOURCE="false"
#!   ATTR_MODE="1"
#! >
#!     <XFORM_ATTR ATTR_NAME="_authentication" ATTR_TYPE="buffer" />
#!     <XFORM_ATTR ATTR_NAME="_contractorID" ATTR_TYPE="buffer" />
#!     <XFORM_ATTR ATTR_NAME="_description" ATTR_TYPE="buffer" />
#!     <XFORM_ATTR ATTR_NAME="_hours" ATTR_TYPE="buffer" />
#!     <XFORM_ATTR ATTR_NAME="_http_status_code" ATTR_TYPE="buffer" />
#!     <XFORM_ATTR ATTR_NAME="_instance" ATTR_TYPE="buffer" />
#!     <XFORM_ATTR ATTR_NAME="_request_params" ATTR_TYPE="buffer" />
#!     <XFORM_ATTR ATTR_NAME="_response_body" ATTR_TYPE="varchar(200)" />
#!     <XFORM_ATTR ATTR_NAME="_workorderid" ATTR_TYPE="buffer" />
#!     <XFORM_ATTR ATTR_NAME="ErrorMessageText" ATTR_TYPE="varchar(200)" />
#!     <XFORM_ATTR ATTR_NAME="WarningMessageText" ATTR_TYPE="varchar(200)" />
#!     <XFORM_ATTR ATTR_NAME="GenericErrorMessage" ATTR_TYPE="varchar(200)" />
#! </SUBDOCUMENT_IO>
#! </SUBDOCUMENT_IOS>
#! <FEAT_LINKS>
#! <FEAT_LINK
#!   IDENTIFIER="12"
#!   SOURCE_NODE="2"
#!   TARGET_NODE="5"
#!   SOURCE_PORT_DESC="0"
#!   TARGET_PORT_DESC="fi 0 "
#!   ENABLED="true"
#!   EXECUTION_IDX="0"
#!   HIDDEN="false"
#!   COLOUR="0,0,0,1"
#!   PEN_WIDTH="4"
#!   PEN_STYLE="1"
#!   LINK_STYLE_NAME="&lt;Default&gt;"
#!   EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#!   IDENTIFIER="13"
#!   SOURCE_NODE="5"
#!   TARGET_NODE="6"
#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
#!   TARGET_PORT_DESC="fi 0 "
#!   ENABLED="true"
#!   EXECUTION_IDX="0"
#!   HIDDEN="false"
#!   COLOUR="0,0,0,1"
#!   PEN_WIDTH="4"
#!   PEN_STYLE="1"
#!   LINK_STYLE_NAME="&lt;Default&gt;"
#!   EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#!   IDENTIFIER="14"
#!   SOURCE_NODE="6"
#!   TARGET_NODE="7"
#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
#!   TARGET_PORT_DESC="fi 0 "
#!   ENABLED="true"
#!   EXECUTION_IDX="0"
#!   HIDDEN="false"
#!   COLOUR="0,0,0,1"
#!   PEN_WIDTH="4"
#!   PEN_STYLE="1"
#!   LINK_STYLE_NAME="&lt;Default&gt;"
#!   EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#!   IDENTIFIER="15"
#!   SOURCE_NODE="7"
#!   TARGET_NODE="8"
#!   SOURCE_PORT_DESC="fo 0 Output"
#!   TARGET_PORT_DESC="fi 0 "
#!   ENABLED="true"
#!   EXECUTION_IDX="0"
#!   HIDDEN="false"
#!   COLOUR="0,0,0,1"
#!   PEN_WIDTH="4"
#!   PEN_STYLE="1"
#!   LINK_STYLE_NAME="&lt;Default&gt;"
#!   EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#!   IDENTIFIER="16"
#!   SOURCE_NODE="8"
#!   TARGET_NODE="9"
#!   SOURCE_PORT_DESC="fo 1 PASSED"
#!   TARGET_PORT_DESC="fi 0 "
#!   ENABLED="true"
#!   EXECUTION_IDX="0"
#!   HIDDEN="false"
#!   COLOUR="0,0,0,1"
#!   PEN_WIDTH="4"
#!   PEN_STYLE="1"
#!   LINK_STYLE_NAME="&lt;Default&gt;"
#!   EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#!   IDENTIFIER="17"
#!   SOURCE_NODE="9"
#!   TARGET_NODE="4"
#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
#!   TARGET_PORT_DESC="0"
#!   ENABLED="true"
#!   EXECUTION_IDX="0"
#!   HIDDEN="true"
#!   COLOUR="0,0,0,1"
#!   PEN_WIDTH="4"
#!   PEN_STYLE="1"
#!   LINK_STYLE_NAME="&lt;Default&gt;"
#!   EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#!   IDENTIFIER="18"
#!   SOURCE_NODE="10"
#!   TARGET_NODE="4"
#!   SOURCE_PORT_DESC="fo 1 PASSED"
#!   TARGET_PORT_DESC="0"
#!   ENABLED="true"
#!   EXECUTION_IDX="0"
#!   HIDDEN="false"
#!   COLOUR="0,0,0,1"
#!   PEN_WIDTH="4"
#!   PEN_STYLE="1"
#!   LINK_STYLE_NAME="&lt;Default&gt;"
#!   EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#!   IDENTIFIER="19"
#!   SOURCE_NODE="11"
#!   TARGET_NODE="10"
#!   SOURCE_PORT_DESC="fo 0 EVALUATED"
#!   TARGET_PORT_DESC="fi 0 "
#!   ENABLED="true"
#!   EXECUTION_IDX="0"
#!   HIDDEN="false"
#!   COLOUR="0,0,0,1"
#!   PEN_WIDTH="4"
#!   PEN_STYLE="1"
#!   LINK_STYLE_NAME="&lt;Default&gt;"
#!   EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#!   IDENTIFIER="20"
#!   SOURCE_NODE="7"
#!   TARGET_NODE="4"
#!   SOURCE_PORT_DESC="fo 1 &lt;lt&gt;REJECTED&lt;gt&gt;"
#!   TARGET_PORT_DESC="0"
#!   ENABLED="true"
#!   EXECUTION_IDX="0"
#!   HIDDEN="true"
#!   COLOUR="0,0,0,1"
#!   PEN_WIDTH="4"
#!   PEN_STYLE="1"
#!   LINK_STYLE_NAME="&lt;Default&gt;"
#!   EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#!   IDENTIFIER="21"
#!   SOURCE_NODE="8"
#!   TARGET_NODE="11"
#!   SOURCE_PORT_DESC="fo 0 FAILED"
#!   TARGET_PORT_DESC="fi 0 "
#!   ENABLED="true"
#!   EXECUTION_IDX="0"
#!   HIDDEN="false"
#!   COLOUR="0,0,0,1"
#!   PEN_WIDTH="4"
#!   PEN_STYLE="1"
#!   LINK_STYLE_NAME="&lt;Default&gt;"
#!   EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#!   IDENTIFIER="22"
#!   SOURCE_NODE="10"
#!   TARGET_NODE="3"
#!   SOURCE_PORT_DESC="fo 0 FAILED"
#!   TARGET_PORT_DESC="0"
#!   ENABLED="true"
#!   EXECUTION_IDX="0"
#!   HIDDEN="false"
#!   COLOUR="0,0,0,1"
#!   PEN_WIDTH="4"
#!   PEN_STYLE="1"
#!   LINK_STYLE_NAME="&lt;Default&gt;"
#!   EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#!   IDENTIFIER="23"
#!   SOURCE_NODE="11"
#!   TARGET_NODE="4"
#!   SOURCE_PORT_DESC="fo 1 &lt;lt&gt;REJECTED&lt;gt&gt;"
#!   TARGET_PORT_DESC="0"
#!   ENABLED="true"
#!   EXECUTION_IDX="0"
#!   HIDDEN="true"
#!   COLOUR="0,0,0,1"
#!   PEN_WIDTH="4"
#!   PEN_STYLE="1"
#!   LINK_STYLE_NAME="&lt;Default&gt;"
#!   EXTRA_POINTS=""
#! />
#! </FEAT_LINKS>
#! <BREAKPOINTS>
#! </BREAKPOINTS>
#! <ATTR_LINKS>
#! </ATTR_LINKS>
#! </SUBDOCUMENT>
#! <SUBDOCUMENT
#!   NAME="CityworksWorkOrderUpdater"
#!   CATEGORY="Integrations"
#!   DESCRIPTION="&lt;h3&gt;Description&lt;/h3&gt;&#10;&lt;p&gt;This transformer leverages the Cityworks REST API to update work orders from within Cityworks from FME. It is designed to be used with an authenticated web connection to Cityworks.&lt;/p&gt;&#10;&lt;h3&gt;Details&lt;/h3&gt;&#10;&lt;p&gt;This transformer uses HTTPCaller to make an Update call to Cityworks REST API. The workspace is designed to build API calls based on user input. The API returns a response body that is parsed by JSONExtractor and made available in the workspace with AttributeExposer. Additional information and context can be found in the _response_body attribute. Tester transformers reroute Cityworks generic error page in addition to Error and Warning messages to the &amp;lt;Rejected&gt; port. Additional parameters can be provided in the &lt;em&gt;Additional Request Parameters&lt;/em&gt; field to send a more detailed request to Cityworks. &lt;/p&gt;"
#!   DOC_DYNAMIC_INPUT_ATTRS="0"
#!   DOC_EXTENTS="4576.06 1302.01"
#!   DOC_TOP_LEFT="-2344.37 -1147.89"
#!   FME_DOCUMENT_GUID="e726f0f4-cc21-4ac4-9ccb-3c70ea09f200"
#!   FME_DOCUMENT_PRIORGUID="d9ce1db7-e8e4-43df-92d6-a84951ef6b83,0f699cba-33ee-4aab-8746-3836b65c2ca4,b4b58016-4426-4915-ab4c-e74336586c4d"
#!   FME_PROCESS_COUNT="NO_PARALLELISM"
#!   FME_PROCESS_GROUPS_ORDERED="No"
#!   FME_PROCESS_GROUP_BY=""
#!   FME_PROCESS_PRESERVE_GROUP_ATTR="No"
#!   FMX_ATTRIBUTE_PROPOGATION_MODE="AUTO"
#!   GUID="e726f0f4-cc21-4ac4-9ccb-3c70ea09f200"
#!   HISTORY="May&lt;space&gt;28th&lt;comma&gt;&lt;space&gt;2020,Sanae&lt;space&gt;Mendoza,Initial&lt;space&gt;Creation"
#!   IS_VISIBLE="true"
#!   LAST_SAVE_BUILD="FME(R) 2020.0.1.0 (20200407 - Build 20218 - macosx)"
#!   LAST_SAVE_DATE="2020-05-29T15:49:25"
#!   MARKDOWN_DESCRIPTION="&#10;###Description&#10;This transformer leverages the Cityworks REST API to update work orders from within Cityworks from FME. It is designed to be used with an authenticated web connection to Cityworks.&#10;&#10;###Details &#10;This transformer uses HTTPCaller to make an Update call to Cityworks REST API. The workspace is designed to build API calls based on user input. The API returns a response body that is parsed by JSONExtractor and made available in the workspace with AttributeExposer. Additional information and context can be found in the \_response\_body attribute. Tester transformers reroute Cityworks generic error page in addition to Error and Warning messages to the &lt;Rejected\&gt; port. Additional parameters can be provided in the _Additional Request Parameters_ field to send a more detailed request to Cityworks. "
#!   MARKDOWN_USAGE="&#10;**Input Ports**&#10;&#10;Features entering this port trigger the update of a work order in Cityworks. Incoming attribute values may be used as input if they are valid parameters of the request URL. If this transformer is intended to be used on its own, a [Creator](http://docs.safe.com/fme/2019.0/html/FME_Desktop_Documentation/FME_Transformers/Transformers/creator.htm) transformer should be used as input to trigger the call without having to read in data.&#10;&#10;**Output Ports**&#10;&#10;The outgoing port sends a list of attributes associated with the record parameters. Additional attributes include the input parameters and Citywork&apos;s JSON response body. Outgoing attributes can be customized by configuring the JSONExtractor inside the transformer to parse target attributes from the Cityworks response.&#10;&#10;The rejected output port is connected to HTTPCaller, JSONExtractor, and two testers. The first Tester checks for Cityworks generic HTML error page, indicating bad input. Tester2 checks the returned Cityworks JSON response body for values in the ErrorMessages or WarningMessages. Attributes associated with these failure messages are output to the &lt;Rejected\&gt; port and may be further investigated using the Cityworks API documentation.&#10;&#10;**Parameters**&#10;&#10;Web Connection: The name of your Cityworks web connection.&#10;&#10;Cityworks Instance: The path to your Cityworks instance endpoint.&#10;Example: `http://localhost/Cityworks`&#10;&#10;Work Order ID: The ID number associated with the target work order. &#10;&#10;Priority: Set work order priority (e.g. Low, Medium, High). &#10;&#10;Status: Set work order status. &#10;&#10;Instructions: Additional instructive information. &#10;&#10;SupervisorSID: SID for work order supervisor. &#10;&#10;Address: Work order street address. &#10;&#10;Location: Specific work order location.&#10;&#10;Requested by SID: SID for employee requesting the work order.&#10;&#10;Completed by SID: SID for employee completing the work order.&#10;&#10;ActualStartDate, ActualFinishDate, ProjectedStartDate, ProjectedFinishDate: Update work order actual and projected dates by choosing from drop down calendar and manually setting time component, directly typing it in, or use an incoming attribute. Date formats are  handled and can be configured by DateTimeConverter within the transformer.&#10;&#10;Additional Request Parameters: This parameter can contain one or more extra request parameter definitions which will be included in your update. Parameters must be valid for your Cityworks instance. Additional parameters should be formatted with double quotation marks (`&quot;`) surrounding each key and value, with a colon (`:`) between keys and values. Each key-value pair should be separated by a comma (`,`).&#10;Example: ` &apos;&apos;Address&apos;&apos;:&apos;&apos;1234 Fake St.&apos;&apos;,&apos;&apos;City&apos;&apos;:&apos;&apos;NowhereVille&apos;&apos;`&#10;&#10;**Consult your Cityworks documentation for more request parameters.**&#10;"
#!   PYTHON_COMPATIBILITY=""
#!   REPLACED_BY=""
#!   SUPPRESS_UPGRADE="false"
#!   TITLE="CityworksWorkOrderUpdater"
#!   USAGE="&lt;p&gt;&lt;strong&gt;Input Ports&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;Features entering this port trigger the update of a work order in Cityworks. Incoming attribute values may be used as input if they are valid parameters of the request URL. If this transformer is intended to be used on its own, a &lt;a href=&quot;http://docs.safe.com/fme/2019.0/html/FME_Desktop_Documentation/FME_Transformers/Transformers/creator.htm&quot;&gt;Creator&lt;/a&gt; transformer should be used as input to trigger the call without having to read in data.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Output Ports&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;The outgoing port sends a list of attributes associated with the record parameters. Additional attributes include the input parameters and Citywork&apos;s JSON response body. Outgoing attributes can be customized by configuring the JSONExtractor inside the transformer to parse target attributes from the Cityworks response.&lt;/p&gt;&#10;&lt;p&gt;The rejected output port is connected to HTTPCaller, JSONExtractor, and two testers. The first Tester checks for Cityworks generic HTML error page, indicating bad input. Tester2 checks the returned Cityworks JSON response body for values in the ErrorMessages or WarningMessages. Attributes associated with these failure messages are output to the &amp;lt;Rejected&gt; port and may be further investigated using the Cityworks API documentation.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Parameters&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;Web Connection: The name of your Cityworks web connection.&lt;/p&gt;&#10;&lt;p&gt;Cityworks Instance: The path to your Cityworks instance endpoint.&#10;Example: &lt;code&gt;http://localhost/Cityworks&lt;/code&gt;&lt;/p&gt;&#10;&lt;p&gt;Work Order ID: The ID number associated with the target work order. &lt;/p&gt;&#10;&lt;p&gt;Priority: Set work order priority (e.g. Low, Medium, High). &lt;/p&gt;&#10;&lt;p&gt;Status: Set work order status. &lt;/p&gt;&#10;&lt;p&gt;Instructions: Additional instructive information. &lt;/p&gt;&#10;&lt;p&gt;SupervisorSID: SID for work order supervisor. &lt;/p&gt;&#10;&lt;p&gt;Address: Work order street address. &lt;/p&gt;&#10;&lt;p&gt;Location: Specific work order location.&lt;/p&gt;&#10;&lt;p&gt;Requested by SID: SID for employee requesting the work order.&lt;/p&gt;&#10;&lt;p&gt;Completed by SID: SID for employee completing the work order.&lt;/p&gt;&#10;&lt;p&gt;ActualStartDate, ActualFinishDate, ProjectedStartDate, ProjectedFinishDate: Update work order actual and projected dates by choosing from drop down calendar and manually setting time component, directly typing it in, or use an incoming attribute. Date formats are  handled and can be configured by DateTimeConverter within the transformer.&lt;/p&gt;&#10;&lt;p&gt;Additional Request Parameters: This parameter can contain one or more extra request parameter definitions which will be included in your update. Parameters must be valid for your Cityworks instance. Additional parameters should be formatted with double quotation marks (&lt;code&gt;&quot;&lt;/code&gt;) surrounding each key and value, with a colon (&lt;code&gt;:&lt;/code&gt;) between keys and values. Each key-value pair should be separated by a comma (&lt;code&gt;,&lt;/code&gt;).&#10;Example: &lt;code&gt;&apos;&apos;Address&apos;&apos;:&apos;&apos;1234 Fake St.&apos;&apos;,&apos;&apos;City&apos;&apos;:&apos;&apos;NowhereVille&apos;&apos;&lt;/code&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Consult your Cityworks documentation for more request parameters.&lt;/strong&gt;&lt;/p&gt;"
#!   USE_MARKDOWN="YES"
#!   VIEW_POSITION="-2685.96 515.63"
#!   XFORM_DEPRECATED="No"
#!   ZOOM_SCALE="64"
#! >
#! <GLOBAL_PARAMETERS>
#! <GLOBAL_PARAMETER
#!   GUI_LINE="GUI NAMED_CONNECTION_OR_ATTR authentication Cityworks% Web Connection:"
#!   DEFAULT_VALUE=""
#!   IS_STAND_ALONE="true"
#! />
#! <GLOBAL_PARAMETER
#!   GUI_LINE="GUI TEXT_OR_ATTR instance Cityworks Instance:"
#!   DEFAULT_VALUE=""
#!   IS_STAND_ALONE="true"
#! />
#! <GLOBAL_PARAMETER
#!   GUI_LINE="GUI TEXT_OR_ATTR workorderID Work Order ID:"
#!   DEFAULT_VALUE=""
#!   IS_STAND_ALONE="true"
#! />
#! <GLOBAL_PARAMETER
#!   GUI_LINE="GUI OPTIONAL TEXT_OR_ATTR priority Priority:"
#!   DEFAULT_VALUE=""
#!   IS_STAND_ALONE="true"
#! />
#! <GLOBAL_PARAMETER
#!   GUI_LINE="GUI OPTIONAL TEXT_OR_ATTR status Status:"
#!   DEFAULT_VALUE=""
#!   IS_STAND_ALONE="true"
#! />
#! <GLOBAL_PARAMETER
#!   GUI_LINE="GUI OPTIONAL TEXT_OR_ATTR instructions Instructions:"
#!   DEFAULT_VALUE=""
#!   IS_STAND_ALONE="true"
#! />
#! <GLOBAL_PARAMETER
#!   GUI_LINE="GUI OPTIONAL RANGE_SLIDER_OR_ATTR supervisorSID &quot;RANGE:[,]&quot; Supervisor SID:"
#!   DEFAULT_VALUE=""
#!   IS_STAND_ALONE="true"
#! />
#! <GLOBAL_PARAMETER
#!   GUI_LINE="GUI OPTIONAL RANGE_SLIDER_OR_ATTR requestedbySID &quot;RANGE:[,]&quot; Requested by SID:"
#!   DEFAULT_VALUE=""
#!   IS_STAND_ALONE="true"
#! />
#! <GLOBAL_PARAMETER
#!   GUI_LINE="GUI OPTIONAL TEXT_OR_ATTR address Address:"
#!   DEFAULT_VALUE=""
#!   IS_STAND_ALONE="true"
#! />
#! <GLOBAL_PARAMETER
#!   GUI_LINE="GUI OPTIONAL TEXT_OR_ATTR location Location:"
#!   DEFAULT_VALUE=""
#!   IS_STAND_ALONE="true"
#! />
#! <GLOBAL_PARAMETER
#!   GUI_LINE="GUI OPTIONAL RANGE_SLIDER_OR_ATTR completedbySID &quot;RANGE:[,]&quot; Completed by SID:"
#!   DEFAULT_VALUE=""
#!   IS_STAND_ALONE="true"
#! />
#! <GLOBAL_PARAMETER
#!   GUI_LINE="GUI OPTIONAL DATETIME_OR_ATTR actualstartdate &quot;{}&quot; Actual Start Date:"
#!   DEFAULT_VALUE=""
#!   IS_STAND_ALONE="true"
#! />
#! <GLOBAL_PARAMETER
#!   GUI_LINE="GUI OPTIONAL DATETIME_OR_ATTR actualfinishdate &quot;{}&quot; Actual Finish Date:"
#!   DEFAULT_VALUE=""
#!   IS_STAND_ALONE="true"
#! />
#! <GLOBAL_PARAMETER
#!   GUI_LINE="GUI OPTIONAL DATETIME_OR_ATTR projectedstartdate &quot;{}&quot; Projected Start date:"
#!   DEFAULT_VALUE=""
#!   IS_STAND_ALONE="true"
#! />
#! <GLOBAL_PARAMETER
#!   GUI_LINE="GUI OPTIONAL DATETIME_OR_ATTR projectedfinishdate &quot;{}&quot; Projected Finish Date:"
#!   DEFAULT_VALUE=""
#!   IS_STAND_ALONE="true"
#! />
#! <GLOBAL_PARAMETER
#!   GUI_LINE="GUI OPTIONAL TEXT_OR_ATTR request_params Additional Request Parameters:"
#!   DEFAULT_VALUE=""
#!   IS_STAND_ALONE="true"
#! />
#! </GLOBAL_PARAMETERS>
#! <COMMENTS>
#! <COMMENT
#!   IDENTIFIER="28"
#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;.AppleSystemUIFont&apos;; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Set &amp;lt;missing&amp;gt; for unused params&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
#!   POSITION="-2150.3644025768454 -962.88782921276561"
#!   TOP_LEFT="-2150.3644025768454 -962.88782921276561"
#!   BOTTOM_RIGHT="-1750.9546584794043 -1112.8890292247656"
#!   BOUNDING_RECT="-2150.3644025768454 -962.88782921276561 399.40974409744098 150.00120001200011"
#!   ORDER="500000000000013"
#!   FOLLOW_ANCHOR="true"
#!   INFO_NODE="false"
#!   CUSTOM_USER_COLOR="false"
#!   COLOUR="0.24313725490196078,0.77647058823529413,0.098039215686274508,0.78431372549019607"
#!   SIZE_POLICY="10"
#!   ANCHORED_NODE="8"
#! />
#! <COMMENT
#!   IDENTIFIER="29"
#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;.AppleSystemUIFont&apos;; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Set conditions for parameters&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
#!   POSITION="-2150.3644025768454 -716.88536918816499"
#!   TOP_LEFT="-2150.3644025768454 -716.88536918816499"
#!   BOTTOM_RIGHT="-1787.2362712955326 -866.88656920016513"
#!   BOUNDING_RECT="-2150.3644025768454 -716.88536918816499 363.12813128131279 150.00120001200011"
#!   ORDER="500000000000015"
#!   FOLLOW_ANCHOR="true"
#!   INFO_NODE="false"
#!   CUSTOM_USER_COLOR="false"
#!   COLOUR="0.24313725490196078,0.77647058823529413,0.098039215686274508,0.78431372549019607"
#!   SIZE_POLICY="10"
#!   ANCHORED_NODE="6"
#! />
#! <COMMENT
#!   IDENTIFIER="30"
#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;.AppleSystemUIFont&apos;; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Grab user input&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
#!   POSITION="-2111.3640125729453 -219.8789891243635"
#!   TOP_LEFT="-2111.3640125729453 -219.8789891243635"
#!   BOTTOM_RIGHT="-1751.0484094169137 -321.87970913156357"
#!   BOUNDING_RECT="-2111.3640125729453 -219.8789891243635 360.31560315603156 102.00072000720007"
#!   ORDER="500000000000016"
#!   FOLLOW_ANCHOR="true"
#!   INFO_NODE="false"
#!   CUSTOM_USER_COLOR="false"
#!   COLOUR="0.24313725490196078,0.77647058823529413,0.098039215686274508,0.78431372549019607"
#!   SIZE_POLICY="10"
#!   ANCHORED_NODE="5"
#! />
#! <COMMENT
#!   IDENTIFIER="31"
#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;.AppleSystemUIFont&apos;; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;FME &amp;gt; ISO date formats&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
#!   POSITION="-2294.3658425912454 -468.88473918186384"
#!   TOP_LEFT="-2294.3658425912454 -468.88473918186384"
#!   BOTTOM_RIGHT="-1750.9546584794043 -570.88545918906391"
#!   BOUNDING_RECT="-2294.3658425912454 -468.88473918186384 543.41118411184107 102.00072000720007"
#!   ORDER="500000000000017"
#!   FOLLOW_ANCHOR="true"
#!   INFO_NODE="false"
#!   CUSTOM_USER_COLOR="false"
#!   COLOUR="0.24313725490196078,0.77647058823529413,0.098039215686274508,0.78431372549019607"
#!   SIZE_POLICY="10"
#!   ANCHORED_NODE="9"
#! />
#! <COMMENT
#!   IDENTIFIER="32"
#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;.AppleSystemUIFont&apos;; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Cityworks Update API Endpoint&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
#!   POSITION="-840.63635529637145 -232.50536538812599"
#!   TOP_LEFT="-840.63635529637145 -232.50536538812599"
#!   BOTTOM_RIGHT="-368.63635529637145 -233.50536538812599"
#!   BOUNDING_RECT="-840.63635529637145 -232.50536538812599 472 1"
#!   ORDER="500000000000019"
#!   FOLLOW_ANCHOR="true"
#!   INFO_NODE="false"
#!   CUSTOM_USER_COLOR="false"
#!   COLOUR="1,1,0.95686274509803926,0.78431372549019607"
#!   SIZE_POLICY="10"
#!   ANCHORED_NODE="7"
#! />
#! <COMMENT
#!   IDENTIFIER="33"
#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;.AppleSystemUIFont&apos;; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Reroute Cityworks Error Page&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
#!   POSITION="-258.53145455575714 -249.88254915996367"
#!   TOP_LEFT="-258.53145455575714 -249.88254915996367"
#!   BOTTOM_RIGHT="195.46854544424286 -250.88254915996367"
#!   BOUNDING_RECT="-258.53145455575714 -249.88254915996367 454 1"
#!   ORDER="500000000000025"
#!   FOLLOW_ANCHOR="true"
#!   INFO_NODE="false"
#!   CUSTOM_USER_COLOR="false"
#!   COLOUR="1,1,0.95686274509803926,0.78431372549019607"
#!   SIZE_POLICY="10"
#!   ANCHORED_NODE="10"
#! />
#! <COMMENT
#!   IDENTIFIER="34"
#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;.AppleSystemUIFont&apos;; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Test for ErrorMessages or WarningMessages&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
#!   POSITION="1037.3752712325361 -394.88440917856497"
#!   TOP_LEFT="1037.3752712325361 -394.88440917856497"
#!   BOTTOM_RIGHT="1491.3752712325361 -395.88440917856497"
#!   BOUNDING_RECT="1037.3752712325361 -394.88440917856497 454 1"
#!   ORDER="500000000000029"
#!   FOLLOW_ANCHOR="true"
#!   INFO_NODE="false"
#!   CUSTOM_USER_COLOR="false"
#!   COLOUR="0.85098039215686272,0.92941176470588238,0.60392156862745094,0.78431372549019607"
#!   SIZE_POLICY="10"
#!   ANCHORED_NODE="12"
#! />
#! <COMMENT
#!   IDENTIFIER="35"
#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;.AppleSystemUIFont&apos;; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Extract JSON values from HTTP Response&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
#!   POSITION="383.39738366379197 -437.13377167218857"
#!   TOP_LEFT="383.39738366379197 -437.13377167218857"
#!   BOTTOM_RIGHT="913.78196652546399 -587.13497168418871"
#!   BOUNDING_RECT="383.39738366379197 -437.13377167218857 530.38458286167202 150.00120001200011"
#!   ORDER="500000000000033"
#!   FOLLOW_ANCHOR="true"
#!   INFO_NODE="false"
#!   CUSTOM_USER_COLOR="false"
#!   COLOUR="0.85098039215686272,0.92941176470588238,0.60392156862745094,0.78431372549019607"
#!   SIZE_POLICY="10"
#!   ANCHORED_NODE="13"
#! />
#! </COMMENTS>
#! <CONSTANTS>
#! </CONSTANTS>
#! <BOOKMARKS>
#! <BOOKMARK
#!   IDENTIFIER="36"
#!   NAME="Format User Parameters to JSON Key-Values "
#!   DESCRIPTION=""
#!   TOP_LEFT="-2344.3658425912454 -80.879709131563914"
#!   ORDER="500000000000018"
#!   PALETTE_COLOR=""
#!   BOTTOM_RIGHT="-902.53942432706322 -1147.8890292247656"
#!   BOUNDING_RECT="-2344.3658425912454 -80.879709131563914 1441.8264182641822 1067.0093200932017"
#!   STICKY="true"
#!   COLOUR="0.24313725490196078,0.77647058823529413,0.098039215686274508,1"
#!   CONTENTS="5 19 16 15 28 9 8 31 29 30 6 "
#! >
#! </BOOKMARK>
#! <BOOKMARK
#!   IDENTIFIER="37"
#!   NAME="Get Specfied Values from API Response"
#!   DESCRIPTION=""
#!   TOP_LEFT="306.95961928614793 -281.25281252812522"
#!   ORDER="500000000000037"
#!   PALETTE_COLOR="Color4"
#!   BOTTOM_RIGHT="1555.4379118589422 -941.88590919356454"
#!   BOUNDING_RECT="306.95961928614793 -281.25281252812522 1248.4782925727943 660.63309666543933"
#!   STICKY="true"
#!   COLOUR="0.85098039215686272,0.92941176470588238,0.60392156862745094,1"
#!   CONTENTS="13 23 34 35 12 "
#! >
#! </BOOKMARK>
#! </BOOKMARKS>
#! <TRANSFORMERS>
#! <TRANSFORMER
#!   IDENTIFIER="5"
#!   TYPE="ParameterFetcher"
#!   VERSION="4"
#!   POSITION="-1473.8576375091957 -190.87970913156391"
#!   BOUNDING_RECT="-1473.8576375091957 -190.87970913156391 454 71"
#!   ORDER="500000000000002"
#!   PARMS_EDITED="true"
#!   ENABLED="true"
#!   LAST_PARM_EDIT="20218"
#! >
#!     <OUTPUT_FEAT NAME="OUTPUT"/>
#!     <FEAT_COLLAPSED COLLAPSED="0"/>
#!     <XFORM_ATTR ATTR_NAME="_workorderID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_actualfinishdate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_actualstartdate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_address" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_completedbySID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_instructions" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_location" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_priority" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_projectedfinishdate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_projectedstartdate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_requestedbySID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_status" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_request_params" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_authentication" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_instance" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_PARM PARM_NAME="ATTR_LIST" PARM_VALUE="_workorderID $(workorderID) _actualfinishdate $(actualfinishdate) _actualstartdate $(actualstartdate) _address $(address) _completedbySID $(completedbySID) _instructions $(instructions) _location $(location) _priority $(priority) _projectedfinishdate $(projectedfinishdate) _projectedstartdate $(projectedstartdate) _requestedbySID $(requestedbySID) _status $(status) _request_params $(request_params) _authentication $(authentication) _instance $(instance)"/>
#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="XFORMER_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="ParameterFetcher"/>
#! </TRANSFORMER>
#! <TRANSFORMER
#!   IDENTIFIER="6"
#!   TYPE="AttributeManager"
#!   VERSION="2"
#!   POSITION="-1473.8576375091957 -716.88536918816499"
#!   BOUNDING_RECT="-1473.8576375091957 -716.88536918816499 454 71"
#!   ORDER="500000000000003"
#!   PARMS_EDITED="true"
#!   ENABLED="true"
#!   LAST_PARM_EDIT="20218"
#! >
#!     <OUTPUT_FEAT NAME="OUTPUT"/>
#!     <FEAT_COLLAPSED COLLAPSED="0"/>
#!     <XFORM_ATTR ATTR_NAME="_workorderID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_actualfinishdate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_actualstartdate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_address" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_completedbySID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_instructions" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_location" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_priority" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_projectedfinishdate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_projectedstartdate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_requestedbySID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_status" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_request_params" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_authentication" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_instance" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_PARM PARM_NAME="ATTRIBUTE_GRP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="ATTRIBUTE_HANDLING" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="ATTR_TABLE" PARM_VALUE="_workorderID _workorderID  NO_OP _actualfinishdate _actualfinishdate &quot;FME_CONDITIONAL:DEFAULT_VALUE&apos;FME_NULL_VALUE&apos;BOOL_OP;OR;COMPOSITE_TEST;1;TEST _actualfinishdate ATTRIBUTE_HAS_A_VALUE _FME_BLANK_STRING_&apos;&lt;quote&gt;ActualFinishDate&lt;quote&gt;:&lt;space&gt;&lt;quote&gt;&lt;at&gt;Value&lt;openparen&gt;_actualfinishdate&lt;closeparen&gt;&lt;quote&gt;&lt;comma&gt;&apos;FME_NUM_CONDITIONS2___&quot; SET_TO _actualstartdate _actualstartdate &quot;FME_CONDITIONAL:DEFAULT_VALUE&apos;FME_NULL_VALUE&apos;BOOL_OP;OR;COMPOSITE_TEST;1;TEST _actualstartdate ATTRIBUTE_HAS_A_VALUE _FME_BLANK_STRING_&apos;&lt;quote&gt;ActualStartDate&lt;quote&gt;:&lt;space&gt;&lt;quote&gt;&lt;at&gt;Value&lt;openparen&gt;_actualstartdate&lt;closeparen&gt;&lt;quote&gt;&lt;comma&gt;&apos;FME_NUM_CONDITIONS2___&quot; SET_TO _address _address &quot;FME_CONDITIONAL:DEFAULT_VALUE&apos;FME_NULL_VALUE&apos;BOOL_OP;OR;COMPOSITE_TEST;1;TEST _address ATTRIBUTE_HAS_A_VALUE _FME_BLANK_STRING_&apos;&lt;quote&gt;Address&lt;quote&gt;:&lt;space&gt;&lt;quote&gt;&lt;at&gt;Value&lt;openparen&gt;_address&lt;closeparen&gt;&lt;quote&gt;&lt;comma&gt;&apos;FME_NUM_CONDITIONS2___&quot; SET_TO _completedbySID _completedbySID &quot;FME_CONDITIONAL:DEFAULT_VALUE&apos;FME_NULL_VALUE&apos;BOOL_OP;OR;COMPOSITE_TEST;1;TEST _completedbySID ATTRIBUTE_HAS_A_VALUE _FME_BLANK_STRING_&apos;&lt;quote&gt;CompletedBySid&lt;quote&gt;:&lt;space&gt;&lt;at&gt;Value&lt;openparen&gt;_completedbySID&lt;closeparen&gt;&lt;comma&gt;&apos;FME_NUM_CONDITIONS2___&quot; SET_TO _instructions _instructions &quot;FME_CONDITIONAL:DEFAULT_VALUE&apos;FME_NULL_VALUE&apos;BOOL_OP;OR;COMPOSITE_TEST;1;TEST _instructions ATTRIBUTE_HAS_A_VALUE _FME_BLANK_STRING_&apos;&lt;quote&gt;Instructions&lt;quote&gt;:&lt;space&gt;&lt;quote&gt;&lt;at&gt;Value&lt;openparen&gt;_instructions&lt;closeparen&gt;&lt;quote&gt;&lt;comma&gt;&apos;FME_NUM_CONDITIONS2___&quot; SET_TO _location _location &quot;FME_CONDITIONAL:DEFAULT_VALUE&apos;FME_NULL_VALUE&apos;BOOL_OP;OR;COMPOSITE_TEST;1;TEST _location ATTRIBUTE_HAS_A_VALUE _FME_BLANK_STRING_&apos;&lt;quote&gt;Location&lt;quote&gt;:&lt;space&gt;&lt;quote&gt;&lt;at&gt;Value&lt;openparen&gt;_location&lt;closeparen&gt;&lt;quote&gt;&lt;comma&gt;&apos;FME_NUM_CONDITIONS2___&quot; SET_TO _priority _priority &quot;FME_CONDITIONAL:DEFAULT_VALUE&apos;FME_NULL_VALUE&apos;BOOL_OP;OR;COMPOSITE_TEST;1;TEST _priority ATTRIBUTE_HAS_A_VALUE _FME_BLANK_STRING_&apos;&lt;quote&gt;Priority&lt;quote&gt;:&lt;space&gt;&lt;quote&gt;&lt;at&gt;Value&lt;openparen&gt;_priority&lt;closeparen&gt;&lt;quote&gt;&lt;comma&gt;&apos;FME_NUM_CONDITIONS2___&quot; SET_TO _projectedfinishdate _projectedfinishdate &quot;FME_CONDITIONAL:DEFAULT_VALUE&apos;FME_NULL_VALUE&apos;BOOL_OP;OR;COMPOSITE_TEST;1;TEST _projectedfinishdate ATTRIBUTE_HAS_A_VALUE _FME_BLANK_STRING_&apos;&lt;quote&gt;ProjectedFinishDate&lt;quote&gt;:&lt;space&gt;&lt;quote&gt;&lt;at&gt;Value&lt;openparen&gt;_projectedfinishdate&lt;closeparen&gt;&lt;quote&gt;&lt;comma&gt;&apos;FME_NUM_CONDITIONS2___&quot; SET_TO _projectedstartdate _projectedstartdate &quot;FME_CONDITIONAL:DEFAULT_VALUE&apos;FME_NULL_VALUE&apos;BOOL_OP;OR;COMPOSITE_TEST;1;TEST _projectedstartdate ATTRIBUTE_HAS_A_VALUE _FME_BLANK_STRING_&apos;&lt;quote&gt;ProjectedStartDate&lt;quote&gt;:&lt;space&gt;&lt;quote&gt;&lt;at&gt;Value&lt;openparen&gt;_projectedstartdate&lt;closeparen&gt;&lt;quote&gt;&lt;comma&gt;&apos;FME_NUM_CONDITIONS2___&quot; SET_TO _requestedbySID _requestedbySID &quot;FME_CONDITIONAL:DEFAULT_VALUE&apos;FME_NULL_VALUE&apos;BOOL_OP;OR;COMPOSITE_TEST;1;TEST _requestedbySID ATTRIBUTE_HAS_A_VALUE _FME_BLANK_STRING_&apos;&lt;quote&gt;RequestedBySid&lt;quote&gt;:&lt;space&gt;&lt;at&gt;Value&lt;openparen&gt;_requestedbySID&lt;closeparen&gt;&lt;comma&gt;&apos;FME_NUM_CONDITIONS2___&quot; SET_TO _status _status &quot;FME_CONDITIONAL:DEFAULT_VALUE&apos;FME_NULL_VALUE&apos;BOOL_OP;OR;COMPOSITE_TEST;1;TEST _status ATTRIBUTE_HAS_A_VALUE _FME_BLANK_STRING_&apos;&lt;quote&gt;Status&lt;quote&gt;:&lt;space&gt;&lt;quote&gt;&lt;at&gt;Value&lt;openparen&gt;_status&lt;closeparen&gt;&lt;quote&gt;&lt;comma&gt;&apos;FME_NUM_CONDITIONS2___&quot; SET_TO _request_params _request_params &quot;FME_CONDITIONAL:DEFAULT_VALUE&apos;FME_NULL_VALUE&apos;BOOL_OP;AND;COMPOSITE_TEST;1;TEST _request_params ATTRIBUTE_HAS_A_VALUE _FME_BLANK_STRING_&apos;&lt;at&gt;Value&lt;openparen&gt;_request_params&lt;closeparen&gt;&apos;FME_NUM_CONDITIONS2___&quot; SET_TO _authentication _authentication  NO_OP _instance _instance  NO_OP"/>
#!     <XFORM_PARM PARM_NAME="MULTI_FEATURE_MODE" PARM_VALUE="NO"/>
#!     <XFORM_PARM PARM_NAME="NULL_ATTR_MODE_DISPLAY" PARM_VALUE="No Substitution"/>
#!     <XFORM_PARM PARM_NAME="NULL_ATTR_VALUE" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="NUM_PRIOR_FEATURES" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="NUM_SUBSEQUENT_FEATURES" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeManager"/>
#! </TRANSFORMER>
#! <TRANSFORMER
#!   IDENTIFIER="7"
#!   TYPE="HTTPCaller"
#!   VERSION="2"
#!   POSITION="-798.66338556667415 -497.01002043467639"
#!   BOUNDING_RECT="-798.66338556667415 -497.01002043467639 430 71"
#!   ORDER="500000000000004"
#!   PARMS_EDITED="true"
#!   ENABLED="true"
#!   LAST_PARM_EDIT="20218"
#! >
#!     <OUTPUT_FEAT NAME="Output"/>
#!     <FEAT_COLLAPSED COLLAPSED="0"/>
#!     <XFORM_ATTR ATTR_NAME="_workorderID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_actualfinishdate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_actualstartdate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_address" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_completedbySID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_instructions" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_location" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_priority" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_projectedfinishdate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_projectedstartdate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_requestedbySID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_status" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_request_params" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_authentication" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_instance" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <OUTPUT_FEAT NAME="&lt;REJECTED&gt;"/>
#!     <FEAT_COLLAPSED COLLAPSED="1"/>
#!     <XFORM_ATTR ATTR_NAME="_workorderID" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_actualfinishdate" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_actualstartdate" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_address" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_completedbySID" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_instructions" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_location" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_priority" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_projectedfinishdate" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_projectedstartdate" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_requestedbySID" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_status" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_request_params" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_authentication" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_instance" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_error" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="fme_rejection_code" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_PARM PARM_NAME="ADDITIONAL_PARAMETERS_GROUP" PARM_VALUE="FME_DISCLOSURE_OPEN"/>
#!     <XFORM_PARM PARM_NAME="ADDITIONAL_URL_PARAMETERS" PARM_VALUE="data;&lt;opencurly&gt;&lt;at&gt;Value&lt;openparen&gt;_request_params&lt;closeparen&gt;&lt;at&gt;Value&lt;openparen&gt;_actualfinishdate&lt;closeparen&gt;&lt;at&gt;Value&lt;openparen&gt;_actualstartdate&lt;closeparen&gt;&lt;at&gt;Value&lt;openparen&gt;_projectedfinishdate&lt;closeparen&gt;&lt;at&gt;Value&lt;openparen&gt;_projectedstartdate&lt;closeparen&gt;&lt;at&gt;Value&lt;openparen&gt;_priority&lt;closeparen&gt;&lt;at&gt;Value&lt;openparen&gt;_requestedbySID&lt;closeparen&gt;&lt;at&gt;Value&lt;openparen&gt;_status&lt;closeparen&gt;&lt;at&gt;Value&lt;openparen&gt;_instructions&lt;closeparen&gt;&lt;at&gt;Value&lt;openparen&gt;_location&lt;closeparen&gt;&lt;at&gt;Value&lt;openparen&gt;_completedbySID&lt;closeparen&gt;&lt;space&gt;&lt;at&gt;Value&lt;openparen&gt;_address&lt;closeparen&gt;&lt;space&gt;&lt;quote&gt;WorkOrderId&lt;quote&gt;:&lt;space&gt;&lt;quote&gt;&lt;at&gt;Value&lt;openparen&gt;_workorderID&lt;closeparen&gt;&lt;quote&gt;&lt;closecurly&gt;"/>
#!     <XFORM_PARM PARM_NAME="ADVANCED_REQUEST_PARAMETERS" PARM_VALUE="NO"/>
#!     <XFORM_PARM PARM_NAME="ADVANCED_RESPONSE_PARAMETERS" PARM_VALUE="NO"/>
#!     <XFORM_PARM PARM_NAME="AUTH_METHOD" PARM_VALUE="Web Connection"/>
#!     <XFORM_PARM PARM_NAME="AUTH_NAMED_CONNECTION" PARM_VALUE="&lt;at&gt;Value&lt;openparen&gt;_authentication&lt;closeparen&gt;"/>
#!     <XFORM_PARM PARM_NAME="AUTH_PASSWORD" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="AUTH_USERNAME" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="CONNECTION_TIMEOUT_LENGTH" PARM_VALUE="60"/>
#!     <XFORM_PARM PARM_NAME="CUSTOM_HEADERS" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="CUSTOM_HEADERS_GROUP" PARM_VALUE="NO"/>
#!     <XFORM_PARM PARM_NAME="ERROR_ATTR" PARM_VALUE="_error"/>
#!     <XFORM_PARM PARM_NAME="FILE_PATH_ATTR" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="FILE_TYPE" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="FOLLOW_REDIRECTS" PARM_VALUE="FOLLOW_WITH_GET"/>
#!     <XFORM_PARM PARM_NAME="HTTPURL_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="HTTP_AUTH_GROUP" PARM_VALUE="YES"/>
#!     <XFORM_PARM PARM_NAME="HTTP_METHOD" PARM_VALUE="GET"/>
#!     <XFORM_PARM PARM_NAME="HTTP_RESPONSE_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="MULTIPARTS" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="MULTIPART_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="OUTPUT_DIRNAME" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="OUTPUT_FILENAME" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="REDIRECT_AUTH" PARM_VALUE="ORIGINAL_DOMAIN_ONLY"/>
#!     <XFORM_PARM PARM_NAME="RESPONSE_FILE_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="RESPONSE_HEADER_LIST_ATTR" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="SAVE_FILE" PARM_VALUE="Attribute"/>
#!     <XFORM_PARM PARM_NAME="SAVE_MULTI" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="STATUS_CODE_ATTR" PARM_VALUE="_http_status_code"/>
#!     <XFORM_PARM PARM_NAME="TARGET_ATTR" PARM_VALUE="_response_body"/>
#!     <XFORM_PARM PARM_NAME="TARGET_ATTR_ENCODING" PARM_VALUE="auto-detect"/>
#!     <XFORM_PARM PARM_NAME="TARGET_URL" PARM_VALUE="&lt;at&gt;Value&lt;openparen&gt;_instance&lt;closeparen&gt;&lt;solidus&gt;services&lt;solidus&gt;Ams&lt;solidus&gt;WorkOrder&lt;solidus&gt;Update?"/>
#!     <XFORM_PARM PARM_NAME="TRANSFER_TIMEOUT_LENGTH" PARM_VALUE="90"/>
#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="UPLOAD_BODY" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="UPLOAD_CONTENT_TYPE" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="UPLOAD_FILE" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="UPLOAD_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="UPLOAD_TYPE" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="USE_COOKIES" PARM_VALUE="No"/>
#!     <XFORM_PARM PARM_NAME="VERIFY_SSL_CERTIFICATES" PARM_VALUE="Yes"/>
#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="HTTPCaller"/>
#! </TRANSFORMER>
#! <TRANSFORMER
#!   IDENTIFIER="8"
#!   TYPE="NullAttributeMapper"
#!   VERSION="2"
#!   POSITION="-1473.8576375091957 -962.88782921276561"
#!   BOUNDING_RECT="-1473.8576375091957 -962.88782921276561 454 71"
#!   ORDER="500000000000005"
#!   PARMS_EDITED="true"
#!   ENABLED="true"
#!   LAST_PARM_EDIT="20218"
#! >
#!     <OUTPUT_FEAT NAME="OUTPUT"/>
#!     <FEAT_COLLAPSED COLLAPSED="0"/>
#!     <XFORM_ATTR ATTR_NAME="_workorderID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_actualfinishdate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_actualstartdate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_address" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_completedbySID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_instructions" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_location" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_priority" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_projectedfinishdate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_projectedstartdate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_requestedbySID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_status" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_request_params" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_authentication" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_instance" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_PARM PARM_NAME="ATTRCHOICE" PARM_VALUE="Selected Attributes"/>
#!     <XFORM_PARM PARM_NAME="ATTRLIST" PARM_VALUE="_workorderID _address _completedbySID _instructions _location _priority _requestedbySID _status _actualfinishdate _actualstartdate _projectedfinishdate _projectedstartdate _request_params"/>
#!     <XFORM_PARM PARM_NAME="NEW_VALUE" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="NULL_TREATMENT" PARM_VALUE="Missing"/>
#!     <XFORM_PARM PARM_NAME="OTHER_VALUE" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP2" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="REG_EXP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="SOURCE_ATTR_VAL" PARM_VALUE="Null"/>
#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="NullAttributeMapper"/>
#! </TRANSFORMER>
#! <TRANSFORMER
#!   IDENTIFIER="9"
#!   TYPE="DateTimeConverter"
#!   VERSION="3"
#!   POSITION="-1473.8576375091957 -434.88374917196376"
#!   BOUNDING_RECT="-1473.8576375091957 -434.88374917196376 454 71"
#!   ORDER="500000000000010"
#!   PARMS_EDITED="true"
#!   ENABLED="true"
#!   LAST_PARM_EDIT="20218"
#! >
#!     <OUTPUT_FEAT NAME="OUTPUT"/>
#!     <FEAT_COLLAPSED COLLAPSED="0"/>
#!     <XFORM_ATTR ATTR_NAME="_workorderID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_actualfinishdate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_actualstartdate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_address" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_completedbySID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_instructions" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_location" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_priority" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_projectedfinishdate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_projectedstartdate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_requestedbySID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_status" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_request_params" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_authentication" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_instance" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <OUTPUT_FEAT NAME="&lt;REJECTED&gt;"/>
#!     <FEAT_COLLAPSED COLLAPSED="1"/>
#!     <XFORM_ATTR ATTR_NAME="_workorderID" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_actualfinishdate" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_actualstartdate" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_address" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_completedbySID" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_instructions" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_location" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_priority" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_projectedfinishdate" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_projectedstartdate" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_requestedbySID" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_status" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_request_params" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_authentication" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_instance" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="fme_rejection_code" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_PARM PARM_NAME="DATETIME_ATTR" PARM_VALUE="_actualfinishdate _actualstartdate _projectedfinishdate _projectedstartdate"/>
#!     <XFORM_PARM PARM_NAME="IN_FORMAT" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="OUT_FORMAT" PARM_VALUE="%Y-%m-%dT%H:%M:%S"/>
#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="PASSTHROUGH" PARM_VALUE="YES"/>
#!     <XFORM_PARM PARM_NAME="REFERENCE" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="REFERENCE_GROUP" PARM_VALUE="FME_DISCLOSURE_CLOSED"/>
#!     <XFORM_PARM PARM_NAME="REPAIR_INPUT" PARM_VALUE="YES"/>
#!     <XFORM_PARM PARM_NAME="TEST_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="TEST_INPUT" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="TEST_INPUT_GROUP" PARM_VALUE="FME_DISCLOSURE_CLOSED"/>
#!     <XFORM_PARM PARM_NAME="TEST_RESULT" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="DateTimeConverter"/>
#! </TRANSFORMER>
#! <TRANSFORMER
#!   IDENTIFIER="10"
#!   TYPE="Tester"
#!   VERSION="3"
#!   POSITION="-258.53145455575714 -434.88374917196376"
#!   BOUNDING_RECT="-258.53145455575714 -434.88374917196376 431 71"
#!   ORDER="500000000000019"
#!   PARMS_EDITED="false"
#!   ENABLED="true"
#!   LAST_PARM_EDIT="20218"
#!   OUTPUT_FT_ORDER="FAILED%PASSED"
#! >
#!     <OUTPUT_FEAT NAME="FAILED"/>
#!     <FEAT_COLLAPSED COLLAPSED="0"/>
#!     <XFORM_ATTR ATTR_NAME="_workorderID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_actualfinishdate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_actualstartdate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_address" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_completedbySID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_instructions" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_location" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_priority" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_projectedfinishdate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_projectedstartdate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_requestedbySID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_status" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_request_params" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_authentication" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_instance" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <OUTPUT_FEAT NAME="PASSED"/>
#!     <FEAT_COLLAPSED COLLAPSED="1"/>
#!     <XFORM_ATTR ATTR_NAME="_workorderID" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_actualfinishdate" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_actualstartdate" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_address" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_completedbySID" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_instructions" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_location" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_priority" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_projectedfinishdate" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_projectedstartdate" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_requestedbySID" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_status" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_request_params" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_authentication" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_instance" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_PARM PARM_NAME="ADVANCED_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="BOOL_OP" PARM_VALUE="OR"/>
#!     <XFORM_PARM PARM_NAME="COMPOSITE_MSG" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="COMPOSITE_TEST" PARM_VALUE="1"/>
#!     <XFORM_PARM PARM_NAME="PRESERVE_FEATURE_ORDER" PARM_VALUE="Per Output Port"/>
#!     <XFORM_PARM PARM_NAME="TEST_CLAUSE" PARM_VALUE="CASE_INSENSITIVE_TEST &lt;at&gt;Value&lt;openparen&gt;_response_body&lt;closeparen&gt; BEGINS_WITH &lt;lt&gt;!DOCTYPE&lt;space&gt;HTML&lt;gt&gt;"/>
#!     <XFORM_PARM PARM_NAME="TEST_CLAUSE_GRP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="TEST_MODE" PARM_VALUE="CASE_INSENSITIVE_TEST"/>
#!     <XFORM_PARM PARM_NAME="TEST_PREVIEW_GROUP" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="Tester"/>
#! </TRANSFORMER>
#! <TRANSFORMER
#!   IDENTIFIER="11"
#!   TYPE="AttributeCreator"
#!   VERSION="9"
#!   POSITION="-258.5586648278599 -735.88656920016513"
#!   BOUNDING_RECT="-258.5586648278599 -735.88656920016513 454 71"
#!   ORDER="500000000000023"
#!   PARMS_EDITED="false"
#!   ENABLED="true"
#!   LAST_PARM_EDIT="20218"
#! >
#!     <OUTPUT_FEAT NAME="OUTPUT"/>
#!     <FEAT_COLLAPSED COLLAPSED="0"/>
#!     <XFORM_ATTR ATTR_NAME="GenericErrorMessage" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_workorderID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_actualfinishdate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_actualstartdate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_address" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_completedbySID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_instructions" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_location" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_priority" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_projectedfinishdate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_projectedstartdate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_requestedbySID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_status" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_request_params" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_authentication" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_instance" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_PARM PARM_NAME="ATTRIBUTE_GRP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="ATTRIBUTE_HANDLING" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="ATTR_TABLE" PARM_VALUE="&quot;&quot; GenericErrorMessage SET_TO Bad&lt;space&gt;Or&lt;space&gt;Incomplete&lt;space&gt;Request"/>
#!     <XFORM_PARM PARM_NAME="MULTI_FEATURE_MODE" PARM_VALUE="NO"/>
#!     <XFORM_PARM PARM_NAME="NULL_ATTR_MODE_DISPLAY" PARM_VALUE="No Substitution"/>
#!     <XFORM_PARM PARM_NAME="NULL_ATTR_VALUE" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="NUM_PRIOR_FEATURES" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="NUM_SUBSEQUENT_FEATURES" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeCreator"/>
#! </TRANSFORMER>
#! <TRANSFORMER
#!   IDENTIFIER="12"
#!   TYPE="Tester"
#!   VERSION="3"
#!   POSITION="1037.3752712325361 -675.88656920016513"
#!   BOUNDING_RECT="1037.3752712325361 -675.88656920016513 430 71"
#!   ORDER="500000000000014"
#!   PARMS_EDITED="true"
#!   ENABLED="true"
#!   LAST_PARM_EDIT="20218"
#!   OUTPUT_FT_ORDER="FAILED%PASSED"
#! >
#!     <OUTPUT_FEAT NAME="FAILED"/>
#!     <FEAT_COLLAPSED COLLAPSED="0"/>
#!     <XFORM_ATTR ATTR_NAME="_workorderID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_actualfinishdate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_actualstartdate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_address" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_completedbySID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_instructions" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_location" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_priority" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_projectedfinishdate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_projectedstartdate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_requestedbySID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_status" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_request_params" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_authentication" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_instance" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="Status" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="RequestedBy" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="Priority" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="Supervisor" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="Instructions" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="CompletedBySid" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="WOAddress" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="Location" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="ProjStartDate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="ProjFinishDate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="ActualStartDate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="ActualFinishDate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="WarningMessageText" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="ErrorMessageText" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <OUTPUT_FEAT NAME="PASSED"/>
#!     <FEAT_COLLAPSED COLLAPSED="1"/>
#!     <XFORM_ATTR ATTR_NAME="_workorderID" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_actualfinishdate" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_actualstartdate" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_address" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_completedbySID" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_instructions" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_location" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_priority" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_projectedfinishdate" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_projectedstartdate" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_requestedbySID" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_status" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_request_params" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_authentication" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_instance" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="Status" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="RequestedBy" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="Priority" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="Supervisor" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="Instructions" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="CompletedBySid" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="WOAddress" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="Location" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="ProjStartDate" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="ProjFinishDate" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="ActualStartDate" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="ActualFinishDate" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="WarningMessageText" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="ErrorMessageText" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_PARM PARM_NAME="ADVANCED_GROUP" PARM_VALUE="FME_DISCLOSURE_OPEN"/>
#!     <XFORM_PARM PARM_NAME="BOOL_OP" PARM_VALUE="OR"/>
#!     <XFORM_PARM PARM_NAME="COMPOSITE_MSG" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="COMPOSITE_TEST" PARM_VALUE="1 OR 2"/>
#!     <XFORM_PARM PARM_NAME="PRESERVE_FEATURE_ORDER" PARM_VALUE="Per Output Port"/>
#!     <XFORM_PARM PARM_NAME="TEST_CLAUSE" PARM_VALUE="TEST WarningMessageText ATTRIBUTE_HAS_A_VALUE &quot;&quot;&#10;TEST ErrorMessageText ATTRIBUTE_HAS_A_VALUE &quot;&quot;"/>
#!     <XFORM_PARM PARM_NAME="TEST_CLAUSE_GRP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="TEST_MODE" PARM_VALUE="TEST"/>
#!     <XFORM_PARM PARM_NAME="TEST_PREVIEW_GROUP" PARM_VALUE="FME_DISCLOSURE_CLOSED"/>
#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="Tester2"/>
#! </TRANSFORMER>
#! <TRANSFORMER
#!   IDENTIFIER="13"
#!   TYPE="JSONExtractor"
#!   VERSION="4"
#!   POSITION="418.39735366349169 -622.13497168418883"
#!   BOUNDING_RECT="418.39735366349169 -622.13497168418883 454 71"
#!   ORDER="500000000000032"
#!   PARMS_EDITED="true"
#!   ENABLED="true"
#!   LAST_PARM_EDIT="20218"
#! >
#!     <OUTPUT_FEAT NAME="EVALUATED"/>
#!     <FEAT_COLLAPSED COLLAPSED="0"/>
#!     <XFORM_ATTR ATTR_NAME="_workorderID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_actualfinishdate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_actualstartdate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_address" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_completedbySID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_instructions" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_location" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_priority" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_projectedfinishdate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_projectedstartdate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_requestedbySID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_status" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_request_params" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_authentication" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_instance" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="Status" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="RequestedBy" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="Priority" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="Supervisor" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="Instructions" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="CompletedBySid" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="WOAddress" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="Location" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="ProjStartDate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="ProjFinishDate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="ActualStartDate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="ActualFinishDate" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="WarningMessageText" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="ErrorMessageText" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <OUTPUT_FEAT NAME="&lt;REJECTED&gt;"/>
#!     <FEAT_COLLAPSED COLLAPSED="1"/>
#!     <XFORM_ATTR ATTR_NAME="_workorderID" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_actualfinishdate" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_actualstartdate" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_address" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_completedbySID" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_instructions" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_location" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_priority" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_projectedfinishdate" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_projectedstartdate" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_requestedbySID" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_status" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_request_params" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_authentication" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_instance" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="fme_rejection_code" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="Status" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="RequestedBy" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="Priority" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="Supervisor" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="Instructions" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="CompletedBySid" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="WOAddress" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="Location" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="ProjStartDate" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="ProjFinishDate" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="ActualStartDate" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="ActualFinishDate" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="WarningMessageText" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="ErrorMessageText" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_PARM PARM_NAME="EXTRACT_QUERY_TABLE" PARM_VALUE="Status json&lt;openbracket&gt;&lt;quote&gt;Value&lt;quote&gt;&lt;closebracket&gt;&lt;openbracket&gt;&lt;quote&gt;Status&lt;quote&gt;&lt;closebracket&gt; RequestedBy json&lt;openbracket&gt;&lt;quote&gt;Value&lt;quote&gt;&lt;closebracket&gt;&lt;openbracket&gt;&lt;quote&gt;RequestedBy&lt;quote&gt;&lt;closebracket&gt; Priority json&lt;openbracket&gt;&lt;quote&gt;Value&lt;quote&gt;&lt;closebracket&gt;&lt;openbracket&gt;&lt;quote&gt;Priority&lt;quote&gt;&lt;closebracket&gt; Supervisor json&lt;openbracket&gt;&lt;quote&gt;Value&lt;quote&gt;&lt;closebracket&gt;&lt;openbracket&gt;&lt;quote&gt;Supervisor&lt;quote&gt;&lt;closebracket&gt; Instructions json&lt;openbracket&gt;&lt;quote&gt;Value&lt;quote&gt;&lt;closebracket&gt;&lt;openbracket&gt;&lt;quote&gt;Instructions&lt;quote&gt;&lt;closebracket&gt; CompletedBySid json&lt;openbracket&gt;&lt;quote&gt;Value&lt;quote&gt;&lt;closebracket&gt;&lt;openbracket&gt;&lt;quote&gt;CompletedBySid&lt;quote&gt;&lt;closebracket&gt; WOAddress json&lt;openbracket&gt;&lt;quote&gt;Value&lt;quote&gt;&lt;closebracket&gt;&lt;openbracket&gt;&lt;quote&gt;WOAddress&lt;quote&gt;&lt;closebracket&gt; Location json&lt;openbracket&gt;&lt;quote&gt;Value&lt;quote&gt;&lt;closebracket&gt;&lt;openbracket&gt;&lt;quote&gt;Location&lt;quote&gt;&lt;closebracket&gt; ProjStartDate json&lt;openbracket&gt;&lt;quote&gt;Value&lt;quote&gt;&lt;closebracket&gt;&lt;openbracket&gt;&lt;quote&gt;ProjecStartDate&lt;quote&gt;&lt;closebracket&gt; ProjFinishDate json&lt;openbracket&gt;&lt;quote&gt;Value&lt;quote&gt;&lt;closebracket&gt;&lt;openbracket&gt;&lt;quote&gt;ProjFinishDate&lt;quote&gt;&lt;closebracket&gt; ActualStartDate json&lt;openbracket&gt;&lt;quote&gt;Value&lt;quote&gt;&lt;closebracket&gt;&lt;openbracket&gt;&lt;quote&gt;ActualStartDate&lt;quote&gt;&lt;closebracket&gt; ActualFinishDate json&lt;openbracket&gt;&lt;quote&gt;Value&lt;quote&gt;&lt;closebracket&gt;&lt;openbracket&gt;&lt;quote&gt;ActualFinishDate&lt;quote&gt;&lt;closebracket&gt; WarningMessageText json&lt;openbracket&gt;&lt;quote&gt;WarningMessages&lt;quote&gt;&lt;closebracket&gt;&lt;openbracket&gt;0&lt;closebracket&gt;&lt;openbracket&gt;&lt;quote&gt;DisplayText&lt;quote&gt;&lt;closebracket&gt; ErrorMessageText json&lt;openbracket&gt;&lt;quote&gt;ErrorMessages&lt;quote&gt;&lt;closebracket&gt;&lt;openbracket&gt;0&lt;closebracket&gt;&lt;openbracket&gt;&lt;quote&gt;DisplayText&lt;quote&gt;&lt;closebracket&gt;"/>
#!     <XFORM_PARM PARM_NAME="FILEPATH_OR_URL" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="INPUT_SETTINGS_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="JSON_DOCUMENT" PARM_VALUE="&lt;at&gt;Value&lt;openparen&gt;_response_body&lt;closeparen&gt;"/>
#!     <XFORM_PARM PARM_NAME="QUERY_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="READ_FROM_FILE" PARM_VALUE="NO"/>
#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="JSONExtractor"/>
#! </TRANSFORMER>
#! </TRANSFORMERS>
#! <SUBDOCUMENT_IOS>
#! <SUBDOCUMENT_IO
#!   IDENTIFIER="2"
#!   NAME="Input"
#!   POSITION="-2294.3658425912454 154.1237409029365"
#!   BOUNDING_RECT="-2294.3658425912454 154.1237409029365 454 71"
#!   COLLAPSED="true"
#!   PUBLISHED="true"
#!   IS_SOURCE="true"
#!   ATTR_MODE="0"
#! >
#! </SUBDOCUMENT_IO>
#! <SUBDOCUMENT_IO
#!   IDENTIFIER="3"
#!   NAME="Output"
#!   POSITION="1768.8830183530231 -471.38541418861382"
#!   BOUNDING_RECT="1768.8830183530231 -471.38541418861382 430 71"
#!   COLLAPSED="true"
#!   IS_SOURCE="false"
#!   ATTR_MODE="0"
#! >
#! </SUBDOCUMENT_IO>
#! <SUBDOCUMENT_IO
#!   IDENTIFIER="4"
#!   NAME="&lt;Rejected&gt;"
#!   POSITION="1801.6958464813044 -1028.8581845644744"
#!   BOUNDING_RECT="1801.6958464813044 -1028.8581845644744 430 71"
#!   COLLAPSED="true"
#!   IS_SOURCE="false"
#!   ATTR_MODE="0"
#! >
#! </SUBDOCUMENT_IO>
#! </SUBDOCUMENT_IOS>
#! <FEAT_LINKS>
#! <FEAT_LINK
#!   IDENTIFIER="14"
#!   SOURCE_NODE="2"
#!   TARGET_NODE="5"
#!   SOURCE_PORT_DESC="0"
#!   TARGET_PORT_DESC="fi 0 "
#!   ENABLED="true"
#!   EXECUTION_IDX="0"
#!   HIDDEN="false"
#!   COLOUR="0,0,0,1"
#!   PEN_WIDTH="4"
#!   PEN_STYLE="1"
#!   LINK_STYLE_NAME="&lt;Default&gt;"
#!   EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#!   IDENTIFIER="15"
#!   SOURCE_NODE="5"
#!   TARGET_NODE="9"
#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
#!   TARGET_PORT_DESC="fi 0 "
#!   ENABLED="true"
#!   EXECUTION_IDX="0"
#!   HIDDEN="false"
#!   COLOUR="0,0,0,1"
#!   PEN_WIDTH="4"
#!   PEN_STYLE="1"
#!   LINK_STYLE_NAME="&lt;Default&gt;"
#!   EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#!   IDENTIFIER="16"
#!   SOURCE_NODE="6"
#!   TARGET_NODE="8"
#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
#!   TARGET_PORT_DESC="fi 0 "
#!   ENABLED="true"
#!   EXECUTION_IDX="0"
#!   HIDDEN="false"
#!   COLOUR="0,0,0,1"
#!   PEN_WIDTH="4"
#!   PEN_STYLE="1"
#!   LINK_STYLE_NAME="&lt;Default&gt;"
#!   EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#!   IDENTIFIER="17"
#!   SOURCE_NODE="7"
#!   TARGET_NODE="10"
#!   SOURCE_PORT_DESC="fo 0 Output"
#!   TARGET_PORT_DESC="fi 0 "
#!   ENABLED="true"
#!   EXECUTION_IDX="0"
#!   HIDDEN="false"
#!   COLOUR="0,0,0,1"
#!   PEN_WIDTH="4"
#!   PEN_STYLE="1"
#!   LINK_STYLE_NAME="&lt;Default&gt;"
#!   EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#!   IDENTIFIER="18"
#!   SOURCE_NODE="8"
#!   TARGET_NODE="7"
#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
#!   TARGET_PORT_DESC="fi 0 "
#!   ENABLED="true"
#!   EXECUTION_IDX="0"
#!   HIDDEN="false"
#!   COLOUR="0,0,0,1"
#!   PEN_WIDTH="4"
#!   PEN_STYLE="1"
#!   LINK_STYLE_NAME="&lt;Default&gt;"
#!   EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#!   IDENTIFIER="19"
#!   SOURCE_NODE="9"
#!   TARGET_NODE="6"
#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
#!   TARGET_PORT_DESC="fi 0 "
#!   ENABLED="true"
#!   EXECUTION_IDX="0"
#!   HIDDEN="false"
#!   COLOUR="0,0,0,1"
#!   PEN_WIDTH="4"
#!   PEN_STYLE="1"
#!   LINK_STYLE_NAME="&lt;Default&gt;"
#!   EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#!   IDENTIFIER="20"
#!   SOURCE_NODE="10"
#!   TARGET_NODE="11"
#!   SOURCE_PORT_DESC="fo 1 PASSED"
#!   TARGET_PORT_DESC="fi 0 "
#!   ENABLED="true"
#!   EXECUTION_IDX="0"
#!   HIDDEN="false"
#!   COLOUR="0,0,0,1"
#!   PEN_WIDTH="4"
#!   PEN_STYLE="1"
#!   LINK_STYLE_NAME="&lt;Default&gt;"
#!   EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#!   IDENTIFIER="21"
#!   SOURCE_NODE="11"
#!   TARGET_NODE="4"
#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
#!   TARGET_PORT_DESC="0"
#!   ENABLED="true"
#!   EXECUTION_IDX="0"
#!   HIDDEN="true"
#!   COLOUR="0,0,0,1"
#!   PEN_WIDTH="4"
#!   PEN_STYLE="1"
#!   LINK_STYLE_NAME="&lt;Default&gt;"
#!   EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#!   IDENTIFIER="22"
#!   SOURCE_NODE="12"
#!   TARGET_NODE="4"
#!   SOURCE_PORT_DESC="fo 1 PASSED"
#!   TARGET_PORT_DESC="0"
#!   ENABLED="true"
#!   EXECUTION_IDX="0"
#!   HIDDEN="false"
#!   COLOUR="0,0,0,1"
#!   PEN_WIDTH="4"
#!   PEN_STYLE="1"
#!   LINK_STYLE_NAME="&lt;Default&gt;"
#!   EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#!   IDENTIFIER="23"
#!   SOURCE_NODE="13"
#!   TARGET_NODE="12"
#!   SOURCE_PORT_DESC="fo 0 EVALUATED"
#!   TARGET_PORT_DESC="fi 0 "
#!   ENABLED="true"
#!   EXECUTION_IDX="0"
#!   HIDDEN="false"
#!   COLOUR="0,0,0,1"
#!   PEN_WIDTH="4"
#!   PEN_STYLE="1"
#!   LINK_STYLE_NAME="&lt;Default&gt;"
#!   EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#!   IDENTIFIER="24"
#!   SOURCE_NODE="7"
#!   TARGET_NODE="4"
#!   SOURCE_PORT_DESC="fo 1 &lt;lt&gt;REJECTED&lt;gt&gt;"
#!   TARGET_PORT_DESC="0"
#!   ENABLED="true"
#!   EXECUTION_IDX="0"
#!   HIDDEN="true"
#!   COLOUR="0,0,0,1"
#!   PEN_WIDTH="4"
#!   PEN_STYLE="1"
#!   LINK_STYLE_NAME="&lt;Default&gt;"
#!   EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#!   IDENTIFIER="25"
#!   SOURCE_NODE="10"
#!   TARGET_NODE="13"
#!   SOURCE_PORT_DESC="fo 0 FAILED"
#!   TARGET_PORT_DESC="fi 0 "
#!   ENABLED="true"
#!   EXECUTION_IDX="0"
#!   HIDDEN="false"
#!   COLOUR="0,0,0,1"
#!   PEN_WIDTH="4"
#!   PEN_STYLE="1"
#!   LINK_STYLE_NAME="&lt;Default&gt;"
#!   EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#!   IDENTIFIER="26"
#!   SOURCE_NODE="12"
#!   TARGET_NODE="3"
#!   SOURCE_PORT_DESC="fo 0 FAILED"
#!   TARGET_PORT_DESC="0"
#!   ENABLED="true"
#!   EXECUTION_IDX="0"
#!   HIDDEN="false"
#!   COLOUR="0,0,0,1"
#!   PEN_WIDTH="4"
#!   PEN_STYLE="1"
#!   LINK_STYLE_NAME="&lt;Default&gt;"
#!   EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#!   IDENTIFIER="27"
#!   SOURCE_NODE="13"
#!   TARGET_NODE="4"
#!   SOURCE_PORT_DESC="fo 1 &lt;lt&gt;REJECTED&lt;gt&gt;"
#!   TARGET_PORT_DESC="0"
#!   ENABLED="true"
#!   EXECUTION_IDX="0"
#!   HIDDEN="true"
#!   COLOUR="0,0,0,1"
#!   PEN_WIDTH="4"
#!   PEN_STYLE="1"
#!   LINK_STYLE_NAME="&lt;Default&gt;"
#!   EXTRA_POINTS=""
#! />
#! </FEAT_LINKS>
#! <BREAKPOINTS>
#! </BREAKPOINTS>
#! <ATTR_LINKS>
#! </ATTR_LINKS>
#! </SUBDOCUMENT>
#! <SUBDOCUMENT
#!   NAME="CityworksMaterialCosts"
#!   CATEGORY="Integrations"
#!   DESCRIPTION="&lt;h3&gt;Description&lt;/h3&gt;&#10;&lt;p&gt;This transformer leverages the Cityworks REST API to send material costs to work orders within Cityworks from FME. It is designed to be used with an authenticated web connection to Cityworks.&lt;/p&gt;&#10;&lt;h3&gt;Details&lt;/h3&gt;&#10;&lt;p&gt;This transformer uses an HTTPCaller to make a call to Cityworks REST API. The API returns a response body made into attributes using JSONExtractor. Additional information and context can be found in the _response_body attribute. Tester transformers reroute Cityworks generic error page in addition to Error and Warning messages to the &amp;lt;Rejected&gt; port. Additional parameters can be provided in the &lt;em&gt;Additional Request Parameters&lt;/em&gt; field to send a more detailed request to Cityworks. &lt;/p&gt;"
#!   DOC_DYNAMIC_INPUT_ATTRS="0"
#!   DOC_EXTENTS="4709.01 685.919"
#!   DOC_TOP_LEFT="-2787.41 -333.917"
#!   FME_DOCUMENT_GUID="da071a24-9394-43a9-b412-fe0476c10d41"
#!   FME_DOCUMENT_PRIORGUID="09d8258a-c002-42fb-b1b3-0aa7e5617dde,c34aee16-4026-405c-b07a-3b500b00ceda,3f12bf3f-8b14-4b8f-a95b-d374dcd49ba0,f6d16b45-da21-4057-89b0-dde773d5ccbc"
#!   FME_PROCESS_COUNT="NO_PARALLELISM"
#!   FME_PROCESS_GROUPS_ORDERED="No"
#!   FME_PROCESS_GROUP_BY=""
#!   FME_PROCESS_PRESERVE_GROUP_ATTR="No"
#!   FMX_ATTRIBUTE_PROPOGATION_MODE="AUTO"
#!   GUID="da071a24-9394-43a9-b412-fe0476c10d41"
#!   HISTORY="May&lt;space&gt;27th&lt;comma&gt;&lt;space&gt;2020,Sanae&lt;space&gt;Mendoza,Initial&lt;space&gt;Creation."
#!   IS_VISIBLE="true"
#!   LAST_SAVE_BUILD="FME(R) 2020.0.1.0 (20200407 - Build 20218 - macosx)"
#!   LAST_SAVE_DATE="2020-05-28T23:12:57"
#!   MARKDOWN_DESCRIPTION="&#10;###Description&#10;This transformer leverages the Cityworks REST API to send material costs to work orders within Cityworks from FME. It is designed to be used with an authenticated web connection to Cityworks.&#10;&#10;###Details &#10;This transformer uses an HTTPCaller to make a call to Cityworks REST API. The API returns a response body made into attributes using JSONExtractor. Additional information and context can be found in the \_response\_body attribute. Tester transformers reroute Cityworks generic error page in addition to Error and Warning messages to the &lt;Rejected\&gt; port. Additional parameters can be provided in the _Additional Request Parameters_ field to send a more detailed request to Cityworks. "
#!   MARKDOWN_USAGE="&#10;**Input Ports**&#10;&#10;Features entering this port trigger the addition of material costs to a specified work order. Incoming attribute values may be used as input if they are valid parameters of the request URL. If this transformer is intended to be used on its own, a [Creator](http://docs.safe.com/fme/2019.0/html/FME_Desktop_Documentation/FME_Transformers/Transformers/creator.htm) transformer should be used as input to trigger the call without having to read in data.&#10;&#10;**Output Ports**&#10;&#10;The outgoing port sends returned attributes parsed from the Cityworks API response. Additional attributes include the JSON response body. Outgoing attributes can be customized by configuring the JSONExtractor inside the transformer to parse target attributes from the Cityworks response.&#10;&#10;The rejected output port is connected to HTTPCaller, JSONExtractor, and two testers. The first Tester checks for Cityworks generic HTML error page, indicating bad input. Tester_2 checks the returned Cityworks JSON response body for values in the ErrorMessages or WarningMessages. Attributes associated with these failure messages are output to the &lt;Rejected\&gt; port and may be further investigated using the Cityworks API documentation.&#10;&#10;**Parameters**&#10;&#10;Web Connection: The name of your Cityworks web connection.&#10;&#10;Cityworks Instance: The path to your Cityworks instance endpoint.&#10;Example: `http://localhost/Cityworks`&#10;&#10;Work Order ID: The work order that you wish to send equipment costs to.  &#10;&#10;Material ID: The material SID for the material that you are sending costs for. &#10;&#10;Units: Quantity of material being used.&#10;&#10;Storeroom: Source of the material or storeroom where it is kept.  &#10;&#10;Additional Request Parameters: This parameter can contain one or more extra request parameter definitions which will be included in your work order. Parameters must be valid for your Cityworks instance. Additional parameters should be formatted with double quotation marks (`&quot;`) surrounding each key and value, with a colon (`:`) between keys and values. Each key-value pair should be separated by a comma (`,`).&#10;Example: ` &apos;&apos;Address&apos;&apos;:&apos;&apos;1234 Fake St.&apos;&apos;,&apos;&apos;City&apos;&apos;:&apos;&apos;NowhereVille&apos;&apos;`&#10;&#10;**Consult your Cityworks documentation for more request parameters.**&#10;"
#!   PYTHON_COMPATIBILITY=""
#!   REPLACED_BY=""
#!   SUPPRESS_UPGRADE="false"
#!   TITLE="CityworksMaterialCosts"
#!   USAGE="&lt;p&gt;&lt;strong&gt;Input Ports&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;Features entering this port trigger the addition of material costs to a specified work order. Incoming attribute values may be used as input if they are valid parameters of the request URL. If this transformer is intended to be used on its own, a &lt;a href=&quot;http://docs.safe.com/fme/2019.0/html/FME_Desktop_Documentation/FME_Transformers/Transformers/creator.htm&quot;&gt;Creator&lt;/a&gt; transformer should be used as input to trigger the call without having to read in data.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Output Ports&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;The outgoing port sends returned attributes parsed from the Cityworks API response. Additional attributes include the JSON response body. Outgoing attributes can be customized by configuring the JSONExtractor inside the transformer to parse target attributes from the Cityworks response.&lt;/p&gt;&#10;&lt;p&gt;The rejected output port is connected to HTTPCaller, JSONExtractor, and two testers. The first Tester checks for Cityworks generic HTML error page, indicating bad input. Tester_2 checks the returned Cityworks JSON response body for values in the ErrorMessages or WarningMessages. Attributes associated with these failure messages are output to the &amp;lt;Rejected&gt; port and may be further investigated using the Cityworks API documentation.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Parameters&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;Web Connection: The name of your Cityworks web connection.&lt;/p&gt;&#10;&lt;p&gt;Cityworks Instance: The path to your Cityworks instance endpoint.&#10;Example: &lt;code&gt;http://localhost/Cityworks&lt;/code&gt;&lt;/p&gt;&#10;&lt;p&gt;Work Order ID: The work order that you wish to send equipment costs to.  &lt;/p&gt;&#10;&lt;p&gt;Material ID: The material SID for the material that you are sending costs for. &lt;/p&gt;&#10;&lt;p&gt;Units: Quantity of material being used.&lt;/p&gt;&#10;&lt;p&gt;Storeroom: Source of the material or storeroom where it is kept.  &lt;/p&gt;&#10;&lt;p&gt;Additional Request Parameters: This parameter can contain one or more extra request parameter definitions which will be included in your work order. Parameters must be valid for your Cityworks instance. Additional parameters should be formatted with double quotation marks (&lt;code&gt;&quot;&lt;/code&gt;) surrounding each key and value, with a colon (&lt;code&gt;:&lt;/code&gt;) between keys and values. Each key-value pair should be separated by a comma (&lt;code&gt;,&lt;/code&gt;).&#10;Example: &lt;code&gt;&apos;&apos;Address&apos;&apos;:&apos;&apos;1234 Fake St.&apos;&apos;,&apos;&apos;City&apos;&apos;:&apos;&apos;NowhereVille&apos;&apos;&lt;/code&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Consult your Cityworks documentation for more request parameters.&lt;/strong&gt;&lt;/p&gt;"
#!   USE_MARKDOWN="YES"
#!   VIEW_POSITION="-3600.04 843.112"
#!   XFORM_DEPRECATED="No"
#!   ZOOM_SCALE="58"
#! >
#! <GLOBAL_PARAMETERS>
#! <GLOBAL_PARAMETER
#!   GUI_LINE="GUI NAMED_CONNECTION_OR_ATTR authentication Cityworks% Web Connection:"
#!   DEFAULT_VALUE=""
#!   IS_STAND_ALONE="true"
#! />
#! <GLOBAL_PARAMETER
#!   GUI_LINE="GUI TEXT_OR_ATTR instance Cityworks Instance:"
#!   DEFAULT_VALUE=""
#!   IS_STAND_ALONE="true"
#! />
#! <GLOBAL_PARAMETER
#!   GUI_LINE="GUI TEXT_OR_ATTR workorderid Work Order ID:"
#!   DEFAULT_VALUE=""
#!   IS_STAND_ALONE="true"
#! />
#! <GLOBAL_PARAMETER
#!   GUI_LINE="GUI TEXT_OR_ATTR materialsSID Material SID:"
#!   DEFAULT_VALUE=""
#!   IS_STAND_ALONE="true"
#! />
#! <GLOBAL_PARAMETER
#!   GUI_LINE="GUI RANGE_SLIDER_OR_ATTR units &quot;RANGE:(0,]&quot; Quantity (units):"
#!   DEFAULT_VALUE=""
#!   IS_STAND_ALONE="true"
#! />
#! <GLOBAL_PARAMETER
#!   GUI_LINE="GUI OPTIONAL TEXT_OR_ATTR source Storeroom:"
#!   DEFAULT_VALUE=""
#!   IS_STAND_ALONE="true"
#! />
#! <GLOBAL_PARAMETER
#!   GUI_LINE="GUI OPTIONAL TEXT_OR_ATTR request_params Additional Request Parameters:"
#!   DEFAULT_VALUE="&quot;Estimated&quot;: false,"
#!   IS_STAND_ALONE="true"
#! />
#! </GLOBAL_PARAMETERS>
#! <COMMENTS>
#! <COMMENT
#!   IDENTIFIER="24"
#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;.AppleSystemUIFont&apos;; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Reroute Cityworks Error Page&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
#!   POSITION="-649.29412846833543 352.0016122358752"
#!   TOP_LEFT="-649.29412846833543 352.0016122358752"
#!   BOTTOM_RIGHT="-195.29412846833543 351.0016122358752"
#!   BOUNDING_RECT="-649.29412846833543 352.0016122358752 454 1"
#!   ORDER="500000000000025"
#!   FOLLOW_ANCHOR="true"
#!   INFO_NODE="false"
#!   CUSTOM_USER_COLOR="false"
#!   COLOUR="1,1,0.95686274509803926,0.78431372549019607"
#!   SIZE_POLICY="10"
#!   ANCHORED_NODE="8"
#! />
#! <COMMENT
#!   IDENTIFIER="25"
#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;.AppleSystemUIFont&apos;; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Send MaterialCost Call to Cityworks REST API&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
#!   POSITION="-1332.6068449288316 352.0016122358752"
#!   TOP_LEFT="-1332.6068449288316 352.0016122358752"
#!   BOTTOM_RIGHT="-860.60684492883161 351.0016122358752"
#!   BOUNDING_RECT="-1332.6068449288316 352.0016122358752 472 1"
#!   ORDER="500000000000031"
#!   FOLLOW_ANCHOR="true"
#!   INFO_NODE="false"
#!   CUSTOM_USER_COLOR="false"
#!   COLOUR="1,1,0.95686274509803926,0.78431372549019607"
#!   SIZE_POLICY="10"
#!   ANCHORED_NODE="7"
#! />
#! <COMMENT
#!   IDENTIFIER="26"
#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;.AppleSystemUIFont&apos;; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Test for ErrorMessages or WarningMessages&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
#!   POSITION="773.07654969187593 313.22768996666042"
#!   TOP_LEFT="773.07654969187593 313.22768996666042"
#!   BOTTOM_RIGHT="1227.0765496918759 312.22768996666042"
#!   BOUNDING_RECT="773.07654969187593 313.22768996666042 454 1"
#!   ORDER="500000000000029"
#!   FOLLOW_ANCHOR="true"
#!   INFO_NODE="false"
#!   CUSTOM_USER_COLOR="false"
#!   COLOUR="1,1,0.95686274509803926,0.78431372549019607"
#!   SIZE_POLICY="10"
#!   ANCHORED_NODE="10"
#! />
#! <COMMENT
#!   IDENTIFIER="27"
#!   COMMENT_VALUE="&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&#10;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;&#10;p, li { white-space: pre-wrap; }&#10;&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;.AppleSystemUIFont&apos;; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;&#10;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Extract JSON values from HTTP Response&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;"
#!   POSITION="100.8333932635453 217.22672995706017"
#!   TOP_LEFT="100.8333932635453 217.22672995706017"
#!   BOTTOM_RIGHT="631.21797612521732 67.22552994506006"
#!   BOUNDING_RECT="100.8333932635453 217.22672995706017 530.38458286167202 150.00120001200011"
#!   ORDER="500000000000033"
#!   FOLLOW_ANCHOR="true"
#!   INFO_NODE="false"
#!   CUSTOM_USER_COLOR="false"
#!   COLOUR="1,1,0.95686274509803926,0.78431372549019607"
#!   SIZE_POLICY="10"
#!   ANCHORED_NODE="11"
#! />
#! </COMMENTS>
#! <CONSTANTS>
#! </CONSTANTS>
#! <BOOKMARKS>
#! <BOOKMARK
#!   IDENTIFIER="28"
#!   NAME="Get User Parameters"
#!   DESCRIPTION=""
#!   TOP_LEFT="-2138.4748069417847 323.83467889987514"
#!   ORDER="500000000000017"
#!   PALETTE_COLOR="Color2"
#!   BOTTOM_RIGHT="-1384.7835312955997 -329.58299221491188"
#!   BOUNDING_RECT="-2138.4748069417847 323.83467889987514 753.69127564618498 653.41767111478703"
#!   STICKY="true"
#!   COLOUR="0.63529411764705879,0.80000000000000004,0.59999999999999998,1"
#!   CONTENTS="13 5 6 "
#! >
#! </BOOKMARK>
#! </BOOKMARKS>
#! <TRANSFORMERS>
#! <TRANSFORMER
#!   IDENTIFIER="5"
#!   TYPE="ParameterFetcher"
#!   VERSION="4"
#!   POSITION="-1983.8074736017845 167.00041222387517"
#!   BOUNDING_RECT="-1983.8074736017845 167.00041222387517 431 71"
#!   ORDER="500000000000001"
#!   PARMS_EDITED="true"
#!   ENABLED="true"
#!   LAST_PARM_EDIT="20218"
#! >
#!     <OUTPUT_FEAT NAME="OUTPUT"/>
#!     <FEAT_COLLAPSED COLLAPSED="0"/>
#!     <XFORM_ATTR ATTR_NAME="_authentication" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_instance" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_materialsSID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_source" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_units" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_request_params" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_workorderid" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_PARM PARM_NAME="ATTR_LIST" PARM_VALUE="_authentication $(authentication) _instance $(instance) _materialsSID $(materialsSID) _source $(source) _units $(units) _request_params $(request_params) _workorderid $(workorderid)"/>
#!     <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="XFORMER_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="ParameterFetcher"/>
#! </TRANSFORMER>
#! <TRANSFORMER
#!   IDENTIFIER="6"
#!   TYPE="AttributeManager"
#!   VERSION="2"
#!   POSITION="-1983.8074736017845 -38.667061117525293"
#!   BOUNDING_RECT="-1983.8074736017845 -38.667061117525293 430 71"
#!   ORDER="500000000000002"
#!   PARMS_EDITED="true"
#!   ENABLED="true"
#!   LAST_PARM_EDIT="20218"
#! >
#!     <OUTPUT_FEAT NAME="OUTPUT"/>
#!     <FEAT_COLLAPSED COLLAPSED="0"/>
#!     <XFORM_ATTR ATTR_NAME="_authentication" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_instance" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_request_params" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_units" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_source" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_workorderid" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_materialsSID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_PARM PARM_NAME="ATTRIBUTE_GRP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="ATTRIBUTE_HANDLING" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="ATTR_TABLE" PARM_VALUE="_authentication _authentication  NO_OP _instance _instance  NO_OP _request_params _request_params  NO_OP _units _units  NO_OP _source _source &quot;FME_CONDITIONAL:DEFAULT_VALUE&apos;FME_NULL_VALUE&apos;BOOL_OP;OR;COMPOSITE_TEST;1;TEST _source ATTRIBUTE_HAS_A_VALUE _FME_BLANK_STRING_&apos;&lt;quote&gt;Source&lt;quote&gt;:&lt;space&gt;&lt;quote&gt;&lt;at&gt;Value&lt;openparen&gt;_source&lt;closeparen&gt;&lt;quote&gt;&lt;comma&gt;&apos;FME_NUM_CONDITIONS2___&quot; SET_TO _workorderid _workorderid  NO_OP _materialsSID _materialsSID  NO_OP"/>
#!     <XFORM_PARM PARM_NAME="MULTI_FEATURE_MODE" PARM_VALUE="NO"/>
#!     <XFORM_PARM PARM_NAME="NULL_ATTR_MODE_DISPLAY" PARM_VALUE="No Substitution"/>
#!     <XFORM_PARM PARM_NAME="NULL_ATTR_VALUE" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="NUM_PRIOR_FEATURES" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="NUM_SUBSEQUENT_FEATURES" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeManager_2"/>
#! </TRANSFORMER>
#! <TRANSFORMER
#!   IDENTIFIER="7"
#!   TYPE="HTTPCaller"
#!   VERSION="2"
#!   POSITION="-1290.6338751991343 92.000312222874996"
#!   BOUNDING_RECT="-1290.6338751991343 92.000312222874996 430 71"
#!   ORDER="500000000000006"
#!   PARMS_EDITED="true"
#!   ENABLED="true"
#!   LAST_PARM_EDIT="20218"
#! >
#!     <OUTPUT_FEAT NAME="Output"/>
#!     <FEAT_COLLAPSED COLLAPSED="0"/>
#!     <XFORM_ATTR ATTR_NAME="_authentication" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_instance" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_request_params" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_units" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_source" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_workorderid" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_materialsSID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <OUTPUT_FEAT NAME="&lt;REJECTED&gt;"/>
#!     <FEAT_COLLAPSED COLLAPSED="1"/>
#!     <XFORM_ATTR ATTR_NAME="_authentication" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_instance" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_request_params" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_units" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_source" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_workorderid" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_materialsSID" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_error" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="fme_rejection_code" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_PARM PARM_NAME="ADDITIONAL_PARAMETERS_GROUP" PARM_VALUE="FME_DISCLOSURE_OPEN"/>
#!     <XFORM_PARM PARM_NAME="ADDITIONAL_URL_PARAMETERS" PARM_VALUE="data;&lt;opencurly&gt;&lt;at&gt;Value&lt;openparen&gt;_request_params&lt;closeparen&gt;&lt;space&gt;&lt;at&gt;Value&lt;openparen&gt;_source&lt;closeparen&gt;&lt;space&gt;&lt;quote&gt;WorkOrderId&lt;quote&gt;:&lt;space&gt;&lt;quote&gt;&lt;at&gt;Value&lt;openparen&gt;_workorderid&lt;closeparen&gt;&lt;quote&gt;&lt;comma&gt;&lt;space&gt;&lt;quote&gt;MaterialSids&lt;quote&gt;:&lt;space&gt;&lt;openbracket&gt;&lt;at&gt;Value&lt;openparen&gt;_materialsSID&lt;closeparen&gt;&lt;closebracket&gt;&lt;comma&gt;&lt;space&gt;&lt;space&gt;&lt;quote&gt;Units&lt;quote&gt;:&lt;space&gt;&lt;at&gt;Value&lt;openparen&gt;_units&lt;closeparen&gt;&lt;closecurly&gt;"/>
#!     <XFORM_PARM PARM_NAME="ADVANCED_REQUEST_PARAMETERS" PARM_VALUE="NO"/>
#!     <XFORM_PARM PARM_NAME="ADVANCED_RESPONSE_PARAMETERS" PARM_VALUE="FME_DISCLOSURE_OPEN"/>
#!     <XFORM_PARM PARM_NAME="AUTH_METHOD" PARM_VALUE="Web Connection"/>
#!     <XFORM_PARM PARM_NAME="AUTH_NAMED_CONNECTION" PARM_VALUE="&lt;at&gt;Value&lt;openparen&gt;_authentication&lt;closeparen&gt;"/>
#!     <XFORM_PARM PARM_NAME="AUTH_PASSWORD" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="AUTH_USERNAME" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="CONNECTION_TIMEOUT_LENGTH" PARM_VALUE="60"/>
#!     <XFORM_PARM PARM_NAME="CUSTOM_HEADERS" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="CUSTOM_HEADERS_GROUP" PARM_VALUE="NO"/>
#!     <XFORM_PARM PARM_NAME="ERROR_ATTR" PARM_VALUE="_error"/>
#!     <XFORM_PARM PARM_NAME="FILE_PATH_ATTR" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="FILE_TYPE" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="FOLLOW_REDIRECTS" PARM_VALUE="FOLLOW_WITH_GET"/>
#!     <XFORM_PARM PARM_NAME="HTTPURL_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="HTTP_AUTH_GROUP" PARM_VALUE="YES"/>
#!     <XFORM_PARM PARM_NAME="HTTP_METHOD" PARM_VALUE="GET"/>
#!     <XFORM_PARM PARM_NAME="HTTP_RESPONSE_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="MULTIPARTS" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="MULTIPART_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="OUTPUT_DIRNAME" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="OUTPUT_FILENAME" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="REDIRECT_AUTH" PARM_VALUE="ORIGINAL_DOMAIN_ONLY"/>
#!     <XFORM_PARM PARM_NAME="RESPONSE_FILE_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="RESPONSE_HEADER_LIST_ATTR" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="SAVE_FILE" PARM_VALUE="Attribute"/>
#!     <XFORM_PARM PARM_NAME="SAVE_MULTI" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="STATUS_CODE_ATTR" PARM_VALUE="_http_status_code"/>
#!     <XFORM_PARM PARM_NAME="TARGET_ATTR" PARM_VALUE="_response_body"/>
#!     <XFORM_PARM PARM_NAME="TARGET_ATTR_ENCODING" PARM_VALUE="auto-detect"/>
#!     <XFORM_PARM PARM_NAME="TARGET_URL" PARM_VALUE="&lt;at&gt;Value&lt;openparen&gt;_instance&lt;closeparen&gt;&lt;solidus&gt;services&lt;solidus&gt;Ams&lt;solidus&gt;MaterialCost&lt;solidus&gt;AddWorkOrderCosts?"/>
#!     <XFORM_PARM PARM_NAME="TRANSFER_TIMEOUT_LENGTH" PARM_VALUE="90"/>
#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="UPLOAD_BODY" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="UPLOAD_CONTENT_TYPE" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="UPLOAD_FILE" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="UPLOAD_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="UPLOAD_TYPE" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="USE_COOKIES" PARM_VALUE="No"/>
#!     <XFORM_PARM PARM_NAME="VERIFY_SSL_CERTIFICATES" PARM_VALUE="Yes"/>
#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="HTTPCaller"/>
#! </TRANSFORMER>
#! <TRANSFORMER
#!   IDENTIFIER="8"
#!   TYPE="Tester"
#!   VERSION="3"
#!   POSITION="-649.29412846833543 167.00041222387517"
#!   BOUNDING_RECT="-649.29412846833543 167.00041222387517 431 71"
#!   ORDER="500000000000019"
#!   PARMS_EDITED="true"
#!   ENABLED="true"
#!   LAST_PARM_EDIT="20218"
#!   OUTPUT_FT_ORDER="FAILED%PASSED"
#! >
#!     <OUTPUT_FEAT NAME="FAILED"/>
#!     <FEAT_COLLAPSED COLLAPSED="0"/>
#!     <XFORM_ATTR ATTR_NAME="_authentication" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_instance" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_request_params" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_units" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_source" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_workorderid" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_materialsSID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <OUTPUT_FEAT NAME="PASSED"/>
#!     <FEAT_COLLAPSED COLLAPSED="1"/>
#!     <XFORM_ATTR ATTR_NAME="_authentication" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_instance" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_request_params" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_units" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_source" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_workorderid" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_materialsSID" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_PARM PARM_NAME="ADVANCED_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="BOOL_OP" PARM_VALUE="OR"/>
#!     <XFORM_PARM PARM_NAME="COMPOSITE_MSG" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="COMPOSITE_TEST" PARM_VALUE="1"/>
#!     <XFORM_PARM PARM_NAME="PRESERVE_FEATURE_ORDER" PARM_VALUE="Per Output Port"/>
#!     <XFORM_PARM PARM_NAME="TEST_CLAUSE" PARM_VALUE="CASE_INSENSITIVE_TEST &lt;at&gt;Value&lt;openparen&gt;_response_body&lt;closeparen&gt; BEGINS_WITH &lt;lt&gt;!DOCTYPE&lt;space&gt;HTML&lt;gt&gt;"/>
#!     <XFORM_PARM PARM_NAME="TEST_CLAUSE_GRP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="TEST_MODE" PARM_VALUE="CASE_INSENSITIVE_TEST"/>
#!     <XFORM_PARM PARM_NAME="TEST_PREVIEW_GROUP" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="Tester"/>
#! </TRANSFORMER>
#! <TRANSFORMER
#!   IDENTIFIER="9"
#!   TYPE="AttributeCreator"
#!   VERSION="9"
#!   POSITION="-649.29412846833543 -110.70147441750464"
#!   BOUNDING_RECT="-649.29412846833543 -110.70147441750464 454 71"
#!   ORDER="500000000000023"
#!   PARMS_EDITED="true"
#!   ENABLED="true"
#!   LAST_PARM_EDIT="20218"
#! >
#!     <OUTPUT_FEAT NAME="OUTPUT"/>
#!     <FEAT_COLLAPSED COLLAPSED="0"/>
#!     <XFORM_ATTR ATTR_NAME="GenericErrorMessage" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_authentication" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_instance" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_request_params" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_units" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_source" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_workorderid" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_materialsSID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_PARM PARM_NAME="ATTRIBUTE_GRP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="ATTRIBUTE_HANDLING" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="ATTR_TABLE" PARM_VALUE="&quot;&quot; GenericErrorMessage SET_TO Bad&lt;space&gt;Or&lt;space&gt;Incomplete&lt;space&gt;Request"/>
#!     <XFORM_PARM PARM_NAME="MULTI_FEATURE_MODE" PARM_VALUE="NO"/>
#!     <XFORM_PARM PARM_NAME="NULL_ATTR_MODE_DISPLAY" PARM_VALUE="No Substitution"/>
#!     <XFORM_PARM PARM_NAME="NULL_ATTR_VALUE" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="NUM_PRIOR_FEATURES" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="NUM_SUBSEQUENT_FEATURES" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeCreator"/>
#! </TRANSFORMER>
#! <TRANSFORMER
#!   IDENTIFIER="10"
#!   TYPE="Tester"
#!   VERSION="3"
#!   POSITION="773.07654969187593 32.225529945060032"
#!   BOUNDING_RECT="773.07654969187593 32.225529945060032 454 71"
#!   ORDER="500000000000014"
#!   PARMS_EDITED="false"
#!   ENABLED="true"
#!   LAST_PARM_EDIT="20218"
#!   OUTPUT_FT_ORDER="FAILED%PASSED"
#! >
#!     <OUTPUT_FEAT NAME="FAILED"/>
#!     <FEAT_COLLAPSED COLLAPSED="0"/>
#!     <XFORM_ATTR ATTR_NAME="_authentication" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_instance" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_request_params" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_units" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_source" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_workorderid" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_materialsSID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="MaterialCostID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="Description" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="UnitsRequired" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="Cost" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="Source" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="WarningMessageText" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="ErrorMessageText" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <OUTPUT_FEAT NAME="PASSED"/>
#!     <FEAT_COLLAPSED COLLAPSED="1"/>
#!     <XFORM_ATTR ATTR_NAME="_authentication" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_instance" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_request_params" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_units" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_source" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_workorderid" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_materialsSID" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="MaterialCostID" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="Description" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="UnitsRequired" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="Cost" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="Source" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="WarningMessageText" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="ErrorMessageText" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_PARM PARM_NAME="ADVANCED_GROUP" PARM_VALUE="FME_DISCLOSURE_OPEN"/>
#!     <XFORM_PARM PARM_NAME="BOOL_OP" PARM_VALUE="OR"/>
#!     <XFORM_PARM PARM_NAME="COMPOSITE_MSG" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="COMPOSITE_TEST" PARM_VALUE="1 OR 2"/>
#!     <XFORM_PARM PARM_NAME="PRESERVE_FEATURE_ORDER" PARM_VALUE="Per Output Port"/>
#!     <XFORM_PARM PARM_NAME="TEST_CLAUSE" PARM_VALUE="TEST WarningMessageText ATTRIBUTE_HAS_A_VALUE &quot;&quot;&#10;TEST ErrorMessageText ATTRIBUTE_HAS_A_VALUE &quot;&quot;"/>
#!     <XFORM_PARM PARM_NAME="TEST_CLAUSE_GRP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="TEST_MODE" PARM_VALUE="TEST"/>
#!     <XFORM_PARM PARM_NAME="TEST_PREVIEW_GROUP" PARM_VALUE="FME_DISCLOSURE_CLOSED"/>
#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="Tester_2"/>
#! </TRANSFORMER>
#! <TRANSFORMER
#!   IDENTIFIER="11"
#!   TYPE="JSONExtractor"
#!   VERSION="4"
#!   POSITION="135.83336326324525 32.225529945060032"
#!   BOUNDING_RECT="135.83336326324525 32.225529945060032 454 71"
#!   ORDER="500000000000032"
#!   PARMS_EDITED="true"
#!   ENABLED="true"
#!   LAST_PARM_EDIT="20218"
#! >
#!     <OUTPUT_FEAT NAME="EVALUATED"/>
#!     <FEAT_COLLAPSED COLLAPSED="0"/>
#!     <XFORM_ATTR ATTR_NAME="_authentication" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_instance" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_request_params" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_units" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_source" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_workorderid" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_materialsSID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="MaterialCostID" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="Description" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="UnitsRequired" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="Cost" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="Source" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="WarningMessageText" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <XFORM_ATTR ATTR_NAME="ErrorMessageText" IS_USER_CREATED="false" FEAT_INDEX="0" />
#!     <OUTPUT_FEAT NAME="&lt;REJECTED&gt;"/>
#!     <FEAT_COLLAPSED COLLAPSED="1"/>
#!     <XFORM_ATTR ATTR_NAME="_authentication" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_instance" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_request_params" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_units" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_source" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_workorderid" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_materialsSID" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="fme_rejection_code" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="MaterialCostID" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="Description" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="UnitsRequired" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="Cost" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="Source" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="WarningMessageText" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_ATTR ATTR_NAME="ErrorMessageText" IS_USER_CREATED="false" FEAT_INDEX="1" />
#!     <XFORM_PARM PARM_NAME="EXTRACT_QUERY_TABLE" PARM_VALUE="MaterialCostID json&lt;openbracket&gt;&lt;quote&gt;Value&lt;quote&gt;&lt;closebracket&gt;&lt;openbracket&gt;0&lt;closebracket&gt;&lt;openbracket&gt;&lt;quote&gt;MaterialCostId&lt;quote&gt;&lt;closebracket&gt; Description json&lt;openbracket&gt;&lt;quote&gt;Value&lt;quote&gt;&lt;closebracket&gt;&lt;openbracket&gt;0&lt;closebracket&gt;&lt;openbracket&gt;&lt;quote&gt;Description&lt;quote&gt;&lt;closebracket&gt; UnitsRequired json&lt;openbracket&gt;&lt;quote&gt;Value&lt;quote&gt;&lt;closebracket&gt;&lt;openbracket&gt;0&lt;closebracket&gt;&lt;openbracket&gt;&lt;quote&gt;UnitsRequired&lt;quote&gt;&lt;closebracket&gt; Cost json&lt;openbracket&gt;&lt;quote&gt;Value&lt;quote&gt;&lt;closebracket&gt;&lt;openbracket&gt;0&lt;closebracket&gt;&lt;openbracket&gt;&lt;quote&gt;Cost&lt;quote&gt;&lt;closebracket&gt; Source json&lt;openbracket&gt;&lt;quote&gt;Value&lt;quote&gt;&lt;closebracket&gt;&lt;openbracket&gt;0&lt;closebracket&gt;&lt;openbracket&gt;&lt;quote&gt;Source&lt;quote&gt;&lt;closebracket&gt; WarningMessageText json&lt;openbracket&gt;&lt;quote&gt;WarningMessages&lt;quote&gt;&lt;closebracket&gt;&lt;openbracket&gt;0&lt;closebracket&gt;&lt;openbracket&gt;&lt;quote&gt;DisplayText&lt;quote&gt;&lt;closebracket&gt; ErrorMessageText json&lt;openbracket&gt;&lt;quote&gt;ErrorMessages&lt;quote&gt;&lt;closebracket&gt;&lt;openbracket&gt;0&lt;closebracket&gt;&lt;openbracket&gt;&lt;quote&gt;DisplayText&lt;quote&gt;&lt;closebracket&gt;"/>
#!     <XFORM_PARM PARM_NAME="FILEPATH_OR_URL" PARM_VALUE="&lt;Unused&gt;"/>
#!     <XFORM_PARM PARM_NAME="INPUT_SETTINGS_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="JSON_DOCUMENT" PARM_VALUE="&lt;at&gt;Value&lt;openparen&gt;_response_body&lt;closeparen&gt;"/>
#!     <XFORM_PARM PARM_NAME="QUERY_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="READ_FROM_FILE" PARM_VALUE="NO"/>
#!     <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/>
#!     <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="JSONExtractor"/>
#! </TRANSFORMER>
#! </TRANSFORMERS>
#! <SUBDOCUMENT_IOS>
#! <SUBDOCUMENT_IO
#!   IDENTIFIER="2"
#!   NAME="Input"
#!   POSITION="-2787.4062776691849 255.48844512360665"
#!   BOUNDING_RECT="-2787.4062776691849 255.48844512360665 430 71"
#!   COLLAPSED="true"
#!   PUBLISHED="true"
#!   IS_SOURCE="true"
#!   ATTR_MODE="0"
#! >
#! </SUBDOCUMENT_IO>
#! <SUBDOCUMENT_IO
#!   IDENTIFIER="3"
#!   NAME="Output"
#!   POSITION="1467.6047603503307 186.22600994986016"
#!   BOUNDING_RECT="1467.6047603503307 186.22600994986016 454 71"
#!   COLLAPSED="true"
#!   IS_SOURCE="false"
#!   ATTR_MODE="0"
#! >
#! </SUBDOCUMENT_IO>
#! <SUBDOCUMENT_IO
#!   IDENTIFIER="4"
#!   NAME="&lt;Rejected&gt;"
#!   POSITION="1467.6047603503307 -262.9172788936641"
#!   BOUNDING_RECT="1467.6047603503307 -262.9172788936641 454 71"
#!   COLLAPSED="true"
#!   IS_SOURCE="false"
#!   ATTR_MODE="1"
#! >
#!     <XFORM_ATTR ATTR_NAME="_authentication" ATTR_TYPE="buffer" />
#!     <XFORM_ATTR ATTR_NAME="_http_status_code" ATTR_TYPE="buffer" />
#!     <XFORM_ATTR ATTR_NAME="_instance" ATTR_TYPE="buffer" />
#!     <XFORM_ATTR ATTR_NAME="_materialsSID" ATTR_TYPE="buffer" />
#!     <XFORM_ATTR ATTR_NAME="_request_params" ATTR_TYPE="buffer" />
#!     <XFORM_ATTR ATTR_NAME="_response_body" ATTR_TYPE="varchar(200)" />
#!     <XFORM_ATTR ATTR_NAME="_source" ATTR_TYPE="buffer" />
#!     <XFORM_ATTR ATTR_NAME="_units" ATTR_TYPE="buffer" />
#!     <XFORM_ATTR ATTR_NAME="_workorderid" ATTR_TYPE="buffer" />
#!     <XFORM_ATTR ATTR_NAME="ErrorMessageText" ATTR_TYPE="varchar(200)" />
#!     <XFORM_ATTR ATTR_NAME="GenericErrorMessage" ATTR_TYPE="varchar(200)" />
#!     <XFORM_ATTR ATTR_NAME="WarningMessageText" ATTR_TYPE="varchar(200)" />
#! </SUBDOCUMENT_IO>
#! </SUBDOCUMENT_IOS>
#! <FEAT_LINKS>
#! <FEAT_LINK
#!   IDENTIFIER="12"
#!   SOURCE_NODE="2"
#!   TARGET_NODE="5"
#!   SOURCE_PORT_DESC="0"
#!   TARGET_PORT_DESC="fi 0 "
#!   ENABLED="true"
#!   EXECUTION_IDX="0"
#!   HIDDEN="false"
#!   COLOUR="0,0,0,1"
#!   PEN_WIDTH="4"
#!   PEN_STYLE="1"
#!   LINK_STYLE_NAME="&lt;Default&gt;"
#!   EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#!   IDENTIFIER="13"
#!   SOURCE_NODE="5"
#!   TARGET_NODE="6"
#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
#!   TARGET_PORT_DESC="fi 0 "
#!   ENABLED="true"
#!   EXECUTION_IDX="0"
#!   HIDDEN="false"
#!   COLOUR="0,0,0,1"
#!   PEN_WIDTH="4"
#!   PEN_STYLE="1"
#!   LINK_STYLE_NAME="&lt;Default&gt;"
#!   EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#!   IDENTIFIER="14"
#!   SOURCE_NODE="6"
#!   TARGET_NODE="7"
#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
#!   TARGET_PORT_DESC="fi 0 "
#!   ENABLED="true"
#!   EXECUTION_IDX="0"
#!   HIDDEN="false"
#!   COLOUR="0,0,0,1"
#!   PEN_WIDTH="4"
#!   PEN_STYLE="1"
#!   LINK_STYLE_NAME="&lt;Default&gt;"
#!   EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#!   IDENTIFIER="15"
#!   SOURCE_NODE="7"
#!   TARGET_NODE="8"
#!   SOURCE_PORT_DESC="fo 0 Output"
#!   TARGET_PORT_DESC="fi 0 "
#!   ENABLED="true"
#!   EXECUTION_IDX="0"
#!   HIDDEN="false"
#!   COLOUR="0,0,0,1"
#!   PEN_WIDTH="4"
#!   PEN_STYLE="1"
#!   LINK_STYLE_NAME="&lt;Default&gt;"
#!   EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#!   IDENTIFIER="16"
#!   SOURCE_NODE="8"
#!   TARGET_NODE="9"
#!   SOURCE_PORT_DESC="fo 1 PASSED"
#!   TARGET_PORT_DESC="fi 0 "
#!   ENABLED="true"
#!   EXECUTION_IDX="0"
#!   HIDDEN="false"
#!   COLOUR="0,0,0,1"
#!   PEN_WIDTH="4"
#!   PEN_STYLE="1"
#!   LINK_STYLE_NAME="&lt;Default&gt;"
#!   EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#!   IDENTIFIER="17"
#!   SOURCE_NODE="9"
#!   TARGET_NODE="4"
#!   SOURCE_PORT_DESC="fo 0 OUTPUT"
#!   TARGET_PORT_DESC="0"
#!   ENABLED="true"
#!   EXECUTION_IDX="0"
#!   HIDDEN="true"
#!   COLOUR="0,0,0,1"
#!   PEN_WIDTH="4"
#!   PEN_STYLE="1"
#!   LINK_STYLE_NAME="&lt;Default&gt;"
#!   EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#!   IDENTIFIER="18"
#!   SOURCE_NODE="10"
#!   TARGET_NODE="4"
#!   SOURCE_PORT_DESC="fo 1 PASSED"
#!   TARGET_PORT_DESC="0"
#!   ENABLED="true"
#!   EXECUTION_IDX="0"
#!   HIDDEN="false"
#!   COLOUR="0,0,0,1"
#!   PEN_WIDTH="4"
#!   PEN_STYLE="1"
#!   LINK_STYLE_NAME="&lt;Default&gt;"
#!   EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#!   IDENTIFIER="19"
#!   SOURCE_NODE="11"
#!   TARGET_NODE="10"
#!   SOURCE_PORT_DESC="fo 0 EVALUATED"
#!   TARGET_PORT_DESC="fi 0 "
#!   ENABLED="true"
#!   EXECUTION_IDX="0"
#!   HIDDEN="false"
#!   COLOUR="0,0,0,1"
#!   PEN_WIDTH="4"
#!   PEN_STYLE="1"
#!   LINK_STYLE_NAME="&lt;Default&gt;"
#!   EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#!   IDENTIFIER="20"
#!   SOURCE_NODE="7"
#!   TARGET_NODE="4"
#!   SOURCE_PORT_DESC="fo 1 &lt;lt&gt;REJECTED&lt;gt&gt;"
#!   TARGET_PORT_DESC="0"
#!   ENABLED="true"
#!   EXECUTION_IDX="0"
#!   HIDDEN="true"
#!   COLOUR="0,0,0,1"
#!   PEN_WIDTH="4"
#!   PEN_STYLE="1"
#!   LINK_STYLE_NAME="&lt;Default&gt;"
#!   EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#!   IDENTIFIER="21"
#!   SOURCE_NODE="8"
#!   TARGET_NODE="11"
#!   SOURCE_PORT_DESC="fo 0 FAILED"
#!   TARGET_PORT_DESC="fi 0 "
#!   ENABLED="true"
#!   EXECUTION_IDX="0"
#!   HIDDEN="false"
#!   COLOUR="0,0,0,1"
#!   PEN_WIDTH="4"
#!   PEN_STYLE="1"
#!   LINK_STYLE_NAME="&lt;Default&gt;"
#!   EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#!   IDENTIFIER="22"
#!   SOURCE_NODE="10"
#!   TARGET_NODE="3"
#!   SOURCE_PORT_DESC="fo 0 FAILED"
#!   TARGET_PORT_DESC="0"
#!   ENABLED="true"
#!   EXECUTION_IDX="0"
#!   HIDDEN="false"
#!   COLOUR="0,0,0,1"
#!   PEN_WIDTH="4"
#!   PEN_STYLE="1"
#!   LINK_STYLE_NAME="&lt;Default&gt;"
#!   EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#!   IDENTIFIER="23"
#!   SOURCE_NODE="11"
#!   TARGET_NODE="4"
#!   SOURCE_PORT_DESC="fo 1 &lt;lt&gt;REJECTED&lt;gt&gt;"
#!   TARGET_PORT_DESC="0"
#!   ENABLED="true"
#!   EXECUTION_IDX="0"
#!   HIDDEN="true"
#!   COLOUR="0,0,0,1"
#!   PEN_WIDTH="4"
#!   PEN_STYLE="1"
#!   LINK_STYLE_NAME="&lt;Default&gt;"
#!   EXTRA_POINTS=""
#! />
#! </FEAT_LINKS>
#! <BREAKPOINTS>
#! </BREAKPOINTS>
#! <ATTR_LINKS>
#! </ATTR_LINKS>
#! </SUBDOCUMENT>
#! </SUBDOCUMENTS>
#! <LOOKUP_TABLES>
#! </LOOKUP_TABLES>
#! </WORKSPACE>

FME_PYTHON_VERSION 37
GUI IGNORE DestDataset_HTML_1
DEFAULT_MACRO workorderid 134681
GUI TEXT workorderid Work Order ID:
DEFAULT_MACRO Date 20200618
GUI DATE Date "{}" Date:
DEFAULT_MACRO contractor 1022
GUI LOOKUP_CHOICE contractor Road<space>Runner<space>Inc.,11320%Lizard<space>Concrete<space>Repair,1022%Zipster<space>Paving<space>Company,1021%A1<space>Asphalt,11349 Choose a Contractor:
DEFAULT_MACRO hours 6
GUI CHOICE hours 1%2%3%4%5%6%7%8 Hours of Work (0-100):
DEFAULT_MACRO material 7642
GUI LOOKUP_CHOICE material Asphalt,17692%Concrete,7642%Pavement,2541 Material Used:
DEFAULT_MACRO status COMPLETE
GUI LOOKUP_CHOICE status Completed,COMPLETE Status:
DEFAULT_MACRO DestDataset_HTML /Users/alex.cebry/Downloads/complete.html
GUI FILENAME DestDataset_HTML HTML<space>Files(*.html)|*.html Destination Html File:
INCLUDE [ if {{$(workorderid)} == {}} { puts_real {Parameter 'workorderid' must be given a value.}; exit 1; }; ]
INCLUDE [ if {{$(Date)} == {}} { puts_real {Parameter 'Date' must be given a value.}; exit 1; }; ]
INCLUDE [ if {{$(contractor)} == {}} { puts_real {Parameter 'contractor' must be given a value.}; exit 1; }; ]
INCLUDE [ if {{$(hours)} == {}} { puts_real {Parameter 'hours' must be given a value.}; exit 1; }; ]
INCLUDE [ if {{$(material)} == {}} { puts_real {Parameter 'material' must be given a value.}; exit 1; }; ]
INCLUDE [ if {{$(status)} == {}} { puts_real {Parameter 'status' must be given a value.}; exit 1; }; ]
INCLUDE [ if {{$(DestDataset_HTML)} == {}} { puts_real {Parameter 'DestDataset_HTML' must be given a value.}; exit 1; }; ]
#! START_HEADER
#! START_WB_HEADER
READER_TYPE MULTI_READER
WRITER_TYPE MULTI_WRITER
MULTI_WRITER_DATASET_ORDER BY_ID
MULTI_WRITER_FIRST_WRITER_ID 0
MULTI_WRITER_TYPE{0} HTML
MULTI_WRITER_KEYWORD{0} HTML_1
#! END_WB_HEADER
#! START_WB_HEADER
MACRO WB_KEYWORD "HTML_1"
#! END_WB_HEADER
#! START_DEST_HEADER HTML HTML_1
# =====================================================================
# The following GUI line prompts for a folder to be used as the
# the destination for the TextLine files. The user input is stored in
# a macro, which is then used to define the dataset to be written.
#! END_DEST_HEADER
#! START_WB_HEADER
DEFAULT_MACRO DestDataset
INCLUDE [ if {"$(DestDataset)" != ""} {                          \
 puts {DEFAULT_MACRO DestDataset_HTML_1 $(DestDataset)}         \
 } ]
#! END_WB_HEADER
#! START_DEST_HEADER HTML HTML_1
DEFAULT_MACRO DestDataset_HTML_1 $(DestDataset_HTML)
GUI FILENAME DestDataset_HTML_1 HTML<space>Files(*.html)|*.html Destination Html File:
# =====================================================================
# The following GUI line prompts for the overwrite flag. The default is
# YES. Possible values are YES or NO. Any value other than NO or
# no is interpreted as YES.
DEFAULT_MACRO HTML_OUT_OVERWRITE_FILE_HTML_1 YES
HTML_1_OVERWRITE_FILE "$(HTML_OUT_OVERWRITE_FILE_HTML_1)"
# =====================================================================
# Set the type of encoding for the output files
# =====================================================================
# Set line termination character
DEFAULT_MACRO HTML_OUT_END_OF_LINE_HTML_1 System
HTML_1_END_OF_LINE "$(HTML_OUT_END_OF_LINE_HTML_1)"
# =====================================================================
# Set whether to write the last line termination character
DEFAULT_MACRO HTML_OUT_WRITE_LAST_EOL_HTML_1 YES
HTML_1_WRITE_LAST_EOL "$(HTML_OUT_WRITE_LAST_EOL_HTML_1)"
DEFAULT_MACRO HTML_OUT_ENCODING_HTML_1 UTF8
HTML_1_ENCODING "$(HTML_OUT_ENCODING_HTML_1)"
# =====================================================================
# The following GUI line prompts for the overwrite flag. The default is
# YES. Possible values are YES or NO. Any value other than NO or
# no is interpreted as YES.
DEFAULT_MACRO HTML_OUT_WRITE_UTF8_BOM_HTML_1 YES
HTML_1_WRITE_UTF8_BOM "$(HTML_OUT_WRITE_UTF8_BOM_HTML_1)"
# =====================================================================
# Set the mime type. Note -- it is actually only used inside of workspaces
# as a FORMAT_PARAMETER which even then is parsed only by the FME Server
# Repository Manager
DEFAULT_MACRO HTML_OUT_MIME_TYPE_HTML_1 text/html
HTML_1_MIME_TYPE "$(HTML_OUT_MIME_TYPE_HTML_1)"
# ============================================================================
# Opt in for destination dataset type vs format type validation
DEFAULT_MACRO HTML_OUT_DESTINATION_DATASETTYPE_VALIDATION_HTML_1 Yes
HTML_1_DESTINATION_DATASETTYPE_VALIDATION "$(HTML_OUT_DESTINATION_DATASETTYPE_VALIDATION_HTML_1)"
DEFAULT_MACRO HTML_OUT_COORDINATE_SYSTEM_GRANULARITY_HTML_1 FEATURE
HTML_1_COORDINATE_SYSTEM_GRANULARITY "$(HTML_OUT_COORDINATE_SYSTEM_GRANULARITY_HTML_1)"
# ============================================================================ 
HTML_1_GENERATE_FME_BUILD_NUM 20218
HTML_1_DATASET "$(DestDataset_HTML_1)"
#! END_DEST_HEADER
#! START_WB_HEADER
#! END_WB_HEADER
#! END_HEADER

LOG_FILENAME "$(FME_MF_DIR)ContractorApp.log"
LOG_APPEND NO
LOG_FILTER_MASK -1
LOG_MAX_FEATURES 200
LOG_MAX_RECORDED_FEATURES 200
FME_REPROJECTION_ENGINE FME
FME_IMPLICIT_CSMAP_REPROJECTION_MODE Auto
FME_GEOMETRY_HANDLING Enhanced
FME_STROKE_MAX_DEVIATION 0
DEFAULT_MACRO DATASET_KEYWORD_HTML_1 HTML_1
# -------------------------------------------------------------------------

MULTI_READER_CONTINUE_ON_READER_FAILURE No

# -------------------------------------------------------------------------

MACRO WORKSPACE_NAME ContractorApp
MACRO FME_VIEWER_APP fmedatainspector
DEFAULT_MACRO WB_CURRENT_CONTEXT
# -------------------------------------------------------------------------
Tcl2 proc Creator_CoordSysRemover {} {   global FME_CoordSys;   set FME_CoordSys {}; }
MACRO Creator_XML     NOT_ACTIVATED
MACRO Creator_CLASSIC NOT_ACTIVATED
MACRO Creator_2D3D    2D_GEOMETRY
MACRO Creator_COORDS  <Unused>
INCLUDE [ if { {Geometry Object} == {Geometry Object} } {            puts {MACRO Creator_XML *} } ]
INCLUDE [ if { {Geometry Object} == {2D Coordinate List} } {            puts {MACRO Creator_2D3D 2D_GEOMETRY};            puts {MACRO Creator_CLASSIC *} } ]
INCLUDE [ if { {Geometry Object} == {3D Coordinate List} } {            puts {MACRO Creator_2D3D 3D_GEOMETRY};            puts {MACRO Creator_CLASSIC *} } ]
INCLUDE [ if { {Geometry Object} == {2D Min/Max Box} } {            set comment {                We need to turn the COORDS which are                    minX minY maxX maxY                into a full polygon list of coordinates            };            set splitCoords [split [string trim {<Unused>}]];            if { [llength $splitCoords] > 4} {               set trimmedCoords {};               foreach item $splitCoords { if { $item != {} } {lappend trimmedCoords $item} };               set splitCoords $trimmedCoords;            };            if { [llength $splitCoords] != 4 } {                error {Creator: Coordinate list is expected to be a space delimited list of four numbers as 'minx miny maxx maxy' - `<Unused>' is invalid};            };            set minX [lindex $splitCoords 0];            set minY [lindex $splitCoords 1];            set maxX [lindex $splitCoords 2];            set maxY [lindex $splitCoords 3];            puts "MACRO Creator_COORDS $minX $minY $minX $maxY $maxX $maxY $maxX $minY $minX $minY";            puts {MACRO Creator_2D3D 2D_GEOMETRY};            puts {MACRO Creator_CLASSIC *} } ]
FACTORY_DEF $(Creator_XML) CreationFactory    FACTORY_NAME Creator_XML_Creator    CREATE_AT_END no    OUTPUT FEATURE_TYPE _____CREATED______        @Geometry(FROM_ENCODED_STRING,<lt>?xml<space>version=<quote>1.0<quote><space>encoding=<quote>US_ASCII<quote><space>standalone=<quote>no<quote><space>?<gt><lt>geometry<space>dimension=<quote>2<quote><gt><lt>null<solidus><gt><lt><solidus>geometry<gt>)
FACTORY_DEF $(Creator_CLASSIC) CreationFactory    FACTORY_NAME Creator_CLASSIC_Creator    $(Creator_2D3D) $(Creator_COORDS)    CREATE_AT_END no    OUTPUT FEATURE_TYPE _____CREATED______
FACTORY_DEF * TeeFactory    FACTORY_NAME Creator_Cloner    INPUT FEATURE_TYPE _____CREATED______        @Tcl2(Creator_CoordSysRemover)        @CoordSys()    NUMBER_OF_COPIES 1    COPY_NUMBER_ATTRIBUTE "_creation_instance"    OUTPUT FEATURE_TYPE Creator_CREATED        fme_feature_type Creator
FACTORY_DEF * BranchingFactory   FACTORY_NAME "Creator_CREATED Brancher -1 6"   INPUT FEATURE_TYPE Creator_CREATED   TARGET_FACTORY "$(WB_CURRENT_CONTEXT)_CREATOR_BRANCH_TARGET"   MAXIMUM_COUNT None   OUTPUT PASSED FEATURE_TYPE *
# -------------------------------------------------------------------------
FACTORY_DEF * TeeFactory   FACTORY_NAME "$(WB_CURRENT_CONTEXT)_CREATOR_BRANCH_TARGET"   INPUT FEATURE_TYPE *  OUTPUT FEATURE_TYPE *
# -------------------------------------------------------------------------
Tcl2 proc ParameterFetcher_doFetch {} {    foreach {name val} {"_contractor {$(contractor)} _hours {$(hours$encode)} _material {$(material)} _workorderid {$(workorderid$encode)} _status {$(status)} _Date {$(Date$encode)}"} {         if { [string match {*<at>*} $val] == 1 } {             set val [FME_Execute EvaluateExpression {STRING} $val {ParameterFetcher}];         } elseif {[string match {*FME_CONDITIONAL*} $val] == 1} {             set val [FME_Execute EvaluateExpression {STRING} $val {ParameterFetcher}];         } else {             set val [FME_DecodeTextOrAttr $val];         };       FME_SetAttribute [FME_DecodeText $name] $val    } }
FACTORY_DEF * TeeFactory    FACTORY_NAME ParameterFetcher    INPUT  FEATURE_TYPE Creator_CREATED    OUTPUT FEATURE_TYPE ParameterFetcher_OUTPUT         @Tcl2(ParameterFetcher_doFetch)
# -------------------------------------------------------------------------
DEFAULT_MACRO DateTimeConverter_EXPRESSION_LIST
INCLUDE [    set repairInput {};    if {{YES} eq {YES}} {       set repairInput "<comma>repair";    };    set inFormat {FME|ISO};    if { {} ne {} } {       set inFormat {};       if { [string first "<quote>" $inFormat] != -1 } {          set inFormat [string map {"<quote>" "<backslash><quote>"} $inFormat];       };    };    set outFormat {%Y-%m-%dT%H:%M:%S};    if { [string first "<quote>" $outFormat] != -1 } {       set outFormat [string map {"<quote>" "<backslash><quote>"} $outFormat];    };    set parmList {};    set attrs {_Date};    foreach attr $attrs {       lappend parmList $attr;       set funcAttr $attr;       if { [string first "<quote>" $attr] != -1 }       {          set funcAttr [string map {"<quote>" "<backslash><quote>"} $attr];          append funcAttr "<quote>";          set funcAttr "<quote>$funcAttr";       };       lappend parmList <at>DateTimeFormat<openparen><at>DateTimeParse<openparen><at>Value<openparen>$funcAttr<closeparen><comma><quote>$inFormat<quote>$repairInput<closeparen><comma><quote>$outFormat<quote><closeparen>;    };    puts "MACRO DateTimeConverter_EXPRESSION_LIST [join $parmList { }]"; ]
Tcl2 proc DateTimeConverter_e2a74335_d19d_4830_9a80_4189e13dbcd40_DateTimeConverter {} {    set attrs {_Date};    set decodedAttrs {};    set attrVals {};    set attrNulls {};    set attrMissings {};    foreach attr $attrs {       set decodedAttr [FME_DecodeText $attr];       lappend decodedAttrs $decodedAttr;       lappend attrVals [FME_GetAttribute $decodedAttr];       lappend attrNulls [FME_IsAttributeNull $decodedAttr];       lappend attrExists [FME_AttributeExists $decodedAttr];    };    FME_Execute EvaluateExpression ATTR_CREATE_EXPR_PROPAGATE_MISSING_FDIV $(DateTimeConverter_EXPRESSION_LIST) DateTimeConverter;    foreach attr $decodedAttrs oldAttrVal $attrVals oldAttrExists $attrExists oldAttrNull $attrNulls {       set newAttrVal [FME_GetAttribute $attr];       if {[string length $newAttrVal] == 0} {          if {{YES} eq {NO} || [string length $oldAttrVal] > 0} {             FME_SetAttribute fme_rejection_code "INVALID_INPUT";             break;          } elseif {!$oldAttrExists} {             FME_UnsetAttributes $attr;          } elseif {!$oldAttrNull} {             FME_SetAttribute $attr {};          };       }    }; }
FACTORY_DEF * TeeFactory    FACTORY_NAME DateTimeConverter_1    INPUT  FEATURE_TYPE ParameterFetcher_OUTPUT    OUTPUT FEATURE_TYPE ___TOREJECTOR___       @RenameAttributes(FME_STRICT, ___fme_rejection_code___,fme_rejection_code)       @Tcl2(DateTimeConverter_e2a74335_d19d_4830_9a80_4189e13dbcd40_DateTimeConverter)
FACTORY_DEF * TestFactory    FACTORY_NAME DateTimeConverter_Rejector    INPUT FEATURE_TYPE ___TOREJECTOR___    TEST @Value(fme_rejection_code) != ""    FEATURE_TABLE_SHIM_SUPPORT Yes    OUTPUT FAILED FEATURE_TYPE DateTimeConverter_OUTPUT       @RenameAttributes(FME_STRICT, fme_rejection_code,___fme_rejection_code___)
# -------------------------------------------------------------------------
FACTORY_DEF * TeeFactory   FACTORY_NAME "ContractorLabourCosts Input Input Collector"   INPUT FEATURE_TYPE DateTimeConverter_OUTPUT   OUTPUT FEATURE_TYPE ContractorLabourCosts_Input
MACRO CityworksContractorCosts_WORKSPACE_NAME ContractorLabourCosts
MACRO $(CityworksContractorCosts_WORKSPACE_NAME)_XFORMER_NAME ContractorLabourCosts
MACRO $(CityworksContractorCosts_WORKSPACE_NAME)_TRANSFORMER_GROUP 
MACRO $(CityworksContractorCosts_WORKSPACE_NAME)___COMPOUND_PARAMETERS 
MACRO $(CityworksContractorCosts_WORKSPACE_NAME)_SUB_DOC_NAME CityworksContractorCosts
MACRO $(CityworksContractorCosts_WORKSPACE_NAME)_authentication 
MACRO $(CityworksContractorCosts_WORKSPACE_NAME)_instance YOUR CITYWORKS INSTANCE HERE
MACRO $(CityworksContractorCosts_WORKSPACE_NAME)_workorderid @Value(_workorderid)
MACRO $(CityworksContractorCosts_WORKSPACE_NAME)_contractorID @Value(_contractor)
MACRO $(CityworksContractorCosts_WORKSPACE_NAME)_hours @Value(_hours)
MACRO $(CityworksContractorCosts_WORKSPACE_NAME)_description 
MACRO $(CityworksContractorCosts_WORKSPACE_NAME)_request_params "Estimated": false,
DEFAULT_MACRO CityworksContractorCosts_WORKSPACE_NAME ""
INCLUDE [puts {MACRO WB_OLD_CONTEXT_$(CityworksContractorCosts_WORKSPACE_NAME) $(WB_CURRENT_CONTEXT)};          puts {MACRO WB_CURRENT_CONTEXT $(CityworksContractorCosts_WORKSPACE_NAME)}]
FACTORY_DEF * TeeFactory   FACTORY_NAME "$(CityworksContractorCosts_WORKSPACE_NAME)_Input1594920028 Input Splitter"   INPUT FEATURE_TYPE "$(CityworksContractorCosts_WORKSPACE_NAME)_Input"   OUTPUT FEATURE_TYPE "$(CityworksContractorCosts_WORKSPACE_NAME)_Input"
# -------------------------------------------------------------------------
Tcl2 proc $(CityworksContractorCosts_WORKSPACE_NAME)_ParameterFetcher_doFetch {} {    foreach {name val} {"_authentication {$($(CityworksContractorCosts_WORKSPACE_NAME)_authentication$encode)} _instance {$($(CityworksContractorCosts_WORKSPACE_NAME)_instance$encode)} _workorderid {$($(CityworksContractorCosts_WORKSPACE_NAME)_workorderid$encode)} _contractorID {$($(CityworksContractorCosts_WORKSPACE_NAME)_contractorID$encode)} _hours {$($(CityworksContractorCosts_WORKSPACE_NAME)_hours$encode)} _description {$($(CityworksContractorCosts_WORKSPACE_NAME)_description)} _request_params {$($(CityworksContractorCosts_WORKSPACE_NAME)_request_params$encode)}"} {         if { [string match {*<at>*} $val] == 1 } {             set val [FME_Execute EvaluateExpression {STRING} $val {$(CityworksContractorCosts_WORKSPACE_NAME)_ParameterFetcher}];         } elseif {[string match {*FME_CONDITIONAL*} $val] == 1} {             set val [FME_Execute EvaluateExpression {STRING} $val {$(CityworksContractorCosts_WORKSPACE_NAME)_ParameterFetcher}];         } else {             set val [FME_DecodeTextOrAttr $val];         };       FME_SetAttribute [FME_DecodeText $name] $val    } }
FACTORY_DEF * TeeFactory    FACTORY_NAME $(CityworksContractorCosts_WORKSPACE_NAME)_ParameterFetcher    INPUT  FEATURE_TYPE "$(CityworksContractorCosts_WORKSPACE_NAME)_Input"    OUTPUT FEATURE_TYPE "$(CityworksContractorCosts_WORKSPACE_NAME)_ParameterFetcher_OUTPUT"         @Tcl2($(CityworksContractorCosts_WORKSPACE_NAME)_ParameterFetcher_doFetch)
# -------------------------------------------------------------------------
FACTORY_DEF {*} AttrSetFactory    COMMAND_PARM_EVALUATION SINGLE_PASS    FACTORY_NAME $(CityworksContractorCosts_WORKSPACE_NAME)_AttributeManager_2    INPUT  FEATURE_TYPE "$(CityworksContractorCosts_WORKSPACE_NAME)_ParameterFetcher_OUTPUT"    MULTI_FEATURE_MODE NO     NULL_ATTR_MODE NO_OP     ATTRSET_CREATE_DIRECTIVES _PROPAGATE_MISSING_FDIV    ACTION_COLUMN 3    DEF_VAL_COLUMN 2    ATTR_ACTION { "_description" "_description" "FME_CONDITIONAL:DEFAULT_VALUE'FME_NULL_VALUE'BOOL_OP;OR;COMPOSITE_TEST;1;TEST _description ATTRIBUTE_HAS_A_VALUE _FME_BLANK_STRING_'<quote>Description<quote>:<space><quote><at>Value<openparen>_description<closeparen><quote><comma>'FME_NUM_CONDITIONS2___" "SET_TO" }    OUTPUT OUTPUT FEATURE_TYPE "$(CityworksContractorCosts_WORKSPACE_NAME)_AttributeManager_2_OUTPUT"
# -------------------------------------------------------------------------
FACTORY_DEF * HTTPFactory    FACTORY_NAME $(CityworksContractorCosts_WORKSPACE_NAME)_HTTPCaller       INPUT  FEATURE_TYPE "$(CityworksContractorCosts_WORKSPACE_NAME)_AttributeManager_2_OUTPUT"    TARGET_URL "@EvaluateExpression(FDIV,STRING_ENCODED,<at>Value<openparen>_instance<closeparen><solidus>services<solidus>Ams<solidus>LaborCost<solidus>AddWorkOrderCosts?,$(CityworksContractorCosts_WORKSPACE_NAME)_HTTPCaller)"    HTTP_METHOD GET    SAVE_FILE NO    OUTPUT_FILENAME "<Unused>"    OUTPUT_DIRECTORY "<Unused>"    FILE_EXTENSION "<Unused>"    TARGET_ATTR "_response_body"    FILE_PATH_ATTR "<Unused>"    UPLOAD_FILE "<Unused>"    UPLOAD_BODY "<Unused>"    MULTIPART_UPLOAD <Unused>    UPLOAD_CONTENT_TYPE "<Unused>"    COMBINED_MULTIPART_TABLE    REQUEST_HEADER_TABLE    ADDITIONAL_URL_PARAMETERS data;@EvaluateExpression(FDIV,STRING_ENCODED,<opencurly><at>Value<openparen>_request_params<closeparen><space><at>Value<openparen>_description<closeparen><space><quote>WorkOrderId<quote>:<space><at>Value<openparen>_workorderid<closeparen><comma><space><quote>Hours<quote>:<space><at>Value<openparen>_hours<closeparen><comma><space><space><quote>ContractorSids<quote>:<space><openbracket><at>Value<openparen>_contractorID<closeparen><closebracket><closecurly>,$(CityworksContractorCosts_WORKSPACE_NAME)_HTTPCaller)    AUTH_USERNAME "<Unused>"    AUTH_PASSWORD "<Unused>"    AUTH_METHOD "NC"    TARGET_ATTRIBUTE_ENCODING auto-detect    RESPONSE_HEADER_LIST_ATTR ""    STATUS_CODE_ATTR "_http_status_code"    ERROR_ATTR "_error"    CONNECTION_TIMEOUT_LENGTH 60    TRANSFER_TIMEOUT_LENGTH 90    FOLLOW_REDIRECTS FOLLOW_WITH_GET    REDIRECT_AUTH ORIGINAL_DOMAIN_ONLY    VERIFY_SSL_CERTIFICATES Yes    NAMED_CONNECTION "@EvaluateExpression(FDIV,STRING_ENCODED,<at>Value<openparen>_authentication<closeparen>,$(CityworksContractorCosts_WORKSPACE_NAME)_HTTPCaller)"    USE_COOKIES No    OUTPUT OUTPUT FEATURE_TYPE "$(CityworksContractorCosts_WORKSPACE_NAME)_HTTPCaller_Output"    OUTPUT REJECTED FEATURE_TYPE "$(CityworksContractorCosts_WORKSPACE_NAME)_HTTPCaller_<REJECTED>"
# -------------------------------------------------------------------------
FACTORY_DEF * TestFactory    FACTORY_NAME $(CityworksContractorCosts_WORKSPACE_NAME)_Tester    INPUT  FEATURE_TYPE "$(CityworksContractorCosts_WORKSPACE_NAME)_HTTPCaller_Output"    CASE_INSENSITIVE_TEST "@EvaluateExpression(FDIV,STRING_ENCODED,<at>Value<openparen>_response_body<closeparen>,$(CityworksContractorCosts_WORKSPACE_NAME)_Tester)" BEGINS_WITH <lt>!DOCTYPE<space>HTML<gt> ENCODED    BOOLEAN_OPERATOR OR    COMPOSITE_TEST_EXPR "1"    FEATURE_TABLE_SHIM_SUPPORT Yes    PRESERVE_FEATURE_ORDER PER_OUTPUT_PORT    OUTPUT PASSED FEATURE_TYPE "$(CityworksContractorCosts_WORKSPACE_NAME)_Tester_PASSED"    OUTPUT FAILED FEATURE_TYPE "$(CityworksContractorCosts_WORKSPACE_NAME)_Tester_FAILED"
# -------------------------------------------------------------------------
FACTORY_DEF {*} AttrSetFactory    FACTORY_NAME $(CityworksContractorCosts_WORKSPACE_NAME)_AttributeCreator    COMMAND_PARM_EVALUATION SINGLE_PASS    INPUT  FEATURE_TYPE "$(CityworksContractorCosts_WORKSPACE_NAME)_Tester_PASSED"    MULTI_FEATURE_MODE NO    NULL_ATTR_MODE NO_OP     ATTRSET_CREATE_DIRECTIVES _PROPAGATE_MISSING_FDIV     ATTR_ACTION { "" "GenericErrorMessage" "SET_TO" "Bad<space>Or<space>Incomplete<space>Request" }    OUTPUT OUTPUT FEATURE_TYPE "$(CityworksContractorCosts_WORKSPACE_NAME)_AttributeCreator_OUTPUT"
# -------------------------------------------------------------------------
FACTORY_DEF * JSONQueryFactory    FACTORY_NAME $(CityworksContractorCosts_WORKSPACE_NAME)_JSONExtractor    INPUT  FEATURE_TYPE "$(CityworksContractorCosts_WORKSPACE_NAME)_Tester_FAILED"    MODE EXTRACT    JSON_DOCUMENT "@EvaluateExpression(FDIV,STRING_ENCODED,<at>Value<openparen>_response_body<closeparen>,$(CityworksContractorCosts_WORKSPACE_NAME)_JSONExtractor)"    READ_FROM_FILE NO    FILEPATH_OR_URL "<Unused>"    QUERIES LaborCostID json<openbracket><quote>Value<quote><closebracket><openbracket>0<closebracket><openbracket><quote>LaborCostId<quote><closebracket> Description json<openbracket><quote>Value<quote><closebracket><openbracket>0<closebracket><openbracket><quote>Description<quote><closebracket> Cost json<openbracket><quote>Value<quote><closebracket><openbracket>0<closebracket><openbracket><quote>Cost<quote><closebracket> LaborName json<openbracket><quote>Value<quote><closebracket><openbracket>0<closebracket><openbracket><quote>LaborName<quote><closebracket> ContractorNumber json<openbracket><quote>Value<quote><closebracket><openbracket>0<closebracket><openbracket><quote>ContractorNumber<quote><closebracket> WarningMessageText json<openbracket><quote>WarningMessages<quote><closebracket><openbracket>0<closebracket><openbracket><quote>DisplayText<quote><closebracket> ErrorMessageText json<openbracket><quote>ErrorMessages<quote><closebracket><openbracket>0<closebracket><openbracket><quote>DisplayText<quote><closebracket>    OUTPUT EVALUATED FEATURE_TYPE "$(CityworksContractorCosts_WORKSPACE_NAME)_JSONExtractor_EVALUATED"    OUTPUT REJECTED FEATURE_TYPE "$(CityworksContractorCosts_WORKSPACE_NAME)_JSONExtractor_<REJECTED>"
# -------------------------------------------------------------------------
FACTORY_DEF * TestFactory    FACTORY_NAME $(CityworksContractorCosts_WORKSPACE_NAME)_Tester_2    INPUT  FEATURE_TYPE "$(CityworksContractorCosts_WORKSPACE_NAME)_JSONExtractor_EVALUATED"    TEST WarningMessageText ATTRIBUTE_HAS_A_VALUE "" ENCODED TEST ErrorMessageText ATTRIBUTE_HAS_A_VALUE "" ENCODED    BOOLEAN_OPERATOR OR    COMPOSITE_TEST_EXPR "1 OR 2"    FEATURE_TABLE_SHIM_SUPPORT Yes    PRESERVE_FEATURE_ORDER PER_OUTPUT_PORT    OUTPUT PASSED FEATURE_TYPE "$(CityworksContractorCosts_WORKSPACE_NAME)_Tester_2_PASSED"    OUTPUT FAILED FEATURE_TYPE "$(CityworksContractorCosts_WORKSPACE_NAME)_Tester_2_FAILED"
FACTORY_DEF * TeeFactory   FACTORY_NAME "$(CityworksContractorCosts_WORKSPACE_NAME)_Output1594920028 Output Collector"   INPUT FEATURE_TYPE "$(CityworksContractorCosts_WORKSPACE_NAME)_Tester_2_FAILED"   OUTPUT FEATURE_TYPE "$(CityworksContractorCosts_WORKSPACE_NAME)_Output" @RemoveAttributes(WarningMessageText,ErrorMessageText)
FACTORY_DEF * TeeFactory   FACTORY_NAME "$(CityworksContractorCosts_WORKSPACE_NAME)_<Rejected>1594920028 Output Collector"   INPUT FEATURE_TYPE "$(CityworksContractorCosts_WORKSPACE_NAME)_AttributeCreator_OUTPUT"   INPUT FEATURE_TYPE "$(CityworksContractorCosts_WORKSPACE_NAME)_Tester_2_PASSED"   INPUT FEATURE_TYPE "$(CityworksContractorCosts_WORKSPACE_NAME)_HTTPCaller_<REJECTED>"   INPUT FEATURE_TYPE "$(CityworksContractorCosts_WORKSPACE_NAME)_JSONExtractor_<REJECTED>"   OUTPUT FEATURE_TYPE "$(CityworksContractorCosts_WORKSPACE_NAME)_<Rejected>" @RemoveAttributes(fme_rejection_code,LaborCostID,Description,Cost,LaborName,ContractorNumber,_error)
INCLUDE [puts {MACRO WB_CURRENT_CONTEXT $(WB_OLD_CONTEXT_$(CityworksContractorCosts_WORKSPACE_NAME))}]
FACTORY_DEF * TeeFactory   FACTORY_NAME "ContractorLabourCosts Output Output Renamer/Nuker"   INPUT FEATURE_TYPE ContractorLabourCosts_Output   OUTPUT FEATURE_TYPE ContractorLabourCosts_Output
FACTORY_DEF * TeeFactory   FACTORY_NAME "ContractorLabourCosts <Rejected> Output Renamer/Nuker"   INPUT FEATURE_TYPE ContractorLabourCosts_<Rejected>
# -------------------------------------------------------------------------
FACTORY_DEF {*} AttrSetFactory    COMMAND_PARM_EVALUATION SINGLE_PASS    FACTORY_NAME AttributeRenamer    INPUT  FEATURE_TYPE ContractorLabourCosts_Output 	 ATTRSET_CREATE_DIRECTIVES _PROPAGATE_MISSING_FDIV 	 ATTR_ACTION { "Cost" "LabourCost" "RENAME_SET_DEFAULT" "" }    OUTPUT OUTPUT FEATURE_TYPE AttributeRenamer_OUTPUT
# -------------------------------------------------------------------------
FACTORY_DEF * TeeFactory   FACTORY_NAME "CityworksMaterialCosts Input Input Collector"   INPUT FEATURE_TYPE AttributeRenamer_OUTPUT   OUTPUT FEATURE_TYPE CityworksMaterialCosts_Input
MACRO CityworksMaterialCosts_WORKSPACE_NAME CityworksMaterialCosts
MACRO $(CityworksMaterialCosts_WORKSPACE_NAME)_XFORMER_NAME CityworksMaterialCosts
MACRO $(CityworksMaterialCosts_WORKSPACE_NAME)_TRANSFORMER_GROUP 
MACRO $(CityworksMaterialCosts_WORKSPACE_NAME)___COMPOUND_PARAMETERS 
MACRO $(CityworksMaterialCosts_WORKSPACE_NAME)_SUB_DOC_NAME CityworksMaterialCosts
MACRO $(CityworksMaterialCosts_WORKSPACE_NAME)_authentication 
MACRO $(CityworksMaterialCosts_WORKSPACE_NAME)_instance YOUR CITYWORKS INSTANCE HERE
MACRO $(CityworksMaterialCosts_WORKSPACE_NAME)_workorderid @Value(_workorderid)
MACRO $(CityworksMaterialCosts_WORKSPACE_NAME)_materialsSID @Value(_material)
MACRO $(CityworksMaterialCosts_WORKSPACE_NAME)_units @Value(_hours)
MACRO $(CityworksMaterialCosts_WORKSPACE_NAME)_source MAIN
MACRO $(CityworksMaterialCosts_WORKSPACE_NAME)_request_params "Estimated": false,
DEFAULT_MACRO CityworksMaterialCosts_WORKSPACE_NAME ""
INCLUDE [puts {MACRO WB_OLD_CONTEXT_$(CityworksMaterialCosts_WORKSPACE_NAME) $(WB_CURRENT_CONTEXT)};          puts {MACRO WB_CURRENT_CONTEXT $(CityworksMaterialCosts_WORKSPACE_NAME)}]
FACTORY_DEF * TeeFactory   FACTORY_NAME "$(CityworksMaterialCosts_WORKSPACE_NAME)_Input1594920028 Input Splitter"   INPUT FEATURE_TYPE "$(CityworksMaterialCosts_WORKSPACE_NAME)_Input"   OUTPUT FEATURE_TYPE "$(CityworksMaterialCosts_WORKSPACE_NAME)_Input"
# -------------------------------------------------------------------------
Tcl2 proc $(CityworksMaterialCosts_WORKSPACE_NAME)_ParameterFetcher_doFetch {} {    foreach {name val} {"_authentication {$($(CityworksMaterialCosts_WORKSPACE_NAME)_authentication$encode)} _instance {$($(CityworksMaterialCosts_WORKSPACE_NAME)_instance$encode)} _materialsSID {$($(CityworksMaterialCosts_WORKSPACE_NAME)_materialsSID$encode)} _source {$($(CityworksMaterialCosts_WORKSPACE_NAME)_source$encode)} _units {$($(CityworksMaterialCosts_WORKSPACE_NAME)_units$encode)} _request_params {$($(CityworksMaterialCosts_WORKSPACE_NAME)_request_params$encode)} _workorderid {$($(CityworksMaterialCosts_WORKSPACE_NAME)_workorderid$encode)}"} {         if { [string match {*<at>*} $val] == 1 } {             set val [FME_Execute EvaluateExpression {STRING} $val {$(CityworksMaterialCosts_WORKSPACE_NAME)_ParameterFetcher}];         } elseif {[string match {*FME_CONDITIONAL*} $val] == 1} {             set val [FME_Execute EvaluateExpression {STRING} $val {$(CityworksMaterialCosts_WORKSPACE_NAME)_ParameterFetcher}];         } else {             set val [FME_DecodeTextOrAttr $val];         };       FME_SetAttribute [FME_DecodeText $name] $val    } }
FACTORY_DEF * TeeFactory    FACTORY_NAME $(CityworksMaterialCosts_WORKSPACE_NAME)_ParameterFetcher    INPUT  FEATURE_TYPE "$(CityworksMaterialCosts_WORKSPACE_NAME)_Input"    OUTPUT FEATURE_TYPE "$(CityworksMaterialCosts_WORKSPACE_NAME)_ParameterFetcher_OUTPUT"         @Tcl2($(CityworksMaterialCosts_WORKSPACE_NAME)_ParameterFetcher_doFetch)
# -------------------------------------------------------------------------
FACTORY_DEF {*} AttrSetFactory    COMMAND_PARM_EVALUATION SINGLE_PASS    FACTORY_NAME $(CityworksMaterialCosts_WORKSPACE_NAME)_AttributeManager_2    INPUT  FEATURE_TYPE "$(CityworksMaterialCosts_WORKSPACE_NAME)_ParameterFetcher_OUTPUT"    MULTI_FEATURE_MODE NO     NULL_ATTR_MODE NO_OP     ATTRSET_CREATE_DIRECTIVES _PROPAGATE_MISSING_FDIV    ACTION_COLUMN 3    DEF_VAL_COLUMN 2    ATTR_ACTION { "_source" "_source" "FME_CONDITIONAL:DEFAULT_VALUE'FME_NULL_VALUE'BOOL_OP;OR;COMPOSITE_TEST;1;TEST _source ATTRIBUTE_HAS_A_VALUE _FME_BLANK_STRING_'<quote>Source<quote>:<space><quote><at>Value<openparen>_source<closeparen><quote><comma>'FME_NUM_CONDITIONS2___" "SET_TO" }    OUTPUT OUTPUT FEATURE_TYPE "$(CityworksMaterialCosts_WORKSPACE_NAME)_AttributeManager_2_OUTPUT"
# -------------------------------------------------------------------------
FACTORY_DEF * HTTPFactory    FACTORY_NAME $(CityworksMaterialCosts_WORKSPACE_NAME)_HTTPCaller       INPUT  FEATURE_TYPE "$(CityworksMaterialCosts_WORKSPACE_NAME)_AttributeManager_2_OUTPUT"    TARGET_URL "@EvaluateExpression(FDIV,STRING_ENCODED,<at>Value<openparen>_instance<closeparen><solidus>services<solidus>Ams<solidus>MaterialCost<solidus>AddWorkOrderCosts?,$(CityworksMaterialCosts_WORKSPACE_NAME)_HTTPCaller)"    HTTP_METHOD GET    SAVE_FILE NO    OUTPUT_FILENAME "<Unused>"    OUTPUT_DIRECTORY "<Unused>"    FILE_EXTENSION "<Unused>"    TARGET_ATTR "_response_body"    FILE_PATH_ATTR "<Unused>"    UPLOAD_FILE "<Unused>"    UPLOAD_BODY "<Unused>"    MULTIPART_UPLOAD <Unused>    UPLOAD_CONTENT_TYPE "<Unused>"    COMBINED_MULTIPART_TABLE    REQUEST_HEADER_TABLE    ADDITIONAL_URL_PARAMETERS data;@EvaluateExpression(FDIV,STRING_ENCODED,<opencurly><at>Value<openparen>_request_params<closeparen><space><at>Value<openparen>_source<closeparen><space><quote>WorkOrderId<quote>:<space><quote><at>Value<openparen>_workorderid<closeparen><quote><comma><space><quote>MaterialSids<quote>:<space><openbracket><at>Value<openparen>_materialsSID<closeparen><closebracket><comma><space><space><quote>Units<quote>:<space><at>Value<openparen>_units<closeparen><closecurly>,$(CityworksMaterialCosts_WORKSPACE_NAME)_HTTPCaller)    AUTH_USERNAME "<Unused>"    AUTH_PASSWORD "<Unused>"    AUTH_METHOD "NC"    TARGET_ATTRIBUTE_ENCODING auto-detect    RESPONSE_HEADER_LIST_ATTR ""    STATUS_CODE_ATTR "_http_status_code"    ERROR_ATTR "_error"    CONNECTION_TIMEOUT_LENGTH 60    TRANSFER_TIMEOUT_LENGTH 90    FOLLOW_REDIRECTS FOLLOW_WITH_GET    REDIRECT_AUTH ORIGINAL_DOMAIN_ONLY    VERIFY_SSL_CERTIFICATES Yes    NAMED_CONNECTION "@EvaluateExpression(FDIV,STRING_ENCODED,<at>Value<openparen>_authentication<closeparen>,$(CityworksMaterialCosts_WORKSPACE_NAME)_HTTPCaller)"    USE_COOKIES No    OUTPUT OUTPUT FEATURE_TYPE "$(CityworksMaterialCosts_WORKSPACE_NAME)_HTTPCaller_Output"    OUTPUT REJECTED FEATURE_TYPE "$(CityworksMaterialCosts_WORKSPACE_NAME)_HTTPCaller_<REJECTED>"
# -------------------------------------------------------------------------
FACTORY_DEF * TestFactory    FACTORY_NAME $(CityworksMaterialCosts_WORKSPACE_NAME)_Tester    INPUT  FEATURE_TYPE "$(CityworksMaterialCosts_WORKSPACE_NAME)_HTTPCaller_Output"    CASE_INSENSITIVE_TEST "@EvaluateExpression(FDIV,STRING_ENCODED,<at>Value<openparen>_response_body<closeparen>,$(CityworksMaterialCosts_WORKSPACE_NAME)_Tester)" BEGINS_WITH <lt>!DOCTYPE<space>HTML<gt> ENCODED    BOOLEAN_OPERATOR OR    COMPOSITE_TEST_EXPR "1"    FEATURE_TABLE_SHIM_SUPPORT Yes    PRESERVE_FEATURE_ORDER PER_OUTPUT_PORT    OUTPUT PASSED FEATURE_TYPE "$(CityworksMaterialCosts_WORKSPACE_NAME)_Tester_PASSED"    OUTPUT FAILED FEATURE_TYPE "$(CityworksMaterialCosts_WORKSPACE_NAME)_Tester_FAILED"
# -------------------------------------------------------------------------
FACTORY_DEF {*} AttrSetFactory    FACTORY_NAME $(CityworksMaterialCosts_WORKSPACE_NAME)_AttributeCreator    COMMAND_PARM_EVALUATION SINGLE_PASS    INPUT  FEATURE_TYPE "$(CityworksMaterialCosts_WORKSPACE_NAME)_Tester_PASSED"    MULTI_FEATURE_MODE NO    NULL_ATTR_MODE NO_OP     ATTRSET_CREATE_DIRECTIVES _PROPAGATE_MISSING_FDIV     ATTR_ACTION { "" "GenericErrorMessage" "SET_TO" "Bad<space>Or<space>Incomplete<space>Request" }    OUTPUT OUTPUT FEATURE_TYPE "$(CityworksMaterialCosts_WORKSPACE_NAME)_AttributeCreator_OUTPUT"
# -------------------------------------------------------------------------
FACTORY_DEF * JSONQueryFactory    FACTORY_NAME $(CityworksMaterialCosts_WORKSPACE_NAME)_JSONExtractor    INPUT  FEATURE_TYPE "$(CityworksMaterialCosts_WORKSPACE_NAME)_Tester_FAILED"    MODE EXTRACT    JSON_DOCUMENT "@EvaluateExpression(FDIV,STRING_ENCODED,<at>Value<openparen>_response_body<closeparen>,$(CityworksMaterialCosts_WORKSPACE_NAME)_JSONExtractor)"    READ_FROM_FILE NO    FILEPATH_OR_URL "<Unused>"    QUERIES MaterialCostID json<openbracket><quote>Value<quote><closebracket><openbracket>0<closebracket><openbracket><quote>MaterialCostId<quote><closebracket> Description json<openbracket><quote>Value<quote><closebracket><openbracket>0<closebracket><openbracket><quote>Description<quote><closebracket> UnitsRequired json<openbracket><quote>Value<quote><closebracket><openbracket>0<closebracket><openbracket><quote>UnitsRequired<quote><closebracket> Cost json<openbracket><quote>Value<quote><closebracket><openbracket>0<closebracket><openbracket><quote>Cost<quote><closebracket> Source json<openbracket><quote>Value<quote><closebracket><openbracket>0<closebracket><openbracket><quote>Source<quote><closebracket> WarningMessageText json<openbracket><quote>WarningMessages<quote><closebracket><openbracket>0<closebracket><openbracket><quote>DisplayText<quote><closebracket> ErrorMessageText json<openbracket><quote>ErrorMessages<quote><closebracket><openbracket>0<closebracket><openbracket><quote>DisplayText<quote><closebracket>    OUTPUT EVALUATED FEATURE_TYPE "$(CityworksMaterialCosts_WORKSPACE_NAME)_JSONExtractor_EVALUATED"    OUTPUT REJECTED FEATURE_TYPE "$(CityworksMaterialCosts_WORKSPACE_NAME)_JSONExtractor_<REJECTED>"
# -------------------------------------------------------------------------
FACTORY_DEF * TestFactory    FACTORY_NAME $(CityworksMaterialCosts_WORKSPACE_NAME)_Tester_2    INPUT  FEATURE_TYPE "$(CityworksMaterialCosts_WORKSPACE_NAME)_JSONExtractor_EVALUATED"    TEST WarningMessageText ATTRIBUTE_HAS_A_VALUE "" ENCODED TEST ErrorMessageText ATTRIBUTE_HAS_A_VALUE "" ENCODED    BOOLEAN_OPERATOR OR    COMPOSITE_TEST_EXPR "1 OR 2"    FEATURE_TABLE_SHIM_SUPPORT Yes    PRESERVE_FEATURE_ORDER PER_OUTPUT_PORT    OUTPUT PASSED FEATURE_TYPE "$(CityworksMaterialCosts_WORKSPACE_NAME)_Tester_2_PASSED"    OUTPUT FAILED FEATURE_TYPE "$(CityworksMaterialCosts_WORKSPACE_NAME)_Tester_2_FAILED"
FACTORY_DEF * TeeFactory   FACTORY_NAME "$(CityworksMaterialCosts_WORKSPACE_NAME)_Output1594920028 Output Collector"   INPUT FEATURE_TYPE "$(CityworksMaterialCosts_WORKSPACE_NAME)_Tester_2_FAILED"   OUTPUT FEATURE_TYPE "$(CityworksMaterialCosts_WORKSPACE_NAME)_Output"
FACTORY_DEF * TeeFactory   FACTORY_NAME "$(CityworksMaterialCosts_WORKSPACE_NAME)_<Rejected>1594920028 Output Collector"   INPUT FEATURE_TYPE "$(CityworksMaterialCosts_WORKSPACE_NAME)_AttributeCreator_OUTPUT"   INPUT FEATURE_TYPE "$(CityworksMaterialCosts_WORKSPACE_NAME)_Tester_2_PASSED"   INPUT FEATURE_TYPE "$(CityworksMaterialCosts_WORKSPACE_NAME)_HTTPCaller_<REJECTED>"   INPUT FEATURE_TYPE "$(CityworksMaterialCosts_WORKSPACE_NAME)_JSONExtractor_<REJECTED>"   OUTPUT FEATURE_TYPE "$(CityworksMaterialCosts_WORKSPACE_NAME)_<Rejected>" @RemoveAttributes(fme_rejection_code,MaterialCostID,Description,UnitsRequired,Cost,Source,_error)
INCLUDE [puts {MACRO WB_CURRENT_CONTEXT $(WB_OLD_CONTEXT_$(CityworksMaterialCosts_WORKSPACE_NAME))}]
FACTORY_DEF * TeeFactory   FACTORY_NAME "CityworksMaterialCosts Output Output Renamer/Nuker"   INPUT FEATURE_TYPE CityworksMaterialCosts_Output   OUTPUT FEATURE_TYPE CityworksMaterialCosts_Output
FACTORY_DEF * TeeFactory   FACTORY_NAME "CityworksMaterialCosts <Rejected> Output Renamer/Nuker"   INPUT FEATURE_TYPE CityworksMaterialCosts_<Rejected>
# -------------------------------------------------------------------------
FACTORY_DEF {*} AttrSetFactory    COMMAND_PARM_EVALUATION SINGLE_PASS    FACTORY_NAME AttributeRenamer_2    INPUT  FEATURE_TYPE CityworksMaterialCosts_Output 	 ATTRSET_CREATE_DIRECTIVES _PROPAGATE_MISSING_FDIV 	 ATTR_ACTION { "Cost" "MaterialCost" "RENAME_SET_DEFAULT" "" }    OUTPUT OUTPUT FEATURE_TYPE AttributeRenamer_2_OUTPUT
# -------------------------------------------------------------------------
FACTORY_DEF * TeeFactory   FACTORY_NAME "CityworksWorkOrderUpdater Input Input Collector"   INPUT FEATURE_TYPE AttributeRenamer_2_OUTPUT   OUTPUT FEATURE_TYPE CityworksWorkOrderUpdater_Input
MACRO CityworksWorkOrderUpdater_WORKSPACE_NAME CityworksWorkOrderUpdater
MACRO $(CityworksWorkOrderUpdater_WORKSPACE_NAME)_XFORMER_NAME CityworksWorkOrderUpdater
MACRO $(CityworksWorkOrderUpdater_WORKSPACE_NAME)_TRANSFORMER_GROUP 
MACRO $(CityworksWorkOrderUpdater_WORKSPACE_NAME)___COMPOUND_PARAMETERS 
MACRO $(CityworksWorkOrderUpdater_WORKSPACE_NAME)_SUB_DOC_NAME CityworksWorkOrderUpdater
MACRO $(CityworksWorkOrderUpdater_WORKSPACE_NAME)_authentication 
MACRO $(CityworksWorkOrderUpdater_WORKSPACE_NAME)_instance YOUR CITYWORKS INSTANCE HERE
MACRO $(CityworksWorkOrderUpdater_WORKSPACE_NAME)_workorderID @Value(_workorderid)
MACRO $(CityworksWorkOrderUpdater_WORKSPACE_NAME)_priority 
MACRO $(CityworksWorkOrderUpdater_WORKSPACE_NAME)_status @Value(_status)
MACRO $(CityworksWorkOrderUpdater_WORKSPACE_NAME)_instructions 
MACRO $(CityworksWorkOrderUpdater_WORKSPACE_NAME)_supervisorSID 
MACRO $(CityworksWorkOrderUpdater_WORKSPACE_NAME)_requestedbySID 
MACRO $(CityworksWorkOrderUpdater_WORKSPACE_NAME)_address 
MACRO $(CityworksWorkOrderUpdater_WORKSPACE_NAME)_location 
MACRO $(CityworksWorkOrderUpdater_WORKSPACE_NAME)_completedbySID 
MACRO $(CityworksWorkOrderUpdater_WORKSPACE_NAME)_actualstartdate 
MACRO $(CityworksWorkOrderUpdater_WORKSPACE_NAME)_actualfinishdate @Value(_Date)
MACRO $(CityworksWorkOrderUpdater_WORKSPACE_NAME)_projectedstartdate 
MACRO $(CityworksWorkOrderUpdater_WORKSPACE_NAME)_projectedfinishdate 
MACRO $(CityworksWorkOrderUpdater_WORKSPACE_NAME)_request_params "CustomFieldValues": {140: "Scheduled"},
DEFAULT_MACRO CityworksWorkOrderUpdater_WORKSPACE_NAME ""
INCLUDE [puts {MACRO WB_OLD_CONTEXT_$(CityworksWorkOrderUpdater_WORKSPACE_NAME) $(WB_CURRENT_CONTEXT)};          puts {MACRO WB_CURRENT_CONTEXT $(CityworksWorkOrderUpdater_WORKSPACE_NAME)}]
FACTORY_DEF * TeeFactory   FACTORY_NAME "$(CityworksWorkOrderUpdater_WORKSPACE_NAME)_Input1594920028 Input Splitter"   INPUT FEATURE_TYPE "$(CityworksWorkOrderUpdater_WORKSPACE_NAME)_Input"   OUTPUT FEATURE_TYPE "$(CityworksWorkOrderUpdater_WORKSPACE_NAME)_Input"
# -------------------------------------------------------------------------
Tcl2 proc $(CityworksWorkOrderUpdater_WORKSPACE_NAME)_ParameterFetcher_doFetch {} {    foreach {name val} {"_workorderID {$($(CityworksWorkOrderUpdater_WORKSPACE_NAME)_workorderID$encode)} _actualfinishdate {$($(CityworksWorkOrderUpdater_WORKSPACE_NAME)_actualfinishdate$encode)} _actualstartdate {$($(CityworksWorkOrderUpdater_WORKSPACE_NAME)_actualstartdate$encode)} _address {$($(CityworksWorkOrderUpdater_WORKSPACE_NAME)_address$encode)} _completedbySID {$($(CityworksWorkOrderUpdater_WORKSPACE_NAME)_completedbySID$encode)} _instructions {$($(CityworksWorkOrderUpdater_WORKSPACE_NAME)_instructions$encode)} _location {$($(CityworksWorkOrderUpdater_WORKSPACE_NAME)_location$encode)} _priority {$($(CityworksWorkOrderUpdater_WORKSPACE_NAME)_priority$encode)} _projectedfinishdate {$($(CityworksWorkOrderUpdater_WORKSPACE_NAME)_projectedfinishdate$encode)} _projectedstartdate {$($(CityworksWorkOrderUpdater_WORKSPACE_NAME)_projectedstartdate$encode)} _requestedbySID {$($(CityworksWorkOrderUpdater_WORKSPACE_NAME)_requestedbySID$encode)} _status {$($(CityworksWorkOrderUpdater_WORKSPACE_NAME)_status$encode)} _request_params {$($(CityworksWorkOrderUpdater_WORKSPACE_NAME)_request_params$encode)} _authentication {$($(CityworksWorkOrderUpdater_WORKSPACE_NAME)_authentication$encode)} _instance {$($(CityworksWorkOrderUpdater_WORKSPACE_NAME)_instance$encode)}"} {         if { [string match {*<at>*} $val] == 1 } {             set val [FME_Execute EvaluateExpression {STRING} $val {$(CityworksWorkOrderUpdater_WORKSPACE_NAME)_ParameterFetcher}];         } elseif {[string match {*FME_CONDITIONAL*} $val] == 1} {             set val [FME_Execute EvaluateExpression {STRING} $val {$(CityworksWorkOrderUpdater_WORKSPACE_NAME)_ParameterFetcher}];         } else {             set val [FME_DecodeTextOrAttr $val];         };       FME_SetAttribute [FME_DecodeText $name] $val    } }
FACTORY_DEF * TeeFactory    FACTORY_NAME $(CityworksWorkOrderUpdater_WORKSPACE_NAME)_ParameterFetcher    INPUT  FEATURE_TYPE "$(CityworksWorkOrderUpdater_WORKSPACE_NAME)_Input"    OUTPUT FEATURE_TYPE "$(CityworksWorkOrderUpdater_WORKSPACE_NAME)_ParameterFetcher_OUTPUT"         @Tcl2($(CityworksWorkOrderUpdater_WORKSPACE_NAME)_ParameterFetcher_doFetch)
# -------------------------------------------------------------------------
DEFAULT_MACRO $(CityworksWorkOrderUpdater_WORKSPACE_NAME)_DateTimeConverter_EXPRESSION_LIST
INCLUDE [    set repairInput {};    if {{YES} eq {YES}} {       set repairInput "<comma>repair";    };    set inFormat {FME|ISO};    if { {} ne {} } {       set inFormat {};       if { [string first "<quote>" $inFormat] != -1 } {          set inFormat [string map {"<quote>" "<backslash><quote>"} $inFormat];       };    };    set outFormat {%Y-%m-%dT%H:%M:%S};    if { [string first "<quote>" $outFormat] != -1 } {       set outFormat [string map {"<quote>" "<backslash><quote>"} $outFormat];    };    set parmList {};    set attrs {_actualfinishdate _actualstartdate _projectedfinishdate _projectedstartdate};    foreach attr $attrs {       lappend parmList $attr;       set funcAttr $attr;       if { [string first "<quote>" $attr] != -1 }       {          set funcAttr [string map {"<quote>" "<backslash><quote>"} $attr];          append funcAttr "<quote>";          set funcAttr "<quote>$funcAttr";       };       lappend parmList <at>DateTimeFormat<openparen><at>DateTimeParse<openparen><at>Value<openparen>$funcAttr<closeparen><comma><quote>$inFormat<quote>$repairInput<closeparen><comma><quote>$outFormat<quote><closeparen>;    };    puts "MACRO $(CityworksWorkOrderUpdater_WORKSPACE_NAME)_DateTimeConverter_EXPRESSION_LIST [join $parmList { }]"; ]
Tcl2 proc $(CityworksWorkOrderUpdater_WORKSPACE_NAME)_DateTimeConverter_1d7ef726_d75f_4154_8dd5_7738394c0d720_DateTimeConverter {} {    set attrs {_actualfinishdate _actualstartdate _projectedfinishdate _projectedstartdate};    set decodedAttrs {};    set attrVals {};    set attrNulls {};    set attrMissings {};    foreach attr $attrs {       set decodedAttr [FME_DecodeText $attr];       lappend decodedAttrs $decodedAttr;       lappend attrVals [FME_GetAttribute $decodedAttr];       lappend attrNulls [FME_IsAttributeNull $decodedAttr];       lappend attrExists [FME_AttributeExists $decodedAttr];    };    FME_Execute EvaluateExpression ATTR_CREATE_EXPR_PROPAGATE_MISSING_FDIV $($(CityworksWorkOrderUpdater_WORKSPACE_NAME)_DateTimeConverter_EXPRESSION_LIST) $(CityworksWorkOrderUpdater_WORKSPACE_NAME)_DateTimeConverter;    foreach attr $decodedAttrs oldAttrVal $attrVals oldAttrExists $attrExists oldAttrNull $attrNulls {       set newAttrVal [FME_GetAttribute $attr];       if {[string length $newAttrVal] == 0} {          if {{YES} eq {NO} || [string length $oldAttrVal] > 0} {             FME_SetAttribute fme_rejection_code "INVALID_INPUT";             break;          } elseif {!$oldAttrExists} {             FME_UnsetAttributes $attr;          } elseif {!$oldAttrNull} {             FME_SetAttribute $attr {};          };       }    }; }
FACTORY_DEF * TeeFactory    FACTORY_NAME $(CityworksWorkOrderUpdater_WORKSPACE_NAME)_DateTimeConverter_1    INPUT  FEATURE_TYPE "$(CityworksWorkOrderUpdater_WORKSPACE_NAME)_ParameterFetcher_OUTPUT"    OUTPUT FEATURE_TYPE ___TOREJECTOR___       @RenameAttributes(FME_STRICT, ___fme_rejection_code___,fme_rejection_code)       @Tcl2($(CityworksWorkOrderUpdater_WORKSPACE_NAME)_DateTimeConverter_1d7ef726_d75f_4154_8dd5_7738394c0d720_DateTimeConverter)
FACTORY_DEF * TestFactory    FACTORY_NAME $(CityworksWorkOrderUpdater_WORKSPACE_NAME)_DateTimeConverter_Rejector    INPUT FEATURE_TYPE ___TOREJECTOR___    TEST @Value(fme_rejection_code) != ""    FEATURE_TABLE_SHIM_SUPPORT Yes    OUTPUT FAILED FEATURE_TYPE "$(CityworksWorkOrderUpdater_WORKSPACE_NAME)_DateTimeConverter_OUTPUT"       @RenameAttributes(FME_STRICT, fme_rejection_code,___fme_rejection_code___)
# -------------------------------------------------------------------------
FACTORY_DEF {*} AttrSetFactory    COMMAND_PARM_EVALUATION SINGLE_PASS    FACTORY_NAME $(CityworksWorkOrderUpdater_WORKSPACE_NAME)_AttributeManager    INPUT  FEATURE_TYPE "$(CityworksWorkOrderUpdater_WORKSPACE_NAME)_DateTimeConverter_OUTPUT"    MULTI_FEATURE_MODE NO     NULL_ATTR_MODE NO_OP     ATTRSET_CREATE_DIRECTIVES _PROPAGATE_MISSING_FDIV    ACTION_COLUMN 3    DEF_VAL_COLUMN 2    ATTR_ACTION { "_actualfinishdate" "_actualfinishdate" "FME_CONDITIONAL:DEFAULT_VALUE'FME_NULL_VALUE'BOOL_OP;OR;COMPOSITE_TEST;1;TEST _actualfinishdate ATTRIBUTE_HAS_A_VALUE _FME_BLANK_STRING_'<quote>ActualFinishDate<quote>:<space><quote><at>Value<openparen>_actualfinishdate<closeparen><quote><comma>'FME_NUM_CONDITIONS2___" "SET_TO" }      ATTR_ACTION { "_actualstartdate" "_actualstartdate" "FME_CONDITIONAL:DEFAULT_VALUE'FME_NULL_VALUE'BOOL_OP;OR;COMPOSITE_TEST;1;TEST _actualstartdate ATTRIBUTE_HAS_A_VALUE _FME_BLANK_STRING_'<quote>ActualStartDate<quote>:<space><quote><at>Value<openparen>_actualstartdate<closeparen><quote><comma>'FME_NUM_CONDITIONS2___" "SET_TO" }      ATTR_ACTION { "_address" "_address" "FME_CONDITIONAL:DEFAULT_VALUE'FME_NULL_VALUE'BOOL_OP;OR;COMPOSITE_TEST;1;TEST _address ATTRIBUTE_HAS_A_VALUE _FME_BLANK_STRING_'<quote>Address<quote>:<space><quote><at>Value<openparen>_address<closeparen><quote><comma>'FME_NUM_CONDITIONS2___" "SET_TO" }      ATTR_ACTION { "_completedbySID" "_completedbySID" "FME_CONDITIONAL:DEFAULT_VALUE'FME_NULL_VALUE'BOOL_OP;OR;COMPOSITE_TEST;1;TEST _completedbySID ATTRIBUTE_HAS_A_VALUE _FME_BLANK_STRING_'<quote>CompletedBySid<quote>:<space><at>Value<openparen>_completedbySID<closeparen><comma>'FME_NUM_CONDITIONS2___" "SET_TO" }      ATTR_ACTION { "_instructions" "_instructions" "FME_CONDITIONAL:DEFAULT_VALUE'FME_NULL_VALUE'BOOL_OP;OR;COMPOSITE_TEST;1;TEST _instructions ATTRIBUTE_HAS_A_VALUE _FME_BLANK_STRING_'<quote>Instructions<quote>:<space><quote><at>Value<openparen>_instructions<closeparen><quote><comma>'FME_NUM_CONDITIONS2___" "SET_TO" }      ATTR_ACTION { "_location" "_location" "FME_CONDITIONAL:DEFAULT_VALUE'FME_NULL_VALUE'BOOL_OP;OR;COMPOSITE_TEST;1;TEST _location ATTRIBUTE_HAS_A_VALUE _FME_BLANK_STRING_'<quote>Location<quote>:<space><quote><at>Value<openparen>_location<closeparen><quote><comma>'FME_NUM_CONDITIONS2___" "SET_TO" }      ATTR_ACTION { "_priority" "_priority" "FME_CONDITIONAL:DEFAULT_VALUE'FME_NULL_VALUE'BOOL_OP;OR;COMPOSITE_TEST;1;TEST _priority ATTRIBUTE_HAS_A_VALUE _FME_BLANK_STRING_'<quote>Priority<quote>:<space><quote><at>Value<openparen>_priority<closeparen><quote><comma>'FME_NUM_CONDITIONS2___" "SET_TO" }      ATTR_ACTION { "_projectedfinishdate" "_projectedfinishdate" "FME_CONDITIONAL:DEFAULT_VALUE'FME_NULL_VALUE'BOOL_OP;OR;COMPOSITE_TEST;1;TEST _projectedfinishdate ATTRIBUTE_HAS_A_VALUE _FME_BLANK_STRING_'<quote>ProjectedFinishDate<quote>:<space><quote><at>Value<openparen>_projectedfinishdate<closeparen><quote><comma>'FME_NUM_CONDITIONS2___" "SET_TO" }      ATTR_ACTION { "_projectedstartdate" "_projectedstartdate" "FME_CONDITIONAL:DEFAULT_VALUE'FME_NULL_VALUE'BOOL_OP;OR;COMPOSITE_TEST;1;TEST _projectedstartdate ATTRIBUTE_HAS_A_VALUE _FME_BLANK_STRING_'<quote>ProjectedStartDate<quote>:<space><quote><at>Value<openparen>_projectedstartdate<closeparen><quote><comma>'FME_NUM_CONDITIONS2___" "SET_TO" }      ATTR_ACTION { "_requestedbySID" "_requestedbySID" "FME_CONDITIONAL:DEFAULT_VALUE'FME_NULL_VALUE'BOOL_OP;OR;COMPOSITE_TEST;1;TEST _requestedbySID ATTRIBUTE_HAS_A_VALUE _FME_BLANK_STRING_'<quote>RequestedBySid<quote>:<space><at>Value<openparen>_requestedbySID<closeparen><comma>'FME_NUM_CONDITIONS2___" "SET_TO" }      ATTR_ACTION { "_status" "_status" "FME_CONDITIONAL:DEFAULT_VALUE'FME_NULL_VALUE'BOOL_OP;OR;COMPOSITE_TEST;1;TEST _status ATTRIBUTE_HAS_A_VALUE _FME_BLANK_STRING_'<quote>Status<quote>:<space><quote><at>Value<openparen>_status<closeparen><quote><comma>'FME_NUM_CONDITIONS2___" "SET_TO" }      ATTR_ACTION { "_request_params" "_request_params" "FME_CONDITIONAL:DEFAULT_VALUE'FME_NULL_VALUE'BOOL_OP;AND;COMPOSITE_TEST;1;TEST _request_params ATTRIBUTE_HAS_A_VALUE _FME_BLANK_STRING_'<at>Value<openparen>_request_params<closeparen>'FME_NUM_CONDITIONS2___" "SET_TO" }    OUTPUT OUTPUT FEATURE_TYPE "$(CityworksWorkOrderUpdater_WORKSPACE_NAME)_AttributeManager_OUTPUT"
# -------------------------------------------------------------------------
Tcl2 proc $(CityworksWorkOrderUpdater_WORKSPACE_NAME)_NullAttributeMapper_8b24debf_7901_41c4_892d_00f0e4faa5010_null_replacer { otherValue newValue regExp } {    set attrs [split {_workorderID _address _completedbySID _instructions _location _priority _requestedbySID _status _actualfinishdate _actualstartdate _projectedfinishdate _projectedstartdate _request_params} { }];    set decode true;    if { {SELECTED} == {ALL} } {       set attrs [FME_AttributeNames];       set decode false; 	 };    set decodedVal [FME_DecodeText $otherValue];    set decodedRegExp [FME_DecodeText $regExp];    foreach attr $attrs {      set act {NOOP};      if {$decode} {        set attr [FME_DecodeText $attr];      };      if {[FME_AttributeExists $attr]} {          set attrVal [FME_GetAttribute $attr];          if {[FME_IsAttributeNull $attr] } {             if {[string first {SETNULL} {SETNULL}] != -1} {                 set act {DELETEATTR};             };          }          elseif { [string first {EMPTY} {SETNULL}] != -1 && $attrVal == {}} {             set act {DELETEATTR};          }          elseif { $otherValue != {} && [string equal $attrVal $decodedVal]} {             set act {DELETEATTR};          }          elseif { $decodedRegExp != {} }          {             set results [FME_GetRegex $decodedRegExp $attrVal];             if {[llength [lindex $results 0]] > 0}             {                set act {DELETEATTR};             }          };      }      elseif {[string first {MISSINGATTR} {SETNULL}] != -1} {             set act {DELETEATTR};      };      if {$act == {DELETEATTR} } {         FME_UnsetAttributes $attr;      } elseif { $act == {SETVALUE} } {         FME_SetAttribute $attr [FME_DecodeText $newValue];      } elseif { $act == {SETNULL} } {         FME_SetAttributeNull $attr;      } elseif { $act == {EMPTY} }      {         FME_SetAttribute $attr {};      };   }; }
FACTORY_DEF * TeeFactory    FACTORY_NAME $(CityworksWorkOrderUpdater_WORKSPACE_NAME)_NullAttributeMapper    INPUT  FEATURE_TYPE "$(CityworksWorkOrderUpdater_WORKSPACE_NAME)_AttributeManager_OUTPUT"    OUTPUT FEATURE_TYPE "$(CityworksWorkOrderUpdater_WORKSPACE_NAME)_NullAttributeMapper_OUTPUT"         @Tcl2("$(CityworksWorkOrderUpdater_WORKSPACE_NAME)_NullAttributeMapper_8b24debf_7901_41c4_892d_00f0e4faa5010_null_replacer {} {<Unused>} {}")
# -------------------------------------------------------------------------
FACTORY_DEF * HTTPFactory    FACTORY_NAME $(CityworksWorkOrderUpdater_WORKSPACE_NAME)_HTTPCaller       INPUT  FEATURE_TYPE "$(CityworksWorkOrderUpdater_WORKSPACE_NAME)_NullAttributeMapper_OUTPUT"    TARGET_URL "@EvaluateExpression(FDIV,STRING_ENCODED,<at>Value<openparen>_instance<closeparen><solidus>services<solidus>Ams<solidus>WorkOrder<solidus>Update?,$(CityworksWorkOrderUpdater_WORKSPACE_NAME)_HTTPCaller)"    HTTP_METHOD GET    SAVE_FILE NO    OUTPUT_FILENAME "<Unused>"    OUTPUT_DIRECTORY "<Unused>"    FILE_EXTENSION "<Unused>"    TARGET_ATTR "_response_body"    FILE_PATH_ATTR "<Unused>"    UPLOAD_FILE "<Unused>"    UPLOAD_BODY "<Unused>"    MULTIPART_UPLOAD <Unused>    UPLOAD_CONTENT_TYPE "<Unused>"    COMBINED_MULTIPART_TABLE    REQUEST_HEADER_TABLE    ADDITIONAL_URL_PARAMETERS data;@EvaluateExpression(FDIV,STRING_ENCODED,<opencurly><at>Value<openparen>_request_params<closeparen><at>Value<openparen>_actualfinishdate<closeparen><at>Value<openparen>_actualstartdate<closeparen><at>Value<openparen>_projectedfinishdate<closeparen><at>Value<openparen>_projectedstartdate<closeparen><at>Value<openparen>_priority<closeparen><at>Value<openparen>_requestedbySID<closeparen><at>Value<openparen>_status<closeparen><at>Value<openparen>_instructions<closeparen><at>Value<openparen>_location<closeparen><at>Value<openparen>_completedbySID<closeparen><space><at>Value<openparen>_address<closeparen><space><quote>WorkOrderId<quote>:<space><quote><at>Value<openparen>_workorderID<closeparen><quote><closecurly>,$(CityworksWorkOrderUpdater_WORKSPACE_NAME)_HTTPCaller)    AUTH_USERNAME "<Unused>"    AUTH_PASSWORD "<Unused>"    AUTH_METHOD "NC"    TARGET_ATTRIBUTE_ENCODING auto-detect    RESPONSE_HEADER_LIST_ATTR ""    STATUS_CODE_ATTR "_http_status_code"    ERROR_ATTR "_error"    CONNECTION_TIMEOUT_LENGTH 60    TRANSFER_TIMEOUT_LENGTH 90    FOLLOW_REDIRECTS FOLLOW_WITH_GET    REDIRECT_AUTH ORIGINAL_DOMAIN_ONLY    VERIFY_SSL_CERTIFICATES Yes    NAMED_CONNECTION "@EvaluateExpression(FDIV,STRING_ENCODED,<at>Value<openparen>_authentication<closeparen>,$(CityworksWorkOrderUpdater_WORKSPACE_NAME)_HTTPCaller)"    USE_COOKIES No    OUTPUT OUTPUT FEATURE_TYPE "$(CityworksWorkOrderUpdater_WORKSPACE_NAME)_HTTPCaller_Output"    OUTPUT REJECTED FEATURE_TYPE "$(CityworksWorkOrderUpdater_WORKSPACE_NAME)_HTTPCaller_<REJECTED>"
# -------------------------------------------------------------------------
FACTORY_DEF * TestFactory    FACTORY_NAME $(CityworksWorkOrderUpdater_WORKSPACE_NAME)_Tester    INPUT  FEATURE_TYPE "$(CityworksWorkOrderUpdater_WORKSPACE_NAME)_HTTPCaller_Output"    CASE_INSENSITIVE_TEST "@EvaluateExpression(FDIV,STRING_ENCODED,<at>Value<openparen>_response_body<closeparen>,$(CityworksWorkOrderUpdater_WORKSPACE_NAME)_Tester)" BEGINS_WITH <lt>!DOCTYPE<space>HTML<gt> ENCODED    BOOLEAN_OPERATOR OR    COMPOSITE_TEST_EXPR "1"    FEATURE_TABLE_SHIM_SUPPORT Yes    PRESERVE_FEATURE_ORDER PER_OUTPUT_PORT    OUTPUT PASSED FEATURE_TYPE "$(CityworksWorkOrderUpdater_WORKSPACE_NAME)_Tester_PASSED"    OUTPUT FAILED FEATURE_TYPE "$(CityworksWorkOrderUpdater_WORKSPACE_NAME)_Tester_FAILED"
# -------------------------------------------------------------------------
FACTORY_DEF {*} AttrSetFactory    FACTORY_NAME $(CityworksWorkOrderUpdater_WORKSPACE_NAME)_AttributeCreator    COMMAND_PARM_EVALUATION SINGLE_PASS    INPUT  FEATURE_TYPE "$(CityworksWorkOrderUpdater_WORKSPACE_NAME)_Tester_PASSED"    MULTI_FEATURE_MODE NO    NULL_ATTR_MODE NO_OP     ATTRSET_CREATE_DIRECTIVES _PROPAGATE_MISSING_FDIV     ATTR_ACTION { "" "GenericErrorMessage" "SET_TO" "Bad<space>Or<space>Incomplete<space>Request" }    OUTPUT OUTPUT FEATURE_TYPE "$(CityworksWorkOrderUpdater_WORKSPACE_NAME)_AttributeCreator_OUTPUT"
# -------------------------------------------------------------------------
FACTORY_DEF * JSONQueryFactory    FACTORY_NAME $(CityworksWorkOrderUpdater_WORKSPACE_NAME)_JSONExtractor    INPUT  FEATURE_TYPE "$(CityworksWorkOrderUpdater_WORKSPACE_NAME)_Tester_FAILED"    MODE EXTRACT    JSON_DOCUMENT "@EvaluateExpression(FDIV,STRING_ENCODED,<at>Value<openparen>_response_body<closeparen>,$(CityworksWorkOrderUpdater_WORKSPACE_NAME)_JSONExtractor)"    READ_FROM_FILE NO    FILEPATH_OR_URL "<Unused>"    QUERIES Status json<openbracket><quote>Value<quote><closebracket><openbracket><quote>Status<quote><closebracket> RequestedBy json<openbracket><quote>Value<quote><closebracket><openbracket><quote>RequestedBy<quote><closebracket> Priority json<openbracket><quote>Value<quote><closebracket><openbracket><quote>Priority<quote><closebracket> Supervisor json<openbracket><quote>Value<quote><closebracket><openbracket><quote>Supervisor<quote><closebracket> Instructions json<openbracket><quote>Value<quote><closebracket><openbracket><quote>Instructions<quote><closebracket> CompletedBySid json<openbracket><quote>Value<quote><closebracket><openbracket><quote>CompletedBySid<quote><closebracket> WOAddress json<openbracket><quote>Value<quote><closebracket><openbracket><quote>WOAddress<quote><closebracket> Location json<openbracket><quote>Value<quote><closebracket><openbracket><quote>Location<quote><closebracket> ProjStartDate json<openbracket><quote>Value<quote><closebracket><openbracket><quote>ProjecStartDate<quote><closebracket> ProjFinishDate json<openbracket><quote>Value<quote><closebracket><openbracket><quote>ProjFinishDate<quote><closebracket> ActualStartDate json<openbracket><quote>Value<quote><closebracket><openbracket><quote>ActualStartDate<quote><closebracket> ActualFinishDate json<openbracket><quote>Value<quote><closebracket><openbracket><quote>ActualFinishDate<quote><closebracket> WarningMessageText json<openbracket><quote>WarningMessages<quote><closebracket><openbracket>0<closebracket><openbracket><quote>DisplayText<quote><closebracket> ErrorMessageText json<openbracket><quote>ErrorMessages<quote><closebracket><openbracket>0<closebracket><openbracket><quote>DisplayText<quote><closebracket>    OUTPUT EVALUATED FEATURE_TYPE "$(CityworksWorkOrderUpdater_WORKSPACE_NAME)_JSONExtractor_EVALUATED"    OUTPUT REJECTED FEATURE_TYPE "$(CityworksWorkOrderUpdater_WORKSPACE_NAME)_JSONExtractor_<REJECTED>"
# -------------------------------------------------------------------------
FACTORY_DEF * TestFactory    FACTORY_NAME $(CityworksWorkOrderUpdater_WORKSPACE_NAME)_Tester2    INPUT  FEATURE_TYPE "$(CityworksWorkOrderUpdater_WORKSPACE_NAME)_JSONExtractor_EVALUATED"    TEST WarningMessageText ATTRIBUTE_HAS_A_VALUE "" ENCODED TEST ErrorMessageText ATTRIBUTE_HAS_A_VALUE "" ENCODED    BOOLEAN_OPERATOR OR    COMPOSITE_TEST_EXPR "1 OR 2"    FEATURE_TABLE_SHIM_SUPPORT Yes    PRESERVE_FEATURE_ORDER PER_OUTPUT_PORT    OUTPUT PASSED FEATURE_TYPE "$(CityworksWorkOrderUpdater_WORKSPACE_NAME)_Tester2_PASSED"    OUTPUT FAILED FEATURE_TYPE "$(CityworksWorkOrderUpdater_WORKSPACE_NAME)_Tester2_FAILED"
FACTORY_DEF * TeeFactory   FACTORY_NAME "$(CityworksWorkOrderUpdater_WORKSPACE_NAME)_Output1594920028 Output Collector"   INPUT FEATURE_TYPE "$(CityworksWorkOrderUpdater_WORKSPACE_NAME)_Tester2_FAILED"   OUTPUT FEATURE_TYPE "$(CityworksWorkOrderUpdater_WORKSPACE_NAME)_Output"
FACTORY_DEF * TeeFactory   FACTORY_NAME "$(CityworksWorkOrderUpdater_WORKSPACE_NAME)_<Rejected>1594920028 Output Collector"   INPUT FEATURE_TYPE "$(CityworksWorkOrderUpdater_WORKSPACE_NAME)_AttributeCreator_OUTPUT"   INPUT FEATURE_TYPE "$(CityworksWorkOrderUpdater_WORKSPACE_NAME)_Tester2_PASSED"   INPUT FEATURE_TYPE "$(CityworksWorkOrderUpdater_WORKSPACE_NAME)_HTTPCaller_<REJECTED>"   INPUT FEATURE_TYPE "$(CityworksWorkOrderUpdater_WORKSPACE_NAME)_JSONExtractor_<REJECTED>"   OUTPUT FEATURE_TYPE "$(CityworksWorkOrderUpdater_WORKSPACE_NAME)_<Rejected>"
INCLUDE [puts {MACRO WB_CURRENT_CONTEXT $(WB_OLD_CONTEXT_$(CityworksWorkOrderUpdater_WORKSPACE_NAME))}]
FACTORY_DEF * TeeFactory   FACTORY_NAME "CityworksWorkOrderUpdater Output Output Renamer/Nuker"   INPUT FEATURE_TYPE CityworksWorkOrderUpdater_Output   OUTPUT FEATURE_TYPE CityworksWorkOrderUpdater_Output
FACTORY_DEF * TeeFactory   FACTORY_NAME "CityworksWorkOrderUpdater <Rejected> Output Renamer/Nuker"   INPUT FEATURE_TYPE CityworksWorkOrderUpdater_<Rejected>
# -------------------------------------------------------------------------
FACTORY_DEF {*} AttrSetFactory    COMMAND_PARM_EVALUATION SINGLE_PASS    FACTORY_NAME AttributeManager    INPUT  FEATURE_TYPE CityworksWorkOrderUpdater_Output    MULTI_FEATURE_MODE NO     NULL_ATTR_MODE NO_OP     ATTRSET_CREATE_DIRECTIVES _PROPAGATE_MISSING_FDIV    ACTION_COLUMN 3    DEF_VAL_COLUMN 2    ATTR_ACTION { "_workorderID" "_workorderID" "" "RENAME_SET_VALUE" }      ATTR_ACTION { "_actualfinishdate" "_actualfinishdate" "" "REMOVE" }      ATTR_ACTION { "_actualstartdate" "_actualstartdate" "" "REMOVE" }      ATTR_ACTION { "_address" "_address" "" "REMOVE" }      ATTR_ACTION { "_completedbySID" "_completedbySID" "" "REMOVE" }      ATTR_ACTION { "_instructions" "_instructions" "" "REMOVE" }      ATTR_ACTION { "_location" "_location" "" "REMOVE" }      ATTR_ACTION { "_priority" "_priority" "" "REMOVE" }      ATTR_ACTION { "_projectedfinishdate" "_projectedfinishdate" "" "REMOVE" }      ATTR_ACTION { "_projectedstartdate" "_projectedstartdate" "" "REMOVE" }      ATTR_ACTION { "_requestedbySID" "_requestedbySID" "" "REMOVE" }      ATTR_ACTION { "_status" "_status" "" "REMOVE" }      ATTR_ACTION { "_request_params" "_request_params" "" "REMOVE" }      ATTR_ACTION { "_authentication" "_authentication" "" "REMOVE" }      ATTR_ACTION { "_instance" "_instance" "" "REMOVE" }      ATTR_ACTION { "_units" "_units" "" "REMOVE" }      ATTR_ACTION { "_source" "_source" "" "REMOVE" }      ATTR_ACTION { "_workorderid" "_workorderid" "" "REMOVE" }      ATTR_ACTION { "_materialsSID" "_materialsSID" "" "REMOVE" }      ATTR_ACTION { "_response_body" "_response_body" "" "REMOVE" }      ATTR_ACTION { "_description" "_description" "" "REMOVE" }      ATTR_ACTION { "_contractorID" "_contractorID" "" "REMOVE" }      ATTR_ACTION { "_creation_instance" "_creation_instance" "" "REMOVE" }      ATTR_ACTION { "" "Contractor" "FME_CONDITIONAL:DEFAULT_VALUE'Contractor'BOOL_OP;OR;COMPOSITE_TEST;1;TEST <at>Value<openparen>_contractor<closeparen> = 11320'Road<space>Runner<space>Inc.'BOOL_OP;OR;COMPOSITE_TEST;1;TEST <at>Value<openparen>_contractor<closeparen> = 1022'Lizard<space>Concrete<space>Repair'BOOL_OP;OR;COMPOSITE_TEST;1;TEST <at>Value<openparen>_contractor<closeparen> = 1021'Zipster<space>Paving<space>Company'BOOL_OP;OR;COMPOSITE_TEST;1;TEST <at>Value<openparen>_contractor<closeparen> = 11349'A1<space>Asphalt'FME_NUM_CONDITIONS5___" "SET_TO" }      ATTR_ACTION { "_contractor" "_contractor" "" "REMOVE" }      ATTR_ACTION { "_material" "_material" "" "REMOVE" }      ATTR_ACTION { "_http_status_code" "_http_status_code" "" "REMOVE" }      ATTR_ACTION { "Source" "Source" "Main<space>Warehouse" "SET_TO" }      ATTR_ACTION { "WarningMessageText" "WarningMessageText" "" "REMOVE" }      ATTR_ACTION { "ErrorMessageText" "ErrorMessageText" "" "REMOVE" }      ATTR_ACTION { "RequestedBy" "RequestedBy" "" "REMOVE" }      ATTR_ACTION { "Priority" "Priority" "" "REMOVE" }      ATTR_ACTION { "Supervisor" "Supervisor" "" "REMOVE" }      ATTR_ACTION { "Instructions" "Instructions" "" "REMOVE" }      ATTR_ACTION { "CompletedBySid" "CompletedBySid" "" "REMOVE" }      ATTR_ACTION { "WOAddress" "WOAddress" "" "REMOVE" }      ATTR_ACTION { "Location" "Location" "" "REMOVE" }      ATTR_ACTION { "ProjStartDate" "ProjStartDate" "" "REMOVE" }      ATTR_ACTION { "ProjFinishDate" "ProjFinishDate" "" "REMOVE" }      ATTR_ACTION { "ActualStartDate" "ActualStartDate" "" "REMOVE" }      ATTR_ACTION { "ActualFinishDate" "ActualFinishDate" "" "REMOVE" }      ATTR_ACTION { "" "RequestStatus" "Completed" "SET_TO" }      ATTR_ACTION { "" "join" "1" "SET_TO" }      ATTR_ACTION { "" "TotalCostSum" "<at>Evaluate<openparen><at>Value<openparen>MaterialCost<closeparen>+<at>Value<openparen>LabourCost<closeparen><closeparen>" "SET_TO" }    OUTPUT OUTPUT FEATURE_TYPE AttributeManager_OUTPUT
# -------------------------------------------------------------------------
Tcl2 proc AttributeRounder_round {places} {    set attrs [split {TotalCostSum LabourCost MaterialCost} { }];    foreach attr $attrs {       set attr [FME_DecodeText $attr];       set original [FME_GetAttribute $attr];       if {$original == {} || [FME_IsAttributeNull $attr]}       {          FME_LogMessage fme_warn 917357 {AttributeRounder} $attr;          continue;       };       set comment {"do not attempt rounding if not a number"};       if {[string is double $original] == 0} {continue};       if { [catch {                set multiplier [expr pow(10,$places)];                set result [expr "round($original * $multiplier) / $multiplier"];                set comment {"when rounding integers, chop trailing .0 from the value"};                if {$places == 0 || [string is wideinteger $original] == 1} {                   set result [regsub {[.]0*$} $result {}];                };             };] == 0 } {          FME_SetAttribute $attr $result;       } else {          FME_LogMessage fme_warn 917350 {AttributeRounder} $attr;       };   }; }
FACTORY_DEF * TestFactory    FACTORY_NAME AttributeRounder    INPUT  FEATURE_TYPE AttributeManager_OUTPUT    TEST "2" TYPE INT ENCODED    FEATURE_TABLE_SHIM_SUPPORT Yes    OUTPUT PASSED FEATURE_TYPE __toOutput__
FACTORY_DEF * TeeFactory    FACTORY_NAME AttributeRounder_AttributeRounder    INPUT FEATURE_TYPE __toOutput__    OUTPUT FEATURE_TYPE AttributeRounder_OUTPUT         @Tcl2("AttributeRounder_round 2")
# -------------------------------------------------------------------------
FACTORY_DEF {*} AttrSetFactory    FACTORY_NAME AttributeCreator    COMMAND_PARM_EVALUATION SINGLE_PASS    INPUT  FEATURE_TYPE AttributeRounder_OUTPUT    MULTI_FEATURE_MODE NO    NULL_ATTR_MODE NO_OP     ATTRSET_CREATE_DIRECTIVES _PROPAGATE_MISSING_FDIV     ATTR_ACTION { "" "TotalCostDollars" "SET_TO" "<dollar><at>Value<openparen>TotalCostSum<closeparen>" }      ATTR_ACTION { "" "MaterialCostFormatted" "SET_TO" "<dollar><at>Value<openparen>MaterialCost<closeparen>" }      ATTR_ACTION { "" "LabourCostFormatted" "SET_TO" "<dollar><at>Value<openparen>LabourCost<closeparen>" }    OUTPUT OUTPUT FEATURE_TYPE AttributeCreator_OUTPUT
# -------------------------------------------------------------------------
FACTORY_DEF {*} TeeFactory    INPUT  FEATURE_TYPE AttributeCreator_OUTPUT    OUTPUT { FEATURE_TYPE HTMLReportGenerator_2_PROCESSED       fme_html5_title ""       fme_html5_config "HEADER{{TEXT;Work<space>Order<space>Invoice;HEADER;H1;HEADER_ID;;ALIGNMENT;LEFT;COLOR;0<comma>0<comma>0}}TABLE{{STYLE;DEFAULT;TABLE;Status|Status/Contractor|Contractor/Description|Material<space>Type/MaterialCostFormatted|Material<space>Cost/LabourCostFormatted|Labour<space>Cost/TotalCostDollars|Total<space>Cost"       fme_html5_group_by ""       fme_html5_xformer_name "HTMLReportGenerator_2" }
FACTORY_DEF * PythonFactory    FACTORY_NAME HTMLReportGenerator_2    INPUT FEATURE_TYPE HTMLReportGenerator_2_PROCESSED    PYTHON_NAMESPACE FMEOBJECTS    SYMBOL_NAME reportgenerator.html5assembler.HTML5Assembler    OUTPUT PYOUTPUT FEATURE_TYPE HTMLReportGenerator_2_OUTPUT
# -------------------------------------------------------------------------

FACTORY_DEF * RoutingFactory FACTORY_NAME "Destination Feature Type Routing Correlator"   COMMAND_PARM_EVALUATION SINGLE_PASS   INPUT FEATURE_TYPE *    ROUTE FME_GENERIC HTMLReportGenerator_2_OUTPUT TO HTML __GO_TO_FINAL_OUTPUT_ROUTER__ multi_writer_id,0,<at>SupplyAttributes<openparen>ENCODED<comma>__wb_out_feat_type__<comma>HTML<closeparen> GEOMETRY   FEATURE_TYPE_ATTRIBUTE __wb_out_feat_type__   OUTPUT ROUTED FEATURE_TYPE *    OUTPUT NOT_ROUTED FEATURE_TYPE __nuke_me__ @Tcl2("FME_StatMessage 818059 [FME_GetAttribute fme_template_feature_type] 818060 818061 fme_warn")
# -------------------------------------------------------------------------

FACTORY_DEF * TeeFactory   FACTORY_NAME "Final Output Nuker"   INPUT FEATURE_TYPE __nuke_me__

