--- a/project/sparkplug™_mqtt_edge_and_host-stack_b9741afd/function_blocks_8ad6e219/fb_payload_ad205903/fb_payloadpropertyset_8b9bf9e2/8b9bf9e2b91241ae8ceae3fef46bfaa0.object
+++ b/project/sparkplug™_mqtt_edge_and_host-stack_b9741afd/function_blocks_8ad6e219/fb_payload_ad205903/fb_payloadpropertyset_8b9bf9e2/8b9bf9e2b91241ae8ceae3fef46bfaa0.object
@@ -1 +1 @@
-{"payload":{"meta":{"Graph":{"@Type":"81297157","@Value":{"Guid":"(Guid)8b9bf9e2-b912-41ae-8cea-e3fef46bfaa0","ParentGuid":"(Guid)00000000-0000-0000-0000-000000000000","Name":"(string)FB_PayloadPropertySet","Properties":{"@Type":"2c41fa04:IDictionary","@Value":[{"@Key":"(Guid)829a18f2-c514-4f6e-9634-1df173429203","@Value":{"@Type":"829a18f2","@Value":{"ParentObjects":{"@Type":"fa2ee218:IDictionary","@Value":[{"@Key":"(Guid)21af5390-2942-461a-bf89-951aaf6999f1","@Value":"(Guid)ad205903-8508-4926-9d55-99ed8855a066"}]}}}}]},"TypeGuid":"(Guid)6f9dac99-8de1-4efc-8465-68ac443b7d08","EmbeddedTypeGuids":{"@Type":"[Guid]","@Value":["(Guid)a9ed5b7e-75c5-4651-af16-d2c27e98cb94","(Guid)3b83b776-fb25-43b8-99f2-3c507c9143fc"]}}},"TypeInfos":{"2c41fa04":"{2c41fa04-1834-41c1-816e-303c7aa2c05b}","81297157":"{81297157-7ec9-45ce-845e-84cab2b88ade}","829a18f2":"{829a18f2-c514-4f6e-9634-1df173429203}","fa2ee218":"{fa2ee218-a39b-4b6d-b249-49dbddbd168a}","Guid":"System.Guid","string":"System.String"}},"object":{"Graph":{"@Type":"6f9dac99","@Value":{"SpecialFunc":{"@Type":"0db3d7bb:Enum","@Value":"None"},"Implementation":{"@Type":"3b83b776","@Value":{"TextDocument":{"@Type":"f3878285","@Value":{"TextLines":{"@Type":"[a5de0b0b]","@Value":[{"@Type":"a5de0b0b","@Value":{"Id":"(long)2020","Tag":null,"Text":"(string)//This IF statement"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2021","Tag":null,"Text":"(string)IF xDecode AND xEncode THEN //ERROR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2022","Tag":null,"Text":"(string)    xDecodeDone := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2023","Tag":null,"Text":"(string)    xDecodeBusy := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2024","Tag":null,"Text":"(string)    xDecodeError := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2025","Tag":null,"Text":"(string)    eDecodeError := ERROR.PayloadYouCantDoBothAtOnce;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2026","Tag":null,"Text":"(string)    xEncodeDone := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2027","Tag":null,"Text":"(string)    xEncodeBusy := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2028","Tag":null,"Text":"(string)    xEncodeError := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2029","Tag":null,"Text":"(string)    eEncodeError := ERROR.PayloadYouCantDoBothAtOnce;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2030","Tag":null,"Text":"(string)ELSIF NOT xDecode AND NOT xEncode THEN //DO NOTHING, ALL OUTPUTS OFF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2031","Tag":null,"Text":"(string)    xDecodeDone := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2032","Tag":null,"Text":"(string)    xDecodeBusy := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2033","Tag":null,"Text":"(string)    xDecodeError := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2034","Tag":null,"Text":"(string)    eDecodeError := ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2035","Tag":null,"Text":"(string)    xEncodeDone := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2036","Tag":null,"Text":"(string)    xEncodeBusy := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2037","Tag":null,"Text":"(string)    xEncodeError := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2038","Tag":null,"Text":"(string)    eEncodeError := ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2039","Tag":null,"Text":"(string)ELSIF xDecode AND NOT xEncode THEN //Decode"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2040","Tag":null,"Text":"(string)    xDecodeDone := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2041","Tag":null,"Text":"(string)    xDecodeBusy := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2042","Tag":null,"Text":"(string)    xDecodeError := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2043","Tag":null,"Text":"(string)    eDecodeError := ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2044","Tag":null,"Text":"(string)    xEncodeDone := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2045","Tag":null,"Text":"(string)    xEncodeBusy := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2046","Tag":null,"Text":"(string)    xEncodeError := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2047","Tag":null,"Text":"(string)    eEncodeError := ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2048","Tag":null,"Text":"(string)ELSIF NOT xDecode AND xEncode THEN //Encode"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2049","Tag":null,"Text":"(string)    xDecodeDone := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2050","Tag":null,"Text":"(string)    xDecodeBusy := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2051","Tag":null,"Text":"(string)    xDecodeError := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2052","Tag":null,"Text":"(string)    eDecodeError := ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2053","Tag":null,"Text":"(string)    xEncodeDone := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2054","Tag":null,"Text":"(string)    xEncodeBusy := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2055","Tag":null,"Text":"(string)    xEncodeError := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2056","Tag":null,"Text":"(string)    eEncodeError := ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2057","Tag":null,"Text":"(string)END_IF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2058","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2059","Tag":null,"Text":"(string)IF xDecodeBusy THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2060","Tag":null,"Text":"(string)    InitializeStructure();"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2061","Tag":null,"Text":"(string)    eDecodeState := PayloadDecodeStates.object_getlength;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2062","Tag":null,"Text":"(string)    //decode length"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2063","Tag":null,"Text":"(string)    dviTemp := OwnerPayload.DecodeNextVarInt(); //updates i to end of the varint"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2064","Tag":null,"Text":"(string)    lengthOfObject := dviTemp.int32;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2065","Tag":null,"Text":"(string)    finalByteIndex := ProtobufBlobIndex + lengthOfObject;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2066","Tag":null,"Text":"(string)    ProtobufBlobIndex := ProtobufBlobIndex + 1;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2067","Tag":null,"Text":"(string)    eDecodeState := PayloadDecodeStates.object_getmember;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2068","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2069","Tag":null,"Text":"(string)    //for i to i + length - 1"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2070","Tag":null,"Text":"(string)    FOR ProtobufBlobIndex := ProtobufBlobIndex TO finalByteIndex DO"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2071","Tag":null,"Text":"(string)        CASE eDecodeState OF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2072","Tag":null,"Text":"(string)            PayloadDecodeStates.object_getmember:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2073","Tag":null,"Text":"(string)                CASE myProtobufBlob[ProtobufBlobIndex] OF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2074","Tag":null,"Text":"(string)                    16#00: //end of data? padding byte? ERROR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2075","Tag":null,"Text":"(string)                        xDecodeError := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2076","Tag":null,"Text":"(string)                        eDecodeError := ERROR.PayloadFound00;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2077","Tag":null,"Text":"(string)                        ProtobufBlobIndex := protobufBlobMaxIndex; //break out of FOR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2078","Tag":null,"Text":"(string)                    ProtobufedId.PropertySet_keys:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2079","Tag":null,"Text":"(string)                        eDecodeState := PayloadDecodeStates.object_getKey;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2080","Tag":null,"Text":"(string)                    ProtobufedId.PropertySet_values:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2081","Tag":null,"Text":"(string)                        eDecodeState := PayloadDecodeStates.object_getValue;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2082","Tag":null,"Text":"(string)                ELSE //extension... error"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2083","Tag":null,"Text":"(string)                    xDecodeError := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2084","Tag":null,"Text":"(string)                    eDecodeError := ERROR.PayloadFoundExtensions;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2085","Tag":null,"Text":"(string)                    ProtobufBlobIndex := protobufBlobMaxIndex; //break out of FOR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2086","Tag":null,"Text":"(string)                END_CASE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2087","Tag":null,"Text":"(string)            PayloadDecodeStates.object_getKey:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2088","Tag":null,"Text":"(string)                tempKey := OwnerPayload.DecodeNextString();"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2089","Tag":null,"Text":"(string)                eDecodeError := AddKey(KeyName := tempKey,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2090","Tag":null,"Text":"(string)                    OwnerPayload := OwnerPayload);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2091","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2092","Tag":null,"Text":"(string)                IF eDecodeError = ERROR.NO_ERROR THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2093","Tag":null,"Text":"(string)                    eDecodeState := PayloadDecodeStates.object_getmember;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2094","Tag":null,"Text":"(string)                ELSE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2095","Tag":null,"Text":"(string)                    xDecodeError := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2096","Tag":null,"Text":"(string)                    ProtobufBlobIndex := protobufBlobMaxIndex; //break out of FOR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2097","Tag":null,"Text":"(string)                END_IF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2098","Tag":null,"Text":"(string)            PayloadDecodeStates.object_getValue:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2099","Tag":null,"Text":"(string)                //So i imagine, a metric should be able to decode itself, in one go"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2100","Tag":null,"Text":"(string)                recentlyClaimedValue REF= AddValueBlank(OwnerPayload := OwnerPayload,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2101","Tag":null,"Text":"(string)                    eError => eDecodeError);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2102","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2103","Tag":null,"Text":"(string)                IF eDecodeError = ERROR.NO_ERROR THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2104","Tag":null,"Text":"(string)                    //i starts off now pointing to the first byte of the Metric"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2105","Tag":null,"Text":"(string)                    THIS^.recentlyClaimedValue(xDecode := TRUE,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2106","Tag":null,"Text":"(string)                        xEncode := FALSE,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2107","Tag":null,"Text":"(string)                        protobufBlobMaxIndex := protobufBlobMaxIndex,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2108","Tag":null,"Text":"(string)                        OwnerPayload := OwnerPayload,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2109","Tag":null,"Text":"(string)                        ProtobufBlobIndex := ProtobufBlobIndex,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2110","Tag":null,"Text":"(string)                        myProtobufBlob := myProtobufBlob,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2111","Tag":null,"Text":"(string)                        xDecodeDone =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2112","Tag":null,"Text":"(string)                        xDecodeBusy =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2113","Tag":null,"Text":"(string)                        xDecodeError => xDecodeError,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2114","Tag":null,"Text":"(string)                        eDecodeError => eDecodeError);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2115","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2116","Tag":null,"Text":"(string)                    IF recentlyClaimedValue.xDecodeDone THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2117","Tag":null,"Text":"(string)                        //SUCCESS! the latest object has now been decoded"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2118","Tag":null,"Text":"(string)                        //i is now pointing to the very last byte of the object"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2119","Tag":null,"Text":"(string)                        eDecodeState := PayloadDecodeStates.object_getmember;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2120","Tag":null,"Text":"(string)                    ELSE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2121","Tag":null,"Text":"(string)                        ProtobufBlobIndex := protobufBlobMaxIndex; //break out of FOR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2122","Tag":null,"Text":"(string)                    END_IF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2123","Tag":null,"Text":"(string)                ELSE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2124","Tag":null,"Text":"(string)                    xDecodeError := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2125","Tag":null,"Text":"(string)                    //eDecodeError := ERROR.Can't Claim Metric;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2126","Tag":null,"Text":"(string)                    ProtobufBlobIndex := protobufBlobMaxIndex; //break out of FOR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2127","Tag":null,"Text":"(string)                END_IF;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2128","Tag":null,"Text":"(string)        END_CASE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2129","Tag":null,"Text":"(string)    END_FOR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2130","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2131","Tag":null,"Text":"(string)    IF NOT xDecodeError THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2132","Tag":null,"Text":"(string)        ProtobufBlobIndex := ProtobufBlobIndex - 1; //i is now final byte index.\t"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2133","Tag":null,"Text":"(string)    END_IF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2134","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2135","Tag":null,"Text":"(string)    eDecodeState := PayloadDecodeStates.idle;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2136","Tag":null,"Text":"(string)    xDecodeDone := NOT xDecodeError;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2137","Tag":null,"Text":"(string)    xDecodeBusy := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2138","Tag":null,"Text":"(string)END_IF;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2139","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2140","Tag":null,"Text":"(string)IF xEncodeBusy THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2141","Tag":null,"Text":"(string)    //NOTE: BLOB Data will not be initialized to 00."}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2142","Tag":null,"Text":"(string)    //But we will start with a 0 byte payload."}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2143","Tag":null,"Text":"(string)    //store the starting byte, because we need it right at the end"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2144","Tag":null,"Text":"(string)    startingByteOfEncodedData := ProtobufBlobIndex;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2145","Tag":null,"Text":"(string)    //Enocde All Keys"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2146","Tag":null,"Text":"(string)    _Keys.ItterateRestart(HasNext => _COL_HasNext);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2147","Tag":null,"Text":"(string)    WHILE _COL_HasNext AND (eEncodeError = ERROR.NO_ERROR) DO"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2148","Tag":null,"Text":"(string)        _Values.ItterateNext(itfElement => _COL_Element,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2149","Tag":null,"Text":"(string)            HasNext => _COL_HasNext);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2150","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2151","Tag":null,"Text":"(string)        IF __QUERYPOINTER(_COL_Element,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2152","Tag":null,"Text":"(string)            nextValueToEncode) THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2153","Tag":null,"Text":"(string)            eEncodeError := OwnerPayload.EncodeNextString(ProtobufFieldNumber := 1,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2154","Tag":null,"Text":"(string)                ValueToEncode := nextKeyToEncode^.WStringValue);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2155","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2156","Tag":null,"Text":"(string)            xEncodeError := eEncodeError <> ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2157","Tag":null,"Text":"(string)        END_IF;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2158","Tag":null,"Text":"(string)    END_WHILE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2159","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2160","Tag":null,"Text":"(string)    //Encode All Values"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2161","Tag":null,"Text":"(string)    _Values.ItterateRestart(HasNext => _COL_HasNext);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2162","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2163","Tag":null,"Text":"(string)    WHILE _COL_HasNext AND (eEncodeError = ERROR.NO_ERROR) DO"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2164","Tag":null,"Text":"(string)        _Values.ItterateNext(itfElement => _COL_Element,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2165","Tag":null,"Text":"(string)            HasNext => _COL_HasNext);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2166","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2167","Tag":null,"Text":"(string)        IF __QUERYPOINTER(_COL_Element,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2168","Tag":null,"Text":"(string)            nextValueToEncode) THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2169","Tag":null,"Text":"(string)            nextValueToEncode^(xDecode := FALSE,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2170","Tag":null,"Text":"(string)                xEncode := TRUE,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2171","Tag":null,"Text":"(string)                protobufBlobMaxIndex := protobufBlobMaxIndex,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2172","Tag":null,"Text":"(string)                OwnerPayload := OwnerPayload,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2173","Tag":null,"Text":"(string)                ProtobufBlobIndex := ProtobufBlobIndex,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2174","Tag":null,"Text":"(string)                myProtobufBlob := myProtobufBlob,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2175","Tag":null,"Text":"(string)                xDecodeDone =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2176","Tag":null,"Text":"(string)                xDecodeBusy =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2177","Tag":null,"Text":"(string)                xDecodeError =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2178","Tag":null,"Text":"(string)                eDecodeError =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2179","Tag":null,"Text":"(string)                xEncodeDone =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2180","Tag":null,"Text":"(string)                xEncodeBusy =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2181","Tag":null,"Text":"(string)                xEncodeError => xEncodeError,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2182","Tag":null,"Text":"(string)                eEncodeError => eEncodeError);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2183","Tag":null,"Text":"(string)        END_IF;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2184","Tag":null,"Text":"(string)    END_WHILE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2185","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2186","Tag":null,"Text":"(string)    //Field number and length and we're done!"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2187","Tag":null,"Text":"(string)    IF eEncodeError = ERROR.NO_ERROR THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2188","Tag":null,"Text":"(string)        //{info 'todo: i-campbell Make these field numbers a GVL'}"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2189","Tag":null,"Text":"(string)        eEncodeError := OwnerPayload.ReencodeLengthDelimited(ProtobufFieldNumber := ProtobufFieldNumber,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2190","Tag":null,"Text":"(string)            startingByteOfEncodedData := startingByteOfEncodedData);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2191","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2192","Tag":null,"Text":"(string)        xEncodeError := eEncodeError <> ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2193","Tag":null,"Text":"(string)    END_IF;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2194","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2195","Tag":null,"Text":"(string)    //DONE :)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2196","Tag":null,"Text":"(string)    xEncodeDone := NOT xEncodeError;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2197","Tag":null,"Text":"(string)    xEncodeBusy := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)9","Tag":null,"Text":"(string)END_IF;"}}]}}}}},"Interface":{"@Type":"a9ed5b7e","@Value":{"TextDocument":{"@Type":"f3878285","@Value":{"TextLines":{"@Type":"[a5de0b0b]","@Value":[{"@Type":"a5de0b0b","@Value":{"Id":"(long)1979","Tag":null,"Text":"(string){attribute 'hide'}"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)1980","Tag":null,"Text":"(string)FUNCTION_BLOCK FB_PayloadPropertySet IMPLEMENTS LinkedList.IElement"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)1981","Tag":null,"Text":"(string)VAR_INPUT"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)1982","Tag":null,"Text":"(string)    (*Trigers for conversion*)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)1983","Tag":null,"Text":"(string)    xDecode : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)1984","Tag":null,"Text":"(string)    xEncode : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)1985","Tag":null,"Text":"(string)    protobufBlobMaxIndex : DINT;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)1986","Tag":null,"Text":"(string)    ProtobufFieldNumber : UDINT := 9; // From Metric or PropertyValue, this is 9.  From PropertySetList, this is 1"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)1987","Tag":null,"Text":"(string)    PoolManager : IPoolManager;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)1988","Tag":null,"Text":"(string)END_VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)1989","Tag":null,"Text":"(string)VAR_IN_OUT"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)1990","Tag":null,"Text":"(string)    OwnerPayload : FB_Payload; //He manages the assigning of Pool Objects"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)1991","Tag":null,"Text":"(string)    ProtobufBlobIndex : DINT; //For decoding, starts where the start of the Metric is, ends on the last byte of the Metric.  For Encoding, starts where the first byte of the Metric should be written to, ends on the next free byte after this metric"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)1992","Tag":null,"Text":"(string)    myProtobufBlob : ARRAY[*] OF BYTE; //array of bytes containing the protobuf payload.  If the array is the whole"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)1993","Tag":null,"Text":"(string)END_VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)1994","Tag":null,"Text":"(string)VAR_OUTPUT"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)1995","Tag":null,"Text":"(string)    xDecodeDone, xDecodeBusy, xDecodeError : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)1996","Tag":null,"Text":"(string)    eDecodeError : ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)1997","Tag":null,"Text":"(string)    xEncodeDone, xEncodeBusy, xEncodeError : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)1998","Tag":null,"Text":"(string)    eEncodeError : ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)1999","Tag":null,"Text":"(string)END_VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2000","Tag":null,"Text":"(string)VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2001","Tag":null,"Text":"(string)    (*Internal variables*)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2002","Tag":null,"Text":"(string)    dviTemp : DecodedVarInt;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2003","Tag":null,"Text":"(string)    startingByteOfEncodedData : DINT;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2004","Tag":null,"Text":"(string)    eDecodeState : PayloadDecodeStates;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2005","Tag":null,"Text":"(string)    lengthOfObject : DINT;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2006","Tag":null,"Text":"(string)    finalByteIndex : DINT;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2007","Tag":null,"Text":"(string)    _Keys : LinkedList.List; // OF LinkedListWStringElement"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2008","Tag":null,"Text":"(string)    _Values : LinkedList.List; // OF FB_PayloadPropertyValue"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2009","Tag":null,"Text":"(string)    tempKey : WSTRING(GC_Sparkplug.supported_string_lengths);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2010","Tag":null,"Text":"(string)    nextKeyToEncode : POINTER TO LinkedListWStringElement;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2011","Tag":null,"Text":"(string)    recentlyClaimedValue : REFERENCE TO FB_PayloadPropertyValue;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2012","Tag":null,"Text":"(string)    nextValueToEncode : POINTER TO FB_PayloadPropertyValue;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2013","Tag":null,"Text":"(string)    _COL_HasNext : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2014","Tag":null,"Text":"(string)    _COL_Element : LinkedList.IElement;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2015","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2016","Tag":null,"Text":"(string)    // LinkedList.IElement"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2017","Tag":null,"Text":"(string)    _itfPrev : LinkedList.IElement;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2018","Tag":null,"Text":"(string)    _itfNext : LinkedList.IElement;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2019","Tag":null,"Text":"(string)    _itfList : LinkedList.IList;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)41","Tag":null,"Text":"(string)END_VAR"}}]}}}}},"UniqueIdGenerator":"(string)2197","POULevel":{"@Type":"8e575c5b:Enum","@Value":"Standard"},"ChildObjectGuids":{"@Type":"ArrayList:IList","@Value":[]},"AddAttributeSubsequent":"(bool)False"}},"TypeInfos":{"0db3d7bb":"{0db3d7bb-cde0-4416-9a7b-ce49a0124323}","3b83b776":"{3b83b776-fb25-43b8-99f2-3c507c9143fc}","6f9dac99":"{6f9dac99-8de1-4efc-8465-68ac443b7d08}","8e575c5b":"{8e575c5b-1d37-49c6-941b-5c0ec7874787}","a5de0b0b":"{a5de0b0b-1cb5-4913-ac21-9d70293ec00d}","a9ed5b7e":"{a9ed5b7e-75c5-4651-af16-d2c27e98cb94}","ArrayList":"System.Collections.ArrayList","bool":"System.Boolean","f3878285":"{f3878285-8e4f-490b-bb1b-9acbb7eb04db}","long":"System.Int64","string":"System.String"}}},"FormatVersion":"1.0"}
\ No newline at end of file
+{"payload":{"meta":{"Graph":{"@Type":"81297157","@Value":{"Guid":"(Guid)8b9bf9e2-b912-41ae-8cea-e3fef46bfaa0","ParentGuid":"(Guid)00000000-0000-0000-0000-000000000000","Name":"(string)FB_PayloadPropertySet","Properties":{"@Type":"2c41fa04:IDictionary","@Value":[{"@Key":"(Guid)829a18f2-c514-4f6e-9634-1df173429203","@Value":{"@Type":"829a18f2","@Value":{"ParentObjects":{"@Type":"fa2ee218:IDictionary","@Value":[{"@Key":"(Guid)21af5390-2942-461a-bf89-951aaf6999f1","@Value":"(Guid)ad205903-8508-4926-9d55-99ed8855a066"}]}}}}]},"TypeGuid":"(Guid)6f9dac99-8de1-4efc-8465-68ac443b7d08","EmbeddedTypeGuids":{"@Type":"[Guid]","@Value":["(Guid)a9ed5b7e-75c5-4651-af16-d2c27e98cb94","(Guid)3b83b776-fb25-43b8-99f2-3c507c9143fc"]}}},"TypeInfos":{"2c41fa04":"{2c41fa04-1834-41c1-816e-303c7aa2c05b}","81297157":"{81297157-7ec9-45ce-845e-84cab2b88ade}","829a18f2":"{829a18f2-c514-4f6e-9634-1df173429203}","fa2ee218":"{fa2ee218-a39b-4b6d-b249-49dbddbd168a}","Guid":"System.Guid","string":"System.String"}},"object":{"Graph":{"@Type":"6f9dac99","@Value":{"SpecialFunc":{"@Type":"0db3d7bb:Enum","@Value":"None"},"Implementation":{"@Type":"3b83b776","@Value":{"TextDocument":{"@Type":"f3878285","@Value":{"TextLines":{"@Type":"[a5de0b0b]","@Value":[{"@Type":"a5de0b0b","@Value":{"Id":"(long)2020","Tag":null,"Text":"(string)//This IF statement"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2021","Tag":null,"Text":"(string)IF xDecode AND xEncode THEN //ERROR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2022","Tag":null,"Text":"(string)    xDecodeDone := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2023","Tag":null,"Text":"(string)    xDecodeBusy := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2024","Tag":null,"Text":"(string)    xDecodeError := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2025","Tag":null,"Text":"(string)    eDecodeError := ERROR.PayloadYouCantDoBothAtOnce;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2026","Tag":null,"Text":"(string)    xEncodeDone := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2027","Tag":null,"Text":"(string)    xEncodeBusy := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2028","Tag":null,"Text":"(string)    xEncodeError := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2029","Tag":null,"Text":"(string)    eEncodeError := ERROR.PayloadYouCantDoBothAtOnce;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2030","Tag":null,"Text":"(string)ELSIF NOT xDecode AND NOT xEncode THEN //DO NOTHING, ALL OUTPUTS OFF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2031","Tag":null,"Text":"(string)    xDecodeDone := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2032","Tag":null,"Text":"(string)    xDecodeBusy := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2033","Tag":null,"Text":"(string)    xDecodeError := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2034","Tag":null,"Text":"(string)    eDecodeError := ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2035","Tag":null,"Text":"(string)    xEncodeDone := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2036","Tag":null,"Text":"(string)    xEncodeBusy := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2037","Tag":null,"Text":"(string)    xEncodeError := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2038","Tag":null,"Text":"(string)    eEncodeError := ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2039","Tag":null,"Text":"(string)ELSIF xDecode AND NOT xEncode THEN //Decode"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2040","Tag":null,"Text":"(string)    xDecodeDone := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2041","Tag":null,"Text":"(string)    xDecodeBusy := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2042","Tag":null,"Text":"(string)    xDecodeError := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2043","Tag":null,"Text":"(string)    eDecodeError := ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2044","Tag":null,"Text":"(string)    xEncodeDone := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2045","Tag":null,"Text":"(string)    xEncodeBusy := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2046","Tag":null,"Text":"(string)    xEncodeError := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2047","Tag":null,"Text":"(string)    eEncodeError := ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2048","Tag":null,"Text":"(string)ELSIF NOT xDecode AND xEncode THEN //Encode"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2049","Tag":null,"Text":"(string)    xDecodeDone := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2050","Tag":null,"Text":"(string)    xDecodeBusy := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2051","Tag":null,"Text":"(string)    xDecodeError := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2052","Tag":null,"Text":"(string)    eDecodeError := ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2053","Tag":null,"Text":"(string)    xEncodeDone := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2054","Tag":null,"Text":"(string)    xEncodeBusy := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2055","Tag":null,"Text":"(string)    xEncodeError := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2056","Tag":null,"Text":"(string)    eEncodeError := ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2057","Tag":null,"Text":"(string)END_IF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2058","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2059","Tag":null,"Text":"(string)IF xDecodeBusy THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2060","Tag":null,"Text":"(string)    InitializeStructure();"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2061","Tag":null,"Text":"(string)    eDecodeState := PayloadDecodeStates.object_getlength;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2062","Tag":null,"Text":"(string)    //decode length"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2063","Tag":null,"Text":"(string)    dviTemp := OwnerPayload.DecodeNextVarInt(); //updates i to end of the varint"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2064","Tag":null,"Text":"(string)    lengthOfObject := dviTemp.int32;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2065","Tag":null,"Text":"(string)    finalByteIndex := ProtobufBlobIndex + lengthOfObject;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2066","Tag":null,"Text":"(string)    ProtobufBlobIndex := ProtobufBlobIndex + 1;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2067","Tag":null,"Text":"(string)    eDecodeState := PayloadDecodeStates.object_getmember;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2068","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2069","Tag":null,"Text":"(string)    //for i to i + length - 1"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2070","Tag":null,"Text":"(string)    FOR ProtobufBlobIndex := ProtobufBlobIndex TO finalByteIndex DO"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2071","Tag":null,"Text":"(string)        CASE eDecodeState OF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2072","Tag":null,"Text":"(string)            PayloadDecodeStates.object_getmember:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2073","Tag":null,"Text":"(string)                CASE myProtobufBlob[ProtobufBlobIndex] OF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2074","Tag":null,"Text":"(string)                    16#00: //end of data? padding byte? ERROR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2075","Tag":null,"Text":"(string)                        xDecodeError := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2076","Tag":null,"Text":"(string)                        eDecodeError := ERROR.PayloadFound00;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2077","Tag":null,"Text":"(string)                        ProtobufBlobIndex := protobufBlobMaxIndex; //break out of FOR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2078","Tag":null,"Text":"(string)                    ProtobufedId.PropertySet_keys:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2079","Tag":null,"Text":"(string)                        eDecodeState := PayloadDecodeStates.object_getKey;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2080","Tag":null,"Text":"(string)                    ProtobufedId.PropertySet_values:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2081","Tag":null,"Text":"(string)                        eDecodeState := PayloadDecodeStates.object_getValue;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2082","Tag":null,"Text":"(string)                ELSE //extension... error"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2083","Tag":null,"Text":"(string)                    xDecodeError := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2084","Tag":null,"Text":"(string)                    eDecodeError := ERROR.PayloadFoundExtensions;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2085","Tag":null,"Text":"(string)                    ProtobufBlobIndex := protobufBlobMaxIndex; //break out of FOR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2086","Tag":null,"Text":"(string)                END_CASE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2087","Tag":null,"Text":"(string)            PayloadDecodeStates.object_getKey:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2088","Tag":null,"Text":"(string)                tempKey := OwnerPayload.DecodeNextString();"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2089","Tag":null,"Text":"(string)                eDecodeError := AddKey(KeyName := tempKey,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2090","Tag":null,"Text":"(string)                    OwnerPayload := OwnerPayload);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2091","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2092","Tag":null,"Text":"(string)                IF eDecodeError = ERROR.NO_ERROR THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2093","Tag":null,"Text":"(string)                    eDecodeState := PayloadDecodeStates.object_getmember;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2094","Tag":null,"Text":"(string)                ELSE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2095","Tag":null,"Text":"(string)                    xDecodeError := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2096","Tag":null,"Text":"(string)                    ProtobufBlobIndex := protobufBlobMaxIndex; //break out of FOR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2097","Tag":null,"Text":"(string)                END_IF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2098","Tag":null,"Text":"(string)            PayloadDecodeStates.object_getValue:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2099","Tag":null,"Text":"(string)                //So i imagine, a metric should be able to decode itself, in one go"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2100","Tag":null,"Text":"(string)                recentlyClaimedValue REF= AddValueBlank(OwnerPayload := OwnerPayload,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2101","Tag":null,"Text":"(string)                    eError => eDecodeError);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2102","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2103","Tag":null,"Text":"(string)                IF eDecodeError = ERROR.NO_ERROR THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2104","Tag":null,"Text":"(string)                    //i starts off now pointing to the first byte of the Metric"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2105","Tag":null,"Text":"(string)                    THIS^.recentlyClaimedValue(xDecode := TRUE,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2106","Tag":null,"Text":"(string)                        xEncode := FALSE,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2107","Tag":null,"Text":"(string)                        protobufBlobMaxIndex := protobufBlobMaxIndex,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2108","Tag":null,"Text":"(string)                        OwnerPayload := OwnerPayload,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2109","Tag":null,"Text":"(string)                        ProtobufBlobIndex := ProtobufBlobIndex,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2110","Tag":null,"Text":"(string)                        myProtobufBlob := myProtobufBlob,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2111","Tag":null,"Text":"(string)                        xDecodeDone =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2112","Tag":null,"Text":"(string)                        xDecodeBusy =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2113","Tag":null,"Text":"(string)                        xDecodeError => xDecodeError,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2114","Tag":null,"Text":"(string)                        eDecodeError => eDecodeError);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2115","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2116","Tag":null,"Text":"(string)                    IF recentlyClaimedValue.xDecodeDone THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2117","Tag":null,"Text":"(string)                        //SUCCESS! the latest object has now been decoded"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2118","Tag":null,"Text":"(string)                        //i is now pointing to the very last byte of the object"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2119","Tag":null,"Text":"(string)                        eDecodeState := PayloadDecodeStates.object_getmember;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2120","Tag":null,"Text":"(string)                    ELSE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2121","Tag":null,"Text":"(string)                        ProtobufBlobIndex := protobufBlobMaxIndex; //break out of FOR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2122","Tag":null,"Text":"(string)                    END_IF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2123","Tag":null,"Text":"(string)                ELSE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2124","Tag":null,"Text":"(string)                    xDecodeError := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2125","Tag":null,"Text":"(string)                    //eDecodeError := ERROR.Can't Claim Metric;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2126","Tag":null,"Text":"(string)                    ProtobufBlobIndex := protobufBlobMaxIndex; //break out of FOR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2127","Tag":null,"Text":"(string)                END_IF;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2128","Tag":null,"Text":"(string)        END_CASE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2129","Tag":null,"Text":"(string)    END_FOR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2130","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2131","Tag":null,"Text":"(string)    IF NOT xDecodeError THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2132","Tag":null,"Text":"(string)        ProtobufBlobIndex := ProtobufBlobIndex - 1; //i is now final byte index.\t"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2133","Tag":null,"Text":"(string)    END_IF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2134","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2135","Tag":null,"Text":"(string)    eDecodeState := PayloadDecodeStates.idle;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2136","Tag":null,"Text":"(string)    xDecodeDone := NOT xDecodeError;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2137","Tag":null,"Text":"(string)    xDecodeBusy := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2138","Tag":null,"Text":"(string)END_IF;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2139","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2140","Tag":null,"Text":"(string)IF xEncodeBusy THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2141","Tag":null,"Text":"(string)    //NOTE: BLOB Data will not be initialized to 00."}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2142","Tag":null,"Text":"(string)    //But we will start with a 0 byte payload."}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2143","Tag":null,"Text":"(string)    //store the starting byte, because we need it right at the end"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2144","Tag":null,"Text":"(string)    startingByteOfEncodedData := ProtobufBlobIndex;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2145","Tag":null,"Text":"(string)    //Enocde All Keys"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2146","Tag":null,"Text":"(string)    _Keys.ItterateRestart(HasNext => _COL_HasNext);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2147","Tag":null,"Text":"(string)    WHILE _COL_HasNext AND (eEncodeError = ERROR.NO_ERROR) DO"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2148","Tag":null,"Text":"(string)        _Keys.ItterateNext(itfElement => _COL_Element,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2149","Tag":null,"Text":"(string)            HasNext => _COL_HasNext);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2150","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2151","Tag":null,"Text":"(string)        IF __QUERYPOINTER(_COL_Element,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2152","Tag":null,"Text":"(string)            nextKeyToEncode) THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2153","Tag":null,"Text":"(string)            eEncodeError := OwnerPayload.EncodeNextString(ProtobufFieldNumber := 1,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2154","Tag":null,"Text":"(string)                ValueToEncode := nextKeyToEncode^.WStringValue);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2155","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2156","Tag":null,"Text":"(string)            xEncodeError := eEncodeError <> ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2157","Tag":null,"Text":"(string)        END_IF;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2158","Tag":null,"Text":"(string)    END_WHILE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2159","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2160","Tag":null,"Text":"(string)    //Encode All Values"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2161","Tag":null,"Text":"(string)    _Values.ItterateRestart(HasNext => _COL_HasNext);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2162","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2163","Tag":null,"Text":"(string)    WHILE _COL_HasNext AND (eEncodeError = ERROR.NO_ERROR) DO"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2164","Tag":null,"Text":"(string)        _Values.ItterateNext(itfElement => _COL_Element,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2165","Tag":null,"Text":"(string)            HasNext => _COL_HasNext);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2166","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2167","Tag":null,"Text":"(string)        IF __QUERYPOINTER(_COL_Element,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2168","Tag":null,"Text":"(string)            nextValueToEncode) THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2169","Tag":null,"Text":"(string)            nextValueToEncode^(xDecode := FALSE,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2170","Tag":null,"Text":"(string)                xEncode := TRUE,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2171","Tag":null,"Text":"(string)                protobufBlobMaxIndex := protobufBlobMaxIndex,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2172","Tag":null,"Text":"(string)                OwnerPayload := OwnerPayload,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2173","Tag":null,"Text":"(string)                ProtobufBlobIndex := ProtobufBlobIndex,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2174","Tag":null,"Text":"(string)                myProtobufBlob := myProtobufBlob,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2175","Tag":null,"Text":"(string)                xDecodeDone =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2176","Tag":null,"Text":"(string)                xDecodeBusy =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2177","Tag":null,"Text":"(string)                xDecodeError =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2178","Tag":null,"Text":"(string)                eDecodeError =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2179","Tag":null,"Text":"(string)                xEncodeDone =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2180","Tag":null,"Text":"(string)                xEncodeBusy =>,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2181","Tag":null,"Text":"(string)                xEncodeError => xEncodeError,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2182","Tag":null,"Text":"(string)                eEncodeError => eEncodeError);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2183","Tag":null,"Text":"(string)        END_IF;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2184","Tag":null,"Text":"(string)    END_WHILE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2185","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2186","Tag":null,"Text":"(string)    //Field number and length and we're done!"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2187","Tag":null,"Text":"(string)    IF eEncodeError = ERROR.NO_ERROR THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2188","Tag":null,"Text":"(string)        //{info 'todo: i-campbell Make these field numbers a GVL'}"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2189","Tag":null,"Text":"(string)        eEncodeError := OwnerPayload.ReencodeLengthDelimited(ProtobufFieldNumber := ProtobufFieldNumber,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2190","Tag":null,"Text":"(string)            startingByteOfEncodedData := startingByteOfEncodedData);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2191","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2192","Tag":null,"Text":"(string)        xEncodeError := eEncodeError <> ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2193","Tag":null,"Text":"(string)    END_IF;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2194","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2195","Tag":null,"Text":"(string)    //DONE :)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2196","Tag":null,"Text":"(string)    xEncodeDone := NOT xEncodeError;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2197","Tag":null,"Text":"(string)    xEncodeBusy := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)9","Tag":null,"Text":"(string)END_IF;"}}]}}}}},"Interface":{"@Type":"a9ed5b7e","@Value":{"TextDocument":{"@Type":"f3878285","@Value":{"TextLines":{"@Type":"[a5de0b0b]","@Value":[{"@Type":"a5de0b0b","@Value":{"Id":"(long)1979","Tag":null,"Text":"(string){attribute 'hide'}"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)1980","Tag":null,"Text":"(string)FUNCTION_BLOCK FB_PayloadPropertySet IMPLEMENTS LinkedList.IElement"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)1981","Tag":null,"Text":"(string)VAR_INPUT"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)1982","Tag":null,"Text":"(string)    (*Trigers for conversion*)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)1983","Tag":null,"Text":"(string)    xDecode : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)1984","Tag":null,"Text":"(string)    xEncode : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)1985","Tag":null,"Text":"(string)    protobufBlobMaxIndex : DINT;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)1986","Tag":null,"Text":"(string)    ProtobufFieldNumber : UDINT := 9; // From Metric or PropertyValue, this is 9.  From PropertySetList, this is 1"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)1987","Tag":null,"Text":"(string)    PoolManager : IPoolManager;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)1988","Tag":null,"Text":"(string)END_VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)1989","Tag":null,"Text":"(string)VAR_IN_OUT"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)1990","Tag":null,"Text":"(string)    OwnerPayload : FB_Payload; //He manages the assigning of Pool Objects"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)1991","Tag":null,"Text":"(string)    ProtobufBlobIndex : DINT; //For decoding, starts where the start of the Metric is, ends on the last byte of the Metric.  For Encoding, starts where the first byte of the Metric should be written to, ends on the next free byte after this metric"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)1992","Tag":null,"Text":"(string)    myProtobufBlob : ARRAY[*] OF BYTE; //array of bytes containing the protobuf payload.  If the array is the whole"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)1993","Tag":null,"Text":"(string)END_VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)1994","Tag":null,"Text":"(string)VAR_OUTPUT"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)1995","Tag":null,"Text":"(string)    xDecodeDone, xDecodeBusy, xDecodeError : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)1996","Tag":null,"Text":"(string)    eDecodeError : ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)1997","Tag":null,"Text":"(string)    xEncodeDone, xEncodeBusy, xEncodeError : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)1998","Tag":null,"Text":"(string)    eEncodeError : ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)1999","Tag":null,"Text":"(string)END_VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2000","Tag":null,"Text":"(string)VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2001","Tag":null,"Text":"(string)    (*Internal variables*)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2002","Tag":null,"Text":"(string)    dviTemp : DecodedVarInt;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2003","Tag":null,"Text":"(string)    startingByteOfEncodedData : DINT;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2004","Tag":null,"Text":"(string)    eDecodeState : PayloadDecodeStates;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2005","Tag":null,"Text":"(string)    lengthOfObject : DINT;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2006","Tag":null,"Text":"(string)    finalByteIndex : DINT;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2007","Tag":null,"Text":"(string)    _Keys : LinkedList.List; // OF LinkedListWStringElement"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2008","Tag":null,"Text":"(string)    _Values : LinkedList.List; // OF FB_PayloadPropertyValue"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2009","Tag":null,"Text":"(string)    tempKey : WSTRING(GC_Sparkplug.supported_string_lengths);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2010","Tag":null,"Text":"(string)    nextKeyToEncode : POINTER TO LinkedListWStringElement;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2011","Tag":null,"Text":"(string)    recentlyClaimedValue : REFERENCE TO FB_PayloadPropertyValue;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2012","Tag":null,"Text":"(string)    nextValueToEncode : POINTER TO FB_PayloadPropertyValue;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2013","Tag":null,"Text":"(string)    _COL_HasNext : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2014","Tag":null,"Text":"(string)    _COL_Element : LinkedList.IElement;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2015","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2016","Tag":null,"Text":"(string)    // LinkedList.IElement"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2017","Tag":null,"Text":"(string)    _itfPrev : LinkedList.IElement;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2018","Tag":null,"Text":"(string)    _itfNext : LinkedList.IElement;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2019","Tag":null,"Text":"(string)    _itfList : LinkedList.IList;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)41","Tag":null,"Text":"(string)END_VAR"}}]}}}}},"UniqueIdGenerator":"(string)2197","POULevel":{"@Type":"8e575c5b:Enum","@Value":"Standard"},"ChildObjectGuids":{"@Type":"ArrayList:IList","@Value":[]},"AddAttributeSubsequent":"(bool)False"}},"TypeInfos":{"0db3d7bb":"{0db3d7bb-cde0-4416-9a7b-ce49a0124323}","3b83b776":"{3b83b776-fb25-43b8-99f2-3c507c9143fc}","6f9dac99":"{6f9dac99-8de1-4efc-8465-68ac443b7d08}","8e575c5b":"{8e575c5b-1d37-49c6-941b-5c0ec7874787}","a5de0b0b":"{a5de0b0b-1cb5-4913-ac21-9d70293ec00d}","a9ed5b7e":"{a9ed5b7e-75c5-4651-af16-d2c27e98cb94}","ArrayList":"System.Collections.ArrayList","bool":"System.Boolean","f3878285":"{f3878285-8e4f-490b-bb1b-9acbb7eb04db}","long":"System.Int64","string":"System.String"}}},"FormatVersion":"1.0"}
\ No newline at end of file