From 385e15fc22f48a1f8d40b8263a54155fdab499ea Mon Sep 17 00:00:00 2001 From: stuebinm Date: Wed, 17 Apr 2024 01:21:33 +0200 Subject: replace protocol-buffers with proto-lens I do not really like either option, but at least the second one seems more likely to be maintained (and a little less clunky to use, too, for what it's worth). --- default.nix | 40 +- gtfs-realtime/Proto/GtfsRealtime.hs | 9868 ++++++++++++++++++++ gtfs-realtime/Proto/GtfsRealtime_Fields.hs | 818 ++ gtfs/GTFS/Realtime.hs | 25 - gtfs/GTFS/Realtime/Alert.hs | 204 - gtfs/GTFS/Realtime/Alert/Cause.hs | 118 - gtfs/GTFS/Realtime/Alert/Effect.hs | 114 - gtfs/GTFS/Realtime/Alert/SeverityLevel.hs | 76 - gtfs/GTFS/Realtime/EntitySelector.hs | 125 - gtfs/GTFS/Realtime/FeedEntity.hs | 132 - gtfs/GTFS/Realtime/FeedHeader.hs | 104 - gtfs/GTFS/Realtime/FeedHeader/Incrementality.hs | 67 - gtfs/GTFS/Realtime/FeedMessage.hs | 97 - gtfs/GTFS/Realtime/Position.hs | 112 - gtfs/GTFS/Realtime/Shape.hs | 94 - gtfs/GTFS/Realtime/TimeRange.hs | 94 - gtfs/GTFS/Realtime/TranslatedImage.hs | 93 - .../Realtime/TranslatedImage/LocalizedImage.hs | 101 - gtfs/GTFS/Realtime/TranslatedString.hs | 92 - gtfs/GTFS/Realtime/TranslatedString/Translation.hs | 94 - gtfs/GTFS/Realtime/TripDescriptor.hs | 128 - .../TripDescriptor/ScheduleRelationship.hs | 91 - gtfs/GTFS/Realtime/TripUpdate.hs | 133 - gtfs/GTFS/Realtime/TripUpdate/StopTimeEvent.hs | 101 - gtfs/GTFS/Realtime/TripUpdate/StopTimeUpdate.hs | 149 - .../StopTimeUpdate/ScheduleRelationship.hs | 83 - .../StopTimeUpdate/StopTimeProperties.hs | 89 - gtfs/GTFS/Realtime/TripUpdate/TripProperties.hs | 108 - gtfs/GTFS/Realtime/VehicleDescriptor.hs | 101 - gtfs/GTFS/Realtime/VehiclePosition.hs | 183 - .../Realtime/VehiclePosition/CarriageDetails.hs | 120 - .../Realtime/VehiclePosition/CongestionLevel.hs | 85 - .../Realtime/VehiclePosition/OccupancyStatus.hs | 109 - .../Realtime/VehiclePosition/VehicleStopStatus.hs | 73 - gtfs/Servant/GTFS/Realtime.hs | 38 - lib/API.hs | 33 +- lib/Server/ControlRoom.hs | 1 - lib/Server/GTFS_RT.hs | 446 +- tracktrain.cabal | 67 +- 39 files changed, 10916 insertions(+), 3690 deletions(-) create mode 100644 gtfs-realtime/Proto/GtfsRealtime.hs create mode 100644 gtfs-realtime/Proto/GtfsRealtime_Fields.hs delete mode 100644 gtfs/GTFS/Realtime.hs delete mode 100644 gtfs/GTFS/Realtime/Alert.hs delete mode 100644 gtfs/GTFS/Realtime/Alert/Cause.hs delete mode 100644 gtfs/GTFS/Realtime/Alert/Effect.hs delete mode 100644 gtfs/GTFS/Realtime/Alert/SeverityLevel.hs delete mode 100644 gtfs/GTFS/Realtime/EntitySelector.hs delete mode 100644 gtfs/GTFS/Realtime/FeedEntity.hs delete mode 100644 gtfs/GTFS/Realtime/FeedHeader.hs delete mode 100644 gtfs/GTFS/Realtime/FeedHeader/Incrementality.hs delete mode 100644 gtfs/GTFS/Realtime/FeedMessage.hs delete mode 100644 gtfs/GTFS/Realtime/Position.hs delete mode 100644 gtfs/GTFS/Realtime/Shape.hs delete mode 100644 gtfs/GTFS/Realtime/TimeRange.hs delete mode 100644 gtfs/GTFS/Realtime/TranslatedImage.hs delete mode 100644 gtfs/GTFS/Realtime/TranslatedImage/LocalizedImage.hs delete mode 100644 gtfs/GTFS/Realtime/TranslatedString.hs delete mode 100644 gtfs/GTFS/Realtime/TranslatedString/Translation.hs delete mode 100644 gtfs/GTFS/Realtime/TripDescriptor.hs delete mode 100644 gtfs/GTFS/Realtime/TripDescriptor/ScheduleRelationship.hs delete mode 100644 gtfs/GTFS/Realtime/TripUpdate.hs delete mode 100644 gtfs/GTFS/Realtime/TripUpdate/StopTimeEvent.hs delete mode 100644 gtfs/GTFS/Realtime/TripUpdate/StopTimeUpdate.hs delete mode 100644 gtfs/GTFS/Realtime/TripUpdate/StopTimeUpdate/ScheduleRelationship.hs delete mode 100644 gtfs/GTFS/Realtime/TripUpdate/StopTimeUpdate/StopTimeProperties.hs delete mode 100644 gtfs/GTFS/Realtime/TripUpdate/TripProperties.hs delete mode 100644 gtfs/GTFS/Realtime/VehicleDescriptor.hs delete mode 100644 gtfs/GTFS/Realtime/VehiclePosition.hs delete mode 100644 gtfs/GTFS/Realtime/VehiclePosition/CarriageDetails.hs delete mode 100644 gtfs/GTFS/Realtime/VehiclePosition/CongestionLevel.hs delete mode 100644 gtfs/GTFS/Realtime/VehiclePosition/OccupancyStatus.hs delete mode 100644 gtfs/GTFS/Realtime/VehiclePosition/VehicleStopStatus.hs delete mode 100644 gtfs/Servant/GTFS/Realtime.hs diff --git a/default.nix b/default.nix index 06ff967..d6ce56c 100644 --- a/default.nix +++ b/default.nix @@ -10,8 +10,8 @@ let , directory, either, exceptions, extra, fmt, hoauth2, http-api-data , http-media, insert-ordered-containers, lens, lib, monad-logger , mtl, path-pieces, persistent, persistent-postgresql - , prometheus-client, prometheus-metrics-ghc, protocol-buffers - , protocol-buffers-descriptor, regex-tdfa, resource-pool, servant + , prometheus-client, prometheus-metrics-ghc, proto-lens + , proto-lens-runtime, regex-tdfa, resource-pool, servant , servant-docs, servant-server, servant-swagger, servant-websockets , shakespeare, stm, swagger2, text, time, timezone-olson , timezone-series, transformers, unliftio-core, uri-bytestring @@ -23,34 +23,33 @@ let pname = "tracktrain"; version = "0.1.0.0"; src = ./.; - isLibrary = false; + isLibrary = true; isExecutable = true; libraryHaskellDepends = [ aeson base blaze-html blaze-markup bytestring cassava conduit conferer conferer-warp containers either exceptions extra fmt hoauth2 http-api-data http-media insert-ordered-containers lens monad-logger mtl path-pieces persistent persistent-postgresql - prometheus-client prometheus-metrics-ghc protocol-buffers - protocol-buffers-descriptor regex-tdfa resource-pool servant - servant-docs servant-server servant-swagger servant-websockets - shakespeare stm swagger2 text time timezone-olson timezone-series - transformers unliftio-core uri-bytestring uuid vector - vector-algorithms warp websockets yesod yesod-auth - yesod-auth-oauth2 yesod-core yesod-form zip-archive + prometheus-client prometheus-metrics-ghc proto-lens + proto-lens-runtime regex-tdfa resource-pool servant servant-docs + servant-server servant-swagger servant-websockets shakespeare stm + swagger2 text time timezone-olson timezone-series transformers + unliftio-core uri-bytestring uuid vector vector-algorithms warp + websockets yesod yesod-auth yesod-auth-oauth2 yesod-core yesod-form + zip-archive ]; executableHaskellDepends = [ aeson base bytestring conferer conferer-aeson conferer-yaml data-default-class directory extra fmt monad-logger - persistent-postgresql protocol-buffers time wai-extra warp + persistent-postgresql proto-lens time wai-extra warp ]; doHaddock = false; - description = "tracktrain tracks trains on their traintracks"; - license = "unknown"; - mainProgram = "tracktrain"; postInstall = '' cp -r $src/assets $out/assets ''; - jailbreak = true; + description = "tracktrain tracks trains on their traintracks"; + license = "unknown"; + mainProgram = "tracktrain"; }; haskellPackages = if compiler == "default" @@ -61,17 +60,10 @@ let # we can override haskell packages in nix here; but attempt to minimise that # since builds get pretty expensive when we do. + # (currently kept as a dummy) hpkgs = haskellPackages.override { overrides = self: super: with pkgs.haskell.lib.compose; { - conferer-warp = markUnbroken super.conferer-warp; - protocol-buffers = markUnbroken (overrideSrc { - src = pkgs.fetchFromGitHub { - owner = "k-bx"; - repo = "protocol-buffers"; - sha256 = "sha256-Olp02L6ztDkG9sUOQf+kOcaQEMbdhIJyPRkpvxU9v7I="; - rev = "ae8084f115fbdb699da2b2a163776b1a1167bf0f"; - }; - } super.protocol-buffers); + # conferer-warp = markUnbroken super.conferer-warp; }; }; diff --git a/gtfs-realtime/Proto/GtfsRealtime.hs b/gtfs-realtime/Proto/GtfsRealtime.hs new file mode 100644 index 0000000..847590d --- /dev/null +++ b/gtfs-realtime/Proto/GtfsRealtime.hs @@ -0,0 +1,9868 @@ +{- This file was auto-generated from gtfs-realtime.proto by the proto-lens-protoc program. -} +{-# LANGUAGE ScopedTypeVariables, DataKinds, TypeFamilies, UndecidableInstances, GeneralizedNewtypeDeriving, MultiParamTypeClasses, FlexibleContexts, FlexibleInstances, PatternSynonyms, MagicHash, NoImplicitPrelude, DataKinds, BangPatterns, TypeApplications, OverloadedStrings, DerivingStrategies#-} +{-# OPTIONS_GHC -Wno-unused-imports#-} +{-# OPTIONS_GHC -Wno-duplicate-exports#-} +{-# OPTIONS_GHC -Wno-dodgy-exports#-} +module Proto.GtfsRealtime ( + Alert(), Alert'Cause(..), Alert'Cause(), Alert'Effect(..), + Alert'Effect(), Alert'SeverityLevel(..), Alert'SeverityLevel(), + EntitySelector(), FeedEntity(), FeedHeader(), + FeedHeader'Incrementality(..), FeedHeader'Incrementality(), + FeedMessage(), Position(), Shape(), TimeRange(), TranslatedImage(), + TranslatedImage'LocalizedImage(), TranslatedString(), + TranslatedString'Translation(), TripDescriptor(), + TripDescriptor'ScheduleRelationship(..), + TripDescriptor'ScheduleRelationship(), TripUpdate(), + TripUpdate'StopTimeEvent(), TripUpdate'StopTimeUpdate(), + TripUpdate'StopTimeUpdate'ScheduleRelationship(..), + TripUpdate'StopTimeUpdate'ScheduleRelationship(), + TripUpdate'StopTimeUpdate'StopTimeProperties(), + TripUpdate'TripProperties(), VehicleDescriptor(), + VehiclePosition(), VehiclePosition'CarriageDetails(), + VehiclePosition'CongestionLevel(..), + VehiclePosition'CongestionLevel(), + VehiclePosition'OccupancyStatus(..), + VehiclePosition'OccupancyStatus(), + VehiclePosition'VehicleStopStatus(..), + VehiclePosition'VehicleStopStatus() + ) where +import qualified Data.ProtoLens.Runtime.Control.DeepSeq as Control.DeepSeq +import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Prism as Data.ProtoLens.Prism +import qualified Data.ProtoLens.Runtime.Prelude as Prelude +import qualified Data.ProtoLens.Runtime.Data.Int as Data.Int +import qualified Data.ProtoLens.Runtime.Data.Monoid as Data.Monoid +import qualified Data.ProtoLens.Runtime.Data.Word as Data.Word +import qualified Data.ProtoLens.Runtime.Data.ProtoLens as Data.ProtoLens +import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Bytes as Data.ProtoLens.Encoding.Bytes +import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Growing as Data.ProtoLens.Encoding.Growing +import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Parser.Unsafe as Data.ProtoLens.Encoding.Parser.Unsafe +import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Wire as Data.ProtoLens.Encoding.Wire +import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Field as Data.ProtoLens.Field +import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Message.Enum as Data.ProtoLens.Message.Enum +import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Service.Types as Data.ProtoLens.Service.Types +import qualified Data.ProtoLens.Runtime.Lens.Family2 as Lens.Family2 +import qualified Data.ProtoLens.Runtime.Lens.Family2.Unchecked as Lens.Family2.Unchecked +import qualified Data.ProtoLens.Runtime.Data.Text as Data.Text +import qualified Data.ProtoLens.Runtime.Data.Map as Data.Map +import qualified Data.ProtoLens.Runtime.Data.ByteString as Data.ByteString +import qualified Data.ProtoLens.Runtime.Data.ByteString.Char8 as Data.ByteString.Char8 +import qualified Data.ProtoLens.Runtime.Data.Text.Encoding as Data.Text.Encoding +import qualified Data.ProtoLens.Runtime.Data.Vector as Data.Vector +import qualified Data.ProtoLens.Runtime.Data.Vector.Generic as Data.Vector.Generic +import qualified Data.ProtoLens.Runtime.Data.Vector.Unboxed as Data.Vector.Unboxed +import qualified Data.ProtoLens.Runtime.Text.Read as Text.Read +{- | Fields : + + * 'Proto.GtfsRealtime_Fields.activePeriod' @:: Lens' Alert [TimeRange]@ + * 'Proto.GtfsRealtime_Fields.vec'activePeriod' @:: Lens' Alert (Data.Vector.Vector TimeRange)@ + * 'Proto.GtfsRealtime_Fields.informedEntity' @:: Lens' Alert [EntitySelector]@ + * 'Proto.GtfsRealtime_Fields.vec'informedEntity' @:: Lens' Alert (Data.Vector.Vector EntitySelector)@ + * 'Proto.GtfsRealtime_Fields.cause' @:: Lens' Alert Alert'Cause@ + * 'Proto.GtfsRealtime_Fields.maybe'cause' @:: Lens' Alert (Prelude.Maybe Alert'Cause)@ + * 'Proto.GtfsRealtime_Fields.effect' @:: Lens' Alert Alert'Effect@ + * 'Proto.GtfsRealtime_Fields.maybe'effect' @:: Lens' Alert (Prelude.Maybe Alert'Effect)@ + * 'Proto.GtfsRealtime_Fields.url' @:: Lens' Alert TranslatedString@ + * 'Proto.GtfsRealtime_Fields.maybe'url' @:: Lens' Alert (Prelude.Maybe TranslatedString)@ + * 'Proto.GtfsRealtime_Fields.headerText' @:: Lens' Alert TranslatedString@ + * 'Proto.GtfsRealtime_Fields.maybe'headerText' @:: Lens' Alert (Prelude.Maybe TranslatedString)@ + * 'Proto.GtfsRealtime_Fields.descriptionText' @:: Lens' Alert TranslatedString@ + * 'Proto.GtfsRealtime_Fields.maybe'descriptionText' @:: Lens' Alert (Prelude.Maybe TranslatedString)@ + * 'Proto.GtfsRealtime_Fields.ttsHeaderText' @:: Lens' Alert TranslatedString@ + * 'Proto.GtfsRealtime_Fields.maybe'ttsHeaderText' @:: Lens' Alert (Prelude.Maybe TranslatedString)@ + * 'Proto.GtfsRealtime_Fields.ttsDescriptionText' @:: Lens' Alert TranslatedString@ + * 'Proto.GtfsRealtime_Fields.maybe'ttsDescriptionText' @:: Lens' Alert (Prelude.Maybe TranslatedString)@ + * 'Proto.GtfsRealtime_Fields.severityLevel' @:: Lens' Alert Alert'SeverityLevel@ + * 'Proto.GtfsRealtime_Fields.maybe'severityLevel' @:: Lens' Alert (Prelude.Maybe Alert'SeverityLevel)@ + * 'Proto.GtfsRealtime_Fields.image' @:: Lens' Alert TranslatedImage@ + * 'Proto.GtfsRealtime_Fields.maybe'image' @:: Lens' Alert (Prelude.Maybe TranslatedImage)@ + * 'Proto.GtfsRealtime_Fields.imageAlternativeText' @:: Lens' Alert TranslatedString@ + * 'Proto.GtfsRealtime_Fields.maybe'imageAlternativeText' @:: Lens' Alert (Prelude.Maybe TranslatedString)@ -} +data Alert + = Alert'_constructor {_Alert'activePeriod :: !(Data.Vector.Vector TimeRange), + _Alert'informedEntity :: !(Data.Vector.Vector EntitySelector), + _Alert'cause :: !(Prelude.Maybe Alert'Cause), + _Alert'effect :: !(Prelude.Maybe Alert'Effect), + _Alert'url :: !(Prelude.Maybe TranslatedString), + _Alert'headerText :: !(Prelude.Maybe TranslatedString), + _Alert'descriptionText :: !(Prelude.Maybe TranslatedString), + _Alert'ttsHeaderText :: !(Prelude.Maybe TranslatedString), + _Alert'ttsDescriptionText :: !(Prelude.Maybe TranslatedString), + _Alert'severityLevel :: !(Prelude.Maybe Alert'SeverityLevel), + _Alert'image :: !(Prelude.Maybe TranslatedImage), + _Alert'imageAlternativeText :: !(Prelude.Maybe TranslatedString), + _Alert'_unknownFields :: !Data.ProtoLens.FieldSet} + deriving stock (Prelude.Eq, Prelude.Ord) +instance Prelude.Show Alert where + showsPrec _ __x __s + = Prelude.showChar + '{' + (Prelude.showString + (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s)) +instance Data.ProtoLens.Field.HasField Alert "activePeriod" [TimeRange] where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _Alert'activePeriod (\ x__ y__ -> x__ {_Alert'activePeriod = y__})) + (Lens.Family2.Unchecked.lens + Data.Vector.Generic.toList + (\ _ y__ -> Data.Vector.Generic.fromList y__)) +instance Data.ProtoLens.Field.HasField Alert "vec'activePeriod" (Data.Vector.Vector TimeRange) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _Alert'activePeriod (\ x__ y__ -> x__ {_Alert'activePeriod = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField Alert "informedEntity" [EntitySelector] where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _Alert'informedEntity + (\ x__ y__ -> x__ {_Alert'informedEntity = y__})) + (Lens.Family2.Unchecked.lens + Data.Vector.Generic.toList + (\ _ y__ -> Data.Vector.Generic.fromList y__)) +instance Data.ProtoLens.Field.HasField Alert "vec'informedEntity" (Data.Vector.Vector EntitySelector) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _Alert'informedEntity + (\ x__ y__ -> x__ {_Alert'informedEntity = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField Alert "cause" Alert'Cause where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _Alert'cause (\ x__ y__ -> x__ {_Alert'cause = y__})) + (Data.ProtoLens.maybeLens Alert'UNKNOWN_CAUSE) +instance Data.ProtoLens.Field.HasField Alert "maybe'cause" (Prelude.Maybe Alert'Cause) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _Alert'cause (\ x__ y__ -> x__ {_Alert'cause = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField Alert "effect" Alert'Effect where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _Alert'effect (\ x__ y__ -> x__ {_Alert'effect = y__})) + (Data.ProtoLens.maybeLens Alert'UNKNOWN_EFFECT) +instance Data.ProtoLens.Field.HasField Alert "maybe'effect" (Prelude.Maybe Alert'Effect) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _Alert'effect (\ x__ y__ -> x__ {_Alert'effect = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField Alert "url" TranslatedString where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _Alert'url (\ x__ y__ -> x__ {_Alert'url = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage) +instance Data.ProtoLens.Field.HasField Alert "maybe'url" (Prelude.Maybe TranslatedString) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _Alert'url (\ x__ y__ -> x__ {_Alert'url = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField Alert "headerText" TranslatedString where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _Alert'headerText (\ x__ y__ -> x__ {_Alert'headerText = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage) +instance Data.ProtoLens.Field.HasField Alert "maybe'headerText" (Prelude.Maybe TranslatedString) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _Alert'headerText (\ x__ y__ -> x__ {_Alert'headerText = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField Alert "descriptionText" TranslatedString where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _Alert'descriptionText + (\ x__ y__ -> x__ {_Alert'descriptionText = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage) +instance Data.ProtoLens.Field.HasField Alert "maybe'descriptionText" (Prelude.Maybe TranslatedString) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _Alert'descriptionText + (\ x__ y__ -> x__ {_Alert'descriptionText = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField Alert "ttsHeaderText" TranslatedString where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _Alert'ttsHeaderText + (\ x__ y__ -> x__ {_Alert'ttsHeaderText = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage) +instance Data.ProtoLens.Field.HasField Alert "maybe'ttsHeaderText" (Prelude.Maybe TranslatedString) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _Alert'ttsHeaderText + (\ x__ y__ -> x__ {_Alert'ttsHeaderText = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField Alert "ttsDescriptionText" TranslatedString where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _Alert'ttsDescriptionText + (\ x__ y__ -> x__ {_Alert'ttsDescriptionText = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage) +instance Data.ProtoLens.Field.HasField Alert "maybe'ttsDescriptionText" (Prelude.Maybe TranslatedString) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _Alert'ttsDescriptionText + (\ x__ y__ -> x__ {_Alert'ttsDescriptionText = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField Alert "severityLevel" Alert'SeverityLevel where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _Alert'severityLevel + (\ x__ y__ -> x__ {_Alert'severityLevel = y__})) + (Data.ProtoLens.maybeLens Alert'UNKNOWN_SEVERITY) +instance Data.ProtoLens.Field.HasField Alert "maybe'severityLevel" (Prelude.Maybe Alert'SeverityLevel) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _Alert'severityLevel + (\ x__ y__ -> x__ {_Alert'severityLevel = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField Alert "image" TranslatedImage where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _Alert'image (\ x__ y__ -> x__ {_Alert'image = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage) +instance Data.ProtoLens.Field.HasField Alert "maybe'image" (Prelude.Maybe TranslatedImage) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _Alert'image (\ x__ y__ -> x__ {_Alert'image = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField Alert "imageAlternativeText" TranslatedString where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _Alert'imageAlternativeText + (\ x__ y__ -> x__ {_Alert'imageAlternativeText = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage) +instance Data.ProtoLens.Field.HasField Alert "maybe'imageAlternativeText" (Prelude.Maybe TranslatedString) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _Alert'imageAlternativeText + (\ x__ y__ -> x__ {_Alert'imageAlternativeText = y__})) + Prelude.id +instance Data.ProtoLens.Message Alert where + messageName _ = Data.Text.pack "transit_realtime.Alert" + packedMessageDescriptor _ + = "\n\ + \\ENQAlert\DC2@\n\ + \\ractive_period\CAN\SOH \ETX(\v2\ESC.transit_realtime.TimeRangeR\factivePeriod\DC2I\n\ + \\SIinformed_entity\CAN\ENQ \ETX(\v2 .transit_realtime.EntitySelectorR\SOinformedEntity\DC2B\n\ + \\ENQcause\CAN\ACK \SOH(\SO2\GS.transit_realtime.Alert.Cause:\rUNKNOWN_CAUSER\ENQcause\DC2F\n\ + \\ACKeffect\CAN\a \SOH(\SO2\RS.transit_realtime.Alert.Effect:\SOUNKNOWN_EFFECTR\ACKeffect\DC24\n\ + \\ETXurl\CAN\b \SOH(\v2\".transit_realtime.TranslatedStringR\ETXurl\DC2C\n\ + \\vheader_text\CAN\n\ + \ \SOH(\v2\".transit_realtime.TranslatedStringR\n\ + \headerText\DC2M\n\ + \\DLEdescription_text\CAN\v \SOH(\v2\".transit_realtime.TranslatedStringR\SIdescriptionText\DC2J\n\ + \\SItts_header_text\CAN\f \SOH(\v2\".transit_realtime.TranslatedStringR\rttsHeaderText\DC2T\n\ + \\DC4tts_description_text\CAN\r \SOH(\v2\".transit_realtime.TranslatedStringR\DC2ttsDescriptionText\DC2^\n\ + \\SOseverity_level\CAN\SO \SOH(\SO2%.transit_realtime.Alert.SeverityLevel:\DLEUNKNOWN_SEVERITYR\rseverityLevel\DC27\n\ + \\ENQimage\CAN\SI \SOH(\v2!.transit_realtime.TranslatedImageR\ENQimage\DC2X\n\ + \\SYNimage_alternative_text\CAN\DLE \SOH(\v2\".transit_realtime.TranslatedStringR\DC4imageAlternativeText\"\216\SOH\n\ + \\ENQCause\DC2\DC1\n\ + \\rUNKNOWN_CAUSE\DLE\SOH\DC2\SI\n\ + \\vOTHER_CAUSE\DLE\STX\DC2\NAK\n\ + \\DC1TECHNICAL_PROBLEM\DLE\ETX\DC2\n\ + \\n\ + \\ACKSTRIKE\DLE\EOT\DC2\DC1\n\ + \\rDEMONSTRATION\DLE\ENQ\DC2\f\n\ + \\bACCIDENT\DLE\ACK\DC2\v\n\ + \\aHOLIDAY\DLE\a\DC2\v\n\ + \\aWEATHER\DLE\b\DC2\SI\n\ + \\vMAINTENANCE\DLE\t\DC2\DLE\n\ + \\fCONSTRUCTION\DLE\n\ + \\DC2\DC3\n\ + \\SIPOLICE_ACTIVITY\DLE\v\DC2\NAK\n\ + \\DC1MEDICAL_EMERGENCY\DLE\f\"\221\SOH\n\ + \\ACKEffect\DC2\SO\n\ + \\n\ + \NO_SERVICE\DLE\SOH\DC2\DC3\n\ + \\SIREDUCED_SERVICE\DLE\STX\DC2\SYN\n\ + \\DC2SIGNIFICANT_DELAYS\DLE\ETX\DC2\n\ + \\n\ + \\ACKDETOUR\DLE\EOT\DC2\SYN\n\ + \\DC2ADDITIONAL_SERVICE\DLE\ENQ\DC2\DC4\n\ + \\DLEMODIFIED_SERVICE\DLE\ACK\DC2\DLE\n\ + \\fOTHER_EFFECT\DLE\a\DC2\DC2\n\ + \\SOUNKNOWN_EFFECT\DLE\b\DC2\SO\n\ + \\n\ + \STOP_MOVED\DLE\t\DC2\r\n\ + \\tNO_EFFECT\DLE\n\ + \\DC2\ETB\n\ + \\DC3ACCESSIBILITY_ISSUE\DLE\v\"H\n\ + \\rSeverityLevel\DC2\DC4\n\ + \\DLEUNKNOWN_SEVERITY\DLE\SOH\DC2\b\n\ + \\EOTINFO\DLE\STX\DC2\v\n\ + \\aWARNING\DLE\ETX\DC2\n\ + \\n\ + \\ACKSEVERE\DLE\EOT*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N" + packedFileDescriptor _ = packedFileDescriptor + fieldsByTag + = let + activePeriod__field_descriptor + = Data.ProtoLens.FieldDescriptor + "active_period" + (Data.ProtoLens.MessageField Data.ProtoLens.MessageType :: + Data.ProtoLens.FieldTypeDescriptor TimeRange) + (Data.ProtoLens.RepeatedField + Data.ProtoLens.Unpacked + (Data.ProtoLens.Field.field @"activePeriod")) :: + Data.ProtoLens.FieldDescriptor Alert + informedEntity__field_descriptor + = Data.ProtoLens.FieldDescriptor + "informed_entity" + (Data.ProtoLens.MessageField Data.ProtoLens.MessageType :: + Data.ProtoLens.FieldTypeDescriptor EntitySelector) + (Data.ProtoLens.RepeatedField + Data.ProtoLens.Unpacked + (Data.ProtoLens.Field.field @"informedEntity")) :: + Data.ProtoLens.FieldDescriptor Alert + cause__field_descriptor + = Data.ProtoLens.FieldDescriptor + "cause" + (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField :: + Data.ProtoLens.FieldTypeDescriptor Alert'Cause) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'cause")) :: + Data.ProtoLens.FieldDescriptor Alert + effect__field_descriptor + = Data.ProtoLens.FieldDescriptor + "effect" + (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField :: + Data.ProtoLens.FieldTypeDescriptor Alert'Effect) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'effect")) :: + Data.ProtoLens.FieldDescriptor Alert + url__field_descriptor + = Data.ProtoLens.FieldDescriptor + "url" + (Data.ProtoLens.MessageField Data.ProtoLens.MessageType :: + Data.ProtoLens.FieldTypeDescriptor TranslatedString) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'url")) :: + Data.ProtoLens.FieldDescriptor Alert + headerText__field_descriptor + = Data.ProtoLens.FieldDescriptor + "header_text" + (Data.ProtoLens.MessageField Data.ProtoLens.MessageType :: + Data.ProtoLens.FieldTypeDescriptor TranslatedString) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'headerText")) :: + Data.ProtoLens.FieldDescriptor Alert + descriptionText__field_descriptor + = Data.ProtoLens.FieldDescriptor + "description_text" + (Data.ProtoLens.MessageField Data.ProtoLens.MessageType :: + Data.ProtoLens.FieldTypeDescriptor TranslatedString) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'descriptionText")) :: + Data.ProtoLens.FieldDescriptor Alert + ttsHeaderText__field_descriptor + = Data.ProtoLens.FieldDescriptor + "tts_header_text" + (Data.ProtoLens.MessageField Data.ProtoLens.MessageType :: + Data.ProtoLens.FieldTypeDescriptor TranslatedString) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'ttsHeaderText")) :: + Data.ProtoLens.FieldDescriptor Alert + ttsDescriptionText__field_descriptor + = Data.ProtoLens.FieldDescriptor + "tts_description_text" + (Data.ProtoLens.MessageField Data.ProtoLens.MessageType :: + Data.ProtoLens.FieldTypeDescriptor TranslatedString) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'ttsDescriptionText")) :: + Data.ProtoLens.FieldDescriptor Alert + severityLevel__field_descriptor + = Data.ProtoLens.FieldDescriptor + "severity_level" + (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField :: + Data.ProtoLens.FieldTypeDescriptor Alert'SeverityLevel) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'severityLevel")) :: + Data.ProtoLens.FieldDescriptor Alert + image__field_descriptor + = Data.ProtoLens.FieldDescriptor + "image" + (Data.ProtoLens.MessageField Data.ProtoLens.MessageType :: + Data.ProtoLens.FieldTypeDescriptor TranslatedImage) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'image")) :: + Data.ProtoLens.FieldDescriptor Alert + imageAlternativeText__field_descriptor + = Data.ProtoLens.FieldDescriptor + "image_alternative_text" + (Data.ProtoLens.MessageField Data.ProtoLens.MessageType :: + Data.ProtoLens.FieldTypeDescriptor TranslatedString) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'imageAlternativeText")) :: + Data.ProtoLens.FieldDescriptor Alert + in + Data.Map.fromList + [(Data.ProtoLens.Tag 1, activePeriod__field_descriptor), + (Data.ProtoLens.Tag 5, informedEntity__field_descriptor), + (Data.ProtoLens.Tag 6, cause__field_descriptor), + (Data.ProtoLens.Tag 7, effect__field_descriptor), + (Data.ProtoLens.Tag 8, url__field_descriptor), + (Data.ProtoLens.Tag 10, headerText__field_descriptor), + (Data.ProtoLens.Tag 11, descriptionText__field_descriptor), + (Data.ProtoLens.Tag 12, ttsHeaderText__field_descriptor), + (Data.ProtoLens.Tag 13, ttsDescriptionText__field_descriptor), + (Data.ProtoLens.Tag 14, severityLevel__field_descriptor), + (Data.ProtoLens.Tag 15, image__field_descriptor), + (Data.ProtoLens.Tag 16, imageAlternativeText__field_descriptor)] + unknownFields + = Lens.Family2.Unchecked.lens + _Alert'_unknownFields + (\ x__ y__ -> x__ {_Alert'_unknownFields = y__}) + defMessage + = Alert'_constructor + {_Alert'activePeriod = Data.Vector.Generic.empty, + _Alert'informedEntity = Data.Vector.Generic.empty, + _Alert'cause = Prelude.Nothing, _Alert'effect = Prelude.Nothing, + _Alert'url = Prelude.Nothing, _Alert'headerText = Prelude.Nothing, + _Alert'descriptionText = Prelude.Nothing, + _Alert'ttsHeaderText = Prelude.Nothing, + _Alert'ttsDescriptionText = Prelude.Nothing, + _Alert'severityLevel = Prelude.Nothing, + _Alert'image = Prelude.Nothing, + _Alert'imageAlternativeText = Prelude.Nothing, + _Alert'_unknownFields = []} + parseMessage + = let + loop :: + Alert + -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld TimeRange + -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld EntitySelector + -> Data.ProtoLens.Encoding.Bytes.Parser Alert + loop x mutable'activePeriod mutable'informedEntity + = do end <- Data.ProtoLens.Encoding.Bytes.atEnd + if end then + do frozen'activePeriod <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO + (Data.ProtoLens.Encoding.Growing.unsafeFreeze + mutable'activePeriod) + frozen'informedEntity <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO + (Data.ProtoLens.Encoding.Growing.unsafeFreeze + mutable'informedEntity) + (let missing = [] + in + if Prelude.null missing then + Prelude.return () + else + Prelude.fail + ((Prelude.++) + "Missing required fields: " + (Prelude.show (missing :: [Prelude.String])))) + Prelude.return + (Lens.Family2.over + Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) + (Lens.Family2.set + (Data.ProtoLens.Field.field @"vec'activePeriod") + frozen'activePeriod + (Lens.Family2.set + (Data.ProtoLens.Field.field @"vec'informedEntity") + frozen'informedEntity x))) + else + do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt + case tag of + 10 + -> do !y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.isolate + (Prelude.fromIntegral len) + Data.ProtoLens.parseMessage) + "active_period" + v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO + (Data.ProtoLens.Encoding.Growing.append + mutable'activePeriod y) + loop x v mutable'informedEntity + 42 + -> do !y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.isolate + (Prelude.fromIntegral len) + Data.ProtoLens.parseMessage) + "informed_entity" + v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO + (Data.ProtoLens.Encoding.Growing.append + mutable'informedEntity y) + loop x mutable'activePeriod v + 48 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (Prelude.fmap + Prelude.toEnum + (Prelude.fmap + Prelude.fromIntegral + Data.ProtoLens.Encoding.Bytes.getVarInt)) + "cause" + loop + (Lens.Family2.set (Data.ProtoLens.Field.field @"cause") y x) + mutable'activePeriod mutable'informedEntity + 56 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (Prelude.fmap + Prelude.toEnum + (Prelude.fmap + Prelude.fromIntegral + Data.ProtoLens.Encoding.Bytes.getVarInt)) + "effect" + loop + (Lens.Family2.set (Data.ProtoLens.Field.field @"effect") y x) + mutable'activePeriod mutable'informedEntity + 66 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.isolate + (Prelude.fromIntegral len) Data.ProtoLens.parseMessage) + "url" + loop + (Lens.Family2.set (Data.ProtoLens.Field.field @"url") y x) + mutable'activePeriod mutable'informedEntity + 82 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.isolate + (Prelude.fromIntegral len) Data.ProtoLens.parseMessage) + "header_text" + loop + (Lens.Family2.set (Data.ProtoLens.Field.field @"headerText") y x) + mutable'activePeriod mutable'informedEntity + 90 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.isolate + (Prelude.fromIntegral len) Data.ProtoLens.parseMessage) + "description_text" + loop + (Lens.Family2.set + (Data.ProtoLens.Field.field @"descriptionText") y x) + mutable'activePeriod mutable'informedEntity + 98 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.isolate + (Prelude.fromIntegral len) Data.ProtoLens.parseMessage) + "tts_header_text" + loop + (Lens.Family2.set + (Data.ProtoLens.Field.field @"ttsHeaderText") y x) + mutable'activePeriod mutable'informedEntity + 106 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.isolate + (Prelude.fromIntegral len) Data.ProtoLens.parseMessage) + "tts_description_text" + loop + (Lens.Family2.set + (Data.ProtoLens.Field.field @"ttsDescriptionText") y x) + mutable'activePeriod mutable'informedEntity + 112 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (Prelude.fmap + Prelude.toEnum + (Prelude.fmap + Prelude.fromIntegral + Data.ProtoLens.Encoding.Bytes.getVarInt)) + "severity_level" + loop + (Lens.Family2.set + (Data.ProtoLens.Field.field @"severityLevel") y x) + mutable'activePeriod mutable'informedEntity + 122 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.isolate + (Prelude.fromIntegral len) Data.ProtoLens.parseMessage) + "image" + loop + (Lens.Family2.set (Data.ProtoLens.Field.field @"image") y x) + mutable'activePeriod mutable'informedEntity + 130 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.isolate + (Prelude.fromIntegral len) Data.ProtoLens.parseMessage) + "image_alternative_text" + loop + (Lens.Family2.set + (Data.ProtoLens.Field.field @"imageAlternativeText") y x) + mutable'activePeriod mutable'informedEntity + wire + -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire + wire + loop + (Lens.Family2.over + Data.ProtoLens.unknownFields (\ !t -> (:) y t) x) + mutable'activePeriod mutable'informedEntity + in + (Data.ProtoLens.Encoding.Bytes.) + (do mutable'activePeriod <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO + Data.ProtoLens.Encoding.Growing.new + mutable'informedEntity <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO + Data.ProtoLens.Encoding.Growing.new + loop + Data.ProtoLens.defMessage mutable'activePeriod + mutable'informedEntity) + "Alert" + buildMessage + = \ _x + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.foldMapBuilder + (\ _v + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 10) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.ProtoLens.encodeMessage _v)) + (Lens.Family2.view + (Data.ProtoLens.Field.field @"vec'activePeriod") _x)) + ((Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.foldMapBuilder + (\ _v + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 42) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.ProtoLens.encodeMessage _v)) + (Lens.Family2.view + (Data.ProtoLens.Field.field @"vec'informedEntity") _x)) + ((Data.Monoid.<>) + (case + Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'cause") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 48) + ((Prelude..) + ((Prelude..) + Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral) + Prelude.fromEnum _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'effect") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 56) + ((Prelude..) + ((Prelude..) + Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral) + Prelude.fromEnum _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'url") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 66) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.ProtoLens.encodeMessage _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view + (Data.ProtoLens.Field.field @"maybe'headerText") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 82) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral + (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.ProtoLens.encodeMessage _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view + (Data.ProtoLens.Field.field @"maybe'descriptionText") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 90) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral + (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.ProtoLens.encodeMessage _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view + (Data.ProtoLens.Field.field @"maybe'ttsHeaderText") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 98) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral + (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.ProtoLens.encodeMessage _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view + (Data.ProtoLens.Field.field @"maybe'ttsDescriptionText") + _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 106) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral + (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes + bs)) + Data.ProtoLens.encodeMessage _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view + (Data.ProtoLens.Field.field @"maybe'severityLevel") + _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 112) + ((Prelude..) + ((Prelude..) + Data.ProtoLens.Encoding.Bytes.putVarInt + Prelude.fromIntegral) + Prelude.fromEnum _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view + (Data.ProtoLens.Field.field @"maybe'image") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 122) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral + (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes + bs)) + Data.ProtoLens.encodeMessage _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view + (Data.ProtoLens.Field.field + @"maybe'imageAlternativeText") + _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + 130) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral + (Data.ByteString.length + bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes + bs)) + Data.ProtoLens.encodeMessage _v)) + (Data.ProtoLens.Encoding.Wire.buildFieldSet + (Lens.Family2.view + Data.ProtoLens.unknownFields _x))))))))))))) +instance Control.DeepSeq.NFData Alert where + rnf + = \ x__ + -> Control.DeepSeq.deepseq + (_Alert'_unknownFields x__) + (Control.DeepSeq.deepseq + (_Alert'activePeriod x__) + (Control.DeepSeq.deepseq + (_Alert'informedEntity x__) + (Control.DeepSeq.deepseq + (_Alert'cause x__) + (Control.DeepSeq.deepseq + (_Alert'effect x__) + (Control.DeepSeq.deepseq + (_Alert'url x__) + (Control.DeepSeq.deepseq + (_Alert'headerText x__) + (Control.DeepSeq.deepseq + (_Alert'descriptionText x__) + (Control.DeepSeq.deepseq + (_Alert'ttsHeaderText x__) + (Control.DeepSeq.deepseq + (_Alert'ttsDescriptionText x__) + (Control.DeepSeq.deepseq + (_Alert'severityLevel x__) + (Control.DeepSeq.deepseq + (_Alert'image x__) + (Control.DeepSeq.deepseq + (_Alert'imageAlternativeText x__) ())))))))))))) +data Alert'Cause + = Alert'UNKNOWN_CAUSE | + Alert'OTHER_CAUSE | + Alert'TECHNICAL_PROBLEM | + Alert'STRIKE | + Alert'DEMONSTRATION | + Alert'ACCIDENT | + Alert'HOLIDAY | + Alert'WEATHER | + Alert'MAINTENANCE | + Alert'CONSTRUCTION | + Alert'POLICE_ACTIVITY | + Alert'MEDICAL_EMERGENCY + deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord) +instance Data.ProtoLens.MessageEnum Alert'Cause where + maybeToEnum 1 = Prelude.Just Alert'UNKNOWN_CAUSE + maybeToEnum 2 = Prelude.Just Alert'OTHER_CAUSE + maybeToEnum 3 = Prelude.Just Alert'TECHNICAL_PROBLEM + maybeToEnum 4 = Prelude.Just Alert'STRIKE + maybeToEnum 5 = Prelude.Just Alert'DEMONSTRATION + maybeToEnum 6 = Prelude.Just Alert'ACCIDENT + maybeToEnum 7 = Prelude.Just Alert'HOLIDAY + maybeToEnum 8 = Prelude.Just Alert'WEATHER + maybeToEnum 9 = Prelude.Just Alert'MAINTENANCE + maybeToEnum 10 = Prelude.Just Alert'CONSTRUCTION + maybeToEnum 11 = Prelude.Just Alert'POLICE_ACTIVITY + maybeToEnum 12 = Prelude.Just Alert'MEDICAL_EMERGENCY + maybeToEnum _ = Prelude.Nothing + showEnum Alert'UNKNOWN_CAUSE = "UNKNOWN_CAUSE" + showEnum Alert'OTHER_CAUSE = "OTHER_CAUSE" + showEnum Alert'TECHNICAL_PROBLEM = "TECHNICAL_PROBLEM" + showEnum Alert'STRIKE = "STRIKE" + showEnum Alert'DEMONSTRATION = "DEMONSTRATION" + showEnum Alert'ACCIDENT = "ACCIDENT" + showEnum Alert'HOLIDAY = "HOLIDAY" + showEnum Alert'WEATHER = "WEATHER" + showEnum Alert'MAINTENANCE = "MAINTENANCE" + showEnum Alert'CONSTRUCTION = "CONSTRUCTION" + showEnum Alert'POLICE_ACTIVITY = "POLICE_ACTIVITY" + showEnum Alert'MEDICAL_EMERGENCY = "MEDICAL_EMERGENCY" + readEnum k + | (Prelude.==) k "UNKNOWN_CAUSE" = Prelude.Just Alert'UNKNOWN_CAUSE + | (Prelude.==) k "OTHER_CAUSE" = Prelude.Just Alert'OTHER_CAUSE + | (Prelude.==) k "TECHNICAL_PROBLEM" + = Prelude.Just Alert'TECHNICAL_PROBLEM + | (Prelude.==) k "STRIKE" = Prelude.Just Alert'STRIKE + | (Prelude.==) k "DEMONSTRATION" = Prelude.Just Alert'DEMONSTRATION + | (Prelude.==) k "ACCIDENT" = Prelude.Just Alert'ACCIDENT + | (Prelude.==) k "HOLIDAY" = Prelude.Just Alert'HOLIDAY + | (Prelude.==) k "WEATHER" = Prelude.Just Alert'WEATHER + | (Prelude.==) k "MAINTENANCE" = Prelude.Just Alert'MAINTENANCE + | (Prelude.==) k "CONSTRUCTION" = Prelude.Just Alert'CONSTRUCTION + | (Prelude.==) k "POLICE_ACTIVITY" + = Prelude.Just Alert'POLICE_ACTIVITY + | (Prelude.==) k "MEDICAL_EMERGENCY" + = Prelude.Just Alert'MEDICAL_EMERGENCY + | Prelude.otherwise + = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum +instance Prelude.Bounded Alert'Cause where + minBound = Alert'UNKNOWN_CAUSE + maxBound = Alert'MEDICAL_EMERGENCY +instance Prelude.Enum Alert'Cause where + toEnum k__ + = Prelude.maybe + (Prelude.error + ((Prelude.++) + "toEnum: unknown value for enum Cause: " (Prelude.show k__))) + Prelude.id (Data.ProtoLens.maybeToEnum k__) + fromEnum Alert'UNKNOWN_CAUSE = 1 + fromEnum Alert'OTHER_CAUSE = 2 + fromEnum Alert'TECHNICAL_PROBLEM = 3 + fromEnum Alert'STRIKE = 4 + fromEnum Alert'DEMONSTRATION = 5 + fromEnum Alert'ACCIDENT = 6 + fromEnum Alert'HOLIDAY = 7 + fromEnum Alert'WEATHER = 8 + fromEnum Alert'MAINTENANCE = 9 + fromEnum Alert'CONSTRUCTION = 10 + fromEnum Alert'POLICE_ACTIVITY = 11 + fromEnum Alert'MEDICAL_EMERGENCY = 12 + succ Alert'MEDICAL_EMERGENCY + = Prelude.error + "Alert'Cause.succ: bad argument Alert'MEDICAL_EMERGENCY. This value would be out of bounds." + succ Alert'UNKNOWN_CAUSE = Alert'OTHER_CAUSE + succ Alert'OTHER_CAUSE = Alert'TECHNICAL_PROBLEM + succ Alert'TECHNICAL_PROBLEM = Alert'STRIKE + succ Alert'STRIKE = Alert'DEMONSTRATION + succ Alert'DEMONSTRATION = Alert'ACCIDENT + succ Alert'ACCIDENT = Alert'HOLIDAY + succ Alert'HOLIDAY = Alert'WEATHER + succ Alert'WEATHER = Alert'MAINTENANCE + succ Alert'MAINTENANCE = Alert'CONSTRUCTION + succ Alert'CONSTRUCTION = Alert'POLICE_ACTIVITY + succ Alert'POLICE_ACTIVITY = Alert'MEDICAL_EMERGENCY + pred Alert'UNKNOWN_CAUSE + = Prelude.error + "Alert'Cause.pred: bad argument Alert'UNKNOWN_CAUSE. This value would be out of bounds." + pred Alert'OTHER_CAUSE = Alert'UNKNOWN_CAUSE + pred Alert'TECHNICAL_PROBLEM = Alert'OTHER_CAUSE + pred Alert'STRIKE = Alert'TECHNICAL_PROBLEM + pred Alert'DEMONSTRATION = Alert'STRIKE + pred Alert'ACCIDENT = Alert'DEMONSTRATION + pred Alert'HOLIDAY = Alert'ACCIDENT + pred Alert'WEATHER = Alert'HOLIDAY + pred Alert'MAINTENANCE = Alert'WEATHER + pred Alert'CONSTRUCTION = Alert'MAINTENANCE + pred Alert'POLICE_ACTIVITY = Alert'CONSTRUCTION + pred Alert'MEDICAL_EMERGENCY = Alert'POLICE_ACTIVITY + enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom + enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo + enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen + enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo +instance Data.ProtoLens.FieldDefault Alert'Cause where + fieldDefault = Alert'UNKNOWN_CAUSE +instance Control.DeepSeq.NFData Alert'Cause where + rnf x__ = Prelude.seq x__ () +data Alert'Effect + = Alert'NO_SERVICE | + Alert'REDUCED_SERVICE | + Alert'SIGNIFICANT_DELAYS | + Alert'DETOUR | + Alert'ADDITIONAL_SERVICE | + Alert'MODIFIED_SERVICE | + Alert'OTHER_EFFECT | + Alert'UNKNOWN_EFFECT | + Alert'STOP_MOVED | + Alert'NO_EFFECT | + Alert'ACCESSIBILITY_ISSUE + deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord) +instance Data.ProtoLens.MessageEnum Alert'Effect where + maybeToEnum 1 = Prelude.Just Alert'NO_SERVICE + maybeToEnum 2 = Prelude.Just Alert'REDUCED_SERVICE + maybeToEnum 3 = Prelude.Just Alert'SIGNIFICANT_DELAYS + maybeToEnum 4 = Prelude.Just Alert'DETOUR + maybeToEnum 5 = Prelude.Just Alert'ADDITIONAL_SERVICE + maybeToEnum 6 = Prelude.Just Alert'MODIFIED_SERVICE + maybeToEnum 7 = Prelude.Just Alert'OTHER_EFFECT + maybeToEnum 8 = Prelude.Just Alert'UNKNOWN_EFFECT + maybeToEnum 9 = Prelude.Just Alert'STOP_MOVED + maybeToEnum 10 = Prelude.Just Alert'NO_EFFECT + maybeToEnum 11 = Prelude.Just Alert'ACCESSIBILITY_ISSUE + maybeToEnum _ = Prelude.Nothing + showEnum Alert'NO_SERVICE = "NO_SERVICE" + showEnum Alert'REDUCED_SERVICE = "REDUCED_SERVICE" + showEnum Alert'SIGNIFICANT_DELAYS = "SIGNIFICANT_DELAYS" + showEnum Alert'DETOUR = "DETOUR" + showEnum Alert'ADDITIONAL_SERVICE = "ADDITIONAL_SERVICE" + showEnum Alert'MODIFIED_SERVICE = "MODIFIED_SERVICE" + showEnum Alert'OTHER_EFFECT = "OTHER_EFFECT" + showEnum Alert'UNKNOWN_EFFECT = "UNKNOWN_EFFECT" + showEnum Alert'STOP_MOVED = "STOP_MOVED" + showEnum Alert'NO_EFFECT = "NO_EFFECT" + showEnum Alert'ACCESSIBILITY_ISSUE = "ACCESSIBILITY_ISSUE" + readEnum k + | (Prelude.==) k "NO_SERVICE" = Prelude.Just Alert'NO_SERVICE + | (Prelude.==) k "REDUCED_SERVICE" + = Prelude.Just Alert'REDUCED_SERVICE + | (Prelude.==) k "SIGNIFICANT_DELAYS" + = Prelude.Just Alert'SIGNIFICANT_DELAYS + | (Prelude.==) k "DETOUR" = Prelude.Just Alert'DETOUR + | (Prelude.==) k "ADDITIONAL_SERVICE" + = Prelude.Just Alert'ADDITIONAL_SERVICE + | (Prelude.==) k "MODIFIED_SERVICE" + = Prelude.Just Alert'MODIFIED_SERVICE + | (Prelude.==) k "OTHER_EFFECT" = Prelude.Just Alert'OTHER_EFFECT + | (Prelude.==) k "UNKNOWN_EFFECT" + = Prelude.Just Alert'UNKNOWN_EFFECT + | (Prelude.==) k "STOP_MOVED" = Prelude.Just Alert'STOP_MOVED + | (Prelude.==) k "NO_EFFECT" = Prelude.Just Alert'NO_EFFECT + | (Prelude.==) k "ACCESSIBILITY_ISSUE" + = Prelude.Just Alert'ACCESSIBILITY_ISSUE + | Prelude.otherwise + = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum +instance Prelude.Bounded Alert'Effect where + minBound = Alert'NO_SERVICE + maxBound = Alert'ACCESSIBILITY_ISSUE +instance Prelude.Enum Alert'Effect where + toEnum k__ + = Prelude.maybe + (Prelude.error + ((Prelude.++) + "toEnum: unknown value for enum Effect: " (Prelude.show k__))) + Prelude.id (Data.ProtoLens.maybeToEnum k__) + fromEnum Alert'NO_SERVICE = 1 + fromEnum Alert'REDUCED_SERVICE = 2 + fromEnum Alert'SIGNIFICANT_DELAYS = 3 + fromEnum Alert'DETOUR = 4 + fromEnum Alert'ADDITIONAL_SERVICE = 5 + fromEnum Alert'MODIFIED_SERVICE = 6 + fromEnum Alert'OTHER_EFFECT = 7 + fromEnum Alert'UNKNOWN_EFFECT = 8 + fromEnum Alert'STOP_MOVED = 9 + fromEnum Alert'NO_EFFECT = 10 + fromEnum Alert'ACCESSIBILITY_ISSUE = 11 + succ Alert'ACCESSIBILITY_ISSUE + = Prelude.error + "Alert'Effect.succ: bad argument Alert'ACCESSIBILITY_ISSUE. This value would be out of bounds." + succ Alert'NO_SERVICE = Alert'REDUCED_SERVICE + succ Alert'REDUCED_SERVICE = Alert'SIGNIFICANT_DELAYS + succ Alert'SIGNIFICANT_DELAYS = Alert'DETOUR + succ Alert'DETOUR = Alert'ADDITIONAL_SERVICE + succ Alert'ADDITIONAL_SERVICE = Alert'MODIFIED_SERVICE + succ Alert'MODIFIED_SERVICE = Alert'OTHER_EFFECT + succ Alert'OTHER_EFFECT = Alert'UNKNOWN_EFFECT + succ Alert'UNKNOWN_EFFECT = Alert'STOP_MOVED + succ Alert'STOP_MOVED = Alert'NO_EFFECT + succ Alert'NO_EFFECT = Alert'ACCESSIBILITY_ISSUE + pred Alert'NO_SERVICE + = Prelude.error + "Alert'Effect.pred: bad argument Alert'NO_SERVICE. This value would be out of bounds." + pred Alert'REDUCED_SERVICE = Alert'NO_SERVICE + pred Alert'SIGNIFICANT_DELAYS = Alert'REDUCED_SERVICE + pred Alert'DETOUR = Alert'SIGNIFICANT_DELAYS + pred Alert'ADDITIONAL_SERVICE = Alert'DETOUR + pred Alert'MODIFIED_SERVICE = Alert'ADDITIONAL_SERVICE + pred Alert'OTHER_EFFECT = Alert'MODIFIED_SERVICE + pred Alert'UNKNOWN_EFFECT = Alert'OTHER_EFFECT + pred Alert'STOP_MOVED = Alert'UNKNOWN_EFFECT + pred Alert'NO_EFFECT = Alert'STOP_MOVED + pred Alert'ACCESSIBILITY_ISSUE = Alert'NO_EFFECT + enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom + enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo + enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen + enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo +instance Data.ProtoLens.FieldDefault Alert'Effect where + fieldDefault = Alert'NO_SERVICE +instance Control.DeepSeq.NFData Alert'Effect where + rnf x__ = Prelude.seq x__ () +data Alert'SeverityLevel + = Alert'UNKNOWN_SEVERITY | + Alert'INFO | + Alert'WARNING | + Alert'SEVERE + deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord) +instance Data.ProtoLens.MessageEnum Alert'SeverityLevel where + maybeToEnum 1 = Prelude.Just Alert'UNKNOWN_SEVERITY + maybeToEnum 2 = Prelude.Just Alert'INFO + maybeToEnum 3 = Prelude.Just Alert'WARNING + maybeToEnum 4 = Prelude.Just Alert'SEVERE + maybeToEnum _ = Prelude.Nothing + showEnum Alert'UNKNOWN_SEVERITY = "UNKNOWN_SEVERITY" + showEnum Alert'INFO = "INFO" + showEnum Alert'WARNING = "WARNING" + showEnum Alert'SEVERE = "SEVERE" + readEnum k + | (Prelude.==) k "UNKNOWN_SEVERITY" + = Prelude.Just Alert'UNKNOWN_SEVERITY + | (Prelude.==) k "INFO" = Prelude.Just Alert'INFO + | (Prelude.==) k "WARNING" = Prelude.Just Alert'WARNING + | (Prelude.==) k "SEVERE" = Prelude.Just Alert'SEVERE + | Prelude.otherwise + = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum +instance Prelude.Bounded Alert'SeverityLevel where + minBound = Alert'UNKNOWN_SEVERITY + maxBound = Alert'SEVERE +instance Prelude.Enum Alert'SeverityLevel where + toEnum k__ + = Prelude.maybe + (Prelude.error + ((Prelude.++) + "toEnum: unknown value for enum SeverityLevel: " + (Prelude.show k__))) + Prelude.id (Data.ProtoLens.maybeToEnum k__) + fromEnum Alert'UNKNOWN_SEVERITY = 1 + fromEnum Alert'INFO = 2 + fromEnum Alert'WARNING = 3 + fromEnum Alert'SEVERE = 4 + succ Alert'SEVERE + = Prelude.error + "Alert'SeverityLevel.succ: bad argument Alert'SEVERE. This value would be out of bounds." + succ Alert'UNKNOWN_SEVERITY = Alert'INFO + succ Alert'INFO = Alert'WARNING + succ Alert'WARNING = Alert'SEVERE + pred Alert'UNKNOWN_SEVERITY + = Prelude.error + "Alert'SeverityLevel.pred: bad argument Alert'UNKNOWN_SEVERITY. This value would be out of bounds." + pred Alert'INFO = Alert'UNKNOWN_SEVERITY + pred Alert'WARNING = Alert'INFO + pred Alert'SEVERE = Alert'WARNING + enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom + enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo + enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen + enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo +instance Data.ProtoLens.FieldDefault Alert'SeverityLevel where + fieldDefault = Alert'UNKNOWN_SEVERITY +instance Control.DeepSeq.NFData Alert'SeverityLevel where + rnf x__ = Prelude.seq x__ () +{- | Fields : + + * 'Proto.GtfsRealtime_Fields.agencyId' @:: Lens' EntitySelector Data.Text.Text@ + * 'Proto.GtfsRealtime_Fields.maybe'agencyId' @:: Lens' EntitySelector (Prelude.Maybe Data.Text.Text)@ + * 'Proto.GtfsRealtime_Fields.routeId' @:: Lens' EntitySelector Data.Text.Text@ + * 'Proto.GtfsRealtime_Fields.maybe'routeId' @:: Lens' EntitySelector (Prelude.Maybe Data.Text.Text)@ + * 'Proto.GtfsRealtime_Fields.routeType' @:: Lens' EntitySelector Data.Int.Int32@ + * 'Proto.GtfsRealtime_Fields.maybe'routeType' @:: Lens' EntitySelector (Prelude.Maybe Data.Int.Int32)@ + * 'Proto.GtfsRealtime_Fields.trip' @:: Lens' EntitySelector TripDescriptor@ + * 'Proto.GtfsRealtime_Fields.maybe'trip' @:: Lens' EntitySelector (Prelude.Maybe TripDescriptor)@ + * 'Proto.GtfsRealtime_Fields.stopId' @:: Lens' EntitySelector Data.Text.Text@ + * 'Proto.GtfsRealtime_Fields.maybe'stopId' @:: Lens' EntitySelector (Prelude.Maybe Data.Text.Text)@ + * 'Proto.GtfsRealtime_Fields.directionId' @:: Lens' EntitySelector Data.Word.Word32@ + * 'Proto.GtfsRealtime_Fields.maybe'directionId' @:: Lens' EntitySelector (Prelude.Maybe Data.Word.Word32)@ -} +data EntitySelector + = EntitySelector'_constructor {_EntitySelector'agencyId :: !(Prelude.Maybe Data.Text.Text), + _EntitySelector'routeId :: !(Prelude.Maybe Data.Text.Text), + _EntitySelector'routeType :: !(Prelude.Maybe Data.Int.Int32), + _EntitySelector'trip :: !(Prelude.Maybe TripDescriptor), + _EntitySelector'stopId :: !(Prelude.Maybe Data.Text.Text), + _EntitySelector'directionId :: !(Prelude.Maybe Data.Word.Word32), + _EntitySelector'_unknownFields :: !Data.ProtoLens.FieldSet} + deriving stock (Prelude.Eq, Prelude.Ord) +instance Prelude.Show EntitySelector where + showsPrec _ __x __s + = Prelude.showChar + '{' + (Prelude.showString + (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s)) +instance Data.ProtoLens.Field.HasField EntitySelector "agencyId" Data.Text.Text where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _EntitySelector'agencyId + (\ x__ y__ -> x__ {_EntitySelector'agencyId = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault) +instance Data.ProtoLens.Field.HasField EntitySelector "maybe'agencyId" (Prelude.Maybe Data.Text.Text) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _EntitySelector'agencyId + (\ x__ y__ -> x__ {_EntitySelector'agencyId = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField EntitySelector "routeId" Data.Text.Text where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _EntitySelector'routeId + (\ x__ y__ -> x__ {_EntitySelector'routeId = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault) +instance Data.ProtoLens.Field.HasField EntitySelector "maybe'routeId" (Prelude.Maybe Data.Text.Text) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _EntitySelector'routeId + (\ x__ y__ -> x__ {_EntitySelector'routeId = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField EntitySelector "routeType" Data.Int.Int32 where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _EntitySelector'routeType + (\ x__ y__ -> x__ {_EntitySelector'routeType = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault) +instance Data.ProtoLens.Field.HasField EntitySelector "maybe'routeType" (Prelude.Maybe Data.Int.Int32) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _EntitySelector'routeType + (\ x__ y__ -> x__ {_EntitySelector'routeType = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField EntitySelector "trip" TripDescriptor where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _EntitySelector'trip + (\ x__ y__ -> x__ {_EntitySelector'trip = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage) +instance Data.ProtoLens.Field.HasField EntitySelector "maybe'trip" (Prelude.Maybe TripDescriptor) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _EntitySelector'trip + (\ x__ y__ -> x__ {_EntitySelector'trip = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField EntitySelector "stopId" Data.Text.Text where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _EntitySelector'stopId + (\ x__ y__ -> x__ {_EntitySelector'stopId = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault) +instance Data.ProtoLens.Field.HasField EntitySelector "maybe'stopId" (Prelude.Maybe Data.Text.Text) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _EntitySelector'stopId + (\ x__ y__ -> x__ {_EntitySelector'stopId = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField EntitySelector "directionId" Data.Word.Word32 where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _EntitySelector'directionId + (\ x__ y__ -> x__ {_EntitySelector'directionId = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault) +instance Data.ProtoLens.Field.HasField EntitySelector "maybe'directionId" (Prelude.Maybe Data.Word.Word32) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _EntitySelector'directionId + (\ x__ y__ -> x__ {_EntitySelector'directionId = y__})) + Prelude.id +instance Data.ProtoLens.Message EntitySelector where + messageName _ = Data.Text.pack "transit_realtime.EntitySelector" + packedMessageDescriptor _ + = "\n\ + \\SOEntitySelector\DC2\ESC\n\ + \\tagency_id\CAN\SOH \SOH(\tR\bagencyId\DC2\EM\n\ + \\broute_id\CAN\STX \SOH(\tR\arouteId\DC2\GS\n\ + \\n\ + \route_type\CAN\ETX \SOH(\ENQR\trouteType\DC24\n\ + \\EOTtrip\CAN\EOT \SOH(\v2 .transit_realtime.TripDescriptorR\EOTtrip\DC2\ETB\n\ + \\astop_id\CAN\ENQ \SOH(\tR\ACKstopId\DC2!\n\ + \\fdirection_id\CAN\ACK \SOH(\rR\vdirectionId*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N" + packedFileDescriptor _ = packedFileDescriptor + fieldsByTag + = let + agencyId__field_descriptor + = Data.ProtoLens.FieldDescriptor + "agency_id" + (Data.ProtoLens.ScalarField Data.ProtoLens.StringField :: + Data.ProtoLens.FieldTypeDescriptor Data.Text.Text) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'agencyId")) :: + Data.ProtoLens.FieldDescriptor EntitySelector + routeId__field_descriptor + = Data.ProtoLens.FieldDescriptor + "route_id" + (Data.ProtoLens.ScalarField Data.ProtoLens.StringField :: + Data.ProtoLens.FieldTypeDescriptor Data.Text.Text) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'routeId")) :: + Data.ProtoLens.FieldDescriptor EntitySelector + routeType__field_descriptor + = Data.ProtoLens.FieldDescriptor + "route_type" + (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field :: + Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'routeType")) :: + Data.ProtoLens.FieldDescriptor EntitySelector + trip__field_descriptor + = Data.ProtoLens.FieldDescriptor + "trip" + (Data.ProtoLens.MessageField Data.ProtoLens.MessageType :: + Data.ProtoLens.FieldTypeDescriptor TripDescriptor) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'trip")) :: + Data.ProtoLens.FieldDescriptor EntitySelector + stopId__field_descriptor + = Data.ProtoLens.FieldDescriptor + "stop_id" + (Data.ProtoLens.ScalarField Data.ProtoLens.StringField :: + Data.ProtoLens.FieldTypeDescriptor Data.Text.Text) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'stopId")) :: + Data.ProtoLens.FieldDescriptor EntitySelector + directionId__field_descriptor + = Data.ProtoLens.FieldDescriptor + "direction_id" + (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field :: + Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'directionId")) :: + Data.ProtoLens.FieldDescriptor EntitySelector + in + Data.Map.fromList + [(Data.ProtoLens.Tag 1, agencyId__field_descriptor), + (Data.ProtoLens.Tag 2, routeId__field_descriptor), + (Data.ProtoLens.Tag 3, routeType__field_descriptor), + (Data.ProtoLens.Tag 4, trip__field_descriptor), + (Data.ProtoLens.Tag 5, stopId__field_descriptor), + (Data.ProtoLens.Tag 6, directionId__field_descriptor)] + unknownFields + = Lens.Family2.Unchecked.lens + _EntitySelector'_unknownFields + (\ x__ y__ -> x__ {_EntitySelector'_unknownFields = y__}) + defMessage + = EntitySelector'_constructor + {_EntitySelector'agencyId = Prelude.Nothing, + _EntitySelector'routeId = Prelude.Nothing, + _EntitySelector'routeType = Prelude.Nothing, + _EntitySelector'trip = Prelude.Nothing, + _EntitySelector'stopId = Prelude.Nothing, + _EntitySelector'directionId = Prelude.Nothing, + _EntitySelector'_unknownFields = []} + parseMessage + = let + loop :: + EntitySelector + -> Data.ProtoLens.Encoding.Bytes.Parser EntitySelector + loop x + = do end <- Data.ProtoLens.Encoding.Bytes.atEnd + if end then + do (let missing = [] + in + if Prelude.null missing then + Prelude.return () + else + Prelude.fail + ((Prelude.++) + "Missing required fields: " + (Prelude.show (missing :: [Prelude.String])))) + Prelude.return + (Lens.Family2.over + Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x) + else + do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt + case tag of + 10 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.getText + (Prelude.fromIntegral len)) + "agency_id" + loop + (Lens.Family2.set (Data.ProtoLens.Field.field @"agencyId") y x) + 18 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.getText + (Prelude.fromIntegral len)) + "route_id" + loop (Lens.Family2.set (Data.ProtoLens.Field.field @"routeId") y x) + 24 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (Prelude.fmap + Prelude.fromIntegral + Data.ProtoLens.Encoding.Bytes.getVarInt) + "route_type" + loop + (Lens.Family2.set (Data.ProtoLens.Field.field @"routeType") y x) + 34 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.isolate + (Prelude.fromIntegral len) Data.ProtoLens.parseMessage) + "trip" + loop (Lens.Family2.set (Data.ProtoLens.Field.field @"trip") y x) + 42 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.getText + (Prelude.fromIntegral len)) + "stop_id" + loop (Lens.Family2.set (Data.ProtoLens.Field.field @"stopId") y x) + 48 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (Prelude.fmap + Prelude.fromIntegral + Data.ProtoLens.Encoding.Bytes.getVarInt) + "direction_id" + loop + (Lens.Family2.set (Data.ProtoLens.Field.field @"directionId") y x) + wire + -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire + wire + loop + (Lens.Family2.over + Data.ProtoLens.unknownFields (\ !t -> (:) y t) x) + in + (Data.ProtoLens.Encoding.Bytes.) + (do loop Data.ProtoLens.defMessage) "EntitySelector" + buildMessage + = \ _x + -> (Data.Monoid.<>) + (case + Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'agencyId") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 10) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.Text.Encoding.encodeUtf8 _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'routeId") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 18) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.Text.Encoding.encodeUtf8 _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view + (Data.ProtoLens.Field.field @"maybe'routeType") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 24) + ((Prelude..) + Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'trip") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 34) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.ProtoLens.encodeMessage _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'stopId") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 42) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.Text.Encoding.encodeUtf8 _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view + (Data.ProtoLens.Field.field @"maybe'directionId") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 48) + ((Prelude..) + Data.ProtoLens.Encoding.Bytes.putVarInt + Prelude.fromIntegral _v)) + (Data.ProtoLens.Encoding.Wire.buildFieldSet + (Lens.Family2.view Data.ProtoLens.unknownFields _x))))))) +instance Control.DeepSeq.NFData EntitySelector where + rnf + = \ x__ + -> Control.DeepSeq.deepseq + (_EntitySelector'_unknownFields x__) + (Control.DeepSeq.deepseq + (_EntitySelector'agencyId x__) + (Control.DeepSeq.deepseq + (_EntitySelector'routeId x__) + (Control.DeepSeq.deepseq + (_EntitySelector'routeType x__) + (Control.DeepSeq.deepseq + (_EntitySelector'trip x__) + (Control.DeepSeq.deepseq + (_EntitySelector'stopId x__) + (Control.DeepSeq.deepseq (_EntitySelector'directionId x__) ())))))) +{- | Fields : + + * 'Proto.GtfsRealtime_Fields.id' @:: Lens' FeedEntity Data.Text.Text@ + * 'Proto.GtfsRealtime_Fields.isDeleted' @:: Lens' FeedEntity Prelude.Bool@ + * 'Proto.GtfsRealtime_Fields.maybe'isDeleted' @:: Lens' FeedEntity (Prelude.Maybe Prelude.Bool)@ + * 'Proto.GtfsRealtime_Fields.tripUpdate' @:: Lens' FeedEntity TripUpdate@ + * 'Proto.GtfsRealtime_Fields.maybe'tripUpdate' @:: Lens' FeedEntity (Prelude.Maybe TripUpdate)@ + * 'Proto.GtfsRealtime_Fields.vehicle' @:: Lens' FeedEntity VehiclePosition@ + * 'Proto.GtfsRealtime_Fields.maybe'vehicle' @:: Lens' FeedEntity (Prelude.Maybe VehiclePosition)@ + * 'Proto.GtfsRealtime_Fields.alert' @:: Lens' FeedEntity Alert@ + * 'Proto.GtfsRealtime_Fields.maybe'alert' @:: Lens' FeedEntity (Prelude.Maybe Alert)@ + * 'Proto.GtfsRealtime_Fields.shape' @:: Lens' FeedEntity Shape@ + * 'Proto.GtfsRealtime_Fields.maybe'shape' @:: Lens' FeedEntity (Prelude.Maybe Shape)@ -} +data FeedEntity + = FeedEntity'_constructor {_FeedEntity'id :: !Data.Text.Text, + _FeedEntity'isDeleted :: !(Prelude.Maybe Prelude.Bool), + _FeedEntity'tripUpdate :: !(Prelude.Maybe TripUpdate), + _FeedEntity'vehicle :: !(Prelude.Maybe VehiclePosition), + _FeedEntity'alert :: !(Prelude.Maybe Alert), + _FeedEntity'shape :: !(Prelude.Maybe Shape), + _FeedEntity'_unknownFields :: !Data.ProtoLens.FieldSet} + deriving stock (Prelude.Eq, Prelude.Ord) +instance Prelude.Show FeedEntity where + showsPrec _ __x __s + = Prelude.showChar + '{' + (Prelude.showString + (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s)) +instance Data.ProtoLens.Field.HasField FeedEntity "id" Data.Text.Text where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _FeedEntity'id (\ x__ y__ -> x__ {_FeedEntity'id = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField FeedEntity "isDeleted" Prelude.Bool where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _FeedEntity'isDeleted + (\ x__ y__ -> x__ {_FeedEntity'isDeleted = y__})) + (Data.ProtoLens.maybeLens Prelude.False) +instance Data.ProtoLens.Field.HasField FeedEntity "maybe'isDeleted" (Prelude.Maybe Prelude.Bool) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _FeedEntity'isDeleted + (\ x__ y__ -> x__ {_FeedEntity'isDeleted = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField FeedEntity "tripUpdate" TripUpdate where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _FeedEntity'tripUpdate + (\ x__ y__ -> x__ {_FeedEntity'tripUpdate = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage) +instance Data.ProtoLens.Field.HasField FeedEntity "maybe'tripUpdate" (Prelude.Maybe TripUpdate) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _FeedEntity'tripUpdate + (\ x__ y__ -> x__ {_FeedEntity'tripUpdate = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField FeedEntity "vehicle" VehiclePosition where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _FeedEntity'vehicle (\ x__ y__ -> x__ {_FeedEntity'vehicle = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage) +instance Data.ProtoLens.Field.HasField FeedEntity "maybe'vehicle" (Prelude.Maybe VehiclePosition) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _FeedEntity'vehicle (\ x__ y__ -> x__ {_FeedEntity'vehicle = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField FeedEntity "alert" Alert where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _FeedEntity'alert (\ x__ y__ -> x__ {_FeedEntity'alert = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage) +instance Data.ProtoLens.Field.HasField FeedEntity "maybe'alert" (Prelude.Maybe Alert) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _FeedEntity'alert (\ x__ y__ -> x__ {_FeedEntity'alert = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField FeedEntity "shape" Shape where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _FeedEntity'shape (\ x__ y__ -> x__ {_FeedEntity'shape = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage) +instance Data.ProtoLens.Field.HasField FeedEntity "maybe'shape" (Prelude.Maybe Shape) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _FeedEntity'shape (\ x__ y__ -> x__ {_FeedEntity'shape = y__})) + Prelude.id +instance Data.ProtoLens.Message FeedEntity where + messageName _ = Data.Text.pack "transit_realtime.FeedEntity" + packedMessageDescriptor _ + = "\n\ + \\n\ + \FeedEntity\DC2\SO\n\ + \\STXid\CAN\SOH \STX(\tR\STXid\DC2$\n\ + \\n\ + \is_deleted\CAN\STX \SOH(\b:\ENQfalseR\tisDeleted\DC2=\n\ + \\vtrip_update\CAN\ETX \SOH(\v2\FS.transit_realtime.TripUpdateR\n\ + \tripUpdate\DC2;\n\ + \\avehicle\CAN\EOT \SOH(\v2!.transit_realtime.VehiclePositionR\avehicle\DC2-\n\ + \\ENQalert\CAN\ENQ \SOH(\v2\ETB.transit_realtime.AlertR\ENQalert\DC2-\n\ + \\ENQshape\CAN\ACK \SOH(\v2\ETB.transit_realtime.ShapeR\ENQshape*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N" + packedFileDescriptor _ = packedFileDescriptor + fieldsByTag + = let + id__field_descriptor + = Data.ProtoLens.FieldDescriptor + "id" + (Data.ProtoLens.ScalarField Data.ProtoLens.StringField :: + Data.ProtoLens.FieldTypeDescriptor Data.Text.Text) + (Data.ProtoLens.PlainField + Data.ProtoLens.Required (Data.ProtoLens.Field.field @"id")) :: + Data.ProtoLens.FieldDescriptor FeedEntity + isDeleted__field_descriptor + = Data.ProtoLens.FieldDescriptor + "is_deleted" + (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField :: + Data.ProtoLens.FieldTypeDescriptor Prelude.Bool) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'isDeleted")) :: + Data.ProtoLens.FieldDescriptor FeedEntity + tripUpdate__field_descriptor + = Data.ProtoLens.FieldDescriptor + "trip_update" + (Data.ProtoLens.MessageField Data.ProtoLens.MessageType :: + Data.ProtoLens.FieldTypeDescriptor TripUpdate) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'tripUpdate")) :: + Data.ProtoLens.FieldDescriptor FeedEntity + vehicle__field_descriptor + = Data.ProtoLens.FieldDescriptor + "vehicle" + (Data.ProtoLens.MessageField Data.ProtoLens.MessageType :: + Data.ProtoLens.FieldTypeDescriptor VehiclePosition) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'vehicle")) :: + Data.ProtoLens.FieldDescriptor FeedEntity + alert__field_descriptor + = Data.ProtoLens.FieldDescriptor + "alert" + (Data.ProtoLens.MessageField Data.ProtoLens.MessageType :: + Data.ProtoLens.FieldTypeDescriptor Alert) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'alert")) :: + Data.ProtoLens.FieldDescriptor FeedEntity + shape__field_descriptor + = Data.ProtoLens.FieldDescriptor + "shape" + (Data.ProtoLens.MessageField Data.ProtoLens.MessageType :: + Data.ProtoLens.FieldTypeDescriptor Shape) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'shape")) :: + Data.ProtoLens.FieldDescriptor FeedEntity + in + Data.Map.fromList + [(Data.ProtoLens.Tag 1, id__field_descriptor), + (Data.ProtoLens.Tag 2, isDeleted__field_descriptor), + (Data.ProtoLens.Tag 3, tripUpdate__field_descriptor), + (Data.ProtoLens.Tag 4, vehicle__field_descriptor), + (Data.ProtoLens.Tag 5, alert__field_descriptor), + (Data.ProtoLens.Tag 6, shape__field_descriptor)] + unknownFields + = Lens.Family2.Unchecked.lens + _FeedEntity'_unknownFields + (\ x__ y__ -> x__ {_FeedEntity'_unknownFields = y__}) + defMessage + = FeedEntity'_constructor + {_FeedEntity'id = Data.ProtoLens.fieldDefault, + _FeedEntity'isDeleted = Prelude.Nothing, + _FeedEntity'tripUpdate = Prelude.Nothing, + _FeedEntity'vehicle = Prelude.Nothing, + _FeedEntity'alert = Prelude.Nothing, + _FeedEntity'shape = Prelude.Nothing, + _FeedEntity'_unknownFields = []} + parseMessage + = let + loop :: + FeedEntity + -> Prelude.Bool -> Data.ProtoLens.Encoding.Bytes.Parser FeedEntity + loop x required'id + = do end <- Data.ProtoLens.Encoding.Bytes.atEnd + if end then + do (let missing = (if required'id then (:) "id" else Prelude.id) [] + in + if Prelude.null missing then + Prelude.return () + else + Prelude.fail + ((Prelude.++) + "Missing required fields: " + (Prelude.show (missing :: [Prelude.String])))) + Prelude.return + (Lens.Family2.over + Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x) + else + do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt + case tag of + 10 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.getText + (Prelude.fromIntegral len)) + "id" + loop + (Lens.Family2.set (Data.ProtoLens.Field.field @"id") y x) + Prelude.False + 16 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (Prelude.fmap + ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt) + "is_deleted" + loop + (Lens.Family2.set (Data.ProtoLens.Field.field @"isDeleted") y x) + required'id + 26 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.isolate + (Prelude.fromIntegral len) Data.ProtoLens.parseMessage) + "trip_update" + loop + (Lens.Family2.set (Data.ProtoLens.Field.field @"tripUpdate") y x) + required'id + 34 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.isolate + (Prelude.fromIntegral len) Data.ProtoLens.parseMessage) + "vehicle" + loop + (Lens.Family2.set (Data.ProtoLens.Field.field @"vehicle") y x) + required'id + 42 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.isolate + (Prelude.fromIntegral len) Data.ProtoLens.parseMessage) + "alert" + loop + (Lens.Family2.set (Data.ProtoLens.Field.field @"alert") y x) + required'id + 50 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.isolate + (Prelude.fromIntegral len) Data.ProtoLens.parseMessage) + "shape" + loop + (Lens.Family2.set (Data.ProtoLens.Field.field @"shape") y x) + required'id + wire + -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire + wire + loop + (Lens.Family2.over + Data.ProtoLens.unknownFields (\ !t -> (:) y t) x) + required'id + in + (Data.ProtoLens.Encoding.Bytes.) + (do loop Data.ProtoLens.defMessage Prelude.True) "FeedEntity" + buildMessage + = \ _x + -> (Data.Monoid.<>) + ((Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 10) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.Text.Encoding.encodeUtf8 + (Lens.Family2.view (Data.ProtoLens.Field.field @"id") _x))) + ((Data.Monoid.<>) + (case + Lens.Family2.view + (Data.ProtoLens.Field.field @"maybe'isDeleted") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 16) + ((Prelude..) + Data.ProtoLens.Encoding.Bytes.putVarInt (\ b -> if b then 1 else 0) + _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view + (Data.ProtoLens.Field.field @"maybe'tripUpdate") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 26) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.ProtoLens.encodeMessage _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'vehicle") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 34) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.ProtoLens.encodeMessage _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'alert") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 42) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.ProtoLens.encodeMessage _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'shape") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 50) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral + (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.ProtoLens.encodeMessage _v)) + (Data.ProtoLens.Encoding.Wire.buildFieldSet + (Lens.Family2.view Data.ProtoLens.unknownFields _x))))))) +instance Control.DeepSeq.NFData FeedEntity where + rnf + = \ x__ + -> Control.DeepSeq.deepseq + (_FeedEntity'_unknownFields x__) + (Control.DeepSeq.deepseq + (_FeedEntity'id x__) + (Control.DeepSeq.deepseq + (_FeedEntity'isDeleted x__) + (Control.DeepSeq.deepseq + (_FeedEntity'tripUpdate x__) + (Control.DeepSeq.deepseq + (_FeedEntity'vehicle x__) + (Control.DeepSeq.deepseq + (_FeedEntity'alert x__) + (Control.DeepSeq.deepseq (_FeedEntity'shape x__) ())))))) +{- | Fields : + + * 'Proto.GtfsRealtime_Fields.gtfsRealtimeVersion' @:: Lens' FeedHeader Data.Text.Text@ + * 'Proto.GtfsRealtime_Fields.incrementality' @:: Lens' FeedHeader FeedHeader'Incrementality@ + * 'Proto.GtfsRealtime_Fields.maybe'incrementality' @:: Lens' FeedHeader (Prelude.Maybe FeedHeader'Incrementality)@ + * 'Proto.GtfsRealtime_Fields.timestamp' @:: Lens' FeedHeader Data.Word.Word64@ + * 'Proto.GtfsRealtime_Fields.maybe'timestamp' @:: Lens' FeedHeader (Prelude.Maybe Data.Word.Word64)@ -} +data FeedHeader + = FeedHeader'_constructor {_FeedHeader'gtfsRealtimeVersion :: !Data.Text.Text, + _FeedHeader'incrementality :: !(Prelude.Maybe FeedHeader'Incrementality), + _FeedHeader'timestamp :: !(Prelude.Maybe Data.Word.Word64), + _FeedHeader'_unknownFields :: !Data.ProtoLens.FieldSet} + deriving stock (Prelude.Eq, Prelude.Ord) +instance Prelude.Show FeedHeader where + showsPrec _ __x __s + = Prelude.showChar + '{' + (Prelude.showString + (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s)) +instance Data.ProtoLens.Field.HasField FeedHeader "gtfsRealtimeVersion" Data.Text.Text where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _FeedHeader'gtfsRealtimeVersion + (\ x__ y__ -> x__ {_FeedHeader'gtfsRealtimeVersion = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField FeedHeader "incrementality" FeedHeader'Incrementality where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _FeedHeader'incrementality + (\ x__ y__ -> x__ {_FeedHeader'incrementality = y__})) + (Data.ProtoLens.maybeLens FeedHeader'FULL_DATASET) +instance Data.ProtoLens.Field.HasField FeedHeader "maybe'incrementality" (Prelude.Maybe FeedHeader'Incrementality) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _FeedHeader'incrementality + (\ x__ y__ -> x__ {_FeedHeader'incrementality = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField FeedHeader "timestamp" Data.Word.Word64 where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _FeedHeader'timestamp + (\ x__ y__ -> x__ {_FeedHeader'timestamp = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault) +instance Data.ProtoLens.Field.HasField FeedHeader "maybe'timestamp" (Prelude.Maybe Data.Word.Word64) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _FeedHeader'timestamp + (\ x__ y__ -> x__ {_FeedHeader'timestamp = y__})) + Prelude.id +instance Data.ProtoLens.Message FeedHeader where + messageName _ = Data.Text.pack "transit_realtime.FeedHeader" + packedMessageDescriptor _ + = "\n\ + \\n\ + \FeedHeader\DC22\n\ + \\NAKgtfs_realtime_version\CAN\SOH \STX(\tR\DC3gtfsRealtimeVersion\DC2a\n\ + \\SOincrementality\CAN\STX \SOH(\SO2+.transit_realtime.FeedHeader.Incrementality:\fFULL_DATASETR\SOincrementality\DC2\FS\n\ + \\ttimestamp\CAN\ETX \SOH(\EOTR\ttimestamp\"4\n\ + \\SOIncrementality\DC2\DLE\n\ + \\fFULL_DATASET\DLE\NUL\DC2\DLE\n\ + \\fDIFFERENTIAL\DLE\SOH*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N" + packedFileDescriptor _ = packedFileDescriptor + fieldsByTag + = let + gtfsRealtimeVersion__field_descriptor + = Data.ProtoLens.FieldDescriptor + "gtfs_realtime_version" + (Data.ProtoLens.ScalarField Data.ProtoLens.StringField :: + Data.ProtoLens.FieldTypeDescriptor Data.Text.Text) + (Data.ProtoLens.PlainField + Data.ProtoLens.Required + (Data.ProtoLens.Field.field @"gtfsRealtimeVersion")) :: + Data.ProtoLens.FieldDescriptor FeedHeader + incrementality__field_descriptor + = Data.ProtoLens.FieldDescriptor + "incrementality" + (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField :: + Data.ProtoLens.FieldTypeDescriptor FeedHeader'Incrementality) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'incrementality")) :: + Data.ProtoLens.FieldDescriptor FeedHeader + timestamp__field_descriptor + = Data.ProtoLens.FieldDescriptor + "timestamp" + (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field :: + Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'timestamp")) :: + Data.ProtoLens.FieldDescriptor FeedHeader + in + Data.Map.fromList + [(Data.ProtoLens.Tag 1, gtfsRealtimeVersion__field_descriptor), + (Data.ProtoLens.Tag 2, incrementality__field_descriptor), + (Data.ProtoLens.Tag 3, timestamp__field_descriptor)] + unknownFields + = Lens.Family2.Unchecked.lens + _FeedHeader'_unknownFields + (\ x__ y__ -> x__ {_FeedHeader'_unknownFields = y__}) + defMessage + = FeedHeader'_constructor + {_FeedHeader'gtfsRealtimeVersion = Data.ProtoLens.fieldDefault, + _FeedHeader'incrementality = Prelude.Nothing, + _FeedHeader'timestamp = Prelude.Nothing, + _FeedHeader'_unknownFields = []} + parseMessage + = let + loop :: + FeedHeader + -> Prelude.Bool -> Data.ProtoLens.Encoding.Bytes.Parser FeedHeader + loop x required'gtfsRealtimeVersion + = do end <- Data.ProtoLens.Encoding.Bytes.atEnd + if end then + do (let + missing + = (if required'gtfsRealtimeVersion then + (:) "gtfs_realtime_version" + else + Prelude.id) + [] + in + if Prelude.null missing then + Prelude.return () + else + Prelude.fail + ((Prelude.++) + "Missing required fields: " + (Prelude.show (missing :: [Prelude.String])))) + Prelude.return + (Lens.Family2.over + Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x) + else + do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt + case tag of + 10 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.getText + (Prelude.fromIntegral len)) + "gtfs_realtime_version" + loop + (Lens.Family2.set + (Data.ProtoLens.Field.field @"gtfsRealtimeVersion") y x) + Prelude.False + 16 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (Prelude.fmap + Prelude.toEnum + (Prelude.fmap + Prelude.fromIntegral + Data.ProtoLens.Encoding.Bytes.getVarInt)) + "incrementality" + loop + (Lens.Family2.set + (Data.ProtoLens.Field.field @"incrementality") y x) + required'gtfsRealtimeVersion + 24 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + Data.ProtoLens.Encoding.Bytes.getVarInt "timestamp" + loop + (Lens.Family2.set (Data.ProtoLens.Field.field @"timestamp") y x) + required'gtfsRealtimeVersion + wire + -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire + wire + loop + (Lens.Family2.over + Data.ProtoLens.unknownFields (\ !t -> (:) y t) x) + required'gtfsRealtimeVersion + in + (Data.ProtoLens.Encoding.Bytes.) + (do loop Data.ProtoLens.defMessage Prelude.True) "FeedHeader" + buildMessage + = \ _x + -> (Data.Monoid.<>) + ((Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 10) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.Text.Encoding.encodeUtf8 + (Lens.Family2.view + (Data.ProtoLens.Field.field @"gtfsRealtimeVersion") _x))) + ((Data.Monoid.<>) + (case + Lens.Family2.view + (Data.ProtoLens.Field.field @"maybe'incrementality") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 16) + ((Prelude..) + ((Prelude..) + Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral) + Prelude.fromEnum _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view + (Data.ProtoLens.Field.field @"maybe'timestamp") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 24) + (Data.ProtoLens.Encoding.Bytes.putVarInt _v)) + (Data.ProtoLens.Encoding.Wire.buildFieldSet + (Lens.Family2.view Data.ProtoLens.unknownFields _x)))) +instance Control.DeepSeq.NFData FeedHeader where + rnf + = \ x__ + -> Control.DeepSeq.deepseq + (_FeedHeader'_unknownFields x__) + (Control.DeepSeq.deepseq + (_FeedHeader'gtfsRealtimeVersion x__) + (Control.DeepSeq.deepseq + (_FeedHeader'incrementality x__) + (Control.DeepSeq.deepseq (_FeedHeader'timestamp x__) ()))) +data FeedHeader'Incrementality + = FeedHeader'FULL_DATASET | FeedHeader'DIFFERENTIAL + deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord) +instance Data.ProtoLens.MessageEnum FeedHeader'Incrementality where + maybeToEnum 0 = Prelude.Just FeedHeader'FULL_DATASET + maybeToEnum 1 = Prelude.Just FeedHeader'DIFFERENTIAL + maybeToEnum _ = Prelude.Nothing + showEnum FeedHeader'FULL_DATASET = "FULL_DATASET" + showEnum FeedHeader'DIFFERENTIAL = "DIFFERENTIAL" + readEnum k + | (Prelude.==) k "FULL_DATASET" + = Prelude.Just FeedHeader'FULL_DATASET + | (Prelude.==) k "DIFFERENTIAL" + = Prelude.Just FeedHeader'DIFFERENTIAL + | Prelude.otherwise + = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum +instance Prelude.Bounded FeedHeader'Incrementality where + minBound = FeedHeader'FULL_DATASET + maxBound = FeedHeader'DIFFERENTIAL +instance Prelude.Enum FeedHeader'Incrementality where + toEnum k__ + = Prelude.maybe + (Prelude.error + ((Prelude.++) + "toEnum: unknown value for enum Incrementality: " + (Prelude.show k__))) + Prelude.id (Data.ProtoLens.maybeToEnum k__) + fromEnum FeedHeader'FULL_DATASET = 0 + fromEnum FeedHeader'DIFFERENTIAL = 1 + succ FeedHeader'DIFFERENTIAL + = Prelude.error + "FeedHeader'Incrementality.succ: bad argument FeedHeader'DIFFERENTIAL. This value would be out of bounds." + succ FeedHeader'FULL_DATASET = FeedHeader'DIFFERENTIAL + pred FeedHeader'FULL_DATASET + = Prelude.error + "FeedHeader'Incrementality.pred: bad argument FeedHeader'FULL_DATASET. This value would be out of bounds." + pred FeedHeader'DIFFERENTIAL = FeedHeader'FULL_DATASET + enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom + enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo + enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen + enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo +instance Data.ProtoLens.FieldDefault FeedHeader'Incrementality where + fieldDefault = FeedHeader'FULL_DATASET +instance Control.DeepSeq.NFData FeedHeader'Incrementality where + rnf x__ = Prelude.seq x__ () +{- | Fields : + + * 'Proto.GtfsRealtime_Fields.header' @:: Lens' FeedMessage FeedHeader@ + * 'Proto.GtfsRealtime_Fields.entity' @:: Lens' FeedMessage [FeedEntity]@ + * 'Proto.GtfsRealtime_Fields.vec'entity' @:: Lens' FeedMessage (Data.Vector.Vector FeedEntity)@ -} +data FeedMessage + = FeedMessage'_constructor {_FeedMessage'header :: !FeedHeader, + _FeedMessage'entity :: !(Data.Vector.Vector FeedEntity), + _FeedMessage'_unknownFields :: !Data.ProtoLens.FieldSet} + deriving stock (Prelude.Eq, Prelude.Ord) +instance Prelude.Show FeedMessage where + showsPrec _ __x __s + = Prelude.showChar + '{' + (Prelude.showString + (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s)) +instance Data.ProtoLens.Field.HasField FeedMessage "header" FeedHeader where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _FeedMessage'header (\ x__ y__ -> x__ {_FeedMessage'header = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField FeedMessage "entity" [FeedEntity] where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _FeedMessage'entity (\ x__ y__ -> x__ {_FeedMessage'entity = y__})) + (Lens.Family2.Unchecked.lens + Data.Vector.Generic.toList + (\ _ y__ -> Data.Vector.Generic.fromList y__)) +instance Data.ProtoLens.Field.HasField FeedMessage "vec'entity" (Data.Vector.Vector FeedEntity) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _FeedMessage'entity (\ x__ y__ -> x__ {_FeedMessage'entity = y__})) + Prelude.id +instance Data.ProtoLens.Message FeedMessage where + messageName _ = Data.Text.pack "transit_realtime.FeedMessage" + packedMessageDescriptor _ + = "\n\ + \\vFeedMessage\DC24\n\ + \\ACKheader\CAN\SOH \STX(\v2\FS.transit_realtime.FeedHeaderR\ACKheader\DC24\n\ + \\ACKentity\CAN\STX \ETX(\v2\FS.transit_realtime.FeedEntityR\ACKentity*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N" + packedFileDescriptor _ = packedFileDescriptor + fieldsByTag + = let + header__field_descriptor + = Data.ProtoLens.FieldDescriptor + "header" + (Data.ProtoLens.MessageField Data.ProtoLens.MessageType :: + Data.ProtoLens.FieldTypeDescriptor FeedHeader) + (Data.ProtoLens.PlainField + Data.ProtoLens.Required (Data.ProtoLens.Field.field @"header")) :: + Data.ProtoLens.FieldDescriptor FeedMessage + entity__field_descriptor + = Data.ProtoLens.FieldDescriptor + "entity" + (Data.ProtoLens.MessageField Data.ProtoLens.MessageType :: + Data.ProtoLens.FieldTypeDescriptor FeedEntity) + (Data.ProtoLens.RepeatedField + Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"entity")) :: + Data.ProtoLens.FieldDescriptor FeedMessage + in + Data.Map.fromList + [(Data.ProtoLens.Tag 1, header__field_descriptor), + (Data.ProtoLens.Tag 2, entity__field_descriptor)] + unknownFields + = Lens.Family2.Unchecked.lens + _FeedMessage'_unknownFields + (\ x__ y__ -> x__ {_FeedMessage'_unknownFields = y__}) + defMessage + = FeedMessage'_constructor + {_FeedMessage'header = Data.ProtoLens.defMessage, + _FeedMessage'entity = Data.Vector.Generic.empty, + _FeedMessage'_unknownFields = []} + parseMessage + = let + loop :: + FeedMessage + -> Prelude.Bool + -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld FeedEntity + -> Data.ProtoLens.Encoding.Bytes.Parser FeedMessage + loop x required'header mutable'entity + = do end <- Data.ProtoLens.Encoding.Bytes.atEnd + if end then + do frozen'entity <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO + (Data.ProtoLens.Encoding.Growing.unsafeFreeze + mutable'entity) + (let + missing = (if required'header then (:) "header" else Prelude.id) [] + in + if Prelude.null missing then + Prelude.return () + else + Prelude.fail + ((Prelude.++) + "Missing required fields: " + (Prelude.show (missing :: [Prelude.String])))) + Prelude.return + (Lens.Family2.over + Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) + (Lens.Family2.set + (Data.ProtoLens.Field.field @"vec'entity") frozen'entity x)) + else + do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt + case tag of + 10 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.isolate + (Prelude.fromIntegral len) Data.ProtoLens.parseMessage) + "header" + loop + (Lens.Family2.set (Data.ProtoLens.Field.field @"header") y x) + Prelude.False mutable'entity + 18 + -> do !y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.isolate + (Prelude.fromIntegral len) + Data.ProtoLens.parseMessage) + "entity" + v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO + (Data.ProtoLens.Encoding.Growing.append mutable'entity y) + loop x required'header v + wire + -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire + wire + loop + (Lens.Family2.over + Data.ProtoLens.unknownFields (\ !t -> (:) y t) x) + required'header mutable'entity + in + (Data.ProtoLens.Encoding.Bytes.) + (do mutable'entity <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO + Data.ProtoLens.Encoding.Growing.new + loop Data.ProtoLens.defMessage Prelude.True mutable'entity) + "FeedMessage" + buildMessage + = \ _x + -> (Data.Monoid.<>) + ((Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 10) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.ProtoLens.encodeMessage + (Lens.Family2.view (Data.ProtoLens.Field.field @"header") _x))) + ((Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.foldMapBuilder + (\ _v + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 18) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.ProtoLens.encodeMessage _v)) + (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'entity") _x)) + (Data.ProtoLens.Encoding.Wire.buildFieldSet + (Lens.Family2.view Data.ProtoLens.unknownFields _x))) +instance Control.DeepSeq.NFData FeedMessage where + rnf + = \ x__ + -> Control.DeepSeq.deepseq + (_FeedMessage'_unknownFields x__) + (Control.DeepSeq.deepseq + (_FeedMessage'header x__) + (Control.DeepSeq.deepseq (_FeedMessage'entity x__) ())) +{- | Fields : + + * 'Proto.GtfsRealtime_Fields.latitude' @:: Lens' Position Prelude.Float@ + * 'Proto.GtfsRealtime_Fields.longitude' @:: Lens' Position Prelude.Float@ + * 'Proto.GtfsRealtime_Fields.bearing' @:: Lens' Position Prelude.Float@ + * 'Proto.GtfsRealtime_Fields.maybe'bearing' @:: Lens' Position (Prelude.Maybe Prelude.Float)@ + * 'Proto.GtfsRealtime_Fields.odometer' @:: Lens' Position Prelude.Double@ + * 'Proto.GtfsRealtime_Fields.maybe'odometer' @:: Lens' Position (Prelude.Maybe Prelude.Double)@ + * 'Proto.GtfsRealtime_Fields.speed' @:: Lens' Position Prelude.Float@ + * 'Proto.GtfsRealtime_Fields.maybe'speed' @:: Lens' Position (Prelude.Maybe Prelude.Float)@ -} +data Position + = Position'_constructor {_Position'latitude :: !Prelude.Float, + _Position'longitude :: !Prelude.Float, + _Position'bearing :: !(Prelude.Maybe Prelude.Float), + _Position'odometer :: !(Prelude.Maybe Prelude.Double), + _Position'speed :: !(Prelude.Maybe Prelude.Float), + _Position'_unknownFields :: !Data.ProtoLens.FieldSet} + deriving stock (Prelude.Eq, Prelude.Ord) +instance Prelude.Show Position where + showsPrec _ __x __s + = Prelude.showChar + '{' + (Prelude.showString + (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s)) +instance Data.ProtoLens.Field.HasField Position "latitude" Prelude.Float where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _Position'latitude (\ x__ y__ -> x__ {_Position'latitude = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField Position "longitude" Prelude.Float where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _Position'longitude (\ x__ y__ -> x__ {_Position'longitude = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField Position "bearing" Prelude.Float where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _Position'bearing (\ x__ y__ -> x__ {_Position'bearing = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault) +instance Data.ProtoLens.Field.HasField Position "maybe'bearing" (Prelude.Maybe Prelude.Float) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _Position'bearing (\ x__ y__ -> x__ {_Position'bearing = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField Position "odometer" Prelude.Double where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _Position'odometer (\ x__ y__ -> x__ {_Position'odometer = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault) +instance Data.ProtoLens.Field.HasField Position "maybe'odometer" (Prelude.Maybe Prelude.Double) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _Position'odometer (\ x__ y__ -> x__ {_Position'odometer = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField Position "speed" Prelude.Float where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _Position'speed (\ x__ y__ -> x__ {_Position'speed = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault) +instance Data.ProtoLens.Field.HasField Position "maybe'speed" (Prelude.Maybe Prelude.Float) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _Position'speed (\ x__ y__ -> x__ {_Position'speed = y__})) + Prelude.id +instance Data.ProtoLens.Message Position where + messageName _ = Data.Text.pack "transit_realtime.Position" + packedMessageDescriptor _ + = "\n\ + \\bPosition\DC2\SUB\n\ + \\blatitude\CAN\SOH \STX(\STXR\blatitude\DC2\FS\n\ + \\tlongitude\CAN\STX \STX(\STXR\tlongitude\DC2\CAN\n\ + \\abearing\CAN\ETX \SOH(\STXR\abearing\DC2\SUB\n\ + \\bodometer\CAN\EOT \SOH(\SOHR\bodometer\DC2\DC4\n\ + \\ENQspeed\CAN\ENQ \SOH(\STXR\ENQspeed*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N" + packedFileDescriptor _ = packedFileDescriptor + fieldsByTag + = let + latitude__field_descriptor + = Data.ProtoLens.FieldDescriptor + "latitude" + (Data.ProtoLens.ScalarField Data.ProtoLens.FloatField :: + Data.ProtoLens.FieldTypeDescriptor Prelude.Float) + (Data.ProtoLens.PlainField + Data.ProtoLens.Required + (Data.ProtoLens.Field.field @"latitude")) :: + Data.ProtoLens.FieldDescriptor Position + longitude__field_descriptor + = Data.ProtoLens.FieldDescriptor + "longitude" + (Data.ProtoLens.ScalarField Data.ProtoLens.FloatField :: + Data.ProtoLens.FieldTypeDescriptor Prelude.Float) + (Data.ProtoLens.PlainField + Data.ProtoLens.Required + (Data.ProtoLens.Field.field @"longitude")) :: + Data.ProtoLens.FieldDescriptor Position + bearing__field_descriptor + = Data.ProtoLens.FieldDescriptor + "bearing" + (Data.ProtoLens.ScalarField Data.ProtoLens.FloatField :: + Data.ProtoLens.FieldTypeDescriptor Prelude.Float) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'bearing")) :: + Data.ProtoLens.FieldDescriptor Position + odometer__field_descriptor + = Data.ProtoLens.FieldDescriptor + "odometer" + (Data.ProtoLens.ScalarField Data.ProtoLens.DoubleField :: + Data.ProtoLens.FieldTypeDescriptor Prelude.Double) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'odometer")) :: + Data.ProtoLens.FieldDescriptor Position + speed__field_descriptor + = Data.ProtoLens.FieldDescriptor + "speed" + (Data.ProtoLens.ScalarField Data.ProtoLens.FloatField :: + Data.ProtoLens.FieldTypeDescriptor Prelude.Float) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'speed")) :: + Data.ProtoLens.FieldDescriptor Position + in + Data.Map.fromList + [(Data.ProtoLens.Tag 1, latitude__field_descriptor), + (Data.ProtoLens.Tag 2, longitude__field_descriptor), + (Data.ProtoLens.Tag 3, bearing__field_descriptor), + (Data.ProtoLens.Tag 4, odometer__field_descriptor), + (Data.ProtoLens.Tag 5, speed__field_descriptor)] + unknownFields + = Lens.Family2.Unchecked.lens + _Position'_unknownFields + (\ x__ y__ -> x__ {_Position'_unknownFields = y__}) + defMessage + = Position'_constructor + {_Position'latitude = Data.ProtoLens.fieldDefault, + _Position'longitude = Data.ProtoLens.fieldDefault, + _Position'bearing = Prelude.Nothing, + _Position'odometer = Prelude.Nothing, + _Position'speed = Prelude.Nothing, _Position'_unknownFields = []} + parseMessage + = let + loop :: + Position + -> Prelude.Bool + -> Prelude.Bool -> Data.ProtoLens.Encoding.Bytes.Parser Position + loop x required'latitude required'longitude + = do end <- Data.ProtoLens.Encoding.Bytes.atEnd + if end then + do (let + missing + = (if required'latitude then (:) "latitude" else Prelude.id) + ((if required'longitude then (:) "longitude" else Prelude.id) []) + in + if Prelude.null missing then + Prelude.return () + else + Prelude.fail + ((Prelude.++) + "Missing required fields: " + (Prelude.show (missing :: [Prelude.String])))) + Prelude.return + (Lens.Family2.over + Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x) + else + do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt + case tag of + 13 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (Prelude.fmap + Data.ProtoLens.Encoding.Bytes.wordToFloat + Data.ProtoLens.Encoding.Bytes.getFixed32) + "latitude" + loop + (Lens.Family2.set (Data.ProtoLens.Field.field @"latitude") y x) + Prelude.False required'longitude + 21 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (Prelude.fmap + Data.ProtoLens.Encoding.Bytes.wordToFloat + Data.ProtoLens.Encoding.Bytes.getFixed32) + "longitude" + loop + (Lens.Family2.set (Data.ProtoLens.Field.field @"longitude") y x) + required'latitude Prelude.False + 29 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (Prelude.fmap + Data.ProtoLens.Encoding.Bytes.wordToFloat + Data.ProtoLens.Encoding.Bytes.getFixed32) + "bearing" + loop + (Lens.Family2.set (Data.ProtoLens.Field.field @"bearing") y x) + required'latitude required'longitude + 33 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (Prelude.fmap + Data.ProtoLens.Encoding.Bytes.wordToDouble + Data.ProtoLens.Encoding.Bytes.getFixed64) + "odometer" + loop + (Lens.Family2.set (Data.ProtoLens.Field.field @"odometer") y x) + required'latitude required'longitude + 45 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (Prelude.fmap + Data.ProtoLens.Encoding.Bytes.wordToFloat + Data.ProtoLens.Encoding.Bytes.getFixed32) + "speed" + loop + (Lens.Family2.set (Data.ProtoLens.Field.field @"speed") y x) + required'latitude required'longitude + wire + -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire + wire + loop + (Lens.Family2.over + Data.ProtoLens.unknownFields (\ !t -> (:) y t) x) + required'latitude required'longitude + in + (Data.ProtoLens.Encoding.Bytes.) + (do loop Data.ProtoLens.defMessage Prelude.True Prelude.True) + "Position" + buildMessage + = \ _x + -> (Data.Monoid.<>) + ((Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 13) + ((Prelude..) + Data.ProtoLens.Encoding.Bytes.putFixed32 + Data.ProtoLens.Encoding.Bytes.floatToWord + (Lens.Family2.view (Data.ProtoLens.Field.field @"latitude") _x))) + ((Data.Monoid.<>) + ((Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 21) + ((Prelude..) + Data.ProtoLens.Encoding.Bytes.putFixed32 + Data.ProtoLens.Encoding.Bytes.floatToWord + (Lens.Family2.view (Data.ProtoLens.Field.field @"longitude") _x))) + ((Data.Monoid.<>) + (case + Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'bearing") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 29) + ((Prelude..) + Data.ProtoLens.Encoding.Bytes.putFixed32 + Data.ProtoLens.Encoding.Bytes.floatToWord _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'odometer") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 33) + ((Prelude..) + Data.ProtoLens.Encoding.Bytes.putFixed64 + Data.ProtoLens.Encoding.Bytes.doubleToWord _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'speed") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 45) + ((Prelude..) + Data.ProtoLens.Encoding.Bytes.putFixed32 + Data.ProtoLens.Encoding.Bytes.floatToWord _v)) + (Data.ProtoLens.Encoding.Wire.buildFieldSet + (Lens.Family2.view Data.ProtoLens.unknownFields _x)))))) +instance Control.DeepSeq.NFData Position where + rnf + = \ x__ + -> Control.DeepSeq.deepseq + (_Position'_unknownFields x__) + (Control.DeepSeq.deepseq + (_Position'latitude x__) + (Control.DeepSeq.deepseq + (_Position'longitude x__) + (Control.DeepSeq.deepseq + (_Position'bearing x__) + (Control.DeepSeq.deepseq + (_Position'odometer x__) + (Control.DeepSeq.deepseq (_Position'speed x__) ()))))) +{- | Fields : + + * 'Proto.GtfsRealtime_Fields.shapeId' @:: Lens' Shape Data.Text.Text@ + * 'Proto.GtfsRealtime_Fields.maybe'shapeId' @:: Lens' Shape (Prelude.Maybe Data.Text.Text)@ + * 'Proto.GtfsRealtime_Fields.encodedPolyline' @:: Lens' Shape Data.Text.Text@ + * 'Proto.GtfsRealtime_Fields.maybe'encodedPolyline' @:: Lens' Shape (Prelude.Maybe Data.Text.Text)@ -} +data Shape + = Shape'_constructor {_Shape'shapeId :: !(Prelude.Maybe Data.Text.Text), + _Shape'encodedPolyline :: !(Prelude.Maybe Data.Text.Text), + _Shape'_unknownFields :: !Data.ProtoLens.FieldSet} + deriving stock (Prelude.Eq, Prelude.Ord) +instance Prelude.Show Shape where + showsPrec _ __x __s + = Prelude.showChar + '{' + (Prelude.showString + (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s)) +instance Data.ProtoLens.Field.HasField Shape "shapeId" Data.Text.Text where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _Shape'shapeId (\ x__ y__ -> x__ {_Shape'shapeId = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault) +instance Data.ProtoLens.Field.HasField Shape "maybe'shapeId" (Prelude.Maybe Data.Text.Text) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _Shape'shapeId (\ x__ y__ -> x__ {_Shape'shapeId = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField Shape "encodedPolyline" Data.Text.Text where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _Shape'encodedPolyline + (\ x__ y__ -> x__ {_Shape'encodedPolyline = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault) +instance Data.ProtoLens.Field.HasField Shape "maybe'encodedPolyline" (Prelude.Maybe Data.Text.Text) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _Shape'encodedPolyline + (\ x__ y__ -> x__ {_Shape'encodedPolyline = y__})) + Prelude.id +instance Data.ProtoLens.Message Shape where + messageName _ = Data.Text.pack "transit_realtime.Shape" + packedMessageDescriptor _ + = "\n\ + \\ENQShape\DC2\EM\n\ + \\bshape_id\CAN\SOH \SOH(\tR\ashapeId\DC2)\n\ + \\DLEencoded_polyline\CAN\STX \SOH(\tR\SIencodedPolyline*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N" + packedFileDescriptor _ = packedFileDescriptor + fieldsByTag + = let + shapeId__field_descriptor + = Data.ProtoLens.FieldDescriptor + "shape_id" + (Data.ProtoLens.ScalarField Data.ProtoLens.StringField :: + Data.ProtoLens.FieldTypeDescriptor Data.Text.Text) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'shapeId")) :: + Data.ProtoLens.FieldDescriptor Shape + encodedPolyline__field_descriptor + = Data.ProtoLens.FieldDescriptor + "encoded_polyline" + (Data.ProtoLens.ScalarField Data.ProtoLens.StringField :: + Data.ProtoLens.FieldTypeDescriptor Data.Text.Text) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'encodedPolyline")) :: + Data.ProtoLens.FieldDescriptor Shape + in + Data.Map.fromList + [(Data.ProtoLens.Tag 1, shapeId__field_descriptor), + (Data.ProtoLens.Tag 2, encodedPolyline__field_descriptor)] + unknownFields + = Lens.Family2.Unchecked.lens + _Shape'_unknownFields + (\ x__ y__ -> x__ {_Shape'_unknownFields = y__}) + defMessage + = Shape'_constructor + {_Shape'shapeId = Prelude.Nothing, + _Shape'encodedPolyline = Prelude.Nothing, + _Shape'_unknownFields = []} + parseMessage + = let + loop :: Shape -> Data.ProtoLens.Encoding.Bytes.Parser Shape + loop x + = do end <- Data.ProtoLens.Encoding.Bytes.atEnd + if end then + do (let missing = [] + in + if Prelude.null missing then + Prelude.return () + else + Prelude.fail + ((Prelude.++) + "Missing required fields: " + (Prelude.show (missing :: [Prelude.String])))) + Prelude.return + (Lens.Family2.over + Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x) + else + do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt + case tag of + 10 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.getText + (Prelude.fromIntegral len)) + "shape_id" + loop (Lens.Family2.set (Data.ProtoLens.Field.field @"shapeId") y x) + 18 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.getText + (Prelude.fromIntegral len)) + "encoded_polyline" + loop + (Lens.Family2.set + (Data.ProtoLens.Field.field @"encodedPolyline") y x) + wire + -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire + wire + loop + (Lens.Family2.over + Data.ProtoLens.unknownFields (\ !t -> (:) y t) x) + in + (Data.ProtoLens.Encoding.Bytes.) + (do loop Data.ProtoLens.defMessage) "Shape" + buildMessage + = \ _x + -> (Data.Monoid.<>) + (case + Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'shapeId") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 10) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.Text.Encoding.encodeUtf8 _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view + (Data.ProtoLens.Field.field @"maybe'encodedPolyline") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 18) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.Text.Encoding.encodeUtf8 _v)) + (Data.ProtoLens.Encoding.Wire.buildFieldSet + (Lens.Family2.view Data.ProtoLens.unknownFields _x))) +instance Control.DeepSeq.NFData Shape where + rnf + = \ x__ + -> Control.DeepSeq.deepseq + (_Shape'_unknownFields x__) + (Control.DeepSeq.deepseq + (_Shape'shapeId x__) + (Control.DeepSeq.deepseq (_Shape'encodedPolyline x__) ())) +{- | Fields : + + * 'Proto.GtfsRealtime_Fields.start' @:: Lens' TimeRange Data.Word.Word64@ + * 'Proto.GtfsRealtime_Fields.maybe'start' @:: Lens' TimeRange (Prelude.Maybe Data.Word.Word64)@ + * 'Proto.GtfsRealtime_Fields.end' @:: Lens' TimeRange Data.Word.Word64@ + * 'Proto.GtfsRealtime_Fields.maybe'end' @:: Lens' TimeRange (Prelude.Maybe Data.Word.Word64)@ -} +data TimeRange + = TimeRange'_constructor {_TimeRange'start :: !(Prelude.Maybe Data.Word.Word64), + _TimeRange'end :: !(Prelude.Maybe Data.Word.Word64), + _TimeRange'_unknownFields :: !Data.ProtoLens.FieldSet} + deriving stock (Prelude.Eq, Prelude.Ord) +instance Prelude.Show TimeRange where + showsPrec _ __x __s + = Prelude.showChar + '{' + (Prelude.showString + (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s)) +instance Data.ProtoLens.Field.HasField TimeRange "start" Data.Word.Word64 where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TimeRange'start (\ x__ y__ -> x__ {_TimeRange'start = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault) +instance Data.ProtoLens.Field.HasField TimeRange "maybe'start" (Prelude.Maybe Data.Word.Word64) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TimeRange'start (\ x__ y__ -> x__ {_TimeRange'start = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField TimeRange "end" Data.Word.Word64 where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TimeRange'end (\ x__ y__ -> x__ {_TimeRange'end = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault) +instance Data.ProtoLens.Field.HasField TimeRange "maybe'end" (Prelude.Maybe Data.Word.Word64) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TimeRange'end (\ x__ y__ -> x__ {_TimeRange'end = y__})) + Prelude.id +instance Data.ProtoLens.Message TimeRange where + messageName _ = Data.Text.pack "transit_realtime.TimeRange" + packedMessageDescriptor _ + = "\n\ + \\tTimeRange\DC2\DC4\n\ + \\ENQstart\CAN\SOH \SOH(\EOTR\ENQstart\DC2\DLE\n\ + \\ETXend\CAN\STX \SOH(\EOTR\ETXend*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N" + packedFileDescriptor _ = packedFileDescriptor + fieldsByTag + = let + start__field_descriptor + = Data.ProtoLens.FieldDescriptor + "start" + (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field :: + Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'start")) :: + Data.ProtoLens.FieldDescriptor TimeRange + end__field_descriptor + = Data.ProtoLens.FieldDescriptor + "end" + (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field :: + Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'end")) :: + Data.ProtoLens.FieldDescriptor TimeRange + in + Data.Map.fromList + [(Data.ProtoLens.Tag 1, start__field_descriptor), + (Data.ProtoLens.Tag 2, end__field_descriptor)] + unknownFields + = Lens.Family2.Unchecked.lens + _TimeRange'_unknownFields + (\ x__ y__ -> x__ {_TimeRange'_unknownFields = y__}) + defMessage + = TimeRange'_constructor + {_TimeRange'start = Prelude.Nothing, + _TimeRange'end = Prelude.Nothing, _TimeRange'_unknownFields = []} + parseMessage + = let + loop :: TimeRange -> Data.ProtoLens.Encoding.Bytes.Parser TimeRange + loop x + = do end <- Data.ProtoLens.Encoding.Bytes.atEnd + if end then + do (let missing = [] + in + if Prelude.null missing then + Prelude.return () + else + Prelude.fail + ((Prelude.++) + "Missing required fields: " + (Prelude.show (missing :: [Prelude.String])))) + Prelude.return + (Lens.Family2.over + Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x) + else + do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt + case tag of + 8 -> do y <- (Data.ProtoLens.Encoding.Bytes.) + Data.ProtoLens.Encoding.Bytes.getVarInt "start" + loop (Lens.Family2.set (Data.ProtoLens.Field.field @"start") y x) + 16 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + Data.ProtoLens.Encoding.Bytes.getVarInt "end" + loop (Lens.Family2.set (Data.ProtoLens.Field.field @"end") y x) + wire + -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire + wire + loop + (Lens.Family2.over + Data.ProtoLens.unknownFields (\ !t -> (:) y t) x) + in + (Data.ProtoLens.Encoding.Bytes.) + (do loop Data.ProtoLens.defMessage) "TimeRange" + buildMessage + = \ _x + -> (Data.Monoid.<>) + (case + Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'start") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 8) + (Data.ProtoLens.Encoding.Bytes.putVarInt _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'end") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 16) + (Data.ProtoLens.Encoding.Bytes.putVarInt _v)) + (Data.ProtoLens.Encoding.Wire.buildFieldSet + (Lens.Family2.view Data.ProtoLens.unknownFields _x))) +instance Control.DeepSeq.NFData TimeRange where + rnf + = \ x__ + -> Control.DeepSeq.deepseq + (_TimeRange'_unknownFields x__) + (Control.DeepSeq.deepseq + (_TimeRange'start x__) + (Control.DeepSeq.deepseq (_TimeRange'end x__) ())) +{- | Fields : + + * 'Proto.GtfsRealtime_Fields.localizedImage' @:: Lens' TranslatedImage [TranslatedImage'LocalizedImage]@ + * 'Proto.GtfsRealtime_Fields.vec'localizedImage' @:: Lens' TranslatedImage (Data.Vector.Vector TranslatedImage'LocalizedImage)@ -} +data TranslatedImage + = TranslatedImage'_constructor {_TranslatedImage'localizedImage :: !(Data.Vector.Vector TranslatedImage'LocalizedImage), + _TranslatedImage'_unknownFields :: !Data.ProtoLens.FieldSet} + deriving stock (Prelude.Eq, Prelude.Ord) +instance Prelude.Show TranslatedImage where + showsPrec _ __x __s + = Prelude.showChar + '{' + (Prelude.showString + (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s)) +instance Data.ProtoLens.Field.HasField TranslatedImage "localizedImage" [TranslatedImage'LocalizedImage] where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TranslatedImage'localizedImage + (\ x__ y__ -> x__ {_TranslatedImage'localizedImage = y__})) + (Lens.Family2.Unchecked.lens + Data.Vector.Generic.toList + (\ _ y__ -> Data.Vector.Generic.fromList y__)) +instance Data.ProtoLens.Field.HasField TranslatedImage "vec'localizedImage" (Data.Vector.Vector TranslatedImage'LocalizedImage) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TranslatedImage'localizedImage + (\ x__ y__ -> x__ {_TranslatedImage'localizedImage = y__})) + Prelude.id +instance Data.ProtoLens.Message TranslatedImage where + messageName _ = Data.Text.pack "transit_realtime.TranslatedImage" + packedMessageDescriptor _ + = "\n\ + \\SITranslatedImage\DC2Y\n\ + \\SIlocalized_image\CAN\SOH \ETX(\v20.transit_realtime.TranslatedImage.LocalizedImageR\SOlocalizedImage\SUBm\n\ + \\SOLocalizedImage\DC2\DLE\n\ + \\ETXurl\CAN\SOH \STX(\tR\ETXurl\DC2\GS\n\ + \\n\ + \media_type\CAN\STX \STX(\tR\tmediaType\DC2\SUB\n\ + \\blanguage\CAN\ETX \SOH(\tR\blanguage*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N" + packedFileDescriptor _ = packedFileDescriptor + fieldsByTag + = let + localizedImage__field_descriptor + = Data.ProtoLens.FieldDescriptor + "localized_image" + (Data.ProtoLens.MessageField Data.ProtoLens.MessageType :: + Data.ProtoLens.FieldTypeDescriptor TranslatedImage'LocalizedImage) + (Data.ProtoLens.RepeatedField + Data.ProtoLens.Unpacked + (Data.ProtoLens.Field.field @"localizedImage")) :: + Data.ProtoLens.FieldDescriptor TranslatedImage + in + Data.Map.fromList + [(Data.ProtoLens.Tag 1, localizedImage__field_descriptor)] + unknownFields + = Lens.Family2.Unchecked.lens + _TranslatedImage'_unknownFields + (\ x__ y__ -> x__ {_TranslatedImage'_unknownFields = y__}) + defMessage + = TranslatedImage'_constructor + {_TranslatedImage'localizedImage = Data.Vector.Generic.empty, + _TranslatedImage'_unknownFields = []} + parseMessage + = let + loop :: + TranslatedImage + -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld TranslatedImage'LocalizedImage + -> Data.ProtoLens.Encoding.Bytes.Parser TranslatedImage + loop x mutable'localizedImage + = do end <- Data.ProtoLens.Encoding.Bytes.atEnd + if end then + do frozen'localizedImage <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO + (Data.ProtoLens.Encoding.Growing.unsafeFreeze + mutable'localizedImage) + (let missing = [] + in + if Prelude.null missing then + Prelude.return () + else + Prelude.fail + ((Prelude.++) + "Missing required fields: " + (Prelude.show (missing :: [Prelude.String])))) + Prelude.return + (Lens.Family2.over + Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) + (Lens.Family2.set + (Data.ProtoLens.Field.field @"vec'localizedImage") + frozen'localizedImage x)) + else + do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt + case tag of + 10 + -> do !y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.isolate + (Prelude.fromIntegral len) + Data.ProtoLens.parseMessage) + "localized_image" + v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO + (Data.ProtoLens.Encoding.Growing.append + mutable'localizedImage y) + loop x v + wire + -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire + wire + loop + (Lens.Family2.over + Data.ProtoLens.unknownFields (\ !t -> (:) y t) x) + mutable'localizedImage + in + (Data.ProtoLens.Encoding.Bytes.) + (do mutable'localizedImage <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO + Data.ProtoLens.Encoding.Growing.new + loop Data.ProtoLens.defMessage mutable'localizedImage) + "TranslatedImage" + buildMessage + = \ _x + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.foldMapBuilder + (\ _v + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 10) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.ProtoLens.encodeMessage _v)) + (Lens.Family2.view + (Data.ProtoLens.Field.field @"vec'localizedImage") _x)) + (Data.ProtoLens.Encoding.Wire.buildFieldSet + (Lens.Family2.view Data.ProtoLens.unknownFields _x)) +instance Control.DeepSeq.NFData TranslatedImage where + rnf + = \ x__ + -> Control.DeepSeq.deepseq + (_TranslatedImage'_unknownFields x__) + (Control.DeepSeq.deepseq (_TranslatedImage'localizedImage x__) ()) +{- | Fields : + + * 'Proto.GtfsRealtime_Fields.url' @:: Lens' TranslatedImage'LocalizedImage Data.Text.Text@ + * 'Proto.GtfsRealtime_Fields.mediaType' @:: Lens' TranslatedImage'LocalizedImage Data.Text.Text@ + * 'Proto.GtfsRealtime_Fields.language' @:: Lens' TranslatedImage'LocalizedImage Data.Text.Text@ + * 'Proto.GtfsRealtime_Fields.maybe'language' @:: Lens' TranslatedImage'LocalizedImage (Prelude.Maybe Data.Text.Text)@ -} +data TranslatedImage'LocalizedImage + = TranslatedImage'LocalizedImage'_constructor {_TranslatedImage'LocalizedImage'url :: !Data.Text.Text, + _TranslatedImage'LocalizedImage'mediaType :: !Data.Text.Text, + _TranslatedImage'LocalizedImage'language :: !(Prelude.Maybe Data.Text.Text), + _TranslatedImage'LocalizedImage'_unknownFields :: !Data.ProtoLens.FieldSet} + deriving stock (Prelude.Eq, Prelude.Ord) +instance Prelude.Show TranslatedImage'LocalizedImage where + showsPrec _ __x __s + = Prelude.showChar + '{' + (Prelude.showString + (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s)) +instance Data.ProtoLens.Field.HasField TranslatedImage'LocalizedImage "url" Data.Text.Text where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TranslatedImage'LocalizedImage'url + (\ x__ y__ -> x__ {_TranslatedImage'LocalizedImage'url = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField TranslatedImage'LocalizedImage "mediaType" Data.Text.Text where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TranslatedImage'LocalizedImage'mediaType + (\ x__ y__ + -> x__ {_TranslatedImage'LocalizedImage'mediaType = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField TranslatedImage'LocalizedImage "language" Data.Text.Text where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TranslatedImage'LocalizedImage'language + (\ x__ y__ + -> x__ {_TranslatedImage'LocalizedImage'language = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault) +instance Data.ProtoLens.Field.HasField TranslatedImage'LocalizedImage "maybe'language" (Prelude.Maybe Data.Text.Text) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TranslatedImage'LocalizedImage'language + (\ x__ y__ + -> x__ {_TranslatedImage'LocalizedImage'language = y__})) + Prelude.id +instance Data.ProtoLens.Message TranslatedImage'LocalizedImage where + messageName _ + = Data.Text.pack "transit_realtime.TranslatedImage.LocalizedImage" + packedMessageDescriptor _ + = "\n\ + \\SOLocalizedImage\DC2\DLE\n\ + \\ETXurl\CAN\SOH \STX(\tR\ETXurl\DC2\GS\n\ + \\n\ + \media_type\CAN\STX \STX(\tR\tmediaType\DC2\SUB\n\ + \\blanguage\CAN\ETX \SOH(\tR\blanguage*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N" + packedFileDescriptor _ = packedFileDescriptor + fieldsByTag + = let + url__field_descriptor + = Data.ProtoLens.FieldDescriptor + "url" + (Data.ProtoLens.ScalarField Data.ProtoLens.StringField :: + Data.ProtoLens.FieldTypeDescriptor Data.Text.Text) + (Data.ProtoLens.PlainField + Data.ProtoLens.Required (Data.ProtoLens.Field.field @"url")) :: + Data.ProtoLens.FieldDescriptor TranslatedImage'LocalizedImage + mediaType__field_descriptor + = Data.ProtoLens.FieldDescriptor + "media_type" + (Data.ProtoLens.ScalarField Data.ProtoLens.StringField :: + Data.ProtoLens.FieldTypeDescriptor Data.Text.Text) + (Data.ProtoLens.PlainField + Data.ProtoLens.Required + (Data.ProtoLens.Field.field @"mediaType")) :: + Data.ProtoLens.FieldDescriptor TranslatedImage'LocalizedImage + language__field_descriptor + = Data.ProtoLens.FieldDescriptor + "language" + (Data.ProtoLens.ScalarField Data.ProtoLens.StringField :: + Data.ProtoLens.FieldTypeDescriptor Data.Text.Text) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'language")) :: + Data.ProtoLens.FieldDescriptor TranslatedImage'LocalizedImage + in + Data.Map.fromList + [(Data.ProtoLens.Tag 1, url__field_descriptor), + (Data.ProtoLens.Tag 2, mediaType__field_descriptor), + (Data.ProtoLens.Tag 3, language__field_descriptor)] + unknownFields + = Lens.Family2.Unchecked.lens + _TranslatedImage'LocalizedImage'_unknownFields + (\ x__ y__ + -> x__ {_TranslatedImage'LocalizedImage'_unknownFields = y__}) + defMessage + = TranslatedImage'LocalizedImage'_constructor + {_TranslatedImage'LocalizedImage'url = Data.ProtoLens.fieldDefault, + _TranslatedImage'LocalizedImage'mediaType = Data.ProtoLens.fieldDefault, + _TranslatedImage'LocalizedImage'language = Prelude.Nothing, + _TranslatedImage'LocalizedImage'_unknownFields = []} + parseMessage + = let + loop :: + TranslatedImage'LocalizedImage + -> Prelude.Bool + -> Prelude.Bool + -> Data.ProtoLens.Encoding.Bytes.Parser TranslatedImage'LocalizedImage + loop x required'mediaType required'url + = do end <- Data.ProtoLens.Encoding.Bytes.atEnd + if end then + do (let + missing + = (if required'mediaType then (:) "media_type" else Prelude.id) + ((if required'url then (:) "url" else Prelude.id) []) + in + if Prelude.null missing then + Prelude.return () + else + Prelude.fail + ((Prelude.++) + "Missing required fields: " + (Prelude.show (missing :: [Prelude.String])))) + Prelude.return + (Lens.Family2.over + Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x) + else + do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt + case tag of + 10 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.getText + (Prelude.fromIntegral len)) + "url" + loop + (Lens.Family2.set (Data.ProtoLens.Field.field @"url") y x) + required'mediaType Prelude.False + 18 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.getText + (Prelude.fromIntegral len)) + "media_type" + loop + (Lens.Family2.set (Data.ProtoLens.Field.field @"mediaType") y x) + Prelude.False required'url + 26 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.getText + (Prelude.fromIntegral len)) + "language" + loop + (Lens.Family2.set (Data.ProtoLens.Field.field @"language") y x) + required'mediaType required'url + wire + -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire + wire + loop + (Lens.Family2.over + Data.ProtoLens.unknownFields (\ !t -> (:) y t) x) + required'mediaType required'url + in + (Data.ProtoLens.Encoding.Bytes.) + (do loop Data.ProtoLens.defMessage Prelude.True Prelude.True) + "LocalizedImage" + buildMessage + = \ _x + -> (Data.Monoid.<>) + ((Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 10) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.Text.Encoding.encodeUtf8 + (Lens.Family2.view (Data.ProtoLens.Field.field @"url") _x))) + ((Data.Monoid.<>) + ((Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 18) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.Text.Encoding.encodeUtf8 + (Lens.Family2.view (Data.ProtoLens.Field.field @"mediaType") _x))) + ((Data.Monoid.<>) + (case + Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'language") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 26) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.Text.Encoding.encodeUtf8 _v)) + (Data.ProtoLens.Encoding.Wire.buildFieldSet + (Lens.Family2.view Data.ProtoLens.unknownFields _x)))) +instance Control.DeepSeq.NFData TranslatedImage'LocalizedImage where + rnf + = \ x__ + -> Control.DeepSeq.deepseq + (_TranslatedImage'LocalizedImage'_unknownFields x__) + (Control.DeepSeq.deepseq + (_TranslatedImage'LocalizedImage'url x__) + (Control.DeepSeq.deepseq + (_TranslatedImage'LocalizedImage'mediaType x__) + (Control.DeepSeq.deepseq + (_TranslatedImage'LocalizedImage'language x__) ()))) +{- | Fields : + + * 'Proto.GtfsRealtime_Fields.translation' @:: Lens' TranslatedString [TranslatedString'Translation]@ + * 'Proto.GtfsRealtime_Fields.vec'translation' @:: Lens' TranslatedString (Data.Vector.Vector TranslatedString'Translation)@ -} +data TranslatedString + = TranslatedString'_constructor {_TranslatedString'translation :: !(Data.Vector.Vector TranslatedString'Translation), + _TranslatedString'_unknownFields :: !Data.ProtoLens.FieldSet} + deriving stock (Prelude.Eq, Prelude.Ord) +instance Prelude.Show TranslatedString where + showsPrec _ __x __s + = Prelude.showChar + '{' + (Prelude.showString + (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s)) +instance Data.ProtoLens.Field.HasField TranslatedString "translation" [TranslatedString'Translation] where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TranslatedString'translation + (\ x__ y__ -> x__ {_TranslatedString'translation = y__})) + (Lens.Family2.Unchecked.lens + Data.Vector.Generic.toList + (\ _ y__ -> Data.Vector.Generic.fromList y__)) +instance Data.ProtoLens.Field.HasField TranslatedString "vec'translation" (Data.Vector.Vector TranslatedString'Translation) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TranslatedString'translation + (\ x__ y__ -> x__ {_TranslatedString'translation = y__})) + Prelude.id +instance Data.ProtoLens.Message TranslatedString where + messageName _ = Data.Text.pack "transit_realtime.TranslatedString" + packedMessageDescriptor _ + = "\n\ + \\DLETranslatedString\DC2P\n\ + \\vtranslation\CAN\SOH \ETX(\v2..transit_realtime.TranslatedString.TranslationR\vtranslation\SUBM\n\ + \\vTranslation\DC2\DC2\n\ + \\EOTtext\CAN\SOH \STX(\tR\EOTtext\DC2\SUB\n\ + \\blanguage\CAN\STX \SOH(\tR\blanguage*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N" + packedFileDescriptor _ = packedFileDescriptor + fieldsByTag + = let + translation__field_descriptor + = Data.ProtoLens.FieldDescriptor + "translation" + (Data.ProtoLens.MessageField Data.ProtoLens.MessageType :: + Data.ProtoLens.FieldTypeDescriptor TranslatedString'Translation) + (Data.ProtoLens.RepeatedField + Data.ProtoLens.Unpacked + (Data.ProtoLens.Field.field @"translation")) :: + Data.ProtoLens.FieldDescriptor TranslatedString + in + Data.Map.fromList + [(Data.ProtoLens.Tag 1, translation__field_descriptor)] + unknownFields + = Lens.Family2.Unchecked.lens + _TranslatedString'_unknownFields + (\ x__ y__ -> x__ {_TranslatedString'_unknownFields = y__}) + defMessage + = TranslatedString'_constructor + {_TranslatedString'translation = Data.Vector.Generic.empty, + _TranslatedString'_unknownFields = []} + parseMessage + = let + loop :: + TranslatedString + -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld TranslatedString'Translation + -> Data.ProtoLens.Encoding.Bytes.Parser TranslatedString + loop x mutable'translation + = do end <- Data.ProtoLens.Encoding.Bytes.atEnd + if end then + do frozen'translation <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO + (Data.ProtoLens.Encoding.Growing.unsafeFreeze + mutable'translation) + (let missing = [] + in + if Prelude.null missing then + Prelude.return () + else + Prelude.fail + ((Prelude.++) + "Missing required fields: " + (Prelude.show (missing :: [Prelude.String])))) + Prelude.return + (Lens.Family2.over + Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) + (Lens.Family2.set + (Data.ProtoLens.Field.field @"vec'translation") frozen'translation + x)) + else + do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt + case tag of + 10 + -> do !y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.isolate + (Prelude.fromIntegral len) + Data.ProtoLens.parseMessage) + "translation" + v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO + (Data.ProtoLens.Encoding.Growing.append + mutable'translation y) + loop x v + wire + -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire + wire + loop + (Lens.Family2.over + Data.ProtoLens.unknownFields (\ !t -> (:) y t) x) + mutable'translation + in + (Data.ProtoLens.Encoding.Bytes.) + (do mutable'translation <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO + Data.ProtoLens.Encoding.Growing.new + loop Data.ProtoLens.defMessage mutable'translation) + "TranslatedString" + buildMessage + = \ _x + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.foldMapBuilder + (\ _v + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 10) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.ProtoLens.encodeMessage _v)) + (Lens.Family2.view + (Data.ProtoLens.Field.field @"vec'translation") _x)) + (Data.ProtoLens.Encoding.Wire.buildFieldSet + (Lens.Family2.view Data.ProtoLens.unknownFields _x)) +instance Control.DeepSeq.NFData TranslatedString where + rnf + = \ x__ + -> Control.DeepSeq.deepseq + (_TranslatedString'_unknownFields x__) + (Control.DeepSeq.deepseq (_TranslatedString'translation x__) ()) +{- | Fields : + + * 'Proto.GtfsRealtime_Fields.text' @:: Lens' TranslatedString'Translation Data.Text.Text@ + * 'Proto.GtfsRealtime_Fields.language' @:: Lens' TranslatedString'Translation Data.Text.Text@ + * 'Proto.GtfsRealtime_Fields.maybe'language' @:: Lens' TranslatedString'Translation (Prelude.Maybe Data.Text.Text)@ -} +data TranslatedString'Translation + = TranslatedString'Translation'_constructor {_TranslatedString'Translation'text :: !Data.Text.Text, + _TranslatedString'Translation'language :: !(Prelude.Maybe Data.Text.Text), + _TranslatedString'Translation'_unknownFields :: !Data.ProtoLens.FieldSet} + deriving stock (Prelude.Eq, Prelude.Ord) +instance Prelude.Show TranslatedString'Translation where + showsPrec _ __x __s + = Prelude.showChar + '{' + (Prelude.showString + (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s)) +instance Data.ProtoLens.Field.HasField TranslatedString'Translation "text" Data.Text.Text where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TranslatedString'Translation'text + (\ x__ y__ -> x__ {_TranslatedString'Translation'text = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField TranslatedString'Translation "language" Data.Text.Text where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TranslatedString'Translation'language + (\ x__ y__ -> x__ {_TranslatedString'Translation'language = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault) +instance Data.ProtoLens.Field.HasField TranslatedString'Translation "maybe'language" (Prelude.Maybe Data.Text.Text) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TranslatedString'Translation'language + (\ x__ y__ -> x__ {_TranslatedString'Translation'language = y__})) + Prelude.id +instance Data.ProtoLens.Message TranslatedString'Translation where + messageName _ + = Data.Text.pack "transit_realtime.TranslatedString.Translation" + packedMessageDescriptor _ + = "\n\ + \\vTranslation\DC2\DC2\n\ + \\EOTtext\CAN\SOH \STX(\tR\EOTtext\DC2\SUB\n\ + \\blanguage\CAN\STX \SOH(\tR\blanguage*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N" + packedFileDescriptor _ = packedFileDescriptor + fieldsByTag + = let + text__field_descriptor + = Data.ProtoLens.FieldDescriptor + "text" + (Data.ProtoLens.ScalarField Data.ProtoLens.StringField :: + Data.ProtoLens.FieldTypeDescriptor Data.Text.Text) + (Data.ProtoLens.PlainField + Data.ProtoLens.Required (Data.ProtoLens.Field.field @"text")) :: + Data.ProtoLens.FieldDescriptor TranslatedString'Translation + language__field_descriptor + = Data.ProtoLens.FieldDescriptor + "language" + (Data.ProtoLens.ScalarField Data.ProtoLens.StringField :: + Data.ProtoLens.FieldTypeDescriptor Data.Text.Text) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'language")) :: + Data.ProtoLens.FieldDescriptor TranslatedString'Translation + in + Data.Map.fromList + [(Data.ProtoLens.Tag 1, text__field_descriptor), + (Data.ProtoLens.Tag 2, language__field_descriptor)] + unknownFields + = Lens.Family2.Unchecked.lens + _TranslatedString'Translation'_unknownFields + (\ x__ y__ + -> x__ {_TranslatedString'Translation'_unknownFields = y__}) + defMessage + = TranslatedString'Translation'_constructor + {_TranslatedString'Translation'text = Data.ProtoLens.fieldDefault, + _TranslatedString'Translation'language = Prelude.Nothing, + _TranslatedString'Translation'_unknownFields = []} + parseMessage + = let + loop :: + TranslatedString'Translation + -> Prelude.Bool + -> Data.ProtoLens.Encoding.Bytes.Parser TranslatedString'Translation + loop x required'text + = do end <- Data.ProtoLens.Encoding.Bytes.atEnd + if end then + do (let + missing = (if required'text then (:) "text" else Prelude.id) [] + in + if Prelude.null missing then + Prelude.return () + else + Prelude.fail + ((Prelude.++) + "Missing required fields: " + (Prelude.show (missing :: [Prelude.String])))) + Prelude.return + (Lens.Family2.over + Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x) + else + do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt + case tag of + 10 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.getText + (Prelude.fromIntegral len)) + "text" + loop + (Lens.Family2.set (Data.ProtoLens.Field.field @"text") y x) + Prelude.False + 18 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.getText + (Prelude.fromIntegral len)) + "language" + loop + (Lens.Family2.set (Data.ProtoLens.Field.field @"language") y x) + required'text + wire + -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire + wire + loop + (Lens.Family2.over + Data.ProtoLens.unknownFields (\ !t -> (:) y t) x) + required'text + in + (Data.ProtoLens.Encoding.Bytes.) + (do loop Data.ProtoLens.defMessage Prelude.True) "Translation" + buildMessage + = \ _x + -> (Data.Monoid.<>) + ((Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 10) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.Text.Encoding.encodeUtf8 + (Lens.Family2.view (Data.ProtoLens.Field.field @"text") _x))) + ((Data.Monoid.<>) + (case + Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'language") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 18) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.Text.Encoding.encodeUtf8 _v)) + (Data.ProtoLens.Encoding.Wire.buildFieldSet + (Lens.Family2.view Data.ProtoLens.unknownFields _x))) +instance Control.DeepSeq.NFData TranslatedString'Translation where + rnf + = \ x__ + -> Control.DeepSeq.deepseq + (_TranslatedString'Translation'_unknownFields x__) + (Control.DeepSeq.deepseq + (_TranslatedString'Translation'text x__) + (Control.DeepSeq.deepseq + (_TranslatedString'Translation'language x__) ())) +{- | Fields : + + * 'Proto.GtfsRealtime_Fields.tripId' @:: Lens' TripDescriptor Data.Text.Text@ + * 'Proto.GtfsRealtime_Fields.maybe'tripId' @:: Lens' TripDescriptor (Prelude.Maybe Data.Text.Text)@ + * 'Proto.GtfsRealtime_Fields.routeId' @:: Lens' TripDescriptor Data.Text.Text@ + * 'Proto.GtfsRealtime_Fields.maybe'routeId' @:: Lens' TripDescriptor (Prelude.Maybe Data.Text.Text)@ + * 'Proto.GtfsRealtime_Fields.directionId' @:: Lens' TripDescriptor Data.Word.Word32@ + * 'Proto.GtfsRealtime_Fields.maybe'directionId' @:: Lens' TripDescriptor (Prelude.Maybe Data.Word.Word32)@ + * 'Proto.GtfsRealtime_Fields.startTime' @:: Lens' TripDescriptor Data.Text.Text@ + * 'Proto.GtfsRealtime_Fields.maybe'startTime' @:: Lens' TripDescriptor (Prelude.Maybe Data.Text.Text)@ + * 'Proto.GtfsRealtime_Fields.startDate' @:: Lens' TripDescriptor Data.Text.Text@ + * 'Proto.GtfsRealtime_Fields.maybe'startDate' @:: Lens' TripDescriptor (Prelude.Maybe Data.Text.Text)@ + * 'Proto.GtfsRealtime_Fields.scheduleRelationship' @:: Lens' TripDescriptor TripDescriptor'ScheduleRelationship@ + * 'Proto.GtfsRealtime_Fields.maybe'scheduleRelationship' @:: Lens' TripDescriptor (Prelude.Maybe TripDescriptor'ScheduleRelationship)@ -} +data TripDescriptor + = TripDescriptor'_constructor {_TripDescriptor'tripId :: !(Prelude.Maybe Data.Text.Text), + _TripDescriptor'routeId :: !(Prelude.Maybe Data.Text.Text), + _TripDescriptor'directionId :: !(Prelude.Maybe Data.Word.Word32), + _TripDescriptor'startTime :: !(Prelude.Maybe Data.Text.Text), + _TripDescriptor'startDate :: !(Prelude.Maybe Data.Text.Text), + _TripDescriptor'scheduleRelationship :: !(Prelude.Maybe TripDescriptor'ScheduleRelationship), + _TripDescriptor'_unknownFields :: !Data.ProtoLens.FieldSet} + deriving stock (Prelude.Eq, Prelude.Ord) +instance Prelude.Show TripDescriptor where + showsPrec _ __x __s + = Prelude.showChar + '{' + (Prelude.showString + (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s)) +instance Data.ProtoLens.Field.HasField TripDescriptor "tripId" Data.Text.Text where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripDescriptor'tripId + (\ x__ y__ -> x__ {_TripDescriptor'tripId = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault) +instance Data.ProtoLens.Field.HasField TripDescriptor "maybe'tripId" (Prelude.Maybe Data.Text.Text) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripDescriptor'tripId + (\ x__ y__ -> x__ {_TripDescriptor'tripId = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField TripDescriptor "routeId" Data.Text.Text where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripDescriptor'routeId + (\ x__ y__ -> x__ {_TripDescriptor'routeId = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault) +instance Data.ProtoLens.Field.HasField TripDescriptor "maybe'routeId" (Prelude.Maybe Data.Text.Text) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripDescriptor'routeId + (\ x__ y__ -> x__ {_TripDescriptor'routeId = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField TripDescriptor "directionId" Data.Word.Word32 where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripDescriptor'directionId + (\ x__ y__ -> x__ {_TripDescriptor'directionId = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault) +instance Data.ProtoLens.Field.HasField TripDescriptor "maybe'directionId" (Prelude.Maybe Data.Word.Word32) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripDescriptor'directionId + (\ x__ y__ -> x__ {_TripDescriptor'directionId = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField TripDescriptor "startTime" Data.Text.Text where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripDescriptor'startTime + (\ x__ y__ -> x__ {_TripDescriptor'startTime = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault) +instance Data.ProtoLens.Field.HasField TripDescriptor "maybe'startTime" (Prelude.Maybe Data.Text.Text) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripDescriptor'startTime + (\ x__ y__ -> x__ {_TripDescriptor'startTime = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField TripDescriptor "startDate" Data.Text.Text where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripDescriptor'startDate + (\ x__ y__ -> x__ {_TripDescriptor'startDate = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault) +instance Data.ProtoLens.Field.HasField TripDescriptor "maybe'startDate" (Prelude.Maybe Data.Text.Text) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripDescriptor'startDate + (\ x__ y__ -> x__ {_TripDescriptor'startDate = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField TripDescriptor "scheduleRelationship" TripDescriptor'ScheduleRelationship where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripDescriptor'scheduleRelationship + (\ x__ y__ -> x__ {_TripDescriptor'scheduleRelationship = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault) +instance Data.ProtoLens.Field.HasField TripDescriptor "maybe'scheduleRelationship" (Prelude.Maybe TripDescriptor'ScheduleRelationship) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripDescriptor'scheduleRelationship + (\ x__ y__ -> x__ {_TripDescriptor'scheduleRelationship = y__})) + Prelude.id +instance Data.ProtoLens.Message TripDescriptor where + messageName _ = Data.Text.pack "transit_realtime.TripDescriptor" + packedMessageDescriptor _ + = "\n\ + \\SOTripDescriptor\DC2\ETB\n\ + \\atrip_id\CAN\SOH \SOH(\tR\ACKtripId\DC2\EM\n\ + \\broute_id\CAN\ENQ \SOH(\tR\arouteId\DC2!\n\ + \\fdirection_id\CAN\ACK \SOH(\rR\vdirectionId\DC2\GS\n\ + \\n\ + \start_time\CAN\STX \SOH(\tR\tstartTime\DC2\GS\n\ + \\n\ + \start_date\CAN\ETX \SOH(\tR\tstartDate\DC2j\n\ + \\NAKschedule_relationship\CAN\EOT \SOH(\SO25.transit_realtime.TripDescriptor.ScheduleRelationshipR\DC4scheduleRelationship\"p\n\ + \\DC4ScheduleRelationship\DC2\r\n\ + \\tSCHEDULED\DLE\NUL\DC2\t\n\ + \\ENQADDED\DLE\SOH\DC2\SI\n\ + \\vUNSCHEDULED\DLE\STX\DC2\f\n\ + \\bCANCELED\DLE\ETX\DC2\SI\n\ + \\vREPLACEMENT\DLE\ENQ\DC2\SO\n\ + \\n\ + \DUPLICATED\DLE\ACK*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N" + packedFileDescriptor _ = packedFileDescriptor + fieldsByTag + = let + tripId__field_descriptor + = Data.ProtoLens.FieldDescriptor + "trip_id" + (Data.ProtoLens.ScalarField Data.ProtoLens.StringField :: + Data.ProtoLens.FieldTypeDescriptor Data.Text.Text) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'tripId")) :: + Data.ProtoLens.FieldDescriptor TripDescriptor + routeId__field_descriptor + = Data.ProtoLens.FieldDescriptor + "route_id" + (Data.ProtoLens.ScalarField Data.ProtoLens.StringField :: + Data.ProtoLens.FieldTypeDescriptor Data.Text.Text) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'routeId")) :: + Data.ProtoLens.FieldDescriptor TripDescriptor + directionId__field_descriptor + = Data.ProtoLens.FieldDescriptor + "direction_id" + (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field :: + Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'directionId")) :: + Data.ProtoLens.FieldDescriptor TripDescriptor + startTime__field_descriptor + = Data.ProtoLens.FieldDescriptor + "start_time" + (Data.ProtoLens.ScalarField Data.ProtoLens.StringField :: + Data.ProtoLens.FieldTypeDescriptor Data.Text.Text) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'startTime")) :: + Data.ProtoLens.FieldDescriptor TripDescriptor + startDate__field_descriptor + = Data.ProtoLens.FieldDescriptor + "start_date" + (Data.ProtoLens.ScalarField Data.ProtoLens.StringField :: + Data.ProtoLens.FieldTypeDescriptor Data.Text.Text) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'startDate")) :: + Data.ProtoLens.FieldDescriptor TripDescriptor + scheduleRelationship__field_descriptor + = Data.ProtoLens.FieldDescriptor + "schedule_relationship" + (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField :: + Data.ProtoLens.FieldTypeDescriptor TripDescriptor'ScheduleRelationship) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'scheduleRelationship")) :: + Data.ProtoLens.FieldDescriptor TripDescriptor + in + Data.Map.fromList + [(Data.ProtoLens.Tag 1, tripId__field_descriptor), + (Data.ProtoLens.Tag 5, routeId__field_descriptor), + (Data.ProtoLens.Tag 6, directionId__field_descriptor), + (Data.ProtoLens.Tag 2, startTime__field_descriptor), + (Data.ProtoLens.Tag 3, startDate__field_descriptor), + (Data.ProtoLens.Tag 4, scheduleRelationship__field_descriptor)] + unknownFields + = Lens.Family2.Unchecked.lens + _TripDescriptor'_unknownFields + (\ x__ y__ -> x__ {_TripDescriptor'_unknownFields = y__}) + defMessage + = TripDescriptor'_constructor + {_TripDescriptor'tripId = Prelude.Nothing, + _TripDescriptor'routeId = Prelude.Nothing, + _TripDescriptor'directionId = Prelude.Nothing, + _TripDescriptor'startTime = Prelude.Nothing, + _TripDescriptor'startDate = Prelude.Nothing, + _TripDescriptor'scheduleRelationship = Prelude.Nothing, + _TripDescriptor'_unknownFields = []} + parseMessage + = let + loop :: + TripDescriptor + -> Data.ProtoLens.Encoding.Bytes.Parser TripDescriptor + loop x + = do end <- Data.ProtoLens.Encoding.Bytes.atEnd + if end then + do (let missing = [] + in + if Prelude.null missing then + Prelude.return () + else + Prelude.fail + ((Prelude.++) + "Missing required fields: " + (Prelude.show (missing :: [Prelude.String])))) + Prelude.return + (Lens.Family2.over + Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x) + else + do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt + case tag of + 10 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.getText + (Prelude.fromIntegral len)) + "trip_id" + loop (Lens.Family2.set (Data.ProtoLens.Field.field @"tripId") y x) + 42 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.getText + (Prelude.fromIntegral len)) + "route_id" + loop (Lens.Family2.set (Data.ProtoLens.Field.field @"routeId") y x) + 48 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (Prelude.fmap + Prelude.fromIntegral + Data.ProtoLens.Encoding.Bytes.getVarInt) + "direction_id" + loop + (Lens.Family2.set (Data.ProtoLens.Field.field @"directionId") y x) + 18 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.getText + (Prelude.fromIntegral len)) + "start_time" + loop + (Lens.Family2.set (Data.ProtoLens.Field.field @"startTime") y x) + 26 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.getText + (Prelude.fromIntegral len)) + "start_date" + loop + (Lens.Family2.set (Data.ProtoLens.Field.field @"startDate") y x) + 32 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (Prelude.fmap + Prelude.toEnum + (Prelude.fmap + Prelude.fromIntegral + Data.ProtoLens.Encoding.Bytes.getVarInt)) + "schedule_relationship" + loop + (Lens.Family2.set + (Data.ProtoLens.Field.field @"scheduleRelationship") y x) + wire + -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire + wire + loop + (Lens.Family2.over + Data.ProtoLens.unknownFields (\ !t -> (:) y t) x) + in + (Data.ProtoLens.Encoding.Bytes.) + (do loop Data.ProtoLens.defMessage) "TripDescriptor" + buildMessage + = \ _x + -> (Data.Monoid.<>) + (case + Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'tripId") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 10) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.Text.Encoding.encodeUtf8 _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'routeId") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 42) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.Text.Encoding.encodeUtf8 _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view + (Data.ProtoLens.Field.field @"maybe'directionId") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 48) + ((Prelude..) + Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view + (Data.ProtoLens.Field.field @"maybe'startTime") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 18) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.Text.Encoding.encodeUtf8 _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view + (Data.ProtoLens.Field.field @"maybe'startDate") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 26) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.Text.Encoding.encodeUtf8 _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view + (Data.ProtoLens.Field.field @"maybe'scheduleRelationship") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 32) + ((Prelude..) + ((Prelude..) + Data.ProtoLens.Encoding.Bytes.putVarInt + Prelude.fromIntegral) + Prelude.fromEnum _v)) + (Data.ProtoLens.Encoding.Wire.buildFieldSet + (Lens.Family2.view Data.ProtoLens.unknownFields _x))))))) +instance Control.DeepSeq.NFData TripDescriptor where + rnf + = \ x__ + -> Control.DeepSeq.deepseq + (_TripDescriptor'_unknownFields x__) + (Control.DeepSeq.deepseq + (_TripDescriptor'tripId x__) + (Control.DeepSeq.deepseq + (_TripDescriptor'routeId x__) + (Control.DeepSeq.deepseq + (_TripDescriptor'directionId x__) + (Control.DeepSeq.deepseq + (_TripDescriptor'startTime x__) + (Control.DeepSeq.deepseq + (_TripDescriptor'startDate x__) + (Control.DeepSeq.deepseq + (_TripDescriptor'scheduleRelationship x__) ())))))) +data TripDescriptor'ScheduleRelationship + = TripDescriptor'SCHEDULED | + TripDescriptor'ADDED | + TripDescriptor'UNSCHEDULED | + TripDescriptor'CANCELED | + TripDescriptor'REPLACEMENT | + TripDescriptor'DUPLICATED + deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord) +instance Data.ProtoLens.MessageEnum TripDescriptor'ScheduleRelationship where + maybeToEnum 0 = Prelude.Just TripDescriptor'SCHEDULED + maybeToEnum 1 = Prelude.Just TripDescriptor'ADDED + maybeToEnum 2 = Prelude.Just TripDescriptor'UNSCHEDULED + maybeToEnum 3 = Prelude.Just TripDescriptor'CANCELED + maybeToEnum 5 = Prelude.Just TripDescriptor'REPLACEMENT + maybeToEnum 6 = Prelude.Just TripDescriptor'DUPLICATED + maybeToEnum _ = Prelude.Nothing + showEnum TripDescriptor'SCHEDULED = "SCHEDULED" + showEnum TripDescriptor'ADDED = "ADDED" + showEnum TripDescriptor'UNSCHEDULED = "UNSCHEDULED" + showEnum TripDescriptor'CANCELED = "CANCELED" + showEnum TripDescriptor'REPLACEMENT = "REPLACEMENT" + showEnum TripDescriptor'DUPLICATED = "DUPLICATED" + readEnum k + | (Prelude.==) k "SCHEDULED" + = Prelude.Just TripDescriptor'SCHEDULED + | (Prelude.==) k "ADDED" = Prelude.Just TripDescriptor'ADDED + | (Prelude.==) k "UNSCHEDULED" + = Prelude.Just TripDescriptor'UNSCHEDULED + | (Prelude.==) k "CANCELED" = Prelude.Just TripDescriptor'CANCELED + | (Prelude.==) k "REPLACEMENT" + = Prelude.Just TripDescriptor'REPLACEMENT + | (Prelude.==) k "DUPLICATED" + = Prelude.Just TripDescriptor'DUPLICATED + | Prelude.otherwise + = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum +instance Prelude.Bounded TripDescriptor'ScheduleRelationship where + minBound = TripDescriptor'SCHEDULED + maxBound = TripDescriptor'DUPLICATED +instance Prelude.Enum TripDescriptor'ScheduleRelationship where + toEnum k__ + = Prelude.maybe + (Prelude.error + ((Prelude.++) + "toEnum: unknown value for enum ScheduleRelationship: " + (Prelude.show k__))) + Prelude.id (Data.ProtoLens.maybeToEnum k__) + fromEnum TripDescriptor'SCHEDULED = 0 + fromEnum TripDescriptor'ADDED = 1 + fromEnum TripDescriptor'UNSCHEDULED = 2 + fromEnum TripDescriptor'CANCELED = 3 + fromEnum TripDescriptor'REPLACEMENT = 5 + fromEnum TripDescriptor'DUPLICATED = 6 + succ TripDescriptor'DUPLICATED + = Prelude.error + "TripDescriptor'ScheduleRelationship.succ: bad argument TripDescriptor'DUPLICATED. This value would be out of bounds." + succ TripDescriptor'SCHEDULED = TripDescriptor'ADDED + succ TripDescriptor'ADDED = TripDescriptor'UNSCHEDULED + succ TripDescriptor'UNSCHEDULED = TripDescriptor'CANCELED + succ TripDescriptor'CANCELED = TripDescriptor'REPLACEMENT + succ TripDescriptor'REPLACEMENT = TripDescriptor'DUPLICATED + pred TripDescriptor'SCHEDULED + = Prelude.error + "TripDescriptor'ScheduleRelationship.pred: bad argument TripDescriptor'SCHEDULED. This value would be out of bounds." + pred TripDescriptor'ADDED = TripDescriptor'SCHEDULED + pred TripDescriptor'UNSCHEDULED = TripDescriptor'ADDED + pred TripDescriptor'CANCELED = TripDescriptor'UNSCHEDULED + pred TripDescriptor'REPLACEMENT = TripDescriptor'CANCELED + pred TripDescriptor'DUPLICATED = TripDescriptor'REPLACEMENT + enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom + enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo + enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen + enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo +instance Data.ProtoLens.FieldDefault TripDescriptor'ScheduleRelationship where + fieldDefault = TripDescriptor'SCHEDULED +instance Control.DeepSeq.NFData TripDescriptor'ScheduleRelationship where + rnf x__ = Prelude.seq x__ () +{- | Fields : + + * 'Proto.GtfsRealtime_Fields.trip' @:: Lens' TripUpdate TripDescriptor@ + * 'Proto.GtfsRealtime_Fields.vehicle' @:: Lens' TripUpdate VehicleDescriptor@ + * 'Proto.GtfsRealtime_Fields.maybe'vehicle' @:: Lens' TripUpdate (Prelude.Maybe VehicleDescriptor)@ + * 'Proto.GtfsRealtime_Fields.stopTimeUpdate' @:: Lens' TripUpdate [TripUpdate'StopTimeUpdate]@ + * 'Proto.GtfsRealtime_Fields.vec'stopTimeUpdate' @:: Lens' TripUpdate (Data.Vector.Vector TripUpdate'StopTimeUpdate)@ + * 'Proto.GtfsRealtime_Fields.timestamp' @:: Lens' TripUpdate Data.Word.Word64@ + * 'Proto.GtfsRealtime_Fields.maybe'timestamp' @:: Lens' TripUpdate (Prelude.Maybe Data.Word.Word64)@ + * 'Proto.GtfsRealtime_Fields.delay' @:: Lens' TripUpdate Data.Int.Int32@ + * 'Proto.GtfsRealtime_Fields.maybe'delay' @:: Lens' TripUpdate (Prelude.Maybe Data.Int.Int32)@ + * 'Proto.GtfsRealtime_Fields.tripProperties' @:: Lens' TripUpdate TripUpdate'TripProperties@ + * 'Proto.GtfsRealtime_Fields.maybe'tripProperties' @:: Lens' TripUpdate (Prelude.Maybe TripUpdate'TripProperties)@ -} +data TripUpdate + = TripUpdate'_constructor {_TripUpdate'trip :: !TripDescriptor, + _TripUpdate'vehicle :: !(Prelude.Maybe VehicleDescriptor), + _TripUpdate'stopTimeUpdate :: !(Data.Vector.Vector TripUpdate'StopTimeUpdate), + _TripUpdate'timestamp :: !(Prelude.Maybe Data.Word.Word64), + _TripUpdate'delay :: !(Prelude.Maybe Data.Int.Int32), + _TripUpdate'tripProperties :: !(Prelude.Maybe TripUpdate'TripProperties), + _TripUpdate'_unknownFields :: !Data.ProtoLens.FieldSet} + deriving stock (Prelude.Eq, Prelude.Ord) +instance Prelude.Show TripUpdate where + showsPrec _ __x __s + = Prelude.showChar + '{' + (Prelude.showString + (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s)) +instance Data.ProtoLens.Field.HasField TripUpdate "trip" TripDescriptor where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripUpdate'trip (\ x__ y__ -> x__ {_TripUpdate'trip = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField TripUpdate "vehicle" VehicleDescriptor where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripUpdate'vehicle (\ x__ y__ -> x__ {_TripUpdate'vehicle = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage) +instance Data.ProtoLens.Field.HasField TripUpdate "maybe'vehicle" (Prelude.Maybe VehicleDescriptor) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripUpdate'vehicle (\ x__ y__ -> x__ {_TripUpdate'vehicle = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField TripUpdate "stopTimeUpdate" [TripUpdate'StopTimeUpdate] where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripUpdate'stopTimeUpdate + (\ x__ y__ -> x__ {_TripUpdate'stopTimeUpdate = y__})) + (Lens.Family2.Unchecked.lens + Data.Vector.Generic.toList + (\ _ y__ -> Data.Vector.Generic.fromList y__)) +instance Data.ProtoLens.Field.HasField TripUpdate "vec'stopTimeUpdate" (Data.Vector.Vector TripUpdate'StopTimeUpdate) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripUpdate'stopTimeUpdate + (\ x__ y__ -> x__ {_TripUpdate'stopTimeUpdate = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField TripUpdate "timestamp" Data.Word.Word64 where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripUpdate'timestamp + (\ x__ y__ -> x__ {_TripUpdate'timestamp = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault) +instance Data.ProtoLens.Field.HasField TripUpdate "maybe'timestamp" (Prelude.Maybe Data.Word.Word64) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripUpdate'timestamp + (\ x__ y__ -> x__ {_TripUpdate'timestamp = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField TripUpdate "delay" Data.Int.Int32 where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripUpdate'delay (\ x__ y__ -> x__ {_TripUpdate'delay = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault) +instance Data.ProtoLens.Field.HasField TripUpdate "maybe'delay" (Prelude.Maybe Data.Int.Int32) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripUpdate'delay (\ x__ y__ -> x__ {_TripUpdate'delay = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField TripUpdate "tripProperties" TripUpdate'TripProperties where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripUpdate'tripProperties + (\ x__ y__ -> x__ {_TripUpdate'tripProperties = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage) +instance Data.ProtoLens.Field.HasField TripUpdate "maybe'tripProperties" (Prelude.Maybe TripUpdate'TripProperties) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripUpdate'tripProperties + (\ x__ y__ -> x__ {_TripUpdate'tripProperties = y__})) + Prelude.id +instance Data.ProtoLens.Message TripUpdate where + messageName _ = Data.Text.pack "transit_realtime.TripUpdate" + packedMessageDescriptor _ + = "\n\ + \\n\ + \TripUpdate\DC24\n\ + \\EOTtrip\CAN\SOH \STX(\v2 .transit_realtime.TripDescriptorR\EOTtrip\DC2=\n\ + \\avehicle\CAN\ETX \SOH(\v2#.transit_realtime.VehicleDescriptorR\avehicle\DC2U\n\ + \\DLEstop_time_update\CAN\STX \ETX(\v2+.transit_realtime.TripUpdate.StopTimeUpdateR\SOstopTimeUpdate\DC2\FS\n\ + \\ttimestamp\CAN\EOT \SOH(\EOTR\ttimestamp\DC2\DC4\n\ + \\ENQdelay\CAN\ENQ \SOH(\ENQR\ENQdelay\DC2T\n\ + \\SItrip_properties\CAN\ACK \SOH(\v2+.transit_realtime.TripUpdate.TripPropertiesR\SOtripProperties\SUBk\n\ + \\rStopTimeEvent\DC2\DC4\n\ + \\ENQdelay\CAN\SOH \SOH(\ENQR\ENQdelay\DC2\DC2\n\ + \\EOTtime\CAN\STX \SOH(\ETXR\EOTtime\DC2 \n\ + \\vuncertainty\CAN\ETX \SOH(\ENQR\vuncertainty*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\SUB\246\ENQ\n\ + \\SOStopTimeUpdate\DC2#\n\ + \\rstop_sequence\CAN\SOH \SOH(\rR\fstopSequence\DC2\ETB\n\ + \\astop_id\CAN\EOT \SOH(\tR\ACKstopId\DC2D\n\ + \\aarrival\CAN\STX \SOH(\v2*.transit_realtime.TripUpdate.StopTimeEventR\aarrival\DC2H\n\ + \\tdeparture\CAN\ETX \SOH(\v2*.transit_realtime.TripUpdate.StopTimeEventR\tdeparture\DC2o\n\ + \\SUBdeparture_occupancy_status\CAN\a \SOH(\SO21.transit_realtime.VehiclePosition.OccupancyStatusR\CANdepartureOccupancyStatus\DC2\128\SOH\n\ + \\NAKschedule_relationship\CAN\ENQ \SOH(\SO2@.transit_realtime.TripUpdate.StopTimeUpdate.ScheduleRelationship:\tSCHEDULEDR\DC4scheduleRelationship\DC2p\n\ + \\DC4stop_time_properties\CAN\ACK \SOH(\v2>.transit_realtime.TripUpdate.StopTimeUpdate.StopTimePropertiesR\DC2stopTimeProperties\SUBN\n\ + \\DC2StopTimeProperties\DC2(\n\ + \\DLEassigned_stop_id\CAN\SOH \SOH(\tR\SOassignedStopId*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"P\n\ + \\DC4ScheduleRelationship\DC2\r\n\ + \\tSCHEDULED\DLE\NUL\DC2\v\n\ + \\aSKIPPED\DLE\SOH\DC2\v\n\ + \\aNO_DATA\DLE\STX\DC2\SI\n\ + \\vUNSCHEDULED\DLE\ETX*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\SUB\146\SOH\n\ + \\SOTripProperties\DC2\ETB\n\ + \\atrip_id\CAN\SOH \SOH(\tR\ACKtripId\DC2\GS\n\ + \\n\ + \start_date\CAN\STX \SOH(\tR\tstartDate\DC2\GS\n\ + \\n\ + \start_time\CAN\ETX \SOH(\tR\tstartTime\DC2\EM\n\ + \\bshape_id\CAN\EOT \SOH(\tR\ashapeId*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N" + packedFileDescriptor _ = packedFileDescriptor + fieldsByTag + = let + trip__field_descriptor + = Data.ProtoLens.FieldDescriptor + "trip" + (Data.ProtoLens.MessageField Data.ProtoLens.MessageType :: + Data.ProtoLens.FieldTypeDescriptor TripDescriptor) + (Data.ProtoLens.PlainField + Data.ProtoLens.Required (Data.ProtoLens.Field.field @"trip")) :: + Data.ProtoLens.FieldDescriptor TripUpdate + vehicle__field_descriptor + = Data.ProtoLens.FieldDescriptor + "vehicle" + (Data.ProtoLens.MessageField Data.ProtoLens.MessageType :: + Data.ProtoLens.FieldTypeDescriptor VehicleDescriptor) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'vehicle")) :: + Data.ProtoLens.FieldDescriptor TripUpdate + stopTimeUpdate__field_descriptor + = Data.ProtoLens.FieldDescriptor + "stop_time_update" + (Data.ProtoLens.MessageField Data.ProtoLens.MessageType :: + Data.ProtoLens.FieldTypeDescriptor TripUpdate'StopTimeUpdate) + (Data.ProtoLens.RepeatedField + Data.ProtoLens.Unpacked + (Data.ProtoLens.Field.field @"stopTimeUpdate")) :: + Data.ProtoLens.FieldDescriptor TripUpdate + timestamp__field_descriptor + = Data.ProtoLens.FieldDescriptor + "timestamp" + (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field :: + Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'timestamp")) :: + Data.ProtoLens.FieldDescriptor TripUpdate + delay__field_descriptor + = Data.ProtoLens.FieldDescriptor + "delay" + (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field :: + Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'delay")) :: + Data.ProtoLens.FieldDescriptor TripUpdate + tripProperties__field_descriptor + = Data.ProtoLens.FieldDescriptor + "trip_properties" + (Data.ProtoLens.MessageField Data.ProtoLens.MessageType :: + Data.ProtoLens.FieldTypeDescriptor TripUpdate'TripProperties) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'tripProperties")) :: + Data.ProtoLens.FieldDescriptor TripUpdate + in + Data.Map.fromList + [(Data.ProtoLens.Tag 1, trip__field_descriptor), + (Data.ProtoLens.Tag 3, vehicle__field_descriptor), + (Data.ProtoLens.Tag 2, stopTimeUpdate__field_descriptor), + (Data.ProtoLens.Tag 4, timestamp__field_descriptor), + (Data.ProtoLens.Tag 5, delay__field_descriptor), + (Data.ProtoLens.Tag 6, tripProperties__field_descriptor)] + unknownFields + = Lens.Family2.Unchecked.lens + _TripUpdate'_unknownFields + (\ x__ y__ -> x__ {_TripUpdate'_unknownFields = y__}) + defMessage + = TripUpdate'_constructor + {_TripUpdate'trip = Data.ProtoLens.defMessage, + _TripUpdate'vehicle = Prelude.Nothing, + _TripUpdate'stopTimeUpdate = Data.Vector.Generic.empty, + _TripUpdate'timestamp = Prelude.Nothing, + _TripUpdate'delay = Prelude.Nothing, + _TripUpdate'tripProperties = Prelude.Nothing, + _TripUpdate'_unknownFields = []} + parseMessage + = let + loop :: + TripUpdate + -> Prelude.Bool + -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld TripUpdate'StopTimeUpdate + -> Data.ProtoLens.Encoding.Bytes.Parser TripUpdate + loop x required'trip mutable'stopTimeUpdate + = do end <- Data.ProtoLens.Encoding.Bytes.atEnd + if end then + do frozen'stopTimeUpdate <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO + (Data.ProtoLens.Encoding.Growing.unsafeFreeze + mutable'stopTimeUpdate) + (let + missing = (if required'trip then (:) "trip" else Prelude.id) [] + in + if Prelude.null missing then + Prelude.return () + else + Prelude.fail + ((Prelude.++) + "Missing required fields: " + (Prelude.show (missing :: [Prelude.String])))) + Prelude.return + (Lens.Family2.over + Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) + (Lens.Family2.set + (Data.ProtoLens.Field.field @"vec'stopTimeUpdate") + frozen'stopTimeUpdate x)) + else + do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt + case tag of + 10 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.isolate + (Prelude.fromIntegral len) Data.ProtoLens.parseMessage) + "trip" + loop + (Lens.Family2.set (Data.ProtoLens.Field.field @"trip") y x) + Prelude.False mutable'stopTimeUpdate + 26 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.isolate + (Prelude.fromIntegral len) Data.ProtoLens.parseMessage) + "vehicle" + loop + (Lens.Family2.set (Data.ProtoLens.Field.field @"vehicle") y x) + required'trip mutable'stopTimeUpdate + 18 + -> do !y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.isolate + (Prelude.fromIntegral len) + Data.ProtoLens.parseMessage) + "stop_time_update" + v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO + (Data.ProtoLens.Encoding.Growing.append + mutable'stopTimeUpdate y) + loop x required'trip v + 32 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + Data.ProtoLens.Encoding.Bytes.getVarInt "timestamp" + loop + (Lens.Family2.set (Data.ProtoLens.Field.field @"timestamp") y x) + required'trip mutable'stopTimeUpdate + 40 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (Prelude.fmap + Prelude.fromIntegral + Data.ProtoLens.Encoding.Bytes.getVarInt) + "delay" + loop + (Lens.Family2.set (Data.ProtoLens.Field.field @"delay") y x) + required'trip mutable'stopTimeUpdate + 50 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.isolate + (Prelude.fromIntegral len) Data.ProtoLens.parseMessage) + "trip_properties" + loop + (Lens.Family2.set + (Data.ProtoLens.Field.field @"tripProperties") y x) + required'trip mutable'stopTimeUpdate + wire + -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire + wire + loop + (Lens.Family2.over + Data.ProtoLens.unknownFields (\ !t -> (:) y t) x) + required'trip mutable'stopTimeUpdate + in + (Data.ProtoLens.Encoding.Bytes.) + (do mutable'stopTimeUpdate <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO + Data.ProtoLens.Encoding.Growing.new + loop Data.ProtoLens.defMessage Prelude.True mutable'stopTimeUpdate) + "TripUpdate" + buildMessage + = \ _x + -> (Data.Monoid.<>) + ((Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 10) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.ProtoLens.encodeMessage + (Lens.Family2.view (Data.ProtoLens.Field.field @"trip") _x))) + ((Data.Monoid.<>) + (case + Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'vehicle") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 26) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.ProtoLens.encodeMessage _v)) + ((Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.foldMapBuilder + (\ _v + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 18) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.ProtoLens.encodeMessage _v)) + (Lens.Family2.view + (Data.ProtoLens.Field.field @"vec'stopTimeUpdate") _x)) + ((Data.Monoid.<>) + (case + Lens.Family2.view + (Data.ProtoLens.Field.field @"maybe'timestamp") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 32) + (Data.ProtoLens.Encoding.Bytes.putVarInt _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'delay") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 40) + ((Prelude..) + Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral + _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view + (Data.ProtoLens.Field.field @"maybe'tripProperties") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 50) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral + (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.ProtoLens.encodeMessage _v)) + (Data.ProtoLens.Encoding.Wire.buildFieldSet + (Lens.Family2.view Data.ProtoLens.unknownFields _x))))))) +instance Control.DeepSeq.NFData TripUpdate where + rnf + = \ x__ + -> Control.DeepSeq.deepseq + (_TripUpdate'_unknownFields x__) + (Control.DeepSeq.deepseq + (_TripUpdate'trip x__) + (Control.DeepSeq.deepseq + (_TripUpdate'vehicle x__) + (Control.DeepSeq.deepseq + (_TripUpdate'stopTimeUpdate x__) + (Control.DeepSeq.deepseq + (_TripUpdate'timestamp x__) + (Control.DeepSeq.deepseq + (_TripUpdate'delay x__) + (Control.DeepSeq.deepseq (_TripUpdate'tripProperties x__) ())))))) +{- | Fields : + + * 'Proto.GtfsRealtime_Fields.delay' @:: Lens' TripUpdate'StopTimeEvent Data.Int.Int32@ + * 'Proto.GtfsRealtime_Fields.maybe'delay' @:: Lens' TripUpdate'StopTimeEvent (Prelude.Maybe Data.Int.Int32)@ + * 'Proto.GtfsRealtime_Fields.time' @:: Lens' TripUpdate'StopTimeEvent Data.Int.Int64@ + * 'Proto.GtfsRealtime_Fields.maybe'time' @:: Lens' TripUpdate'StopTimeEvent (Prelude.Maybe Data.Int.Int64)@ + * 'Proto.GtfsRealtime_Fields.uncertainty' @:: Lens' TripUpdate'StopTimeEvent Data.Int.Int32@ + * 'Proto.GtfsRealtime_Fields.maybe'uncertainty' @:: Lens' TripUpdate'StopTimeEvent (Prelude.Maybe Data.Int.Int32)@ -} +data TripUpdate'StopTimeEvent + = TripUpdate'StopTimeEvent'_constructor {_TripUpdate'StopTimeEvent'delay :: !(Prelude.Maybe Data.Int.Int32), + _TripUpdate'StopTimeEvent'time :: !(Prelude.Maybe Data.Int.Int64), + _TripUpdate'StopTimeEvent'uncertainty :: !(Prelude.Maybe Data.Int.Int32), + _TripUpdate'StopTimeEvent'_unknownFields :: !Data.ProtoLens.FieldSet} + deriving stock (Prelude.Eq, Prelude.Ord) +instance Prelude.Show TripUpdate'StopTimeEvent where + showsPrec _ __x __s + = Prelude.showChar + '{' + (Prelude.showString + (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s)) +instance Data.ProtoLens.Field.HasField TripUpdate'StopTimeEvent "delay" Data.Int.Int32 where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripUpdate'StopTimeEvent'delay + (\ x__ y__ -> x__ {_TripUpdate'StopTimeEvent'delay = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault) +instance Data.ProtoLens.Field.HasField TripUpdate'StopTimeEvent "maybe'delay" (Prelude.Maybe Data.Int.Int32) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripUpdate'StopTimeEvent'delay + (\ x__ y__ -> x__ {_TripUpdate'StopTimeEvent'delay = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField TripUpdate'StopTimeEvent "time" Data.Int.Int64 where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripUpdate'StopTimeEvent'time + (\ x__ y__ -> x__ {_TripUpdate'StopTimeEvent'time = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault) +instance Data.ProtoLens.Field.HasField TripUpdate'StopTimeEvent "maybe'time" (Prelude.Maybe Data.Int.Int64) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripUpdate'StopTimeEvent'time + (\ x__ y__ -> x__ {_TripUpdate'StopTimeEvent'time = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField TripUpdate'StopTimeEvent "uncertainty" Data.Int.Int32 where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripUpdate'StopTimeEvent'uncertainty + (\ x__ y__ -> x__ {_TripUpdate'StopTimeEvent'uncertainty = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault) +instance Data.ProtoLens.Field.HasField TripUpdate'StopTimeEvent "maybe'uncertainty" (Prelude.Maybe Data.Int.Int32) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripUpdate'StopTimeEvent'uncertainty + (\ x__ y__ -> x__ {_TripUpdate'StopTimeEvent'uncertainty = y__})) + Prelude.id +instance Data.ProtoLens.Message TripUpdate'StopTimeEvent where + messageName _ + = Data.Text.pack "transit_realtime.TripUpdate.StopTimeEvent" + packedMessageDescriptor _ + = "\n\ + \\rStopTimeEvent\DC2\DC4\n\ + \\ENQdelay\CAN\SOH \SOH(\ENQR\ENQdelay\DC2\DC2\n\ + \\EOTtime\CAN\STX \SOH(\ETXR\EOTtime\DC2 \n\ + \\vuncertainty\CAN\ETX \SOH(\ENQR\vuncertainty*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N" + packedFileDescriptor _ = packedFileDescriptor + fieldsByTag + = let + delay__field_descriptor + = Data.ProtoLens.FieldDescriptor + "delay" + (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field :: + Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'delay")) :: + Data.ProtoLens.FieldDescriptor TripUpdate'StopTimeEvent + time__field_descriptor + = Data.ProtoLens.FieldDescriptor + "time" + (Data.ProtoLens.ScalarField Data.ProtoLens.Int64Field :: + Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'time")) :: + Data.ProtoLens.FieldDescriptor TripUpdate'StopTimeEvent + uncertainty__field_descriptor + = Data.ProtoLens.FieldDescriptor + "uncertainty" + (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field :: + Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'uncertainty")) :: + Data.ProtoLens.FieldDescriptor TripUpdate'StopTimeEvent + in + Data.Map.fromList + [(Data.ProtoLens.Tag 1, delay__field_descriptor), + (Data.ProtoLens.Tag 2, time__field_descriptor), + (Data.ProtoLens.Tag 3, uncertainty__field_descriptor)] + unknownFields + = Lens.Family2.Unchecked.lens + _TripUpdate'StopTimeEvent'_unknownFields + (\ x__ y__ -> x__ {_TripUpdate'StopTimeEvent'_unknownFields = y__}) + defMessage + = TripUpdate'StopTimeEvent'_constructor + {_TripUpdate'StopTimeEvent'delay = Prelude.Nothing, + _TripUpdate'StopTimeEvent'time = Prelude.Nothing, + _TripUpdate'StopTimeEvent'uncertainty = Prelude.Nothing, + _TripUpdate'StopTimeEvent'_unknownFields = []} + parseMessage + = let + loop :: + TripUpdate'StopTimeEvent + -> Data.ProtoLens.Encoding.Bytes.Parser TripUpdate'StopTimeEvent + loop x + = do end <- Data.ProtoLens.Encoding.Bytes.atEnd + if end then + do (let missing = [] + in + if Prelude.null missing then + Prelude.return () + else + Prelude.fail + ((Prelude.++) + "Missing required fields: " + (Prelude.show (missing :: [Prelude.String])))) + Prelude.return + (Lens.Family2.over + Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x) + else + do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt + case tag of + 8 -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (Prelude.fmap + Prelude.fromIntegral + Data.ProtoLens.Encoding.Bytes.getVarInt) + "delay" + loop (Lens.Family2.set (Data.ProtoLens.Field.field @"delay") y x) + 16 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (Prelude.fmap + Prelude.fromIntegral + Data.ProtoLens.Encoding.Bytes.getVarInt) + "time" + loop (Lens.Family2.set (Data.ProtoLens.Field.field @"time") y x) + 24 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (Prelude.fmap + Prelude.fromIntegral + Data.ProtoLens.Encoding.Bytes.getVarInt) + "uncertainty" + loop + (Lens.Family2.set (Data.ProtoLens.Field.field @"uncertainty") y x) + wire + -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire + wire + loop + (Lens.Family2.over + Data.ProtoLens.unknownFields (\ !t -> (:) y t) x) + in + (Data.ProtoLens.Encoding.Bytes.) + (do loop Data.ProtoLens.defMessage) "StopTimeEvent" + buildMessage + = \ _x + -> (Data.Monoid.<>) + (case + Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'delay") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 8) + ((Prelude..) + Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'time") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 16) + ((Prelude..) + Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view + (Data.ProtoLens.Field.field @"maybe'uncertainty") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 24) + ((Prelude..) + Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v)) + (Data.ProtoLens.Encoding.Wire.buildFieldSet + (Lens.Family2.view Data.ProtoLens.unknownFields _x)))) +instance Control.DeepSeq.NFData TripUpdate'StopTimeEvent where + rnf + = \ x__ + -> Control.DeepSeq.deepseq + (_TripUpdate'StopTimeEvent'_unknownFields x__) + (Control.DeepSeq.deepseq + (_TripUpdate'StopTimeEvent'delay x__) + (Control.DeepSeq.deepseq + (_TripUpdate'StopTimeEvent'time x__) + (Control.DeepSeq.deepseq + (_TripUpdate'StopTimeEvent'uncertainty x__) ()))) +{- | Fields : + + * 'Proto.GtfsRealtime_Fields.stopSequence' @:: Lens' TripUpdate'StopTimeUpdate Data.Word.Word32@ + * 'Proto.GtfsRealtime_Fields.maybe'stopSequence' @:: Lens' TripUpdate'StopTimeUpdate (Prelude.Maybe Data.Word.Word32)@ + * 'Proto.GtfsRealtime_Fields.stopId' @:: Lens' TripUpdate'StopTimeUpdate Data.Text.Text@ + * 'Proto.GtfsRealtime_Fields.maybe'stopId' @:: Lens' TripUpdate'StopTimeUpdate (Prelude.Maybe Data.Text.Text)@ + * 'Proto.GtfsRealtime_Fields.arrival' @:: Lens' TripUpdate'StopTimeUpdate TripUpdate'StopTimeEvent@ + * 'Proto.GtfsRealtime_Fields.maybe'arrival' @:: Lens' TripUpdate'StopTimeUpdate (Prelude.Maybe TripUpdate'StopTimeEvent)@ + * 'Proto.GtfsRealtime_Fields.departure' @:: Lens' TripUpdate'StopTimeUpdate TripUpdate'StopTimeEvent@ + * 'Proto.GtfsRealtime_Fields.maybe'departure' @:: Lens' TripUpdate'StopTimeUpdate (Prelude.Maybe TripUpdate'StopTimeEvent)@ + * 'Proto.GtfsRealtime_Fields.departureOccupancyStatus' @:: Lens' TripUpdate'StopTimeUpdate VehiclePosition'OccupancyStatus@ + * 'Proto.GtfsRealtime_Fields.maybe'departureOccupancyStatus' @:: Lens' TripUpdate'StopTimeUpdate (Prelude.Maybe VehiclePosition'OccupancyStatus)@ + * 'Proto.GtfsRealtime_Fields.scheduleRelationship' @:: Lens' TripUpdate'StopTimeUpdate TripUpdate'StopTimeUpdate'ScheduleRelationship@ + * 'Proto.GtfsRealtime_Fields.maybe'scheduleRelationship' @:: Lens' TripUpdate'StopTimeUpdate (Prelude.Maybe TripUpdate'StopTimeUpdate'ScheduleRelationship)@ + * 'Proto.GtfsRealtime_Fields.stopTimeProperties' @:: Lens' TripUpdate'StopTimeUpdate TripUpdate'StopTimeUpdate'StopTimeProperties@ + * 'Proto.GtfsRealtime_Fields.maybe'stopTimeProperties' @:: Lens' TripUpdate'StopTimeUpdate (Prelude.Maybe TripUpdate'StopTimeUpdate'StopTimeProperties)@ -} +data TripUpdate'StopTimeUpdate + = TripUpdate'StopTimeUpdate'_constructor {_TripUpdate'StopTimeUpdate'stopSequence :: !(Prelude.Maybe Data.Word.Word32), + _TripUpdate'StopTimeUpdate'stopId :: !(Prelude.Maybe Data.Text.Text), + _TripUpdate'StopTimeUpdate'arrival :: !(Prelude.Maybe TripUpdate'StopTimeEvent), + _TripUpdate'StopTimeUpdate'departure :: !(Prelude.Maybe TripUpdate'StopTimeEvent), + _TripUpdate'StopTimeUpdate'departureOccupancyStatus :: !(Prelude.Maybe VehiclePosition'OccupancyStatus), + _TripUpdate'StopTimeUpdate'scheduleRelationship :: !(Prelude.Maybe TripUpdate'StopTimeUpdate'ScheduleRelationship), + _TripUpdate'StopTimeUpdate'stopTimeProperties :: !(Prelude.Maybe TripUpdate'StopTimeUpdate'StopTimeProperties), + _TripUpdate'StopTimeUpdate'_unknownFields :: !Data.ProtoLens.FieldSet} + deriving stock (Prelude.Eq, Prelude.Ord) +instance Prelude.Show TripUpdate'StopTimeUpdate where + showsPrec _ __x __s + = Prelude.showChar + '{' + (Prelude.showString + (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s)) +instance Data.ProtoLens.Field.HasField TripUpdate'StopTimeUpdate "stopSequence" Data.Word.Word32 where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripUpdate'StopTimeUpdate'stopSequence + (\ x__ y__ -> x__ {_TripUpdate'StopTimeUpdate'stopSequence = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault) +instance Data.ProtoLens.Field.HasField TripUpdate'StopTimeUpdate "maybe'stopSequence" (Prelude.Maybe Data.Word.Word32) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripUpdate'StopTimeUpdate'stopSequence + (\ x__ y__ -> x__ {_TripUpdate'StopTimeUpdate'stopSequence = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField TripUpdate'StopTimeUpdate "stopId" Data.Text.Text where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripUpdate'StopTimeUpdate'stopId + (\ x__ y__ -> x__ {_TripUpdate'StopTimeUpdate'stopId = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault) +instance Data.ProtoLens.Field.HasField TripUpdate'StopTimeUpdate "maybe'stopId" (Prelude.Maybe Data.Text.Text) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripUpdate'StopTimeUpdate'stopId + (\ x__ y__ -> x__ {_TripUpdate'StopTimeUpdate'stopId = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField TripUpdate'StopTimeUpdate "arrival" TripUpdate'StopTimeEvent where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripUpdate'StopTimeUpdate'arrival + (\ x__ y__ -> x__ {_TripUpdate'StopTimeUpdate'arrival = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage) +instance Data.ProtoLens.Field.HasField TripUpdate'StopTimeUpdate "maybe'arrival" (Prelude.Maybe TripUpdate'StopTimeEvent) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripUpdate'StopTimeUpdate'arrival + (\ x__ y__ -> x__ {_TripUpdate'StopTimeUpdate'arrival = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField TripUpdate'StopTimeUpdate "departure" TripUpdate'StopTimeEvent where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripUpdate'StopTimeUpdate'departure + (\ x__ y__ -> x__ {_TripUpdate'StopTimeUpdate'departure = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage) +instance Data.ProtoLens.Field.HasField TripUpdate'StopTimeUpdate "maybe'departure" (Prelude.Maybe TripUpdate'StopTimeEvent) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripUpdate'StopTimeUpdate'departure + (\ x__ y__ -> x__ {_TripUpdate'StopTimeUpdate'departure = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField TripUpdate'StopTimeUpdate "departureOccupancyStatus" VehiclePosition'OccupancyStatus where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripUpdate'StopTimeUpdate'departureOccupancyStatus + (\ x__ y__ + -> x__ + {_TripUpdate'StopTimeUpdate'departureOccupancyStatus = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault) +instance Data.ProtoLens.Field.HasField TripUpdate'StopTimeUpdate "maybe'departureOccupancyStatus" (Prelude.Maybe VehiclePosition'OccupancyStatus) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripUpdate'StopTimeUpdate'departureOccupancyStatus + (\ x__ y__ + -> x__ + {_TripUpdate'StopTimeUpdate'departureOccupancyStatus = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField TripUpdate'StopTimeUpdate "scheduleRelationship" TripUpdate'StopTimeUpdate'ScheduleRelationship where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripUpdate'StopTimeUpdate'scheduleRelationship + (\ x__ y__ + -> x__ {_TripUpdate'StopTimeUpdate'scheduleRelationship = y__})) + (Data.ProtoLens.maybeLens TripUpdate'StopTimeUpdate'SCHEDULED) +instance Data.ProtoLens.Field.HasField TripUpdate'StopTimeUpdate "maybe'scheduleRelationship" (Prelude.Maybe TripUpdate'StopTimeUpdate'ScheduleRelationship) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripUpdate'StopTimeUpdate'scheduleRelationship + (\ x__ y__ + -> x__ {_TripUpdate'StopTimeUpdate'scheduleRelationship = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField TripUpdate'StopTimeUpdate "stopTimeProperties" TripUpdate'StopTimeUpdate'StopTimeProperties where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripUpdate'StopTimeUpdate'stopTimeProperties + (\ x__ y__ + -> x__ {_TripUpdate'StopTimeUpdate'stopTimeProperties = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage) +instance Data.ProtoLens.Field.HasField TripUpdate'StopTimeUpdate "maybe'stopTimeProperties" (Prelude.Maybe TripUpdate'StopTimeUpdate'StopTimeProperties) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripUpdate'StopTimeUpdate'stopTimeProperties + (\ x__ y__ + -> x__ {_TripUpdate'StopTimeUpdate'stopTimeProperties = y__})) + Prelude.id +instance Data.ProtoLens.Message TripUpdate'StopTimeUpdate where + messageName _ + = Data.Text.pack "transit_realtime.TripUpdate.StopTimeUpdate" + packedMessageDescriptor _ + = "\n\ + \\SOStopTimeUpdate\DC2#\n\ + \\rstop_sequence\CAN\SOH \SOH(\rR\fstopSequence\DC2\ETB\n\ + \\astop_id\CAN\EOT \SOH(\tR\ACKstopId\DC2D\n\ + \\aarrival\CAN\STX \SOH(\v2*.transit_realtime.TripUpdate.StopTimeEventR\aarrival\DC2H\n\ + \\tdeparture\CAN\ETX \SOH(\v2*.transit_realtime.TripUpdate.StopTimeEventR\tdeparture\DC2o\n\ + \\SUBdeparture_occupancy_status\CAN\a \SOH(\SO21.transit_realtime.VehiclePosition.OccupancyStatusR\CANdepartureOccupancyStatus\DC2\128\SOH\n\ + \\NAKschedule_relationship\CAN\ENQ \SOH(\SO2@.transit_realtime.TripUpdate.StopTimeUpdate.ScheduleRelationship:\tSCHEDULEDR\DC4scheduleRelationship\DC2p\n\ + \\DC4stop_time_properties\CAN\ACK \SOH(\v2>.transit_realtime.TripUpdate.StopTimeUpdate.StopTimePropertiesR\DC2stopTimeProperties\SUBN\n\ + \\DC2StopTimeProperties\DC2(\n\ + \\DLEassigned_stop_id\CAN\SOH \SOH(\tR\SOassignedStopId*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"P\n\ + \\DC4ScheduleRelationship\DC2\r\n\ + \\tSCHEDULED\DLE\NUL\DC2\v\n\ + \\aSKIPPED\DLE\SOH\DC2\v\n\ + \\aNO_DATA\DLE\STX\DC2\SI\n\ + \\vUNSCHEDULED\DLE\ETX*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N" + packedFileDescriptor _ = packedFileDescriptor + fieldsByTag + = let + stopSequence__field_descriptor + = Data.ProtoLens.FieldDescriptor + "stop_sequence" + (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field :: + Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'stopSequence")) :: + Data.ProtoLens.FieldDescriptor TripUpdate'StopTimeUpdate + stopId__field_descriptor + = Data.ProtoLens.FieldDescriptor + "stop_id" + (Data.ProtoLens.ScalarField Data.ProtoLens.StringField :: + Data.ProtoLens.FieldTypeDescriptor Data.Text.Text) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'stopId")) :: + Data.ProtoLens.FieldDescriptor TripUpdate'StopTimeUpdate + arrival__field_descriptor + = Data.ProtoLens.FieldDescriptor + "arrival" + (Data.ProtoLens.MessageField Data.ProtoLens.MessageType :: + Data.ProtoLens.FieldTypeDescriptor TripUpdate'StopTimeEvent) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'arrival")) :: + Data.ProtoLens.FieldDescriptor TripUpdate'StopTimeUpdate + departure__field_descriptor + = Data.ProtoLens.FieldDescriptor + "departure" + (Data.ProtoLens.MessageField Data.ProtoLens.MessageType :: + Data.ProtoLens.FieldTypeDescriptor TripUpdate'StopTimeEvent) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'departure")) :: + Data.ProtoLens.FieldDescriptor TripUpdate'StopTimeUpdate + departureOccupancyStatus__field_descriptor + = Data.ProtoLens.FieldDescriptor + "departure_occupancy_status" + (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField :: + Data.ProtoLens.FieldTypeDescriptor VehiclePosition'OccupancyStatus) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'departureOccupancyStatus")) :: + Data.ProtoLens.FieldDescriptor TripUpdate'StopTimeUpdate + scheduleRelationship__field_descriptor + = Data.ProtoLens.FieldDescriptor + "schedule_relationship" + (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField :: + Data.ProtoLens.FieldTypeDescriptor TripUpdate'StopTimeUpdate'ScheduleRelationship) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'scheduleRelationship")) :: + Data.ProtoLens.FieldDescriptor TripUpdate'StopTimeUpdate + stopTimeProperties__field_descriptor + = Data.ProtoLens.FieldDescriptor + "stop_time_properties" + (Data.ProtoLens.MessageField Data.ProtoLens.MessageType :: + Data.ProtoLens.FieldTypeDescriptor TripUpdate'StopTimeUpdate'StopTimeProperties) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'stopTimeProperties")) :: + Data.ProtoLens.FieldDescriptor TripUpdate'StopTimeUpdate + in + Data.Map.fromList + [(Data.ProtoLens.Tag 1, stopSequence__field_descriptor), + (Data.ProtoLens.Tag 4, stopId__field_descriptor), + (Data.ProtoLens.Tag 2, arrival__field_descriptor), + (Data.ProtoLens.Tag 3, departure__field_descriptor), + (Data.ProtoLens.Tag 7, departureOccupancyStatus__field_descriptor), + (Data.ProtoLens.Tag 5, scheduleRelationship__field_descriptor), + (Data.ProtoLens.Tag 6, stopTimeProperties__field_descriptor)] + unknownFields + = Lens.Family2.Unchecked.lens + _TripUpdate'StopTimeUpdate'_unknownFields + (\ x__ y__ + -> x__ {_TripUpdate'StopTimeUpdate'_unknownFields = y__}) + defMessage + = TripUpdate'StopTimeUpdate'_constructor + {_TripUpdate'StopTimeUpdate'stopSequence = Prelude.Nothing, + _TripUpdate'StopTimeUpdate'stopId = Prelude.Nothing, + _TripUpdate'StopTimeUpdate'arrival = Prelude.Nothing, + _TripUpdate'StopTimeUpdate'departure = Prelude.Nothing, + _TripUpdate'StopTimeUpdate'departureOccupancyStatus = Prelude.Nothing, + _TripUpdate'StopTimeUpdate'scheduleRelationship = Prelude.Nothing, + _TripUpdate'StopTimeUpdate'stopTimeProperties = Prelude.Nothing, + _TripUpdate'StopTimeUpdate'_unknownFields = []} + parseMessage + = let + loop :: + TripUpdate'StopTimeUpdate + -> Data.ProtoLens.Encoding.Bytes.Parser TripUpdate'StopTimeUpdate + loop x + = do end <- Data.ProtoLens.Encoding.Bytes.atEnd + if end then + do (let missing = [] + in + if Prelude.null missing then + Prelude.return () + else + Prelude.fail + ((Prelude.++) + "Missing required fields: " + (Prelude.show (missing :: [Prelude.String])))) + Prelude.return + (Lens.Family2.over + Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x) + else + do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt + case tag of + 8 -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (Prelude.fmap + Prelude.fromIntegral + Data.ProtoLens.Encoding.Bytes.getVarInt) + "stop_sequence" + loop + (Lens.Family2.set + (Data.ProtoLens.Field.field @"stopSequence") y x) + 34 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.getText + (Prelude.fromIntegral len)) + "stop_id" + loop (Lens.Family2.set (Data.ProtoLens.Field.field @"stopId") y x) + 18 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.isolate + (Prelude.fromIntegral len) Data.ProtoLens.parseMessage) + "arrival" + loop (Lens.Family2.set (Data.ProtoLens.Field.field @"arrival") y x) + 26 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.isolate + (Prelude.fromIntegral len) Data.ProtoLens.parseMessage) + "departure" + loop + (Lens.Family2.set (Data.ProtoLens.Field.field @"departure") y x) + 56 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (Prelude.fmap + Prelude.toEnum + (Prelude.fmap + Prelude.fromIntegral + Data.ProtoLens.Encoding.Bytes.getVarInt)) + "departure_occupancy_status" + loop + (Lens.Family2.set + (Data.ProtoLens.Field.field @"departureOccupancyStatus") y x) + 40 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (Prelude.fmap + Prelude.toEnum + (Prelude.fmap + Prelude.fromIntegral + Data.ProtoLens.Encoding.Bytes.getVarInt)) + "schedule_relationship" + loop + (Lens.Family2.set + (Data.ProtoLens.Field.field @"scheduleRelationship") y x) + 50 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.isolate + (Prelude.fromIntegral len) Data.ProtoLens.parseMessage) + "stop_time_properties" + loop + (Lens.Family2.set + (Data.ProtoLens.Field.field @"stopTimeProperties") y x) + wire + -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire + wire + loop + (Lens.Family2.over + Data.ProtoLens.unknownFields (\ !t -> (:) y t) x) + in + (Data.ProtoLens.Encoding.Bytes.) + (do loop Data.ProtoLens.defMessage) "StopTimeUpdate" + buildMessage + = \ _x + -> (Data.Monoid.<>) + (case + Lens.Family2.view + (Data.ProtoLens.Field.field @"maybe'stopSequence") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 8) + ((Prelude..) + Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'stopId") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 34) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.Text.Encoding.encodeUtf8 _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'arrival") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 18) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.ProtoLens.encodeMessage _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view + (Data.ProtoLens.Field.field @"maybe'departure") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 26) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.ProtoLens.encodeMessage _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view + (Data.ProtoLens.Field.field @"maybe'departureOccupancyStatus") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 56) + ((Prelude..) + ((Prelude..) + Data.ProtoLens.Encoding.Bytes.putVarInt + Prelude.fromIntegral) + Prelude.fromEnum _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view + (Data.ProtoLens.Field.field @"maybe'scheduleRelationship") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 40) + ((Prelude..) + ((Prelude..) + Data.ProtoLens.Encoding.Bytes.putVarInt + Prelude.fromIntegral) + Prelude.fromEnum _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view + (Data.ProtoLens.Field.field @"maybe'stopTimeProperties") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 50) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral + (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.ProtoLens.encodeMessage _v)) + (Data.ProtoLens.Encoding.Wire.buildFieldSet + (Lens.Family2.view Data.ProtoLens.unknownFields _x)))))))) +instance Control.DeepSeq.NFData TripUpdate'StopTimeUpdate where + rnf + = \ x__ + -> Control.DeepSeq.deepseq + (_TripUpdate'StopTimeUpdate'_unknownFields x__) + (Control.DeepSeq.deepseq + (_TripUpdate'StopTimeUpdate'stopSequence x__) + (Control.DeepSeq.deepseq + (_TripUpdate'StopTimeUpdate'stopId x__) + (Control.DeepSeq.deepseq + (_TripUpdate'StopTimeUpdate'arrival x__) + (Control.DeepSeq.deepseq + (_TripUpdate'StopTimeUpdate'departure x__) + (Control.DeepSeq.deepseq + (_TripUpdate'StopTimeUpdate'departureOccupancyStatus x__) + (Control.DeepSeq.deepseq + (_TripUpdate'StopTimeUpdate'scheduleRelationship x__) + (Control.DeepSeq.deepseq + (_TripUpdate'StopTimeUpdate'stopTimeProperties x__) ()))))))) +data TripUpdate'StopTimeUpdate'ScheduleRelationship + = TripUpdate'StopTimeUpdate'SCHEDULED | + TripUpdate'StopTimeUpdate'SKIPPED | + TripUpdate'StopTimeUpdate'NO_DATA | + TripUpdate'StopTimeUpdate'UNSCHEDULED + deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord) +instance Data.ProtoLens.MessageEnum TripUpdate'StopTimeUpdate'ScheduleRelationship where + maybeToEnum 0 = Prelude.Just TripUpdate'StopTimeUpdate'SCHEDULED + maybeToEnum 1 = Prelude.Just TripUpdate'StopTimeUpdate'SKIPPED + maybeToEnum 2 = Prelude.Just TripUpdate'StopTimeUpdate'NO_DATA + maybeToEnum 3 = Prelude.Just TripUpdate'StopTimeUpdate'UNSCHEDULED + maybeToEnum _ = Prelude.Nothing + showEnum TripUpdate'StopTimeUpdate'SCHEDULED = "SCHEDULED" + showEnum TripUpdate'StopTimeUpdate'SKIPPED = "SKIPPED" + showEnum TripUpdate'StopTimeUpdate'NO_DATA = "NO_DATA" + showEnum TripUpdate'StopTimeUpdate'UNSCHEDULED = "UNSCHEDULED" + readEnum k + | (Prelude.==) k "SCHEDULED" + = Prelude.Just TripUpdate'StopTimeUpdate'SCHEDULED + | (Prelude.==) k "SKIPPED" + = Prelude.Just TripUpdate'StopTimeUpdate'SKIPPED + | (Prelude.==) k "NO_DATA" + = Prelude.Just TripUpdate'StopTimeUpdate'NO_DATA + | (Prelude.==) k "UNSCHEDULED" + = Prelude.Just TripUpdate'StopTimeUpdate'UNSCHEDULED + | Prelude.otherwise + = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum +instance Prelude.Bounded TripUpdate'StopTimeUpdate'ScheduleRelationship where + minBound = TripUpdate'StopTimeUpdate'SCHEDULED + maxBound = TripUpdate'StopTimeUpdate'UNSCHEDULED +instance Prelude.Enum TripUpdate'StopTimeUpdate'ScheduleRelationship where + toEnum k__ + = Prelude.maybe + (Prelude.error + ((Prelude.++) + "toEnum: unknown value for enum ScheduleRelationship: " + (Prelude.show k__))) + Prelude.id (Data.ProtoLens.maybeToEnum k__) + fromEnum TripUpdate'StopTimeUpdate'SCHEDULED = 0 + fromEnum TripUpdate'StopTimeUpdate'SKIPPED = 1 + fromEnum TripUpdate'StopTimeUpdate'NO_DATA = 2 + fromEnum TripUpdate'StopTimeUpdate'UNSCHEDULED = 3 + succ TripUpdate'StopTimeUpdate'UNSCHEDULED + = Prelude.error + "TripUpdate'StopTimeUpdate'ScheduleRelationship.succ: bad argument TripUpdate'StopTimeUpdate'UNSCHEDULED. This value would be out of bounds." + succ TripUpdate'StopTimeUpdate'SCHEDULED + = TripUpdate'StopTimeUpdate'SKIPPED + succ TripUpdate'StopTimeUpdate'SKIPPED + = TripUpdate'StopTimeUpdate'NO_DATA + succ TripUpdate'StopTimeUpdate'NO_DATA + = TripUpdate'StopTimeUpdate'UNSCHEDULED + pred TripUpdate'StopTimeUpdate'SCHEDULED + = Prelude.error + "TripUpdate'StopTimeUpdate'ScheduleRelationship.pred: bad argument TripUpdate'StopTimeUpdate'SCHEDULED. This value would be out of bounds." + pred TripUpdate'StopTimeUpdate'SKIPPED + = TripUpdate'StopTimeUpdate'SCHEDULED + pred TripUpdate'StopTimeUpdate'NO_DATA + = TripUpdate'StopTimeUpdate'SKIPPED + pred TripUpdate'StopTimeUpdate'UNSCHEDULED + = TripUpdate'StopTimeUpdate'NO_DATA + enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom + enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo + enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen + enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo +instance Data.ProtoLens.FieldDefault TripUpdate'StopTimeUpdate'ScheduleRelationship where + fieldDefault = TripUpdate'StopTimeUpdate'SCHEDULED +instance Control.DeepSeq.NFData TripUpdate'StopTimeUpdate'ScheduleRelationship where + rnf x__ = Prelude.seq x__ () +{- | Fields : + + * 'Proto.GtfsRealtime_Fields.assignedStopId' @:: Lens' TripUpdate'StopTimeUpdate'StopTimeProperties Data.Text.Text@ + * 'Proto.GtfsRealtime_Fields.maybe'assignedStopId' @:: Lens' TripUpdate'StopTimeUpdate'StopTimeProperties (Prelude.Maybe Data.Text.Text)@ -} +data TripUpdate'StopTimeUpdate'StopTimeProperties + = TripUpdate'StopTimeUpdate'StopTimeProperties'_constructor {_TripUpdate'StopTimeUpdate'StopTimeProperties'assignedStopId :: !(Prelude.Maybe Data.Text.Text), + _TripUpdate'StopTimeUpdate'StopTimeProperties'_unknownFields :: !Data.ProtoLens.FieldSet} + deriving stock (Prelude.Eq, Prelude.Ord) +instance Prelude.Show TripUpdate'StopTimeUpdate'StopTimeProperties where + showsPrec _ __x __s + = Prelude.showChar + '{' + (Prelude.showString + (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s)) +instance Data.ProtoLens.Field.HasField TripUpdate'StopTimeUpdate'StopTimeProperties "assignedStopId" Data.Text.Text where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripUpdate'StopTimeUpdate'StopTimeProperties'assignedStopId + (\ x__ y__ + -> x__ + {_TripUpdate'StopTimeUpdate'StopTimeProperties'assignedStopId = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault) +instance Data.ProtoLens.Field.HasField TripUpdate'StopTimeUpdate'StopTimeProperties "maybe'assignedStopId" (Prelude.Maybe Data.Text.Text) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripUpdate'StopTimeUpdate'StopTimeProperties'assignedStopId + (\ x__ y__ + -> x__ + {_TripUpdate'StopTimeUpdate'StopTimeProperties'assignedStopId = y__})) + Prelude.id +instance Data.ProtoLens.Message TripUpdate'StopTimeUpdate'StopTimeProperties where + messageName _ + = Data.Text.pack + "transit_realtime.TripUpdate.StopTimeUpdate.StopTimeProperties" + packedMessageDescriptor _ + = "\n\ + \\DC2StopTimeProperties\DC2(\n\ + \\DLEassigned_stop_id\CAN\SOH \SOH(\tR\SOassignedStopId*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N" + packedFileDescriptor _ = packedFileDescriptor + fieldsByTag + = let + assignedStopId__field_descriptor + = Data.ProtoLens.FieldDescriptor + "assigned_stop_id" + (Data.ProtoLens.ScalarField Data.ProtoLens.StringField :: + Data.ProtoLens.FieldTypeDescriptor Data.Text.Text) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'assignedStopId")) :: + Data.ProtoLens.FieldDescriptor TripUpdate'StopTimeUpdate'StopTimeProperties + in + Data.Map.fromList + [(Data.ProtoLens.Tag 1, assignedStopId__field_descriptor)] + unknownFields + = Lens.Family2.Unchecked.lens + _TripUpdate'StopTimeUpdate'StopTimeProperties'_unknownFields + (\ x__ y__ + -> x__ + {_TripUpdate'StopTimeUpdate'StopTimeProperties'_unknownFields = y__}) + defMessage + = TripUpdate'StopTimeUpdate'StopTimeProperties'_constructor + {_TripUpdate'StopTimeUpdate'StopTimeProperties'assignedStopId = Prelude.Nothing, + _TripUpdate'StopTimeUpdate'StopTimeProperties'_unknownFields = []} + parseMessage + = let + loop :: + TripUpdate'StopTimeUpdate'StopTimeProperties + -> Data.ProtoLens.Encoding.Bytes.Parser TripUpdate'StopTimeUpdate'StopTimeProperties + loop x + = do end <- Data.ProtoLens.Encoding.Bytes.atEnd + if end then + do (let missing = [] + in + if Prelude.null missing then + Prelude.return () + else + Prelude.fail + ((Prelude.++) + "Missing required fields: " + (Prelude.show (missing :: [Prelude.String])))) + Prelude.return + (Lens.Family2.over + Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x) + else + do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt + case tag of + 10 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.getText + (Prelude.fromIntegral len)) + "assigned_stop_id" + loop + (Lens.Family2.set + (Data.ProtoLens.Field.field @"assignedStopId") y x) + wire + -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire + wire + loop + (Lens.Family2.over + Data.ProtoLens.unknownFields (\ !t -> (:) y t) x) + in + (Data.ProtoLens.Encoding.Bytes.) + (do loop Data.ProtoLens.defMessage) "StopTimeProperties" + buildMessage + = \ _x + -> (Data.Monoid.<>) + (case + Lens.Family2.view + (Data.ProtoLens.Field.field @"maybe'assignedStopId") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 10) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.Text.Encoding.encodeUtf8 _v)) + (Data.ProtoLens.Encoding.Wire.buildFieldSet + (Lens.Family2.view Data.ProtoLens.unknownFields _x)) +instance Control.DeepSeq.NFData TripUpdate'StopTimeUpdate'StopTimeProperties where + rnf + = \ x__ + -> Control.DeepSeq.deepseq + (_TripUpdate'StopTimeUpdate'StopTimeProperties'_unknownFields x__) + (Control.DeepSeq.deepseq + (_TripUpdate'StopTimeUpdate'StopTimeProperties'assignedStopId x__) + ()) +{- | Fields : + + * 'Proto.GtfsRealtime_Fields.tripId' @:: Lens' TripUpdate'TripProperties Data.Text.Text@ + * 'Proto.GtfsRealtime_Fields.maybe'tripId' @:: Lens' TripUpdate'TripProperties (Prelude.Maybe Data.Text.Text)@ + * 'Proto.GtfsRealtime_Fields.startDate' @:: Lens' TripUpdate'TripProperties Data.Text.Text@ + * 'Proto.GtfsRealtime_Fields.maybe'startDate' @:: Lens' TripUpdate'TripProperties (Prelude.Maybe Data.Text.Text)@ + * 'Proto.GtfsRealtime_Fields.startTime' @:: Lens' TripUpdate'TripProperties Data.Text.Text@ + * 'Proto.GtfsRealtime_Fields.maybe'startTime' @:: Lens' TripUpdate'TripProperties (Prelude.Maybe Data.Text.Text)@ + * 'Proto.GtfsRealtime_Fields.shapeId' @:: Lens' TripUpdate'TripProperties Data.Text.Text@ + * 'Proto.GtfsRealtime_Fields.maybe'shapeId' @:: Lens' TripUpdate'TripProperties (Prelude.Maybe Data.Text.Text)@ -} +data TripUpdate'TripProperties + = TripUpdate'TripProperties'_constructor {_TripUpdate'TripProperties'tripId :: !(Prelude.Maybe Data.Text.Text), + _TripUpdate'TripProperties'startDate :: !(Prelude.Maybe Data.Text.Text), + _TripUpdate'TripProperties'startTime :: !(Prelude.Maybe Data.Text.Text), + _TripUpdate'TripProperties'shapeId :: !(Prelude.Maybe Data.Text.Text), + _TripUpdate'TripProperties'_unknownFields :: !Data.ProtoLens.FieldSet} + deriving stock (Prelude.Eq, Prelude.Ord) +instance Prelude.Show TripUpdate'TripProperties where + showsPrec _ __x __s + = Prelude.showChar + '{' + (Prelude.showString + (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s)) +instance Data.ProtoLens.Field.HasField TripUpdate'TripProperties "tripId" Data.Text.Text where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripUpdate'TripProperties'tripId + (\ x__ y__ -> x__ {_TripUpdate'TripProperties'tripId = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault) +instance Data.ProtoLens.Field.HasField TripUpdate'TripProperties "maybe'tripId" (Prelude.Maybe Data.Text.Text) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripUpdate'TripProperties'tripId + (\ x__ y__ -> x__ {_TripUpdate'TripProperties'tripId = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField TripUpdate'TripProperties "startDate" Data.Text.Text where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripUpdate'TripProperties'startDate + (\ x__ y__ -> x__ {_TripUpdate'TripProperties'startDate = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault) +instance Data.ProtoLens.Field.HasField TripUpdate'TripProperties "maybe'startDate" (Prelude.Maybe Data.Text.Text) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripUpdate'TripProperties'startDate + (\ x__ y__ -> x__ {_TripUpdate'TripProperties'startDate = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField TripUpdate'TripProperties "startTime" Data.Text.Text where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripUpdate'TripProperties'startTime + (\ x__ y__ -> x__ {_TripUpdate'TripProperties'startTime = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault) +instance Data.ProtoLens.Field.HasField TripUpdate'TripProperties "maybe'startTime" (Prelude.Maybe Data.Text.Text) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripUpdate'TripProperties'startTime + (\ x__ y__ -> x__ {_TripUpdate'TripProperties'startTime = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField TripUpdate'TripProperties "shapeId" Data.Text.Text where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripUpdate'TripProperties'shapeId + (\ x__ y__ -> x__ {_TripUpdate'TripProperties'shapeId = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault) +instance Data.ProtoLens.Field.HasField TripUpdate'TripProperties "maybe'shapeId" (Prelude.Maybe Data.Text.Text) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _TripUpdate'TripProperties'shapeId + (\ x__ y__ -> x__ {_TripUpdate'TripProperties'shapeId = y__})) + Prelude.id +instance Data.ProtoLens.Message TripUpdate'TripProperties where + messageName _ + = Data.Text.pack "transit_realtime.TripUpdate.TripProperties" + packedMessageDescriptor _ + = "\n\ + \\SOTripProperties\DC2\ETB\n\ + \\atrip_id\CAN\SOH \SOH(\tR\ACKtripId\DC2\GS\n\ + \\n\ + \start_date\CAN\STX \SOH(\tR\tstartDate\DC2\GS\n\ + \\n\ + \start_time\CAN\ETX \SOH(\tR\tstartTime\DC2\EM\n\ + \\bshape_id\CAN\EOT \SOH(\tR\ashapeId*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N" + packedFileDescriptor _ = packedFileDescriptor + fieldsByTag + = let + tripId__field_descriptor + = Data.ProtoLens.FieldDescriptor + "trip_id" + (Data.ProtoLens.ScalarField Data.ProtoLens.StringField :: + Data.ProtoLens.FieldTypeDescriptor Data.Text.Text) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'tripId")) :: + Data.ProtoLens.FieldDescriptor TripUpdate'TripProperties + startDate__field_descriptor + = Data.ProtoLens.FieldDescriptor + "start_date" + (Data.ProtoLens.ScalarField Data.ProtoLens.StringField :: + Data.ProtoLens.FieldTypeDescriptor Data.Text.Text) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'startDate")) :: + Data.ProtoLens.FieldDescriptor TripUpdate'TripProperties + startTime__field_descriptor + = Data.ProtoLens.FieldDescriptor + "start_time" + (Data.ProtoLens.ScalarField Data.ProtoLens.StringField :: + Data.ProtoLens.FieldTypeDescriptor Data.Text.Text) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'startTime")) :: + Data.ProtoLens.FieldDescriptor TripUpdate'TripProperties + shapeId__field_descriptor + = Data.ProtoLens.FieldDescriptor + "shape_id" + (Data.ProtoLens.ScalarField Data.ProtoLens.StringField :: + Data.ProtoLens.FieldTypeDescriptor Data.Text.Text) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'shapeId")) :: + Data.ProtoLens.FieldDescriptor TripUpdate'TripProperties + in + Data.Map.fromList + [(Data.ProtoLens.Tag 1, tripId__field_descriptor), + (Data.ProtoLens.Tag 2, startDate__field_descriptor), + (Data.ProtoLens.Tag 3, startTime__field_descriptor), + (Data.ProtoLens.Tag 4, shapeId__field_descriptor)] + unknownFields + = Lens.Family2.Unchecked.lens + _TripUpdate'TripProperties'_unknownFields + (\ x__ y__ + -> x__ {_TripUpdate'TripProperties'_unknownFields = y__}) + defMessage + = TripUpdate'TripProperties'_constructor + {_TripUpdate'TripProperties'tripId = Prelude.Nothing, + _TripUpdate'TripProperties'startDate = Prelude.Nothing, + _TripUpdate'TripProperties'startTime = Prelude.Nothing, + _TripUpdate'TripProperties'shapeId = Prelude.Nothing, + _TripUpdate'TripProperties'_unknownFields = []} + parseMessage + = let + loop :: + TripUpdate'TripProperties + -> Data.ProtoLens.Encoding.Bytes.Parser TripUpdate'TripProperties + loop x + = do end <- Data.ProtoLens.Encoding.Bytes.atEnd + if end then + do (let missing = [] + in + if Prelude.null missing then + Prelude.return () + else + Prelude.fail + ((Prelude.++) + "Missing required fields: " + (Prelude.show (missing :: [Prelude.String])))) + Prelude.return + (Lens.Family2.over + Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x) + else + do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt + case tag of + 10 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.getText + (Prelude.fromIntegral len)) + "trip_id" + loop (Lens.Family2.set (Data.ProtoLens.Field.field @"tripId") y x) + 18 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.getText + (Prelude.fromIntegral len)) + "start_date" + loop + (Lens.Family2.set (Data.ProtoLens.Field.field @"startDate") y x) + 26 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.getText + (Prelude.fromIntegral len)) + "start_time" + loop + (Lens.Family2.set (Data.ProtoLens.Field.field @"startTime") y x) + 34 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.getText + (Prelude.fromIntegral len)) + "shape_id" + loop (Lens.Family2.set (Data.ProtoLens.Field.field @"shapeId") y x) + wire + -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire + wire + loop + (Lens.Family2.over + Data.ProtoLens.unknownFields (\ !t -> (:) y t) x) + in + (Data.ProtoLens.Encoding.Bytes.) + (do loop Data.ProtoLens.defMessage) "TripProperties" + buildMessage + = \ _x + -> (Data.Monoid.<>) + (case + Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'tripId") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 10) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.Text.Encoding.encodeUtf8 _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view + (Data.ProtoLens.Field.field @"maybe'startDate") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 18) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.Text.Encoding.encodeUtf8 _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view + (Data.ProtoLens.Field.field @"maybe'startTime") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 26) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.Text.Encoding.encodeUtf8 _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'shapeId") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 34) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.Text.Encoding.encodeUtf8 _v)) + (Data.ProtoLens.Encoding.Wire.buildFieldSet + (Lens.Family2.view Data.ProtoLens.unknownFields _x))))) +instance Control.DeepSeq.NFData TripUpdate'TripProperties where + rnf + = \ x__ + -> Control.DeepSeq.deepseq + (_TripUpdate'TripProperties'_unknownFields x__) + (Control.DeepSeq.deepseq + (_TripUpdate'TripProperties'tripId x__) + (Control.DeepSeq.deepseq + (_TripUpdate'TripProperties'startDate x__) + (Control.DeepSeq.deepseq + (_TripUpdate'TripProperties'startTime x__) + (Control.DeepSeq.deepseq + (_TripUpdate'TripProperties'shapeId x__) ())))) +{- | Fields : + + * 'Proto.GtfsRealtime_Fields.id' @:: Lens' VehicleDescriptor Data.Text.Text@ + * 'Proto.GtfsRealtime_Fields.maybe'id' @:: Lens' VehicleDescriptor (Prelude.Maybe Data.Text.Text)@ + * 'Proto.GtfsRealtime_Fields.label' @:: Lens' VehicleDescriptor Data.Text.Text@ + * 'Proto.GtfsRealtime_Fields.maybe'label' @:: Lens' VehicleDescriptor (Prelude.Maybe Data.Text.Text)@ + * 'Proto.GtfsRealtime_Fields.licensePlate' @:: Lens' VehicleDescriptor Data.Text.Text@ + * 'Proto.GtfsRealtime_Fields.maybe'licensePlate' @:: Lens' VehicleDescriptor (Prelude.Maybe Data.Text.Text)@ -} +data VehicleDescriptor + = VehicleDescriptor'_constructor {_VehicleDescriptor'id :: !(Prelude.Maybe Data.Text.Text), + _VehicleDescriptor'label :: !(Prelude.Maybe Data.Text.Text), + _VehicleDescriptor'licensePlate :: !(Prelude.Maybe Data.Text.Text), + _VehicleDescriptor'_unknownFields :: !Data.ProtoLens.FieldSet} + deriving stock (Prelude.Eq, Prelude.Ord) +instance Prelude.Show VehicleDescriptor where + showsPrec _ __x __s + = Prelude.showChar + '{' + (Prelude.showString + (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s)) +instance Data.ProtoLens.Field.HasField VehicleDescriptor "id" Data.Text.Text where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _VehicleDescriptor'id + (\ x__ y__ -> x__ {_VehicleDescriptor'id = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault) +instance Data.ProtoLens.Field.HasField VehicleDescriptor "maybe'id" (Prelude.Maybe Data.Text.Text) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _VehicleDescriptor'id + (\ x__ y__ -> x__ {_VehicleDescriptor'id = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField VehicleDescriptor "label" Data.Text.Text where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _VehicleDescriptor'label + (\ x__ y__ -> x__ {_VehicleDescriptor'label = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault) +instance Data.ProtoLens.Field.HasField VehicleDescriptor "maybe'label" (Prelude.Maybe Data.Text.Text) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _VehicleDescriptor'label + (\ x__ y__ -> x__ {_VehicleDescriptor'label = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField VehicleDescriptor "licensePlate" Data.Text.Text where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _VehicleDescriptor'licensePlate + (\ x__ y__ -> x__ {_VehicleDescriptor'licensePlate = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault) +instance Data.ProtoLens.Field.HasField VehicleDescriptor "maybe'licensePlate" (Prelude.Maybe Data.Text.Text) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _VehicleDescriptor'licensePlate + (\ x__ y__ -> x__ {_VehicleDescriptor'licensePlate = y__})) + Prelude.id +instance Data.ProtoLens.Message VehicleDescriptor where + messageName _ = Data.Text.pack "transit_realtime.VehicleDescriptor" + packedMessageDescriptor _ + = "\n\ + \\DC1VehicleDescriptor\DC2\SO\n\ + \\STXid\CAN\SOH \SOH(\tR\STXid\DC2\DC4\n\ + \\ENQlabel\CAN\STX \SOH(\tR\ENQlabel\DC2#\n\ + \\rlicense_plate\CAN\ETX \SOH(\tR\flicensePlate*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N" + packedFileDescriptor _ = packedFileDescriptor + fieldsByTag + = let + id__field_descriptor + = Data.ProtoLens.FieldDescriptor + "id" + (Data.ProtoLens.ScalarField Data.ProtoLens.StringField :: + Data.ProtoLens.FieldTypeDescriptor Data.Text.Text) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'id")) :: + Data.ProtoLens.FieldDescriptor VehicleDescriptor + label__field_descriptor + = Data.ProtoLens.FieldDescriptor + "label" + (Data.ProtoLens.ScalarField Data.ProtoLens.StringField :: + Data.ProtoLens.FieldTypeDescriptor Data.Text.Text) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'label")) :: + Data.ProtoLens.FieldDescriptor VehicleDescriptor + licensePlate__field_descriptor + = Data.ProtoLens.FieldDescriptor + "license_plate" + (Data.ProtoLens.ScalarField Data.ProtoLens.StringField :: + Data.ProtoLens.FieldTypeDescriptor Data.Text.Text) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'licensePlate")) :: + Data.ProtoLens.FieldDescriptor VehicleDescriptor + in + Data.Map.fromList + [(Data.ProtoLens.Tag 1, id__field_descriptor), + (Data.ProtoLens.Tag 2, label__field_descriptor), + (Data.ProtoLens.Tag 3, licensePlate__field_descriptor)] + unknownFields + = Lens.Family2.Unchecked.lens + _VehicleDescriptor'_unknownFields + (\ x__ y__ -> x__ {_VehicleDescriptor'_unknownFields = y__}) + defMessage + = VehicleDescriptor'_constructor + {_VehicleDescriptor'id = Prelude.Nothing, + _VehicleDescriptor'label = Prelude.Nothing, + _VehicleDescriptor'licensePlate = Prelude.Nothing, + _VehicleDescriptor'_unknownFields = []} + parseMessage + = let + loop :: + VehicleDescriptor + -> Data.ProtoLens.Encoding.Bytes.Parser VehicleDescriptor + loop x + = do end <- Data.ProtoLens.Encoding.Bytes.atEnd + if end then + do (let missing = [] + in + if Prelude.null missing then + Prelude.return () + else + Prelude.fail + ((Prelude.++) + "Missing required fields: " + (Prelude.show (missing :: [Prelude.String])))) + Prelude.return + (Lens.Family2.over + Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x) + else + do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt + case tag of + 10 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.getText + (Prelude.fromIntegral len)) + "id" + loop (Lens.Family2.set (Data.ProtoLens.Field.field @"id") y x) + 18 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.getText + (Prelude.fromIntegral len)) + "label" + loop (Lens.Family2.set (Data.ProtoLens.Field.field @"label") y x) + 26 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.getText + (Prelude.fromIntegral len)) + "license_plate" + loop + (Lens.Family2.set + (Data.ProtoLens.Field.field @"licensePlate") y x) + wire + -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire + wire + loop + (Lens.Family2.over + Data.ProtoLens.unknownFields (\ !t -> (:) y t) x) + in + (Data.ProtoLens.Encoding.Bytes.) + (do loop Data.ProtoLens.defMessage) "VehicleDescriptor" + buildMessage + = \ _x + -> (Data.Monoid.<>) + (case + Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'id") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 10) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.Text.Encoding.encodeUtf8 _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'label") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 18) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.Text.Encoding.encodeUtf8 _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view + (Data.ProtoLens.Field.field @"maybe'licensePlate") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 26) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.Text.Encoding.encodeUtf8 _v)) + (Data.ProtoLens.Encoding.Wire.buildFieldSet + (Lens.Family2.view Data.ProtoLens.unknownFields _x)))) +instance Control.DeepSeq.NFData VehicleDescriptor where + rnf + = \ x__ + -> Control.DeepSeq.deepseq + (_VehicleDescriptor'_unknownFields x__) + (Control.DeepSeq.deepseq + (_VehicleDescriptor'id x__) + (Control.DeepSeq.deepseq + (_VehicleDescriptor'label x__) + (Control.DeepSeq.deepseq + (_VehicleDescriptor'licensePlate x__) ()))) +{- | Fields : + + * 'Proto.GtfsRealtime_Fields.trip' @:: Lens' VehiclePosition TripDescriptor@ + * 'Proto.GtfsRealtime_Fields.maybe'trip' @:: Lens' VehiclePosition (Prelude.Maybe TripDescriptor)@ + * 'Proto.GtfsRealtime_Fields.vehicle' @:: Lens' VehiclePosition VehicleDescriptor@ + * 'Proto.GtfsRealtime_Fields.maybe'vehicle' @:: Lens' VehiclePosition (Prelude.Maybe VehicleDescriptor)@ + * 'Proto.GtfsRealtime_Fields.position' @:: Lens' VehiclePosition Position@ + * 'Proto.GtfsRealtime_Fields.maybe'position' @:: Lens' VehiclePosition (Prelude.Maybe Position)@ + * 'Proto.GtfsRealtime_Fields.currentStopSequence' @:: Lens' VehiclePosition Data.Word.Word32@ + * 'Proto.GtfsRealtime_Fields.maybe'currentStopSequence' @:: Lens' VehiclePosition (Prelude.Maybe Data.Word.Word32)@ + * 'Proto.GtfsRealtime_Fields.stopId' @:: Lens' VehiclePosition Data.Text.Text@ + * 'Proto.GtfsRealtime_Fields.maybe'stopId' @:: Lens' VehiclePosition (Prelude.Maybe Data.Text.Text)@ + * 'Proto.GtfsRealtime_Fields.currentStatus' @:: Lens' VehiclePosition VehiclePosition'VehicleStopStatus@ + * 'Proto.GtfsRealtime_Fields.maybe'currentStatus' @:: Lens' VehiclePosition (Prelude.Maybe VehiclePosition'VehicleStopStatus)@ + * 'Proto.GtfsRealtime_Fields.timestamp' @:: Lens' VehiclePosition Data.Word.Word64@ + * 'Proto.GtfsRealtime_Fields.maybe'timestamp' @:: Lens' VehiclePosition (Prelude.Maybe Data.Word.Word64)@ + * 'Proto.GtfsRealtime_Fields.congestionLevel' @:: Lens' VehiclePosition VehiclePosition'CongestionLevel@ + * 'Proto.GtfsRealtime_Fields.maybe'congestionLevel' @:: Lens' VehiclePosition (Prelude.Maybe VehiclePosition'CongestionLevel)@ + * 'Proto.GtfsRealtime_Fields.occupancyStatus' @:: Lens' VehiclePosition VehiclePosition'OccupancyStatus@ + * 'Proto.GtfsRealtime_Fields.maybe'occupancyStatus' @:: Lens' VehiclePosition (Prelude.Maybe VehiclePosition'OccupancyStatus)@ + * 'Proto.GtfsRealtime_Fields.occupancyPercentage' @:: Lens' VehiclePosition Data.Word.Word32@ + * 'Proto.GtfsRealtime_Fields.maybe'occupancyPercentage' @:: Lens' VehiclePosition (Prelude.Maybe Data.Word.Word32)@ + * 'Proto.GtfsRealtime_Fields.multiCarriageDetails' @:: Lens' VehiclePosition [VehiclePosition'CarriageDetails]@ + * 'Proto.GtfsRealtime_Fields.vec'multiCarriageDetails' @:: Lens' VehiclePosition (Data.Vector.Vector VehiclePosition'CarriageDetails)@ -} +data VehiclePosition + = VehiclePosition'_constructor {_VehiclePosition'trip :: !(Prelude.Maybe TripDescriptor), + _VehiclePosition'vehicle :: !(Prelude.Maybe VehicleDescriptor), + _VehiclePosition'position :: !(Prelude.Maybe Position), + _VehiclePosition'currentStopSequence :: !(Prelude.Maybe Data.Word.Word32), + _VehiclePosition'stopId :: !(Prelude.Maybe Data.Text.Text), + _VehiclePosition'currentStatus :: !(Prelude.Maybe VehiclePosition'VehicleStopStatus), + _VehiclePosition'timestamp :: !(Prelude.Maybe Data.Word.Word64), + _VehiclePosition'congestionLevel :: !(Prelude.Maybe VehiclePosition'CongestionLevel), + _VehiclePosition'occupancyStatus :: !(Prelude.Maybe VehiclePosition'OccupancyStatus), + _VehiclePosition'occupancyPercentage :: !(Prelude.Maybe Data.Word.Word32), + _VehiclePosition'multiCarriageDetails :: !(Data.Vector.Vector VehiclePosition'CarriageDetails), + _VehiclePosition'_unknownFields :: !Data.ProtoLens.FieldSet} + deriving stock (Prelude.Eq, Prelude.Ord) +instance Prelude.Show VehiclePosition where + showsPrec _ __x __s + = Prelude.showChar + '{' + (Prelude.showString + (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s)) +instance Data.ProtoLens.Field.HasField VehiclePosition "trip" TripDescriptor where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _VehiclePosition'trip + (\ x__ y__ -> x__ {_VehiclePosition'trip = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage) +instance Data.ProtoLens.Field.HasField VehiclePosition "maybe'trip" (Prelude.Maybe TripDescriptor) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _VehiclePosition'trip + (\ x__ y__ -> x__ {_VehiclePosition'trip = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField VehiclePosition "vehicle" VehicleDescriptor where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _VehiclePosition'vehicle + (\ x__ y__ -> x__ {_VehiclePosition'vehicle = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage) +instance Data.ProtoLens.Field.HasField VehiclePosition "maybe'vehicle" (Prelude.Maybe VehicleDescriptor) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _VehiclePosition'vehicle + (\ x__ y__ -> x__ {_VehiclePosition'vehicle = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField VehiclePosition "position" Position where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _VehiclePosition'position + (\ x__ y__ -> x__ {_VehiclePosition'position = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage) +instance Data.ProtoLens.Field.HasField VehiclePosition "maybe'position" (Prelude.Maybe Position) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _VehiclePosition'position + (\ x__ y__ -> x__ {_VehiclePosition'position = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField VehiclePosition "currentStopSequence" Data.Word.Word32 where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _VehiclePosition'currentStopSequence + (\ x__ y__ -> x__ {_VehiclePosition'currentStopSequence = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault) +instance Data.ProtoLens.Field.HasField VehiclePosition "maybe'currentStopSequence" (Prelude.Maybe Data.Word.Word32) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _VehiclePosition'currentStopSequence + (\ x__ y__ -> x__ {_VehiclePosition'currentStopSequence = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField VehiclePosition "stopId" Data.Text.Text where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _VehiclePosition'stopId + (\ x__ y__ -> x__ {_VehiclePosition'stopId = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault) +instance Data.ProtoLens.Field.HasField VehiclePosition "maybe'stopId" (Prelude.Maybe Data.Text.Text) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _VehiclePosition'stopId + (\ x__ y__ -> x__ {_VehiclePosition'stopId = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField VehiclePosition "currentStatus" VehiclePosition'VehicleStopStatus where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _VehiclePosition'currentStatus + (\ x__ y__ -> x__ {_VehiclePosition'currentStatus = y__})) + (Data.ProtoLens.maybeLens VehiclePosition'IN_TRANSIT_TO) +instance Data.ProtoLens.Field.HasField VehiclePosition "maybe'currentStatus" (Prelude.Maybe VehiclePosition'VehicleStopStatus) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _VehiclePosition'currentStatus + (\ x__ y__ -> x__ {_VehiclePosition'currentStatus = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField VehiclePosition "timestamp" Data.Word.Word64 where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _VehiclePosition'timestamp + (\ x__ y__ -> x__ {_VehiclePosition'timestamp = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault) +instance Data.ProtoLens.Field.HasField VehiclePosition "maybe'timestamp" (Prelude.Maybe Data.Word.Word64) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _VehiclePosition'timestamp + (\ x__ y__ -> x__ {_VehiclePosition'timestamp = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField VehiclePosition "congestionLevel" VehiclePosition'CongestionLevel where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _VehiclePosition'congestionLevel + (\ x__ y__ -> x__ {_VehiclePosition'congestionLevel = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault) +instance Data.ProtoLens.Field.HasField VehiclePosition "maybe'congestionLevel" (Prelude.Maybe VehiclePosition'CongestionLevel) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _VehiclePosition'congestionLevel + (\ x__ y__ -> x__ {_VehiclePosition'congestionLevel = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField VehiclePosition "occupancyStatus" VehiclePosition'OccupancyStatus where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _VehiclePosition'occupancyStatus + (\ x__ y__ -> x__ {_VehiclePosition'occupancyStatus = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault) +instance Data.ProtoLens.Field.HasField VehiclePosition "maybe'occupancyStatus" (Prelude.Maybe VehiclePosition'OccupancyStatus) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _VehiclePosition'occupancyStatus + (\ x__ y__ -> x__ {_VehiclePosition'occupancyStatus = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField VehiclePosition "occupancyPercentage" Data.Word.Word32 where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _VehiclePosition'occupancyPercentage + (\ x__ y__ -> x__ {_VehiclePosition'occupancyPercentage = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault) +instance Data.ProtoLens.Field.HasField VehiclePosition "maybe'occupancyPercentage" (Prelude.Maybe Data.Word.Word32) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _VehiclePosition'occupancyPercentage + (\ x__ y__ -> x__ {_VehiclePosition'occupancyPercentage = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField VehiclePosition "multiCarriageDetails" [VehiclePosition'CarriageDetails] where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _VehiclePosition'multiCarriageDetails + (\ x__ y__ -> x__ {_VehiclePosition'multiCarriageDetails = y__})) + (Lens.Family2.Unchecked.lens + Data.Vector.Generic.toList + (\ _ y__ -> Data.Vector.Generic.fromList y__)) +instance Data.ProtoLens.Field.HasField VehiclePosition "vec'multiCarriageDetails" (Data.Vector.Vector VehiclePosition'CarriageDetails) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _VehiclePosition'multiCarriageDetails + (\ x__ y__ -> x__ {_VehiclePosition'multiCarriageDetails = y__})) + Prelude.id +instance Data.ProtoLens.Message VehiclePosition where + messageName _ = Data.Text.pack "transit_realtime.VehiclePosition" + packedMessageDescriptor _ + = "\n\ + \\SIVehiclePosition\DC24\n\ + \\EOTtrip\CAN\SOH \SOH(\v2 .transit_realtime.TripDescriptorR\EOTtrip\DC2=\n\ + \\avehicle\CAN\b \SOH(\v2#.transit_realtime.VehicleDescriptorR\avehicle\DC26\n\ + \\bposition\CAN\STX \SOH(\v2\SUB.transit_realtime.PositionR\bposition\DC22\n\ + \\NAKcurrent_stop_sequence\CAN\ETX \SOH(\rR\DC3currentStopSequence\DC2\ETB\n\ + \\astop_id\CAN\a \SOH(\tR\ACKstopId\DC2i\n\ + \\SOcurrent_status\CAN\EOT \SOH(\SO23.transit_realtime.VehiclePosition.VehicleStopStatus:\rIN_TRANSIT_TOR\rcurrentStatus\DC2\FS\n\ + \\ttimestamp\CAN\ENQ \SOH(\EOTR\ttimestamp\DC2\\\n\ + \\DLEcongestion_level\CAN\ACK \SOH(\SO21.transit_realtime.VehiclePosition.CongestionLevelR\SIcongestionLevel\DC2\\\n\ + \\DLEoccupancy_status\CAN\t \SOH(\SO21.transit_realtime.VehiclePosition.OccupancyStatusR\SIoccupancyStatus\DC21\n\ + \\DC4occupancy_percentage\CAN\n\ + \ \SOH(\rR\DC3occupancyPercentage\DC2g\n\ + \\SYNmulti_carriage_details\CAN\v \ETX(\v21.transit_realtime.VehiclePosition.CarriageDetailsR\DC4multiCarriageDetails\SUB\156\STX\n\ + \\SICarriageDetails\DC2\SO\n\ + \\STXid\CAN\SOH \SOH(\tR\STXid\DC2\DC4\n\ + \\ENQlabel\CAN\STX \SOH(\tR\ENQlabel\DC2o\n\ + \\DLEoccupancy_status\CAN\ETX \SOH(\SO21.transit_realtime.VehiclePosition.OccupancyStatus:\DC1NO_DATA_AVAILABLER\SIoccupancyStatus\DC25\n\ + \\DC4occupancy_percentage\CAN\EOT \SOH(\ENQ:\STX-1R\DC3occupancyPercentage\DC2+\n\ + \\DC1carriage_sequence\CAN\ENQ \SOH(\rR\DLEcarriageSequence*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"G\n\ + \\DC1VehicleStopStatus\DC2\SI\n\ + \\vINCOMING_AT\DLE\NUL\DC2\SO\n\ + \\n\ + \STOPPED_AT\DLE\SOH\DC2\DC1\n\ + \\rIN_TRANSIT_TO\DLE\STX\"}\n\ + \\SICongestionLevel\DC2\FS\n\ + \\CANUNKNOWN_CONGESTION_LEVEL\DLE\NUL\DC2\DC4\n\ + \\DLERUNNING_SMOOTHLY\DLE\SOH\DC2\SI\n\ + \\vSTOP_AND_GO\DLE\STX\DC2\SO\n\ + \\n\ + \CONGESTION\DLE\ETX\DC2\NAK\n\ + \\DC1SEVERE_CONGESTION\DLE\EOT\"\217\SOH\n\ + \\SIOccupancyStatus\DC2\t\n\ + \\ENQEMPTY\DLE\NUL\DC2\CAN\n\ + \\DC4MANY_SEATS_AVAILABLE\DLE\SOH\DC2\ETB\n\ + \\DC3FEW_SEATS_AVAILABLE\DLE\STX\DC2\SYN\n\ + \\DC2STANDING_ROOM_ONLY\DLE\ETX\DC2\RS\n\ + \\SUBCRUSHED_STANDING_ROOM_ONLY\DLE\EOT\DC2\b\n\ + \\EOTFULL\DLE\ENQ\DC2\FS\n\ + \\CANNOT_ACCEPTING_PASSENGERS\DLE\ACK\DC2\NAK\n\ + \\DC1NO_DATA_AVAILABLE\DLE\a\DC2\DC1\n\ + \\rNOT_BOARDABLE\DLE\b*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N" + packedFileDescriptor _ = packedFileDescriptor + fieldsByTag + = let + trip__field_descriptor + = Data.ProtoLens.FieldDescriptor + "trip" + (Data.ProtoLens.MessageField Data.ProtoLens.MessageType :: + Data.ProtoLens.FieldTypeDescriptor TripDescriptor) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'trip")) :: + Data.ProtoLens.FieldDescriptor VehiclePosition + vehicle__field_descriptor + = Data.ProtoLens.FieldDescriptor + "vehicle" + (Data.ProtoLens.MessageField Data.ProtoLens.MessageType :: + Data.ProtoLens.FieldTypeDescriptor VehicleDescriptor) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'vehicle")) :: + Data.ProtoLens.FieldDescriptor VehiclePosition + position__field_descriptor + = Data.ProtoLens.FieldDescriptor + "position" + (Data.ProtoLens.MessageField Data.ProtoLens.MessageType :: + Data.ProtoLens.FieldTypeDescriptor Position) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'position")) :: + Data.ProtoLens.FieldDescriptor VehiclePosition + currentStopSequence__field_descriptor + = Data.ProtoLens.FieldDescriptor + "current_stop_sequence" + (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field :: + Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'currentStopSequence")) :: + Data.ProtoLens.FieldDescriptor VehiclePosition + stopId__field_descriptor + = Data.ProtoLens.FieldDescriptor + "stop_id" + (Data.ProtoLens.ScalarField Data.ProtoLens.StringField :: + Data.ProtoLens.FieldTypeDescriptor Data.Text.Text) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'stopId")) :: + Data.ProtoLens.FieldDescriptor VehiclePosition + currentStatus__field_descriptor + = Data.ProtoLens.FieldDescriptor + "current_status" + (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField :: + Data.ProtoLens.FieldTypeDescriptor VehiclePosition'VehicleStopStatus) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'currentStatus")) :: + Data.ProtoLens.FieldDescriptor VehiclePosition + timestamp__field_descriptor + = Data.ProtoLens.FieldDescriptor + "timestamp" + (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field :: + Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'timestamp")) :: + Data.ProtoLens.FieldDescriptor VehiclePosition + congestionLevel__field_descriptor + = Data.ProtoLens.FieldDescriptor + "congestion_level" + (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField :: + Data.ProtoLens.FieldTypeDescriptor VehiclePosition'CongestionLevel) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'congestionLevel")) :: + Data.ProtoLens.FieldDescriptor VehiclePosition + occupancyStatus__field_descriptor + = Data.ProtoLens.FieldDescriptor + "occupancy_status" + (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField :: + Data.ProtoLens.FieldTypeDescriptor VehiclePosition'OccupancyStatus) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'occupancyStatus")) :: + Data.ProtoLens.FieldDescriptor VehiclePosition + occupancyPercentage__field_descriptor + = Data.ProtoLens.FieldDescriptor + "occupancy_percentage" + (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field :: + Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'occupancyPercentage")) :: + Data.ProtoLens.FieldDescriptor VehiclePosition + multiCarriageDetails__field_descriptor + = Data.ProtoLens.FieldDescriptor + "multi_carriage_details" + (Data.ProtoLens.MessageField Data.ProtoLens.MessageType :: + Data.ProtoLens.FieldTypeDescriptor VehiclePosition'CarriageDetails) + (Data.ProtoLens.RepeatedField + Data.ProtoLens.Unpacked + (Data.ProtoLens.Field.field @"multiCarriageDetails")) :: + Data.ProtoLens.FieldDescriptor VehiclePosition + in + Data.Map.fromList + [(Data.ProtoLens.Tag 1, trip__field_descriptor), + (Data.ProtoLens.Tag 8, vehicle__field_descriptor), + (Data.ProtoLens.Tag 2, position__field_descriptor), + (Data.ProtoLens.Tag 3, currentStopSequence__field_descriptor), + (Data.ProtoLens.Tag 7, stopId__field_descriptor), + (Data.ProtoLens.Tag 4, currentStatus__field_descriptor), + (Data.ProtoLens.Tag 5, timestamp__field_descriptor), + (Data.ProtoLens.Tag 6, congestionLevel__field_descriptor), + (Data.ProtoLens.Tag 9, occupancyStatus__field_descriptor), + (Data.ProtoLens.Tag 10, occupancyPercentage__field_descriptor), + (Data.ProtoLens.Tag 11, multiCarriageDetails__field_descriptor)] + unknownFields + = Lens.Family2.Unchecked.lens + _VehiclePosition'_unknownFields + (\ x__ y__ -> x__ {_VehiclePosition'_unknownFields = y__}) + defMessage + = VehiclePosition'_constructor + {_VehiclePosition'trip = Prelude.Nothing, + _VehiclePosition'vehicle = Prelude.Nothing, + _VehiclePosition'position = Prelude.Nothing, + _VehiclePosition'currentStopSequence = Prelude.Nothing, + _VehiclePosition'stopId = Prelude.Nothing, + _VehiclePosition'currentStatus = Prelude.Nothing, + _VehiclePosition'timestamp = Prelude.Nothing, + _VehiclePosition'congestionLevel = Prelude.Nothing, + _VehiclePosition'occupancyStatus = Prelude.Nothing, + _VehiclePosition'occupancyPercentage = Prelude.Nothing, + _VehiclePosition'multiCarriageDetails = Data.Vector.Generic.empty, + _VehiclePosition'_unknownFields = []} + parseMessage + = let + loop :: + VehiclePosition + -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld VehiclePosition'CarriageDetails + -> Data.ProtoLens.Encoding.Bytes.Parser VehiclePosition + loop x mutable'multiCarriageDetails + = do end <- Data.ProtoLens.Encoding.Bytes.atEnd + if end then + do frozen'multiCarriageDetails <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO + (Data.ProtoLens.Encoding.Growing.unsafeFreeze + mutable'multiCarriageDetails) + (let missing = [] + in + if Prelude.null missing then + Prelude.return () + else + Prelude.fail + ((Prelude.++) + "Missing required fields: " + (Prelude.show (missing :: [Prelude.String])))) + Prelude.return + (Lens.Family2.over + Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) + (Lens.Family2.set + (Data.ProtoLens.Field.field @"vec'multiCarriageDetails") + frozen'multiCarriageDetails x)) + else + do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt + case tag of + 10 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.isolate + (Prelude.fromIntegral len) Data.ProtoLens.parseMessage) + "trip" + loop + (Lens.Family2.set (Data.ProtoLens.Field.field @"trip") y x) + mutable'multiCarriageDetails + 66 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.isolate + (Prelude.fromIntegral len) Data.ProtoLens.parseMessage) + "vehicle" + loop + (Lens.Family2.set (Data.ProtoLens.Field.field @"vehicle") y x) + mutable'multiCarriageDetails + 18 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.isolate + (Prelude.fromIntegral len) Data.ProtoLens.parseMessage) + "position" + loop + (Lens.Family2.set (Data.ProtoLens.Field.field @"position") y x) + mutable'multiCarriageDetails + 24 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (Prelude.fmap + Prelude.fromIntegral + Data.ProtoLens.Encoding.Bytes.getVarInt) + "current_stop_sequence" + loop + (Lens.Family2.set + (Data.ProtoLens.Field.field @"currentStopSequence") y x) + mutable'multiCarriageDetails + 58 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.getText + (Prelude.fromIntegral len)) + "stop_id" + loop + (Lens.Family2.set (Data.ProtoLens.Field.field @"stopId") y x) + mutable'multiCarriageDetails + 32 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (Prelude.fmap + Prelude.toEnum + (Prelude.fmap + Prelude.fromIntegral + Data.ProtoLens.Encoding.Bytes.getVarInt)) + "current_status" + loop + (Lens.Family2.set + (Data.ProtoLens.Field.field @"currentStatus") y x) + mutable'multiCarriageDetails + 40 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + Data.ProtoLens.Encoding.Bytes.getVarInt "timestamp" + loop + (Lens.Family2.set (Data.ProtoLens.Field.field @"timestamp") y x) + mutable'multiCarriageDetails + 48 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (Prelude.fmap + Prelude.toEnum + (Prelude.fmap + Prelude.fromIntegral + Data.ProtoLens.Encoding.Bytes.getVarInt)) + "congestion_level" + loop + (Lens.Family2.set + (Data.ProtoLens.Field.field @"congestionLevel") y x) + mutable'multiCarriageDetails + 72 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (Prelude.fmap + Prelude.toEnum + (Prelude.fmap + Prelude.fromIntegral + Data.ProtoLens.Encoding.Bytes.getVarInt)) + "occupancy_status" + loop + (Lens.Family2.set + (Data.ProtoLens.Field.field @"occupancyStatus") y x) + mutable'multiCarriageDetails + 80 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (Prelude.fmap + Prelude.fromIntegral + Data.ProtoLens.Encoding.Bytes.getVarInt) + "occupancy_percentage" + loop + (Lens.Family2.set + (Data.ProtoLens.Field.field @"occupancyPercentage") y x) + mutable'multiCarriageDetails + 90 + -> do !y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.isolate + (Prelude.fromIntegral len) + Data.ProtoLens.parseMessage) + "multi_carriage_details" + v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO + (Data.ProtoLens.Encoding.Growing.append + mutable'multiCarriageDetails y) + loop x v + wire + -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire + wire + loop + (Lens.Family2.over + Data.ProtoLens.unknownFields (\ !t -> (:) y t) x) + mutable'multiCarriageDetails + in + (Data.ProtoLens.Encoding.Bytes.) + (do mutable'multiCarriageDetails <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO + Data.ProtoLens.Encoding.Growing.new + loop Data.ProtoLens.defMessage mutable'multiCarriageDetails) + "VehiclePosition" + buildMessage + = \ _x + -> (Data.Monoid.<>) + (case + Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'trip") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 10) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.ProtoLens.encodeMessage _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'vehicle") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 66) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.ProtoLens.encodeMessage _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'position") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 18) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.ProtoLens.encodeMessage _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view + (Data.ProtoLens.Field.field @"maybe'currentStopSequence") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 24) + ((Prelude..) + Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'stopId") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 58) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.Text.Encoding.encodeUtf8 _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view + (Data.ProtoLens.Field.field @"maybe'currentStatus") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 32) + ((Prelude..) + ((Prelude..) + Data.ProtoLens.Encoding.Bytes.putVarInt + Prelude.fromIntegral) + Prelude.fromEnum _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view + (Data.ProtoLens.Field.field @"maybe'timestamp") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 40) + (Data.ProtoLens.Encoding.Bytes.putVarInt _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view + (Data.ProtoLens.Field.field @"maybe'congestionLevel") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 48) + ((Prelude..) + ((Prelude..) + Data.ProtoLens.Encoding.Bytes.putVarInt + Prelude.fromIntegral) + Prelude.fromEnum _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view + (Data.ProtoLens.Field.field @"maybe'occupancyStatus") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 72) + ((Prelude..) + ((Prelude..) + Data.ProtoLens.Encoding.Bytes.putVarInt + Prelude.fromIntegral) + Prelude.fromEnum _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view + (Data.ProtoLens.Field.field + @"maybe'occupancyPercentage") + _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 80) + ((Prelude..) + Data.ProtoLens.Encoding.Bytes.putVarInt + Prelude.fromIntegral _v)) + ((Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.foldMapBuilder + (\ _v + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 90) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral + (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes + bs)) + Data.ProtoLens.encodeMessage _v)) + (Lens.Family2.view + (Data.ProtoLens.Field.field + @"vec'multiCarriageDetails") + _x)) + (Data.ProtoLens.Encoding.Wire.buildFieldSet + (Lens.Family2.view + Data.ProtoLens.unknownFields _x)))))))))))) +instance Control.DeepSeq.NFData VehiclePosition where + rnf + = \ x__ + -> Control.DeepSeq.deepseq + (_VehiclePosition'_unknownFields x__) + (Control.DeepSeq.deepseq + (_VehiclePosition'trip x__) + (Control.DeepSeq.deepseq + (_VehiclePosition'vehicle x__) + (Control.DeepSeq.deepseq + (_VehiclePosition'position x__) + (Control.DeepSeq.deepseq + (_VehiclePosition'currentStopSequence x__) + (Control.DeepSeq.deepseq + (_VehiclePosition'stopId x__) + (Control.DeepSeq.deepseq + (_VehiclePosition'currentStatus x__) + (Control.DeepSeq.deepseq + (_VehiclePosition'timestamp x__) + (Control.DeepSeq.deepseq + (_VehiclePosition'congestionLevel x__) + (Control.DeepSeq.deepseq + (_VehiclePosition'occupancyStatus x__) + (Control.DeepSeq.deepseq + (_VehiclePosition'occupancyPercentage x__) + (Control.DeepSeq.deepseq + (_VehiclePosition'multiCarriageDetails x__) + ()))))))))))) +{- | Fields : + + * 'Proto.GtfsRealtime_Fields.id' @:: Lens' VehiclePosition'CarriageDetails Data.Text.Text@ + * 'Proto.GtfsRealtime_Fields.maybe'id' @:: Lens' VehiclePosition'CarriageDetails (Prelude.Maybe Data.Text.Text)@ + * 'Proto.GtfsRealtime_Fields.label' @:: Lens' VehiclePosition'CarriageDetails Data.Text.Text@ + * 'Proto.GtfsRealtime_Fields.maybe'label' @:: Lens' VehiclePosition'CarriageDetails (Prelude.Maybe Data.Text.Text)@ + * 'Proto.GtfsRealtime_Fields.occupancyStatus' @:: Lens' VehiclePosition'CarriageDetails VehiclePosition'OccupancyStatus@ + * 'Proto.GtfsRealtime_Fields.maybe'occupancyStatus' @:: Lens' VehiclePosition'CarriageDetails (Prelude.Maybe VehiclePosition'OccupancyStatus)@ + * 'Proto.GtfsRealtime_Fields.occupancyPercentage' @:: Lens' VehiclePosition'CarriageDetails Data.Int.Int32@ + * 'Proto.GtfsRealtime_Fields.maybe'occupancyPercentage' @:: Lens' VehiclePosition'CarriageDetails (Prelude.Maybe Data.Int.Int32)@ + * 'Proto.GtfsRealtime_Fields.carriageSequence' @:: Lens' VehiclePosition'CarriageDetails Data.Word.Word32@ + * 'Proto.GtfsRealtime_Fields.maybe'carriageSequence' @:: Lens' VehiclePosition'CarriageDetails (Prelude.Maybe Data.Word.Word32)@ -} +data VehiclePosition'CarriageDetails + = VehiclePosition'CarriageDetails'_constructor {_VehiclePosition'CarriageDetails'id :: !(Prelude.Maybe Data.Text.Text), + _VehiclePosition'CarriageDetails'label :: !(Prelude.Maybe Data.Text.Text), + _VehiclePosition'CarriageDetails'occupancyStatus :: !(Prelude.Maybe VehiclePosition'OccupancyStatus), + _VehiclePosition'CarriageDetails'occupancyPercentage :: !(Prelude.Maybe Data.Int.Int32), + _VehiclePosition'CarriageDetails'carriageSequence :: !(Prelude.Maybe Data.Word.Word32), + _VehiclePosition'CarriageDetails'_unknownFields :: !Data.ProtoLens.FieldSet} + deriving stock (Prelude.Eq, Prelude.Ord) +instance Prelude.Show VehiclePosition'CarriageDetails where + showsPrec _ __x __s + = Prelude.showChar + '{' + (Prelude.showString + (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s)) +instance Data.ProtoLens.Field.HasField VehiclePosition'CarriageDetails "id" Data.Text.Text where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _VehiclePosition'CarriageDetails'id + (\ x__ y__ -> x__ {_VehiclePosition'CarriageDetails'id = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault) +instance Data.ProtoLens.Field.HasField VehiclePosition'CarriageDetails "maybe'id" (Prelude.Maybe Data.Text.Text) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _VehiclePosition'CarriageDetails'id + (\ x__ y__ -> x__ {_VehiclePosition'CarriageDetails'id = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField VehiclePosition'CarriageDetails "label" Data.Text.Text where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _VehiclePosition'CarriageDetails'label + (\ x__ y__ -> x__ {_VehiclePosition'CarriageDetails'label = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault) +instance Data.ProtoLens.Field.HasField VehiclePosition'CarriageDetails "maybe'label" (Prelude.Maybe Data.Text.Text) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _VehiclePosition'CarriageDetails'label + (\ x__ y__ -> x__ {_VehiclePosition'CarriageDetails'label = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField VehiclePosition'CarriageDetails "occupancyStatus" VehiclePosition'OccupancyStatus where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _VehiclePosition'CarriageDetails'occupancyStatus + (\ x__ y__ + -> x__ {_VehiclePosition'CarriageDetails'occupancyStatus = y__})) + (Data.ProtoLens.maybeLens VehiclePosition'NO_DATA_AVAILABLE) +instance Data.ProtoLens.Field.HasField VehiclePosition'CarriageDetails "maybe'occupancyStatus" (Prelude.Maybe VehiclePosition'OccupancyStatus) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _VehiclePosition'CarriageDetails'occupancyStatus + (\ x__ y__ + -> x__ {_VehiclePosition'CarriageDetails'occupancyStatus = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField VehiclePosition'CarriageDetails "occupancyPercentage" Data.Int.Int32 where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _VehiclePosition'CarriageDetails'occupancyPercentage + (\ x__ y__ + -> x__ + {_VehiclePosition'CarriageDetails'occupancyPercentage = y__})) + (Data.ProtoLens.maybeLens (-1)) +instance Data.ProtoLens.Field.HasField VehiclePosition'CarriageDetails "maybe'occupancyPercentage" (Prelude.Maybe Data.Int.Int32) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _VehiclePosition'CarriageDetails'occupancyPercentage + (\ x__ y__ + -> x__ + {_VehiclePosition'CarriageDetails'occupancyPercentage = y__})) + Prelude.id +instance Data.ProtoLens.Field.HasField VehiclePosition'CarriageDetails "carriageSequence" Data.Word.Word32 where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _VehiclePosition'CarriageDetails'carriageSequence + (\ x__ y__ + -> x__ {_VehiclePosition'CarriageDetails'carriageSequence = y__})) + (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault) +instance Data.ProtoLens.Field.HasField VehiclePosition'CarriageDetails "maybe'carriageSequence" (Prelude.Maybe Data.Word.Word32) where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _VehiclePosition'CarriageDetails'carriageSequence + (\ x__ y__ + -> x__ {_VehiclePosition'CarriageDetails'carriageSequence = y__})) + Prelude.id +instance Data.ProtoLens.Message VehiclePosition'CarriageDetails where + messageName _ + = Data.Text.pack "transit_realtime.VehiclePosition.CarriageDetails" + packedMessageDescriptor _ + = "\n\ + \\SICarriageDetails\DC2\SO\n\ + \\STXid\CAN\SOH \SOH(\tR\STXid\DC2\DC4\n\ + \\ENQlabel\CAN\STX \SOH(\tR\ENQlabel\DC2o\n\ + \\DLEoccupancy_status\CAN\ETX \SOH(\SO21.transit_realtime.VehiclePosition.OccupancyStatus:\DC1NO_DATA_AVAILABLER\SIoccupancyStatus\DC25\n\ + \\DC4occupancy_percentage\CAN\EOT \SOH(\ENQ:\STX-1R\DC3occupancyPercentage\DC2+\n\ + \\DC1carriage_sequence\CAN\ENQ \SOH(\rR\DLEcarriageSequence*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N" + packedFileDescriptor _ = packedFileDescriptor + fieldsByTag + = let + id__field_descriptor + = Data.ProtoLens.FieldDescriptor + "id" + (Data.ProtoLens.ScalarField Data.ProtoLens.StringField :: + Data.ProtoLens.FieldTypeDescriptor Data.Text.Text) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'id")) :: + Data.ProtoLens.FieldDescriptor VehiclePosition'CarriageDetails + label__field_descriptor + = Data.ProtoLens.FieldDescriptor + "label" + (Data.ProtoLens.ScalarField Data.ProtoLens.StringField :: + Data.ProtoLens.FieldTypeDescriptor Data.Text.Text) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'label")) :: + Data.ProtoLens.FieldDescriptor VehiclePosition'CarriageDetails + occupancyStatus__field_descriptor + = Data.ProtoLens.FieldDescriptor + "occupancy_status" + (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField :: + Data.ProtoLens.FieldTypeDescriptor VehiclePosition'OccupancyStatus) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'occupancyStatus")) :: + Data.ProtoLens.FieldDescriptor VehiclePosition'CarriageDetails + occupancyPercentage__field_descriptor + = Data.ProtoLens.FieldDescriptor + "occupancy_percentage" + (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field :: + Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'occupancyPercentage")) :: + Data.ProtoLens.FieldDescriptor VehiclePosition'CarriageDetails + carriageSequence__field_descriptor + = Data.ProtoLens.FieldDescriptor + "carriage_sequence" + (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field :: + Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32) + (Data.ProtoLens.OptionalField + (Data.ProtoLens.Field.field @"maybe'carriageSequence")) :: + Data.ProtoLens.FieldDescriptor VehiclePosition'CarriageDetails + in + Data.Map.fromList + [(Data.ProtoLens.Tag 1, id__field_descriptor), + (Data.ProtoLens.Tag 2, label__field_descriptor), + (Data.ProtoLens.Tag 3, occupancyStatus__field_descriptor), + (Data.ProtoLens.Tag 4, occupancyPercentage__field_descriptor), + (Data.ProtoLens.Tag 5, carriageSequence__field_descriptor)] + unknownFields + = Lens.Family2.Unchecked.lens + _VehiclePosition'CarriageDetails'_unknownFields + (\ x__ y__ + -> x__ {_VehiclePosition'CarriageDetails'_unknownFields = y__}) + defMessage + = VehiclePosition'CarriageDetails'_constructor + {_VehiclePosition'CarriageDetails'id = Prelude.Nothing, + _VehiclePosition'CarriageDetails'label = Prelude.Nothing, + _VehiclePosition'CarriageDetails'occupancyStatus = Prelude.Nothing, + _VehiclePosition'CarriageDetails'occupancyPercentage = Prelude.Nothing, + _VehiclePosition'CarriageDetails'carriageSequence = Prelude.Nothing, + _VehiclePosition'CarriageDetails'_unknownFields = []} + parseMessage + = let + loop :: + VehiclePosition'CarriageDetails + -> Data.ProtoLens.Encoding.Bytes.Parser VehiclePosition'CarriageDetails + loop x + = do end <- Data.ProtoLens.Encoding.Bytes.atEnd + if end then + do (let missing = [] + in + if Prelude.null missing then + Prelude.return () + else + Prelude.fail + ((Prelude.++) + "Missing required fields: " + (Prelude.show (missing :: [Prelude.String])))) + Prelude.return + (Lens.Family2.over + Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x) + else + do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt + case tag of + 10 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.getText + (Prelude.fromIntegral len)) + "id" + loop (Lens.Family2.set (Data.ProtoLens.Field.field @"id") y x) + 18 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt + Data.ProtoLens.Encoding.Bytes.getText + (Prelude.fromIntegral len)) + "label" + loop (Lens.Family2.set (Data.ProtoLens.Field.field @"label") y x) + 24 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (Prelude.fmap + Prelude.toEnum + (Prelude.fmap + Prelude.fromIntegral + Data.ProtoLens.Encoding.Bytes.getVarInt)) + "occupancy_status" + loop + (Lens.Family2.set + (Data.ProtoLens.Field.field @"occupancyStatus") y x) + 32 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (Prelude.fmap + Prelude.fromIntegral + Data.ProtoLens.Encoding.Bytes.getVarInt) + "occupancy_percentage" + loop + (Lens.Family2.set + (Data.ProtoLens.Field.field @"occupancyPercentage") y x) + 40 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (Prelude.fmap + Prelude.fromIntegral + Data.ProtoLens.Encoding.Bytes.getVarInt) + "carriage_sequence" + loop + (Lens.Family2.set + (Data.ProtoLens.Field.field @"carriageSequence") y x) + wire + -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire + wire + loop + (Lens.Family2.over + Data.ProtoLens.unknownFields (\ !t -> (:) y t) x) + in + (Data.ProtoLens.Encoding.Bytes.) + (do loop Data.ProtoLens.defMessage) "CarriageDetails" + buildMessage + = \ _x + -> (Data.Monoid.<>) + (case + Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'id") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 10) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.Text.Encoding.encodeUtf8 _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'label") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 18) + ((Prelude..) + (\ bs + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt + (Prelude.fromIntegral (Data.ByteString.length bs))) + (Data.ProtoLens.Encoding.Bytes.putBytes bs)) + Data.Text.Encoding.encodeUtf8 _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view + (Data.ProtoLens.Field.field @"maybe'occupancyStatus") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 24) + ((Prelude..) + ((Prelude..) + Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral) + Prelude.fromEnum _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view + (Data.ProtoLens.Field.field @"maybe'occupancyPercentage") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 32) + ((Prelude..) + Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v)) + ((Data.Monoid.<>) + (case + Lens.Family2.view + (Data.ProtoLens.Field.field @"maybe'carriageSequence") _x + of + Prelude.Nothing -> Data.Monoid.mempty + (Prelude.Just _v) + -> (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 40) + ((Prelude..) + Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral + _v)) + (Data.ProtoLens.Encoding.Wire.buildFieldSet + (Lens.Family2.view Data.ProtoLens.unknownFields _x)))))) +instance Control.DeepSeq.NFData VehiclePosition'CarriageDetails where + rnf + = \ x__ + -> Control.DeepSeq.deepseq + (_VehiclePosition'CarriageDetails'_unknownFields x__) + (Control.DeepSeq.deepseq + (_VehiclePosition'CarriageDetails'id x__) + (Control.DeepSeq.deepseq + (_VehiclePosition'CarriageDetails'label x__) + (Control.DeepSeq.deepseq + (_VehiclePosition'CarriageDetails'occupancyStatus x__) + (Control.DeepSeq.deepseq + (_VehiclePosition'CarriageDetails'occupancyPercentage x__) + (Control.DeepSeq.deepseq + (_VehiclePosition'CarriageDetails'carriageSequence x__) ()))))) +data VehiclePosition'CongestionLevel + = VehiclePosition'UNKNOWN_CONGESTION_LEVEL | + VehiclePosition'RUNNING_SMOOTHLY | + VehiclePosition'STOP_AND_GO | + VehiclePosition'CONGESTION | + VehiclePosition'SEVERE_CONGESTION + deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord) +instance Data.ProtoLens.MessageEnum VehiclePosition'CongestionLevel where + maybeToEnum 0 + = Prelude.Just VehiclePosition'UNKNOWN_CONGESTION_LEVEL + maybeToEnum 1 = Prelude.Just VehiclePosition'RUNNING_SMOOTHLY + maybeToEnum 2 = Prelude.Just VehiclePosition'STOP_AND_GO + maybeToEnum 3 = Prelude.Just VehiclePosition'CONGESTION + maybeToEnum 4 = Prelude.Just VehiclePosition'SEVERE_CONGESTION + maybeToEnum _ = Prelude.Nothing + showEnum VehiclePosition'UNKNOWN_CONGESTION_LEVEL + = "UNKNOWN_CONGESTION_LEVEL" + showEnum VehiclePosition'RUNNING_SMOOTHLY = "RUNNING_SMOOTHLY" + showEnum VehiclePosition'STOP_AND_GO = "STOP_AND_GO" + showEnum VehiclePosition'CONGESTION = "CONGESTION" + showEnum VehiclePosition'SEVERE_CONGESTION = "SEVERE_CONGESTION" + readEnum k + | (Prelude.==) k "UNKNOWN_CONGESTION_LEVEL" + = Prelude.Just VehiclePosition'UNKNOWN_CONGESTION_LEVEL + | (Prelude.==) k "RUNNING_SMOOTHLY" + = Prelude.Just VehiclePosition'RUNNING_SMOOTHLY + | (Prelude.==) k "STOP_AND_GO" + = Prelude.Just VehiclePosition'STOP_AND_GO + | (Prelude.==) k "CONGESTION" + = Prelude.Just VehiclePosition'CONGESTION + | (Prelude.==) k "SEVERE_CONGESTION" + = Prelude.Just VehiclePosition'SEVERE_CONGESTION + | Prelude.otherwise + = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum +instance Prelude.Bounded VehiclePosition'CongestionLevel where + minBound = VehiclePosition'UNKNOWN_CONGESTION_LEVEL + maxBound = VehiclePosition'SEVERE_CONGESTION +instance Prelude.Enum VehiclePosition'CongestionLevel where + toEnum k__ + = Prelude.maybe + (Prelude.error + ((Prelude.++) + "toEnum: unknown value for enum CongestionLevel: " + (Prelude.show k__))) + Prelude.id (Data.ProtoLens.maybeToEnum k__) + fromEnum VehiclePosition'UNKNOWN_CONGESTION_LEVEL = 0 + fromEnum VehiclePosition'RUNNING_SMOOTHLY = 1 + fromEnum VehiclePosition'STOP_AND_GO = 2 + fromEnum VehiclePosition'CONGESTION = 3 + fromEnum VehiclePosition'SEVERE_CONGESTION = 4 + succ VehiclePosition'SEVERE_CONGESTION + = Prelude.error + "VehiclePosition'CongestionLevel.succ: bad argument VehiclePosition'SEVERE_CONGESTION. This value would be out of bounds." + succ VehiclePosition'UNKNOWN_CONGESTION_LEVEL + = VehiclePosition'RUNNING_SMOOTHLY + succ VehiclePosition'RUNNING_SMOOTHLY = VehiclePosition'STOP_AND_GO + succ VehiclePosition'STOP_AND_GO = VehiclePosition'CONGESTION + succ VehiclePosition'CONGESTION = VehiclePosition'SEVERE_CONGESTION + pred VehiclePosition'UNKNOWN_CONGESTION_LEVEL + = Prelude.error + "VehiclePosition'CongestionLevel.pred: bad argument VehiclePosition'UNKNOWN_CONGESTION_LEVEL. This value would be out of bounds." + pred VehiclePosition'RUNNING_SMOOTHLY + = VehiclePosition'UNKNOWN_CONGESTION_LEVEL + pred VehiclePosition'STOP_AND_GO = VehiclePosition'RUNNING_SMOOTHLY + pred VehiclePosition'CONGESTION = VehiclePosition'STOP_AND_GO + pred VehiclePosition'SEVERE_CONGESTION = VehiclePosition'CONGESTION + enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom + enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo + enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen + enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo +instance Data.ProtoLens.FieldDefault VehiclePosition'CongestionLevel where + fieldDefault = VehiclePosition'UNKNOWN_CONGESTION_LEVEL +instance Control.DeepSeq.NFData VehiclePosition'CongestionLevel where + rnf x__ = Prelude.seq x__ () +data VehiclePosition'OccupancyStatus + = VehiclePosition'EMPTY | + VehiclePosition'MANY_SEATS_AVAILABLE | + VehiclePosition'FEW_SEATS_AVAILABLE | + VehiclePosition'STANDING_ROOM_ONLY | + VehiclePosition'CRUSHED_STANDING_ROOM_ONLY | + VehiclePosition'FULL | + VehiclePosition'NOT_ACCEPTING_PASSENGERS | + VehiclePosition'NO_DATA_AVAILABLE | + VehiclePosition'NOT_BOARDABLE + deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord) +instance Data.ProtoLens.MessageEnum VehiclePosition'OccupancyStatus where + maybeToEnum 0 = Prelude.Just VehiclePosition'EMPTY + maybeToEnum 1 = Prelude.Just VehiclePosition'MANY_SEATS_AVAILABLE + maybeToEnum 2 = Prelude.Just VehiclePosition'FEW_SEATS_AVAILABLE + maybeToEnum 3 = Prelude.Just VehiclePosition'STANDING_ROOM_ONLY + maybeToEnum 4 + = Prelude.Just VehiclePosition'CRUSHED_STANDING_ROOM_ONLY + maybeToEnum 5 = Prelude.Just VehiclePosition'FULL + maybeToEnum 6 + = Prelude.Just VehiclePosition'NOT_ACCEPTING_PASSENGERS + maybeToEnum 7 = Prelude.Just VehiclePosition'NO_DATA_AVAILABLE + maybeToEnum 8 = Prelude.Just VehiclePosition'NOT_BOARDABLE + maybeToEnum _ = Prelude.Nothing + showEnum VehiclePosition'EMPTY = "EMPTY" + showEnum VehiclePosition'MANY_SEATS_AVAILABLE + = "MANY_SEATS_AVAILABLE" + showEnum VehiclePosition'FEW_SEATS_AVAILABLE + = "FEW_SEATS_AVAILABLE" + showEnum VehiclePosition'STANDING_ROOM_ONLY = "STANDING_ROOM_ONLY" + showEnum VehiclePosition'CRUSHED_STANDING_ROOM_ONLY + = "CRUSHED_STANDING_ROOM_ONLY" + showEnum VehiclePosition'FULL = "FULL" + showEnum VehiclePosition'NOT_ACCEPTING_PASSENGERS + = "NOT_ACCEPTING_PASSENGERS" + showEnum VehiclePosition'NO_DATA_AVAILABLE = "NO_DATA_AVAILABLE" + showEnum VehiclePosition'NOT_BOARDABLE = "NOT_BOARDABLE" + readEnum k + | (Prelude.==) k "EMPTY" = Prelude.Just VehiclePosition'EMPTY + | (Prelude.==) k "MANY_SEATS_AVAILABLE" + = Prelude.Just VehiclePosition'MANY_SEATS_AVAILABLE + | (Prelude.==) k "FEW_SEATS_AVAILABLE" + = Prelude.Just VehiclePosition'FEW_SEATS_AVAILABLE + | (Prelude.==) k "STANDING_ROOM_ONLY" + = Prelude.Just VehiclePosition'STANDING_ROOM_ONLY + | (Prelude.==) k "CRUSHED_STANDING_ROOM_ONLY" + = Prelude.Just VehiclePosition'CRUSHED_STANDING_ROOM_ONLY + | (Prelude.==) k "FULL" = Prelude.Just VehiclePosition'FULL + | (Prelude.==) k "NOT_ACCEPTING_PASSENGERS" + = Prelude.Just VehiclePosition'NOT_ACCEPTING_PASSENGERS + | (Prelude.==) k "NO_DATA_AVAILABLE" + = Prelude.Just VehiclePosition'NO_DATA_AVAILABLE + | (Prelude.==) k "NOT_BOARDABLE" + = Prelude.Just VehiclePosition'NOT_BOARDABLE + | Prelude.otherwise + = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum +instance Prelude.Bounded VehiclePosition'OccupancyStatus where + minBound = VehiclePosition'EMPTY + maxBound = VehiclePosition'NOT_BOARDABLE +instance Prelude.Enum VehiclePosition'OccupancyStatus where + toEnum k__ + = Prelude.maybe + (Prelude.error + ((Prelude.++) + "toEnum: unknown value for enum OccupancyStatus: " + (Prelude.show k__))) + Prelude.id (Data.ProtoLens.maybeToEnum k__) + fromEnum VehiclePosition'EMPTY = 0 + fromEnum VehiclePosition'MANY_SEATS_AVAILABLE = 1 + fromEnum VehiclePosition'FEW_SEATS_AVAILABLE = 2 + fromEnum VehiclePosition'STANDING_ROOM_ONLY = 3 + fromEnum VehiclePosition'CRUSHED_STANDING_ROOM_ONLY = 4 + fromEnum VehiclePosition'FULL = 5 + fromEnum VehiclePosition'NOT_ACCEPTING_PASSENGERS = 6 + fromEnum VehiclePosition'NO_DATA_AVAILABLE = 7 + fromEnum VehiclePosition'NOT_BOARDABLE = 8 + succ VehiclePosition'NOT_BOARDABLE + = Prelude.error + "VehiclePosition'OccupancyStatus.succ: bad argument VehiclePosition'NOT_BOARDABLE. This value would be out of bounds." + succ VehiclePosition'EMPTY = VehiclePosition'MANY_SEATS_AVAILABLE + succ VehiclePosition'MANY_SEATS_AVAILABLE + = VehiclePosition'FEW_SEATS_AVAILABLE + succ VehiclePosition'FEW_SEATS_AVAILABLE + = VehiclePosition'STANDING_ROOM_ONLY + succ VehiclePosition'STANDING_ROOM_ONLY + = VehiclePosition'CRUSHED_STANDING_ROOM_ONLY + succ VehiclePosition'CRUSHED_STANDING_ROOM_ONLY + = VehiclePosition'FULL + succ VehiclePosition'FULL + = VehiclePosition'NOT_ACCEPTING_PASSENGERS + succ VehiclePosition'NOT_ACCEPTING_PASSENGERS + = VehiclePosition'NO_DATA_AVAILABLE + succ VehiclePosition'NO_DATA_AVAILABLE + = VehiclePosition'NOT_BOARDABLE + pred VehiclePosition'EMPTY + = Prelude.error + "VehiclePosition'OccupancyStatus.pred: bad argument VehiclePosition'EMPTY. This value would be out of bounds." + pred VehiclePosition'MANY_SEATS_AVAILABLE = VehiclePosition'EMPTY + pred VehiclePosition'FEW_SEATS_AVAILABLE + = VehiclePosition'MANY_SEATS_AVAILABLE + pred VehiclePosition'STANDING_ROOM_ONLY + = VehiclePosition'FEW_SEATS_AVAILABLE + pred VehiclePosition'CRUSHED_STANDING_ROOM_ONLY + = VehiclePosition'STANDING_ROOM_ONLY + pred VehiclePosition'FULL + = VehiclePosition'CRUSHED_STANDING_ROOM_ONLY + pred VehiclePosition'NOT_ACCEPTING_PASSENGERS + = VehiclePosition'FULL + pred VehiclePosition'NO_DATA_AVAILABLE + = VehiclePosition'NOT_ACCEPTING_PASSENGERS + pred VehiclePosition'NOT_BOARDABLE + = VehiclePosition'NO_DATA_AVAILABLE + enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom + enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo + enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen + enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo +instance Data.ProtoLens.FieldDefault VehiclePosition'OccupancyStatus where + fieldDefault = VehiclePosition'EMPTY +instance Control.DeepSeq.NFData VehiclePosition'OccupancyStatus where + rnf x__ = Prelude.seq x__ () +data VehiclePosition'VehicleStopStatus + = VehiclePosition'INCOMING_AT | + VehiclePosition'STOPPED_AT | + VehiclePosition'IN_TRANSIT_TO + deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord) +instance Data.ProtoLens.MessageEnum VehiclePosition'VehicleStopStatus where + maybeToEnum 0 = Prelude.Just VehiclePosition'INCOMING_AT + maybeToEnum 1 = Prelude.Just VehiclePosition'STOPPED_AT + maybeToEnum 2 = Prelude.Just VehiclePosition'IN_TRANSIT_TO + maybeToEnum _ = Prelude.Nothing + showEnum VehiclePosition'INCOMING_AT = "INCOMING_AT" + showEnum VehiclePosition'STOPPED_AT = "STOPPED_AT" + showEnum VehiclePosition'IN_TRANSIT_TO = "IN_TRANSIT_TO" + readEnum k + | (Prelude.==) k "INCOMING_AT" + = Prelude.Just VehiclePosition'INCOMING_AT + | (Prelude.==) k "STOPPED_AT" + = Prelude.Just VehiclePosition'STOPPED_AT + | (Prelude.==) k "IN_TRANSIT_TO" + = Prelude.Just VehiclePosition'IN_TRANSIT_TO + | Prelude.otherwise + = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum +instance Prelude.Bounded VehiclePosition'VehicleStopStatus where + minBound = VehiclePosition'INCOMING_AT + maxBound = VehiclePosition'IN_TRANSIT_TO +instance Prelude.Enum VehiclePosition'VehicleStopStatus where + toEnum k__ + = Prelude.maybe + (Prelude.error + ((Prelude.++) + "toEnum: unknown value for enum VehicleStopStatus: " + (Prelude.show k__))) + Prelude.id (Data.ProtoLens.maybeToEnum k__) + fromEnum VehiclePosition'INCOMING_AT = 0 + fromEnum VehiclePosition'STOPPED_AT = 1 + fromEnum VehiclePosition'IN_TRANSIT_TO = 2 + succ VehiclePosition'IN_TRANSIT_TO + = Prelude.error + "VehiclePosition'VehicleStopStatus.succ: bad argument VehiclePosition'IN_TRANSIT_TO. This value would be out of bounds." + succ VehiclePosition'INCOMING_AT = VehiclePosition'STOPPED_AT + succ VehiclePosition'STOPPED_AT = VehiclePosition'IN_TRANSIT_TO + pred VehiclePosition'INCOMING_AT + = Prelude.error + "VehiclePosition'VehicleStopStatus.pred: bad argument VehiclePosition'INCOMING_AT. This value would be out of bounds." + pred VehiclePosition'STOPPED_AT = VehiclePosition'INCOMING_AT + pred VehiclePosition'IN_TRANSIT_TO = VehiclePosition'STOPPED_AT + enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom + enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo + enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen + enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo +instance Data.ProtoLens.FieldDefault VehiclePosition'VehicleStopStatus where + fieldDefault = VehiclePosition'INCOMING_AT +instance Control.DeepSeq.NFData VehiclePosition'VehicleStopStatus where + rnf x__ = Prelude.seq x__ () +packedFileDescriptor :: Data.ByteString.ByteString +packedFileDescriptor + = "\n\ + \\DC3gtfs-realtime.proto\DC2\DLEtransit_realtime\"\137\SOH\n\ + \\vFeedMessage\DC24\n\ + \\ACKheader\CAN\SOH \STX(\v2\FS.transit_realtime.FeedHeaderR\ACKheader\DC24\n\ + \\ACKentity\CAN\STX \ETX(\v2\FS.transit_realtime.FeedEntityR\ACKentity*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"\135\STX\n\ + \\n\ + \FeedHeader\DC22\n\ + \\NAKgtfs_realtime_version\CAN\SOH \STX(\tR\DC3gtfsRealtimeVersion\DC2a\n\ + \\SOincrementality\CAN\STX \SOH(\SO2+.transit_realtime.FeedHeader.Incrementality:\fFULL_DATASETR\SOincrementality\DC2\FS\n\ + \\ttimestamp\CAN\ETX \SOH(\EOTR\ttimestamp\"4\n\ + \\SOIncrementality\DC2\DLE\n\ + \\fFULL_DATASET\DLE\NUL\DC2\DLE\n\ + \\fDIFFERENTIAL\DLE\SOH*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"\172\STX\n\ + \\n\ + \FeedEntity\DC2\SO\n\ + \\STXid\CAN\SOH \STX(\tR\STXid\DC2$\n\ + \\n\ + \is_deleted\CAN\STX \SOH(\b:\ENQfalseR\tisDeleted\DC2=\n\ + \\vtrip_update\CAN\ETX \SOH(\v2\FS.transit_realtime.TripUpdateR\n\ + \tripUpdate\DC2;\n\ + \\avehicle\CAN\EOT \SOH(\v2!.transit_realtime.VehiclePositionR\avehicle\DC2-\n\ + \\ENQalert\CAN\ENQ \SOH(\v2\ETB.transit_realtime.AlertR\ENQalert\DC2-\n\ + \\ENQshape\CAN\ACK \SOH(\v2\ETB.transit_realtime.ShapeR\ENQshape*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"\237\n\ + \\n\ + \\n\ + \TripUpdate\DC24\n\ + \\EOTtrip\CAN\SOH \STX(\v2 .transit_realtime.TripDescriptorR\EOTtrip\DC2=\n\ + \\avehicle\CAN\ETX \SOH(\v2#.transit_realtime.VehicleDescriptorR\avehicle\DC2U\n\ + \\DLEstop_time_update\CAN\STX \ETX(\v2+.transit_realtime.TripUpdate.StopTimeUpdateR\SOstopTimeUpdate\DC2\FS\n\ + \\ttimestamp\CAN\EOT \SOH(\EOTR\ttimestamp\DC2\DC4\n\ + \\ENQdelay\CAN\ENQ \SOH(\ENQR\ENQdelay\DC2T\n\ + \\SItrip_properties\CAN\ACK \SOH(\v2+.transit_realtime.TripUpdate.TripPropertiesR\SOtripProperties\SUBk\n\ + \\rStopTimeEvent\DC2\DC4\n\ + \\ENQdelay\CAN\SOH \SOH(\ENQR\ENQdelay\DC2\DC2\n\ + \\EOTtime\CAN\STX \SOH(\ETXR\EOTtime\DC2 \n\ + \\vuncertainty\CAN\ETX \SOH(\ENQR\vuncertainty*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\SUB\246\ENQ\n\ + \\SOStopTimeUpdate\DC2#\n\ + \\rstop_sequence\CAN\SOH \SOH(\rR\fstopSequence\DC2\ETB\n\ + \\astop_id\CAN\EOT \SOH(\tR\ACKstopId\DC2D\n\ + \\aarrival\CAN\STX \SOH(\v2*.transit_realtime.TripUpdate.StopTimeEventR\aarrival\DC2H\n\ + \\tdeparture\CAN\ETX \SOH(\v2*.transit_realtime.TripUpdate.StopTimeEventR\tdeparture\DC2o\n\ + \\SUBdeparture_occupancy_status\CAN\a \SOH(\SO21.transit_realtime.VehiclePosition.OccupancyStatusR\CANdepartureOccupancyStatus\DC2\128\SOH\n\ + \\NAKschedule_relationship\CAN\ENQ \SOH(\SO2@.transit_realtime.TripUpdate.StopTimeUpdate.ScheduleRelationship:\tSCHEDULEDR\DC4scheduleRelationship\DC2p\n\ + \\DC4stop_time_properties\CAN\ACK \SOH(\v2>.transit_realtime.TripUpdate.StopTimeUpdate.StopTimePropertiesR\DC2stopTimeProperties\SUBN\n\ + \\DC2StopTimeProperties\DC2(\n\ + \\DLEassigned_stop_id\CAN\SOH \SOH(\tR\SOassignedStopId*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"P\n\ + \\DC4ScheduleRelationship\DC2\r\n\ + \\tSCHEDULED\DLE\NUL\DC2\v\n\ + \\aSKIPPED\DLE\SOH\DC2\v\n\ + \\aNO_DATA\DLE\STX\DC2\SI\n\ + \\vUNSCHEDULED\DLE\ETX*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\SUB\146\SOH\n\ + \\SOTripProperties\DC2\ETB\n\ + \\atrip_id\CAN\SOH \SOH(\tR\ACKtripId\DC2\GS\n\ + \\n\ + \start_date\CAN\STX \SOH(\tR\tstartDate\DC2\GS\n\ + \\n\ + \start_time\CAN\ETX \SOH(\tR\tstartTime\DC2\EM\n\ + \\bshape_id\CAN\EOT \SOH(\tR\ashapeId*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"\191\v\n\ + \\SIVehiclePosition\DC24\n\ + \\EOTtrip\CAN\SOH \SOH(\v2 .transit_realtime.TripDescriptorR\EOTtrip\DC2=\n\ + \\avehicle\CAN\b \SOH(\v2#.transit_realtime.VehicleDescriptorR\avehicle\DC26\n\ + \\bposition\CAN\STX \SOH(\v2\SUB.transit_realtime.PositionR\bposition\DC22\n\ + \\NAKcurrent_stop_sequence\CAN\ETX \SOH(\rR\DC3currentStopSequence\DC2\ETB\n\ + \\astop_id\CAN\a \SOH(\tR\ACKstopId\DC2i\n\ + \\SOcurrent_status\CAN\EOT \SOH(\SO23.transit_realtime.VehiclePosition.VehicleStopStatus:\rIN_TRANSIT_TOR\rcurrentStatus\DC2\FS\n\ + \\ttimestamp\CAN\ENQ \SOH(\EOTR\ttimestamp\DC2\\\n\ + \\DLEcongestion_level\CAN\ACK \SOH(\SO21.transit_realtime.VehiclePosition.CongestionLevelR\SIcongestionLevel\DC2\\\n\ + \\DLEoccupancy_status\CAN\t \SOH(\SO21.transit_realtime.VehiclePosition.OccupancyStatusR\SIoccupancyStatus\DC21\n\ + \\DC4occupancy_percentage\CAN\n\ + \ \SOH(\rR\DC3occupancyPercentage\DC2g\n\ + \\SYNmulti_carriage_details\CAN\v \ETX(\v21.transit_realtime.VehiclePosition.CarriageDetailsR\DC4multiCarriageDetails\SUB\156\STX\n\ + \\SICarriageDetails\DC2\SO\n\ + \\STXid\CAN\SOH \SOH(\tR\STXid\DC2\DC4\n\ + \\ENQlabel\CAN\STX \SOH(\tR\ENQlabel\DC2o\n\ + \\DLEoccupancy_status\CAN\ETX \SOH(\SO21.transit_realtime.VehiclePosition.OccupancyStatus:\DC1NO_DATA_AVAILABLER\SIoccupancyStatus\DC25\n\ + \\DC4occupancy_percentage\CAN\EOT \SOH(\ENQ:\STX-1R\DC3occupancyPercentage\DC2+\n\ + \\DC1carriage_sequence\CAN\ENQ \SOH(\rR\DLEcarriageSequence*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"G\n\ + \\DC1VehicleStopStatus\DC2\SI\n\ + \\vINCOMING_AT\DLE\NUL\DC2\SO\n\ + \\n\ + \STOPPED_AT\DLE\SOH\DC2\DC1\n\ + \\rIN_TRANSIT_TO\DLE\STX\"}\n\ + \\SICongestionLevel\DC2\FS\n\ + \\CANUNKNOWN_CONGESTION_LEVEL\DLE\NUL\DC2\DC4\n\ + \\DLERUNNING_SMOOTHLY\DLE\SOH\DC2\SI\n\ + \\vSTOP_AND_GO\DLE\STX\DC2\SO\n\ + \\n\ + \CONGESTION\DLE\ETX\DC2\NAK\n\ + \\DC1SEVERE_CONGESTION\DLE\EOT\"\217\SOH\n\ + \\SIOccupancyStatus\DC2\t\n\ + \\ENQEMPTY\DLE\NUL\DC2\CAN\n\ + \\DC4MANY_SEATS_AVAILABLE\DLE\SOH\DC2\ETB\n\ + \\DC3FEW_SEATS_AVAILABLE\DLE\STX\DC2\SYN\n\ + \\DC2STANDING_ROOM_ONLY\DLE\ETX\DC2\RS\n\ + \\SUBCRUSHED_STANDING_ROOM_ONLY\DLE\EOT\DC2\b\n\ + \\EOTFULL\DLE\ENQ\DC2\FS\n\ + \\CANNOT_ACCEPTING_PASSENGERS\DLE\ACK\DC2\NAK\n\ + \\DC1NO_DATA_AVAILABLE\DLE\a\DC2\DC1\n\ + \\rNOT_BOARDABLE\DLE\b*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"\148\v\n\ + \\ENQAlert\DC2@\n\ + \\ractive_period\CAN\SOH \ETX(\v2\ESC.transit_realtime.TimeRangeR\factivePeriod\DC2I\n\ + \\SIinformed_entity\CAN\ENQ \ETX(\v2 .transit_realtime.EntitySelectorR\SOinformedEntity\DC2B\n\ + \\ENQcause\CAN\ACK \SOH(\SO2\GS.transit_realtime.Alert.Cause:\rUNKNOWN_CAUSER\ENQcause\DC2F\n\ + \\ACKeffect\CAN\a \SOH(\SO2\RS.transit_realtime.Alert.Effect:\SOUNKNOWN_EFFECTR\ACKeffect\DC24\n\ + \\ETXurl\CAN\b \SOH(\v2\".transit_realtime.TranslatedStringR\ETXurl\DC2C\n\ + \\vheader_text\CAN\n\ + \ \SOH(\v2\".transit_realtime.TranslatedStringR\n\ + \headerText\DC2M\n\ + \\DLEdescription_text\CAN\v \SOH(\v2\".transit_realtime.TranslatedStringR\SIdescriptionText\DC2J\n\ + \\SItts_header_text\CAN\f \SOH(\v2\".transit_realtime.TranslatedStringR\rttsHeaderText\DC2T\n\ + \\DC4tts_description_text\CAN\r \SOH(\v2\".transit_realtime.TranslatedStringR\DC2ttsDescriptionText\DC2^\n\ + \\SOseverity_level\CAN\SO \SOH(\SO2%.transit_realtime.Alert.SeverityLevel:\DLEUNKNOWN_SEVERITYR\rseverityLevel\DC27\n\ + \\ENQimage\CAN\SI \SOH(\v2!.transit_realtime.TranslatedImageR\ENQimage\DC2X\n\ + \\SYNimage_alternative_text\CAN\DLE \SOH(\v2\".transit_realtime.TranslatedStringR\DC4imageAlternativeText\"\216\SOH\n\ + \\ENQCause\DC2\DC1\n\ + \\rUNKNOWN_CAUSE\DLE\SOH\DC2\SI\n\ + \\vOTHER_CAUSE\DLE\STX\DC2\NAK\n\ + \\DC1TECHNICAL_PROBLEM\DLE\ETX\DC2\n\ + \\n\ + \\ACKSTRIKE\DLE\EOT\DC2\DC1\n\ + \\rDEMONSTRATION\DLE\ENQ\DC2\f\n\ + \\bACCIDENT\DLE\ACK\DC2\v\n\ + \\aHOLIDAY\DLE\a\DC2\v\n\ + \\aWEATHER\DLE\b\DC2\SI\n\ + \\vMAINTENANCE\DLE\t\DC2\DLE\n\ + \\fCONSTRUCTION\DLE\n\ + \\DC2\DC3\n\ + \\SIPOLICE_ACTIVITY\DLE\v\DC2\NAK\n\ + \\DC1MEDICAL_EMERGENCY\DLE\f\"\221\SOH\n\ + \\ACKEffect\DC2\SO\n\ + \\n\ + \NO_SERVICE\DLE\SOH\DC2\DC3\n\ + \\SIREDUCED_SERVICE\DLE\STX\DC2\SYN\n\ + \\DC2SIGNIFICANT_DELAYS\DLE\ETX\DC2\n\ + \\n\ + \\ACKDETOUR\DLE\EOT\DC2\SYN\n\ + \\DC2ADDITIONAL_SERVICE\DLE\ENQ\DC2\DC4\n\ + \\DLEMODIFIED_SERVICE\DLE\ACK\DC2\DLE\n\ + \\fOTHER_EFFECT\DLE\a\DC2\DC2\n\ + \\SOUNKNOWN_EFFECT\DLE\b\DC2\SO\n\ + \\n\ + \STOP_MOVED\DLE\t\DC2\r\n\ + \\tNO_EFFECT\DLE\n\ + \\DC2\ETB\n\ + \\DC3ACCESSIBILITY_ISSUE\DLE\v\"H\n\ + \\rSeverityLevel\DC2\DC4\n\ + \\DLEUNKNOWN_SEVERITY\DLE\SOH\DC2\b\n\ + \\EOTINFO\DLE\STX\DC2\v\n\ + \\aWARNING\DLE\ETX\DC2\n\ + \\n\ + \\ACKSEVERE\DLE\EOT*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"C\n\ + \\tTimeRange\DC2\DC4\n\ + \\ENQstart\CAN\SOH \SOH(\EOTR\ENQstart\DC2\DLE\n\ + \\ETXend\CAN\STX \SOH(\EOTR\ETXend*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"\160\SOH\n\ + \\bPosition\DC2\SUB\n\ + \\blatitude\CAN\SOH \STX(\STXR\blatitude\DC2\FS\n\ + \\tlongitude\CAN\STX \STX(\STXR\tlongitude\DC2\CAN\n\ + \\abearing\CAN\ETX \SOH(\STXR\abearing\DC2\SUB\n\ + \\bodometer\CAN\EOT \SOH(\SOHR\bodometer\DC2\DC4\n\ + \\ENQspeed\CAN\ENQ \SOH(\STXR\ENQspeed*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"\147\ETX\n\ + \\SOTripDescriptor\DC2\ETB\n\ + \\atrip_id\CAN\SOH \SOH(\tR\ACKtripId\DC2\EM\n\ + \\broute_id\CAN\ENQ \SOH(\tR\arouteId\DC2!\n\ + \\fdirection_id\CAN\ACK \SOH(\rR\vdirectionId\DC2\GS\n\ + \\n\ + \start_time\CAN\STX \SOH(\tR\tstartTime\DC2\GS\n\ + \\n\ + \start_date\CAN\ETX \SOH(\tR\tstartDate\DC2j\n\ + \\NAKschedule_relationship\CAN\EOT \SOH(\SO25.transit_realtime.TripDescriptor.ScheduleRelationshipR\DC4scheduleRelationship\"p\n\ + \\DC4ScheduleRelationship\DC2\r\n\ + \\tSCHEDULED\DLE\NUL\DC2\t\n\ + \\ENQADDED\DLE\SOH\DC2\SI\n\ + \\vUNSCHEDULED\DLE\STX\DC2\f\n\ + \\bCANCELED\DLE\ETX\DC2\SI\n\ + \\vREPLACEMENT\DLE\ENQ\DC2\SO\n\ + \\n\ + \DUPLICATED\DLE\ACK*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"n\n\ + \\DC1VehicleDescriptor\DC2\SO\n\ + \\STXid\CAN\SOH \SOH(\tR\STXid\DC2\DC4\n\ + \\ENQlabel\CAN\STX \SOH(\tR\ENQlabel\DC2#\n\ + \\rlicense_plate\CAN\ETX \SOH(\tR\flicensePlate*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"\233\SOH\n\ + \\SOEntitySelector\DC2\ESC\n\ + \\tagency_id\CAN\SOH \SOH(\tR\bagencyId\DC2\EM\n\ + \\broute_id\CAN\STX \SOH(\tR\arouteId\DC2\GS\n\ + \\n\ + \route_type\CAN\ETX \SOH(\ENQR\trouteType\DC24\n\ + \\EOTtrip\CAN\EOT \SOH(\v2 .transit_realtime.TripDescriptorR\EOTtrip\DC2\ETB\n\ + \\astop_id\CAN\ENQ \SOH(\tR\ACKstopId\DC2!\n\ + \\fdirection_id\CAN\ACK \SOH(\rR\vdirectionId*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"\195\SOH\n\ + \\DLETranslatedString\DC2P\n\ + \\vtranslation\CAN\SOH \ETX(\v2..transit_realtime.TranslatedString.TranslationR\vtranslation\SUBM\n\ + \\vTranslation\DC2\DC2\n\ + \\EOTtext\CAN\SOH \STX(\tR\EOTtext\DC2\SUB\n\ + \\blanguage\CAN\STX \SOH(\tR\blanguage*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"\235\SOH\n\ + \\SITranslatedImage\DC2Y\n\ + \\SIlocalized_image\CAN\SOH \ETX(\v20.transit_realtime.TranslatedImage.LocalizedImageR\SOlocalizedImage\SUBm\n\ + \\SOLocalizedImage\DC2\DLE\n\ + \\ETXurl\CAN\SOH \STX(\tR\ETXurl\DC2\GS\n\ + \\n\ + \media_type\CAN\STX \STX(\tR\tmediaType\DC2\SUB\n\ + \\blanguage\CAN\ETX \SOH(\tR\blanguage*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"]\n\ + \\ENQShape\DC2\EM\n\ + \\bshape_id\CAN\SOH \SOH(\tR\ashapeId\DC2)\n\ + \\DLEencoded_polyline\CAN\STX \SOH(\tR\SIencodedPolyline*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144NB\SI\n\ + \\rGTFS.realtimeJ\229\169\ETX\n\ + \\a\DC2\ENQ\CAN\NUL\226\a\SOH\n\ + \\206\a\n\ + \\SOH\f\DC2\ETX\CAN\NUL\DC22\200\EOT Copyright 2015 The GTFS Specifications Authors.\n\ + \\n\ + \ Licensed under the Apache License, Version 2.0 (the \"License\");\n\ + \ you may not use this file except in compliance with the License.\n\ + \ You may obtain a copy of the License at\n\ + \\n\ + \ https://www.apache.org/licenses/LICENSE-2.0\n\ + \\n\ + \ Unless required by applicable law or agreed to in writing, software\n\ + \ distributed under the License is distributed on an \"AS IS\" BASIS,\n\ + \ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\ + \ See the License for the specific language governing permissions and\n\ + \ limitations under the License.\n\ + \2\248\STX Protocol definition file for GTFS Realtime.\n\ + \\n\ + \ GTFS Realtime lets transit agencies provide consumers with realtime\n\ + \ information about disruptions to their service (stations closed, lines not\n\ + \ operating, important delays etc), location of their vehicles and expected\n\ + \ arrival times.\n\ + \\n\ + \ This protocol is published at:\n\ + \ https://github.com/google/transit/tree/master/gtfs-realtime\n\ + \\n\ + \\b\n\ + \\SOH\b\DC2\ETX\EM\NUL&\n\ + \\t\n\ + \\STX\b\SOH\DC2\ETX\EM\NUL&\n\ + \\b\n\ + \\SOH\STX\DC2\ETX\SUB\NUL\EM\n\ + \\180\EOT\n\ + \\STX\EOT\NUL\DC2\EOT%\NUL3\SOH\SUB\167\EOT The contents of a feed message.\n\ + \ A feed is a continuous stream of feed messages. Each message in the stream is\n\ + \ obtained as a response to an appropriate HTTP GET request.\n\ + \ A realtime feed is always defined with relation to an existing GTFS feed.\n\ + \ All the entity ids are resolved with respect to the GTFS feed.\n\ + \ Note that \"required\" and \"optional\" as stated in this file refer to Protocol\n\ + \ Buffer cardinality, not semantic cardinality. See reference.md at\n\ + \ https://github.com/google/transit/tree/master/gtfs-realtime for field\n\ + \ semantic cardinality.\n\ + \\n\ + \\n\ + \\n\ + \\ETX\EOT\NUL\SOH\DC2\ETX%\b\DC3\n\ + \9\n\ + \\EOT\EOT\NUL\STX\NUL\DC2\ETX'\STX!\SUB, Metadata about this feed and feed message.\n\ + \\n\ + \\f\n\ + \\ENQ\EOT\NUL\STX\NUL\EOT\DC2\ETX'\STX\n\ + \\n\ + \\f\n\ + \\ENQ\EOT\NUL\STX\NUL\ACK\DC2\ETX'\v\NAK\n\ + \\f\n\ + \\ENQ\EOT\NUL\STX\NUL\SOH\DC2\ETX'\SYN\FS\n\ + \\f\n\ + \\ENQ\EOT\NUL\STX\NUL\ETX\DC2\ETX'\US \n\ + \$\n\ + \\EOT\EOT\NUL\STX\SOH\DC2\ETX*\STX!\SUB\ETB Contents of the feed.\n\ + \\n\ + \\f\n\ + \\ENQ\EOT\NUL\STX\SOH\EOT\DC2\ETX*\STX\n\ + \\n\ + \\f\n\ + \\ENQ\EOT\NUL\STX\SOH\ACK\DC2\ETX*\v\NAK\n\ + \\f\n\ + \\ENQ\EOT\NUL\STX\SOH\SOH\DC2\ETX*\SYN\FS\n\ + \\f\n\ + \\ENQ\EOT\NUL\STX\SOH\ETX\DC2\ETX*\US \n\ + \\184\SOH\n\ + \\ETX\EOT\NUL\ENQ\DC2\ETX/\STX\SUB\SUB\171\SOH The extensions namespace allows 3rd-party developers to extend the\n\ + \ GTFS Realtime specification in order to add and evaluate new features and\n\ + \ modifications to the spec.\n\ + \\n\ + \\v\n\ + \\EOT\EOT\NUL\ENQ\NUL\DC2\ETX/\r\EM\n\ + \\f\n\ + \\ENQ\EOT\NUL\ENQ\NUL\SOH\DC2\ETX/\r\DC1\n\ + \\f\n\ + \\ENQ\EOT\NUL\ENQ\NUL\STX\DC2\ETX/\NAK\EM\n\ + \[\n\ + \\ETX\EOT\NUL\ENQ\DC2\ETX2\STX\SUB\SUBO The following extension IDs are reserved for private use by any organization.\n\ + \\n\ + \\v\n\ + \\EOT\EOT\NUL\ENQ\SOH\DC2\ETX2\r\EM\n\ + \\f\n\ + \\ENQ\EOT\NUL\ENQ\SOH\SOH\DC2\ETX2\r\DC1\n\ + \\f\n\ + \\ENQ\EOT\NUL\ENQ\SOH\STX\DC2\ETX2\NAK\EM\n\ + \?\n\ + \\STX\EOT\SOH\DC2\EOT6\NULR\SOH\SUB3 Metadata about a feed, included in feed messages.\n\ + \\n\ + \\n\ + \\n\ + \\ETX\EOT\SOH\SOH\DC2\ETX6\b\DC2\n\ + \p\n\ + \\EOT\EOT\SOH\STX\NUL\DC2\ETX9\STX,\SUBc Version of the feed specification.\n\ + \ The current version is 2.0. Valid versions are \"2.0\", \"1.0\".\n\ + \\n\ + \\f\n\ + \\ENQ\EOT\SOH\STX\NUL\EOT\DC2\ETX9\STX\n\ + \\n\ + \\f\n\ + \\ENQ\EOT\SOH\STX\NUL\ENQ\DC2\ETX9\v\DC1\n\ + \\f\n\ + \\ENQ\EOT\SOH\STX\NUL\SOH\DC2\ETX9\DC2'\n\ + \\f\n\ + \\ENQ\EOT\SOH\STX\NUL\ETX\DC2\ETX9*+\n\ + \\239\STX\n\ + \\EOT\EOT\SOH\EOT\NUL\DC2\EOT@\STXC\ETX\SUB\224\STX Determines whether the current fetch is incremental. Currently,\n\ + \ DIFFERENTIAL mode is unsupported and behavior is unspecified for feeds\n\ + \ that use this mode. There are discussions on the GTFS Realtime mailing\n\ + \ list around fully specifying the behavior of DIFFERENTIAL mode and the\n\ + \ documentation will be updated when those discussions are finalized.\n\ + \\n\ + \\f\n\ + \\ENQ\EOT\SOH\EOT\NUL\SOH\DC2\ETX@\a\NAK\n\ + \\r\n\ + \\ACK\EOT\SOH\EOT\NUL\STX\NUL\DC2\ETXA\EOT\NAK\n\ + \\SO\n\ + \\a\EOT\SOH\EOT\NUL\STX\NUL\SOH\DC2\ETXA\EOT\DLE\n\ + \\SO\n\ + \\a\EOT\SOH\EOT\NUL\STX\NUL\STX\DC2\ETXA\DC3\DC4\n\ + \\r\n\ + \\ACK\EOT\SOH\EOT\NUL\STX\SOH\DC2\ETXB\EOT\NAK\n\ + \\SO\n\ + \\a\EOT\SOH\EOT\NUL\STX\SOH\SOH\DC2\ETXB\EOT\DLE\n\ + \\SO\n\ + \\a\EOT\SOH\EOT\NUL\STX\SOH\STX\DC2\ETXB\DC3\DC4\n\ + \\v\n\ + \\EOT\EOT\SOH\STX\SOH\DC2\ETXD\STXF\n\ + \\f\n\ + \\ENQ\EOT\SOH\STX\SOH\EOT\DC2\ETXD\STX\n\ + \\n\ + \\f\n\ + \\ENQ\EOT\SOH\STX\SOH\ACK\DC2\ETXD\v\EM\n\ + \\f\n\ + \\ENQ\EOT\SOH\STX\SOH\SOH\DC2\ETXD\SUB(\n\ + \\f\n\ + \\ENQ\EOT\SOH\STX\SOH\ETX\DC2\ETXD+,\n\ + \\f\n\ + \\ENQ\EOT\SOH\STX\SOH\b\DC2\ETXD-E\n\ + \\f\n\ + \\ENQ\EOT\SOH\STX\SOH\a\DC2\ETXD8D\n\ + \\196\SOH\n\ + \\EOT\EOT\SOH\STX\STX\DC2\ETXI\STX \SUB\182\SOH This timestamp identifies the moment when the content of this feed has been\n\ + \ created (in server time). In POSIX time (i.e., number of seconds since\n\ + \ January 1st 1970 00:00:00 UTC).\n\ + \\n\ + \\f\n\ + \\ENQ\EOT\SOH\STX\STX\EOT\DC2\ETXI\STX\n\ + \\n\ + \\f\n\ + \\ENQ\EOT\SOH\STX\STX\ENQ\DC2\ETXI\v\DC1\n\ + \\f\n\ + \\ENQ\EOT\SOH\STX\STX\SOH\DC2\ETXI\DC2\ESC\n\ + \\f\n\ + \\ENQ\EOT\SOH\STX\STX\ETX\DC2\ETXI\RS\US\n\ + \\184\SOH\n\ + \\ETX\EOT\SOH\ENQ\DC2\ETXN\STX\SUB\SUB\171\SOH The extensions namespace allows 3rd-party developers to extend the\n\ + \ GTFS Realtime specification in order to add and evaluate new features and\n\ + \ modifications to the spec.\n\ + \\n\ + \\v\n\ + \\EOT\EOT\SOH\ENQ\NUL\DC2\ETXN\r\EM\n\ + \\f\n\ + \\ENQ\EOT\SOH\ENQ\NUL\SOH\DC2\ETXN\r\DC1\n\ + \\f\n\ + \\ENQ\EOT\SOH\ENQ\NUL\STX\DC2\ETXN\NAK\EM\n\ + \[\n\ + \\ETX\EOT\SOH\ENQ\DC2\ETXQ\STX\SUB\SUBO The following extension IDs are reserved for private use by any organization.\n\ + \\n\ + \\v\n\ + \\EOT\EOT\SOH\ENQ\SOH\DC2\ETXQ\r\EM\n\ + \\f\n\ + \\ENQ\EOT\SOH\ENQ\SOH\SOH\DC2\ETXQ\r\DC1\n\ + \\f\n\ + \\ENQ\EOT\SOH\ENQ\SOH\STX\DC2\ETXQ\NAK\EM\n\ + \H\n\ + \\STX\EOT\STX\DC2\EOTU\NULt\SOH\SUB< A definition (or update) of an entity in the transit feed.\n\ + \\n\ + \\n\ + \\n\ + \\ETX\EOT\STX\SOH\DC2\ETXU\b\DC2\n\ + \\250\ETX\n\ + \\EOT\EOT\STX\STX\NUL\DC2\ETX^\STX\EM\SUB\236\ETX The ids are used only to provide incrementality support. The id should be\n\ + \ unique within a FeedMessage. Consequent FeedMessages may contain\n\ + \ FeedEntities with the same id. In case of a DIFFERENTIAL update the new\n\ + \ FeedEntity with some id will replace the old FeedEntity with the same id\n\ + \ (or delete it - see is_deleted below).\n\ + \ The actual GTFS entities (e.g. stations, routes, trips) referenced by the\n\ + \ feed must be specified by explicit selectors (see EntitySelector below for\n\ + \ more info).\n\ + \\n\ + \\f\n\ + \\ENQ\EOT\STX\STX\NUL\EOT\DC2\ETX^\STX\n\ + \\n\ + \\f\n\ + \\ENQ\EOT\STX\STX\NUL\ENQ\DC2\ETX^\v\DC1\n\ + \\f\n\ + \\ENQ\EOT\STX\STX\NUL\SOH\DC2\ETX^\DC2\DC4\n\ + \\f\n\ + \\ENQ\EOT\STX\STX\NUL\ETX\DC2\ETX^\ETB\CAN\n\ + \\\\n\ + \\EOT\EOT\STX\STX\SOH\DC2\ETXb\STX1\SUBO Whether this entity is to be deleted. Relevant only for incremental\n\ + \ fetches.\n\ + \\n\ + \\f\n\ + \\ENQ\EOT\STX\STX\SOH\EOT\DC2\ETXb\STX\n\ + \\n\ + \\f\n\ + \\ENQ\EOT\STX\STX\SOH\ENQ\DC2\ETXb\v\SI\n\ + \\f\n\ + \\ENQ\EOT\STX\STX\SOH\SOH\DC2\ETXb\DLE\SUB\n\ + \\f\n\ + \\ENQ\EOT\STX\STX\SOH\ETX\DC2\ETXb\GS\RS\n\ + \\f\n\ + \\ENQ\EOT\STX\STX\SOH\b\DC2\ETXb\US0\n\ + \\f\n\ + \\ENQ\EOT\STX\STX\SOH\a\DC2\ETXb*/\n\ + \\135\SOH\n\ + \\EOT\EOT\STX\STX\STX\DC2\ETXf\STX&\SUBz Data about the entity itself. Exactly one of the following fields must be\n\ + \ present (unless the entity is being deleted).\n\ + \\n\ + \\f\n\ + \\ENQ\EOT\STX\STX\STX\EOT\DC2\ETXf\STX\n\ + \\n\ + \\f\n\ + \\ENQ\EOT\STX\STX\STX\ACK\DC2\ETXf\v\NAK\n\ + \\f\n\ + \\ENQ\EOT\STX\STX\STX\SOH\DC2\ETXf\SYN!\n\ + \\f\n\ + \\ENQ\EOT\STX\STX\STX\ETX\DC2\ETXf$%\n\ + \\v\n\ + \\EOT\EOT\STX\STX\ETX\DC2\ETXg\STX'\n\ + \\f\n\ + \\ENQ\EOT\STX\STX\ETX\EOT\DC2\ETXg\STX\n\ + \\n\ + \\f\n\ + \\ENQ\EOT\STX\STX\ETX\ACK\DC2\ETXg\v\SUB\n\ + \\f\n\ + \\ENQ\EOT\STX\STX\ETX\SOH\DC2\ETXg\ESC\"\n\ + \\f\n\ + \\ENQ\EOT\STX\STX\ETX\ETX\DC2\ETXg%&\n\ + \\v\n\ + \\EOT\EOT\STX\STX\EOT\DC2\ETXh\STX\ESC\n\ + \\f\n\ + \\ENQ\EOT\STX\STX\EOT\EOT\DC2\ETXh\STX\n\ + \\n\ + \\f\n\ + \\ENQ\EOT\STX\STX\EOT\ACK\DC2\ETXh\v\DLE\n\ + \\f\n\ + \\ENQ\EOT\STX\STX\EOT\SOH\DC2\ETXh\DC1\SYN\n\ + \\f\n\ + \\ENQ\EOT\STX\STX\EOT\ETX\DC2\ETXh\EM\SUB\n\ + \w\n\ + \\EOT\EOT\STX\STX\ENQ\DC2\ETXk\STX\ESC\SUBj NOTE: This field is still experimental, and subject to change. It may be formally adopted in the future.\n\ + \\n\ + \\f\n\ + \\ENQ\EOT\STX\STX\ENQ\EOT\DC2\ETXk\STX\n\ + \\n\ + \\f\n\ + \\ENQ\EOT\STX\STX\ENQ\ACK\DC2\ETXk\v\DLE\n\ + \\f\n\ + \\ENQ\EOT\STX\STX\ENQ\SOH\DC2\ETXk\DC1\SYN\n\ + \\f\n\ + \\ENQ\EOT\STX\STX\ENQ\ETX\DC2\ETXk\EM\SUB\n\ + \\184\SOH\n\ + \\ETX\EOT\STX\ENQ\DC2\ETXp\STX\SUB\SUB\171\SOH The extensions namespace allows 3rd-party developers to extend the\n\ + \ GTFS Realtime Specification in order to add and evaluate new features and\n\ + \ modifications to the spec.\n\ + \\n\ + \\v\n\ + \\EOT\EOT\STX\ENQ\NUL\DC2\ETXp\r\EM\n\ + \\f\n\ + \\ENQ\EOT\STX\ENQ\NUL\SOH\DC2\ETXp\r\DC1\n\ + \\f\n\ + \\ENQ\EOT\STX\ENQ\NUL\STX\DC2\ETXp\NAK\EM\n\ + \[\n\ + \\ETX\EOT\STX\ENQ\DC2\ETXs\STX\SUB\SUBO The following extension IDs are reserved for private use by any organization.\n\ + \\n\ + \\v\n\ + \\EOT\EOT\STX\ENQ\SOH\DC2\ETXs\r\EM\n\ + \\f\n\ + \\ENQ\EOT\STX\ENQ\SOH\SOH\DC2\ETXs\r\DC1\n\ + \\f\n\ + \\ENQ\EOT\STX\ENQ\SOH\STX\DC2\ETXs\NAK\EM\n\ + \\239\f\n\ + \\STX\EOT\ETX\DC2\ACK\148\SOH\NUL\140\ETX\SOH\SUB\192\f Realtime update of the progress of a vehicle along a trip.\n\ + \ Depending on the value of ScheduleRelationship, a TripUpdate can specify:\n\ + \ - A trip that proceeds along the schedule.\n\ + \ - A trip that proceeds along a route but has no fixed schedule.\n\ + \ - A trip that have been added or removed with regard to schedule.\n\ + \\n\ + \ The updates can be for future, predicted arrival/departure events, or for\n\ + \ past events that already occurred.\n\ + \ Normally, updates should get more precise and more certain (see\n\ + \ uncertainty below) as the events gets closer to current time.\n\ + \ Even if that is not possible, the information for past events should be\n\ + \ precise and certain. In particular, if an update points to time in the past\n\ + \ but its update's uncertainty is not 0, the client should conclude that the\n\ + \ update is a (wrong) prediction and that the trip has not completed yet.\n\ + \\n\ + \ Note that the update can describe a trip that is already completed.\n\ + \ To this end, it is enough to provide an update for the last stop of the trip.\n\ + \ If the time of that is in the past, the client will conclude from that that\n\ + \ the whole trip is in the past (it is possible, although inconsequential, to\n\ + \ also provide updates for preceding stops).\n\ + \ This option is most relevant for a trip that has completed ahead of schedule,\n\ + \ but according to the schedule, the trip is still proceeding at the current\n\ + \ time. Removing the updates for this trip could make the client assume\n\ + \ that the trip is still proceeding.\n\ + \ Note that the feed provider is allowed, but not required, to purge past\n\ + \ updates - this is one case where this would be practically useful.\n\ + \2\RS\n\ + \ Entities used in the feed.\n\ + \\n\ + \\n\ + \\v\n\ + \\ETX\EOT\ETX\SOH\DC2\EOT\148\SOH\b\DC2\n\ + \\150\STX\n\ + \\EOT\EOT\ETX\STX\NUL\DC2\EOT\153\SOH\STX#\SUB\135\STX The Trip that this message applies to. There can be at most one\n\ + \ TripUpdate entity for each actual trip instance.\n\ + \ If there is none, that means there is no prediction information available.\n\ + \ It does *not* mean that the trip is progressing according to schedule.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\ETX\STX\NUL\EOT\DC2\EOT\153\SOH\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\ETX\STX\NUL\ACK\DC2\EOT\153\SOH\v\EM\n\ + \\r\n\ + \\ENQ\EOT\ETX\STX\NUL\SOH\DC2\EOT\153\SOH\SUB\RS\n\ + \\r\n\ + \\ENQ\EOT\ETX\STX\NUL\ETX\DC2\EOT\153\SOH!\"\n\ + \P\n\ + \\EOT\EOT\ETX\STX\SOH\DC2\EOT\156\SOH\STX)\SUBB Additional information on the vehicle that is serving this trip.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\ETX\STX\SOH\EOT\DC2\EOT\156\SOH\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\ETX\STX\SOH\ACK\DC2\EOT\156\SOH\v\FS\n\ + \\r\n\ + \\ENQ\EOT\ETX\STX\SOH\SOH\DC2\EOT\156\SOH\GS$\n\ + \\r\n\ + \\ENQ\EOT\ETX\STX\SOH\ETX\DC2\EOT\156\SOH'(\n\ + \\179\ACK\n\ + \\EOT\EOT\ETX\ETX\NUL\DC2\ACK\173\SOH\STX\197\SOH\ETX\SUB\162\ACK Timing information for a single predicted event (either arrival or\n\ + \ departure).\n\ + \ Timing consists of delay and/or estimated time, and uncertainty.\n\ + \ - delay should be used when the prediction is given relative to some\n\ + \ existing schedule in GTFS.\n\ + \ - time should be given whether there is a predicted schedule or not. If\n\ + \ both time and delay are specified, time will take precedence\n\ + \ (although normally, time, if given for a scheduled trip, should be\n\ + \ equal to scheduled time in GTFS + delay).\n\ + \\n\ + \ Uncertainty applies equally to both time and delay.\n\ + \ The uncertainty roughly specifies the expected error in true delay (but\n\ + \ note, we don't yet define its precise statistical meaning). It's possible\n\ + \ for the uncertainty to be 0, for example for trains that are driven under\n\ + \ computer timing control.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\ETX\ETX\NUL\SOH\DC2\EOT\173\SOH\n\ + \\ETB\n\ + \\205\SOH\n\ + \\ACK\EOT\ETX\ETX\NUL\STX\NUL\DC2\EOT\177\SOH\EOT\GS\SUB\188\SOH Delay (in seconds) can be positive (meaning that the vehicle is late) or\n\ + \ negative (meaning that the vehicle is ahead of schedule). Delay of 0\n\ + \ means that the vehicle is exactly on time.\n\ + \\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\NUL\STX\NUL\EOT\DC2\EOT\177\SOH\EOT\f\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\NUL\STX\NUL\ENQ\DC2\EOT\177\SOH\r\DC2\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\NUL\STX\NUL\SOH\DC2\EOT\177\SOH\DC3\CAN\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\NUL\STX\NUL\ETX\DC2\EOT\177\SOH\ESC\FS\n\ + \w\n\ + \\ACK\EOT\ETX\ETX\NUL\STX\SOH\DC2\EOT\182\SOH\EOT\FS\SUBg Event as absolute time.\n\ + \ In Unix time (i.e., number of seconds since January 1st 1970 00:00:00\n\ + \ UTC).\n\ + \\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\NUL\STX\SOH\EOT\DC2\EOT\182\SOH\EOT\f\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\NUL\STX\SOH\ENQ\DC2\EOT\182\SOH\r\DC2\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\NUL\STX\SOH\SOH\DC2\EOT\182\SOH\DC3\ETB\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\NUL\STX\SOH\ETX\DC2\EOT\182\SOH\SUB\ESC\n\ + \\158\STX\n\ + \\ACK\EOT\ETX\ETX\NUL\STX\STX\DC2\EOT\188\SOH\EOT#\SUB\141\STX If uncertainty is omitted, it is interpreted as unknown.\n\ + \ If the prediction is unknown or too uncertain, the delay (or time) field\n\ + \ should be empty. In such case, the uncertainty field is ignored.\n\ + \ To specify a completely certain prediction, set its uncertainty to 0.\n\ + \\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\NUL\STX\STX\EOT\DC2\EOT\188\SOH\EOT\f\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\NUL\STX\STX\ENQ\DC2\EOT\188\SOH\r\DC2\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\NUL\STX\STX\SOH\DC2\EOT\188\SOH\DC3\RS\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\NUL\STX\STX\ETX\DC2\EOT\188\SOH!\"\n\ + \\187\SOH\n\ + \\ENQ\EOT\ETX\ETX\NUL\ENQ\DC2\EOT\193\SOH\EOT\FS\SUB\171\SOH The extensions namespace allows 3rd-party developers to extend the\n\ + \ GTFS Realtime Specification in order to add and evaluate new features\n\ + \ and modifications to the spec.\n\ + \\n\ + \\SO\n\ + \\ACK\EOT\ETX\ETX\NUL\ENQ\NUL\DC2\EOT\193\SOH\SI\ESC\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\NUL\ENQ\NUL\SOH\DC2\EOT\193\SOH\SI\DC3\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\NUL\ENQ\NUL\STX\DC2\EOT\193\SOH\ETB\ESC\n\ + \^\n\ + \\ENQ\EOT\ETX\ETX\NUL\ENQ\DC2\EOT\196\SOH\EOT\FS\SUBO The following extension IDs are reserved for private use by any organization.\n\ + \\n\ + \\SO\n\ + \\ACK\EOT\ETX\ETX\NUL\ENQ\SOH\DC2\EOT\196\SOH\SI\ESC\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\NUL\ENQ\SOH\SOH\DC2\EOT\196\SOH\SI\DC3\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\NUL\ENQ\SOH\STX\DC2\EOT\196\SOH\ETB\ESC\n\ + \\171\ETX\n\ + \\EOT\EOT\ETX\ETX\SOH\DC2\ACK\202\SOH\STX\164\STX\ETX\SUB\209\SOH Realtime update for arrival and/or departure events for a given stop on a\n\ + \ trip. Updates can be supplied for both past and future events.\n\ + \ The producer is allowed, although not required, to drop past events.\n\ + \\"\198\SOH The update is linked to a specific stop either through stop_sequence or\n\ + \ stop_id, so one of the fields below must necessarily be set.\n\ + \ See the documentation in TripDescriptor for more information.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\ETX\ETX\SOH\SOH\DC2\EOT\202\SOH\n\ + \\CAN\n\ + \W\n\ + \\ACK\EOT\ETX\ETX\SOH\STX\NUL\DC2\EOT\208\SOH\EOT&\SUBG Must be the same as in stop_times.txt in the corresponding GTFS feed.\n\ + \\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\SOH\STX\NUL\EOT\DC2\EOT\208\SOH\EOT\f\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\SOH\STX\NUL\ENQ\DC2\EOT\208\SOH\r\DC3\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\SOH\STX\NUL\SOH\DC2\EOT\208\SOH\DC4!\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\SOH\STX\NUL\ETX\DC2\EOT\208\SOH$%\n\ + \R\n\ + \\ACK\EOT\ETX\ETX\SOH\STX\SOH\DC2\EOT\210\SOH\EOT \SUBB Must be the same as in stops.txt in the corresponding GTFS feed.\n\ + \\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\SOH\STX\SOH\EOT\DC2\EOT\210\SOH\EOT\f\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\SOH\STX\SOH\ENQ\DC2\EOT\210\SOH\r\DC3\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\SOH\STX\SOH\SOH\DC2\EOT\210\SOH\DC4\ESC\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\SOH\STX\SOH\ETX\DC2\EOT\210\SOH\RS\US\n\ + \\SO\n\ + \\ACK\EOT\ETX\ETX\SOH\STX\STX\DC2\EOT\212\SOH\EOT'\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\SOH\STX\STX\EOT\DC2\EOT\212\SOH\EOT\f\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\SOH\STX\STX\ACK\DC2\EOT\212\SOH\r\SUB\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\SOH\STX\STX\SOH\DC2\EOT\212\SOH\ESC\"\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\SOH\STX\STX\ETX\DC2\EOT\212\SOH%&\n\ + \\SO\n\ + \\ACK\EOT\ETX\ETX\SOH\STX\ETX\DC2\EOT\213\SOH\EOT)\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\SOH\STX\ETX\EOT\DC2\EOT\213\SOH\EOT\f\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\SOH\STX\ETX\ACK\DC2\EOT\213\SOH\r\SUB\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\SOH\STX\ETX\SOH\DC2\EOT\213\SOH\ESC$\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\SOH\STX\ETX\ETX\DC2\EOT\213\SOH'(\n\ + \\138\STX\n\ + \\ACK\EOT\ETX\ETX\SOH\STX\EOT\DC2\EOT\219\SOH\EOTL\SUB\249\SOH Expected occupancy after departure from the given stop.\n\ + \ Should be provided only for future stops.\n\ + \ In order to provide departure_occupancy_status without either arrival or\n\ + \ departure StopTimeEvents, ScheduleRelationship should be set to NO_DATA. \n\ + \\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\SOH\STX\EOT\EOT\DC2\EOT\219\SOH\EOT\f\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\SOH\STX\EOT\ACK\DC2\EOT\219\SOH\r,\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\SOH\STX\EOT\SOH\DC2\EOT\219\SOH-G\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\SOH\STX\EOT\ETX\DC2\EOT\219\SOHJK\n\ + \T\n\ + \\ACK\EOT\ETX\ETX\SOH\EOT\NUL\DC2\ACK\222\SOH\EOT\250\SOH\ENQ\SUBB The relation between the StopTimeEvents and the static schedule.\n\ + \\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\SOH\EOT\NUL\SOH\DC2\EOT\222\SOH\t\GS\n\ + \\199\ETX\n\ + \\b\EOT\ETX\ETX\SOH\EOT\NUL\STX\NUL\DC2\EOT\229\SOH\ACK\DC4\SUB\180\ETX The vehicle is proceeding in accordance with its static schedule of\n\ + \ stops, although not necessarily according to the times of the schedule.\n\ + \ At least one of arrival and departure must be provided. If the schedule\n\ + \ for this stop contains both arrival and departure times then so must\n\ + \ this update. Frequency-based trips (GTFS frequencies.txt with exact_times = 0)\n\ + \ should not have a SCHEDULED value and should use UNSCHEDULED instead.\n\ + \\n\ + \\DC1\n\ + \\t\EOT\ETX\ETX\SOH\EOT\NUL\STX\NUL\SOH\DC2\EOT\229\SOH\ACK\SI\n\ + \\DC1\n\ + \\t\EOT\ETX\ETX\SOH\EOT\NUL\STX\NUL\STX\DC2\EOT\229\SOH\DC2\DC3\n\ + \{\n\ + \\b\EOT\ETX\ETX\SOH\EOT\NUL\STX\SOH\DC2\EOT\233\SOH\ACK\DC2\SUBi The stop is skipped, i.e., the vehicle will not stop at this stop.\n\ + \ Arrival and departure are optional.\n\ + \\n\ + \\DC1\n\ + \\t\EOT\ETX\ETX\SOH\EOT\NUL\STX\SOH\SOH\DC2\EOT\233\SOH\ACK\r\n\ + \\DC1\n\ + \\t\EOT\ETX\ETX\SOH\EOT\NUL\STX\SOH\STX\DC2\EOT\233\SOH\DLE\DC1\n\ + \\238\STX\n\ + \\b\EOT\ETX\ETX\SOH\EOT\NUL\STX\STX\DC2\EOT\241\SOH\ACK\DC2\SUB\219\STX No StopTimeEvents are given for this stop.\n\ + \ The main intention for this value is to give time predictions only for\n\ + \ part of a trip, i.e., if the last update for a trip has a NO_DATA\n\ + \ specifier, then StopTimeEvents for the rest of the stops in the trip\n\ + \ are considered to be unspecified as well.\n\ + \ Neither arrival nor departure should be supplied.\n\ + \\n\ + \\DC1\n\ + \\t\EOT\ETX\ETX\SOH\EOT\NUL\STX\STX\SOH\DC2\EOT\241\SOH\ACK\r\n\ + \\DC1\n\ + \\t\EOT\ETX\ETX\SOH\EOT\NUL\STX\STX\STX\DC2\EOT\241\SOH\DLE\DC1\n\ + \\235\ETX\n\ + \\b\EOT\ETX\ETX\SOH\EOT\NUL\STX\ETX\DC2\EOT\249\SOH\ACK\SYN\SUB\216\ETX The vehicle is operating a trip defined in GTFS frequencies.txt with exact_times = 0.\n\ + \ This value should not be used for trips that are not defined in GTFS frequencies.txt,\n\ + \ or trips in GTFS frequencies.txt with exact_times = 1. Trips containing StopTimeUpdates\n\ + \ with ScheduleRelationship=UNSCHEDULED must also set TripDescriptor.ScheduleRelationship=UNSCHEDULED.\n\ + \ NOTE: This field is still experimental, and subject to change. It may be\n\ + \ formally adopted in the future.\n\ + \\n\ + \\DC1\n\ + \\t\EOT\ETX\ETX\SOH\EOT\NUL\STX\ETX\SOH\DC2\EOT\249\SOH\ACK\DC1\n\ + \\DC1\n\ + \\t\EOT\ETX\ETX\SOH\EOT\NUL\STX\ETX\STX\DC2\EOT\249\SOH\DC4\NAK\n\ + \\DLE\n\ + \\ACK\EOT\ETX\ETX\SOH\STX\ENQ\DC2\ACK\251\SOH\EOT\252\SOH\RS\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\SOH\STX\ENQ\EOT\DC2\EOT\251\SOH\EOT\f\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\SOH\STX\ENQ\ACK\DC2\EOT\251\SOH\r!\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\SOH\STX\ENQ\SOH\DC2\EOT\251\SOH\"7\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\SOH\STX\ENQ\ETX\DC2\EOT\251\SOH:;\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\SOH\STX\ENQ\b\DC2\EOT\252\SOH\b\GS\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\SOH\STX\ENQ\a\DC2\EOT\252\SOH\DC3\FS\n\ + \\175\SOH\n\ + \\ACK\EOT\ETX\ETX\SOH\ETX\NUL\DC2\ACK\128\STX\EOT\151\STX\ENQ\SUB\156\SOH Provides the updated values for the stop time.\n\ + \ NOTE: This message is still experimental, and subject to change. It may be formally adopted in the future.\n\ + \\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\SOH\ETX\NUL\SOH\DC2\EOT\128\STX\f\RS\n\ + \\231\t\n\ + \\b\EOT\ETX\ETX\SOH\ETX\NUL\STX\NUL\DC2\EOT\142\STX\ACK+\SUB\212\t Supports real-time stop assignments. Refers to a stop_id defined in the GTFS stops.txt.\n\ + \ The new assigned_stop_id should not result in a significantly different trip experience for the end user than\n\ + \ the stop_id defined in GTFS stop_times.txt. In other words, the end user should not view this new stop_id as an\n\ + \ \"unusual change\" if the new stop was presented within an app without any additional context.\n\ + \ For example, this field is intended to be used for platform assignments by using a stop_id that belongs to the\n\ + \ same station as the stop originally defined in GTFS stop_times.txt.\n\ + \ To assign a stop without providing any real-time arrival or departure predictions, populate this field and set\n\ + \ StopTimeUpdate.schedule_relationship = NO_DATA.\n\ + \ If this field is populated, it is preferred to omit `StopTimeUpdate.stop_id` and use only `StopTimeUpdate.stop_sequence`. If\n\ + \ `StopTimeProperties.assigned_stop_id` and `StopTimeUpdate.stop_id` are populated, `StopTimeUpdate.stop_id` must match `assigned_stop_id`.\n\ + \ Platform assignments should be reflected in other GTFS-realtime fields as well\n\ + \ (e.g., `VehiclePosition.stop_id`).\n\ + \ NOTE: This field is still experimental, and subject to change. It may be formally adopted in the future.\n\ + \\n\ + \\DC1\n\ + \\t\EOT\ETX\ETX\SOH\ETX\NUL\STX\NUL\EOT\DC2\EOT\142\STX\ACK\SO\n\ + \\DC1\n\ + \\t\EOT\ETX\ETX\SOH\ETX\NUL\STX\NUL\ENQ\DC2\EOT\142\STX\SI\NAK\n\ + \\DC1\n\ + \\t\EOT\ETX\ETX\SOH\ETX\NUL\STX\NUL\SOH\DC2\EOT\142\STX\SYN&\n\ + \\DC1\n\ + \\t\EOT\ETX\ETX\SOH\ETX\NUL\STX\NUL\ETX\DC2\EOT\142\STX)*\n\ + \\189\SOH\n\ + \\a\EOT\ETX\ETX\SOH\ETX\NUL\ENQ\DC2\EOT\147\STX\ACK\RS\SUB\171\SOH The extensions namespace allows 3rd-party developers to extend the\n\ + \ GTFS Realtime Specification in order to add and evaluate new features\n\ + \ and modifications to the spec.\n\ + \\n\ + \\DLE\n\ + \\b\EOT\ETX\ETX\SOH\ETX\NUL\ENQ\NUL\DC2\EOT\147\STX\DC1\GS\n\ + \\DC1\n\ + \\t\EOT\ETX\ETX\SOH\ETX\NUL\ENQ\NUL\SOH\DC2\EOT\147\STX\DC1\NAK\n\ + \\DC1\n\ + \\t\EOT\ETX\ETX\SOH\ETX\NUL\ENQ\NUL\STX\DC2\EOT\147\STX\EM\GS\n\ + \`\n\ + \\a\EOT\ETX\ETX\SOH\ETX\NUL\ENQ\DC2\EOT\150\STX\ACK\RS\SUBO The following extension IDs are reserved for private use by any organization.\n\ + \\n\ + \\DLE\n\ + \\b\EOT\ETX\ETX\SOH\ETX\NUL\ENQ\SOH\DC2\EOT\150\STX\DC1\GS\n\ + \\DC1\n\ + \\t\EOT\ETX\ETX\SOH\ETX\NUL\ENQ\SOH\SOH\DC2\EOT\150\STX\DC1\NAK\n\ + \\DC1\n\ + \\t\EOT\ETX\ETX\SOH\ETX\NUL\ENQ\SOH\STX\DC2\EOT\150\STX\EM\GS\n\ + \\199\SOH\n\ + \\ACK\EOT\ETX\ETX\SOH\STX\ACK\DC2\EOT\155\STX\EOT9\SUB\182\SOH Realtime updates for certain properties defined within GTFS stop_times.txt\n\ + \ NOTE: This field is still experimental, and subject to change. It may be formally adopted in the future.\n\ + \\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\SOH\STX\ACK\EOT\DC2\EOT\155\STX\EOT\f\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\SOH\STX\ACK\ACK\DC2\EOT\155\STX\r\US\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\SOH\STX\ACK\SOH\DC2\EOT\155\STX 4\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\SOH\STX\ACK\ETX\DC2\EOT\155\STX78\n\ + \\187\SOH\n\ + \\ENQ\EOT\ETX\ETX\SOH\ENQ\DC2\EOT\160\STX\EOT\FS\SUB\171\SOH The extensions namespace allows 3rd-party developers to extend the\n\ + \ GTFS Realtime Specification in order to add and evaluate new features\n\ + \ and modifications to the spec.\n\ + \\n\ + \\SO\n\ + \\ACK\EOT\ETX\ETX\SOH\ENQ\NUL\DC2\EOT\160\STX\SI\ESC\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\SOH\ENQ\NUL\SOH\DC2\EOT\160\STX\SI\DC3\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\SOH\ENQ\NUL\STX\DC2\EOT\160\STX\ETB\ESC\n\ + \^\n\ + \\ENQ\EOT\ETX\ETX\SOH\ENQ\DC2\EOT\163\STX\EOT\FS\SUBO The following extension IDs are reserved for private use by any organization.\n\ + \\n\ + \\SO\n\ + \\ACK\EOT\ETX\ETX\SOH\ENQ\SOH\DC2\EOT\163\STX\SI\ESC\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\SOH\ENQ\SOH\SOH\DC2\EOT\163\STX\SI\DC3\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\SOH\ENQ\SOH\STX\DC2\EOT\163\STX\ETB\ESC\n\ + \\189\ACK\n\ + \\EOT\EOT\ETX\STX\STX\DC2\EOT\185\STX\STX/\SUB\174\ACK Updates to StopTimes for the trip (both future, i.e., predictions, and in\n\ + \ some cases, past ones, i.e., those that already happened).\n\ + \ The updates must be sorted by stop_sequence, and apply for all the\n\ + \ following stops of the trip up to the next specified one.\n\ + \\n\ + \ Example 1:\n\ + \ For a trip with 20 stops, a StopTimeUpdate with arrival delay and departure\n\ + \ delay of 0 for stop_sequence of the current stop means that the trip is\n\ + \ exactly on time.\n\ + \\n\ + \ Example 2:\n\ + \ For the same trip instance, 3 StopTimeUpdates are provided:\n\ + \ - delay of 5 min for stop_sequence 3\n\ + \ - delay of 1 min for stop_sequence 8\n\ + \ - delay of unspecified duration for stop_sequence 10\n\ + \ This will be interpreted as:\n\ + \ - stop_sequences 3,4,5,6,7 have delay of 5 min.\n\ + \ - stop_sequences 8,9 have delay of 1 min.\n\ + \ - stop_sequences 10,... have unknown delay.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\ETX\STX\STX\EOT\DC2\EOT\185\STX\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\ETX\STX\STX\ACK\DC2\EOT\185\STX\v\EM\n\ + \\r\n\ + \\ENQ\EOT\ETX\STX\STX\SOH\DC2\EOT\185\STX\SUB*\n\ + \\r\n\ + \\ENQ\EOT\ETX\STX\STX\ETX\DC2\EOT\185\STX-.\n\ + \\184\STX\n\ + \\EOT\EOT\ETX\STX\ETX\DC2\EOT\191\STX\STX \SUB\169\STX The most recent moment at which the vehicle's real-time progress was measured\n\ + \ to estimate StopTimes in the future. When StopTimes in the past are provided,\n\ + \ arrival/departure times may be earlier than this value. In POSIX\n\ + \ time (i.e., the number of seconds since January 1st 1970 00:00:00 UTC).\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\ETX\STX\ETX\EOT\DC2\EOT\191\STX\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\ETX\STX\ETX\ENQ\DC2\EOT\191\STX\v\DC1\n\ + \\r\n\ + \\ENQ\EOT\ETX\STX\ETX\SOH\DC2\EOT\191\STX\DC2\ESC\n\ + \\r\n\ + \\ENQ\EOT\ETX\STX\ETX\ETX\DC2\EOT\191\STX\RS\US\n\ + \\221\ACK\n\ + \\EOT\EOT\ETX\STX\EOT\DC2\EOT\211\STX\STX\ESC\SUB\206\ACK The current schedule deviation for the trip. Delay should only be\n\ + \ specified when the prediction is given relative to some existing schedule\n\ + \ in GTFS.\n\ + \\n\ + \ Delay (in seconds) can be positive (meaning that the vehicle is late) or\n\ + \ negative (meaning that the vehicle is ahead of schedule). Delay of 0\n\ + \ means that the vehicle is exactly on time.\n\ + \\n\ + \ Delay information in StopTimeUpdates take precedent of trip-level delay\n\ + \ information, such that trip-level delay is only propagated until the next\n\ + \ stop along the trip with a StopTimeUpdate delay value specified.\n\ + \\n\ + \ Feed providers are strongly encouraged to provide a TripUpdate.timestamp\n\ + \ value indicating when the delay value was last updated, in order to\n\ + \ evaluate the freshness of the data.\n\ + \\n\ + \ NOTE: This field is still experimental, and subject to change. It may be\n\ + \ formally adopted in the future.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\ETX\STX\EOT\EOT\DC2\EOT\211\STX\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\ETX\STX\EOT\ENQ\DC2\EOT\211\STX\v\DLE\n\ + \\r\n\ + \\ENQ\EOT\ETX\STX\EOT\SOH\DC2\EOT\211\STX\DC1\SYN\n\ + \\r\n\ + \\ENQ\EOT\ETX\STX\EOT\ETX\DC2\EOT\211\STX\EM\SUB\n\ + \\160\STX\n\ + \\EOT\EOT\ETX\ETX\STX\DC2\ACK\216\STX\STX\130\ETX\ETX\SUB\143\STX Defines updated properties of the trip, such as a new shape_id when there is a detour. Or defines the\n\ + \ trip_id, start_date, and start_time of a DUPLICATED trip. \n\ + \ NOTE: This message is still experimental, and subject to change. It may be formally adopted in the future.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\ETX\ETX\STX\SOH\DC2\EOT\216\STX\n\ + \\CAN\n\ + \\228\EOT\n\ + \\ACK\EOT\ETX\ETX\STX\STX\NUL\DC2\EOT\223\STX\EOT \SUB\211\EOT Defines the identifier of a new trip that is a duplicate of an existing trip defined in (CSV) GTFS trips.txt\n\ + \ but will start at a different service date and/or time (defined using the TripProperties.start_date and\n\ + \ TripProperties.start_time fields). See definition of trips.trip_id in (CSV) GTFS. Its value must be different\n\ + \ than the ones used in the (CSV) GTFS. Required if schedule_relationship=DUPLICATED, otherwise this field must not\n\ + \ be populated and will be ignored by consumers.\n\ + \ NOTE: This field is still experimental, and subject to change. It may be formally adopted in the future.\n\ + \\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\STX\STX\NUL\EOT\DC2\EOT\223\STX\EOT\f\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\STX\STX\NUL\ENQ\DC2\EOT\223\STX\r\DC3\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\STX\STX\NUL\SOH\DC2\EOT\223\STX\DC4\ESC\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\STX\STX\NUL\ETX\DC2\EOT\223\STX\RS\US\n\ + \\195\STX\n\ + \\ACK\EOT\ETX\ETX\STX\STX\SOH\DC2\EOT\227\STX\EOT#\SUB\178\STX Service date on which the DUPLICATED trip will be run, in YYYYMMDD format. Required if\n\ + \ schedule_relationship=DUPLICATED, otherwise this field must not be populated and will be ignored by consumers.\n\ + \ NOTE: This field is still experimental, and subject to change. It may be formally adopted in the future.\n\ + \\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\STX\STX\SOH\EOT\DC2\EOT\227\STX\EOT\f\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\STX\STX\SOH\ENQ\DC2\EOT\227\STX\r\DC3\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\STX\STX\SOH\SOH\DC2\EOT\227\STX\DC4\RS\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\STX\STX\SOH\ETX\DC2\EOT\227\STX!\"\n\ + \\251\t\n\ + \\ACK\EOT\ETX\ETX\STX\STX\STX\DC2\EOT\240\STX\EOT#\SUB\234\t Defines the departure start time of the trip when it\226\128\153s duplicated. See definition of stop_times.departure_time\n\ + \ in (CSV) GTFS. Scheduled arrival and departure times for the duplicated trip are calculated based on the offset\n\ + \ between the original trip departure_time and this field. For example, if a GTFS trip has stop A with a\n\ + \ departure_time of 10:00:00 and stop B with departure_time of 10:01:00, and this field is populated with the value\n\ + \ of 10:30:00, stop B on the duplicated trip will have a scheduled departure_time of 10:31:00. Real-time prediction\n\ + \ delay values are applied to this calculated schedule time to determine the predicted time. For example, if a\n\ + \ departure delay of 30 is provided for stop B, then the predicted departure time is 10:31:30. Real-time\n\ + \ prediction time values do not have any offset applied to them and indicate the predicted time as provided.\n\ + \ For example, if a departure time representing 10:31:30 is provided for stop B, then the predicted departure time\n\ + \ is 10:31:30. This field is required if schedule_relationship is DUPLICATED, otherwise this field must not be\n\ + \ populated and will be ignored by consumers.\n\ + \ NOTE: This field is still experimental, and subject to change. It may be formally adopted in the future.\n\ + \\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\STX\STX\STX\EOT\DC2\EOT\240\STX\EOT\f\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\STX\STX\STX\ENQ\DC2\EOT\240\STX\r\DC3\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\STX\STX\STX\SOH\DC2\EOT\240\STX\DC4\RS\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\STX\STX\STX\ETX\DC2\EOT\240\STX!\"\n\ + \\239\ACK\n\ + \\ACK\EOT\ETX\ETX\STX\STX\ETX\DC2\EOT\249\STX\EOT!\SUB\222\ACK Specifies the shape of the vehicle travel path when the trip shape differs from the shape specified in\n\ + \ (CSV) GTFS or to specify it in real-time when it's not provided by (CSV) GTFS, such as a vehicle that takes differing\n\ + \ paths based on rider demand. See definition of trips.shape_id in (CSV) GTFS. If a shape is neither defined in (CSV) GTFS\n\ + \ nor in real-time, the shape is considered unknown. This field can refer to a shape defined in the (CSV) GTFS in shapes.txt\n\ + \ or a Shape in the (protobuf) real-time feed. The order of stops (stop sequences) for this trip must remain the same as\n\ + \ (CSV) GTFS. Stops that are a part of the original trip but will no longer be made, such as when a detour occurs, should\n\ + \ be marked as schedule_relationship=SKIPPED.\n\ + \ NOTE: This field is still experimental, and subject to change. It may be formally adopted in the future. \n\ + \\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\STX\STX\ETX\EOT\DC2\EOT\249\STX\EOT\f\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\STX\STX\ETX\ENQ\DC2\EOT\249\STX\r\DC3\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\STX\STX\ETX\SOH\DC2\EOT\249\STX\DC4\FS\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\STX\STX\ETX\ETX\DC2\EOT\249\STX\US \n\ + \\187\SOH\n\ + \\ENQ\EOT\ETX\ETX\STX\ENQ\DC2\EOT\254\STX\EOT\FS\SUB\171\SOH The extensions namespace allows 3rd-party developers to extend the\n\ + \ GTFS Realtime Specification in order to add and evaluate new features\n\ + \ and modifications to the spec.\n\ + \\n\ + \\SO\n\ + \\ACK\EOT\ETX\ETX\STX\ENQ\NUL\DC2\EOT\254\STX\SI\ESC\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\STX\ENQ\NUL\SOH\DC2\EOT\254\STX\SI\DC3\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\STX\ENQ\NUL\STX\DC2\EOT\254\STX\ETB\ESC\n\ + \^\n\ + \\ENQ\EOT\ETX\ETX\STX\ENQ\DC2\EOT\129\ETX\EOT\FS\SUBO The following extension IDs are reserved for private use by any organization.\n\ + \\n\ + \\SO\n\ + \\ACK\EOT\ETX\ETX\STX\ENQ\SOH\DC2\EOT\129\ETX\SI\ESC\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\STX\ENQ\SOH\SOH\DC2\EOT\129\ETX\SI\DC3\n\ + \\SI\n\ + \\a\EOT\ETX\ETX\STX\ENQ\SOH\STX\DC2\EOT\129\ETX\ETB\ESC\n\ + \\f\n\ + \\EOT\EOT\ETX\STX\ENQ\DC2\EOT\131\ETX\STX.\n\ + \\r\n\ + \\ENQ\EOT\ETX\STX\ENQ\EOT\DC2\EOT\131\ETX\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\ETX\STX\ENQ\ACK\DC2\EOT\131\ETX\v\EM\n\ + \\r\n\ + \\ENQ\EOT\ETX\STX\ENQ\SOH\DC2\EOT\131\ETX\SUB)\n\ + \\r\n\ + \\ENQ\EOT\ETX\STX\ENQ\ETX\DC2\EOT\131\ETX,-\n\ + \\185\SOH\n\ + \\ETX\EOT\ETX\ENQ\DC2\EOT\136\ETX\STX\SUB\SUB\171\SOH The extensions namespace allows 3rd-party developers to extend the\n\ + \ GTFS Realtime Specification in order to add and evaluate new features and\n\ + \ modifications to the spec.\n\ + \\n\ + \\f\n\ + \\EOT\EOT\ETX\ENQ\NUL\DC2\EOT\136\ETX\r\EM\n\ + \\r\n\ + \\ENQ\EOT\ETX\ENQ\NUL\SOH\DC2\EOT\136\ETX\r\DC1\n\ + \\r\n\ + \\ENQ\EOT\ETX\ENQ\NUL\STX\DC2\EOT\136\ETX\NAK\EM\n\ + \\\\n\ + \\ETX\EOT\ETX\ENQ\DC2\EOT\139\ETX\STX\SUB\SUBO The following extension IDs are reserved for private use by any organization.\n\ + \\n\ + \\f\n\ + \\EOT\EOT\ETX\ENQ\SOH\DC2\EOT\139\ETX\r\EM\n\ + \\r\n\ + \\ENQ\EOT\ETX\ENQ\SOH\SOH\DC2\EOT\139\ETX\r\DC1\n\ + \\r\n\ + \\ENQ\EOT\ETX\ENQ\SOH\STX\DC2\EOT\139\ETX\NAK\EM\n\ + \E\n\ + \\STX\EOT\EOT\DC2\ACK\143\ETX\NUL\189\EOT\SOH\SUB7 Realtime positioning information for a given vehicle.\n\ + \\n\ + \\v\n\ + \\ETX\EOT\EOT\SOH\DC2\EOT\143\ETX\b\ETB\n\ + \\146\SOH\n\ + \\EOT\EOT\EOT\STX\NUL\DC2\EOT\147\ETX\STX#\SUB\131\SOH The Trip that this vehicle is serving.\n\ + \ Can be empty or partial if the vehicle can not be identified with a given\n\ + \ trip instance.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\EOT\STX\NUL\EOT\DC2\EOT\147\ETX\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\EOT\STX\NUL\ACK\DC2\EOT\147\ETX\v\EM\n\ + \\r\n\ + \\ENQ\EOT\EOT\STX\NUL\SOH\DC2\EOT\147\ETX\SUB\RS\n\ + \\r\n\ + \\ENQ\EOT\EOT\STX\NUL\ETX\DC2\EOT\147\ETX!\"\n\ + \P\n\ + \\EOT\EOT\EOT\STX\SOH\DC2\EOT\150\ETX\STX)\SUBB Additional information on the vehicle that is serving this trip.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\EOT\STX\SOH\EOT\DC2\EOT\150\ETX\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\EOT\STX\SOH\ACK\DC2\EOT\150\ETX\v\FS\n\ + \\r\n\ + \\ENQ\EOT\EOT\STX\SOH\SOH\DC2\EOT\150\ETX\GS$\n\ + \\r\n\ + \\ENQ\EOT\EOT\STX\SOH\ETX\DC2\EOT\150\ETX'(\n\ + \1\n\ + \\EOT\EOT\EOT\STX\STX\DC2\EOT\153\ETX\STX!\SUB# Current position of this vehicle.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\EOT\STX\STX\EOT\DC2\EOT\153\ETX\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\EOT\STX\STX\ACK\DC2\EOT\153\ETX\v\DC3\n\ + \\r\n\ + \\ENQ\EOT\EOT\STX\STX\SOH\DC2\EOT\153\ETX\DC4\FS\n\ + \\r\n\ + \\ENQ\EOT\EOT\STX\STX\ETX\DC2\EOT\153\ETX\US \n\ + \\224\SOH\n\ + \\EOT\EOT\EOT\STX\ETX\DC2\EOT\159\ETX\STX,\SUB\209\SOH The stop sequence index of the current stop. The meaning of\n\ + \ current_stop_sequence (i.e., the stop that it refers to) is determined by\n\ + \ current_status.\n\ + \ If current_status is missing IN_TRANSIT_TO is assumed.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\EOT\STX\ETX\EOT\DC2\EOT\159\ETX\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\EOT\STX\ETX\ENQ\DC2\EOT\159\ETX\v\DC1\n\ + \\r\n\ + \\ENQ\EOT\EOT\STX\ETX\SOH\DC2\EOT\159\ETX\DC2'\n\ + \\r\n\ + \\ENQ\EOT\EOT\STX\ETX\ETX\DC2\EOT\159\ETX*+\n\ + \x\n\ + \\EOT\EOT\EOT\STX\EOT\DC2\EOT\162\ETX\STX\RS\SUBj Identifies the current stop. The value must be the same as in stops.txt in\n\ + \ the corresponding GTFS feed.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\EOT\STX\EOT\EOT\DC2\EOT\162\ETX\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\EOT\STX\EOT\ENQ\DC2\EOT\162\ETX\v\DC1\n\ + \\r\n\ + \\ENQ\EOT\EOT\STX\EOT\SOH\DC2\EOT\162\ETX\DC2\EM\n\ + \\r\n\ + \\ENQ\EOT\EOT\STX\EOT\ETX\DC2\EOT\162\ETX\FS\GS\n\ + \\SO\n\ + \\EOT\EOT\EOT\EOT\NUL\DC2\ACK\164\ETX\STX\174\ETX\ETX\n\ + \\r\n\ + \\ENQ\EOT\EOT\EOT\NUL\SOH\DC2\EOT\164\ETX\a\CAN\n\ + \}\n\ + \\ACK\EOT\EOT\EOT\NUL\STX\NUL\DC2\EOT\167\ETX\EOT\DC4\SUBm The vehicle is just about to arrive at the stop (on a stop\n\ + \ display, the vehicle symbol typically flashes).\n\ + \\n\ + \\SI\n\ + \\a\EOT\EOT\EOT\NUL\STX\NUL\SOH\DC2\EOT\167\ETX\EOT\SI\n\ + \\SI\n\ + \\a\EOT\EOT\EOT\NUL\STX\NUL\STX\DC2\EOT\167\ETX\DC2\DC3\n\ + \6\n\ + \\ACK\EOT\EOT\EOT\NUL\STX\SOH\DC2\EOT\170\ETX\EOT\DC3\SUB& The vehicle is standing at the stop.\n\ + \\n\ + \\SI\n\ + \\a\EOT\EOT\EOT\NUL\STX\SOH\SOH\DC2\EOT\170\ETX\EOT\SO\n\ + \\SI\n\ + \\a\EOT\EOT\EOT\NUL\STX\SOH\STX\DC2\EOT\170\ETX\DC1\DC2\n\ + \N\n\ + \\ACK\EOT\EOT\EOT\NUL\STX\STX\DC2\EOT\173\ETX\EOT\SYN\SUB> The vehicle has departed and is in transit to the next stop.\n\ + \\n\ + \\SI\n\ + \\a\EOT\EOT\EOT\NUL\STX\STX\SOH\DC2\EOT\173\ETX\EOT\DC1\n\ + \\SI\n\ + \\a\EOT\EOT\EOT\NUL\STX\STX\STX\DC2\EOT\173\ETX\DC4\NAK\n\ + \\DEL\n\ + \\EOT\EOT\EOT\STX\ENQ\DC2\EOT\177\ETX\STXJ\SUBq The exact status of the vehicle with respect to the current stop.\n\ + \ Ignored if current_stop_sequence is missing.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\EOT\STX\ENQ\EOT\DC2\EOT\177\ETX\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\EOT\STX\ENQ\ACK\DC2\EOT\177\ETX\v\FS\n\ + \\r\n\ + \\ENQ\EOT\EOT\STX\ENQ\SOH\DC2\EOT\177\ETX\GS+\n\ + \\r\n\ + \\ENQ\EOT\EOT\STX\ENQ\ETX\DC2\EOT\177\ETX./\n\ + \\r\n\ + \\ENQ\EOT\EOT\STX\ENQ\b\DC2\EOT\177\ETX0I\n\ + \\r\n\ + \\ENQ\EOT\EOT\STX\ENQ\a\DC2\EOT\177\ETX;H\n\ + \\147\SOH\n\ + \\EOT\EOT\EOT\STX\ACK\DC2\EOT\181\ETX\STX \SUB\132\SOH Moment at which the vehicle's position was measured. In POSIX time\n\ + \ (i.e., number of seconds since January 1st 1970 00:00:00 UTC).\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\EOT\STX\ACK\EOT\DC2\EOT\181\ETX\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\EOT\STX\ACK\ENQ\DC2\EOT\181\ETX\v\DC1\n\ + \\r\n\ + \\ENQ\EOT\EOT\STX\ACK\SOH\DC2\EOT\181\ETX\DC2\ESC\n\ + \\r\n\ + \\ENQ\EOT\EOT\STX\ACK\ETX\DC2\EOT\181\ETX\RS\US\n\ + \B\n\ + \\EOT\EOT\EOT\EOT\SOH\DC2\ACK\184\ETX\STX\190\ETX\ETX\SUB2 Congestion level that is affecting this vehicle.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\EOT\EOT\SOH\SOH\DC2\EOT\184\ETX\a\SYN\n\ + \\SO\n\ + \\ACK\EOT\EOT\EOT\SOH\STX\NUL\DC2\EOT\185\ETX\EOT!\n\ + \\SI\n\ + \\a\EOT\EOT\EOT\SOH\STX\NUL\SOH\DC2\EOT\185\ETX\EOT\FS\n\ + \\SI\n\ + \\a\EOT\EOT\EOT\SOH\STX\NUL\STX\DC2\EOT\185\ETX\US \n\ + \\SO\n\ + \\ACK\EOT\EOT\EOT\SOH\STX\SOH\DC2\EOT\186\ETX\EOT\EM\n\ + \\SI\n\ + \\a\EOT\EOT\EOT\SOH\STX\SOH\SOH\DC2\EOT\186\ETX\EOT\DC4\n\ + \\SI\n\ + \\a\EOT\EOT\EOT\SOH\STX\SOH\STX\DC2\EOT\186\ETX\ETB\CAN\n\ + \\SO\n\ + \\ACK\EOT\EOT\EOT\SOH\STX\STX\DC2\EOT\187\ETX\EOT\DC4\n\ + \\SI\n\ + \\a\EOT\EOT\EOT\SOH\STX\STX\SOH\DC2\EOT\187\ETX\EOT\SI\n\ + \\SI\n\ + \\a\EOT\EOT\EOT\SOH\STX\STX\STX\DC2\EOT\187\ETX\DC2\DC3\n\ + \\SO\n\ + \\ACK\EOT\EOT\EOT\SOH\STX\ETX\DC2\EOT\188\ETX\EOT\DC3\n\ + \\SI\n\ + \\a\EOT\EOT\EOT\SOH\STX\ETX\SOH\DC2\EOT\188\ETX\EOT\SO\n\ + \\SI\n\ + \\a\EOT\EOT\EOT\SOH\STX\ETX\STX\DC2\EOT\188\ETX\DC1\DC2\n\ + \,\n\ + \\ACK\EOT\EOT\EOT\SOH\STX\EOT\DC2\EOT\189\ETX\EOT\SUB\"\FS People leaving their cars.\n\ + \\n\ + \\SI\n\ + \\a\EOT\EOT\EOT\SOH\STX\EOT\SOH\DC2\EOT\189\ETX\EOT\NAK\n\ + \\SI\n\ + \\a\EOT\EOT\EOT\SOH\STX\EOT\STX\DC2\EOT\189\ETX\CAN\EM\n\ + \\f\n\ + \\EOT\EOT\EOT\STX\a\DC2\EOT\191\ETX\STX0\n\ + \\r\n\ + \\ENQ\EOT\EOT\STX\a\EOT\DC2\EOT\191\ETX\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\EOT\STX\a\ACK\DC2\EOT\191\ETX\v\SUB\n\ + \\r\n\ + \\ENQ\EOT\EOT\STX\a\SOH\DC2\EOT\191\ETX\ESC+\n\ + \\r\n\ + \\ENQ\EOT\EOT\STX\a\ETX\DC2\EOT\191\ETX./\n\ + \\128\ENQ\n\ + \\EOT\EOT\EOT\EOT\STX\DC2\ACK\201\ETX\STX\239\ETX\ETX\SUB\239\EOT The state of passenger occupancy for the vehicle or carriage.\n\ + \ Individual producers may not publish all OccupancyStatus values. Therefore, consumers\n\ + \ must not assume that the OccupancyStatus values follow a linear scale.\n\ + \ Consumers should represent OccupancyStatus values as the state indicated \n\ + \ and intended by the producer. Likewise, producers must use OccupancyStatus values that\n\ + \ correspond to actual vehicle occupancy states.\n\ + \ For describing passenger occupancy levels on a linear scale, see `occupancy_percentage`.\n\ + \ This field is still experimental, and subject to change. It may be formally adopted in the future.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\EOT\EOT\STX\SOH\DC2\EOT\201\ETX\a\SYN\n\ + \\154\SOH\n\ + \\ACK\EOT\EOT\EOT\STX\STX\NUL\DC2\EOT\204\ETX\EOT\SO\SUB\137\SOH The vehicle or carriage is considered empty by most measures, and has few or no\n\ + \ passengers onboard, but is still accepting passengers.\n\ + \\n\ + \\SI\n\ + \\a\EOT\EOT\EOT\STX\STX\NUL\SOH\DC2\EOT\204\ETX\EOT\t\n\ + \\SI\n\ + \\a\EOT\EOT\EOT\STX\STX\NUL\STX\DC2\EOT\204\ETX\f\r\n\ + \\248\SOH\n\ + \\ACK\EOT\EOT\EOT\STX\STX\SOH\DC2\EOT\210\ETX\EOT\GS\SUB\231\SOH The vehicle or carriage has a large number of seats available.\n\ + \ The amount of free seats out of the total seats available to be\n\ + \ considered large enough to fall into this category is determined at the\n\ + \ discretion of the producer.\n\ + \\n\ + \\SI\n\ + \\a\EOT\EOT\EOT\STX\STX\SOH\SOH\DC2\EOT\210\ETX\EOT\CAN\n\ + \\SI\n\ + \\a\EOT\EOT\EOT\STX\STX\SOH\STX\DC2\EOT\210\ETX\ESC\FS\n\ + \\136\STX\n\ + \\ACK\EOT\EOT\EOT\STX\STX\STX\DC2\EOT\216\ETX\EOT\FS\SUB\247\SOH The vehicle or carriage has a relatively small number of seats available.\n\ + \ The amount of free seats out of the total seats available to be\n\ + \ considered small enough to fall into this category is determined at the\n\ + \ discretion of the feed producer.\n\ + \\n\ + \\SI\n\ + \\a\EOT\EOT\EOT\STX\STX\STX\SOH\DC2\EOT\216\ETX\EOT\ETB\n\ + \\SI\n\ + \\a\EOT\EOT\EOT\STX\STX\STX\STX\DC2\EOT\216\ETX\SUB\ESC\n\ + \]\n\ + \\ACK\EOT\EOT\EOT\STX\STX\ETX\DC2\EOT\219\ETX\EOT\ESC\SUBM The vehicle or carriage can currently accommodate only standing passengers.\n\ + \\n\ + \\SI\n\ + \\a\EOT\EOT\EOT\STX\STX\ETX\SOH\DC2\EOT\219\ETX\EOT\SYN\n\ + \\SI\n\ + \\a\EOT\EOT\EOT\STX\STX\ETX\STX\DC2\EOT\219\ETX\EM\SUB\n\ + \}\n\ + \\ACK\EOT\EOT\EOT\STX\STX\EOT\DC2\EOT\223\ETX\EOT#\SUBm The vehicle or carriage can currently accommodate only standing passengers\n\ + \ and has limited space for them.\n\ + \\n\ + \\SI\n\ + \\a\EOT\EOT\EOT\STX\STX\EOT\SOH\DC2\EOT\223\ETX\EOT\RS\n\ + \\SI\n\ + \\a\EOT\EOT\EOT\STX\STX\EOT\STX\DC2\EOT\223\ETX!\"\n\ + \~\n\ + \\ACK\EOT\EOT\EOT\STX\STX\ENQ\DC2\EOT\227\ETX\EOT\r\SUBn The vehicle or carriage is considered full by most measures, but may still be\n\ + \ allowing passengers to board.\n\ + \\n\ + \\SI\n\ + \\a\EOT\EOT\EOT\STX\STX\ENQ\SOH\DC2\EOT\227\ETX\EOT\b\n\ + \\SI\n\ + \\a\EOT\EOT\EOT\STX\STX\ENQ\STX\DC2\EOT\227\ETX\v\f\n\ + \s\n\ + \\ACK\EOT\EOT\EOT\STX\STX\ACK\DC2\EOT\230\ETX\EOT!\SUBc The vehicle or carriage is not accepting passengers, but usually accepts passengers for boarding.\n\ + \\n\ + \\SI\n\ + \\a\EOT\EOT\EOT\STX\STX\ACK\SOH\DC2\EOT\230\ETX\EOT\FS\n\ + \\SI\n\ + \\a\EOT\EOT\EOT\STX\STX\ACK\STX\DC2\EOT\230\ETX\US \n\ + \a\n\ + \\ACK\EOT\EOT\EOT\STX\STX\a\DC2\EOT\233\ETX\EOT\SUB\SUBQ The vehicle or carriage doesn't have any occupancy data available at that time.\n\ + \\n\ + \\SI\n\ + \\a\EOT\EOT\EOT\STX\STX\a\SOH\DC2\EOT\233\ETX\EOT\NAK\n\ + \\SI\n\ + \\a\EOT\EOT\EOT\STX\STX\a\STX\DC2\EOT\233\ETX\CAN\EM\n\ + \\171\SOH\n\ + \\ACK\EOT\EOT\EOT\STX\STX\b\DC2\EOT\237\ETX\EOT\SYN\SUB\154\SOH The vehicle or carriage is not boardable and never accepts passengers.\n\ + \ Useful for special vehicles or carriages (engine, maintenance carriage, etc\226\128\166).\n\ + \\n\ + \\SI\n\ + \\a\EOT\EOT\EOT\STX\STX\b\SOH\DC2\EOT\237\ETX\EOT\DC1\n\ + \\SI\n\ + \\a\EOT\EOT\EOT\STX\STX\b\STX\DC2\EOT\237\ETX\DC4\NAK\n\ + \\193\SOH\n\ + \\EOT\EOT\EOT\STX\b\DC2\EOT\242\ETX\STX0\SUB\178\SOH If multi_carriage_status is populated with per-carriage OccupancyStatus,\n\ + \ then this field should describe the entire vehicle with all carriages accepting passengers considered.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\EOT\STX\b\EOT\DC2\EOT\242\ETX\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\EOT\STX\b\ACK\DC2\EOT\242\ETX\v\SUB\n\ + \\r\n\ + \\ENQ\EOT\EOT\STX\b\SOH\DC2\EOT\242\ETX\ESC+\n\ + \\r\n\ + \\ENQ\EOT\EOT\STX\b\ETX\DC2\EOT\242\ETX./\n\ + \\239\ACK\n\ + \\EOT\EOT\EOT\STX\t\DC2\EOT\253\ETX\STX,\SUB\224\ACK A percentage value indicating the degree of passenger occupancy in the vehicle.\n\ + \ The values are represented as an integer without decimals. 0 means 0% and 100 means 100%.\n\ + \ The value 100 should represent the total maximum occupancy the vehicle was designed for,\n\ + \ including both seated and standing capacity, and current operating regulations allow.\n\ + \ The value may exceed 100 if there are more passengers than the maximum designed capacity.\n\ + \ The precision of occupancy_percentage should be low enough that individual passengers cannot be tracked boarding or alighting the vehicle.\n\ + \ If multi_carriage_status is populated with per-carriage occupancy_percentage, \n\ + \ then this field should describe the entire vehicle with all carriages accepting passengers considered.\n\ + \ This field is still experimental, and subject to change. It may be formally adopted in the future.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\EOT\STX\t\EOT\DC2\EOT\253\ETX\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\EOT\STX\t\ENQ\DC2\EOT\253\ETX\v\DC1\n\ + \\r\n\ + \\ENQ\EOT\EOT\STX\t\SOH\DC2\EOT\253\ETX\DC2&\n\ + \\r\n\ + \\ENQ\EOT\EOT\STX\t\ETX\DC2\EOT\253\ETX)+\n\ + \\201\SOH\n\ + \\EOT\EOT\EOT\ETX\NUL\DC2\ACK\129\EOT\STX\169\EOT\ETX\SUB\184\SOH Carriage specific details, used for vehicles composed of several carriages\n\ + \ This message/field is still experimental, and subject to change. It may be formally adopted in the future.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\EOT\ETX\NUL\SOH\DC2\EOT\129\EOT\n\ + \\EM\n\ + \O\n\ + \\ACK\EOT\EOT\ETX\NUL\STX\NUL\DC2\EOT\132\EOT\EOT\ESC\SUB? Identification of the carriage. Should be unique per vehicle.\n\ + \\n\ + \\SI\n\ + \\a\EOT\EOT\ETX\NUL\STX\NUL\EOT\DC2\EOT\132\EOT\EOT\f\n\ + \\SI\n\ + \\a\EOT\EOT\ETX\NUL\STX\NUL\ENQ\DC2\EOT\132\EOT\r\DC3\n\ + \\SI\n\ + \\a\EOT\EOT\ETX\NUL\STX\NUL\SOH\DC2\EOT\132\EOT\DC4\SYN\n\ + \\SI\n\ + \\a\EOT\EOT\ETX\NUL\STX\NUL\ETX\DC2\EOT\132\EOT\EM\SUB\n\ + \\250\SOH\n\ + \\ACK\EOT\EOT\ETX\NUL\STX\SOH\DC2\EOT\137\EOT\EOT\RS\SUB\233\SOH User visible label that may be shown to the passenger to help identify\n\ + \ the carriage. Example: \"7712\", \"Car ABC-32\", etc...\n\ + \ This message/field is still experimental, and subject to change. It may be formally adopted in the future.\n\ + \\n\ + \\SI\n\ + \\a\EOT\EOT\ETX\NUL\STX\SOH\EOT\DC2\EOT\137\EOT\EOT\f\n\ + \\SI\n\ + \\a\EOT\EOT\ETX\NUL\STX\SOH\ENQ\DC2\EOT\137\EOT\r\DC3\n\ + \\SI\n\ + \\a\EOT\EOT\ETX\NUL\STX\SOH\SOH\DC2\EOT\137\EOT\DC4\EM\n\ + \\SI\n\ + \\a\EOT\EOT\ETX\NUL\STX\SOH\ETX\DC2\EOT\137\EOT\FS\GS\n\ + \\184\SOH\n\ + \\ACK\EOT\EOT\ETX\NUL\STX\STX\DC2\EOT\141\EOT\EOTP\SUB\167\SOH Occupancy status for this given carriage, in this vehicle\n\ + \ This message/field is still experimental, and subject to change. It may be formally adopted in the future.\n\ + \\n\ + \\SI\n\ + \\a\EOT\EOT\ETX\NUL\STX\STX\EOT\DC2\EOT\141\EOT\EOT\f\n\ + \\SI\n\ + \\a\EOT\EOT\ETX\NUL\STX\STX\ACK\DC2\EOT\141\EOT\r\FS\n\ + \\SI\n\ + \\a\EOT\EOT\ETX\NUL\STX\STX\SOH\DC2\EOT\141\EOT\GS-\n\ + \\SI\n\ + \\a\EOT\EOT\ETX\NUL\STX\STX\ETX\DC2\EOT\141\EOT01\n\ + \\SI\n\ + \\a\EOT\EOT\ETX\NUL\STX\STX\b\DC2\EOT\141\EOT2O\n\ + \\SI\n\ + \\a\EOT\EOT\ETX\NUL\STX\STX\a\DC2\EOT\141\EOT=N\n\ + \\223\STX\n\ + \\ACK\EOT\EOT\ETX\NUL\STX\ETX\DC2\EOT\147\EOT\EOT;\SUB\206\STX Occupancy percentage for this given carriage, in this vehicle.\n\ + \ Follows the same rules as \"VehiclePosition.occupancy_percentage\"\n\ + \ -1 in case data is not available for this given carriage (as protobuf defaults to 0 otherwise)\n\ + \ This message/field is still experimental, and subject to change. It may be formally adopted in the future.\n\ + \\n\ + \\SI\n\ + \\a\EOT\EOT\ETX\NUL\STX\ETX\EOT\DC2\EOT\147\EOT\EOT\f\n\ + \\SI\n\ + \\a\EOT\EOT\ETX\NUL\STX\ETX\ENQ\DC2\EOT\147\EOT\r\DC2\n\ + \\SI\n\ + \\a\EOT\EOT\ETX\NUL\STX\ETX\SOH\DC2\EOT\147\EOT\DC3'\n\ + \\SI\n\ + \\a\EOT\EOT\ETX\NUL\STX\ETX\ETX\DC2\EOT\147\EOT*+\n\ + \\SI\n\ + \\a\EOT\EOT\ETX\NUL\STX\ETX\b\DC2\EOT\147\EOT,:\n\ + \\SI\n\ + \\a\EOT\EOT\ETX\NUL\STX\ETX\a\DC2\EOT\147\EOT79\n\ + \\247\ACK\n\ + \\ACK\EOT\EOT\ETX\NUL\STX\EOT\DC2\EOT\160\EOT\EOT*\SUB\230\ACK Identifies the order of this carriage with respect to the other\n\ + \ carriages in the vehicle's list of CarriageDetails.\n\ + \ The first carriage in the direction of travel must have a value of 1.\n\ + \ The second value corresponds to the second carriage in the direction\n\ + \ of travel and must have a value of 2, and so forth.\n\ + \ For example, the first carriage in the direction of travel has a value of 1.\n\ + \ If the second carriage in the direction of travel has a value of 3,\n\ + \ consumers will discard data for all carriages (i.e., the multi_carriage_details field).\n\ + \ Carriages without data must be represented with a valid carriage_sequence number and the fields \n\ + \ without data should be omitted (alternately, those fields could also be included and set to the \"no data\" values).\n\ + \ This message/field is still experimental, and subject to change. It may be formally adopted in the future.\n\ + \\n\ + \\SI\n\ + \\a\EOT\EOT\ETX\NUL\STX\EOT\EOT\DC2\EOT\160\EOT\EOT\f\n\ + \\SI\n\ + \\a\EOT\EOT\ETX\NUL\STX\EOT\ENQ\DC2\EOT\160\EOT\r\DC3\n\ + \\SI\n\ + \\a\EOT\EOT\ETX\NUL\STX\EOT\SOH\DC2\EOT\160\EOT\DC4%\n\ + \\SI\n\ + \\a\EOT\EOT\ETX\NUL\STX\EOT\ETX\DC2\EOT\160\EOT()\n\ + \\187\SOH\n\ + \\ENQ\EOT\EOT\ETX\NUL\ENQ\DC2\EOT\165\EOT\EOT\FS\SUB\171\SOH The extensions namespace allows 3rd-party developers to extend the\n\ + \ GTFS Realtime Specification in order to add and evaluate new features and\n\ + \ modifications to the spec.\n\ + \\n\ + \\SO\n\ + \\ACK\EOT\EOT\ETX\NUL\ENQ\NUL\DC2\EOT\165\EOT\SI\ESC\n\ + \\SI\n\ + \\a\EOT\EOT\ETX\NUL\ENQ\NUL\SOH\DC2\EOT\165\EOT\SI\DC3\n\ + \\SI\n\ + \\a\EOT\EOT\ETX\NUL\ENQ\NUL\STX\DC2\EOT\165\EOT\ETB\ESC\n\ + \^\n\ + \\ENQ\EOT\EOT\ETX\NUL\ENQ\DC2\EOT\168\EOT\EOT\FS\SUBO The following extension IDs are reserved for private use by any organization.\n\ + \\n\ + \\SO\n\ + \\ACK\EOT\EOT\ETX\NUL\ENQ\SOH\DC2\EOT\168\EOT\SI\ESC\n\ + \\SI\n\ + \\a\EOT\EOT\ETX\NUL\ENQ\SOH\SOH\DC2\EOT\168\EOT\SI\DC3\n\ + \\SI\n\ + \\a\EOT\EOT\ETX\NUL\ENQ\SOH\STX\DC2\EOT\168\EOT\ETB\ESC\n\ + \\201\EOT\n\ + \\EOT\EOT\EOT\STX\n\ + \\DC2\EOT\180\EOT\STX7\SUB\186\EOT Details of the multiple carriages of this given vehicle.\n\ + \ The first occurrence represents the first carriage of the vehicle, \n\ + \ given the current direction of travel. \n\ + \ The number of occurrences of the multi_carriage_details \n\ + \ field represents the number of carriages of the vehicle.\n\ + \ It also includes non boardable carriages, \n\ + \ like engines, maintenance carriages, etc\226\128\166 as they provide valuable \n\ + \ information to passengers about where to stand on a platform.\n\ + \ This message/field is still experimental, and subject to change. It may be formally adopted in the future.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\EOT\STX\n\ + \\EOT\DC2\EOT\180\EOT\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\EOT\STX\n\ + \\ACK\DC2\EOT\180\EOT\v\SUB\n\ + \\r\n\ + \\ENQ\EOT\EOT\STX\n\ + \\SOH\DC2\EOT\180\EOT\ESC1\n\ + \\r\n\ + \\ENQ\EOT\EOT\STX\n\ + \\ETX\DC2\EOT\180\EOT46\n\ + \\185\SOH\n\ + \\ETX\EOT\EOT\ENQ\DC2\EOT\185\EOT\STX\SUB\SUB\171\SOH The extensions namespace allows 3rd-party developers to extend the\n\ + \ GTFS Realtime Specification in order to add and evaluate new features and\n\ + \ modifications to the spec.\n\ + \\n\ + \\f\n\ + \\EOT\EOT\EOT\ENQ\NUL\DC2\EOT\185\EOT\r\EM\n\ + \\r\n\ + \\ENQ\EOT\EOT\ENQ\NUL\SOH\DC2\EOT\185\EOT\r\DC1\n\ + \\r\n\ + \\ENQ\EOT\EOT\ENQ\NUL\STX\DC2\EOT\185\EOT\NAK\EM\n\ + \\\\n\ + \\ETX\EOT\EOT\ENQ\DC2\EOT\188\EOT\STX\SUB\SUBO The following extension IDs are reserved for private use by any organization.\n\ + \\n\ + \\f\n\ + \\EOT\EOT\EOT\ENQ\SOH\DC2\EOT\188\EOT\r\EM\n\ + \\r\n\ + \\ENQ\EOT\EOT\ENQ\SOH\SOH\DC2\EOT\188\EOT\r\DC1\n\ + \\r\n\ + \\ENQ\EOT\EOT\ENQ\SOH\STX\DC2\EOT\188\EOT\NAK\EM\n\ + \Y\n\ + \\STX\EOT\ENQ\DC2\ACK\192\EOT\NUL\154\ENQ\SOH\SUBK An alert, indicating some sort of incident in the public transit network.\n\ + \\n\ + \\v\n\ + \\ETX\EOT\ENQ\SOH\DC2\EOT\192\EOT\b\r\n\ + \\212\SOH\n\ + \\EOT\EOT\ENQ\STX\NUL\DC2\EOT\196\EOT\STX'\SUB\197\SOH Time when the alert should be shown to the user. If missing, the\n\ + \ alert will be shown as long as it appears in the feed.\n\ + \ If multiple ranges are given, the alert will be shown during all of them.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\NUL\EOT\DC2\EOT\196\EOT\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\NUL\ACK\DC2\EOT\196\EOT\v\DC4\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\NUL\SOH\DC2\EOT\196\EOT\NAK\"\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\NUL\ETX\DC2\EOT\196\EOT%&\n\ + \D\n\ + \\EOT\EOT\ENQ\STX\SOH\DC2\EOT\199\EOT\STX.\SUB6 Entities whose users we should notify of this alert.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\SOH\EOT\DC2\EOT\199\EOT\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\SOH\ACK\DC2\EOT\199\EOT\v\EM\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\SOH\SOH\DC2\EOT\199\EOT\SUB)\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\SOH\ETX\DC2\EOT\199\EOT,-\n\ + \&\n\ + \\EOT\EOT\ENQ\EOT\NUL\DC2\ACK\202\EOT\STX\215\EOT\ETX\SUB\SYN Cause of this alert.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\ENQ\EOT\NUL\SOH\DC2\EOT\202\EOT\a\f\n\ + \\SO\n\ + \\ACK\EOT\ENQ\EOT\NUL\STX\NUL\DC2\EOT\203\EOT\EOT\SYN\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\NUL\STX\NUL\SOH\DC2\EOT\203\EOT\EOT\DC1\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\NUL\STX\NUL\STX\DC2\EOT\203\EOT\DC4\NAK\n\ + \,\n\ + \\ACK\EOT\ENQ\EOT\NUL\STX\SOH\DC2\EOT\204\EOT\EOT\DC4\"\FS Not machine-representable.\n\ + \\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\NUL\STX\SOH\SOH\DC2\EOT\204\EOT\EOT\SI\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\NUL\STX\SOH\STX\DC2\EOT\204\EOT\DC2\DC3\n\ + \\SO\n\ + \\ACK\EOT\ENQ\EOT\NUL\STX\STX\DC2\EOT\205\EOT\EOT\SUB\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\NUL\STX\STX\SOH\DC2\EOT\205\EOT\EOT\NAK\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\NUL\STX\STX\STX\DC2\EOT\205\EOT\CAN\EM\n\ + \B\n\ + \\ACK\EOT\ENQ\EOT\NUL\STX\ETX\DC2\EOT\206\EOT\EOT\SI\"2 Public transit agency employees stopped working.\n\ + \\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\NUL\STX\ETX\SOH\DC2\EOT\206\EOT\EOT\n\ + \\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\NUL\STX\ETX\STX\DC2\EOT\206\EOT\r\SO\n\ + \2\n\ + \\ACK\EOT\ENQ\EOT\NUL\STX\EOT\DC2\EOT\207\EOT\EOT\SYN\"\" People are blocking the streets.\n\ + \\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\NUL\STX\EOT\SOH\DC2\EOT\207\EOT\EOT\DC1\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\NUL\STX\EOT\STX\DC2\EOT\207\EOT\DC4\NAK\n\ + \\SO\n\ + \\ACK\EOT\ENQ\EOT\NUL\STX\ENQ\DC2\EOT\208\EOT\EOT\DC1\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\NUL\STX\ENQ\SOH\DC2\EOT\208\EOT\EOT\f\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\NUL\STX\ENQ\STX\DC2\EOT\208\EOT\SI\DLE\n\ + \\SO\n\ + \\ACK\EOT\ENQ\EOT\NUL\STX\ACK\DC2\EOT\209\EOT\EOT\DLE\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\NUL\STX\ACK\SOH\DC2\EOT\209\EOT\EOT\v\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\NUL\STX\ACK\STX\DC2\EOT\209\EOT\SO\SI\n\ + \\SO\n\ + \\ACK\EOT\ENQ\EOT\NUL\STX\a\DC2\EOT\210\EOT\EOT\DLE\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\NUL\STX\a\SOH\DC2\EOT\210\EOT\EOT\v\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\NUL\STX\a\STX\DC2\EOT\210\EOT\SO\SI\n\ + \\SO\n\ + \\ACK\EOT\ENQ\EOT\NUL\STX\b\DC2\EOT\211\EOT\EOT\DC4\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\NUL\STX\b\SOH\DC2\EOT\211\EOT\EOT\SI\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\NUL\STX\b\STX\DC2\EOT\211\EOT\DC2\DC3\n\ + \\SO\n\ + \\ACK\EOT\ENQ\EOT\NUL\STX\t\DC2\EOT\212\EOT\EOT\SYN\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\NUL\STX\t\SOH\DC2\EOT\212\EOT\EOT\DLE\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\NUL\STX\t\STX\DC2\EOT\212\EOT\DC3\NAK\n\ + \\SO\n\ + \\ACK\EOT\ENQ\EOT\NUL\STX\n\ + \\DC2\EOT\213\EOT\EOT\EM\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\NUL\STX\n\ + \\SOH\DC2\EOT\213\EOT\EOT\DC3\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\NUL\STX\n\ + \\STX\DC2\EOT\213\EOT\SYN\CAN\n\ + \\SO\n\ + \\ACK\EOT\ENQ\EOT\NUL\STX\v\DC2\EOT\214\EOT\EOT\ESC\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\NUL\STX\v\SOH\DC2\EOT\214\EOT\EOT\NAK\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\NUL\STX\v\STX\DC2\EOT\214\EOT\CAN\SUB\n\ + \\f\n\ + \\EOT\EOT\ENQ\STX\STX\DC2\EOT\216\EOT\STX5\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\STX\EOT\DC2\EOT\216\EOT\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\STX\ACK\DC2\EOT\216\EOT\v\DLE\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\STX\SOH\DC2\EOT\216\EOT\DC1\SYN\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\STX\ETX\DC2\EOT\216\EOT\EM\SUB\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\STX\b\DC2\EOT\216\EOT\ESC4\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\STX\a\DC2\EOT\216\EOT&3\n\ + \L\n\ + \\EOT\EOT\ENQ\EOT\SOH\DC2\ACK\219\EOT\STX\236\EOT\ETX\SUB< What is the effect of this problem on the affected entity.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\ENQ\EOT\SOH\SOH\DC2\EOT\219\EOT\a\r\n\ + \\SO\n\ + \\ACK\EOT\ENQ\EOT\SOH\STX\NUL\DC2\EOT\220\EOT\EOT\DC3\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\SOH\STX\NUL\SOH\DC2\EOT\220\EOT\EOT\SO\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\SOH\STX\NUL\STX\DC2\EOT\220\EOT\DC1\DC2\n\ + \\SO\n\ + \\ACK\EOT\ENQ\EOT\SOH\STX\SOH\DC2\EOT\221\EOT\EOT\CAN\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\SOH\STX\SOH\SOH\DC2\EOT\221\EOT\EOT\DC3\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\SOH\STX\SOH\STX\DC2\EOT\221\EOT\SYN\ETB\n\ + \\175\SOH\n\ + \\ACK\EOT\ENQ\EOT\SOH\STX\STX\DC2\EOT\226\EOT\EOT\ESC\SUB\158\SOH We don't care about INsignificant delays: they are hard to detect, have\n\ + \ little impact on the user, and would clutter the results as they are too\n\ + \ frequent.\n\ + \\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\SOH\STX\STX\SOH\DC2\EOT\226\EOT\EOT\SYN\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\SOH\STX\STX\STX\DC2\EOT\226\EOT\EM\SUB\n\ + \\SO\n\ + \\ACK\EOT\ENQ\EOT\SOH\STX\ETX\DC2\EOT\228\EOT\EOT\SI\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\SOH\STX\ETX\SOH\DC2\EOT\228\EOT\EOT\n\ + \\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\SOH\STX\ETX\STX\DC2\EOT\228\EOT\r\SO\n\ + \\SO\n\ + \\ACK\EOT\ENQ\EOT\SOH\STX\EOT\DC2\EOT\229\EOT\EOT\ESC\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\SOH\STX\EOT\SOH\DC2\EOT\229\EOT\EOT\SYN\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\SOH\STX\EOT\STX\DC2\EOT\229\EOT\EM\SUB\n\ + \\SO\n\ + \\ACK\EOT\ENQ\EOT\SOH\STX\ENQ\DC2\EOT\230\EOT\EOT\EM\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\SOH\STX\ENQ\SOH\DC2\EOT\230\EOT\EOT\DC4\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\SOH\STX\ENQ\STX\DC2\EOT\230\EOT\ETB\CAN\n\ + \\SO\n\ + \\ACK\EOT\ENQ\EOT\SOH\STX\ACK\DC2\EOT\231\EOT\EOT\NAK\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\SOH\STX\ACK\SOH\DC2\EOT\231\EOT\EOT\DLE\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\SOH\STX\ACK\STX\DC2\EOT\231\EOT\DC3\DC4\n\ + \\SO\n\ + \\ACK\EOT\ENQ\EOT\SOH\STX\a\DC2\EOT\232\EOT\EOT\ETB\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\SOH\STX\a\SOH\DC2\EOT\232\EOT\EOT\DC2\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\SOH\STX\a\STX\DC2\EOT\232\EOT\NAK\SYN\n\ + \\SO\n\ + \\ACK\EOT\ENQ\EOT\SOH\STX\b\DC2\EOT\233\EOT\EOT\DC3\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\SOH\STX\b\SOH\DC2\EOT\233\EOT\EOT\SO\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\SOH\STX\b\STX\DC2\EOT\233\EOT\DC1\DC2\n\ + \\SO\n\ + \\ACK\EOT\ENQ\EOT\SOH\STX\t\DC2\EOT\234\EOT\EOT\DC3\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\SOH\STX\t\SOH\DC2\EOT\234\EOT\EOT\r\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\SOH\STX\t\STX\DC2\EOT\234\EOT\DLE\DC2\n\ + \\SO\n\ + \\ACK\EOT\ENQ\EOT\SOH\STX\n\ + \\DC2\EOT\235\EOT\EOT\GS\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\SOH\STX\n\ + \\SOH\DC2\EOT\235\EOT\EOT\ETB\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\SOH\STX\n\ + \\STX\DC2\EOT\235\EOT\SUB\FS\n\ + \\f\n\ + \\EOT\EOT\ENQ\STX\ETX\DC2\EOT\237\EOT\STX8\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\ETX\EOT\DC2\EOT\237\EOT\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\ETX\ACK\DC2\EOT\237\EOT\v\DC1\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\ETX\SOH\DC2\EOT\237\EOT\DC2\CAN\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\ETX\ETX\DC2\EOT\237\EOT\ESC\FS\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\ETX\b\DC2\EOT\237\EOT\GS7\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\ETX\a\DC2\EOT\237\EOT(6\n\ + \N\n\ + \\EOT\EOT\ENQ\STX\EOT\DC2\EOT\240\EOT\STX$\SUB@ The URL which provides additional information about the alert.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\EOT\EOT\DC2\EOT\240\EOT\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\EOT\ACK\DC2\EOT\240\EOT\v\ESC\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\EOT\SOH\DC2\EOT\240\EOT\FS\US\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\EOT\ETX\DC2\EOT\240\EOT\"#\n\ + \W\n\ + \\EOT\EOT\ENQ\STX\ENQ\DC2\EOT\243\EOT\STX-\SUBI Alert header. Contains a short summary of the alert text as plain-text.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\ENQ\EOT\DC2\EOT\243\EOT\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\ENQ\ACK\DC2\EOT\243\EOT\v\ESC\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\ENQ\SOH\DC2\EOT\243\EOT\FS'\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\ENQ\ETX\DC2\EOT\243\EOT*,\n\ + \\143\SOH\n\ + \\EOT\EOT\ENQ\STX\ACK\DC2\EOT\247\EOT\STX2\SUB\128\SOH Full description for the alert as plain-text. The information in the\n\ + \ description should add to the information of the header.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\ACK\EOT\DC2\EOT\247\EOT\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\ACK\ACK\DC2\EOT\247\EOT\v\ESC\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\ACK\SOH\DC2\EOT\247\EOT\FS,\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\ACK\ETX\DC2\EOT\247\EOT/1\n\ + \\140\SOH\n\ + \\EOT\EOT\ENQ\STX\a\DC2\EOT\250\EOT\STX1\SUB~ Text for alert header to be used in text-to-speech implementations. This field is the text-to-speech version of header_text.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\a\EOT\DC2\EOT\250\EOT\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\a\ACK\DC2\EOT\250\EOT\v\ESC\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\a\SOH\DC2\EOT\250\EOT\FS+\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\a\ETX\DC2\EOT\250\EOT.0\n\ + \\164\SOH\n\ + \\EOT\EOT\ENQ\STX\b\DC2\EOT\253\EOT\STX6\SUB\149\SOH Text for full description for the alert to be used in text-to-speech implementations. This field is the text-to-speech version of description_text.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\b\EOT\DC2\EOT\253\EOT\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\b\ACK\DC2\EOT\253\EOT\v\ESC\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\b\SOH\DC2\EOT\253\EOT\FS0\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\b\ETX\DC2\EOT\253\EOT35\n\ + \)\n\ + \\EOT\EOT\ENQ\EOT\STX\DC2\ACK\128\ENQ\STX\133\ENQ\ETX\SUB\EM Severity of this alert.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\ENQ\EOT\STX\SOH\DC2\EOT\128\ENQ\a\DC4\n\ + \\SO\n\ + \\ACK\EOT\ENQ\EOT\STX\STX\NUL\DC2\EOT\129\ENQ\b\GS\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\STX\STX\NUL\SOH\DC2\EOT\129\ENQ\b\CAN\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\STX\STX\NUL\STX\DC2\EOT\129\ENQ\ESC\FS\n\ + \\SO\n\ + \\ACK\EOT\ENQ\EOT\STX\STX\SOH\DC2\EOT\130\ENQ\b\DC1\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\STX\STX\SOH\SOH\DC2\EOT\130\ENQ\b\f\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\STX\STX\SOH\STX\DC2\EOT\130\ENQ\SI\DLE\n\ + \\SO\n\ + \\ACK\EOT\ENQ\EOT\STX\STX\STX\DC2\EOT\131\ENQ\b\DC4\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\STX\STX\STX\SOH\DC2\EOT\131\ENQ\b\SI\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\STX\STX\STX\STX\DC2\EOT\131\ENQ\DC2\DC3\n\ + \\SO\n\ + \\ACK\EOT\ENQ\EOT\STX\STX\ETX\DC2\EOT\132\ENQ\b\DC3\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\STX\STX\ETX\SOH\DC2\EOT\132\ENQ\b\SO\n\ + \\SI\n\ + \\a\EOT\ENQ\EOT\STX\STX\ETX\STX\DC2\EOT\132\ENQ\DC1\DC2\n\ + \\f\n\ + \\EOT\EOT\ENQ\STX\t\DC2\EOT\135\ENQ\STXJ\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\t\EOT\DC2\EOT\135\ENQ\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\t\ACK\DC2\EOT\135\ENQ\v\CAN\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\t\SOH\DC2\EOT\135\ENQ\EM'\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\t\ETX\DC2\EOT\135\ENQ*,\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\t\b\DC2\EOT\135\ENQ-I\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\t\a\DC2\EOT\135\ENQ8H\n\ + \\166\EOT\n\ + \\EOT\EOT\ENQ\STX\n\ + \\DC2\EOT\140\ENQ\STX&\SUB\151\EOT TranslatedImage to be displayed along the alert text. Used to explain visually the alert effect of a detour, station closure, etc. The image must enhance the understanding of the alert. Any essential information communicated within the image must also be contained in the alert text.\n\ + \ The following types of images are discouraged : image containing mainly text, marketing or branded images that add no additional information. \n\ + \ NOTE: This field is still experimental, and subject to change. It may be formally adopted in the future.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\n\ + \\EOT\DC2\EOT\140\ENQ\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\n\ + \\ACK\DC2\EOT\140\ENQ\v\SUB\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\n\ + \\SOH\DC2\EOT\140\ENQ\ESC \n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\n\ + \\ETX\DC2\EOT\140\ENQ#%\n\ + \\245\STX\n\ + \\EOT\EOT\ENQ\STX\v\DC2\EOT\145\ENQ\STX8\SUB\230\STX Text describing the appearance of the linked image in the `image` field (e.g., in case the image can't be displayed\n\ + \ or the user can't see the image for accessibility reasons). See the HTML spec for alt image text - https://html.spec.whatwg.org/#alt.\n\ + \ NOTE: This field is still experimental, and subject to change. It may be formally adopted in the future.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\v\EOT\DC2\EOT\145\ENQ\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\v\ACK\DC2\EOT\145\ENQ\v\ESC\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\v\SOH\DC2\EOT\145\ENQ\FS2\n\ + \\r\n\ + \\ENQ\EOT\ENQ\STX\v\ETX\DC2\EOT\145\ENQ57\n\ + \\185\SOH\n\ + \\ETX\EOT\ENQ\ENQ\DC2\EOT\150\ENQ\STX\SUB\SUB\171\SOH The extensions namespace allows 3rd-party developers to extend the\n\ + \ GTFS Realtime Specification in order to add and evaluate new features\n\ + \ and modifications to the spec.\n\ + \\n\ + \\f\n\ + \\EOT\EOT\ENQ\ENQ\NUL\DC2\EOT\150\ENQ\r\EM\n\ + \\r\n\ + \\ENQ\EOT\ENQ\ENQ\NUL\SOH\DC2\EOT\150\ENQ\r\DC1\n\ + \\r\n\ + \\ENQ\EOT\ENQ\ENQ\NUL\STX\DC2\EOT\150\ENQ\NAK\EM\n\ + \\\\n\ + \\ETX\EOT\ENQ\ENQ\DC2\EOT\153\ENQ\STX\SUB\SUBO The following extension IDs are reserved for private use by any organization.\n\ + \\n\ + \\f\n\ + \\EOT\EOT\ENQ\ENQ\SOH\DC2\EOT\153\ENQ\r\EM\n\ + \\r\n\ + \\ENQ\EOT\ENQ\ENQ\SOH\SOH\DC2\EOT\153\ENQ\r\DC1\n\ + \\r\n\ + \\ENQ\EOT\ENQ\ENQ\SOH\STX\DC2\EOT\153\ENQ\NAK\EM\n\ + \\201\SOH\n\ + \\STX\EOT\ACK\DC2\ACK\162\ENQ\NUL\180\ENQ\SOH\SUB\143\SOH A time interval. The interval is considered active at time 't' if 't' is\n\ + \ greater than or equal to the start time and less than the end time.\n\ + \2)\n\ + \ Low level data structures used above.\n\ + \\n\ + \\n\ + \\v\n\ + \\ETX\EOT\ACK\SOH\DC2\EOT\162\ENQ\b\DC1\n\ + \\158\SOH\n\ + \\EOT\EOT\ACK\STX\NUL\DC2\EOT\166\ENQ\STX\FS\SUB\143\SOH Start time, in POSIX time (i.e., number of seconds since January 1st 1970\n\ + \ 00:00:00 UTC).\n\ + \ If missing, the interval starts at minus infinity.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\ACK\STX\NUL\EOT\DC2\EOT\166\ENQ\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\ACK\STX\NUL\ENQ\DC2\EOT\166\ENQ\v\DC1\n\ + \\r\n\ + \\ENQ\EOT\ACK\STX\NUL\SOH\DC2\EOT\166\ENQ\DC2\ETB\n\ + \\r\n\ + \\ENQ\EOT\ACK\STX\NUL\ETX\DC2\EOT\166\ENQ\SUB\ESC\n\ + \\153\SOH\n\ + \\EOT\EOT\ACK\STX\SOH\DC2\EOT\171\ENQ\STX\SUB\SUB\138\SOH End time, in POSIX time (i.e., number of seconds since January 1st 1970\n\ + \ 00:00:00 UTC).\n\ + \ If missing, the interval ends at plus infinity.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\ACK\STX\SOH\EOT\DC2\EOT\171\ENQ\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\ACK\STX\SOH\ENQ\DC2\EOT\171\ENQ\v\DC1\n\ + \\r\n\ + \\ENQ\EOT\ACK\STX\SOH\SOH\DC2\EOT\171\ENQ\DC2\NAK\n\ + \\r\n\ + \\ENQ\EOT\ACK\STX\SOH\ETX\DC2\EOT\171\ENQ\CAN\EM\n\ + \\185\SOH\n\ + \\ETX\EOT\ACK\ENQ\DC2\EOT\176\ENQ\STX\SUB\SUB\171\SOH The extensions namespace allows 3rd-party developers to extend the\n\ + \ GTFS Realtime Specification in order to add and evaluate new features and\n\ + \ modifications to the spec.\n\ + \\n\ + \\f\n\ + \\EOT\EOT\ACK\ENQ\NUL\DC2\EOT\176\ENQ\r\EM\n\ + \\r\n\ + \\ENQ\EOT\ACK\ENQ\NUL\SOH\DC2\EOT\176\ENQ\r\DC1\n\ + \\r\n\ + \\ENQ\EOT\ACK\ENQ\NUL\STX\DC2\EOT\176\ENQ\NAK\EM\n\ + \\\\n\ + \\ETX\EOT\ACK\ENQ\DC2\EOT\179\ENQ\STX\SUB\SUBO The following extension IDs are reserved for private use by any organization.\n\ + \\n\ + \\f\n\ + \\EOT\EOT\ACK\ENQ\SOH\DC2\EOT\179\ENQ\r\EM\n\ + \\r\n\ + \\ENQ\EOT\ACK\ENQ\SOH\SOH\DC2\EOT\179\ENQ\r\DC1\n\ + \\r\n\ + \\ENQ\EOT\ACK\ENQ\SOH\STX\DC2\EOT\179\ENQ\NAK\EM\n\ + \\ESC\n\ + \\STX\EOT\a\DC2\ACK\183\ENQ\NUL\209\ENQ\SOH\SUB\r A position.\n\ + \\n\ + \\v\n\ + \\ETX\EOT\a\SOH\DC2\EOT\183\ENQ\b\DLE\n\ + \?\n\ + \\EOT\EOT\a\STX\NUL\DC2\EOT\185\ENQ\STX\RS\SUB1 Degrees North, in the WGS-84 coordinate system.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\a\STX\NUL\EOT\DC2\EOT\185\ENQ\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\a\STX\NUL\ENQ\DC2\EOT\185\ENQ\v\DLE\n\ + \\r\n\ + \\ENQ\EOT\a\STX\NUL\SOH\DC2\EOT\185\ENQ\DC1\EM\n\ + \\r\n\ + \\ENQ\EOT\a\STX\NUL\ETX\DC2\EOT\185\ENQ\FS\GS\n\ + \>\n\ + \\EOT\EOT\a\STX\SOH\DC2\EOT\188\ENQ\STX\US\SUB0 Degrees East, in the WGS-84 coordinate system.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\a\STX\SOH\EOT\DC2\EOT\188\ENQ\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\a\STX\SOH\ENQ\DC2\EOT\188\ENQ\v\DLE\n\ + \\r\n\ + \\ENQ\EOT\a\STX\SOH\SOH\DC2\EOT\188\ENQ\DC1\SUB\n\ + \\r\n\ + \\ENQ\EOT\a\STX\SOH\ETX\DC2\EOT\188\ENQ\GS\RS\n\ + \\186\STX\n\ + \\EOT\EOT\a\STX\STX\DC2\EOT\195\ENQ\STX\GS\SUB\171\STX Bearing, in degrees, clockwise from North, i.e., 0 is North and 90 is East.\n\ + \ This can be the compass bearing, or the direction towards the next stop\n\ + \ or intermediate location.\n\ + \ This should not be direction deduced from the sequence of previous\n\ + \ positions, which can be computed from previous data.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\a\STX\STX\EOT\DC2\EOT\195\ENQ\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\a\STX\STX\ENQ\DC2\EOT\195\ENQ\v\DLE\n\ + \\r\n\ + \\ENQ\EOT\a\STX\STX\SOH\DC2\EOT\195\ENQ\DC1\CAN\n\ + \\r\n\ + \\ENQ\EOT\a\STX\STX\ETX\DC2\EOT\195\ENQ\ESC\FS\n\ + \*\n\ + \\EOT\EOT\a\STX\ETX\DC2\EOT\198\ENQ\STX\US\SUB\FS Odometer value, in meters.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\a\STX\ETX\EOT\DC2\EOT\198\ENQ\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\a\STX\ETX\ENQ\DC2\EOT\198\ENQ\v\DC1\n\ + \\r\n\ + \\ENQ\EOT\a\STX\ETX\SOH\DC2\EOT\198\ENQ\DC2\SUB\n\ + \\r\n\ + \\ENQ\EOT\a\STX\ETX\ETX\DC2\EOT\198\ENQ\GS\RS\n\ + \N\n\ + \\EOT\EOT\a\STX\EOT\DC2\EOT\200\ENQ\STX\ESC\SUB@ Momentary speed measured by the vehicle, in meters per second.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\a\STX\EOT\EOT\DC2\EOT\200\ENQ\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\a\STX\EOT\ENQ\DC2\EOT\200\ENQ\v\DLE\n\ + \\r\n\ + \\ENQ\EOT\a\STX\EOT\SOH\DC2\EOT\200\ENQ\DC1\SYN\n\ + \\r\n\ + \\ENQ\EOT\a\STX\EOT\ETX\DC2\EOT\200\ENQ\EM\SUB\n\ + \\185\SOH\n\ + \\ETX\EOT\a\ENQ\DC2\EOT\205\ENQ\STX\SUB\SUB\171\SOH The extensions namespace allows 3rd-party developers to extend the\n\ + \ GTFS Realtime Specification in order to add and evaluate new features and\n\ + \ modifications to the spec.\n\ + \\n\ + \\f\n\ + \\EOT\EOT\a\ENQ\NUL\DC2\EOT\205\ENQ\r\EM\n\ + \\r\n\ + \\ENQ\EOT\a\ENQ\NUL\SOH\DC2\EOT\205\ENQ\r\DC1\n\ + \\r\n\ + \\ENQ\EOT\a\ENQ\NUL\STX\DC2\EOT\205\ENQ\NAK\EM\n\ + \\\\n\ + \\ETX\EOT\a\ENQ\DC2\EOT\208\ENQ\STX\SUB\SUBO The following extension IDs are reserved for private use by any organization.\n\ + \\n\ + \\f\n\ + \\EOT\EOT\a\ENQ\SOH\DC2\EOT\208\ENQ\r\EM\n\ + \\r\n\ + \\ENQ\EOT\a\ENQ\SOH\SOH\DC2\EOT\208\ENQ\r\DC1\n\ + \\r\n\ + \\ENQ\EOT\a\ENQ\SOH\STX\DC2\EOT\208\ENQ\NAK\EM\n\ + \\208\EOT\n\ + \\STX\EOT\b\DC2\ACK\220\ENQ\NUL\189\ACK\SOH\SUB\193\EOT A descriptor that identifies an instance of a GTFS trip, or all instances of\n\ + \ a trip along a route.\n\ + \ - To specify a single trip instance, the trip_id (and if necessary,\n\ + \ start_time) is set. If route_id is also set, then it should be same as one\n\ + \ that the given trip corresponds to.\n\ + \ - To specify all the trips along a given route, only the route_id should be\n\ + \ set. Note that if the trip_id is not known, then stop sequence ids in\n\ + \ TripUpdate are not sufficient, and stop_ids must be provided as well. In\n\ + \ addition, absolute arrival/departure times must be provided.\n\ + \\n\ + \\v\n\ + \\ETX\EOT\b\SOH\DC2\EOT\220\ENQ\b\SYN\n\ + \\184\EOT\n\ + \\EOT\EOT\b\STX\NUL\DC2\EOT\227\ENQ\STX\RS\SUB\169\EOT The trip_id from the GTFS feed that this selector refers to.\n\ + \ For non frequency-based trips, this field is enough to uniquely identify\n\ + \ the trip. For frequency-based trip, start_time and start_date might also be\n\ + \ necessary. When schedule_relationship is DUPLICATED within a TripUpdate, the trip_id identifies the trip from\n\ + \ static GTFS to be duplicated. When schedule_relationship is DUPLICATED within a VehiclePosition, the trip_id\n\ + \ identifies the new duplicate trip and must contain the value for the corresponding TripUpdate.TripProperties.trip_id.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\b\STX\NUL\EOT\DC2\EOT\227\ENQ\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\b\STX\NUL\ENQ\DC2\EOT\227\ENQ\v\DC1\n\ + \\r\n\ + \\ENQ\EOT\b\STX\NUL\SOH\DC2\EOT\227\ENQ\DC2\EM\n\ + \\r\n\ + \\ENQ\EOT\b\STX\NUL\ETX\DC2\EOT\227\ENQ\FS\GS\n\ + \H\n\ + \\EOT\EOT\b\STX\SOH\DC2\EOT\230\ENQ\STX\US\SUB: The route_id from the GTFS that this selector refers to.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\b\STX\SOH\EOT\DC2\EOT\230\ENQ\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\b\STX\SOH\ENQ\DC2\EOT\230\ENQ\v\DC1\n\ + \\r\n\ + \\ENQ\EOT\b\STX\SOH\SOH\DC2\EOT\230\ENQ\DC2\SUB\n\ + \\r\n\ + \\ENQ\EOT\b\STX\SOH\ETX\DC2\EOT\230\ENQ\GS\RS\n\ + \\138\SOH\n\ + \\EOT\EOT\b\STX\STX\DC2\EOT\234\ENQ\STX#\SUB| The direction_id from the GTFS feed trips.txt file, indicating the\n\ + \ direction of travel for trips this selector refers to.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\b\STX\STX\EOT\DC2\EOT\234\ENQ\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\b\STX\STX\ENQ\DC2\EOT\234\ENQ\v\DC1\n\ + \\r\n\ + \\ENQ\EOT\b\STX\STX\SOH\DC2\EOT\234\ENQ\DC2\RS\n\ + \\r\n\ + \\ENQ\EOT\b\STX\STX\ETX\DC2\EOT\234\ENQ!\"\n\ + \\245\a\n\ + \\EOT\EOT\b\STX\ETX\DC2\EOT\251\ENQ\STX!\SUB\230\a The initially scheduled start time of this trip instance.\n\ + \ When the trip_id corresponds to a non-frequency-based trip, this field\n\ + \ should either be omitted or be equal to the value in the GTFS feed. When\n\ + \ the trip_id correponds to a frequency-based trip, the start_time must be\n\ + \ specified for trip updates and vehicle positions. If the trip corresponds\n\ + \ to exact_times=1 GTFS record, then start_time must be some multiple\n\ + \ (including zero) of headway_secs later than frequencies.txt start_time for\n\ + \ the corresponding time period. If the trip corresponds to exact_times=0,\n\ + \ then its start_time may be arbitrary, and is initially expected to be the\n\ + \ first departure of the trip. Once established, the start_time of this\n\ + \ frequency-based trip should be considered immutable, even if the first\n\ + \ departure time changes -- that time change may instead be reflected in a\n\ + \ StopTimeUpdate.\n\ + \ Format and semantics of the field is same as that of\n\ + \ GTFS/frequencies.txt/start_time, e.g., 11:15:35 or 25:15:35.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\b\STX\ETX\EOT\DC2\EOT\251\ENQ\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\b\STX\ETX\ENQ\DC2\EOT\251\ENQ\v\DC1\n\ + \\r\n\ + \\ENQ\EOT\b\STX\ETX\SOH\DC2\EOT\251\ENQ\DC2\FS\n\ + \\r\n\ + \\ENQ\EOT\b\STX\ETX\ETX\DC2\EOT\251\ENQ\US \n\ + \\199\EOT\n\ + \\EOT\EOT\b\STX\EOT\DC2\EOT\134\ACK\STX!\SUB\184\EOT The scheduled start date of this trip instance.\n\ + \ Must be provided to disambiguate trips that are so late as to collide with\n\ + \ a scheduled trip on a next day. For example, for a train that departs 8:00\n\ + \ and 20:00 every day, and is 12 hours late, there would be two distinct\n\ + \ trips on the same time.\n\ + \ This field can be provided but is not mandatory for schedules in which such\n\ + \ collisions are impossible - for example, a service running on hourly\n\ + \ schedule where a vehicle that is one hour late is not considered to be\n\ + \ related to schedule anymore.\n\ + \ In YYYYMMDD format.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\b\STX\EOT\EOT\DC2\EOT\134\ACK\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\b\STX\EOT\ENQ\DC2\EOT\134\ACK\v\DC1\n\ + \\r\n\ + \\ENQ\EOT\b\STX\EOT\SOH\DC2\EOT\134\ACK\DC2\FS\n\ + \\r\n\ + \\ENQ\EOT\b\STX\EOT\ETX\DC2\EOT\134\ACK\US \n\ + \\219\SOH\n\ + \\EOT\EOT\b\EOT\NUL\DC2\ACK\139\ACK\STX\179\ACK\ETX\SUB\202\SOH The relation between this trip and the static schedule. If a trip is done\n\ + \ in accordance with temporary schedule, not reflected in GTFS, then it\n\ + \ shouldn't be marked as SCHEDULED, but likely as ADDED.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\b\EOT\NUL\SOH\DC2\EOT\139\ACK\a\ESC\n\ + \\145\SOH\n\ + \\ACK\EOT\b\EOT\NUL\STX\NUL\DC2\EOT\142\ACK\EOT\DC2\SUB\128\SOH Trip that is running in accordance with its GTFS schedule, or is close\n\ + \ enough to the scheduled trip to be associated with it.\n\ + \\n\ + \\SI\n\ + \\a\EOT\b\EOT\NUL\STX\NUL\SOH\DC2\EOT\142\ACK\EOT\r\n\ + \\SI\n\ + \\a\EOT\b\EOT\NUL\STX\NUL\STX\DC2\EOT\142\ACK\DLE\DC1\n\ + \\176\EOT\n\ + \\ACK\EOT\b\EOT\NUL\STX\SOH\DC2\EOT\151\ACK\EOT\SO\SUB\159\EOT An extra trip that was added in addition to a running schedule, for\n\ + \ example, to replace a broken vehicle or to respond to sudden passenger\n\ + \ load.\n\ + \ NOTE: Currently, behavior is unspecified for feeds that use this mode. There are discussions on the GTFS GitHub\n\ + \ [(1)](https://github.com/google/transit/issues/106) [(2)](https://github.com/google/transit/pull/221)\n\ + \ [(3)](https://github.com/google/transit/pull/219) around fully specifying or deprecating ADDED trips and the\n\ + \ documentation will be updated when those discussions are finalized.\n\ + \\n\ + \\SI\n\ + \\a\EOT\b\EOT\NUL\STX\SOH\SOH\DC2\EOT\151\ACK\EOT\t\n\ + \\SI\n\ + \\a\EOT\b\EOT\NUL\STX\SOH\STX\DC2\EOT\151\ACK\f\r\n\ + \\226\SOH\n\ + \\ACK\EOT\b\EOT\NUL\STX\STX\DC2\EOT\155\ACK\EOT\DC4\SUB\209\SOH A trip that is running with no schedule associated to it (GTFS frequencies.txt exact_times=0).\n\ + \ Trips with ScheduleRelationship=UNSCHEDULED must also set all StopTimeUpdates.ScheduleRelationship=UNSCHEDULED.\n\ + \\n\ + \\SI\n\ + \\a\EOT\b\EOT\NUL\STX\STX\SOH\DC2\EOT\155\ACK\EOT\SI\n\ + \\SI\n\ + \\a\EOT\b\EOT\NUL\STX\STX\STX\DC2\EOT\155\ACK\DC2\DC3\n\ + \F\n\ + \\ACK\EOT\b\EOT\NUL\STX\ETX\DC2\EOT\158\ACK\EOT\DC1\SUB6 A trip that existed in the schedule but was removed.\n\ + \\n\ + \\SI\n\ + \\a\EOT\b\EOT\NUL\STX\ETX\SOH\DC2\EOT\158\ACK\EOT\f\n\ + \\SI\n\ + \\a\EOT\b\EOT\NUL\STX\ETX\STX\DC2\EOT\158\ACK\SI\DLE\n\ + \^\n\ + \\ACK\EOT\b\EOT\NUL\STX\EOT\DC2\EOT\161\ACK\EOT\DC4\SUB8 Should not be used - for backwards-compatibility only.\n\ + \\"\DC4 [deprecated=true];\n\ + \\n\ + \\SI\n\ + \\a\EOT\b\EOT\NUL\STX\EOT\SOH\DC2\EOT\161\ACK\EOT\SI\n\ + \\SI\n\ + \\a\EOT\b\EOT\NUL\STX\EOT\STX\DC2\EOT\161\ACK\DC2\DC3\n\ + \\157\f\n\ + \\ACK\EOT\b\EOT\NUL\STX\ENQ\DC2\EOT\178\ACK\EOT\DC3\SUB\140\f An extra trip that was added in addition to a running schedule, for example, to replace a broken vehicle or to\n\ + \ respond to sudden passenger load. Used with TripUpdate.TripProperties.trip_id, TripUpdate.TripProperties.start_date,\n\ + \ and TripUpdate.TripProperties.start_time to copy an existing trip from static GTFS but start at a different service\n\ + \ date and/or time. Duplicating a trip is allowed if the service related to the original trip in (CSV) GTFS\n\ + \ (in calendar.txt or calendar_dates.txt) is operating within the next 30 days. The trip to be duplicated is\n\ + \ identified via TripUpdate.TripDescriptor.trip_id. This enumeration does not modify the existing trip referenced by\n\ + \ TripUpdate.TripDescriptor.trip_id - if a producer wants to cancel the original trip, it must publish a separate\n\ + \ TripUpdate with the value of CANCELED. Trips defined in GTFS frequencies.txt with exact_times that is empty or\n\ + \ equal to 0 cannot be duplicated. The VehiclePosition.TripDescriptor.trip_id for the new trip must contain\n\ + \ the matching value from TripUpdate.TripProperties.trip_id and VehiclePosition.TripDescriptor.ScheduleRelationship\n\ + \ must also be set to DUPLICATED.\n\ + \ Existing producers and consumers that were using the ADDED enumeration to represent duplicated trips must follow\n\ + \ the migration guide (https://github.com/google/transit/tree/master/gtfs-realtime/spec/en/examples/migration-duplicated.md)\n\ + \ to transition to the DUPLICATED enumeration.\n\ + \ NOTE: This field is still experimental, and subject to change. It may be formally adopted in the future.\n\ + \\n\ + \\SI\n\ + \\a\EOT\b\EOT\NUL\STX\ENQ\SOH\DC2\EOT\178\ACK\EOT\SO\n\ + \\SI\n\ + \\a\EOT\b\EOT\NUL\STX\ENQ\STX\DC2\EOT\178\ACK\DC1\DC2\n\ + \\f\n\ + \\EOT\EOT\b\STX\ENQ\DC2\EOT\180\ACK\STX:\n\ + \\r\n\ + \\ENQ\EOT\b\STX\ENQ\EOT\DC2\EOT\180\ACK\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\b\STX\ENQ\ACK\DC2\EOT\180\ACK\v\US\n\ + \\r\n\ + \\ENQ\EOT\b\STX\ENQ\SOH\DC2\EOT\180\ACK 5\n\ + \\r\n\ + \\ENQ\EOT\b\STX\ENQ\ETX\DC2\EOT\180\ACK89\n\ + \\185\SOH\n\ + \\ETX\EOT\b\ENQ\DC2\EOT\185\ACK\STX\SUB\SUB\171\SOH The extensions namespace allows 3rd-party developers to extend the\n\ + \ GTFS Realtime Specification in order to add and evaluate new features and\n\ + \ modifications to the spec.\n\ + \\n\ + \\f\n\ + \\EOT\EOT\b\ENQ\NUL\DC2\EOT\185\ACK\r\EM\n\ + \\r\n\ + \\ENQ\EOT\b\ENQ\NUL\SOH\DC2\EOT\185\ACK\r\DC1\n\ + \\r\n\ + \\ENQ\EOT\b\ENQ\NUL\STX\DC2\EOT\185\ACK\NAK\EM\n\ + \\\\n\ + \\ETX\EOT\b\ENQ\DC2\EOT\188\ACK\STX\SUB\SUBO The following extension IDs are reserved for private use by any organization.\n\ + \\n\ + \\f\n\ + \\EOT\EOT\b\ENQ\SOH\DC2\EOT\188\ACK\r\EM\n\ + \\r\n\ + \\ENQ\EOT\b\ENQ\SOH\SOH\DC2\EOT\188\ACK\r\DC1\n\ + \\r\n\ + \\ENQ\EOT\b\ENQ\SOH\STX\DC2\EOT\188\ACK\NAK\EM\n\ + \O\n\ + \\STX\EOT\t\DC2\ACK\192\ACK\NUL\212\ACK\SOH\SUBA Identification information for the vehicle performing the trip.\n\ + \\n\ + \\v\n\ + \\ETX\EOT\t\SOH\DC2\EOT\192\ACK\b\EM\n\ + \\171\SOH\n\ + \\EOT\EOT\t\STX\NUL\DC2\EOT\196\ACK\STX\EM\SUB\156\SOH Internal system identification of the vehicle. Should be unique per\n\ + \ vehicle, and can be used for tracking the vehicle as it proceeds through\n\ + \ the system.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\t\STX\NUL\EOT\DC2\EOT\196\ACK\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\t\STX\NUL\ENQ\DC2\EOT\196\ACK\v\DC1\n\ + \\r\n\ + \\ENQ\EOT\t\STX\NUL\SOH\DC2\EOT\196\ACK\DC2\DC4\n\ + \\r\n\ + \\ENQ\EOT\t\STX\NUL\ETX\DC2\EOT\196\ACK\ETB\CAN\n\ + \~\n\ + \\EOT\EOT\t\STX\SOH\DC2\EOT\200\ACK\STX\FS\SUBp User visible label, i.e., something that must be shown to the passenger to\n\ + \ help identify the correct vehicle.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\t\STX\SOH\EOT\DC2\EOT\200\ACK\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\t\STX\SOH\ENQ\DC2\EOT\200\ACK\v\DC1\n\ + \\r\n\ + \\ENQ\EOT\t\STX\SOH\SOH\DC2\EOT\200\ACK\DC2\ETB\n\ + \\r\n\ + \\ENQ\EOT\t\STX\SOH\ETX\DC2\EOT\200\ACK\SUB\ESC\n\ + \1\n\ + \\EOT\EOT\t\STX\STX\DC2\EOT\203\ACK\STX$\SUB# The license plate of the vehicle.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\t\STX\STX\EOT\DC2\EOT\203\ACK\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\t\STX\STX\ENQ\DC2\EOT\203\ACK\v\DC1\n\ + \\r\n\ + \\ENQ\EOT\t\STX\STX\SOH\DC2\EOT\203\ACK\DC2\US\n\ + \\r\n\ + \\ENQ\EOT\t\STX\STX\ETX\DC2\EOT\203\ACK\"#\n\ + \\185\SOH\n\ + \\ETX\EOT\t\ENQ\DC2\EOT\208\ACK\STX\SUB\SUB\171\SOH The extensions namespace allows 3rd-party developers to extend the\n\ + \ GTFS Realtime Specification in order to add and evaluate new features and\n\ + \ modifications to the spec.\n\ + \\n\ + \\f\n\ + \\EOT\EOT\t\ENQ\NUL\DC2\EOT\208\ACK\r\EM\n\ + \\r\n\ + \\ENQ\EOT\t\ENQ\NUL\SOH\DC2\EOT\208\ACK\r\DC1\n\ + \\r\n\ + \\ENQ\EOT\t\ENQ\NUL\STX\DC2\EOT\208\ACK\NAK\EM\n\ + \\\\n\ + \\ETX\EOT\t\ENQ\DC2\EOT\211\ACK\STX\SUB\SUBO The following extension IDs are reserved for private use by any organization.\n\ + \\n\ + \\f\n\ + \\EOT\EOT\t\ENQ\SOH\DC2\EOT\211\ACK\r\EM\n\ + \\r\n\ + \\ENQ\EOT\t\ENQ\SOH\SOH\DC2\EOT\211\ACK\r\DC1\n\ + \\r\n\ + \\ENQ\EOT\t\ENQ\SOH\STX\DC2\EOT\211\ACK\NAK\EM\n\ + \8\n\ + \\STX\EOT\n\ + \\DC2\ACK\215\ACK\NUL\237\ACK\SOH\SUB* A selector for an entity in a GTFS feed.\n\ + \\n\ + \\v\n\ + \\ETX\EOT\n\ + \\SOH\DC2\EOT\215\ACK\b\SYN\n\ + \\226\SOH\n\ + \\EOT\EOT\n\ + \\STX\NUL\DC2\EOT\220\ACK\STX \SUB\211\SOH The values of the fields should correspond to the appropriate fields in the\n\ + \ GTFS feed.\n\ + \ At least one specifier must be given. If several are given, then the\n\ + \ matching has to apply to all the given specifiers.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\n\ + \\STX\NUL\EOT\DC2\EOT\220\ACK\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\n\ + \\STX\NUL\ENQ\DC2\EOT\220\ACK\v\DC1\n\ + \\r\n\ + \\ENQ\EOT\n\ + \\STX\NUL\SOH\DC2\EOT\220\ACK\DC2\ESC\n\ + \\r\n\ + \\ENQ\EOT\n\ + \\STX\NUL\ETX\DC2\EOT\220\ACK\RS\US\n\ + \\f\n\ + \\EOT\EOT\n\ + \\STX\SOH\DC2\EOT\221\ACK\STX\US\n\ + \\r\n\ + \\ENQ\EOT\n\ + \\STX\SOH\EOT\DC2\EOT\221\ACK\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\n\ + \\STX\SOH\ENQ\DC2\EOT\221\ACK\v\DC1\n\ + \\r\n\ + \\ENQ\EOT\n\ + \\STX\SOH\SOH\DC2\EOT\221\ACK\DC2\SUB\n\ + \\r\n\ + \\ENQ\EOT\n\ + \\STX\SOH\ETX\DC2\EOT\221\ACK\GS\RS\n\ + \2\n\ + \\EOT\EOT\n\ + \\STX\STX\DC2\EOT\223\ACK\STX \SUB$ corresponds to route_type in GTFS.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\n\ + \\STX\STX\EOT\DC2\EOT\223\ACK\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\n\ + \\STX\STX\ENQ\DC2\EOT\223\ACK\v\DLE\n\ + \\r\n\ + \\ENQ\EOT\n\ + \\STX\STX\SOH\DC2\EOT\223\ACK\DC1\ESC\n\ + \\r\n\ + \\ENQ\EOT\n\ + \\STX\STX\ETX\DC2\EOT\223\ACK\RS\US\n\ + \\f\n\ + \\EOT\EOT\n\ + \\STX\ETX\DC2\EOT\224\ACK\STX#\n\ + \\r\n\ + \\ENQ\EOT\n\ + \\STX\ETX\EOT\DC2\EOT\224\ACK\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\n\ + \\STX\ETX\ACK\DC2\EOT\224\ACK\v\EM\n\ + \\r\n\ + \\ENQ\EOT\n\ + \\STX\ETX\SOH\DC2\EOT\224\ACK\SUB\RS\n\ + \\r\n\ + \\ENQ\EOT\n\ + \\STX\ETX\ETX\DC2\EOT\224\ACK!\"\n\ + \\f\n\ + \\EOT\EOT\n\ + \\STX\EOT\DC2\EOT\225\ACK\STX\RS\n\ + \\r\n\ + \\ENQ\EOT\n\ + \\STX\EOT\EOT\DC2\EOT\225\ACK\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\n\ + \\STX\EOT\ENQ\DC2\EOT\225\ACK\v\DC1\n\ + \\r\n\ + \\ENQ\EOT\n\ + \\STX\EOT\SOH\DC2\EOT\225\ACK\DC2\EM\n\ + \\r\n\ + \\ENQ\EOT\n\ + \\STX\EOT\ETX\DC2\EOT\225\ACK\FS\GS\n\ + \t\n\ + \\EOT\EOT\n\ + \\STX\ENQ\DC2\EOT\228\ACK\STX#\SUBf Corresponds to trip direction_id in GTFS trips.txt. If provided the\n\ + \ route_id must also be provided.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\n\ + \\STX\ENQ\EOT\DC2\EOT\228\ACK\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\n\ + \\STX\ENQ\ENQ\DC2\EOT\228\ACK\v\DC1\n\ + \\r\n\ + \\ENQ\EOT\n\ + \\STX\ENQ\SOH\DC2\EOT\228\ACK\DC2\RS\n\ + \\r\n\ + \\ENQ\EOT\n\ + \\STX\ENQ\ETX\DC2\EOT\228\ACK!\"\n\ + \\185\SOH\n\ + \\ETX\EOT\n\ + \\ENQ\DC2\EOT\233\ACK\STX\SUB\SUB\171\SOH The extensions namespace allows 3rd-party developers to extend the\n\ + \ GTFS Realtime Specification in order to add and evaluate new features and\n\ + \ modifications to the spec.\n\ + \\n\ + \\f\n\ + \\EOT\EOT\n\ + \\ENQ\NUL\DC2\EOT\233\ACK\r\EM\n\ + \\r\n\ + \\ENQ\EOT\n\ + \\ENQ\NUL\SOH\DC2\EOT\233\ACK\r\DC1\n\ + \\r\n\ + \\ENQ\EOT\n\ + \\ENQ\NUL\STX\DC2\EOT\233\ACK\NAK\EM\n\ + \\\\n\ + \\ETX\EOT\n\ + \\ENQ\DC2\EOT\236\ACK\STX\SUB\SUBO The following extension IDs are reserved for private use by any organization.\n\ + \\n\ + \\f\n\ + \\EOT\EOT\n\ + \\ENQ\SOH\DC2\EOT\236\ACK\r\EM\n\ + \\r\n\ + \\ENQ\EOT\n\ + \\ENQ\SOH\SOH\DC2\EOT\236\ACK\r\DC1\n\ + \\r\n\ + \\ENQ\EOT\n\ + \\ENQ\SOH\STX\DC2\EOT\236\ACK\NAK\EM\n\ + \\155\EOT\n\ + \\STX\EOT\v\DC2\ACK\249\ACK\NUL\148\a\SOH\SUB\140\EOT An internationalized message containing per-language versions of a snippet of\n\ + \ text or a URL.\n\ + \ One of the strings from a message will be picked up. The resolution proceeds\n\ + \ as follows:\n\ + \ 1. If the UI language matches the language code of a translation,\n\ + \ the first matching translation is picked.\n\ + \ 2. If a default UI language (e.g., English) matches the language code of a\n\ + \ translation, the first matching translation is picked.\n\ + \ 3. If some translation has an unspecified language code, that translation is\n\ + \ picked.\n\ + \\n\ + \\v\n\ + \\ETX\EOT\v\SOH\DC2\EOT\249\ACK\b\CAN\n\ + \\SO\n\ + \\EOT\EOT\v\ETX\NUL\DC2\ACK\250\ACK\STX\137\a\ETX\n\ + \\r\n\ + \\ENQ\EOT\v\ETX\NUL\SOH\DC2\EOT\250\ACK\n\ + \\NAK\n\ + \8\n\ + \\ACK\EOT\v\ETX\NUL\STX\NUL\DC2\EOT\252\ACK\EOT\GS\SUB( A UTF-8 string containing the message.\n\ + \\n\ + \\SI\n\ + \\a\EOT\v\ETX\NUL\STX\NUL\EOT\DC2\EOT\252\ACK\EOT\f\n\ + \\SI\n\ + \\a\EOT\v\ETX\NUL\STX\NUL\ENQ\DC2\EOT\252\ACK\r\DC3\n\ + \\SI\n\ + \\a\EOT\v\ETX\NUL\STX\NUL\SOH\DC2\EOT\252\ACK\DC4\CAN\n\ + \\SI\n\ + \\a\EOT\v\ETX\NUL\STX\NUL\ETX\DC2\EOT\252\ACK\ESC\FS\n\ + \\199\SOH\n\ + \\ACK\EOT\v\ETX\NUL\STX\SOH\DC2\EOT\128\a\EOT!\SUB\182\SOH BCP-47 language code. Can be omitted if the language is unknown or if\n\ + \ no i18n is done at all for the feed. At most one translation is\n\ + \ allowed to have an unspecified language tag.\n\ + \\n\ + \\SI\n\ + \\a\EOT\v\ETX\NUL\STX\SOH\EOT\DC2\EOT\128\a\EOT\f\n\ + \\SI\n\ + \\a\EOT\v\ETX\NUL\STX\SOH\ENQ\DC2\EOT\128\a\r\DC3\n\ + \\SI\n\ + \\a\EOT\v\ETX\NUL\STX\SOH\SOH\DC2\EOT\128\a\DC4\FS\n\ + \\SI\n\ + \\a\EOT\v\ETX\NUL\STX\SOH\ETX\DC2\EOT\128\a\US \n\ + \\187\SOH\n\ + \\ENQ\EOT\v\ETX\NUL\ENQ\DC2\EOT\133\a\EOT\FS\SUB\171\SOH The extensions namespace allows 3rd-party developers to extend the\n\ + \ GTFS Realtime Specification in order to add and evaluate new features and\n\ + \ modifications to the spec.\n\ + \\n\ + \\SO\n\ + \\ACK\EOT\v\ETX\NUL\ENQ\NUL\DC2\EOT\133\a\SI\ESC\n\ + \\SI\n\ + \\a\EOT\v\ETX\NUL\ENQ\NUL\SOH\DC2\EOT\133\a\SI\DC3\n\ + \\SI\n\ + \\a\EOT\v\ETX\NUL\ENQ\NUL\STX\DC2\EOT\133\a\ETB\ESC\n\ + \^\n\ + \\ENQ\EOT\v\ETX\NUL\ENQ\DC2\EOT\136\a\EOT\FS\SUBO The following extension IDs are reserved for private use by any organization.\n\ + \\n\ + \\SO\n\ + \\ACK\EOT\v\ETX\NUL\ENQ\SOH\DC2\EOT\136\a\SI\ESC\n\ + \\SI\n\ + \\a\EOT\v\ETX\NUL\ENQ\SOH\SOH\DC2\EOT\136\a\SI\DC3\n\ + \\SI\n\ + \\a\EOT\v\ETX\NUL\ENQ\SOH\STX\DC2\EOT\136\a\ETB\ESC\n\ + \:\n\ + \\EOT\EOT\v\STX\NUL\DC2\EOT\139\a\STX'\SUB, At least one translation must be provided.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\v\STX\NUL\EOT\DC2\EOT\139\a\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\v\STX\NUL\ACK\DC2\EOT\139\a\v\SYN\n\ + \\r\n\ + \\ENQ\EOT\v\STX\NUL\SOH\DC2\EOT\139\a\ETB\"\n\ + \\r\n\ + \\ENQ\EOT\v\STX\NUL\ETX\DC2\EOT\139\a%&\n\ + \\185\SOH\n\ + \\ETX\EOT\v\ENQ\DC2\EOT\144\a\STX\SUB\SUB\171\SOH The extensions namespace allows 3rd-party developers to extend the\n\ + \ GTFS Realtime Specification in order to add and evaluate new features and\n\ + \ modifications to the spec.\n\ + \\n\ + \\f\n\ + \\EOT\EOT\v\ENQ\NUL\DC2\EOT\144\a\r\EM\n\ + \\r\n\ + \\ENQ\EOT\v\ENQ\NUL\SOH\DC2\EOT\144\a\r\DC1\n\ + \\r\n\ + \\ENQ\EOT\v\ENQ\NUL\STX\DC2\EOT\144\a\NAK\EM\n\ + \\\\n\ + \\ETX\EOT\v\ENQ\DC2\EOT\147\a\STX\SUB\SUBO The following extension IDs are reserved for private use by any organization.\n\ + \\n\ + \\f\n\ + \\EOT\EOT\v\ENQ\SOH\DC2\EOT\147\a\r\EM\n\ + \\r\n\ + \\ENQ\EOT\v\ENQ\SOH\SOH\DC2\EOT\147\a\r\DC1\n\ + \\r\n\ + \\ENQ\EOT\v\ENQ\SOH\STX\DC2\EOT\147\a\NAK\EM\n\ + \\173\ENQ\n\ + \\STX\EOT\f\DC2\ACK\161\a\NUL\197\a\SOH\SUB\158\ENQ An internationalized image containing per-language versions of a URL linking to an image\n\ + \ along with meta information\n\ + \ Only one of the images from a message will be retained by consumers. The resolution proceeds\n\ + \ as follows:\n\ + \ 1. If the UI language matches the language code of a translation,\n\ + \ the first matching translation is picked.\n\ + \ 2. If a default UI language (e.g., English) matches the language code of a\n\ + \ translation, the first matching translation is picked.\n\ + \ 3. If some translation has an unspecified language code, that translation is\n\ + \ picked.\n\ + \ NOTE: This field is still experimental, and subject to change. It may be formally adopted in the future.\n\ + \\n\ + \\v\n\ + \\ETX\EOT\f\SOH\DC2\EOT\161\a\b\ETB\n\ + \\SO\n\ + \\EOT\EOT\f\ETX\NUL\DC2\ACK\162\a\STX\186\a\ETX\n\ + \\r\n\ + \\ENQ\EOT\f\ETX\NUL\SOH\DC2\EOT\162\a\n\ + \\CAN\n\ + \\151\EOT\n\ + \\ACK\EOT\f\ETX\NUL\STX\NUL\DC2\EOT\167\a\EOT\FS\SUB\134\EOT String containing an URL linking to an image\n\ + \ The image linked must be less than 2MB. \n\ + \ If an image changes in a significant enough way that an update is required on the consumer side, the producer must update the URL to a new one.\n\ + \ The URL should be a fully qualified URL that includes http:// or https://, and any special characters in the URL must be correctly escaped. See the following\194\160https://www.w3.org/Addressing/URL/4_URI_Recommentations.html\194\160for a description of how to create fully qualified URL values.\n\ + \\n\ + \\SI\n\ + \\a\EOT\f\ETX\NUL\STX\NUL\EOT\DC2\EOT\167\a\EOT\f\n\ + \\SI\n\ + \\a\EOT\f\ETX\NUL\STX\NUL\ENQ\DC2\EOT\167\a\r\DC3\n\ + \\SI\n\ + \\a\EOT\f\ETX\NUL\STX\NUL\SOH\DC2\EOT\167\a\DC4\ETB\n\ + \\SI\n\ + \\a\EOT\f\ETX\NUL\STX\NUL\ETX\DC2\EOT\167\a\SUB\ESC\n\ + \v\n\ + \\ACK\EOT\f\ETX\NUL\STX\SOH\DC2\EOT\171\a\EOT#\SUBf IANA media type as to specify the type of image to be displayed. \n\ + \ The type must start with \"image/\"\n\ + \\n\ + \\SI\n\ + \\a\EOT\f\ETX\NUL\STX\SOH\EOT\DC2\EOT\171\a\EOT\f\n\ + \\SI\n\ + \\a\EOT\f\ETX\NUL\STX\SOH\ENQ\DC2\EOT\171\a\r\DC3\n\ + \\SI\n\ + \\a\EOT\f\ETX\NUL\STX\SOH\SOH\DC2\EOT\171\a\DC4\RS\n\ + \\SI\n\ + \\a\EOT\f\ETX\NUL\STX\SOH\ETX\DC2\EOT\171\a!\"\n\ + \\199\SOH\n\ + \\ACK\EOT\f\ETX\NUL\STX\STX\DC2\EOT\176\a\EOT!\SUB\182\SOH BCP-47 language code. Can be omitted if the language is unknown or if\n\ + \ no i18n is done at all for the feed. At most one translation is\n\ + \ allowed to have an unspecified language tag.\n\ + \\n\ + \\SI\n\ + \\a\EOT\f\ETX\NUL\STX\STX\EOT\DC2\EOT\176\a\EOT\f\n\ + \\SI\n\ + \\a\EOT\f\ETX\NUL\STX\STX\ENQ\DC2\EOT\176\a\r\DC3\n\ + \\SI\n\ + \\a\EOT\f\ETX\NUL\STX\STX\SOH\DC2\EOT\176\a\DC4\FS\n\ + \\SI\n\ + \\a\EOT\f\ETX\NUL\STX\STX\ETX\DC2\EOT\176\a\US \n\ + \\187\SOH\n\ + \\ENQ\EOT\f\ETX\NUL\ENQ\DC2\EOT\182\a\EOT\FS\SUB\171\SOH The extensions namespace allows 3rd-party developers to extend the\n\ + \ GTFS Realtime Specification in order to add and evaluate new features and\n\ + \ modifications to the spec.\n\ + \\n\ + \\SO\n\ + \\ACK\EOT\f\ETX\NUL\ENQ\NUL\DC2\EOT\182\a\SI\ESC\n\ + \\SI\n\ + \\a\EOT\f\ETX\NUL\ENQ\NUL\SOH\DC2\EOT\182\a\SI\DC3\n\ + \\SI\n\ + \\a\EOT\f\ETX\NUL\ENQ\NUL\STX\DC2\EOT\182\a\ETB\ESC\n\ + \^\n\ + \\ENQ\EOT\f\ETX\NUL\ENQ\DC2\EOT\185\a\EOT\FS\SUBO The following extension IDs are reserved for private use by any organization.\n\ + \\n\ + \\SO\n\ + \\ACK\EOT\f\ETX\NUL\ENQ\SOH\DC2\EOT\185\a\SI\ESC\n\ + \\SI\n\ + \\a\EOT\f\ETX\NUL\ENQ\SOH\SOH\DC2\EOT\185\a\SI\DC3\n\ + \\SI\n\ + \\a\EOT\f\ETX\NUL\ENQ\SOH\STX\DC2\EOT\185\a\ETB\ESC\n\ + \>\n\ + \\EOT\EOT\f\STX\NUL\DC2\EOT\188\a\STX.\SUB0 At least one localized image must be provided.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\f\STX\NUL\EOT\DC2\EOT\188\a\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\f\STX\NUL\ACK\DC2\EOT\188\a\v\EM\n\ + \\r\n\ + \\ENQ\EOT\f\STX\NUL\SOH\DC2\EOT\188\a\SUB)\n\ + \\r\n\ + \\ENQ\EOT\f\STX\NUL\ETX\DC2\EOT\188\a,-\n\ + \\185\SOH\n\ + \\ETX\EOT\f\ENQ\DC2\EOT\193\a\STX\SUB\SUB\171\SOH The extensions namespace allows 3rd-party developers to extend the\n\ + \ GTFS Realtime Specification in order to add and evaluate new features and\n\ + \ modifications to the spec.\n\ + \\n\ + \\f\n\ + \\EOT\EOT\f\ENQ\NUL\DC2\EOT\193\a\r\EM\n\ + \\r\n\ + \\ENQ\EOT\f\ENQ\NUL\SOH\DC2\EOT\193\a\r\DC1\n\ + \\r\n\ + \\ENQ\EOT\f\ENQ\NUL\STX\DC2\EOT\193\a\NAK\EM\n\ + \\\\n\ + \\ETX\EOT\f\ENQ\DC2\EOT\196\a\STX\SUB\SUBO The following extension IDs are reserved for private use by any organization.\n\ + \\n\ + \\f\n\ + \\EOT\EOT\f\ENQ\SOH\DC2\EOT\196\a\r\EM\n\ + \\r\n\ + \\ENQ\EOT\f\ENQ\SOH\SOH\DC2\EOT\196\a\r\DC1\n\ + \\r\n\ + \\ENQ\EOT\f\ENQ\SOH\STX\DC2\EOT\196\a\NAK\EM\n\ + \\198\EOT\n\ + \\STX\EOT\r\DC2\ACK\205\a\NUL\226\a\SOH\SUB\183\EOT Describes the physical path that a vehicle takes when it's not part of the (CSV) GTFS,\n\ + \ such as for a detour. Shapes belong to Trips, and consist of a sequence of shape points.\n\ + \ Tracing the points in order provides the path of the vehicle. Shapes do not need to intercept\n\ + \ the location of Stops exactly, but all Stops on a trip should lie within a small distance of\n\ + \ the shape for that trip, i.e. close to straight line segments connecting the shape points\n\ + \ NOTE: This message is still experimental, and subject to change. It may be formally adopted in the future.\n\ + \\n\ + \\v\n\ + \\ETX\EOT\r\SOH\DC2\EOT\205\a\b\r\n\ + \\155\ETX\n\ + \\EOT\EOT\r\STX\NUL\DC2\EOT\210\a\STX\US\SUB\140\ETX Identifier of the shape. Must be different than any shape_id defined in the (CSV) GTFS.\n\ + \ This field is required as per reference.md, but needs to be specified here optional because \"Required is Forever\"\n\ + \ See https://developers.google.com/protocol-buffers/docs/proto#specifying_field_rules\n\ + \ NOTE: This field is still experimental, and subject to change. It may be formally adopted in the future.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\r\STX\NUL\EOT\DC2\EOT\210\a\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\r\STX\NUL\ENQ\DC2\EOT\210\a\v\DC1\n\ + \\r\n\ + \\ENQ\EOT\r\STX\NUL\SOH\DC2\EOT\210\a\DC2\SUB\n\ + \\r\n\ + \\ENQ\EOT\r\STX\NUL\ETX\DC2\EOT\210\a\GS\RS\n\ + \\161\EOT\n\ + \\EOT\EOT\r\STX\SOH\DC2\EOT\217\a\STX'\SUB\146\EOT Encoded polyline representation of the shape. This polyline must contain at least two points.\n\ + \ For more information about encoded polylines, see https://developers.google.com/maps/documentation/utilities/polylinealgorithm\n\ + \ This field is required as per reference.md, but needs to be specified here optional because \"Required is Forever\"\n\ + \ See https://developers.google.com/protocol-buffers/docs/proto#specifying_field_rules\n\ + \ NOTE: This field is still experimental, and subject to change. It may be formally adopted in the future.\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\r\STX\SOH\EOT\DC2\EOT\217\a\STX\n\ + \\n\ + \\r\n\ + \\ENQ\EOT\r\STX\SOH\ENQ\DC2\EOT\217\a\v\DC1\n\ + \\r\n\ + \\ENQ\EOT\r\STX\SOH\SOH\DC2\EOT\217\a\DC2\"\n\ + \\r\n\ + \\ENQ\EOT\r\STX\SOH\ETX\DC2\EOT\217\a%&\n\ + \\185\SOH\n\ + \\ETX\EOT\r\ENQ\DC2\EOT\222\a\STX\SUB\SUB\171\SOH The extensions namespace allows 3rd-party developers to extend the\n\ + \ GTFS Realtime Specification in order to add and evaluate new features and\n\ + \ modifications to the spec.\n\ + \\n\ + \\f\n\ + \\EOT\EOT\r\ENQ\NUL\DC2\EOT\222\a\r\EM\n\ + \\r\n\ + \\ENQ\EOT\r\ENQ\NUL\SOH\DC2\EOT\222\a\r\DC1\n\ + \\r\n\ + \\ENQ\EOT\r\ENQ\NUL\STX\DC2\EOT\222\a\NAK\EM\n\ + \\\\n\ + \\ETX\EOT\r\ENQ\DC2\EOT\225\a\STX\SUB\SUBO The following extension IDs are reserved for private use by any organization.\n\ + \\n\ + \\f\n\ + \\EOT\EOT\r\ENQ\SOH\DC2\EOT\225\a\r\EM\n\ + \\r\n\ + \\ENQ\EOT\r\ENQ\SOH\SOH\DC2\EOT\225\a\r\DC1\n\ + \\r\n\ + \\ENQ\EOT\r\ENQ\SOH\STX\DC2\EOT\225\a\NAK\EM" \ No newline at end of file diff --git a/gtfs-realtime/Proto/GtfsRealtime_Fields.hs b/gtfs-realtime/Proto/GtfsRealtime_Fields.hs new file mode 100644 index 0000000..0b2896c --- /dev/null +++ b/gtfs-realtime/Proto/GtfsRealtime_Fields.hs @@ -0,0 +1,818 @@ +{- This file was auto-generated from gtfs-realtime.proto by the proto-lens-protoc program. -} +{-# LANGUAGE ScopedTypeVariables, DataKinds, TypeFamilies, UndecidableInstances, GeneralizedNewtypeDeriving, MultiParamTypeClasses, FlexibleContexts, FlexibleInstances, PatternSynonyms, MagicHash, NoImplicitPrelude, DataKinds, BangPatterns, TypeApplications, OverloadedStrings, DerivingStrategies#-} +{-# OPTIONS_GHC -Wno-unused-imports#-} +{-# OPTIONS_GHC -Wno-duplicate-exports#-} +{-# OPTIONS_GHC -Wno-dodgy-exports#-} +module Proto.GtfsRealtime_Fields where +import qualified Data.ProtoLens.Runtime.Prelude as Prelude +import qualified Data.ProtoLens.Runtime.Data.Int as Data.Int +import qualified Data.ProtoLens.Runtime.Data.Monoid as Data.Monoid +import qualified Data.ProtoLens.Runtime.Data.Word as Data.Word +import qualified Data.ProtoLens.Runtime.Data.ProtoLens as Data.ProtoLens +import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Bytes as Data.ProtoLens.Encoding.Bytes +import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Growing as Data.ProtoLens.Encoding.Growing +import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Parser.Unsafe as Data.ProtoLens.Encoding.Parser.Unsafe +import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Wire as Data.ProtoLens.Encoding.Wire +import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Field as Data.ProtoLens.Field +import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Message.Enum as Data.ProtoLens.Message.Enum +import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Service.Types as Data.ProtoLens.Service.Types +import qualified Data.ProtoLens.Runtime.Lens.Family2 as Lens.Family2 +import qualified Data.ProtoLens.Runtime.Lens.Family2.Unchecked as Lens.Family2.Unchecked +import qualified Data.ProtoLens.Runtime.Data.Text as Data.Text +import qualified Data.ProtoLens.Runtime.Data.Map as Data.Map +import qualified Data.ProtoLens.Runtime.Data.ByteString as Data.ByteString +import qualified Data.ProtoLens.Runtime.Data.ByteString.Char8 as Data.ByteString.Char8 +import qualified Data.ProtoLens.Runtime.Data.Text.Encoding as Data.Text.Encoding +import qualified Data.ProtoLens.Runtime.Data.Vector as Data.Vector +import qualified Data.ProtoLens.Runtime.Data.Vector.Generic as Data.Vector.Generic +import qualified Data.ProtoLens.Runtime.Data.Vector.Unboxed as Data.Vector.Unboxed +import qualified Data.ProtoLens.Runtime.Text.Read as Text.Read +activePeriod :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "activePeriod" a) => + Lens.Family2.LensLike' f s a +activePeriod = Data.ProtoLens.Field.field @"activePeriod" +agencyId :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "agencyId" a) => + Lens.Family2.LensLike' f s a +agencyId = Data.ProtoLens.Field.field @"agencyId" +alert :: + forall f s a. + (Prelude.Functor f, Data.ProtoLens.Field.HasField s "alert" a) => + Lens.Family2.LensLike' f s a +alert = Data.ProtoLens.Field.field @"alert" +arrival :: + forall f s a. + (Prelude.Functor f, Data.ProtoLens.Field.HasField s "arrival" a) => + Lens.Family2.LensLike' f s a +arrival = Data.ProtoLens.Field.field @"arrival" +assignedStopId :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "assignedStopId" a) => + Lens.Family2.LensLike' f s a +assignedStopId = Data.ProtoLens.Field.field @"assignedStopId" +bearing :: + forall f s a. + (Prelude.Functor f, Data.ProtoLens.Field.HasField s "bearing" a) => + Lens.Family2.LensLike' f s a +bearing = Data.ProtoLens.Field.field @"bearing" +carriageSequence :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "carriageSequence" a) => + Lens.Family2.LensLike' f s a +carriageSequence = Data.ProtoLens.Field.field @"carriageSequence" +cause :: + forall f s a. + (Prelude.Functor f, Data.ProtoLens.Field.HasField s "cause" a) => + Lens.Family2.LensLike' f s a +cause = Data.ProtoLens.Field.field @"cause" +congestionLevel :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "congestionLevel" a) => + Lens.Family2.LensLike' f s a +congestionLevel = Data.ProtoLens.Field.field @"congestionLevel" +currentStatus :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "currentStatus" a) => + Lens.Family2.LensLike' f s a +currentStatus = Data.ProtoLens.Field.field @"currentStatus" +currentStopSequence :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "currentStopSequence" a) => + Lens.Family2.LensLike' f s a +currentStopSequence + = Data.ProtoLens.Field.field @"currentStopSequence" +delay :: + forall f s a. + (Prelude.Functor f, Data.ProtoLens.Field.HasField s "delay" a) => + Lens.Family2.LensLike' f s a +delay = Data.ProtoLens.Field.field @"delay" +departure :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "departure" a) => + Lens.Family2.LensLike' f s a +departure = Data.ProtoLens.Field.field @"departure" +departureOccupancyStatus :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "departureOccupancyStatus" a) => + Lens.Family2.LensLike' f s a +departureOccupancyStatus + = Data.ProtoLens.Field.field @"departureOccupancyStatus" +descriptionText :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "descriptionText" a) => + Lens.Family2.LensLike' f s a +descriptionText = Data.ProtoLens.Field.field @"descriptionText" +directionId :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "directionId" a) => + Lens.Family2.LensLike' f s a +directionId = Data.ProtoLens.Field.field @"directionId" +effect :: + forall f s a. + (Prelude.Functor f, Data.ProtoLens.Field.HasField s "effect" a) => + Lens.Family2.LensLike' f s a +effect = Data.ProtoLens.Field.field @"effect" +encodedPolyline :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "encodedPolyline" a) => + Lens.Family2.LensLike' f s a +encodedPolyline = Data.ProtoLens.Field.field @"encodedPolyline" +end :: + forall f s a. + (Prelude.Functor f, Data.ProtoLens.Field.HasField s "end" a) => + Lens.Family2.LensLike' f s a +end = Data.ProtoLens.Field.field @"end" +entity :: + forall f s a. + (Prelude.Functor f, Data.ProtoLens.Field.HasField s "entity" a) => + Lens.Family2.LensLike' f s a +entity = Data.ProtoLens.Field.field @"entity" +gtfsRealtimeVersion :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "gtfsRealtimeVersion" a) => + Lens.Family2.LensLike' f s a +gtfsRealtimeVersion + = Data.ProtoLens.Field.field @"gtfsRealtimeVersion" +header :: + forall f s a. + (Prelude.Functor f, Data.ProtoLens.Field.HasField s "header" a) => + Lens.Family2.LensLike' f s a +header = Data.ProtoLens.Field.field @"header" +headerText :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "headerText" a) => + Lens.Family2.LensLike' f s a +headerText = Data.ProtoLens.Field.field @"headerText" +id :: + forall f s a. + (Prelude.Functor f, Data.ProtoLens.Field.HasField s "id" a) => + Lens.Family2.LensLike' f s a +id = Data.ProtoLens.Field.field @"id" +image :: + forall f s a. + (Prelude.Functor f, Data.ProtoLens.Field.HasField s "image" a) => + Lens.Family2.LensLike' f s a +image = Data.ProtoLens.Field.field @"image" +imageAlternativeText :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "imageAlternativeText" a) => + Lens.Family2.LensLike' f s a +imageAlternativeText + = Data.ProtoLens.Field.field @"imageAlternativeText" +incrementality :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "incrementality" a) => + Lens.Family2.LensLike' f s a +incrementality = Data.ProtoLens.Field.field @"incrementality" +informedEntity :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "informedEntity" a) => + Lens.Family2.LensLike' f s a +informedEntity = Data.ProtoLens.Field.field @"informedEntity" +isDeleted :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "isDeleted" a) => + Lens.Family2.LensLike' f s a +isDeleted = Data.ProtoLens.Field.field @"isDeleted" +label :: + forall f s a. + (Prelude.Functor f, Data.ProtoLens.Field.HasField s "label" a) => + Lens.Family2.LensLike' f s a +label = Data.ProtoLens.Field.field @"label" +language :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "language" a) => + Lens.Family2.LensLike' f s a +language = Data.ProtoLens.Field.field @"language" +latitude :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "latitude" a) => + Lens.Family2.LensLike' f s a +latitude = Data.ProtoLens.Field.field @"latitude" +licensePlate :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "licensePlate" a) => + Lens.Family2.LensLike' f s a +licensePlate = Data.ProtoLens.Field.field @"licensePlate" +localizedImage :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "localizedImage" a) => + Lens.Family2.LensLike' f s a +localizedImage = Data.ProtoLens.Field.field @"localizedImage" +longitude :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "longitude" a) => + Lens.Family2.LensLike' f s a +longitude = Data.ProtoLens.Field.field @"longitude" +maybe'agencyId :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'agencyId" a) => + Lens.Family2.LensLike' f s a +maybe'agencyId = Data.ProtoLens.Field.field @"maybe'agencyId" +maybe'alert :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'alert" a) => + Lens.Family2.LensLike' f s a +maybe'alert = Data.ProtoLens.Field.field @"maybe'alert" +maybe'arrival :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'arrival" a) => + Lens.Family2.LensLike' f s a +maybe'arrival = Data.ProtoLens.Field.field @"maybe'arrival" +maybe'assignedStopId :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'assignedStopId" a) => + Lens.Family2.LensLike' f s a +maybe'assignedStopId + = Data.ProtoLens.Field.field @"maybe'assignedStopId" +maybe'bearing :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'bearing" a) => + Lens.Family2.LensLike' f s a +maybe'bearing = Data.ProtoLens.Field.field @"maybe'bearing" +maybe'carriageSequence :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'carriageSequence" a) => + Lens.Family2.LensLike' f s a +maybe'carriageSequence + = Data.ProtoLens.Field.field @"maybe'carriageSequence" +maybe'cause :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'cause" a) => + Lens.Family2.LensLike' f s a +maybe'cause = Data.ProtoLens.Field.field @"maybe'cause" +maybe'congestionLevel :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'congestionLevel" a) => + Lens.Family2.LensLike' f s a +maybe'congestionLevel + = Data.ProtoLens.Field.field @"maybe'congestionLevel" +maybe'currentStatus :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'currentStatus" a) => + Lens.Family2.LensLike' f s a +maybe'currentStatus + = Data.ProtoLens.Field.field @"maybe'currentStatus" +maybe'currentStopSequence :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'currentStopSequence" a) => + Lens.Family2.LensLike' f s a +maybe'currentStopSequence + = Data.ProtoLens.Field.field @"maybe'currentStopSequence" +maybe'delay :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'delay" a) => + Lens.Family2.LensLike' f s a +maybe'delay = Data.ProtoLens.Field.field @"maybe'delay" +maybe'departure :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'departure" a) => + Lens.Family2.LensLike' f s a +maybe'departure = Data.ProtoLens.Field.field @"maybe'departure" +maybe'departureOccupancyStatus :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'departureOccupancyStatus" a) => + Lens.Family2.LensLike' f s a +maybe'departureOccupancyStatus + = Data.ProtoLens.Field.field @"maybe'departureOccupancyStatus" +maybe'descriptionText :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'descriptionText" a) => + Lens.Family2.LensLike' f s a +maybe'descriptionText + = Data.ProtoLens.Field.field @"maybe'descriptionText" +maybe'directionId :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'directionId" a) => + Lens.Family2.LensLike' f s a +maybe'directionId = Data.ProtoLens.Field.field @"maybe'directionId" +maybe'effect :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'effect" a) => + Lens.Family2.LensLike' f s a +maybe'effect = Data.ProtoLens.Field.field @"maybe'effect" +maybe'encodedPolyline :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'encodedPolyline" a) => + Lens.Family2.LensLike' f s a +maybe'encodedPolyline + = Data.ProtoLens.Field.field @"maybe'encodedPolyline" +maybe'end :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'end" a) => + Lens.Family2.LensLike' f s a +maybe'end = Data.ProtoLens.Field.field @"maybe'end" +maybe'headerText :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'headerText" a) => + Lens.Family2.LensLike' f s a +maybe'headerText = Data.ProtoLens.Field.field @"maybe'headerText" +maybe'id :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'id" a) => + Lens.Family2.LensLike' f s a +maybe'id = Data.ProtoLens.Field.field @"maybe'id" +maybe'image :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'image" a) => + Lens.Family2.LensLike' f s a +maybe'image = Data.ProtoLens.Field.field @"maybe'image" +maybe'imageAlternativeText :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'imageAlternativeText" a) => + Lens.Family2.LensLike' f s a +maybe'imageAlternativeText + = Data.ProtoLens.Field.field @"maybe'imageAlternativeText" +maybe'incrementality :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'incrementality" a) => + Lens.Family2.LensLike' f s a +maybe'incrementality + = Data.ProtoLens.Field.field @"maybe'incrementality" +maybe'isDeleted :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'isDeleted" a) => + Lens.Family2.LensLike' f s a +maybe'isDeleted = Data.ProtoLens.Field.field @"maybe'isDeleted" +maybe'label :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'label" a) => + Lens.Family2.LensLike' f s a +maybe'label = Data.ProtoLens.Field.field @"maybe'label" +maybe'language :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'language" a) => + Lens.Family2.LensLike' f s a +maybe'language = Data.ProtoLens.Field.field @"maybe'language" +maybe'licensePlate :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'licensePlate" a) => + Lens.Family2.LensLike' f s a +maybe'licensePlate + = Data.ProtoLens.Field.field @"maybe'licensePlate" +maybe'occupancyPercentage :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'occupancyPercentage" a) => + Lens.Family2.LensLike' f s a +maybe'occupancyPercentage + = Data.ProtoLens.Field.field @"maybe'occupancyPercentage" +maybe'occupancyStatus :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'occupancyStatus" a) => + Lens.Family2.LensLike' f s a +maybe'occupancyStatus + = Data.ProtoLens.Field.field @"maybe'occupancyStatus" +maybe'odometer :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'odometer" a) => + Lens.Family2.LensLike' f s a +maybe'odometer = Data.ProtoLens.Field.field @"maybe'odometer" +maybe'position :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'position" a) => + Lens.Family2.LensLike' f s a +maybe'position = Data.ProtoLens.Field.field @"maybe'position" +maybe'routeId :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'routeId" a) => + Lens.Family2.LensLike' f s a +maybe'routeId = Data.ProtoLens.Field.field @"maybe'routeId" +maybe'routeType :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'routeType" a) => + Lens.Family2.LensLike' f s a +maybe'routeType = Data.ProtoLens.Field.field @"maybe'routeType" +maybe'scheduleRelationship :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'scheduleRelationship" a) => + Lens.Family2.LensLike' f s a +maybe'scheduleRelationship + = Data.ProtoLens.Field.field @"maybe'scheduleRelationship" +maybe'severityLevel :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'severityLevel" a) => + Lens.Family2.LensLike' f s a +maybe'severityLevel + = Data.ProtoLens.Field.field @"maybe'severityLevel" +maybe'shape :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'shape" a) => + Lens.Family2.LensLike' f s a +maybe'shape = Data.ProtoLens.Field.field @"maybe'shape" +maybe'shapeId :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'shapeId" a) => + Lens.Family2.LensLike' f s a +maybe'shapeId = Data.ProtoLens.Field.field @"maybe'shapeId" +maybe'speed :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'speed" a) => + Lens.Family2.LensLike' f s a +maybe'speed = Data.ProtoLens.Field.field @"maybe'speed" +maybe'start :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'start" a) => + Lens.Family2.LensLike' f s a +maybe'start = Data.ProtoLens.Field.field @"maybe'start" +maybe'startDate :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'startDate" a) => + Lens.Family2.LensLike' f s a +maybe'startDate = Data.ProtoLens.Field.field @"maybe'startDate" +maybe'startTime :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'startTime" a) => + Lens.Family2.LensLike' f s a +maybe'startTime = Data.ProtoLens.Field.field @"maybe'startTime" +maybe'stopId :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'stopId" a) => + Lens.Family2.LensLike' f s a +maybe'stopId = Data.ProtoLens.Field.field @"maybe'stopId" +maybe'stopSequence :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'stopSequence" a) => + Lens.Family2.LensLike' f s a +maybe'stopSequence + = Data.ProtoLens.Field.field @"maybe'stopSequence" +maybe'stopTimeProperties :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'stopTimeProperties" a) => + Lens.Family2.LensLike' f s a +maybe'stopTimeProperties + = Data.ProtoLens.Field.field @"maybe'stopTimeProperties" +maybe'time :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'time" a) => + Lens.Family2.LensLike' f s a +maybe'time = Data.ProtoLens.Field.field @"maybe'time" +maybe'timestamp :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'timestamp" a) => + Lens.Family2.LensLike' f s a +maybe'timestamp = Data.ProtoLens.Field.field @"maybe'timestamp" +maybe'trip :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'trip" a) => + Lens.Family2.LensLike' f s a +maybe'trip = Data.ProtoLens.Field.field @"maybe'trip" +maybe'tripId :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'tripId" a) => + Lens.Family2.LensLike' f s a +maybe'tripId = Data.ProtoLens.Field.field @"maybe'tripId" +maybe'tripProperties :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'tripProperties" a) => + Lens.Family2.LensLike' f s a +maybe'tripProperties + = Data.ProtoLens.Field.field @"maybe'tripProperties" +maybe'tripUpdate :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'tripUpdate" a) => + Lens.Family2.LensLike' f s a +maybe'tripUpdate = Data.ProtoLens.Field.field @"maybe'tripUpdate" +maybe'ttsDescriptionText :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'ttsDescriptionText" a) => + Lens.Family2.LensLike' f s a +maybe'ttsDescriptionText + = Data.ProtoLens.Field.field @"maybe'ttsDescriptionText" +maybe'ttsHeaderText :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'ttsHeaderText" a) => + Lens.Family2.LensLike' f s a +maybe'ttsHeaderText + = Data.ProtoLens.Field.field @"maybe'ttsHeaderText" +maybe'uncertainty :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'uncertainty" a) => + Lens.Family2.LensLike' f s a +maybe'uncertainty = Data.ProtoLens.Field.field @"maybe'uncertainty" +maybe'url :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'url" a) => + Lens.Family2.LensLike' f s a +maybe'url = Data.ProtoLens.Field.field @"maybe'url" +maybe'vehicle :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "maybe'vehicle" a) => + Lens.Family2.LensLike' f s a +maybe'vehicle = Data.ProtoLens.Field.field @"maybe'vehicle" +mediaType :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "mediaType" a) => + Lens.Family2.LensLike' f s a +mediaType = Data.ProtoLens.Field.field @"mediaType" +multiCarriageDetails :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "multiCarriageDetails" a) => + Lens.Family2.LensLike' f s a +multiCarriageDetails + = Data.ProtoLens.Field.field @"multiCarriageDetails" +occupancyPercentage :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "occupancyPercentage" a) => + Lens.Family2.LensLike' f s a +occupancyPercentage + = Data.ProtoLens.Field.field @"occupancyPercentage" +occupancyStatus :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "occupancyStatus" a) => + Lens.Family2.LensLike' f s a +occupancyStatus = Data.ProtoLens.Field.field @"occupancyStatus" +odometer :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "odometer" a) => + Lens.Family2.LensLike' f s a +odometer = Data.ProtoLens.Field.field @"odometer" +position :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "position" a) => + Lens.Family2.LensLike' f s a +position = Data.ProtoLens.Field.field @"position" +routeId :: + forall f s a. + (Prelude.Functor f, Data.ProtoLens.Field.HasField s "routeId" a) => + Lens.Family2.LensLike' f s a +routeId = Data.ProtoLens.Field.field @"routeId" +routeType :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "routeType" a) => + Lens.Family2.LensLike' f s a +routeType = Data.ProtoLens.Field.field @"routeType" +scheduleRelationship :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "scheduleRelationship" a) => + Lens.Family2.LensLike' f s a +scheduleRelationship + = Data.ProtoLens.Field.field @"scheduleRelationship" +severityLevel :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "severityLevel" a) => + Lens.Family2.LensLike' f s a +severityLevel = Data.ProtoLens.Field.field @"severityLevel" +shape :: + forall f s a. + (Prelude.Functor f, Data.ProtoLens.Field.HasField s "shape" a) => + Lens.Family2.LensLike' f s a +shape = Data.ProtoLens.Field.field @"shape" +shapeId :: + forall f s a. + (Prelude.Functor f, Data.ProtoLens.Field.HasField s "shapeId" a) => + Lens.Family2.LensLike' f s a +shapeId = Data.ProtoLens.Field.field @"shapeId" +speed :: + forall f s a. + (Prelude.Functor f, Data.ProtoLens.Field.HasField s "speed" a) => + Lens.Family2.LensLike' f s a +speed = Data.ProtoLens.Field.field @"speed" +start :: + forall f s a. + (Prelude.Functor f, Data.ProtoLens.Field.HasField s "start" a) => + Lens.Family2.LensLike' f s a +start = Data.ProtoLens.Field.field @"start" +startDate :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "startDate" a) => + Lens.Family2.LensLike' f s a +startDate = Data.ProtoLens.Field.field @"startDate" +startTime :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "startTime" a) => + Lens.Family2.LensLike' f s a +startTime = Data.ProtoLens.Field.field @"startTime" +stopId :: + forall f s a. + (Prelude.Functor f, Data.ProtoLens.Field.HasField s "stopId" a) => + Lens.Family2.LensLike' f s a +stopId = Data.ProtoLens.Field.field @"stopId" +stopSequence :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "stopSequence" a) => + Lens.Family2.LensLike' f s a +stopSequence = Data.ProtoLens.Field.field @"stopSequence" +stopTimeProperties :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "stopTimeProperties" a) => + Lens.Family2.LensLike' f s a +stopTimeProperties + = Data.ProtoLens.Field.field @"stopTimeProperties" +stopTimeUpdate :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "stopTimeUpdate" a) => + Lens.Family2.LensLike' f s a +stopTimeUpdate = Data.ProtoLens.Field.field @"stopTimeUpdate" +text :: + forall f s a. + (Prelude.Functor f, Data.ProtoLens.Field.HasField s "text" a) => + Lens.Family2.LensLike' f s a +text = Data.ProtoLens.Field.field @"text" +time :: + forall f s a. + (Prelude.Functor f, Data.ProtoLens.Field.HasField s "time" a) => + Lens.Family2.LensLike' f s a +time = Data.ProtoLens.Field.field @"time" +timestamp :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "timestamp" a) => + Lens.Family2.LensLike' f s a +timestamp = Data.ProtoLens.Field.field @"timestamp" +translation :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "translation" a) => + Lens.Family2.LensLike' f s a +translation = Data.ProtoLens.Field.field @"translation" +trip :: + forall f s a. + (Prelude.Functor f, Data.ProtoLens.Field.HasField s "trip" a) => + Lens.Family2.LensLike' f s a +trip = Data.ProtoLens.Field.field @"trip" +tripId :: + forall f s a. + (Prelude.Functor f, Data.ProtoLens.Field.HasField s "tripId" a) => + Lens.Family2.LensLike' f s a +tripId = Data.ProtoLens.Field.field @"tripId" +tripProperties :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "tripProperties" a) => + Lens.Family2.LensLike' f s a +tripProperties = Data.ProtoLens.Field.field @"tripProperties" +tripUpdate :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "tripUpdate" a) => + Lens.Family2.LensLike' f s a +tripUpdate = Data.ProtoLens.Field.field @"tripUpdate" +ttsDescriptionText :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "ttsDescriptionText" a) => + Lens.Family2.LensLike' f s a +ttsDescriptionText + = Data.ProtoLens.Field.field @"ttsDescriptionText" +ttsHeaderText :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "ttsHeaderText" a) => + Lens.Family2.LensLike' f s a +ttsHeaderText = Data.ProtoLens.Field.field @"ttsHeaderText" +uncertainty :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "uncertainty" a) => + Lens.Family2.LensLike' f s a +uncertainty = Data.ProtoLens.Field.field @"uncertainty" +url :: + forall f s a. + (Prelude.Functor f, Data.ProtoLens.Field.HasField s "url" a) => + Lens.Family2.LensLike' f s a +url = Data.ProtoLens.Field.field @"url" +vec'activePeriod :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "vec'activePeriod" a) => + Lens.Family2.LensLike' f s a +vec'activePeriod = Data.ProtoLens.Field.field @"vec'activePeriod" +vec'entity :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "vec'entity" a) => + Lens.Family2.LensLike' f s a +vec'entity = Data.ProtoLens.Field.field @"vec'entity" +vec'informedEntity :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "vec'informedEntity" a) => + Lens.Family2.LensLike' f s a +vec'informedEntity + = Data.ProtoLens.Field.field @"vec'informedEntity" +vec'localizedImage :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "vec'localizedImage" a) => + Lens.Family2.LensLike' f s a +vec'localizedImage + = Data.ProtoLens.Field.field @"vec'localizedImage" +vec'multiCarriageDetails :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "vec'multiCarriageDetails" a) => + Lens.Family2.LensLike' f s a +vec'multiCarriageDetails + = Data.ProtoLens.Field.field @"vec'multiCarriageDetails" +vec'stopTimeUpdate :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "vec'stopTimeUpdate" a) => + Lens.Family2.LensLike' f s a +vec'stopTimeUpdate + = Data.ProtoLens.Field.field @"vec'stopTimeUpdate" +vec'translation :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "vec'translation" a) => + Lens.Family2.LensLike' f s a +vec'translation = Data.ProtoLens.Field.field @"vec'translation" +vehicle :: + forall f s a. + (Prelude.Functor f, Data.ProtoLens.Field.HasField s "vehicle" a) => + Lens.Family2.LensLike' f s a +vehicle = Data.ProtoLens.Field.field @"vehicle" \ No newline at end of file diff --git a/gtfs/GTFS/Realtime.hs b/gtfs/GTFS/Realtime.hs deleted file mode 100644 index 9c72aaa..0000000 --- a/gtfs/GTFS/Realtime.hs +++ /dev/null @@ -1,25 +0,0 @@ -{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings - #-} -{-# OPTIONS_GHC -w #-} -module GTFS.Realtime (protoInfo, fileDescriptorProto) where -import Prelude ((+), (/), (++), (.)) -import qualified Prelude as Prelude' -import qualified Data.List as Prelude' -import qualified Data.Typeable as Prelude' -import qualified GHC.Generics as Prelude' -import qualified Data.Data as Prelude' -import qualified Text.ProtocolBuffers.Header as P' -import Text.DescriptorProtos.FileDescriptorProto (FileDescriptorProto) -import Text.ProtocolBuffers.Reflections (ProtoInfo) -import qualified Text.ProtocolBuffers.WireMessage as P' (wireGet,getFromBS) - -protoInfo :: ProtoInfo -protoInfo - = Prelude'.read - "ProtoInfo {protoMod = ProtoName {protobufName = FIName \".transit_realtime\", haskellPrefix = [], parentModule = [MName \"GTFS\"], baseName = MName \"Realtime\"}, protoFilePath = [\"GTFS\",\"Realtime.hs\"], protoSource = \"gtfs-realtime.proto\", extensionKeys = fromList [], messages = [DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.FeedMessage\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"FeedMessage\"}, descFilePath = [\"GTFS\",\"Realtime\",\"FeedMessage.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.FeedMessage.header\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"FeedMessage\"], baseName' = FName \"header\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.FeedHeader\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"FeedHeader\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.FeedMessage.entity\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"FeedMessage\"], baseName' = FName \"entity\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.FeedEntity\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"FeedEntity\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False},DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.FeedHeader\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"FeedHeader\"}, descFilePath = [\"GTFS\",\"Realtime\",\"FeedHeader.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.FeedHeader.gtfs_realtime_version\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"FeedHeader\"], baseName' = FName \"gtfs_realtime_version\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.FeedHeader.incrementality\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"FeedHeader\"], baseName' = FName \"incrementality\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 16}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.FeedHeader.Incrementality\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"FeedHeader\"], baseName = MName \"Incrementality\"}), hsRawDefault = Just \"FULL_DATASET\", hsDefault = Just (HsDef'Enum \"FULL_DATASET\"), isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.FeedHeader.timestamp\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"FeedHeader\"], baseName' = FName \"timestamp\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 24}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 4}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False},DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.FeedEntity\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"FeedEntity\"}, descFilePath = [\"GTFS\",\"Realtime\",\"FeedEntity.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.FeedEntity.id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"FeedEntity\"], baseName' = FName \"id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.FeedEntity.is_deleted\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"FeedEntity\"], baseName' = FName \"is_deleted\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 16}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 8}, typeName = Nothing, hsRawDefault = Just \"false\", hsDefault = Just (HsDef'Bool False), isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.FeedEntity.trip_update\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"FeedEntity\"], baseName' = FName \"trip_update\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 26}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TripUpdate\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TripUpdate\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.FeedEntity.vehicle\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"FeedEntity\"], baseName' = FName \"vehicle\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 34}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.VehiclePosition\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"VehiclePosition\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.FeedEntity.alert\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"FeedEntity\"], baseName' = FName \"alert\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 5}, wireTag = WireTag {getWireTag = 42}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.Alert\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"Alert\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.FeedEntity.shape\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"FeedEntity\"], baseName' = FName \"shape\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 6}, wireTag = WireTag {getWireTag = 50}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.Shape\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"Shape\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False},DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.TripUpdate\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TripUpdate\"}, descFilePath = [\"GTFS\",\"Realtime\",\"TripUpdate.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.trip\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName' = FName \"trip\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TripDescriptor\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TripDescriptor\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.vehicle\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName' = FName \"vehicle\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 26}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.VehicleDescriptor\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"VehicleDescriptor\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.stop_time_update\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName' = FName \"stop_time_update\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TripUpdate.StopTimeUpdate\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName = MName \"StopTimeUpdate\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.timestamp\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName' = FName \"timestamp\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 32}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 4}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.delay\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName' = FName \"delay\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 5}, wireTag = WireTag {getWireTag = 40}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 5}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.trip_properties\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName' = FName \"trip_properties\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 6}, wireTag = WireTag {getWireTag = 50}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TripUpdate.TripProperties\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName = MName \"TripProperties\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False},DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.TripUpdate.StopTimeEvent\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName = MName \"StopTimeEvent\"}, descFilePath = [\"GTFS\",\"Realtime\",\"TripUpdate\",\"StopTimeEvent.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.StopTimeEvent.delay\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeEvent\"], baseName' = FName \"delay\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 8}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 5}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.StopTimeEvent.time\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeEvent\"], baseName' = FName \"time\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 16}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 3}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.StopTimeEvent.uncertainty\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeEvent\"], baseName' = FName \"uncertainty\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 24}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 5}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False},DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.TripUpdate.StopTimeUpdate\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName = MName \"StopTimeUpdate\"}, descFilePath = [\"GTFS\",\"Realtime\",\"TripUpdate\",\"StopTimeUpdate.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.StopTimeUpdate.stop_sequence\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeUpdate\"], baseName' = FName \"stop_sequence\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 8}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 13}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.StopTimeUpdate.stop_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeUpdate\"], baseName' = FName \"stop_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 34}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.StopTimeUpdate.arrival\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeUpdate\"], baseName' = FName \"arrival\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TripUpdate.StopTimeEvent\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName = MName \"StopTimeEvent\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.StopTimeUpdate.departure\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeUpdate\"], baseName' = FName \"departure\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 26}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TripUpdate.StopTimeEvent\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName = MName \"StopTimeEvent\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.StopTimeUpdate.departure_occupancy_status\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeUpdate\"], baseName' = FName \"departure_occupancy_status\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 7}, wireTag = WireTag {getWireTag = 56}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.VehiclePosition.OccupancyStatus\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName = MName \"OccupancyStatus\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.StopTimeUpdate.schedule_relationship\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeUpdate\"], baseName' = FName \"schedule_relationship\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 5}, wireTag = WireTag {getWireTag = 40}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TripUpdate.StopTimeUpdate.ScheduleRelationship\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeUpdate\"], baseName = MName \"ScheduleRelationship\"}), hsRawDefault = Just \"SCHEDULED\", hsDefault = Just (HsDef'Enum \"SCHEDULED\"), isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.StopTimeUpdate.stop_time_properties\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeUpdate\"], baseName' = FName \"stop_time_properties\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 6}, wireTag = WireTag {getWireTag = 50}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TripUpdate.StopTimeUpdate.StopTimeProperties\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeUpdate\"], baseName = MName \"StopTimeProperties\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False},DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.TripUpdate.StopTimeUpdate.StopTimeProperties\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeUpdate\"], baseName = MName \"StopTimeProperties\"}, descFilePath = [\"GTFS\",\"Realtime\",\"TripUpdate\",\"StopTimeUpdate\",\"StopTimeProperties.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.StopTimeUpdate.StopTimeProperties.assigned_stop_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeUpdate\",MName \"StopTimeProperties\"], baseName' = FName \"assigned_stop_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False},DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.TripUpdate.TripProperties\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName = MName \"TripProperties\"}, descFilePath = [\"GTFS\",\"Realtime\",\"TripUpdate\",\"TripProperties.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.TripProperties.trip_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"TripProperties\"], baseName' = FName \"trip_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.TripProperties.start_date\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"TripProperties\"], baseName' = FName \"start_date\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.TripProperties.start_time\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"TripProperties\"], baseName' = FName \"start_time\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 26}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.TripProperties.shape_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"TripProperties\"], baseName' = FName \"shape_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 34}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False},DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.VehiclePosition\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"VehiclePosition\"}, descFilePath = [\"GTFS\",\"Realtime\",\"VehiclePosition.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.trip\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName' = FName \"trip\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TripDescriptor\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TripDescriptor\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.vehicle\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName' = FName \"vehicle\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 8}, wireTag = WireTag {getWireTag = 66}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.VehicleDescriptor\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"VehicleDescriptor\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.position\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName' = FName \"position\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.Position\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"Position\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.current_stop_sequence\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName' = FName \"current_stop_sequence\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 24}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 13}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.stop_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName' = FName \"stop_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 7}, wireTag = WireTag {getWireTag = 58}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.current_status\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName' = FName \"current_status\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 32}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.VehiclePosition.VehicleStopStatus\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName = MName \"VehicleStopStatus\"}), hsRawDefault = Just \"IN_TRANSIT_TO\", hsDefault = Just (HsDef'Enum \"IN_TRANSIT_TO\"), isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.timestamp\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName' = FName \"timestamp\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 5}, wireTag = WireTag {getWireTag = 40}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 4}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.congestion_level\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName' = FName \"congestion_level\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 6}, wireTag = WireTag {getWireTag = 48}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.VehiclePosition.CongestionLevel\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName = MName \"CongestionLevel\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.occupancy_status\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName' = FName \"occupancy_status\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 9}, wireTag = WireTag {getWireTag = 72}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.VehiclePosition.OccupancyStatus\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName = MName \"OccupancyStatus\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.occupancy_percentage\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName' = FName \"occupancy_percentage\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 10}, wireTag = WireTag {getWireTag = 80}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 13}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.multi_carriage_details\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName' = FName \"multi_carriage_details\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 11}, wireTag = WireTag {getWireTag = 90}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.VehiclePosition.CarriageDetails\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName = MName \"CarriageDetails\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False},DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.VehiclePosition.CarriageDetails\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName = MName \"CarriageDetails\"}, descFilePath = [\"GTFS\",\"Realtime\",\"VehiclePosition\",\"CarriageDetails.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.CarriageDetails.id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\",MName \"CarriageDetails\"], baseName' = FName \"id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.CarriageDetails.label\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\",MName \"CarriageDetails\"], baseName' = FName \"label\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.CarriageDetails.occupancy_status\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\",MName \"CarriageDetails\"], baseName' = FName \"occupancy_status\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 24}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.VehiclePosition.OccupancyStatus\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName = MName \"OccupancyStatus\"}), hsRawDefault = Just \"NO_DATA_AVAILABLE\", hsDefault = Just (HsDef'Enum \"NO_DATA_AVAILABLE\"), isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.CarriageDetails.occupancy_percentage\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\",MName \"CarriageDetails\"], baseName' = FName \"occupancy_percentage\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 32}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 5}, typeName = Nothing, hsRawDefault = Just \"-1\", hsDefault = Just (HsDef'Integer (-1)), isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.CarriageDetails.carriage_sequence\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\",MName \"CarriageDetails\"], baseName' = FName \"carriage_sequence\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 5}, wireTag = WireTag {getWireTag = 40}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 13}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False},DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.Alert\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"Alert\"}, descFilePath = [\"GTFS\",\"Realtime\",\"Alert.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Alert.active_period\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName' = FName \"active_period\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TimeRange\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TimeRange\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Alert.informed_entity\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName' = FName \"informed_entity\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 5}, wireTag = WireTag {getWireTag = 42}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.EntitySelector\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"EntitySelector\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Alert.cause\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName' = FName \"cause\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 6}, wireTag = WireTag {getWireTag = 48}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.Alert.Cause\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName = MName \"Cause\"}), hsRawDefault = Just \"UNKNOWN_CAUSE\", hsDefault = Just (HsDef'Enum \"UNKNOWN_CAUSE\"), isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Alert.effect\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName' = FName \"effect\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 7}, wireTag = WireTag {getWireTag = 56}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.Alert.Effect\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName = MName \"Effect\"}), hsRawDefault = Just \"UNKNOWN_EFFECT\", hsDefault = Just (HsDef'Enum \"UNKNOWN_EFFECT\"), isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Alert.url\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName' = FName \"url\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 8}, wireTag = WireTag {getWireTag = 66}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TranslatedString\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TranslatedString\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Alert.header_text\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName' = FName \"header_text\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 10}, wireTag = WireTag {getWireTag = 82}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TranslatedString\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TranslatedString\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Alert.description_text\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName' = FName \"description_text\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 11}, wireTag = WireTag {getWireTag = 90}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TranslatedString\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TranslatedString\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Alert.tts_header_text\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName' = FName \"tts_header_text\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 12}, wireTag = WireTag {getWireTag = 98}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TranslatedString\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TranslatedString\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Alert.tts_description_text\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName' = FName \"tts_description_text\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 13}, wireTag = WireTag {getWireTag = 106}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TranslatedString\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TranslatedString\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Alert.severity_level\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName' = FName \"severity_level\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 14}, wireTag = WireTag {getWireTag = 112}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.Alert.SeverityLevel\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName = MName \"SeverityLevel\"}), hsRawDefault = Just \"UNKNOWN_SEVERITY\", hsDefault = Just (HsDef'Enum \"UNKNOWN_SEVERITY\"), isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Alert.image\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName' = FName \"image\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 15}, wireTag = WireTag {getWireTag = 122}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TranslatedImage\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TranslatedImage\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Alert.image_alternative_text\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName' = FName \"image_alternative_text\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 16}, wireTag = WireTag {getWireTag = 130}, packedTag = Nothing, wireTagLength = 2, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TranslatedString\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TranslatedString\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False},DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.TimeRange\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TimeRange\"}, descFilePath = [\"GTFS\",\"Realtime\",\"TimeRange.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TimeRange.start\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TimeRange\"], baseName' = FName \"start\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 8}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 4}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TimeRange.end\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TimeRange\"], baseName' = FName \"end\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 16}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 4}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False},DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.Position\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"Position\"}, descFilePath = [\"GTFS\",\"Realtime\",\"Position.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Position.latitude\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Position\"], baseName' = FName \"latitude\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 13}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 2}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Position.longitude\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Position\"], baseName' = FName \"longitude\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 21}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 2}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Position.bearing\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Position\"], baseName' = FName \"bearing\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 29}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 2}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Position.odometer\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Position\"], baseName' = FName \"odometer\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 33}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 1}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Position.speed\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Position\"], baseName' = FName \"speed\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 5}, wireTag = WireTag {getWireTag = 45}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 2}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False},DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.TripDescriptor\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TripDescriptor\"}, descFilePath = [\"GTFS\",\"Realtime\",\"TripDescriptor.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripDescriptor.trip_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripDescriptor\"], baseName' = FName \"trip_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripDescriptor.route_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripDescriptor\"], baseName' = FName \"route_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 5}, wireTag = WireTag {getWireTag = 42}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripDescriptor.direction_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripDescriptor\"], baseName' = FName \"direction_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 6}, wireTag = WireTag {getWireTag = 48}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 13}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripDescriptor.start_time\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripDescriptor\"], baseName' = FName \"start_time\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripDescriptor.start_date\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripDescriptor\"], baseName' = FName \"start_date\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 26}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripDescriptor.schedule_relationship\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripDescriptor\"], baseName' = FName \"schedule_relationship\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 32}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TripDescriptor.ScheduleRelationship\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TripDescriptor\"], baseName = MName \"ScheduleRelationship\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False},DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.VehicleDescriptor\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"VehicleDescriptor\"}, descFilePath = [\"GTFS\",\"Realtime\",\"VehicleDescriptor.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehicleDescriptor.id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehicleDescriptor\"], baseName' = FName \"id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehicleDescriptor.label\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehicleDescriptor\"], baseName' = FName \"label\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehicleDescriptor.license_plate\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehicleDescriptor\"], baseName' = FName \"license_plate\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 26}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False},DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.EntitySelector\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"EntitySelector\"}, descFilePath = [\"GTFS\",\"Realtime\",\"EntitySelector.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.EntitySelector.agency_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"EntitySelector\"], baseName' = FName \"agency_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.EntitySelector.route_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"EntitySelector\"], baseName' = FName \"route_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.EntitySelector.route_type\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"EntitySelector\"], baseName' = FName \"route_type\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 24}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 5}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.EntitySelector.trip\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"EntitySelector\"], baseName' = FName \"trip\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 34}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TripDescriptor\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TripDescriptor\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.EntitySelector.stop_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"EntitySelector\"], baseName' = FName \"stop_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 5}, wireTag = WireTag {getWireTag = 42}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.EntitySelector.direction_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"EntitySelector\"], baseName' = FName \"direction_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 6}, wireTag = WireTag {getWireTag = 48}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 13}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False},DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.TranslatedString\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TranslatedString\"}, descFilePath = [\"GTFS\",\"Realtime\",\"TranslatedString.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TranslatedString.translation\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TranslatedString\"], baseName' = FName \"translation\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TranslatedString.Translation\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TranslatedString\"], baseName = MName \"Translation\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False},DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.TranslatedString.Translation\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TranslatedString\"], baseName = MName \"Translation\"}, descFilePath = [\"GTFS\",\"Realtime\",\"TranslatedString\",\"Translation.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TranslatedString.Translation.text\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TranslatedString\",MName \"Translation\"], baseName' = FName \"text\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TranslatedString.Translation.language\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TranslatedString\",MName \"Translation\"], baseName' = FName \"language\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False},DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.TranslatedImage\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TranslatedImage\"}, descFilePath = [\"GTFS\",\"Realtime\",\"TranslatedImage.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TranslatedImage.localized_image\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TranslatedImage\"], baseName' = FName \"localized_image\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TranslatedImage.LocalizedImage\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TranslatedImage\"], baseName = MName \"LocalizedImage\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False},DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.TranslatedImage.LocalizedImage\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TranslatedImage\"], baseName = MName \"LocalizedImage\"}, descFilePath = [\"GTFS\",\"Realtime\",\"TranslatedImage\",\"LocalizedImage.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TranslatedImage.LocalizedImage.url\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TranslatedImage\",MName \"LocalizedImage\"], baseName' = FName \"url\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TranslatedImage.LocalizedImage.media_type\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TranslatedImage\",MName \"LocalizedImage\"], baseName' = FName \"media_type\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TranslatedImage.LocalizedImage.language\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TranslatedImage\",MName \"LocalizedImage\"], baseName' = FName \"language\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 26}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False},DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.Shape\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"Shape\"}, descFilePath = [\"GTFS\",\"Realtime\",\"Shape.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Shape.shape_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Shape\"], baseName' = FName \"shape_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Shape.encoded_polyline\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Shape\"], baseName' = FName \"encoded_polyline\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False}], enums = [EnumInfo {enumName = ProtoName {protobufName = FIName \".transit_realtime.FeedHeader.Incrementality\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"FeedHeader\"], baseName = MName \"Incrementality\"}, enumFilePath = [\"GTFS\",\"Realtime\",\"FeedHeader\",\"Incrementality.hs\"], enumValues = [(EnumCode {getEnumCode = 0},\"FULL_DATASET\"),(EnumCode {getEnumCode = 1},\"DIFFERENTIAL\")], enumJsonInstances = False},EnumInfo {enumName = ProtoName {protobufName = FIName \".transit_realtime.TripUpdate.StopTimeUpdate.ScheduleRelationship\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeUpdate\"], baseName = MName \"ScheduleRelationship\"}, enumFilePath = [\"GTFS\",\"Realtime\",\"TripUpdate\",\"StopTimeUpdate\",\"ScheduleRelationship.hs\"], enumValues = [(EnumCode {getEnumCode = 0},\"SCHEDULED\"),(EnumCode {getEnumCode = 1},\"SKIPPED\"),(EnumCode {getEnumCode = 2},\"NO_DATA\"),(EnumCode {getEnumCode = 3},\"UNSCHEDULED\")], enumJsonInstances = False},EnumInfo {enumName = ProtoName {protobufName = FIName \".transit_realtime.VehiclePosition.VehicleStopStatus\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName = MName \"VehicleStopStatus\"}, enumFilePath = [\"GTFS\",\"Realtime\",\"VehiclePosition\",\"VehicleStopStatus.hs\"], enumValues = [(EnumCode {getEnumCode = 0},\"INCOMING_AT\"),(EnumCode {getEnumCode = 1},\"STOPPED_AT\"),(EnumCode {getEnumCode = 2},\"IN_TRANSIT_TO\")], enumJsonInstances = False},EnumInfo {enumName = ProtoName {protobufName = FIName \".transit_realtime.VehiclePosition.CongestionLevel\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName = MName \"CongestionLevel\"}, enumFilePath = [\"GTFS\",\"Realtime\",\"VehiclePosition\",\"CongestionLevel.hs\"], enumValues = [(EnumCode {getEnumCode = 0},\"UNKNOWN_CONGESTION_LEVEL\"),(EnumCode {getEnumCode = 1},\"RUNNING_SMOOTHLY\"),(EnumCode {getEnumCode = 2},\"STOP_AND_GO\"),(EnumCode {getEnumCode = 3},\"CONGESTION\"),(EnumCode {getEnumCode = 4},\"SEVERE_CONGESTION\")], enumJsonInstances = False},EnumInfo {enumName = ProtoName {protobufName = FIName \".transit_realtime.VehiclePosition.OccupancyStatus\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName = MName \"OccupancyStatus\"}, enumFilePath = [\"GTFS\",\"Realtime\",\"VehiclePosition\",\"OccupancyStatus.hs\"], enumValues = [(EnumCode {getEnumCode = 0},\"EMPTY\"),(EnumCode {getEnumCode = 1},\"MANY_SEATS_AVAILABLE\"),(EnumCode {getEnumCode = 2},\"FEW_SEATS_AVAILABLE\"),(EnumCode {getEnumCode = 3},\"STANDING_ROOM_ONLY\"),(EnumCode {getEnumCode = 4},\"CRUSHED_STANDING_ROOM_ONLY\"),(EnumCode {getEnumCode = 5},\"FULL\"),(EnumCode {getEnumCode = 6},\"NOT_ACCEPTING_PASSENGERS\"),(EnumCode {getEnumCode = 7},\"NO_DATA_AVAILABLE\"),(EnumCode {getEnumCode = 8},\"NOT_BOARDABLE\")], enumJsonInstances = False},EnumInfo {enumName = ProtoName {protobufName = FIName \".transit_realtime.Alert.Cause\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName = MName \"Cause\"}, enumFilePath = [\"GTFS\",\"Realtime\",\"Alert\",\"Cause.hs\"], enumValues = [(EnumCode {getEnumCode = 1},\"UNKNOWN_CAUSE\"),(EnumCode {getEnumCode = 2},\"OTHER_CAUSE\"),(EnumCode {getEnumCode = 3},\"TECHNICAL_PROBLEM\"),(EnumCode {getEnumCode = 4},\"STRIKE\"),(EnumCode {getEnumCode = 5},\"DEMONSTRATION\"),(EnumCode {getEnumCode = 6},\"ACCIDENT\"),(EnumCode {getEnumCode = 7},\"HOLIDAY\"),(EnumCode {getEnumCode = 8},\"WEATHER\"),(EnumCode {getEnumCode = 9},\"MAINTENANCE\"),(EnumCode {getEnumCode = 10},\"CONSTRUCTION\"),(EnumCode {getEnumCode = 11},\"POLICE_ACTIVITY\"),(EnumCode {getEnumCode = 12},\"MEDICAL_EMERGENCY\")], enumJsonInstances = False},EnumInfo {enumName = ProtoName {protobufName = FIName \".transit_realtime.Alert.Effect\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName = MName \"Effect\"}, enumFilePath = [\"GTFS\",\"Realtime\",\"Alert\",\"Effect.hs\"], enumValues = [(EnumCode {getEnumCode = 1},\"NO_SERVICE\"),(EnumCode {getEnumCode = 2},\"REDUCED_SERVICE\"),(EnumCode {getEnumCode = 3},\"SIGNIFICANT_DELAYS\"),(EnumCode {getEnumCode = 4},\"DETOUR\"),(EnumCode {getEnumCode = 5},\"ADDITIONAL_SERVICE\"),(EnumCode {getEnumCode = 6},\"MODIFIED_SERVICE\"),(EnumCode {getEnumCode = 7},\"OTHER_EFFECT\"),(EnumCode {getEnumCode = 8},\"UNKNOWN_EFFECT\"),(EnumCode {getEnumCode = 9},\"STOP_MOVED\"),(EnumCode {getEnumCode = 10},\"NO_EFFECT\"),(EnumCode {getEnumCode = 11},\"ACCESSIBILITY_ISSUE\")], enumJsonInstances = False},EnumInfo {enumName = ProtoName {protobufName = FIName \".transit_realtime.Alert.SeverityLevel\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName = MName \"SeverityLevel\"}, enumFilePath = [\"GTFS\",\"Realtime\",\"Alert\",\"SeverityLevel.hs\"], enumValues = [(EnumCode {getEnumCode = 1},\"UNKNOWN_SEVERITY\"),(EnumCode {getEnumCode = 2},\"INFO\"),(EnumCode {getEnumCode = 3},\"WARNING\"),(EnumCode {getEnumCode = 4},\"SEVERE\")], enumJsonInstances = False},EnumInfo {enumName = ProtoName {protobufName = FIName \".transit_realtime.TripDescriptor.ScheduleRelationship\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TripDescriptor\"], baseName = MName \"ScheduleRelationship\"}, enumFilePath = [\"GTFS\",\"Realtime\",\"TripDescriptor\",\"ScheduleRelationship.hs\"], enumValues = [(EnumCode {getEnumCode = 0},\"SCHEDULED\"),(EnumCode {getEnumCode = 1},\"ADDED\"),(EnumCode {getEnumCode = 2},\"UNSCHEDULED\"),(EnumCode {getEnumCode = 3},\"CANCELED\"),(EnumCode {getEnumCode = 5},\"REPLACEMENT\"),(EnumCode {getEnumCode = 6},\"DUPLICATED\")], enumJsonInstances = False}], oneofs = [], services = [], knownKeyMap = fromList []}" - -fileDescriptorProto :: FileDescriptorProto -fileDescriptorProto - = P'.getFromBS (P'.wireGet 11) - (P'.pack - "\168+\n\DC3gtfs-realtime.proto\DC2\DLEtransit_realtime\"y\n\vFeedMessage\DC2,\n\ACKheader\CAN\SOH \STX(\v2\FS.transit_realtime.FeedHeader\DC2,\n\ACKentity\CAN\STX \ETX(\v2\FS.transit_realtime.FeedEntity*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"\215\SOH\n\nFeedHeader\DC2\GS\n\NAKgtfs_realtime_version\CAN\SOH \STX(\t\DC2Q\n\SOincrementality\CAN\STX \SOH(\SO2+.transit_realtime.FeedHeader.Incrementality:\fFULL_DATASET\DC2\DC1\n\ttimestamp\CAN\ETX \SOH(\EOT\"4\n\SOIncrementality\DC2\DLE\n\fFULL_DATASET\DLE\NUL\DC2\DLE\n\fDIFFERENTIAL\DLE\SOH*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"\250\SOH\n\nFeedEntity\DC2\n\n\STXid\CAN\SOH \STX(\t\DC2\EM\n\nis_deleted\CAN\STX \SOH(\b:\ENQfalse\DC21\n\vtrip_update\CAN\ETX \SOH(\v2\FS.transit_realtime.TripUpdate\DC22\n\avehicle\CAN\EOT \SOH(\v2!.transit_realtime.VehiclePosition\DC2&\n\ENQalert\CAN\ENQ \SOH(\v2\ETB.transit_realtime.Alert\DC2&\n\ENQshape\CAN\ACK \SOH(\v2\ETB.transit_realtime.Shape*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"\235\b\n\nTripUpdate\DC2.\n\EOTtrip\CAN\SOH \STX(\v2 .transit_realtime.TripDescriptor\DC24\n\avehicle\CAN\ETX \SOH(\v2#.transit_realtime.VehicleDescriptor\DC2E\n\DLEstop_time_update\CAN\STX \ETX(\v2+.transit_realtime.TripUpdate.StopTimeUpdate\DC2\DC1\n\ttimestamp\CAN\EOT \SOH(\EOT\DC2\r\n\ENQdelay\CAN\ENQ \SOH(\ENQ\DC2D\n\SItrip_properties\CAN\ACK \SOH(\v2+.transit_realtime.TripUpdate.TripProperties\SUBQ\n\rStopTimeEvent\DC2\r\n\ENQdelay\CAN\SOH \SOH(\ENQ\DC2\f\n\EOTtime\CAN\STX \SOH(\ETX\DC2\DC3\n\vuncertainty\CAN\ETX \SOH(\ENQ*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\SUB\247\EOT\n\SOStopTimeUpdate\DC2\NAK\n\rstop_sequence\CAN\SOH \SOH(\r\DC2\SI\n\astop_id\CAN\EOT \SOH(\t\DC2;\n\aarrival\CAN\STX \SOH(\v2*.transit_realtime.TripUpdate.StopTimeEvent\DC2=\n\tdeparture\CAN\ETX \SOH(\v2*.transit_realtime.TripUpdate.StopTimeEvent\DC2U\n\SUBdeparture_occupancy_status\CAN\a \SOH(\SO21.transit_realtime.VehiclePosition.OccupancyStatus\DC2j\n\NAKschedule_relationship\CAN\ENQ \SOH(\SO2@.transit_realtime.TripUpdate.StopTimeUpdate.ScheduleRelationship:\tSCHEDULED\DC2\\\n\DC4stop_time_properties\CAN\ACK \SOH(\v2>.transit_realtime.TripUpdate.StopTimeUpdate.StopTimeProperties\SUB>\n\DC2StopTimeProperties\DC2\CAN\n\DLEassigned_stop_id\CAN\SOH \SOH(\t*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"P\n\DC4ScheduleRelationship\DC2\r\n\tSCHEDULED\DLE\NUL\DC2\v\n\aSKIPPED\DLE\SOH\DC2\v\n\aNO_DATA\DLE\STX\DC2\SI\n\vUNSCHEDULED\DLE\ETX*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\SUBk\n\SOTripProperties\DC2\SI\n\atrip_id\CAN\SOH \SOH(\t\DC2\DC2\n\nstart_date\CAN\STX \SOH(\t\DC2\DC2\n\nstart_time\CAN\ETX \SOH(\t\DC2\DLE\n\bshape_id\CAN\EOT \SOH(\t*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"\223\t\n\SIVehiclePosition\DC2.\n\EOTtrip\CAN\SOH \SOH(\v2 .transit_realtime.TripDescriptor\DC24\n\avehicle\CAN\b \SOH(\v2#.transit_realtime.VehicleDescriptor\DC2,\n\bposition\CAN\STX \SOH(\v2\SUB.transit_realtime.Position\DC2\GS\n\NAKcurrent_stop_sequence\CAN\ETX \SOH(\r\DC2\SI\n\astop_id\CAN\a \SOH(\t\DC2Z\n\SOcurrent_status\CAN\EOT \SOH(\SO23.transit_realtime.VehiclePosition.VehicleStopStatus:\rIN_TRANSIT_TO\DC2\DC1\n\ttimestamp\CAN\ENQ \SOH(\EOT\DC2K\n\DLEcongestion_level\CAN\ACK \SOH(\SO21.transit_realtime.VehiclePosition.CongestionLevel\DC2K\n\DLEoccupancy_status\CAN\t \SOH(\SO21.transit_realtime.VehiclePosition.OccupancyStatus\DC2\FS\n\DC4occupancy_percentage\CAN\n \SOH(\r\DC2Q\n\SYNmulti_carriage_details\CAN\v \ETX(\v21.transit_realtime.VehiclePosition.CarriageDetails\SUB\217\SOH\n\SICarriageDetails\DC2\n\n\STXid\CAN\SOH \SOH(\t\DC2\r\n\ENQlabel\CAN\STX \SOH(\t\DC2^\n\DLEoccupancy_status\CAN\ETX \SOH(\SO21.transit_realtime.VehiclePosition.OccupancyStatus:\DC1NO_DATA_AVAILABLE\DC2 \n\DC4occupancy_percentage\CAN\EOT \SOH(\ENQ:\STX-1\DC2\EM\n\DC1carriage_sequence\CAN\ENQ \SOH(\r*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"G\n\DC1VehicleStopStatus\DC2\SI\n\vINCOMING_AT\DLE\NUL\DC2\SO\n\nSTOPPED_AT\DLE\SOH\DC2\DC1\n\rIN_TRANSIT_TO\DLE\STX\"}\n\SICongestionLevel\DC2\FS\n\CANUNKNOWN_CONGESTION_LEVEL\DLE\NUL\DC2\DC4\n\DLERUNNING_SMOOTHLY\DLE\SOH\DC2\SI\n\vSTOP_AND_GO\DLE\STX\DC2\SO\n\nCONGESTION\DLE\ETX\DC2\NAK\n\DC1SEVERE_CONGESTION\DLE\EOT\"\217\SOH\n\SIOccupancyStatus\DC2\t\n\ENQEMPTY\DLE\NUL\DC2\CAN\n\DC4MANY_SEATS_AVAILABLE\DLE\SOH\DC2\ETB\n\DC3FEW_SEATS_AVAILABLE\DLE\STX\DC2\SYN\n\DC2STANDING_ROOM_ONLY\DLE\ETX\DC2\RS\n\SUBCRUSHED_STANDING_ROOM_ONLY\DLE\EOT\DC2\b\n\EOTFULL\DLE\ENQ\DC2\FS\n\CANNOT_ACCEPTING_PASSENGERS\DLE\ACK\DC2\NAK\n\DC1NO_DATA_AVAILABLE\DLE\a\DC2\DC1\n\rNOT_BOARDABLE\DLE\b*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"\246\t\n\ENQAlert\DC22\n\ractive_period\CAN\SOH \ETX(\v2\ESC.transit_realtime.TimeRange\DC29\n\SIinformed_entity\CAN\ENQ \ETX(\v2 .transit_realtime.EntitySelector\DC2;\n\ENQcause\CAN\ACK \SOH(\SO2\GS.transit_realtime.Alert.Cause:\rUNKNOWN_CAUSE\DC2>\n\ACKeffect\CAN\a \SOH(\SO2\RS.transit_realtime.Alert.Effect:\SOUNKNOWN_EFFECT\DC2/\n\ETXurl\CAN\b \SOH(\v2\".transit_realtime.TranslatedString\DC27\n\vheader_text\CAN\n \SOH(\v2\".transit_realtime.TranslatedString\DC2<\n\DLEdescription_text\CAN\v \SOH(\v2\".transit_realtime.TranslatedString\DC2;\n\SItts_header_text\CAN\f \SOH(\v2\".transit_realtime.TranslatedString\DC2@\n\DC4tts_description_text\CAN\r \SOH(\v2\".transit_realtime.TranslatedString\DC2O\n\SOseverity_level\CAN\SO \SOH(\SO2%.transit_realtime.Alert.SeverityLevel:\DLEUNKNOWN_SEVERITY\DC20\n\ENQimage\CAN\SI \SOH(\v2!.transit_realtime.TranslatedImage\DC2B\n\SYNimage_alternative_text\CAN\DLE \SOH(\v2\".transit_realtime.TranslatedString\"\216\SOH\n\ENQCause\DC2\DC1\n\rUNKNOWN_CAUSE\DLE\SOH\DC2\SI\n\vOTHER_CAUSE\DLE\STX\DC2\NAK\n\DC1TECHNICAL_PROBLEM\DLE\ETX\DC2\n\n\ACKSTRIKE\DLE\EOT\DC2\DC1\n\rDEMONSTRATION\DLE\ENQ\DC2\f\n\bACCIDENT\DLE\ACK\DC2\v\n\aHOLIDAY\DLE\a\DC2\v\n\aWEATHER\DLE\b\DC2\SI\n\vMAINTENANCE\DLE\t\DC2\DLE\n\fCONSTRUCTION\DLE\n\DC2\DC3\n\SIPOLICE_ACTIVITY\DLE\v\DC2\NAK\n\DC1MEDICAL_EMERGENCY\DLE\f\"\221\SOH\n\ACKEffect\DC2\SO\n\nNO_SERVICE\DLE\SOH\DC2\DC3\n\SIREDUCED_SERVICE\DLE\STX\DC2\SYN\n\DC2SIGNIFICANT_DELAYS\DLE\ETX\DC2\n\n\ACKDETOUR\DLE\EOT\DC2\SYN\n\DC2ADDITIONAL_SERVICE\DLE\ENQ\DC2\DC4\n\DLEMODIFIED_SERVICE\DLE\ACK\DC2\DLE\n\fOTHER_EFFECT\DLE\a\DC2\DC2\n\SOUNKNOWN_EFFECT\DLE\b\DC2\SO\n\nSTOP_MOVED\DLE\t\DC2\r\n\tNO_EFFECT\DLE\n\DC2\ETB\n\DC3ACCESSIBILITY_ISSUE\DLE\v\"H\n\rSeverityLevel\DC2\DC4\n\DLEUNKNOWN_SEVERITY\DLE\SOH\DC2\b\n\EOTINFO\DLE\STX\DC2\v\n\aWARNING\DLE\ETX\DC2\n\n\ACKSEVERE\DLE\EOT*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"7\n\tTimeRange\DC2\r\n\ENQstart\CAN\SOH \SOH(\EOT\DC2\v\n\ETXend\CAN\STX \SOH(\EOT*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"q\n\bPosition\DC2\DLE\n\blatitude\CAN\SOH \STX(\STX\DC2\DC1\n\tlongitude\CAN\STX \STX(\STX\DC2\SI\n\abearing\CAN\ETX \SOH(\STX\DC2\DLE\n\bodometer\CAN\EOT \SOH(\SOH\DC2\r\n\ENQspeed\CAN\ENQ \SOH(\STX*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"\201\STX\n\SOTripDescriptor\DC2\SI\n\atrip_id\CAN\SOH \SOH(\t\DC2\DLE\n\broute_id\CAN\ENQ \SOH(\t\DC2\DC4\n\fdirection_id\CAN\ACK \SOH(\r\DC2\DC2\n\nstart_time\CAN\STX \SOH(\t\DC2\DC2\n\nstart_date\CAN\ETX \SOH(\t\DC2T\n\NAKschedule_relationship\CAN\EOT \SOH(\SO25.transit_realtime.TripDescriptor.ScheduleRelationship\"p\n\DC4ScheduleRelationship\DC2\r\n\tSCHEDULED\DLE\NUL\DC2\t\n\ENQADDED\DLE\SOH\DC2\SI\n\vUNSCHEDULED\DLE\STX\DC2\f\n\bCANCELED\DLE\ETX\DC2\SI\n\vREPLACEMENT\DLE\ENQ\DC2\SO\n\nDUPLICATED\DLE\ACK*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"U\n\DC1VehicleDescriptor\DC2\n\n\STXid\CAN\SOH \SOH(\t\DC2\r\n\ENQlabel\CAN\STX \SOH(\t\DC2\NAK\n\rlicense_plate\CAN\ETX \SOH(\t*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"\176\SOH\n\SOEntitySelector\DC2\DC1\n\tagency_id\CAN\SOH \SOH(\t\DC2\DLE\n\broute_id\CAN\STX \SOH(\t\DC2\DC2\n\nroute_type\CAN\ETX \SOH(\ENQ\DC2.\n\EOTtrip\CAN\EOT \SOH(\v2 .transit_realtime.TripDescriptor\DC2\SI\n\astop_id\CAN\ENQ \SOH(\t\DC2\DC4\n\fdirection_id\CAN\ACK \SOH(\r*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"\166\SOH\n\DLETranslatedString\DC2C\n\vtranslation\CAN\SOH \ETX(\v2..transit_realtime.TranslatedString.Translation\SUB=\n\vTranslation\DC2\f\n\EOTtext\CAN\SOH \STX(\t\DC2\DLE\n\blanguage\CAN\STX \SOH(\t*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"\193\SOH\n\SITranslatedImage\DC2I\n\SIlocalized_image\CAN\SOH \ETX(\v20.transit_realtime.TranslatedImage.LocalizedImage\SUBS\n\SOLocalizedImage\DC2\v\n\ETXurl\CAN\SOH \STX(\t\DC2\DC2\n\nmedia_type\CAN\STX \STX(\t\DC2\DLE\n\blanguage\CAN\ETX \SOH(\t*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"C\n\ENQShape\DC2\DLE\n\bshape_id\CAN\SOH \SOH(\t\DC2\CAN\n\DLEencoded_polyline\CAN\STX \SOH(\t*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144NB(\n\rGTFS.realtimeH\SOHP\NUL\128\SOH\NUL\136\SOH\NUL\144\SOH\NUL\160\SOH\NUL\184\SOH\NUL\216\SOH\NUL\248\SOH\NULb\ACKproto2") \ No newline at end of file diff --git a/gtfs/GTFS/Realtime/Alert.hs b/gtfs/GTFS/Realtime/Alert.hs deleted file mode 100644 index bca6530..0000000 --- a/gtfs/GTFS/Realtime/Alert.hs +++ /dev/null @@ -1,204 +0,0 @@ -{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings - #-} -{-# OPTIONS_GHC -w #-} -module GTFS.Realtime.Alert (Alert(..)) where -import Prelude ((+), (/), (++), (.), (==), (<=), (&&)) -import qualified Prelude as Prelude' -import qualified Data.List as Prelude' -import qualified Data.Typeable as Prelude' -import qualified GHC.Generics as Prelude' -import qualified Data.Data as Prelude' -import qualified Text.ProtocolBuffers.Header as P' -import qualified GTFS.Realtime.Alert.Cause as GTFS.Realtime.Alert -import qualified GTFS.Realtime.Alert.Effect as GTFS.Realtime.Alert -import qualified GTFS.Realtime.Alert.SeverityLevel as GTFS.Realtime.Alert -import qualified GTFS.Realtime.EntitySelector as GTFS.Realtime -import qualified GTFS.Realtime.TimeRange as GTFS.Realtime -import qualified GTFS.Realtime.TranslatedImage as GTFS.Realtime -import qualified GTFS.Realtime.TranslatedString as GTFS.Realtime - -data Alert = Alert{active_period :: !(P'.Seq GTFS.Realtime.TimeRange), informed_entity :: !(P'.Seq GTFS.Realtime.EntitySelector), - cause :: !(P'.Maybe GTFS.Realtime.Alert.Cause), effect :: !(P'.Maybe GTFS.Realtime.Alert.Effect), - url :: !(P'.Maybe GTFS.Realtime.TranslatedString), header_text :: !(P'.Maybe GTFS.Realtime.TranslatedString), - description_text :: !(P'.Maybe GTFS.Realtime.TranslatedString), - tts_header_text :: !(P'.Maybe GTFS.Realtime.TranslatedString), - tts_description_text :: !(P'.Maybe GTFS.Realtime.TranslatedString), - severity_level :: !(P'.Maybe GTFS.Realtime.Alert.SeverityLevel), - image :: !(P'.Maybe GTFS.Realtime.TranslatedImage), - image_alternative_text :: !(P'.Maybe GTFS.Realtime.TranslatedString), ext'field :: !(P'.ExtField)} - deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, Prelude'.Generic) - -instance P'.ExtendMessage Alert where - getExtField = ext'field - putExtField e'f msg = msg{ext'field = e'f} - validExtRanges msg = P'.extRanges (P'.reflectDescriptorInfo msg) - -instance P'.Mergeable Alert where - mergeAppend (Alert x'1 x'2 x'3 x'4 x'5 x'6 x'7 x'8 x'9 x'10 x'11 x'12 x'13) - (Alert y'1 y'2 y'3 y'4 y'5 y'6 y'7 y'8 y'9 y'10 y'11 y'12 y'13) - = let !z'1 = P'.mergeAppend x'1 y'1 - !z'2 = P'.mergeAppend x'2 y'2 - !z'3 = P'.mergeAppend x'3 y'3 - !z'4 = P'.mergeAppend x'4 y'4 - !z'5 = P'.mergeAppend x'5 y'5 - !z'6 = P'.mergeAppend x'6 y'6 - !z'7 = P'.mergeAppend x'7 y'7 - !z'8 = P'.mergeAppend x'8 y'8 - !z'9 = P'.mergeAppend x'9 y'9 - !z'10 = P'.mergeAppend x'10 y'10 - !z'11 = P'.mergeAppend x'11 y'11 - !z'12 = P'.mergeAppend x'12 y'12 - !z'13 = P'.mergeAppend x'13 y'13 - in Alert z'1 z'2 z'3 z'4 z'5 z'6 z'7 z'8 z'9 z'10 z'11 z'12 z'13 - -instance P'.Default Alert where - defaultValue - = Alert P'.defaultValue P'.defaultValue (Prelude'.Just (Prelude'.read "UNKNOWN_CAUSE")) - (Prelude'.Just (Prelude'.read "UNKNOWN_EFFECT")) - P'.defaultValue - P'.defaultValue - P'.defaultValue - P'.defaultValue - P'.defaultValue - (Prelude'.Just (Prelude'.read "UNKNOWN_SEVERITY")) - P'.defaultValue - P'.defaultValue - P'.defaultValue - -instance P'.Wire Alert where - wireSize ft' self'@(Alert x'1 x'2 x'3 x'4 x'5 x'6 x'7 x'8 x'9 x'10 x'11 x'12 x'13) - = case ft' of - 10 -> calc'Size - 11 -> P'.prependMessageSize calc'Size - _ -> P'.wireSizeErr ft' self' - where - calc'Size - = (P'.wireSizeRep 1 11 x'1 + P'.wireSizeRep 1 11 x'2 + P'.wireSizeOpt 1 14 x'3 + P'.wireSizeOpt 1 14 x'4 + - P'.wireSizeOpt 1 11 x'5 - + P'.wireSizeOpt 1 11 x'6 - + P'.wireSizeOpt 1 11 x'7 - + P'.wireSizeOpt 1 11 x'8 - + P'.wireSizeOpt 1 11 x'9 - + P'.wireSizeOpt 1 14 x'10 - + P'.wireSizeOpt 1 11 x'11 - + P'.wireSizeOpt 2 11 x'12 - + P'.wireSizeExtField x'13) - wirePutWithSize ft' self'@(Alert x'1 x'2 x'3 x'4 x'5 x'6 x'7 x'8 x'9 x'10 x'11 x'12 x'13) - = case ft' of - 10 -> put'Fields - 11 -> put'FieldsSized - _ -> P'.wirePutErr ft' self' - where - put'Fields - = P'.sequencePutWithSize - [P'.wirePutRepWithSize 10 11 x'1, P'.wirePutRepWithSize 42 11 x'2, P'.wirePutOptWithSize 48 14 x'3, - P'.wirePutOptWithSize 56 14 x'4, P'.wirePutOptWithSize 66 11 x'5, P'.wirePutOptWithSize 82 11 x'6, - P'.wirePutOptWithSize 90 11 x'7, P'.wirePutOptWithSize 98 11 x'8, P'.wirePutOptWithSize 106 11 x'9, - P'.wirePutOptWithSize 112 14 x'10, P'.wirePutOptWithSize 122 11 x'11, P'.wirePutOptWithSize 130 11 x'12, - P'.wirePutExtFieldWithSize x'13] - put'FieldsSized - = let size' = Prelude'.fst (P'.runPutM put'Fields) - put'Size - = do - P'.putSize size' - Prelude'.return (P'.size'WireSize size') - in P'.sequencePutWithSize [put'Size, put'Fields] - wireGet ft' - = case ft' of - 10 -> P'.getBareMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self) - 11 -> P'.getMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self) - _ -> P'.wireGetErr ft' - where - update'Self wire'Tag old'Self - = case wire'Tag of - 10 -> Prelude'.fmap (\ !new'Field -> old'Self{active_period = P'.append (active_period old'Self) new'Field}) - (P'.wireGet 11) - 42 -> Prelude'.fmap (\ !new'Field -> old'Self{informed_entity = P'.append (informed_entity old'Self) new'Field}) - (P'.wireGet 11) - 48 -> Prelude'.fmap (\ !new'Field -> old'Self{cause = Prelude'.Just new'Field}) (P'.wireGet 14) - 56 -> Prelude'.fmap (\ !new'Field -> old'Self{effect = Prelude'.Just new'Field}) (P'.wireGet 14) - 66 -> Prelude'.fmap (\ !new'Field -> old'Self{url = P'.mergeAppend (url old'Self) (Prelude'.Just new'Field)}) - (P'.wireGet 11) - 82 -> Prelude'.fmap - (\ !new'Field -> old'Self{header_text = P'.mergeAppend (header_text old'Self) (Prelude'.Just new'Field)}) - (P'.wireGet 11) - 90 -> Prelude'.fmap - (\ !new'Field -> - old'Self{description_text = P'.mergeAppend (description_text old'Self) (Prelude'.Just new'Field)}) - (P'.wireGet 11) - 98 -> Prelude'.fmap - (\ !new'Field -> - old'Self{tts_header_text = P'.mergeAppend (tts_header_text old'Self) (Prelude'.Just new'Field)}) - (P'.wireGet 11) - 106 -> Prelude'.fmap - (\ !new'Field -> - old'Self{tts_description_text = P'.mergeAppend (tts_description_text old'Self) (Prelude'.Just new'Field)}) - (P'.wireGet 11) - 112 -> Prelude'.fmap (\ !new'Field -> old'Self{severity_level = Prelude'.Just new'Field}) (P'.wireGet 14) - 122 -> Prelude'.fmap (\ !new'Field -> old'Self{image = P'.mergeAppend (image old'Self) (Prelude'.Just new'Field)}) - (P'.wireGet 11) - 130 -> Prelude'.fmap - (\ !new'Field -> - old'Self{image_alternative_text = - P'.mergeAppend (image_alternative_text old'Self) (Prelude'.Just new'Field)}) - (P'.wireGet 11) - _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in - if Prelude'.or [1000 <= field'Number && field'Number <= 1999, 9000 <= field'Number && field'Number <= 9999] then - P'.loadExtension field'Number wire'Type old'Self else P'.unknown field'Number wire'Type old'Self - -instance P'.MessageAPI msg' (msg' -> Alert) Alert where - getVal m' f' = f' m' - -instance P'.GPB Alert - -instance P'.ReflectDescriptor Alert where - getMessageInfo _ - = P'.GetMessageInfo (P'.fromDistinctAscList []) (P'.fromDistinctAscList [10, 42, 48, 56, 66, 82, 90, 98, 106, 112, 122, 130]) - reflectDescriptorInfo _ - = Prelude'.read - "DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.Alert\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"Alert\"}, descFilePath = [\"GTFS\",\"Realtime\",\"Alert.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Alert.active_period\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName' = FName \"active_period\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TimeRange\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TimeRange\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Alert.informed_entity\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName' = FName \"informed_entity\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 5}, wireTag = WireTag {getWireTag = 42}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.EntitySelector\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"EntitySelector\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Alert.cause\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName' = FName \"cause\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 6}, wireTag = WireTag {getWireTag = 48}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.Alert.Cause\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName = MName \"Cause\"}), hsRawDefault = Just \"UNKNOWN_CAUSE\", hsDefault = Just (HsDef'Enum \"UNKNOWN_CAUSE\"), isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Alert.effect\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName' = FName \"effect\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 7}, wireTag = WireTag {getWireTag = 56}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.Alert.Effect\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName = MName \"Effect\"}), hsRawDefault = Just \"UNKNOWN_EFFECT\", hsDefault = Just (HsDef'Enum \"UNKNOWN_EFFECT\"), isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Alert.url\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName' = FName \"url\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 8}, wireTag = WireTag {getWireTag = 66}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TranslatedString\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TranslatedString\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Alert.header_text\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName' = FName \"header_text\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 10}, wireTag = WireTag {getWireTag = 82}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TranslatedString\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TranslatedString\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Alert.description_text\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName' = FName \"description_text\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 11}, wireTag = WireTag {getWireTag = 90}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TranslatedString\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TranslatedString\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Alert.tts_header_text\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName' = FName \"tts_header_text\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 12}, wireTag = WireTag {getWireTag = 98}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TranslatedString\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TranslatedString\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Alert.tts_description_text\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName' = FName \"tts_description_text\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 13}, wireTag = WireTag {getWireTag = 106}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TranslatedString\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TranslatedString\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Alert.severity_level\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName' = FName \"severity_level\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 14}, wireTag = WireTag {getWireTag = 112}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.Alert.SeverityLevel\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName = MName \"SeverityLevel\"}), hsRawDefault = Just \"UNKNOWN_SEVERITY\", hsDefault = Just (HsDef'Enum \"UNKNOWN_SEVERITY\"), isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Alert.image\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName' = FName \"image\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 15}, wireTag = WireTag {getWireTag = 122}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TranslatedImage\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TranslatedImage\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Alert.image_alternative_text\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName' = FName \"image_alternative_text\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 16}, wireTag = WireTag {getWireTag = 130}, packedTag = Nothing, wireTagLength = 2, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TranslatedString\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TranslatedString\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False}" - -instance P'.TextType Alert where - tellT = P'.tellSubMessage - getT = P'.getSubMessage - -instance P'.TextMsg Alert where - textPut msg - = do - P'.tellT "active_period" (active_period msg) - P'.tellT "informed_entity" (informed_entity msg) - P'.tellT "cause" (cause msg) - P'.tellT "effect" (effect msg) - P'.tellT "url" (url msg) - P'.tellT "header_text" (header_text msg) - P'.tellT "description_text" (description_text msg) - P'.tellT "tts_header_text" (tts_header_text msg) - P'.tellT "tts_description_text" (tts_description_text msg) - P'.tellT "severity_level" (severity_level msg) - P'.tellT "image" (image msg) - P'.tellT "image_alternative_text" (image_alternative_text msg) - textGet - = do - mods <- P'.sepEndBy - (P'.choice - [parse'active_period, parse'informed_entity, parse'cause, parse'effect, parse'url, parse'header_text, - parse'description_text, parse'tts_header_text, parse'tts_description_text, parse'severity_level, parse'image, - parse'image_alternative_text]) - P'.spaces - Prelude'.return (Prelude'.foldl' (\ v f -> f v) P'.defaultValue mods) - where - parse'active_period - = Prelude'.fmap (\ v o -> o{active_period = P'.append (active_period o) v}) (P'.try (P'.getT "active_period")) - parse'informed_entity - = Prelude'.fmap (\ v o -> o{informed_entity = P'.append (informed_entity o) v}) (P'.try (P'.getT "informed_entity")) - parse'cause = Prelude'.fmap (\ v o -> o{cause = v}) (P'.try (P'.getT "cause")) - parse'effect = Prelude'.fmap (\ v o -> o{effect = v}) (P'.try (P'.getT "effect")) - parse'url = Prelude'.fmap (\ v o -> o{url = v}) (P'.try (P'.getT "url")) - parse'header_text = Prelude'.fmap (\ v o -> o{header_text = v}) (P'.try (P'.getT "header_text")) - parse'description_text = Prelude'.fmap (\ v o -> o{description_text = v}) (P'.try (P'.getT "description_text")) - parse'tts_header_text = Prelude'.fmap (\ v o -> o{tts_header_text = v}) (P'.try (P'.getT "tts_header_text")) - parse'tts_description_text = Prelude'.fmap (\ v o -> o{tts_description_text = v}) (P'.try (P'.getT "tts_description_text")) - parse'severity_level = Prelude'.fmap (\ v o -> o{severity_level = v}) (P'.try (P'.getT "severity_level")) - parse'image = Prelude'.fmap (\ v o -> o{image = v}) (P'.try (P'.getT "image")) - parse'image_alternative_text - = Prelude'.fmap (\ v o -> o{image_alternative_text = v}) (P'.try (P'.getT "image_alternative_text")) \ No newline at end of file diff --git a/gtfs/GTFS/Realtime/Alert/Cause.hs b/gtfs/GTFS/Realtime/Alert/Cause.hs deleted file mode 100644 index 9f71db7..0000000 --- a/gtfs/GTFS/Realtime/Alert/Cause.hs +++ /dev/null @@ -1,118 +0,0 @@ -{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings - #-} -{-# OPTIONS_GHC -w #-} -module GTFS.Realtime.Alert.Cause (Cause(..)) where -import Prelude ((+), (/), (.)) -import qualified Prelude as Prelude' -import qualified Data.List as Prelude' -import qualified Data.Typeable as Prelude' -import qualified GHC.Generics as Prelude' -import qualified Data.Data as Prelude' -import qualified Text.ProtocolBuffers.Header as P' - -data Cause = UNKNOWN_CAUSE - | OTHER_CAUSE - | TECHNICAL_PROBLEM - | STRIKE - | DEMONSTRATION - | ACCIDENT - | HOLIDAY - | WEATHER - | MAINTENANCE - | CONSTRUCTION - | POLICE_ACTIVITY - | MEDICAL_EMERGENCY - deriving (Prelude'.Read, Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, Prelude'.Generic) - -instance P'.Mergeable Cause - -instance Prelude'.Bounded Cause where - minBound = UNKNOWN_CAUSE - maxBound = MEDICAL_EMERGENCY - -instance P'.Default Cause where - defaultValue = UNKNOWN_CAUSE - -toMaybe'Enum :: Prelude'.Int -> P'.Maybe Cause -toMaybe'Enum 1 = Prelude'.Just UNKNOWN_CAUSE -toMaybe'Enum 2 = Prelude'.Just OTHER_CAUSE -toMaybe'Enum 3 = Prelude'.Just TECHNICAL_PROBLEM -toMaybe'Enum 4 = Prelude'.Just STRIKE -toMaybe'Enum 5 = Prelude'.Just DEMONSTRATION -toMaybe'Enum 6 = Prelude'.Just ACCIDENT -toMaybe'Enum 7 = Prelude'.Just HOLIDAY -toMaybe'Enum 8 = Prelude'.Just WEATHER -toMaybe'Enum 9 = Prelude'.Just MAINTENANCE -toMaybe'Enum 10 = Prelude'.Just CONSTRUCTION -toMaybe'Enum 11 = Prelude'.Just POLICE_ACTIVITY -toMaybe'Enum 12 = Prelude'.Just MEDICAL_EMERGENCY -toMaybe'Enum _ = Prelude'.Nothing - -instance Prelude'.Enum Cause where - fromEnum UNKNOWN_CAUSE = 1 - fromEnum OTHER_CAUSE = 2 - fromEnum TECHNICAL_PROBLEM = 3 - fromEnum STRIKE = 4 - fromEnum DEMONSTRATION = 5 - fromEnum ACCIDENT = 6 - fromEnum HOLIDAY = 7 - fromEnum WEATHER = 8 - fromEnum MAINTENANCE = 9 - fromEnum CONSTRUCTION = 10 - fromEnum POLICE_ACTIVITY = 11 - fromEnum MEDICAL_EMERGENCY = 12 - toEnum = P'.fromMaybe (Prelude'.error "hprotoc generated code: toEnum failure for type GTFS.Realtime.Alert.Cause") . toMaybe'Enum - succ UNKNOWN_CAUSE = OTHER_CAUSE - succ OTHER_CAUSE = TECHNICAL_PROBLEM - succ TECHNICAL_PROBLEM = STRIKE - succ STRIKE = DEMONSTRATION - succ DEMONSTRATION = ACCIDENT - succ ACCIDENT = HOLIDAY - succ HOLIDAY = WEATHER - succ WEATHER = MAINTENANCE - succ MAINTENANCE = CONSTRUCTION - succ CONSTRUCTION = POLICE_ACTIVITY - succ POLICE_ACTIVITY = MEDICAL_EMERGENCY - succ _ = Prelude'.error "hprotoc generated code: succ failure for type GTFS.Realtime.Alert.Cause" - pred OTHER_CAUSE = UNKNOWN_CAUSE - pred TECHNICAL_PROBLEM = OTHER_CAUSE - pred STRIKE = TECHNICAL_PROBLEM - pred DEMONSTRATION = STRIKE - pred ACCIDENT = DEMONSTRATION - pred HOLIDAY = ACCIDENT - pred WEATHER = HOLIDAY - pred MAINTENANCE = WEATHER - pred CONSTRUCTION = MAINTENANCE - pred POLICE_ACTIVITY = CONSTRUCTION - pred MEDICAL_EMERGENCY = POLICE_ACTIVITY - pred _ = Prelude'.error "hprotoc generated code: pred failure for type GTFS.Realtime.Alert.Cause" - -instance P'.Wire Cause where - wireSize ft' enum = P'.wireSize ft' (Prelude'.fromEnum enum) - wirePut ft' enum = P'.wirePut ft' (Prelude'.fromEnum enum) - wireGet 14 = P'.wireGetEnum toMaybe'Enum - wireGet ft' = P'.wireGetErr ft' - wireGetPacked 14 = P'.wireGetPackedEnum toMaybe'Enum - wireGetPacked ft' = P'.wireGetErr ft' - -instance P'.GPB Cause - -instance P'.MessageAPI msg' (msg' -> Cause) Cause where - getVal m' f' = f' m' - -instance P'.ReflectEnum Cause where - reflectEnum - = [(1, "UNKNOWN_CAUSE", UNKNOWN_CAUSE), (2, "OTHER_CAUSE", OTHER_CAUSE), (3, "TECHNICAL_PROBLEM", TECHNICAL_PROBLEM), - (4, "STRIKE", STRIKE), (5, "DEMONSTRATION", DEMONSTRATION), (6, "ACCIDENT", ACCIDENT), (7, "HOLIDAY", HOLIDAY), - (8, "WEATHER", WEATHER), (9, "MAINTENANCE", MAINTENANCE), (10, "CONSTRUCTION", CONSTRUCTION), - (11, "POLICE_ACTIVITY", POLICE_ACTIVITY), (12, "MEDICAL_EMERGENCY", MEDICAL_EMERGENCY)] - reflectEnumInfo _ - = P'.EnumInfo (P'.makePNF (P'.pack ".transit_realtime.Alert.Cause") [] ["GTFS", "Realtime", "Alert"] "Cause") - ["GTFS", "Realtime", "Alert", "Cause.hs"] - [(1, "UNKNOWN_CAUSE"), (2, "OTHER_CAUSE"), (3, "TECHNICAL_PROBLEM"), (4, "STRIKE"), (5, "DEMONSTRATION"), (6, "ACCIDENT"), - (7, "HOLIDAY"), (8, "WEATHER"), (9, "MAINTENANCE"), (10, "CONSTRUCTION"), (11, "POLICE_ACTIVITY"), (12, "MEDICAL_EMERGENCY")] - Prelude'.False - -instance P'.TextType Cause where - tellT = P'.tellShow - getT = P'.getRead \ No newline at end of file diff --git a/gtfs/GTFS/Realtime/Alert/Effect.hs b/gtfs/GTFS/Realtime/Alert/Effect.hs deleted file mode 100644 index dcaa77d..0000000 --- a/gtfs/GTFS/Realtime/Alert/Effect.hs +++ /dev/null @@ -1,114 +0,0 @@ -{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings - #-} -{-# OPTIONS_GHC -w #-} -module GTFS.Realtime.Alert.Effect (Effect(..)) where -import Prelude ((+), (/), (.)) -import qualified Prelude as Prelude' -import qualified Data.List as Prelude' -import qualified Data.Typeable as Prelude' -import qualified GHC.Generics as Prelude' -import qualified Data.Data as Prelude' -import qualified Text.ProtocolBuffers.Header as P' - -data Effect = NO_SERVICE - | REDUCED_SERVICE - | SIGNIFICANT_DELAYS - | DETOUR - | ADDITIONAL_SERVICE - | MODIFIED_SERVICE - | OTHER_EFFECT - | UNKNOWN_EFFECT - | STOP_MOVED - | NO_EFFECT - | ACCESSIBILITY_ISSUE - deriving (Prelude'.Read, Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, Prelude'.Generic) - -instance P'.Mergeable Effect - -instance Prelude'.Bounded Effect where - minBound = NO_SERVICE - maxBound = ACCESSIBILITY_ISSUE - -instance P'.Default Effect where - defaultValue = NO_SERVICE - -toMaybe'Enum :: Prelude'.Int -> P'.Maybe Effect -toMaybe'Enum 1 = Prelude'.Just NO_SERVICE -toMaybe'Enum 2 = Prelude'.Just REDUCED_SERVICE -toMaybe'Enum 3 = Prelude'.Just SIGNIFICANT_DELAYS -toMaybe'Enum 4 = Prelude'.Just DETOUR -toMaybe'Enum 5 = Prelude'.Just ADDITIONAL_SERVICE -toMaybe'Enum 6 = Prelude'.Just MODIFIED_SERVICE -toMaybe'Enum 7 = Prelude'.Just OTHER_EFFECT -toMaybe'Enum 8 = Prelude'.Just UNKNOWN_EFFECT -toMaybe'Enum 9 = Prelude'.Just STOP_MOVED -toMaybe'Enum 10 = Prelude'.Just NO_EFFECT -toMaybe'Enum 11 = Prelude'.Just ACCESSIBILITY_ISSUE -toMaybe'Enum _ = Prelude'.Nothing - -instance Prelude'.Enum Effect where - fromEnum NO_SERVICE = 1 - fromEnum REDUCED_SERVICE = 2 - fromEnum SIGNIFICANT_DELAYS = 3 - fromEnum DETOUR = 4 - fromEnum ADDITIONAL_SERVICE = 5 - fromEnum MODIFIED_SERVICE = 6 - fromEnum OTHER_EFFECT = 7 - fromEnum UNKNOWN_EFFECT = 8 - fromEnum STOP_MOVED = 9 - fromEnum NO_EFFECT = 10 - fromEnum ACCESSIBILITY_ISSUE = 11 - toEnum = P'.fromMaybe (Prelude'.error "hprotoc generated code: toEnum failure for type GTFS.Realtime.Alert.Effect") . toMaybe'Enum - succ NO_SERVICE = REDUCED_SERVICE - succ REDUCED_SERVICE = SIGNIFICANT_DELAYS - succ SIGNIFICANT_DELAYS = DETOUR - succ DETOUR = ADDITIONAL_SERVICE - succ ADDITIONAL_SERVICE = MODIFIED_SERVICE - succ MODIFIED_SERVICE = OTHER_EFFECT - succ OTHER_EFFECT = UNKNOWN_EFFECT - succ UNKNOWN_EFFECT = STOP_MOVED - succ STOP_MOVED = NO_EFFECT - succ NO_EFFECT = ACCESSIBILITY_ISSUE - succ _ = Prelude'.error "hprotoc generated code: succ failure for type GTFS.Realtime.Alert.Effect" - pred REDUCED_SERVICE = NO_SERVICE - pred SIGNIFICANT_DELAYS = REDUCED_SERVICE - pred DETOUR = SIGNIFICANT_DELAYS - pred ADDITIONAL_SERVICE = DETOUR - pred MODIFIED_SERVICE = ADDITIONAL_SERVICE - pred OTHER_EFFECT = MODIFIED_SERVICE - pred UNKNOWN_EFFECT = OTHER_EFFECT - pred STOP_MOVED = UNKNOWN_EFFECT - pred NO_EFFECT = STOP_MOVED - pred ACCESSIBILITY_ISSUE = NO_EFFECT - pred _ = Prelude'.error "hprotoc generated code: pred failure for type GTFS.Realtime.Alert.Effect" - -instance P'.Wire Effect where - wireSize ft' enum = P'.wireSize ft' (Prelude'.fromEnum enum) - wirePut ft' enum = P'.wirePut ft' (Prelude'.fromEnum enum) - wireGet 14 = P'.wireGetEnum toMaybe'Enum - wireGet ft' = P'.wireGetErr ft' - wireGetPacked 14 = P'.wireGetPackedEnum toMaybe'Enum - wireGetPacked ft' = P'.wireGetErr ft' - -instance P'.GPB Effect - -instance P'.MessageAPI msg' (msg' -> Effect) Effect where - getVal m' f' = f' m' - -instance P'.ReflectEnum Effect where - reflectEnum - = [(1, "NO_SERVICE", NO_SERVICE), (2, "REDUCED_SERVICE", REDUCED_SERVICE), (3, "SIGNIFICANT_DELAYS", SIGNIFICANT_DELAYS), - (4, "DETOUR", DETOUR), (5, "ADDITIONAL_SERVICE", ADDITIONAL_SERVICE), (6, "MODIFIED_SERVICE", MODIFIED_SERVICE), - (7, "OTHER_EFFECT", OTHER_EFFECT), (8, "UNKNOWN_EFFECT", UNKNOWN_EFFECT), (9, "STOP_MOVED", STOP_MOVED), - (10, "NO_EFFECT", NO_EFFECT), (11, "ACCESSIBILITY_ISSUE", ACCESSIBILITY_ISSUE)] - reflectEnumInfo _ - = P'.EnumInfo (P'.makePNF (P'.pack ".transit_realtime.Alert.Effect") [] ["GTFS", "Realtime", "Alert"] "Effect") - ["GTFS", "Realtime", "Alert", "Effect.hs"] - [(1, "NO_SERVICE"), (2, "REDUCED_SERVICE"), (3, "SIGNIFICANT_DELAYS"), (4, "DETOUR"), (5, "ADDITIONAL_SERVICE"), - (6, "MODIFIED_SERVICE"), (7, "OTHER_EFFECT"), (8, "UNKNOWN_EFFECT"), (9, "STOP_MOVED"), (10, "NO_EFFECT"), - (11, "ACCESSIBILITY_ISSUE")] - Prelude'.False - -instance P'.TextType Effect where - tellT = P'.tellShow - getT = P'.getRead \ No newline at end of file diff --git a/gtfs/GTFS/Realtime/Alert/SeverityLevel.hs b/gtfs/GTFS/Realtime/Alert/SeverityLevel.hs deleted file mode 100644 index bb50ff3..0000000 --- a/gtfs/GTFS/Realtime/Alert/SeverityLevel.hs +++ /dev/null @@ -1,76 +0,0 @@ -{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings - #-} -{-# OPTIONS_GHC -w #-} -module GTFS.Realtime.Alert.SeverityLevel (SeverityLevel(..)) where -import Prelude ((+), (/), (.)) -import qualified Prelude as Prelude' -import qualified Data.List as Prelude' -import qualified Data.Typeable as Prelude' -import qualified GHC.Generics as Prelude' -import qualified Data.Data as Prelude' -import qualified Text.ProtocolBuffers.Header as P' - -data SeverityLevel = UNKNOWN_SEVERITY - | INFO - | WARNING - | SEVERE - deriving (Prelude'.Read, Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, - Prelude'.Generic) - -instance P'.Mergeable SeverityLevel - -instance Prelude'.Bounded SeverityLevel where - minBound = UNKNOWN_SEVERITY - maxBound = SEVERE - -instance P'.Default SeverityLevel where - defaultValue = UNKNOWN_SEVERITY - -toMaybe'Enum :: Prelude'.Int -> P'.Maybe SeverityLevel -toMaybe'Enum 1 = Prelude'.Just UNKNOWN_SEVERITY -toMaybe'Enum 2 = Prelude'.Just INFO -toMaybe'Enum 3 = Prelude'.Just WARNING -toMaybe'Enum 4 = Prelude'.Just SEVERE -toMaybe'Enum _ = Prelude'.Nothing - -instance Prelude'.Enum SeverityLevel where - fromEnum UNKNOWN_SEVERITY = 1 - fromEnum INFO = 2 - fromEnum WARNING = 3 - fromEnum SEVERE = 4 - toEnum - = P'.fromMaybe (Prelude'.error "hprotoc generated code: toEnum failure for type GTFS.Realtime.Alert.SeverityLevel") . - toMaybe'Enum - succ UNKNOWN_SEVERITY = INFO - succ INFO = WARNING - succ WARNING = SEVERE - succ _ = Prelude'.error "hprotoc generated code: succ failure for type GTFS.Realtime.Alert.SeverityLevel" - pred INFO = UNKNOWN_SEVERITY - pred WARNING = INFO - pred SEVERE = WARNING - pred _ = Prelude'.error "hprotoc generated code: pred failure for type GTFS.Realtime.Alert.SeverityLevel" - -instance P'.Wire SeverityLevel where - wireSize ft' enum = P'.wireSize ft' (Prelude'.fromEnum enum) - wirePut ft' enum = P'.wirePut ft' (Prelude'.fromEnum enum) - wireGet 14 = P'.wireGetEnum toMaybe'Enum - wireGet ft' = P'.wireGetErr ft' - wireGetPacked 14 = P'.wireGetPackedEnum toMaybe'Enum - wireGetPacked ft' = P'.wireGetErr ft' - -instance P'.GPB SeverityLevel - -instance P'.MessageAPI msg' (msg' -> SeverityLevel) SeverityLevel where - getVal m' f' = f' m' - -instance P'.ReflectEnum SeverityLevel where - reflectEnum = [(1, "UNKNOWN_SEVERITY", UNKNOWN_SEVERITY), (2, "INFO", INFO), (3, "WARNING", WARNING), (4, "SEVERE", SEVERE)] - reflectEnumInfo _ - = P'.EnumInfo (P'.makePNF (P'.pack ".transit_realtime.Alert.SeverityLevel") [] ["GTFS", "Realtime", "Alert"] "SeverityLevel") - ["GTFS", "Realtime", "Alert", "SeverityLevel.hs"] - [(1, "UNKNOWN_SEVERITY"), (2, "INFO"), (3, "WARNING"), (4, "SEVERE")] - Prelude'.False - -instance P'.TextType SeverityLevel where - tellT = P'.tellShow - getT = P'.getRead \ No newline at end of file diff --git a/gtfs/GTFS/Realtime/EntitySelector.hs b/gtfs/GTFS/Realtime/EntitySelector.hs deleted file mode 100644 index c4441ae..0000000 --- a/gtfs/GTFS/Realtime/EntitySelector.hs +++ /dev/null @@ -1,125 +0,0 @@ -{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings - #-} -{-# OPTIONS_GHC -w #-} -module GTFS.Realtime.EntitySelector (EntitySelector(..)) where -import Prelude ((+), (/), (++), (.), (==), (<=), (&&)) -import qualified Prelude as Prelude' -import qualified Data.List as Prelude' -import qualified Data.Typeable as Prelude' -import qualified GHC.Generics as Prelude' -import qualified Data.Data as Prelude' -import qualified Text.ProtocolBuffers.Header as P' -import qualified GTFS.Realtime.TripDescriptor as GTFS.Realtime - -data EntitySelector = EntitySelector{agency_id :: !(P'.Maybe P'.Utf8), route_id :: !(P'.Maybe P'.Utf8), - route_type :: !(P'.Maybe P'.Int32), trip :: !(P'.Maybe GTFS.Realtime.TripDescriptor), - stop_id :: !(P'.Maybe P'.Utf8), direction_id :: !(P'.Maybe P'.Word32), - ext'field :: !(P'.ExtField)} - deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, Prelude'.Generic) - -instance P'.ExtendMessage EntitySelector where - getExtField = ext'field - putExtField e'f msg = msg{ext'field = e'f} - validExtRanges msg = P'.extRanges (P'.reflectDescriptorInfo msg) - -instance P'.Mergeable EntitySelector where - mergeAppend (EntitySelector x'1 x'2 x'3 x'4 x'5 x'6 x'7) (EntitySelector y'1 y'2 y'3 y'4 y'5 y'6 y'7) - = let !z'1 = P'.mergeAppend x'1 y'1 - !z'2 = P'.mergeAppend x'2 y'2 - !z'3 = P'.mergeAppend x'3 y'3 - !z'4 = P'.mergeAppend x'4 y'4 - !z'5 = P'.mergeAppend x'5 y'5 - !z'6 = P'.mergeAppend x'6 y'6 - !z'7 = P'.mergeAppend x'7 y'7 - in EntitySelector z'1 z'2 z'3 z'4 z'5 z'6 z'7 - -instance P'.Default EntitySelector where - defaultValue - = EntitySelector P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue - -instance P'.Wire EntitySelector where - wireSize ft' self'@(EntitySelector x'1 x'2 x'3 x'4 x'5 x'6 x'7) - = case ft' of - 10 -> calc'Size - 11 -> P'.prependMessageSize calc'Size - _ -> P'.wireSizeErr ft' self' - where - calc'Size - = (P'.wireSizeOpt 1 9 x'1 + P'.wireSizeOpt 1 9 x'2 + P'.wireSizeOpt 1 5 x'3 + P'.wireSizeOpt 1 11 x'4 + - P'.wireSizeOpt 1 9 x'5 - + P'.wireSizeOpt 1 13 x'6 - + P'.wireSizeExtField x'7) - wirePutWithSize ft' self'@(EntitySelector x'1 x'2 x'3 x'4 x'5 x'6 x'7) - = case ft' of - 10 -> put'Fields - 11 -> put'FieldsSized - _ -> P'.wirePutErr ft' self' - where - put'Fields - = P'.sequencePutWithSize - [P'.wirePutOptWithSize 10 9 x'1, P'.wirePutOptWithSize 18 9 x'2, P'.wirePutOptWithSize 24 5 x'3, - P'.wirePutOptWithSize 34 11 x'4, P'.wirePutOptWithSize 42 9 x'5, P'.wirePutOptWithSize 48 13 x'6, - P'.wirePutExtFieldWithSize x'7] - put'FieldsSized - = let size' = Prelude'.fst (P'.runPutM put'Fields) - put'Size - = do - P'.putSize size' - Prelude'.return (P'.size'WireSize size') - in P'.sequencePutWithSize [put'Size, put'Fields] - wireGet ft' - = case ft' of - 10 -> P'.getBareMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self) - 11 -> P'.getMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self) - _ -> P'.wireGetErr ft' - where - update'Self wire'Tag old'Self - = case wire'Tag of - 10 -> Prelude'.fmap (\ !new'Field -> old'Self{agency_id = Prelude'.Just new'Field}) (P'.wireGet 9) - 18 -> Prelude'.fmap (\ !new'Field -> old'Self{route_id = Prelude'.Just new'Field}) (P'.wireGet 9) - 24 -> Prelude'.fmap (\ !new'Field -> old'Self{route_type = Prelude'.Just new'Field}) (P'.wireGet 5) - 34 -> Prelude'.fmap (\ !new'Field -> old'Self{trip = P'.mergeAppend (trip old'Self) (Prelude'.Just new'Field)}) - (P'.wireGet 11) - 42 -> Prelude'.fmap (\ !new'Field -> old'Self{stop_id = Prelude'.Just new'Field}) (P'.wireGet 9) - 48 -> Prelude'.fmap (\ !new'Field -> old'Self{direction_id = Prelude'.Just new'Field}) (P'.wireGet 13) - _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in - if Prelude'.or [1000 <= field'Number && field'Number <= 1999, 9000 <= field'Number && field'Number <= 9999] then - P'.loadExtension field'Number wire'Type old'Self else P'.unknown field'Number wire'Type old'Self - -instance P'.MessageAPI msg' (msg' -> EntitySelector) EntitySelector where - getVal m' f' = f' m' - -instance P'.GPB EntitySelector - -instance P'.ReflectDescriptor EntitySelector where - getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList []) (P'.fromDistinctAscList [10, 18, 24, 34, 42, 48]) - reflectDescriptorInfo _ - = Prelude'.read - "DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.EntitySelector\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"EntitySelector\"}, descFilePath = [\"GTFS\",\"Realtime\",\"EntitySelector.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.EntitySelector.agency_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"EntitySelector\"], baseName' = FName \"agency_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.EntitySelector.route_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"EntitySelector\"], baseName' = FName \"route_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.EntitySelector.route_type\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"EntitySelector\"], baseName' = FName \"route_type\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 24}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 5}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.EntitySelector.trip\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"EntitySelector\"], baseName' = FName \"trip\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 34}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TripDescriptor\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TripDescriptor\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.EntitySelector.stop_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"EntitySelector\"], baseName' = FName \"stop_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 5}, wireTag = WireTag {getWireTag = 42}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.EntitySelector.direction_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"EntitySelector\"], baseName' = FName \"direction_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 6}, wireTag = WireTag {getWireTag = 48}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 13}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False}" - -instance P'.TextType EntitySelector where - tellT = P'.tellSubMessage - getT = P'.getSubMessage - -instance P'.TextMsg EntitySelector where - textPut msg - = do - P'.tellT "agency_id" (agency_id msg) - P'.tellT "route_id" (route_id msg) - P'.tellT "route_type" (route_type msg) - P'.tellT "trip" (trip msg) - P'.tellT "stop_id" (stop_id msg) - P'.tellT "direction_id" (direction_id msg) - textGet - = do - mods <- P'.sepEndBy - (P'.choice [parse'agency_id, parse'route_id, parse'route_type, parse'trip, parse'stop_id, parse'direction_id]) - P'.spaces - Prelude'.return (Prelude'.foldl' (\ v f -> f v) P'.defaultValue mods) - where - parse'agency_id = Prelude'.fmap (\ v o -> o{agency_id = v}) (P'.try (P'.getT "agency_id")) - parse'route_id = Prelude'.fmap (\ v o -> o{route_id = v}) (P'.try (P'.getT "route_id")) - parse'route_type = Prelude'.fmap (\ v o -> o{route_type = v}) (P'.try (P'.getT "route_type")) - parse'trip = Prelude'.fmap (\ v o -> o{trip = v}) (P'.try (P'.getT "trip")) - parse'stop_id = Prelude'.fmap (\ v o -> o{stop_id = v}) (P'.try (P'.getT "stop_id")) - parse'direction_id = Prelude'.fmap (\ v o -> o{direction_id = v}) (P'.try (P'.getT "direction_id")) \ No newline at end of file diff --git a/gtfs/GTFS/Realtime/FeedEntity.hs b/gtfs/GTFS/Realtime/FeedEntity.hs deleted file mode 100644 index 4ac137a..0000000 --- a/gtfs/GTFS/Realtime/FeedEntity.hs +++ /dev/null @@ -1,132 +0,0 @@ -{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings - #-} -{-# OPTIONS_GHC -w #-} -module GTFS.Realtime.FeedEntity (FeedEntity(..)) where -import Prelude ((+), (/), (++), (.), (==), (<=), (&&)) -import qualified Prelude as Prelude' -import qualified Data.List as Prelude' -import qualified Data.Typeable as Prelude' -import qualified GHC.Generics as Prelude' -import qualified Data.Data as Prelude' -import qualified Text.ProtocolBuffers.Header as P' -import qualified GTFS.Realtime.Alert as GTFS.Realtime -import qualified GTFS.Realtime.Shape as GTFS.Realtime -import qualified GTFS.Realtime.TripUpdate as GTFS.Realtime -import qualified GTFS.Realtime.VehiclePosition as GTFS.Realtime - -data FeedEntity = FeedEntity{id :: !(P'.Utf8), is_deleted :: !(P'.Maybe P'.Bool), - trip_update :: !(P'.Maybe GTFS.Realtime.TripUpdate), - vehicle :: !(P'.Maybe GTFS.Realtime.VehiclePosition), alert :: !(P'.Maybe GTFS.Realtime.Alert), - shape :: !(P'.Maybe GTFS.Realtime.Shape), ext'field :: !(P'.ExtField)} - deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, Prelude'.Generic) - -instance P'.ExtendMessage FeedEntity where - getExtField = ext'field - putExtField e'f msg = msg{ext'field = e'f} - validExtRanges msg = P'.extRanges (P'.reflectDescriptorInfo msg) - -instance P'.Mergeable FeedEntity where - mergeAppend (FeedEntity x'1 x'2 x'3 x'4 x'5 x'6 x'7) (FeedEntity y'1 y'2 y'3 y'4 y'5 y'6 y'7) - = let !z'1 = P'.mergeAppend x'1 y'1 - !z'2 = P'.mergeAppend x'2 y'2 - !z'3 = P'.mergeAppend x'3 y'3 - !z'4 = P'.mergeAppend x'4 y'4 - !z'5 = P'.mergeAppend x'5 y'5 - !z'6 = P'.mergeAppend x'6 y'6 - !z'7 = P'.mergeAppend x'7 y'7 - in FeedEntity z'1 z'2 z'3 z'4 z'5 z'6 z'7 - -instance P'.Default FeedEntity where - defaultValue - = FeedEntity P'.defaultValue (Prelude'.Just Prelude'.False) P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue - P'.defaultValue - -instance P'.Wire FeedEntity where - wireSize ft' self'@(FeedEntity x'1 x'2 x'3 x'4 x'5 x'6 x'7) - = case ft' of - 10 -> calc'Size - 11 -> P'.prependMessageSize calc'Size - _ -> P'.wireSizeErr ft' self' - where - calc'Size - = (P'.wireSizeReq 1 9 x'1 + P'.wireSizeOpt 1 8 x'2 + P'.wireSizeOpt 1 11 x'3 + P'.wireSizeOpt 1 11 x'4 + - P'.wireSizeOpt 1 11 x'5 - + P'.wireSizeOpt 1 11 x'6 - + P'.wireSizeExtField x'7) - wirePutWithSize ft' self'@(FeedEntity x'1 x'2 x'3 x'4 x'5 x'6 x'7) - = case ft' of - 10 -> put'Fields - 11 -> put'FieldsSized - _ -> P'.wirePutErr ft' self' - where - put'Fields - = P'.sequencePutWithSize - [P'.wirePutReqWithSize 10 9 x'1, P'.wirePutOptWithSize 16 8 x'2, P'.wirePutOptWithSize 26 11 x'3, - P'.wirePutOptWithSize 34 11 x'4, P'.wirePutOptWithSize 42 11 x'5, P'.wirePutOptWithSize 50 11 x'6, - P'.wirePutExtFieldWithSize x'7] - put'FieldsSized - = let size' = Prelude'.fst (P'.runPutM put'Fields) - put'Size - = do - P'.putSize size' - Prelude'.return (P'.size'WireSize size') - in P'.sequencePutWithSize [put'Size, put'Fields] - wireGet ft' - = case ft' of - 10 -> P'.getBareMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self) - 11 -> P'.getMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self) - _ -> P'.wireGetErr ft' - where - update'Self wire'Tag old'Self - = case wire'Tag of - 10 -> Prelude'.fmap (\ !new'Field -> old'Self{id = new'Field}) (P'.wireGet 9) - 16 -> Prelude'.fmap (\ !new'Field -> old'Self{is_deleted = Prelude'.Just new'Field}) (P'.wireGet 8) - 26 -> Prelude'.fmap - (\ !new'Field -> old'Self{trip_update = P'.mergeAppend (trip_update old'Self) (Prelude'.Just new'Field)}) - (P'.wireGet 11) - 34 -> Prelude'.fmap (\ !new'Field -> old'Self{vehicle = P'.mergeAppend (vehicle old'Self) (Prelude'.Just new'Field)}) - (P'.wireGet 11) - 42 -> Prelude'.fmap (\ !new'Field -> old'Self{alert = P'.mergeAppend (alert old'Self) (Prelude'.Just new'Field)}) - (P'.wireGet 11) - 50 -> Prelude'.fmap (\ !new'Field -> old'Self{shape = P'.mergeAppend (shape old'Self) (Prelude'.Just new'Field)}) - (P'.wireGet 11) - _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in - if Prelude'.or [1000 <= field'Number && field'Number <= 1999, 9000 <= field'Number && field'Number <= 9999] then - P'.loadExtension field'Number wire'Type old'Self else P'.unknown field'Number wire'Type old'Self - -instance P'.MessageAPI msg' (msg' -> FeedEntity) FeedEntity where - getVal m' f' = f' m' - -instance P'.GPB FeedEntity - -instance P'.ReflectDescriptor FeedEntity where - getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList [10]) (P'.fromDistinctAscList [10, 16, 26, 34, 42, 50]) - reflectDescriptorInfo _ - = Prelude'.read - "DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.FeedEntity\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"FeedEntity\"}, descFilePath = [\"GTFS\",\"Realtime\",\"FeedEntity.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.FeedEntity.id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"FeedEntity\"], baseName' = FName \"id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.FeedEntity.is_deleted\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"FeedEntity\"], baseName' = FName \"is_deleted\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 16}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 8}, typeName = Nothing, hsRawDefault = Just \"false\", hsDefault = Just (HsDef'Bool False), isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.FeedEntity.trip_update\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"FeedEntity\"], baseName' = FName \"trip_update\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 26}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TripUpdate\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TripUpdate\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.FeedEntity.vehicle\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"FeedEntity\"], baseName' = FName \"vehicle\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 34}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.VehiclePosition\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"VehiclePosition\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.FeedEntity.alert\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"FeedEntity\"], baseName' = FName \"alert\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 5}, wireTag = WireTag {getWireTag = 42}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.Alert\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"Alert\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.FeedEntity.shape\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"FeedEntity\"], baseName' = FName \"shape\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 6}, wireTag = WireTag {getWireTag = 50}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.Shape\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"Shape\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False}" - -instance P'.TextType FeedEntity where - tellT = P'.tellSubMessage - getT = P'.getSubMessage - -instance P'.TextMsg FeedEntity where - textPut msg - = do - P'.tellT "id" (id msg) - P'.tellT "is_deleted" (is_deleted msg) - P'.tellT "trip_update" (trip_update msg) - P'.tellT "vehicle" (vehicle msg) - P'.tellT "alert" (alert msg) - P'.tellT "shape" (shape msg) - textGet - = do - mods <- P'.sepEndBy (P'.choice [parse'id, parse'is_deleted, parse'trip_update, parse'vehicle, parse'alert, parse'shape]) - P'.spaces - Prelude'.return (Prelude'.foldl' (\ v f -> f v) P'.defaultValue mods) - where - parse'id = Prelude'.fmap (\ v o -> o{id = v}) (P'.try (P'.getT "id")) - parse'is_deleted = Prelude'.fmap (\ v o -> o{is_deleted = v}) (P'.try (P'.getT "is_deleted")) - parse'trip_update = Prelude'.fmap (\ v o -> o{trip_update = v}) (P'.try (P'.getT "trip_update")) - parse'vehicle = Prelude'.fmap (\ v o -> o{vehicle = v}) (P'.try (P'.getT "vehicle")) - parse'alert = Prelude'.fmap (\ v o -> o{alert = v}) (P'.try (P'.getT "alert")) - parse'shape = Prelude'.fmap (\ v o -> o{shape = v}) (P'.try (P'.getT "shape")) \ No newline at end of file diff --git a/gtfs/GTFS/Realtime/FeedHeader.hs b/gtfs/GTFS/Realtime/FeedHeader.hs deleted file mode 100644 index f4b8667..0000000 --- a/gtfs/GTFS/Realtime/FeedHeader.hs +++ /dev/null @@ -1,104 +0,0 @@ -{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings - #-} -{-# OPTIONS_GHC -w #-} -module GTFS.Realtime.FeedHeader (FeedHeader(..)) where -import Prelude ((+), (/), (++), (.), (==), (<=), (&&)) -import qualified Prelude as Prelude' -import qualified Data.List as Prelude' -import qualified Data.Typeable as Prelude' -import qualified GHC.Generics as Prelude' -import qualified Data.Data as Prelude' -import qualified Text.ProtocolBuffers.Header as P' -import qualified GTFS.Realtime.FeedHeader.Incrementality as GTFS.Realtime.FeedHeader - -data FeedHeader = FeedHeader{gtfs_realtime_version :: !(P'.Utf8), - incrementality :: !(P'.Maybe GTFS.Realtime.FeedHeader.Incrementality), - timestamp :: !(P'.Maybe P'.Word64), ext'field :: !(P'.ExtField)} - deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, Prelude'.Generic) - -instance P'.ExtendMessage FeedHeader where - getExtField = ext'field - putExtField e'f msg = msg{ext'field = e'f} - validExtRanges msg = P'.extRanges (P'.reflectDescriptorInfo msg) - -instance P'.Mergeable FeedHeader where - mergeAppend (FeedHeader x'1 x'2 x'3 x'4) (FeedHeader y'1 y'2 y'3 y'4) - = let !z'1 = P'.mergeAppend x'1 y'1 - !z'2 = P'.mergeAppend x'2 y'2 - !z'3 = P'.mergeAppend x'3 y'3 - !z'4 = P'.mergeAppend x'4 y'4 - in FeedHeader z'1 z'2 z'3 z'4 - -instance P'.Default FeedHeader where - defaultValue = FeedHeader P'.defaultValue (Prelude'.Just (Prelude'.read "FULL_DATASET")) P'.defaultValue P'.defaultValue - -instance P'.Wire FeedHeader where - wireSize ft' self'@(FeedHeader x'1 x'2 x'3 x'4) - = case ft' of - 10 -> calc'Size - 11 -> P'.prependMessageSize calc'Size - _ -> P'.wireSizeErr ft' self' - where - calc'Size = (P'.wireSizeReq 1 9 x'1 + P'.wireSizeOpt 1 14 x'2 + P'.wireSizeOpt 1 4 x'3 + P'.wireSizeExtField x'4) - wirePutWithSize ft' self'@(FeedHeader x'1 x'2 x'3 x'4) - = case ft' of - 10 -> put'Fields - 11 -> put'FieldsSized - _ -> P'.wirePutErr ft' self' - where - put'Fields - = P'.sequencePutWithSize - [P'.wirePutReqWithSize 10 9 x'1, P'.wirePutOptWithSize 16 14 x'2, P'.wirePutOptWithSize 24 4 x'3, - P'.wirePutExtFieldWithSize x'4] - put'FieldsSized - = let size' = Prelude'.fst (P'.runPutM put'Fields) - put'Size - = do - P'.putSize size' - Prelude'.return (P'.size'WireSize size') - in P'.sequencePutWithSize [put'Size, put'Fields] - wireGet ft' - = case ft' of - 10 -> P'.getBareMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self) - 11 -> P'.getMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self) - _ -> P'.wireGetErr ft' - where - update'Self wire'Tag old'Self - = case wire'Tag of - 10 -> Prelude'.fmap (\ !new'Field -> old'Self{gtfs_realtime_version = new'Field}) (P'.wireGet 9) - 16 -> Prelude'.fmap (\ !new'Field -> old'Self{incrementality = Prelude'.Just new'Field}) (P'.wireGet 14) - 24 -> Prelude'.fmap (\ !new'Field -> old'Self{timestamp = Prelude'.Just new'Field}) (P'.wireGet 4) - _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in - if Prelude'.or [1000 <= field'Number && field'Number <= 1999, 9000 <= field'Number && field'Number <= 9999] then - P'.loadExtension field'Number wire'Type old'Self else P'.unknown field'Number wire'Type old'Self - -instance P'.MessageAPI msg' (msg' -> FeedHeader) FeedHeader where - getVal m' f' = f' m' - -instance P'.GPB FeedHeader - -instance P'.ReflectDescriptor FeedHeader where - getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList [10]) (P'.fromDistinctAscList [10, 16, 24]) - reflectDescriptorInfo _ - = Prelude'.read - "DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.FeedHeader\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"FeedHeader\"}, descFilePath = [\"GTFS\",\"Realtime\",\"FeedHeader.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.FeedHeader.gtfs_realtime_version\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"FeedHeader\"], baseName' = FName \"gtfs_realtime_version\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.FeedHeader.incrementality\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"FeedHeader\"], baseName' = FName \"incrementality\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 16}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.FeedHeader.Incrementality\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"FeedHeader\"], baseName = MName \"Incrementality\"}), hsRawDefault = Just \"FULL_DATASET\", hsDefault = Just (HsDef'Enum \"FULL_DATASET\"), isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.FeedHeader.timestamp\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"FeedHeader\"], baseName' = FName \"timestamp\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 24}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 4}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False}" - -instance P'.TextType FeedHeader where - tellT = P'.tellSubMessage - getT = P'.getSubMessage - -instance P'.TextMsg FeedHeader where - textPut msg - = do - P'.tellT "gtfs_realtime_version" (gtfs_realtime_version msg) - P'.tellT "incrementality" (incrementality msg) - P'.tellT "timestamp" (timestamp msg) - textGet - = do - mods <- P'.sepEndBy (P'.choice [parse'gtfs_realtime_version, parse'incrementality, parse'timestamp]) P'.spaces - Prelude'.return (Prelude'.foldl' (\ v f -> f v) P'.defaultValue mods) - where - parse'gtfs_realtime_version - = Prelude'.fmap (\ v o -> o{gtfs_realtime_version = v}) (P'.try (P'.getT "gtfs_realtime_version")) - parse'incrementality = Prelude'.fmap (\ v o -> o{incrementality = v}) (P'.try (P'.getT "incrementality")) - parse'timestamp = Prelude'.fmap (\ v o -> o{timestamp = v}) (P'.try (P'.getT "timestamp")) \ No newline at end of file diff --git a/gtfs/GTFS/Realtime/FeedHeader/Incrementality.hs b/gtfs/GTFS/Realtime/FeedHeader/Incrementality.hs deleted file mode 100644 index ad6e194..0000000 --- a/gtfs/GTFS/Realtime/FeedHeader/Incrementality.hs +++ /dev/null @@ -1,67 +0,0 @@ -{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings - #-} -{-# OPTIONS_GHC -w #-} -module GTFS.Realtime.FeedHeader.Incrementality (Incrementality(..)) where -import Prelude ((+), (/), (.)) -import qualified Prelude as Prelude' -import qualified Data.List as Prelude' -import qualified Data.Typeable as Prelude' -import qualified GHC.Generics as Prelude' -import qualified Data.Data as Prelude' -import qualified Text.ProtocolBuffers.Header as P' - -data Incrementality = FULL_DATASET - | DIFFERENTIAL - deriving (Prelude'.Read, Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, - Prelude'.Generic) - -instance P'.Mergeable Incrementality - -instance Prelude'.Bounded Incrementality where - minBound = FULL_DATASET - maxBound = DIFFERENTIAL - -instance P'.Default Incrementality where - defaultValue = FULL_DATASET - -toMaybe'Enum :: Prelude'.Int -> P'.Maybe Incrementality -toMaybe'Enum 0 = Prelude'.Just FULL_DATASET -toMaybe'Enum 1 = Prelude'.Just DIFFERENTIAL -toMaybe'Enum _ = Prelude'.Nothing - -instance Prelude'.Enum Incrementality where - fromEnum FULL_DATASET = 0 - fromEnum DIFFERENTIAL = 1 - toEnum - = P'.fromMaybe (Prelude'.error "hprotoc generated code: toEnum failure for type GTFS.Realtime.FeedHeader.Incrementality") . - toMaybe'Enum - succ FULL_DATASET = DIFFERENTIAL - succ _ = Prelude'.error "hprotoc generated code: succ failure for type GTFS.Realtime.FeedHeader.Incrementality" - pred DIFFERENTIAL = FULL_DATASET - pred _ = Prelude'.error "hprotoc generated code: pred failure for type GTFS.Realtime.FeedHeader.Incrementality" - -instance P'.Wire Incrementality where - wireSize ft' enum = P'.wireSize ft' (Prelude'.fromEnum enum) - wirePut ft' enum = P'.wirePut ft' (Prelude'.fromEnum enum) - wireGet 14 = P'.wireGetEnum toMaybe'Enum - wireGet ft' = P'.wireGetErr ft' - wireGetPacked 14 = P'.wireGetPackedEnum toMaybe'Enum - wireGetPacked ft' = P'.wireGetErr ft' - -instance P'.GPB Incrementality - -instance P'.MessageAPI msg' (msg' -> Incrementality) Incrementality where - getVal m' f' = f' m' - -instance P'.ReflectEnum Incrementality where - reflectEnum = [(0, "FULL_DATASET", FULL_DATASET), (1, "DIFFERENTIAL", DIFFERENTIAL)] - reflectEnumInfo _ - = P'.EnumInfo - (P'.makePNF (P'.pack ".transit_realtime.FeedHeader.Incrementality") [] ["GTFS", "Realtime", "FeedHeader"] "Incrementality") - ["GTFS", "Realtime", "FeedHeader", "Incrementality.hs"] - [(0, "FULL_DATASET"), (1, "DIFFERENTIAL")] - Prelude'.False - -instance P'.TextType Incrementality where - tellT = P'.tellShow - getT = P'.getRead \ No newline at end of file diff --git a/gtfs/GTFS/Realtime/FeedMessage.hs b/gtfs/GTFS/Realtime/FeedMessage.hs deleted file mode 100644 index f3c25d2..0000000 --- a/gtfs/GTFS/Realtime/FeedMessage.hs +++ /dev/null @@ -1,97 +0,0 @@ -{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings - #-} -{-# OPTIONS_GHC -w #-} -module GTFS.Realtime.FeedMessage (FeedMessage(..)) where -import Prelude ((+), (/), (++), (.), (==), (<=), (&&)) -import qualified Prelude as Prelude' -import qualified Data.List as Prelude' -import qualified Data.Typeable as Prelude' -import qualified GHC.Generics as Prelude' -import qualified Data.Data as Prelude' -import qualified Text.ProtocolBuffers.Header as P' -import qualified GTFS.Realtime.FeedEntity as GTFS.Realtime -import qualified GTFS.Realtime.FeedHeader as GTFS.Realtime - -data FeedMessage = FeedMessage{header :: !(GTFS.Realtime.FeedHeader), entity :: !(P'.Seq GTFS.Realtime.FeedEntity), - ext'field :: !(P'.ExtField)} - deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, Prelude'.Generic) - -instance P'.ExtendMessage FeedMessage where - getExtField = ext'field - putExtField e'f msg = msg{ext'field = e'f} - validExtRanges msg = P'.extRanges (P'.reflectDescriptorInfo msg) - -instance P'.Mergeable FeedMessage where - mergeAppend (FeedMessage x'1 x'2 x'3) (FeedMessage y'1 y'2 y'3) - = let !z'1 = P'.mergeAppend x'1 y'1 - !z'2 = P'.mergeAppend x'2 y'2 - !z'3 = P'.mergeAppend x'3 y'3 - in FeedMessage z'1 z'2 z'3 - -instance P'.Default FeedMessage where - defaultValue = FeedMessage P'.defaultValue P'.defaultValue P'.defaultValue - -instance P'.Wire FeedMessage where - wireSize ft' self'@(FeedMessage x'1 x'2 x'3) - = case ft' of - 10 -> calc'Size - 11 -> P'.prependMessageSize calc'Size - _ -> P'.wireSizeErr ft' self' - where - calc'Size = (P'.wireSizeReq 1 11 x'1 + P'.wireSizeRep 1 11 x'2 + P'.wireSizeExtField x'3) - wirePutWithSize ft' self'@(FeedMessage x'1 x'2 x'3) - = case ft' of - 10 -> put'Fields - 11 -> put'FieldsSized - _ -> P'.wirePutErr ft' self' - where - put'Fields - = P'.sequencePutWithSize [P'.wirePutReqWithSize 10 11 x'1, P'.wirePutRepWithSize 18 11 x'2, P'.wirePutExtFieldWithSize x'3] - put'FieldsSized - = let size' = Prelude'.fst (P'.runPutM put'Fields) - put'Size - = do - P'.putSize size' - Prelude'.return (P'.size'WireSize size') - in P'.sequencePutWithSize [put'Size, put'Fields] - wireGet ft' - = case ft' of - 10 -> P'.getBareMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self) - 11 -> P'.getMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self) - _ -> P'.wireGetErr ft' - where - update'Self wire'Tag old'Self - = case wire'Tag of - 10 -> Prelude'.fmap (\ !new'Field -> old'Self{header = P'.mergeAppend (header old'Self) (new'Field)}) (P'.wireGet 11) - 18 -> Prelude'.fmap (\ !new'Field -> old'Self{entity = P'.append (entity old'Self) new'Field}) (P'.wireGet 11) - _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in - if Prelude'.or [1000 <= field'Number && field'Number <= 1999, 9000 <= field'Number && field'Number <= 9999] then - P'.loadExtension field'Number wire'Type old'Self else P'.unknown field'Number wire'Type old'Self - -instance P'.MessageAPI msg' (msg' -> FeedMessage) FeedMessage where - getVal m' f' = f' m' - -instance P'.GPB FeedMessage - -instance P'.ReflectDescriptor FeedMessage where - getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList [10]) (P'.fromDistinctAscList [10, 18]) - reflectDescriptorInfo _ - = Prelude'.read - "DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.FeedMessage\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"FeedMessage\"}, descFilePath = [\"GTFS\",\"Realtime\",\"FeedMessage.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.FeedMessage.header\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"FeedMessage\"], baseName' = FName \"header\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.FeedHeader\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"FeedHeader\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.FeedMessage.entity\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"FeedMessage\"], baseName' = FName \"entity\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.FeedEntity\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"FeedEntity\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False}" - -instance P'.TextType FeedMessage where - tellT = P'.tellSubMessage - getT = P'.getSubMessage - -instance P'.TextMsg FeedMessage where - textPut msg - = do - P'.tellT "header" (header msg) - P'.tellT "entity" (entity msg) - textGet - = do - mods <- P'.sepEndBy (P'.choice [parse'header, parse'entity]) P'.spaces - Prelude'.return (Prelude'.foldl' (\ v f -> f v) P'.defaultValue mods) - where - parse'header = Prelude'.fmap (\ v o -> o{header = v}) (P'.try (P'.getT "header")) - parse'entity = Prelude'.fmap (\ v o -> o{entity = P'.append (entity o) v}) (P'.try (P'.getT "entity")) \ No newline at end of file diff --git a/gtfs/GTFS/Realtime/Position.hs b/gtfs/GTFS/Realtime/Position.hs deleted file mode 100644 index 7cea83b..0000000 --- a/gtfs/GTFS/Realtime/Position.hs +++ /dev/null @@ -1,112 +0,0 @@ -{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings - #-} -{-# OPTIONS_GHC -w #-} -module GTFS.Realtime.Position (Position(..)) where -import Prelude ((+), (/), (++), (.), (==), (<=), (&&)) -import qualified Prelude as Prelude' -import qualified Data.List as Prelude' -import qualified Data.Typeable as Prelude' -import qualified GHC.Generics as Prelude' -import qualified Data.Data as Prelude' -import qualified Text.ProtocolBuffers.Header as P' - -data Position = Position{latitude :: !(P'.Float), longitude :: !(P'.Float), bearing :: !(P'.Maybe P'.Float), - odometer :: !(P'.Maybe P'.Double), speed :: !(P'.Maybe P'.Float), ext'field :: !(P'.ExtField)} - deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, Prelude'.Generic) - -instance P'.ExtendMessage Position where - getExtField = ext'field - putExtField e'f msg = msg{ext'field = e'f} - validExtRanges msg = P'.extRanges (P'.reflectDescriptorInfo msg) - -instance P'.Mergeable Position where - mergeAppend (Position x'1 x'2 x'3 x'4 x'5 x'6) (Position y'1 y'2 y'3 y'4 y'5 y'6) - = let !z'1 = P'.mergeAppend x'1 y'1 - !z'2 = P'.mergeAppend x'2 y'2 - !z'3 = P'.mergeAppend x'3 y'3 - !z'4 = P'.mergeAppend x'4 y'4 - !z'5 = P'.mergeAppend x'5 y'5 - !z'6 = P'.mergeAppend x'6 y'6 - in Position z'1 z'2 z'3 z'4 z'5 z'6 - -instance P'.Default Position where - defaultValue = Position P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue - -instance P'.Wire Position where - wireSize ft' self'@(Position x'1 x'2 x'3 x'4 x'5 x'6) - = case ft' of - 10 -> calc'Size - 11 -> P'.prependMessageSize calc'Size - _ -> P'.wireSizeErr ft' self' - where - calc'Size - = (P'.wireSizeReq 1 2 x'1 + P'.wireSizeReq 1 2 x'2 + P'.wireSizeOpt 1 2 x'3 + P'.wireSizeOpt 1 1 x'4 + - P'.wireSizeOpt 1 2 x'5 - + P'.wireSizeExtField x'6) - wirePutWithSize ft' self'@(Position x'1 x'2 x'3 x'4 x'5 x'6) - = case ft' of - 10 -> put'Fields - 11 -> put'FieldsSized - _ -> P'.wirePutErr ft' self' - where - put'Fields - = P'.sequencePutWithSize - [P'.wirePutReqWithSize 13 2 x'1, P'.wirePutReqWithSize 21 2 x'2, P'.wirePutOptWithSize 29 2 x'3, - P'.wirePutOptWithSize 33 1 x'4, P'.wirePutOptWithSize 45 2 x'5, P'.wirePutExtFieldWithSize x'6] - put'FieldsSized - = let size' = Prelude'.fst (P'.runPutM put'Fields) - put'Size - = do - P'.putSize size' - Prelude'.return (P'.size'WireSize size') - in P'.sequencePutWithSize [put'Size, put'Fields] - wireGet ft' - = case ft' of - 10 -> P'.getBareMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self) - 11 -> P'.getMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self) - _ -> P'.wireGetErr ft' - where - update'Self wire'Tag old'Self - = case wire'Tag of - 13 -> Prelude'.fmap (\ !new'Field -> old'Self{latitude = new'Field}) (P'.wireGet 2) - 21 -> Prelude'.fmap (\ !new'Field -> old'Self{longitude = new'Field}) (P'.wireGet 2) - 29 -> Prelude'.fmap (\ !new'Field -> old'Self{bearing = Prelude'.Just new'Field}) (P'.wireGet 2) - 33 -> Prelude'.fmap (\ !new'Field -> old'Self{odometer = Prelude'.Just new'Field}) (P'.wireGet 1) - 45 -> Prelude'.fmap (\ !new'Field -> old'Self{speed = Prelude'.Just new'Field}) (P'.wireGet 2) - _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in - if Prelude'.or [1000 <= field'Number && field'Number <= 1999, 9000 <= field'Number && field'Number <= 9999] then - P'.loadExtension field'Number wire'Type old'Self else P'.unknown field'Number wire'Type old'Self - -instance P'.MessageAPI msg' (msg' -> Position) Position where - getVal m' f' = f' m' - -instance P'.GPB Position - -instance P'.ReflectDescriptor Position where - getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList [13, 21]) (P'.fromDistinctAscList [13, 21, 29, 33, 45]) - reflectDescriptorInfo _ - = Prelude'.read - "DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.Position\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"Position\"}, descFilePath = [\"GTFS\",\"Realtime\",\"Position.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Position.latitude\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Position\"], baseName' = FName \"latitude\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 13}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 2}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Position.longitude\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Position\"], baseName' = FName \"longitude\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 21}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 2}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Position.bearing\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Position\"], baseName' = FName \"bearing\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 29}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 2}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Position.odometer\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Position\"], baseName' = FName \"odometer\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 33}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 1}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Position.speed\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Position\"], baseName' = FName \"speed\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 5}, wireTag = WireTag {getWireTag = 45}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 2}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False}" - -instance P'.TextType Position where - tellT = P'.tellSubMessage - getT = P'.getSubMessage - -instance P'.TextMsg Position where - textPut msg - = do - P'.tellT "latitude" (latitude msg) - P'.tellT "longitude" (longitude msg) - P'.tellT "bearing" (bearing msg) - P'.tellT "odometer" (odometer msg) - P'.tellT "speed" (speed msg) - textGet - = do - mods <- P'.sepEndBy (P'.choice [parse'latitude, parse'longitude, parse'bearing, parse'odometer, parse'speed]) P'.spaces - Prelude'.return (Prelude'.foldl' (\ v f -> f v) P'.defaultValue mods) - where - parse'latitude = Prelude'.fmap (\ v o -> o{latitude = v}) (P'.try (P'.getT "latitude")) - parse'longitude = Prelude'.fmap (\ v o -> o{longitude = v}) (P'.try (P'.getT "longitude")) - parse'bearing = Prelude'.fmap (\ v o -> o{bearing = v}) (P'.try (P'.getT "bearing")) - parse'odometer = Prelude'.fmap (\ v o -> o{odometer = v}) (P'.try (P'.getT "odometer")) - parse'speed = Prelude'.fmap (\ v o -> o{speed = v}) (P'.try (P'.getT "speed")) \ No newline at end of file diff --git a/gtfs/GTFS/Realtime/Shape.hs b/gtfs/GTFS/Realtime/Shape.hs deleted file mode 100644 index a19cd49..0000000 --- a/gtfs/GTFS/Realtime/Shape.hs +++ /dev/null @@ -1,94 +0,0 @@ -{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings - #-} -{-# OPTIONS_GHC -w #-} -module GTFS.Realtime.Shape (Shape(..)) where -import Prelude ((+), (/), (++), (.), (==), (<=), (&&)) -import qualified Prelude as Prelude' -import qualified Data.List as Prelude' -import qualified Data.Typeable as Prelude' -import qualified GHC.Generics as Prelude' -import qualified Data.Data as Prelude' -import qualified Text.ProtocolBuffers.Header as P' - -data Shape = Shape{shape_id :: !(P'.Maybe P'.Utf8), encoded_polyline :: !(P'.Maybe P'.Utf8), ext'field :: !(P'.ExtField)} - deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, Prelude'.Generic) - -instance P'.ExtendMessage Shape where - getExtField = ext'field - putExtField e'f msg = msg{ext'field = e'f} - validExtRanges msg = P'.extRanges (P'.reflectDescriptorInfo msg) - -instance P'.Mergeable Shape where - mergeAppend (Shape x'1 x'2 x'3) (Shape y'1 y'2 y'3) - = let !z'1 = P'.mergeAppend x'1 y'1 - !z'2 = P'.mergeAppend x'2 y'2 - !z'3 = P'.mergeAppend x'3 y'3 - in Shape z'1 z'2 z'3 - -instance P'.Default Shape where - defaultValue = Shape P'.defaultValue P'.defaultValue P'.defaultValue - -instance P'.Wire Shape where - wireSize ft' self'@(Shape x'1 x'2 x'3) - = case ft' of - 10 -> calc'Size - 11 -> P'.prependMessageSize calc'Size - _ -> P'.wireSizeErr ft' self' - where - calc'Size = (P'.wireSizeOpt 1 9 x'1 + P'.wireSizeOpt 1 9 x'2 + P'.wireSizeExtField x'3) - wirePutWithSize ft' self'@(Shape x'1 x'2 x'3) - = case ft' of - 10 -> put'Fields - 11 -> put'FieldsSized - _ -> P'.wirePutErr ft' self' - where - put'Fields - = P'.sequencePutWithSize [P'.wirePutOptWithSize 10 9 x'1, P'.wirePutOptWithSize 18 9 x'2, P'.wirePutExtFieldWithSize x'3] - put'FieldsSized - = let size' = Prelude'.fst (P'.runPutM put'Fields) - put'Size - = do - P'.putSize size' - Prelude'.return (P'.size'WireSize size') - in P'.sequencePutWithSize [put'Size, put'Fields] - wireGet ft' - = case ft' of - 10 -> P'.getBareMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self) - 11 -> P'.getMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self) - _ -> P'.wireGetErr ft' - where - update'Self wire'Tag old'Self - = case wire'Tag of - 10 -> Prelude'.fmap (\ !new'Field -> old'Self{shape_id = Prelude'.Just new'Field}) (P'.wireGet 9) - 18 -> Prelude'.fmap (\ !new'Field -> old'Self{encoded_polyline = Prelude'.Just new'Field}) (P'.wireGet 9) - _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in - if Prelude'.or [1000 <= field'Number && field'Number <= 1999, 9000 <= field'Number && field'Number <= 9999] then - P'.loadExtension field'Number wire'Type old'Self else P'.unknown field'Number wire'Type old'Self - -instance P'.MessageAPI msg' (msg' -> Shape) Shape where - getVal m' f' = f' m' - -instance P'.GPB Shape - -instance P'.ReflectDescriptor Shape where - getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList []) (P'.fromDistinctAscList [10, 18]) - reflectDescriptorInfo _ - = Prelude'.read - "DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.Shape\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"Shape\"}, descFilePath = [\"GTFS\",\"Realtime\",\"Shape.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Shape.shape_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Shape\"], baseName' = FName \"shape_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Shape.encoded_polyline\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Shape\"], baseName' = FName \"encoded_polyline\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False}" - -instance P'.TextType Shape where - tellT = P'.tellSubMessage - getT = P'.getSubMessage - -instance P'.TextMsg Shape where - textPut msg - = do - P'.tellT "shape_id" (shape_id msg) - P'.tellT "encoded_polyline" (encoded_polyline msg) - textGet - = do - mods <- P'.sepEndBy (P'.choice [parse'shape_id, parse'encoded_polyline]) P'.spaces - Prelude'.return (Prelude'.foldl' (\ v f -> f v) P'.defaultValue mods) - where - parse'shape_id = Prelude'.fmap (\ v o -> o{shape_id = v}) (P'.try (P'.getT "shape_id")) - parse'encoded_polyline = Prelude'.fmap (\ v o -> o{encoded_polyline = v}) (P'.try (P'.getT "encoded_polyline")) \ No newline at end of file diff --git a/gtfs/GTFS/Realtime/TimeRange.hs b/gtfs/GTFS/Realtime/TimeRange.hs deleted file mode 100644 index 1384a08..0000000 --- a/gtfs/GTFS/Realtime/TimeRange.hs +++ /dev/null @@ -1,94 +0,0 @@ -{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings - #-} -{-# OPTIONS_GHC -w #-} -module GTFS.Realtime.TimeRange (TimeRange(..)) where -import Prelude ((+), (/), (++), (.), (==), (<=), (&&)) -import qualified Prelude as Prelude' -import qualified Data.List as Prelude' -import qualified Data.Typeable as Prelude' -import qualified GHC.Generics as Prelude' -import qualified Data.Data as Prelude' -import qualified Text.ProtocolBuffers.Header as P' - -data TimeRange = TimeRange{start :: !(P'.Maybe P'.Word64), end :: !(P'.Maybe P'.Word64), ext'field :: !(P'.ExtField)} - deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, Prelude'.Generic) - -instance P'.ExtendMessage TimeRange where - getExtField = ext'field - putExtField e'f msg = msg{ext'field = e'f} - validExtRanges msg = P'.extRanges (P'.reflectDescriptorInfo msg) - -instance P'.Mergeable TimeRange where - mergeAppend (TimeRange x'1 x'2 x'3) (TimeRange y'1 y'2 y'3) - = let !z'1 = P'.mergeAppend x'1 y'1 - !z'2 = P'.mergeAppend x'2 y'2 - !z'3 = P'.mergeAppend x'3 y'3 - in TimeRange z'1 z'2 z'3 - -instance P'.Default TimeRange where - defaultValue = TimeRange P'.defaultValue P'.defaultValue P'.defaultValue - -instance P'.Wire TimeRange where - wireSize ft' self'@(TimeRange x'1 x'2 x'3) - = case ft' of - 10 -> calc'Size - 11 -> P'.prependMessageSize calc'Size - _ -> P'.wireSizeErr ft' self' - where - calc'Size = (P'.wireSizeOpt 1 4 x'1 + P'.wireSizeOpt 1 4 x'2 + P'.wireSizeExtField x'3) - wirePutWithSize ft' self'@(TimeRange x'1 x'2 x'3) - = case ft' of - 10 -> put'Fields - 11 -> put'FieldsSized - _ -> P'.wirePutErr ft' self' - where - put'Fields - = P'.sequencePutWithSize [P'.wirePutOptWithSize 8 4 x'1, P'.wirePutOptWithSize 16 4 x'2, P'.wirePutExtFieldWithSize x'3] - put'FieldsSized - = let size' = Prelude'.fst (P'.runPutM put'Fields) - put'Size - = do - P'.putSize size' - Prelude'.return (P'.size'WireSize size') - in P'.sequencePutWithSize [put'Size, put'Fields] - wireGet ft' - = case ft' of - 10 -> P'.getBareMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self) - 11 -> P'.getMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self) - _ -> P'.wireGetErr ft' - where - update'Self wire'Tag old'Self - = case wire'Tag of - 8 -> Prelude'.fmap (\ !new'Field -> old'Self{start = Prelude'.Just new'Field}) (P'.wireGet 4) - 16 -> Prelude'.fmap (\ !new'Field -> old'Self{end = Prelude'.Just new'Field}) (P'.wireGet 4) - _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in - if Prelude'.or [1000 <= field'Number && field'Number <= 1999, 9000 <= field'Number && field'Number <= 9999] then - P'.loadExtension field'Number wire'Type old'Self else P'.unknown field'Number wire'Type old'Self - -instance P'.MessageAPI msg' (msg' -> TimeRange) TimeRange where - getVal m' f' = f' m' - -instance P'.GPB TimeRange - -instance P'.ReflectDescriptor TimeRange where - getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList []) (P'.fromDistinctAscList [8, 16]) - reflectDescriptorInfo _ - = Prelude'.read - "DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.TimeRange\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TimeRange\"}, descFilePath = [\"GTFS\",\"Realtime\",\"TimeRange.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TimeRange.start\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TimeRange\"], baseName' = FName \"start\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 8}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 4}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TimeRange.end\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TimeRange\"], baseName' = FName \"end\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 16}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 4}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False}" - -instance P'.TextType TimeRange where - tellT = P'.tellSubMessage - getT = P'.getSubMessage - -instance P'.TextMsg TimeRange where - textPut msg - = do - P'.tellT "start" (start msg) - P'.tellT "end" (end msg) - textGet - = do - mods <- P'.sepEndBy (P'.choice [parse'start, parse'end]) P'.spaces - Prelude'.return (Prelude'.foldl' (\ v f -> f v) P'.defaultValue mods) - where - parse'start = Prelude'.fmap (\ v o -> o{start = v}) (P'.try (P'.getT "start")) - parse'end = Prelude'.fmap (\ v o -> o{end = v}) (P'.try (P'.getT "end")) \ No newline at end of file diff --git a/gtfs/GTFS/Realtime/TranslatedImage.hs b/gtfs/GTFS/Realtime/TranslatedImage.hs deleted file mode 100644 index c6e4b1f..0000000 --- a/gtfs/GTFS/Realtime/TranslatedImage.hs +++ /dev/null @@ -1,93 +0,0 @@ -{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings - #-} -{-# OPTIONS_GHC -w #-} -module GTFS.Realtime.TranslatedImage (TranslatedImage(..)) where -import Prelude ((+), (/), (++), (.), (==), (<=), (&&)) -import qualified Prelude as Prelude' -import qualified Data.List as Prelude' -import qualified Data.Typeable as Prelude' -import qualified GHC.Generics as Prelude' -import qualified Data.Data as Prelude' -import qualified Text.ProtocolBuffers.Header as P' -import qualified GTFS.Realtime.TranslatedImage.LocalizedImage as GTFS.Realtime.TranslatedImage - -data TranslatedImage = TranslatedImage{localized_image :: !(P'.Seq GTFS.Realtime.TranslatedImage.LocalizedImage), - ext'field :: !(P'.ExtField)} - deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, Prelude'.Generic) - -instance P'.ExtendMessage TranslatedImage where - getExtField = ext'field - putExtField e'f msg = msg{ext'field = e'f} - validExtRanges msg = P'.extRanges (P'.reflectDescriptorInfo msg) - -instance P'.Mergeable TranslatedImage where - mergeAppend (TranslatedImage x'1 x'2) (TranslatedImage y'1 y'2) - = let !z'1 = P'.mergeAppend x'1 y'1 - !z'2 = P'.mergeAppend x'2 y'2 - in TranslatedImage z'1 z'2 - -instance P'.Default TranslatedImage where - defaultValue = TranslatedImage P'.defaultValue P'.defaultValue - -instance P'.Wire TranslatedImage where - wireSize ft' self'@(TranslatedImage x'1 x'2) - = case ft' of - 10 -> calc'Size - 11 -> P'.prependMessageSize calc'Size - _ -> P'.wireSizeErr ft' self' - where - calc'Size = (P'.wireSizeRep 1 11 x'1 + P'.wireSizeExtField x'2) - wirePutWithSize ft' self'@(TranslatedImage x'1 x'2) - = case ft' of - 10 -> put'Fields - 11 -> put'FieldsSized - _ -> P'.wirePutErr ft' self' - where - put'Fields = P'.sequencePutWithSize [P'.wirePutRepWithSize 10 11 x'1, P'.wirePutExtFieldWithSize x'2] - put'FieldsSized - = let size' = Prelude'.fst (P'.runPutM put'Fields) - put'Size - = do - P'.putSize size' - Prelude'.return (P'.size'WireSize size') - in P'.sequencePutWithSize [put'Size, put'Fields] - wireGet ft' - = case ft' of - 10 -> P'.getBareMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self) - 11 -> P'.getMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self) - _ -> P'.wireGetErr ft' - where - update'Self wire'Tag old'Self - = case wire'Tag of - 10 -> Prelude'.fmap (\ !new'Field -> old'Self{localized_image = P'.append (localized_image old'Self) new'Field}) - (P'.wireGet 11) - _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in - if Prelude'.or [1000 <= field'Number && field'Number <= 1999, 9000 <= field'Number && field'Number <= 9999] then - P'.loadExtension field'Number wire'Type old'Self else P'.unknown field'Number wire'Type old'Self - -instance P'.MessageAPI msg' (msg' -> TranslatedImage) TranslatedImage where - getVal m' f' = f' m' - -instance P'.GPB TranslatedImage - -instance P'.ReflectDescriptor TranslatedImage where - getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList []) (P'.fromDistinctAscList [10]) - reflectDescriptorInfo _ - = Prelude'.read - "DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.TranslatedImage\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TranslatedImage\"}, descFilePath = [\"GTFS\",\"Realtime\",\"TranslatedImage.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TranslatedImage.localized_image\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TranslatedImage\"], baseName' = FName \"localized_image\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TranslatedImage.LocalizedImage\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TranslatedImage\"], baseName = MName \"LocalizedImage\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False}" - -instance P'.TextType TranslatedImage where - tellT = P'.tellSubMessage - getT = P'.getSubMessage - -instance P'.TextMsg TranslatedImage where - textPut msg - = do - P'.tellT "localized_image" (localized_image msg) - textGet - = do - mods <- P'.sepEndBy (P'.choice [parse'localized_image]) P'.spaces - Prelude'.return (Prelude'.foldl' (\ v f -> f v) P'.defaultValue mods) - where - parse'localized_image - = Prelude'.fmap (\ v o -> o{localized_image = P'.append (localized_image o) v}) (P'.try (P'.getT "localized_image")) \ No newline at end of file diff --git a/gtfs/GTFS/Realtime/TranslatedImage/LocalizedImage.hs b/gtfs/GTFS/Realtime/TranslatedImage/LocalizedImage.hs deleted file mode 100644 index d1bc9ab..0000000 --- a/gtfs/GTFS/Realtime/TranslatedImage/LocalizedImage.hs +++ /dev/null @@ -1,101 +0,0 @@ -{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings - #-} -{-# OPTIONS_GHC -w #-} -module GTFS.Realtime.TranslatedImage.LocalizedImage (LocalizedImage(..)) where -import Prelude ((+), (/), (++), (.), (==), (<=), (&&)) -import qualified Prelude as Prelude' -import qualified Data.List as Prelude' -import qualified Data.Typeable as Prelude' -import qualified GHC.Generics as Prelude' -import qualified Data.Data as Prelude' -import qualified Text.ProtocolBuffers.Header as P' - -data LocalizedImage = LocalizedImage{url :: !(P'.Utf8), media_type :: !(P'.Utf8), language :: !(P'.Maybe P'.Utf8), - ext'field :: !(P'.ExtField)} - deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, Prelude'.Generic) - -instance P'.ExtendMessage LocalizedImage where - getExtField = ext'field - putExtField e'f msg = msg{ext'field = e'f} - validExtRanges msg = P'.extRanges (P'.reflectDescriptorInfo msg) - -instance P'.Mergeable LocalizedImage where - mergeAppend (LocalizedImage x'1 x'2 x'3 x'4) (LocalizedImage y'1 y'2 y'3 y'4) - = let !z'1 = P'.mergeAppend x'1 y'1 - !z'2 = P'.mergeAppend x'2 y'2 - !z'3 = P'.mergeAppend x'3 y'3 - !z'4 = P'.mergeAppend x'4 y'4 - in LocalizedImage z'1 z'2 z'3 z'4 - -instance P'.Default LocalizedImage where - defaultValue = LocalizedImage P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue - -instance P'.Wire LocalizedImage where - wireSize ft' self'@(LocalizedImage x'1 x'2 x'3 x'4) - = case ft' of - 10 -> calc'Size - 11 -> P'.prependMessageSize calc'Size - _ -> P'.wireSizeErr ft' self' - where - calc'Size = (P'.wireSizeReq 1 9 x'1 + P'.wireSizeReq 1 9 x'2 + P'.wireSizeOpt 1 9 x'3 + P'.wireSizeExtField x'4) - wirePutWithSize ft' self'@(LocalizedImage x'1 x'2 x'3 x'4) - = case ft' of - 10 -> put'Fields - 11 -> put'FieldsSized - _ -> P'.wirePutErr ft' self' - where - put'Fields - = P'.sequencePutWithSize - [P'.wirePutReqWithSize 10 9 x'1, P'.wirePutReqWithSize 18 9 x'2, P'.wirePutOptWithSize 26 9 x'3, - P'.wirePutExtFieldWithSize x'4] - put'FieldsSized - = let size' = Prelude'.fst (P'.runPutM put'Fields) - put'Size - = do - P'.putSize size' - Prelude'.return (P'.size'WireSize size') - in P'.sequencePutWithSize [put'Size, put'Fields] - wireGet ft' - = case ft' of - 10 -> P'.getBareMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self) - 11 -> P'.getMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self) - _ -> P'.wireGetErr ft' - where - update'Self wire'Tag old'Self - = case wire'Tag of - 10 -> Prelude'.fmap (\ !new'Field -> old'Self{url = new'Field}) (P'.wireGet 9) - 18 -> Prelude'.fmap (\ !new'Field -> old'Self{media_type = new'Field}) (P'.wireGet 9) - 26 -> Prelude'.fmap (\ !new'Field -> old'Self{language = Prelude'.Just new'Field}) (P'.wireGet 9) - _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in - if Prelude'.or [1000 <= field'Number && field'Number <= 1999, 9000 <= field'Number && field'Number <= 9999] then - P'.loadExtension field'Number wire'Type old'Self else P'.unknown field'Number wire'Type old'Self - -instance P'.MessageAPI msg' (msg' -> LocalizedImage) LocalizedImage where - getVal m' f' = f' m' - -instance P'.GPB LocalizedImage - -instance P'.ReflectDescriptor LocalizedImage where - getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList [10, 18]) (P'.fromDistinctAscList [10, 18, 26]) - reflectDescriptorInfo _ - = Prelude'.read - "DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.TranslatedImage.LocalizedImage\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TranslatedImage\"], baseName = MName \"LocalizedImage\"}, descFilePath = [\"GTFS\",\"Realtime\",\"TranslatedImage\",\"LocalizedImage.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TranslatedImage.LocalizedImage.url\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TranslatedImage\",MName \"LocalizedImage\"], baseName' = FName \"url\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TranslatedImage.LocalizedImage.media_type\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TranslatedImage\",MName \"LocalizedImage\"], baseName' = FName \"media_type\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TranslatedImage.LocalizedImage.language\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TranslatedImage\",MName \"LocalizedImage\"], baseName' = FName \"language\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 26}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False}" - -instance P'.TextType LocalizedImage where - tellT = P'.tellSubMessage - getT = P'.getSubMessage - -instance P'.TextMsg LocalizedImage where - textPut msg - = do - P'.tellT "url" (url msg) - P'.tellT "media_type" (media_type msg) - P'.tellT "language" (language msg) - textGet - = do - mods <- P'.sepEndBy (P'.choice [parse'url, parse'media_type, parse'language]) P'.spaces - Prelude'.return (Prelude'.foldl' (\ v f -> f v) P'.defaultValue mods) - where - parse'url = Prelude'.fmap (\ v o -> o{url = v}) (P'.try (P'.getT "url")) - parse'media_type = Prelude'.fmap (\ v o -> o{media_type = v}) (P'.try (P'.getT "media_type")) - parse'language = Prelude'.fmap (\ v o -> o{language = v}) (P'.try (P'.getT "language")) \ No newline at end of file diff --git a/gtfs/GTFS/Realtime/TranslatedString.hs b/gtfs/GTFS/Realtime/TranslatedString.hs deleted file mode 100644 index 3d270ce..0000000 --- a/gtfs/GTFS/Realtime/TranslatedString.hs +++ /dev/null @@ -1,92 +0,0 @@ -{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings - #-} -{-# OPTIONS_GHC -w #-} -module GTFS.Realtime.TranslatedString (TranslatedString(..)) where -import Prelude ((+), (/), (++), (.), (==), (<=), (&&)) -import qualified Prelude as Prelude' -import qualified Data.List as Prelude' -import qualified Data.Typeable as Prelude' -import qualified GHC.Generics as Prelude' -import qualified Data.Data as Prelude' -import qualified Text.ProtocolBuffers.Header as P' -import qualified GTFS.Realtime.TranslatedString.Translation as GTFS.Realtime.TranslatedString - -data TranslatedString = TranslatedString{translation :: !(P'.Seq GTFS.Realtime.TranslatedString.Translation), - ext'field :: !(P'.ExtField)} - deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, Prelude'.Generic) - -instance P'.ExtendMessage TranslatedString where - getExtField = ext'field - putExtField e'f msg = msg{ext'field = e'f} - validExtRanges msg = P'.extRanges (P'.reflectDescriptorInfo msg) - -instance P'.Mergeable TranslatedString where - mergeAppend (TranslatedString x'1 x'2) (TranslatedString y'1 y'2) - = let !z'1 = P'.mergeAppend x'1 y'1 - !z'2 = P'.mergeAppend x'2 y'2 - in TranslatedString z'1 z'2 - -instance P'.Default TranslatedString where - defaultValue = TranslatedString P'.defaultValue P'.defaultValue - -instance P'.Wire TranslatedString where - wireSize ft' self'@(TranslatedString x'1 x'2) - = case ft' of - 10 -> calc'Size - 11 -> P'.prependMessageSize calc'Size - _ -> P'.wireSizeErr ft' self' - where - calc'Size = (P'.wireSizeRep 1 11 x'1 + P'.wireSizeExtField x'2) - wirePutWithSize ft' self'@(TranslatedString x'1 x'2) - = case ft' of - 10 -> put'Fields - 11 -> put'FieldsSized - _ -> P'.wirePutErr ft' self' - where - put'Fields = P'.sequencePutWithSize [P'.wirePutRepWithSize 10 11 x'1, P'.wirePutExtFieldWithSize x'2] - put'FieldsSized - = let size' = Prelude'.fst (P'.runPutM put'Fields) - put'Size - = do - P'.putSize size' - Prelude'.return (P'.size'WireSize size') - in P'.sequencePutWithSize [put'Size, put'Fields] - wireGet ft' - = case ft' of - 10 -> P'.getBareMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self) - 11 -> P'.getMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self) - _ -> P'.wireGetErr ft' - where - update'Self wire'Tag old'Self - = case wire'Tag of - 10 -> Prelude'.fmap (\ !new'Field -> old'Self{translation = P'.append (translation old'Self) new'Field}) - (P'.wireGet 11) - _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in - if Prelude'.or [1000 <= field'Number && field'Number <= 1999, 9000 <= field'Number && field'Number <= 9999] then - P'.loadExtension field'Number wire'Type old'Self else P'.unknown field'Number wire'Type old'Self - -instance P'.MessageAPI msg' (msg' -> TranslatedString) TranslatedString where - getVal m' f' = f' m' - -instance P'.GPB TranslatedString - -instance P'.ReflectDescriptor TranslatedString where - getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList []) (P'.fromDistinctAscList [10]) - reflectDescriptorInfo _ - = Prelude'.read - "DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.TranslatedString\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TranslatedString\"}, descFilePath = [\"GTFS\",\"Realtime\",\"TranslatedString.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TranslatedString.translation\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TranslatedString\"], baseName' = FName \"translation\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TranslatedString.Translation\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TranslatedString\"], baseName = MName \"Translation\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False}" - -instance P'.TextType TranslatedString where - tellT = P'.tellSubMessage - getT = P'.getSubMessage - -instance P'.TextMsg TranslatedString where - textPut msg - = do - P'.tellT "translation" (translation msg) - textGet - = do - mods <- P'.sepEndBy (P'.choice [parse'translation]) P'.spaces - Prelude'.return (Prelude'.foldl' (\ v f -> f v) P'.defaultValue mods) - where - parse'translation = Prelude'.fmap (\ v o -> o{translation = P'.append (translation o) v}) (P'.try (P'.getT "translation")) \ No newline at end of file diff --git a/gtfs/GTFS/Realtime/TranslatedString/Translation.hs b/gtfs/GTFS/Realtime/TranslatedString/Translation.hs deleted file mode 100644 index 8ff7e1c..0000000 --- a/gtfs/GTFS/Realtime/TranslatedString/Translation.hs +++ /dev/null @@ -1,94 +0,0 @@ -{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings - #-} -{-# OPTIONS_GHC -w #-} -module GTFS.Realtime.TranslatedString.Translation (Translation(..)) where -import Prelude ((+), (/), (++), (.), (==), (<=), (&&)) -import qualified Prelude as Prelude' -import qualified Data.List as Prelude' -import qualified Data.Typeable as Prelude' -import qualified GHC.Generics as Prelude' -import qualified Data.Data as Prelude' -import qualified Text.ProtocolBuffers.Header as P' - -data Translation = Translation{text :: !(P'.Utf8), language :: !(P'.Maybe P'.Utf8), ext'field :: !(P'.ExtField)} - deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, Prelude'.Generic) - -instance P'.ExtendMessage Translation where - getExtField = ext'field - putExtField e'f msg = msg{ext'field = e'f} - validExtRanges msg = P'.extRanges (P'.reflectDescriptorInfo msg) - -instance P'.Mergeable Translation where - mergeAppend (Translation x'1 x'2 x'3) (Translation y'1 y'2 y'3) - = let !z'1 = P'.mergeAppend x'1 y'1 - !z'2 = P'.mergeAppend x'2 y'2 - !z'3 = P'.mergeAppend x'3 y'3 - in Translation z'1 z'2 z'3 - -instance P'.Default Translation where - defaultValue = Translation P'.defaultValue P'.defaultValue P'.defaultValue - -instance P'.Wire Translation where - wireSize ft' self'@(Translation x'1 x'2 x'3) - = case ft' of - 10 -> calc'Size - 11 -> P'.prependMessageSize calc'Size - _ -> P'.wireSizeErr ft' self' - where - calc'Size = (P'.wireSizeReq 1 9 x'1 + P'.wireSizeOpt 1 9 x'2 + P'.wireSizeExtField x'3) - wirePutWithSize ft' self'@(Translation x'1 x'2 x'3) - = case ft' of - 10 -> put'Fields - 11 -> put'FieldsSized - _ -> P'.wirePutErr ft' self' - where - put'Fields - = P'.sequencePutWithSize [P'.wirePutReqWithSize 10 9 x'1, P'.wirePutOptWithSize 18 9 x'2, P'.wirePutExtFieldWithSize x'3] - put'FieldsSized - = let size' = Prelude'.fst (P'.runPutM put'Fields) - put'Size - = do - P'.putSize size' - Prelude'.return (P'.size'WireSize size') - in P'.sequencePutWithSize [put'Size, put'Fields] - wireGet ft' - = case ft' of - 10 -> P'.getBareMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self) - 11 -> P'.getMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self) - _ -> P'.wireGetErr ft' - where - update'Self wire'Tag old'Self - = case wire'Tag of - 10 -> Prelude'.fmap (\ !new'Field -> old'Self{text = new'Field}) (P'.wireGet 9) - 18 -> Prelude'.fmap (\ !new'Field -> old'Self{language = Prelude'.Just new'Field}) (P'.wireGet 9) - _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in - if Prelude'.or [1000 <= field'Number && field'Number <= 1999, 9000 <= field'Number && field'Number <= 9999] then - P'.loadExtension field'Number wire'Type old'Self else P'.unknown field'Number wire'Type old'Self - -instance P'.MessageAPI msg' (msg' -> Translation) Translation where - getVal m' f' = f' m' - -instance P'.GPB Translation - -instance P'.ReflectDescriptor Translation where - getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList [10]) (P'.fromDistinctAscList [10, 18]) - reflectDescriptorInfo _ - = Prelude'.read - "DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.TranslatedString.Translation\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TranslatedString\"], baseName = MName \"Translation\"}, descFilePath = [\"GTFS\",\"Realtime\",\"TranslatedString\",\"Translation.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TranslatedString.Translation.text\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TranslatedString\",MName \"Translation\"], baseName' = FName \"text\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TranslatedString.Translation.language\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TranslatedString\",MName \"Translation\"], baseName' = FName \"language\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False}" - -instance P'.TextType Translation where - tellT = P'.tellSubMessage - getT = P'.getSubMessage - -instance P'.TextMsg Translation where - textPut msg - = do - P'.tellT "text" (text msg) - P'.tellT "language" (language msg) - textGet - = do - mods <- P'.sepEndBy (P'.choice [parse'text, parse'language]) P'.spaces - Prelude'.return (Prelude'.foldl' (\ v f -> f v) P'.defaultValue mods) - where - parse'text = Prelude'.fmap (\ v o -> o{text = v}) (P'.try (P'.getT "text")) - parse'language = Prelude'.fmap (\ v o -> o{language = v}) (P'.try (P'.getT "language")) \ No newline at end of file diff --git a/gtfs/GTFS/Realtime/TripDescriptor.hs b/gtfs/GTFS/Realtime/TripDescriptor.hs deleted file mode 100644 index 501f196..0000000 --- a/gtfs/GTFS/Realtime/TripDescriptor.hs +++ /dev/null @@ -1,128 +0,0 @@ -{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings - #-} -{-# OPTIONS_GHC -w #-} -module GTFS.Realtime.TripDescriptor (TripDescriptor(..)) where -import Prelude ((+), (/), (++), (.), (==), (<=), (&&)) -import qualified Prelude as Prelude' -import qualified Data.List as Prelude' -import qualified Data.Typeable as Prelude' -import qualified GHC.Generics as Prelude' -import qualified Data.Data as Prelude' -import qualified Text.ProtocolBuffers.Header as P' -import qualified GTFS.Realtime.TripDescriptor.ScheduleRelationship as GTFS.Realtime.TripDescriptor - -data TripDescriptor = TripDescriptor{trip_id :: !(P'.Maybe P'.Utf8), route_id :: !(P'.Maybe P'.Utf8), - direction_id :: !(P'.Maybe P'.Word32), start_time :: !(P'.Maybe P'.Utf8), - start_date :: !(P'.Maybe P'.Utf8), - schedule_relationship :: !(P'.Maybe GTFS.Realtime.TripDescriptor.ScheduleRelationship), - ext'field :: !(P'.ExtField)} - deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, Prelude'.Generic) - -instance P'.ExtendMessage TripDescriptor where - getExtField = ext'field - putExtField e'f msg = msg{ext'field = e'f} - validExtRanges msg = P'.extRanges (P'.reflectDescriptorInfo msg) - -instance P'.Mergeable TripDescriptor where - mergeAppend (TripDescriptor x'1 x'2 x'3 x'4 x'5 x'6 x'7) (TripDescriptor y'1 y'2 y'3 y'4 y'5 y'6 y'7) - = let !z'1 = P'.mergeAppend x'1 y'1 - !z'2 = P'.mergeAppend x'2 y'2 - !z'3 = P'.mergeAppend x'3 y'3 - !z'4 = P'.mergeAppend x'4 y'4 - !z'5 = P'.mergeAppend x'5 y'5 - !z'6 = P'.mergeAppend x'6 y'6 - !z'7 = P'.mergeAppend x'7 y'7 - in TripDescriptor z'1 z'2 z'3 z'4 z'5 z'6 z'7 - -instance P'.Default TripDescriptor where - defaultValue - = TripDescriptor P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue - -instance P'.Wire TripDescriptor where - wireSize ft' self'@(TripDescriptor x'1 x'2 x'3 x'4 x'5 x'6 x'7) - = case ft' of - 10 -> calc'Size - 11 -> P'.prependMessageSize calc'Size - _ -> P'.wireSizeErr ft' self' - where - calc'Size - = (P'.wireSizeOpt 1 9 x'1 + P'.wireSizeOpt 1 9 x'2 + P'.wireSizeOpt 1 13 x'3 + P'.wireSizeOpt 1 9 x'4 + - P'.wireSizeOpt 1 9 x'5 - + P'.wireSizeOpt 1 14 x'6 - + P'.wireSizeExtField x'7) - wirePutWithSize ft' self'@(TripDescriptor x'1 x'2 x'3 x'4 x'5 x'6 x'7) - = case ft' of - 10 -> put'Fields - 11 -> put'FieldsSized - _ -> P'.wirePutErr ft' self' - where - put'Fields - = P'.sequencePutWithSize - [P'.wirePutOptWithSize 10 9 x'1, P'.wirePutOptWithSize 18 9 x'4, P'.wirePutOptWithSize 26 9 x'5, - P'.wirePutOptWithSize 32 14 x'6, P'.wirePutOptWithSize 42 9 x'2, P'.wirePutOptWithSize 48 13 x'3, - P'.wirePutExtFieldWithSize x'7] - put'FieldsSized - = let size' = Prelude'.fst (P'.runPutM put'Fields) - put'Size - = do - P'.putSize size' - Prelude'.return (P'.size'WireSize size') - in P'.sequencePutWithSize [put'Size, put'Fields] - wireGet ft' - = case ft' of - 10 -> P'.getBareMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self) - 11 -> P'.getMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self) - _ -> P'.wireGetErr ft' - where - update'Self wire'Tag old'Self - = case wire'Tag of - 10 -> Prelude'.fmap (\ !new'Field -> old'Self{trip_id = Prelude'.Just new'Field}) (P'.wireGet 9) - 42 -> Prelude'.fmap (\ !new'Field -> old'Self{route_id = Prelude'.Just new'Field}) (P'.wireGet 9) - 48 -> Prelude'.fmap (\ !new'Field -> old'Self{direction_id = Prelude'.Just new'Field}) (P'.wireGet 13) - 18 -> Prelude'.fmap (\ !new'Field -> old'Self{start_time = Prelude'.Just new'Field}) (P'.wireGet 9) - 26 -> Prelude'.fmap (\ !new'Field -> old'Self{start_date = Prelude'.Just new'Field}) (P'.wireGet 9) - 32 -> Prelude'.fmap (\ !new'Field -> old'Self{schedule_relationship = Prelude'.Just new'Field}) (P'.wireGet 14) - _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in - if Prelude'.or [1000 <= field'Number && field'Number <= 1999, 9000 <= field'Number && field'Number <= 9999] then - P'.loadExtension field'Number wire'Type old'Self else P'.unknown field'Number wire'Type old'Self - -instance P'.MessageAPI msg' (msg' -> TripDescriptor) TripDescriptor where - getVal m' f' = f' m' - -instance P'.GPB TripDescriptor - -instance P'.ReflectDescriptor TripDescriptor where - getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList []) (P'.fromDistinctAscList [10, 18, 26, 32, 42, 48]) - reflectDescriptorInfo _ - = Prelude'.read - "DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.TripDescriptor\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TripDescriptor\"}, descFilePath = [\"GTFS\",\"Realtime\",\"TripDescriptor.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripDescriptor.trip_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripDescriptor\"], baseName' = FName \"trip_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripDescriptor.route_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripDescriptor\"], baseName' = FName \"route_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 5}, wireTag = WireTag {getWireTag = 42}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripDescriptor.direction_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripDescriptor\"], baseName' = FName \"direction_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 6}, wireTag = WireTag {getWireTag = 48}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 13}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripDescriptor.start_time\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripDescriptor\"], baseName' = FName \"start_time\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripDescriptor.start_date\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripDescriptor\"], baseName' = FName \"start_date\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 26}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripDescriptor.schedule_relationship\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripDescriptor\"], baseName' = FName \"schedule_relationship\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 32}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TripDescriptor.ScheduleRelationship\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TripDescriptor\"], baseName = MName \"ScheduleRelationship\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False}" - -instance P'.TextType TripDescriptor where - tellT = P'.tellSubMessage - getT = P'.getSubMessage - -instance P'.TextMsg TripDescriptor where - textPut msg - = do - P'.tellT "trip_id" (trip_id msg) - P'.tellT "route_id" (route_id msg) - P'.tellT "direction_id" (direction_id msg) - P'.tellT "start_time" (start_time msg) - P'.tellT "start_date" (start_date msg) - P'.tellT "schedule_relationship" (schedule_relationship msg) - textGet - = do - mods <- P'.sepEndBy - (P'.choice - [parse'trip_id, parse'route_id, parse'direction_id, parse'start_time, parse'start_date, - parse'schedule_relationship]) - P'.spaces - Prelude'.return (Prelude'.foldl' (\ v f -> f v) P'.defaultValue mods) - where - parse'trip_id = Prelude'.fmap (\ v o -> o{trip_id = v}) (P'.try (P'.getT "trip_id")) - parse'route_id = Prelude'.fmap (\ v o -> o{route_id = v}) (P'.try (P'.getT "route_id")) - parse'direction_id = Prelude'.fmap (\ v o -> o{direction_id = v}) (P'.try (P'.getT "direction_id")) - parse'start_time = Prelude'.fmap (\ v o -> o{start_time = v}) (P'.try (P'.getT "start_time")) - parse'start_date = Prelude'.fmap (\ v o -> o{start_date = v}) (P'.try (P'.getT "start_date")) - parse'schedule_relationship - = Prelude'.fmap (\ v o -> o{schedule_relationship = v}) (P'.try (P'.getT "schedule_relationship")) \ No newline at end of file diff --git a/gtfs/GTFS/Realtime/TripDescriptor/ScheduleRelationship.hs b/gtfs/GTFS/Realtime/TripDescriptor/ScheduleRelationship.hs deleted file mode 100644 index 2a4c150..0000000 --- a/gtfs/GTFS/Realtime/TripDescriptor/ScheduleRelationship.hs +++ /dev/null @@ -1,91 +0,0 @@ -{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings - #-} -{-# OPTIONS_GHC -w #-} -module GTFS.Realtime.TripDescriptor.ScheduleRelationship (ScheduleRelationship(..)) where -import Prelude ((+), (/), (.)) -import qualified Prelude as Prelude' -import qualified Data.List as Prelude' -import qualified Data.Typeable as Prelude' -import qualified GHC.Generics as Prelude' -import qualified Data.Data as Prelude' -import qualified Text.ProtocolBuffers.Header as P' - -data ScheduleRelationship = SCHEDULED - | ADDED - | UNSCHEDULED - | CANCELED - | REPLACEMENT - | DUPLICATED - deriving (Prelude'.Read, Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, - Prelude'.Generic) - -instance P'.Mergeable ScheduleRelationship - -instance Prelude'.Bounded ScheduleRelationship where - minBound = SCHEDULED - maxBound = DUPLICATED - -instance P'.Default ScheduleRelationship where - defaultValue = SCHEDULED - -toMaybe'Enum :: Prelude'.Int -> P'.Maybe ScheduleRelationship -toMaybe'Enum 0 = Prelude'.Just SCHEDULED -toMaybe'Enum 1 = Prelude'.Just ADDED -toMaybe'Enum 2 = Prelude'.Just UNSCHEDULED -toMaybe'Enum 3 = Prelude'.Just CANCELED -toMaybe'Enum 5 = Prelude'.Just REPLACEMENT -toMaybe'Enum 6 = Prelude'.Just DUPLICATED -toMaybe'Enum _ = Prelude'.Nothing - -instance Prelude'.Enum ScheduleRelationship where - fromEnum SCHEDULED = 0 - fromEnum ADDED = 1 - fromEnum UNSCHEDULED = 2 - fromEnum CANCELED = 3 - fromEnum REPLACEMENT = 5 - fromEnum DUPLICATED = 6 - toEnum - = P'.fromMaybe - (Prelude'.error "hprotoc generated code: toEnum failure for type GTFS.Realtime.TripDescriptor.ScheduleRelationship") - . toMaybe'Enum - succ SCHEDULED = ADDED - succ ADDED = UNSCHEDULED - succ UNSCHEDULED = CANCELED - succ CANCELED = REPLACEMENT - succ REPLACEMENT = DUPLICATED - succ _ = Prelude'.error "hprotoc generated code: succ failure for type GTFS.Realtime.TripDescriptor.ScheduleRelationship" - pred ADDED = SCHEDULED - pred UNSCHEDULED = ADDED - pred CANCELED = UNSCHEDULED - pred REPLACEMENT = CANCELED - pred DUPLICATED = REPLACEMENT - pred _ = Prelude'.error "hprotoc generated code: pred failure for type GTFS.Realtime.TripDescriptor.ScheduleRelationship" - -instance P'.Wire ScheduleRelationship where - wireSize ft' enum = P'.wireSize ft' (Prelude'.fromEnum enum) - wirePut ft' enum = P'.wirePut ft' (Prelude'.fromEnum enum) - wireGet 14 = P'.wireGetEnum toMaybe'Enum - wireGet ft' = P'.wireGetErr ft' - wireGetPacked 14 = P'.wireGetPackedEnum toMaybe'Enum - wireGetPacked ft' = P'.wireGetErr ft' - -instance P'.GPB ScheduleRelationship - -instance P'.MessageAPI msg' (msg' -> ScheduleRelationship) ScheduleRelationship where - getVal m' f' = f' m' - -instance P'.ReflectEnum ScheduleRelationship where - reflectEnum - = [(0, "SCHEDULED", SCHEDULED), (1, "ADDED", ADDED), (2, "UNSCHEDULED", UNSCHEDULED), (3, "CANCELED", CANCELED), - (5, "REPLACEMENT", REPLACEMENT), (6, "DUPLICATED", DUPLICATED)] - reflectEnumInfo _ - = P'.EnumInfo - (P'.makePNF (P'.pack ".transit_realtime.TripDescriptor.ScheduleRelationship") [] ["GTFS", "Realtime", "TripDescriptor"] - "ScheduleRelationship") - ["GTFS", "Realtime", "TripDescriptor", "ScheduleRelationship.hs"] - [(0, "SCHEDULED"), (1, "ADDED"), (2, "UNSCHEDULED"), (3, "CANCELED"), (5, "REPLACEMENT"), (6, "DUPLICATED")] - Prelude'.False - -instance P'.TextType ScheduleRelationship where - tellT = P'.tellShow - getT = P'.getRead \ No newline at end of file diff --git a/gtfs/GTFS/Realtime/TripUpdate.hs b/gtfs/GTFS/Realtime/TripUpdate.hs deleted file mode 100644 index 24ef425..0000000 --- a/gtfs/GTFS/Realtime/TripUpdate.hs +++ /dev/null @@ -1,133 +0,0 @@ -{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings - #-} -{-# OPTIONS_GHC -w #-} -module GTFS.Realtime.TripUpdate (TripUpdate(..)) where -import Prelude ((+), (/), (++), (.), (==), (<=), (&&)) -import qualified Prelude as Prelude' -import qualified Data.List as Prelude' -import qualified Data.Typeable as Prelude' -import qualified GHC.Generics as Prelude' -import qualified Data.Data as Prelude' -import qualified Text.ProtocolBuffers.Header as P' -import qualified GTFS.Realtime.TripDescriptor as GTFS.Realtime -import qualified GTFS.Realtime.TripUpdate.StopTimeUpdate as GTFS.Realtime.TripUpdate -import qualified GTFS.Realtime.TripUpdate.TripProperties as GTFS.Realtime.TripUpdate -import qualified GTFS.Realtime.VehicleDescriptor as GTFS.Realtime - -data TripUpdate = TripUpdate{trip :: !(GTFS.Realtime.TripDescriptor), vehicle :: !(P'.Maybe GTFS.Realtime.VehicleDescriptor), - stop_time_update :: !(P'.Seq GTFS.Realtime.TripUpdate.StopTimeUpdate), - timestamp :: !(P'.Maybe P'.Word64), delay :: !(P'.Maybe P'.Int32), - trip_properties :: !(P'.Maybe GTFS.Realtime.TripUpdate.TripProperties), ext'field :: !(P'.ExtField)} - deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, Prelude'.Generic) - -instance P'.ExtendMessage TripUpdate where - getExtField = ext'field - putExtField e'f msg = msg{ext'field = e'f} - validExtRanges msg = P'.extRanges (P'.reflectDescriptorInfo msg) - -instance P'.Mergeable TripUpdate where - mergeAppend (TripUpdate x'1 x'2 x'3 x'4 x'5 x'6 x'7) (TripUpdate y'1 y'2 y'3 y'4 y'5 y'6 y'7) - = let !z'1 = P'.mergeAppend x'1 y'1 - !z'2 = P'.mergeAppend x'2 y'2 - !z'3 = P'.mergeAppend x'3 y'3 - !z'4 = P'.mergeAppend x'4 y'4 - !z'5 = P'.mergeAppend x'5 y'5 - !z'6 = P'.mergeAppend x'6 y'6 - !z'7 = P'.mergeAppend x'7 y'7 - in TripUpdate z'1 z'2 z'3 z'4 z'5 z'6 z'7 - -instance P'.Default TripUpdate where - defaultValue - = TripUpdate P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue - -instance P'.Wire TripUpdate where - wireSize ft' self'@(TripUpdate x'1 x'2 x'3 x'4 x'5 x'6 x'7) - = case ft' of - 10 -> calc'Size - 11 -> P'.prependMessageSize calc'Size - _ -> P'.wireSizeErr ft' self' - where - calc'Size - = (P'.wireSizeReq 1 11 x'1 + P'.wireSizeOpt 1 11 x'2 + P'.wireSizeRep 1 11 x'3 + P'.wireSizeOpt 1 4 x'4 + - P'.wireSizeOpt 1 5 x'5 - + P'.wireSizeOpt 1 11 x'6 - + P'.wireSizeExtField x'7) - wirePutWithSize ft' self'@(TripUpdate x'1 x'2 x'3 x'4 x'5 x'6 x'7) - = case ft' of - 10 -> put'Fields - 11 -> put'FieldsSized - _ -> P'.wirePutErr ft' self' - where - put'Fields - = P'.sequencePutWithSize - [P'.wirePutReqWithSize 10 11 x'1, P'.wirePutRepWithSize 18 11 x'3, P'.wirePutOptWithSize 26 11 x'2, - P'.wirePutOptWithSize 32 4 x'4, P'.wirePutOptWithSize 40 5 x'5, P'.wirePutOptWithSize 50 11 x'6, - P'.wirePutExtFieldWithSize x'7] - put'FieldsSized - = let size' = Prelude'.fst (P'.runPutM put'Fields) - put'Size - = do - P'.putSize size' - Prelude'.return (P'.size'WireSize size') - in P'.sequencePutWithSize [put'Size, put'Fields] - wireGet ft' - = case ft' of - 10 -> P'.getBareMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self) - 11 -> P'.getMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self) - _ -> P'.wireGetErr ft' - where - update'Self wire'Tag old'Self - = case wire'Tag of - 10 -> Prelude'.fmap (\ !new'Field -> old'Self{trip = P'.mergeAppend (trip old'Self) (new'Field)}) (P'.wireGet 11) - 26 -> Prelude'.fmap (\ !new'Field -> old'Self{vehicle = P'.mergeAppend (vehicle old'Self) (Prelude'.Just new'Field)}) - (P'.wireGet 11) - 18 -> Prelude'.fmap (\ !new'Field -> old'Self{stop_time_update = P'.append (stop_time_update old'Self) new'Field}) - (P'.wireGet 11) - 32 -> Prelude'.fmap (\ !new'Field -> old'Self{timestamp = Prelude'.Just new'Field}) (P'.wireGet 4) - 40 -> Prelude'.fmap (\ !new'Field -> old'Self{delay = Prelude'.Just new'Field}) (P'.wireGet 5) - 50 -> Prelude'.fmap - (\ !new'Field -> - old'Self{trip_properties = P'.mergeAppend (trip_properties old'Self) (Prelude'.Just new'Field)}) - (P'.wireGet 11) - _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in - if Prelude'.or [1000 <= field'Number && field'Number <= 1999, 9000 <= field'Number && field'Number <= 9999] then - P'.loadExtension field'Number wire'Type old'Self else P'.unknown field'Number wire'Type old'Self - -instance P'.MessageAPI msg' (msg' -> TripUpdate) TripUpdate where - getVal m' f' = f' m' - -instance P'.GPB TripUpdate - -instance P'.ReflectDescriptor TripUpdate where - getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList [10]) (P'.fromDistinctAscList [10, 18, 26, 32, 40, 50]) - reflectDescriptorInfo _ - = Prelude'.read - "DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.TripUpdate\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TripUpdate\"}, descFilePath = [\"GTFS\",\"Realtime\",\"TripUpdate.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.trip\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName' = FName \"trip\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TripDescriptor\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TripDescriptor\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.vehicle\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName' = FName \"vehicle\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 26}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.VehicleDescriptor\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"VehicleDescriptor\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.stop_time_update\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName' = FName \"stop_time_update\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TripUpdate.StopTimeUpdate\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName = MName \"StopTimeUpdate\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.timestamp\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName' = FName \"timestamp\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 32}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 4}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.delay\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName' = FName \"delay\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 5}, wireTag = WireTag {getWireTag = 40}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 5}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.trip_properties\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName' = FName \"trip_properties\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 6}, wireTag = WireTag {getWireTag = 50}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TripUpdate.TripProperties\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName = MName \"TripProperties\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False}" - -instance P'.TextType TripUpdate where - tellT = P'.tellSubMessage - getT = P'.getSubMessage - -instance P'.TextMsg TripUpdate where - textPut msg - = do - P'.tellT "trip" (trip msg) - P'.tellT "vehicle" (vehicle msg) - P'.tellT "stop_time_update" (stop_time_update msg) - P'.tellT "timestamp" (timestamp msg) - P'.tellT "delay" (delay msg) - P'.tellT "trip_properties" (trip_properties msg) - textGet - = do - mods <- P'.sepEndBy - (P'.choice [parse'trip, parse'vehicle, parse'stop_time_update, parse'timestamp, parse'delay, parse'trip_properties]) - P'.spaces - Prelude'.return (Prelude'.foldl' (\ v f -> f v) P'.defaultValue mods) - where - parse'trip = Prelude'.fmap (\ v o -> o{trip = v}) (P'.try (P'.getT "trip")) - parse'vehicle = Prelude'.fmap (\ v o -> o{vehicle = v}) (P'.try (P'.getT "vehicle")) - parse'stop_time_update - = Prelude'.fmap (\ v o -> o{stop_time_update = P'.append (stop_time_update o) v}) (P'.try (P'.getT "stop_time_update")) - parse'timestamp = Prelude'.fmap (\ v o -> o{timestamp = v}) (P'.try (P'.getT "timestamp")) - parse'delay = Prelude'.fmap (\ v o -> o{delay = v}) (P'.try (P'.getT "delay")) - parse'trip_properties = Prelude'.fmap (\ v o -> o{trip_properties = v}) (P'.try (P'.getT "trip_properties")) \ No newline at end of file diff --git a/gtfs/GTFS/Realtime/TripUpdate/StopTimeEvent.hs b/gtfs/GTFS/Realtime/TripUpdate/StopTimeEvent.hs deleted file mode 100644 index 0005e4c..0000000 --- a/gtfs/GTFS/Realtime/TripUpdate/StopTimeEvent.hs +++ /dev/null @@ -1,101 +0,0 @@ -{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings - #-} -{-# OPTIONS_GHC -w #-} -module GTFS.Realtime.TripUpdate.StopTimeEvent (StopTimeEvent(..)) where -import Prelude ((+), (/), (++), (.), (==), (<=), (&&)) -import qualified Prelude as Prelude' -import qualified Data.List as Prelude' -import qualified Data.Typeable as Prelude' -import qualified GHC.Generics as Prelude' -import qualified Data.Data as Prelude' -import qualified Text.ProtocolBuffers.Header as P' - -data StopTimeEvent = StopTimeEvent{delay :: !(P'.Maybe P'.Int32), time :: !(P'.Maybe P'.Int64), uncertainty :: !(P'.Maybe P'.Int32), - ext'field :: !(P'.ExtField)} - deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, Prelude'.Generic) - -instance P'.ExtendMessage StopTimeEvent where - getExtField = ext'field - putExtField e'f msg = msg{ext'field = e'f} - validExtRanges msg = P'.extRanges (P'.reflectDescriptorInfo msg) - -instance P'.Mergeable StopTimeEvent where - mergeAppend (StopTimeEvent x'1 x'2 x'3 x'4) (StopTimeEvent y'1 y'2 y'3 y'4) - = let !z'1 = P'.mergeAppend x'1 y'1 - !z'2 = P'.mergeAppend x'2 y'2 - !z'3 = P'.mergeAppend x'3 y'3 - !z'4 = P'.mergeAppend x'4 y'4 - in StopTimeEvent z'1 z'2 z'3 z'4 - -instance P'.Default StopTimeEvent where - defaultValue = StopTimeEvent P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue - -instance P'.Wire StopTimeEvent where - wireSize ft' self'@(StopTimeEvent x'1 x'2 x'3 x'4) - = case ft' of - 10 -> calc'Size - 11 -> P'.prependMessageSize calc'Size - _ -> P'.wireSizeErr ft' self' - where - calc'Size = (P'.wireSizeOpt 1 5 x'1 + P'.wireSizeOpt 1 3 x'2 + P'.wireSizeOpt 1 5 x'3 + P'.wireSizeExtField x'4) - wirePutWithSize ft' self'@(StopTimeEvent x'1 x'2 x'3 x'4) - = case ft' of - 10 -> put'Fields - 11 -> put'FieldsSized - _ -> P'.wirePutErr ft' self' - where - put'Fields - = P'.sequencePutWithSize - [P'.wirePutOptWithSize 8 5 x'1, P'.wirePutOptWithSize 16 3 x'2, P'.wirePutOptWithSize 24 5 x'3, - P'.wirePutExtFieldWithSize x'4] - put'FieldsSized - = let size' = Prelude'.fst (P'.runPutM put'Fields) - put'Size - = do - P'.putSize size' - Prelude'.return (P'.size'WireSize size') - in P'.sequencePutWithSize [put'Size, put'Fields] - wireGet ft' - = case ft' of - 10 -> P'.getBareMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self) - 11 -> P'.getMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self) - _ -> P'.wireGetErr ft' - where - update'Self wire'Tag old'Self - = case wire'Tag of - 8 -> Prelude'.fmap (\ !new'Field -> old'Self{delay = Prelude'.Just new'Field}) (P'.wireGet 5) - 16 -> Prelude'.fmap (\ !new'Field -> old'Self{time = Prelude'.Just new'Field}) (P'.wireGet 3) - 24 -> Prelude'.fmap (\ !new'Field -> old'Self{uncertainty = Prelude'.Just new'Field}) (P'.wireGet 5) - _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in - if Prelude'.or [1000 <= field'Number && field'Number <= 1999, 9000 <= field'Number && field'Number <= 9999] then - P'.loadExtension field'Number wire'Type old'Self else P'.unknown field'Number wire'Type old'Self - -instance P'.MessageAPI msg' (msg' -> StopTimeEvent) StopTimeEvent where - getVal m' f' = f' m' - -instance P'.GPB StopTimeEvent - -instance P'.ReflectDescriptor StopTimeEvent where - getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList []) (P'.fromDistinctAscList [8, 16, 24]) - reflectDescriptorInfo _ - = Prelude'.read - "DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.TripUpdate.StopTimeEvent\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName = MName \"StopTimeEvent\"}, descFilePath = [\"GTFS\",\"Realtime\",\"TripUpdate\",\"StopTimeEvent.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.StopTimeEvent.delay\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeEvent\"], baseName' = FName \"delay\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 8}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 5}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.StopTimeEvent.time\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeEvent\"], baseName' = FName \"time\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 16}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 3}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.StopTimeEvent.uncertainty\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeEvent\"], baseName' = FName \"uncertainty\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 24}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 5}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False}" - -instance P'.TextType StopTimeEvent where - tellT = P'.tellSubMessage - getT = P'.getSubMessage - -instance P'.TextMsg StopTimeEvent where - textPut msg - = do - P'.tellT "delay" (delay msg) - P'.tellT "time" (time msg) - P'.tellT "uncertainty" (uncertainty msg) - textGet - = do - mods <- P'.sepEndBy (P'.choice [parse'delay, parse'time, parse'uncertainty]) P'.spaces - Prelude'.return (Prelude'.foldl' (\ v f -> f v) P'.defaultValue mods) - where - parse'delay = Prelude'.fmap (\ v o -> o{delay = v}) (P'.try (P'.getT "delay")) - parse'time = Prelude'.fmap (\ v o -> o{time = v}) (P'.try (P'.getT "time")) - parse'uncertainty = Prelude'.fmap (\ v o -> o{uncertainty = v}) (P'.try (P'.getT "uncertainty")) \ No newline at end of file diff --git a/gtfs/GTFS/Realtime/TripUpdate/StopTimeUpdate.hs b/gtfs/GTFS/Realtime/TripUpdate/StopTimeUpdate.hs deleted file mode 100644 index 25ae353..0000000 --- a/gtfs/GTFS/Realtime/TripUpdate/StopTimeUpdate.hs +++ /dev/null @@ -1,149 +0,0 @@ -{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings - #-} -{-# OPTIONS_GHC -w #-} -module GTFS.Realtime.TripUpdate.StopTimeUpdate (StopTimeUpdate(..)) where -import Prelude ((+), (/), (++), (.), (==), (<=), (&&)) -import qualified Prelude as Prelude' -import qualified Data.List as Prelude' -import qualified Data.Typeable as Prelude' -import qualified GHC.Generics as Prelude' -import qualified Data.Data as Prelude' -import qualified Text.ProtocolBuffers.Header as P' -import qualified GTFS.Realtime.TripUpdate.StopTimeEvent as GTFS.Realtime.TripUpdate -import qualified GTFS.Realtime.TripUpdate.StopTimeUpdate.ScheduleRelationship as GTFS.Realtime.TripUpdate.StopTimeUpdate -import qualified GTFS.Realtime.TripUpdate.StopTimeUpdate.StopTimeProperties as GTFS.Realtime.TripUpdate.StopTimeUpdate -import qualified GTFS.Realtime.VehiclePosition.OccupancyStatus as GTFS.Realtime.VehiclePosition - -data StopTimeUpdate = StopTimeUpdate{stop_sequence :: !(P'.Maybe P'.Word32), stop_id :: !(P'.Maybe P'.Utf8), - arrival :: !(P'.Maybe GTFS.Realtime.TripUpdate.StopTimeEvent), - departure :: !(P'.Maybe GTFS.Realtime.TripUpdate.StopTimeEvent), - departure_occupancy_status :: !(P'.Maybe GTFS.Realtime.VehiclePosition.OccupancyStatus), - schedule_relationship :: - !(P'.Maybe GTFS.Realtime.TripUpdate.StopTimeUpdate.ScheduleRelationship), - stop_time_properties :: !(P'.Maybe GTFS.Realtime.TripUpdate.StopTimeUpdate.StopTimeProperties), - ext'field :: !(P'.ExtField)} - deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, Prelude'.Generic) - -instance P'.ExtendMessage StopTimeUpdate where - getExtField = ext'field - putExtField e'f msg = msg{ext'field = e'f} - validExtRanges msg = P'.extRanges (P'.reflectDescriptorInfo msg) - -instance P'.Mergeable StopTimeUpdate where - mergeAppend (StopTimeUpdate x'1 x'2 x'3 x'4 x'5 x'6 x'7 x'8) (StopTimeUpdate y'1 y'2 y'3 y'4 y'5 y'6 y'7 y'8) - = let !z'1 = P'.mergeAppend x'1 y'1 - !z'2 = P'.mergeAppend x'2 y'2 - !z'3 = P'.mergeAppend x'3 y'3 - !z'4 = P'.mergeAppend x'4 y'4 - !z'5 = P'.mergeAppend x'5 y'5 - !z'6 = P'.mergeAppend x'6 y'6 - !z'7 = P'.mergeAppend x'7 y'7 - !z'8 = P'.mergeAppend x'8 y'8 - in StopTimeUpdate z'1 z'2 z'3 z'4 z'5 z'6 z'7 z'8 - -instance P'.Default StopTimeUpdate where - defaultValue - = StopTimeUpdate P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue - P'.defaultValue - P'.defaultValue - P'.defaultValue - -instance P'.Wire StopTimeUpdate where - wireSize ft' self'@(StopTimeUpdate x'1 x'2 x'3 x'4 x'5 x'6 x'7 x'8) - = case ft' of - 10 -> calc'Size - 11 -> P'.prependMessageSize calc'Size - _ -> P'.wireSizeErr ft' self' - where - calc'Size - = (P'.wireSizeOpt 1 13 x'1 + P'.wireSizeOpt 1 9 x'2 + P'.wireSizeOpt 1 11 x'3 + P'.wireSizeOpt 1 11 x'4 + - P'.wireSizeOpt 1 14 x'5 - + P'.wireSizeOpt 1 14 x'6 - + P'.wireSizeOpt 1 11 x'7 - + P'.wireSizeExtField x'8) - wirePutWithSize ft' self'@(StopTimeUpdate x'1 x'2 x'3 x'4 x'5 x'6 x'7 x'8) - = case ft' of - 10 -> put'Fields - 11 -> put'FieldsSized - _ -> P'.wirePutErr ft' self' - where - put'Fields - = P'.sequencePutWithSize - [P'.wirePutOptWithSize 8 13 x'1, P'.wirePutOptWithSize 18 11 x'3, P'.wirePutOptWithSize 26 11 x'4, - P'.wirePutOptWithSize 34 9 x'2, P'.wirePutOptWithSize 40 14 x'6, P'.wirePutOptWithSize 50 11 x'7, - P'.wirePutOptWithSize 56 14 x'5, P'.wirePutExtFieldWithSize x'8] - put'FieldsSized - = let size' = Prelude'.fst (P'.runPutM put'Fields) - put'Size - = do - P'.putSize size' - Prelude'.return (P'.size'WireSize size') - in P'.sequencePutWithSize [put'Size, put'Fields] - wireGet ft' - = case ft' of - 10 -> P'.getBareMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self) - 11 -> P'.getMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self) - _ -> P'.wireGetErr ft' - where - update'Self wire'Tag old'Self - = case wire'Tag of - 8 -> Prelude'.fmap (\ !new'Field -> old'Self{stop_sequence = Prelude'.Just new'Field}) (P'.wireGet 13) - 34 -> Prelude'.fmap (\ !new'Field -> old'Self{stop_id = Prelude'.Just new'Field}) (P'.wireGet 9) - 18 -> Prelude'.fmap (\ !new'Field -> old'Self{arrival = P'.mergeAppend (arrival old'Self) (Prelude'.Just new'Field)}) - (P'.wireGet 11) - 26 -> Prelude'.fmap - (\ !new'Field -> old'Self{departure = P'.mergeAppend (departure old'Self) (Prelude'.Just new'Field)}) - (P'.wireGet 11) - 56 -> Prelude'.fmap (\ !new'Field -> old'Self{departure_occupancy_status = Prelude'.Just new'Field}) (P'.wireGet 14) - 40 -> Prelude'.fmap (\ !new'Field -> old'Self{schedule_relationship = Prelude'.Just new'Field}) (P'.wireGet 14) - 50 -> Prelude'.fmap - (\ !new'Field -> - old'Self{stop_time_properties = P'.mergeAppend (stop_time_properties old'Self) (Prelude'.Just new'Field)}) - (P'.wireGet 11) - _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in - if Prelude'.or [1000 <= field'Number && field'Number <= 1999, 9000 <= field'Number && field'Number <= 9999] then - P'.loadExtension field'Number wire'Type old'Self else P'.unknown field'Number wire'Type old'Self - -instance P'.MessageAPI msg' (msg' -> StopTimeUpdate) StopTimeUpdate where - getVal m' f' = f' m' - -instance P'.GPB StopTimeUpdate - -instance P'.ReflectDescriptor StopTimeUpdate where - getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList []) (P'.fromDistinctAscList [8, 18, 26, 34, 40, 50, 56]) - reflectDescriptorInfo _ - = Prelude'.read - "DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.TripUpdate.StopTimeUpdate\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName = MName \"StopTimeUpdate\"}, descFilePath = [\"GTFS\",\"Realtime\",\"TripUpdate\",\"StopTimeUpdate.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.StopTimeUpdate.stop_sequence\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeUpdate\"], baseName' = FName \"stop_sequence\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 8}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 13}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.StopTimeUpdate.stop_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeUpdate\"], baseName' = FName \"stop_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 34}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.StopTimeUpdate.arrival\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeUpdate\"], baseName' = FName \"arrival\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TripUpdate.StopTimeEvent\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName = MName \"StopTimeEvent\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.StopTimeUpdate.departure\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeUpdate\"], baseName' = FName \"departure\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 26}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TripUpdate.StopTimeEvent\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName = MName \"StopTimeEvent\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.StopTimeUpdate.departure_occupancy_status\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeUpdate\"], baseName' = FName \"departure_occupancy_status\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 7}, wireTag = WireTag {getWireTag = 56}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.VehiclePosition.OccupancyStatus\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName = MName \"OccupancyStatus\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.StopTimeUpdate.schedule_relationship\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeUpdate\"], baseName' = FName \"schedule_relationship\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 5}, wireTag = WireTag {getWireTag = 40}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TripUpdate.StopTimeUpdate.ScheduleRelationship\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeUpdate\"], baseName = MName \"ScheduleRelationship\"}), hsRawDefault = Just \"SCHEDULED\", hsDefault = Just (HsDef'Enum \"SCHEDULED\"), isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.StopTimeUpdate.stop_time_properties\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeUpdate\"], baseName' = FName \"stop_time_properties\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 6}, wireTag = WireTag {getWireTag = 50}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TripUpdate.StopTimeUpdate.StopTimeProperties\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeUpdate\"], baseName = MName \"StopTimeProperties\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False}" - -instance P'.TextType StopTimeUpdate where - tellT = P'.tellSubMessage - getT = P'.getSubMessage - -instance P'.TextMsg StopTimeUpdate where - textPut msg - = do - P'.tellT "stop_sequence" (stop_sequence msg) - P'.tellT "stop_id" (stop_id msg) - P'.tellT "arrival" (arrival msg) - P'.tellT "departure" (departure msg) - P'.tellT "departure_occupancy_status" (departure_occupancy_status msg) - P'.tellT "schedule_relationship" (schedule_relationship msg) - P'.tellT "stop_time_properties" (stop_time_properties msg) - textGet - = do - mods <- P'.sepEndBy - (P'.choice - [parse'stop_sequence, parse'stop_id, parse'arrival, parse'departure, parse'departure_occupancy_status, - parse'schedule_relationship, parse'stop_time_properties]) - P'.spaces - Prelude'.return (Prelude'.foldl' (\ v f -> f v) P'.defaultValue mods) - where - parse'stop_sequence = Prelude'.fmap (\ v o -> o{stop_sequence = v}) (P'.try (P'.getT "stop_sequence")) - parse'stop_id = Prelude'.fmap (\ v o -> o{stop_id = v}) (P'.try (P'.getT "stop_id")) - parse'arrival = Prelude'.fmap (\ v o -> o{arrival = v}) (P'.try (P'.getT "arrival")) - parse'departure = Prelude'.fmap (\ v o -> o{departure = v}) (P'.try (P'.getT "departure")) - parse'departure_occupancy_status - = Prelude'.fmap (\ v o -> o{departure_occupancy_status = v}) (P'.try (P'.getT "departure_occupancy_status")) - parse'schedule_relationship - = Prelude'.fmap (\ v o -> o{schedule_relationship = v}) (P'.try (P'.getT "schedule_relationship")) - parse'stop_time_properties = Prelude'.fmap (\ v o -> o{stop_time_properties = v}) (P'.try (P'.getT "stop_time_properties")) diff --git a/gtfs/GTFS/Realtime/TripUpdate/StopTimeUpdate/ScheduleRelationship.hs b/gtfs/GTFS/Realtime/TripUpdate/StopTimeUpdate/ScheduleRelationship.hs deleted file mode 100644 index 050ac88..0000000 --- a/gtfs/GTFS/Realtime/TripUpdate/StopTimeUpdate/ScheduleRelationship.hs +++ /dev/null @@ -1,83 +0,0 @@ -{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings - #-} -{-# OPTIONS_GHC -w #-} -module GTFS.Realtime.TripUpdate.StopTimeUpdate.ScheduleRelationship (ScheduleRelationship(..)) where -import Prelude ((+), (/), (.)) -import qualified Prelude as Prelude' -import qualified Data.List as Prelude' -import qualified Data.Typeable as Prelude' -import qualified GHC.Generics as Prelude' -import qualified Data.Data as Prelude' -import qualified Text.ProtocolBuffers.Header as P' - -data ScheduleRelationship = SCHEDULED - | SKIPPED - | NO_DATA - | UNSCHEDULED - deriving (Prelude'.Read, Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, - Prelude'.Generic) - -instance P'.Mergeable ScheduleRelationship - -instance Prelude'.Bounded ScheduleRelationship where - minBound = SCHEDULED - maxBound = UNSCHEDULED - -instance P'.Default ScheduleRelationship where - defaultValue = SCHEDULED - -toMaybe'Enum :: Prelude'.Int -> P'.Maybe ScheduleRelationship -toMaybe'Enum 0 = Prelude'.Just SCHEDULED -toMaybe'Enum 1 = Prelude'.Just SKIPPED -toMaybe'Enum 2 = Prelude'.Just NO_DATA -toMaybe'Enum 3 = Prelude'.Just UNSCHEDULED -toMaybe'Enum _ = Prelude'.Nothing - -instance Prelude'.Enum ScheduleRelationship where - fromEnum SCHEDULED = 0 - fromEnum SKIPPED = 1 - fromEnum NO_DATA = 2 - fromEnum UNSCHEDULED = 3 - toEnum - = P'.fromMaybe - (Prelude'.error - "hprotoc generated code: toEnum failure for type GTFS.Realtime.TripUpdate.StopTimeUpdate.ScheduleRelationship") - . toMaybe'Enum - succ SCHEDULED = SKIPPED - succ SKIPPED = NO_DATA - succ NO_DATA = UNSCHEDULED - succ _ - = Prelude'.error "hprotoc generated code: succ failure for type GTFS.Realtime.TripUpdate.StopTimeUpdate.ScheduleRelationship" - pred SKIPPED = SCHEDULED - pred NO_DATA = SKIPPED - pred UNSCHEDULED = NO_DATA - pred _ - = Prelude'.error "hprotoc generated code: pred failure for type GTFS.Realtime.TripUpdate.StopTimeUpdate.ScheduleRelationship" - -instance P'.Wire ScheduleRelationship where - wireSize ft' enum = P'.wireSize ft' (Prelude'.fromEnum enum) - wirePut ft' enum = P'.wirePut ft' (Prelude'.fromEnum enum) - wireGet 14 = P'.wireGetEnum toMaybe'Enum - wireGet ft' = P'.wireGetErr ft' - wireGetPacked 14 = P'.wireGetPackedEnum toMaybe'Enum - wireGetPacked ft' = P'.wireGetErr ft' - -instance P'.GPB ScheduleRelationship - -instance P'.MessageAPI msg' (msg' -> ScheduleRelationship) ScheduleRelationship where - getVal m' f' = f' m' - -instance P'.ReflectEnum ScheduleRelationship where - reflectEnum = [(0, "SCHEDULED", SCHEDULED), (1, "SKIPPED", SKIPPED), (2, "NO_DATA", NO_DATA), (3, "UNSCHEDULED", UNSCHEDULED)] - reflectEnumInfo _ - = P'.EnumInfo - (P'.makePNF (P'.pack ".transit_realtime.TripUpdate.StopTimeUpdate.ScheduleRelationship") [] - ["GTFS", "Realtime", "TripUpdate", "StopTimeUpdate"] - "ScheduleRelationship") - ["GTFS", "Realtime", "TripUpdate", "StopTimeUpdate", "ScheduleRelationship.hs"] - [(0, "SCHEDULED"), (1, "SKIPPED"), (2, "NO_DATA"), (3, "UNSCHEDULED")] - Prelude'.False - -instance P'.TextType ScheduleRelationship where - tellT = P'.tellShow - getT = P'.getRead \ No newline at end of file diff --git a/gtfs/GTFS/Realtime/TripUpdate/StopTimeUpdate/StopTimeProperties.hs b/gtfs/GTFS/Realtime/TripUpdate/StopTimeUpdate/StopTimeProperties.hs deleted file mode 100644 index 8784522..0000000 --- a/gtfs/GTFS/Realtime/TripUpdate/StopTimeUpdate/StopTimeProperties.hs +++ /dev/null @@ -1,89 +0,0 @@ -{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings - #-} -{-# OPTIONS_GHC -w #-} -module GTFS.Realtime.TripUpdate.StopTimeUpdate.StopTimeProperties (StopTimeProperties(..)) where -import Prelude ((+), (/), (++), (.), (==), (<=), (&&)) -import qualified Prelude as Prelude' -import qualified Data.List as Prelude' -import qualified Data.Typeable as Prelude' -import qualified GHC.Generics as Prelude' -import qualified Data.Data as Prelude' -import qualified Text.ProtocolBuffers.Header as P' - -data StopTimeProperties = StopTimeProperties{assigned_stop_id :: !(P'.Maybe P'.Utf8), ext'field :: !(P'.ExtField)} - deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, Prelude'.Generic) - -instance P'.ExtendMessage StopTimeProperties where - getExtField = ext'field - putExtField e'f msg = msg{ext'field = e'f} - validExtRanges msg = P'.extRanges (P'.reflectDescriptorInfo msg) - -instance P'.Mergeable StopTimeProperties where - mergeAppend (StopTimeProperties x'1 x'2) (StopTimeProperties y'1 y'2) - = let !z'1 = P'.mergeAppend x'1 y'1 - !z'2 = P'.mergeAppend x'2 y'2 - in StopTimeProperties z'1 z'2 - -instance P'.Default StopTimeProperties where - defaultValue = StopTimeProperties P'.defaultValue P'.defaultValue - -instance P'.Wire StopTimeProperties where - wireSize ft' self'@(StopTimeProperties x'1 x'2) - = case ft' of - 10 -> calc'Size - 11 -> P'.prependMessageSize calc'Size - _ -> P'.wireSizeErr ft' self' - where - calc'Size = (P'.wireSizeOpt 1 9 x'1 + P'.wireSizeExtField x'2) - wirePutWithSize ft' self'@(StopTimeProperties x'1 x'2) - = case ft' of - 10 -> put'Fields - 11 -> put'FieldsSized - _ -> P'.wirePutErr ft' self' - where - put'Fields = P'.sequencePutWithSize [P'.wirePutOptWithSize 10 9 x'1, P'.wirePutExtFieldWithSize x'2] - put'FieldsSized - = let size' = Prelude'.fst (P'.runPutM put'Fields) - put'Size - = do - P'.putSize size' - Prelude'.return (P'.size'WireSize size') - in P'.sequencePutWithSize [put'Size, put'Fields] - wireGet ft' - = case ft' of - 10 -> P'.getBareMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self) - 11 -> P'.getMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self) - _ -> P'.wireGetErr ft' - where - update'Self wire'Tag old'Self - = case wire'Tag of - 10 -> Prelude'.fmap (\ !new'Field -> old'Self{assigned_stop_id = Prelude'.Just new'Field}) (P'.wireGet 9) - _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in - if Prelude'.or [1000 <= field'Number && field'Number <= 1999, 9000 <= field'Number && field'Number <= 9999] then - P'.loadExtension field'Number wire'Type old'Self else P'.unknown field'Number wire'Type old'Self - -instance P'.MessageAPI msg' (msg' -> StopTimeProperties) StopTimeProperties where - getVal m' f' = f' m' - -instance P'.GPB StopTimeProperties - -instance P'.ReflectDescriptor StopTimeProperties where - getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList []) (P'.fromDistinctAscList [10]) - reflectDescriptorInfo _ - = Prelude'.read - "DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.TripUpdate.StopTimeUpdate.StopTimeProperties\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeUpdate\"], baseName = MName \"StopTimeProperties\"}, descFilePath = [\"GTFS\",\"Realtime\",\"TripUpdate\",\"StopTimeUpdate\",\"StopTimeProperties.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.StopTimeUpdate.StopTimeProperties.assigned_stop_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeUpdate\",MName \"StopTimeProperties\"], baseName' = FName \"assigned_stop_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False}" - -instance P'.TextType StopTimeProperties where - tellT = P'.tellSubMessage - getT = P'.getSubMessage - -instance P'.TextMsg StopTimeProperties where - textPut msg - = do - P'.tellT "assigned_stop_id" (assigned_stop_id msg) - textGet - = do - mods <- P'.sepEndBy (P'.choice [parse'assigned_stop_id]) P'.spaces - Prelude'.return (Prelude'.foldl' (\ v f -> f v) P'.defaultValue mods) - where - parse'assigned_stop_id = Prelude'.fmap (\ v o -> o{assigned_stop_id = v}) (P'.try (P'.getT "assigned_stop_id")) \ No newline at end of file diff --git a/gtfs/GTFS/Realtime/TripUpdate/TripProperties.hs b/gtfs/GTFS/Realtime/TripUpdate/TripProperties.hs deleted file mode 100644 index ad66022..0000000 --- a/gtfs/GTFS/Realtime/TripUpdate/TripProperties.hs +++ /dev/null @@ -1,108 +0,0 @@ -{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings - #-} -{-# OPTIONS_GHC -w #-} -module GTFS.Realtime.TripUpdate.TripProperties (TripProperties(..)) where -import Prelude ((+), (/), (++), (.), (==), (<=), (&&)) -import qualified Prelude as Prelude' -import qualified Data.List as Prelude' -import qualified Data.Typeable as Prelude' -import qualified GHC.Generics as Prelude' -import qualified Data.Data as Prelude' -import qualified Text.ProtocolBuffers.Header as P' - -data TripProperties = TripProperties{trip_id :: !(P'.Maybe P'.Utf8), start_date :: !(P'.Maybe P'.Utf8), - start_time :: !(P'.Maybe P'.Utf8), shape_id :: !(P'.Maybe P'.Utf8), - ext'field :: !(P'.ExtField)} - deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, Prelude'.Generic) - -instance P'.ExtendMessage TripProperties where - getExtField = ext'field - putExtField e'f msg = msg{ext'field = e'f} - validExtRanges msg = P'.extRanges (P'.reflectDescriptorInfo msg) - -instance P'.Mergeable TripProperties where - mergeAppend (TripProperties x'1 x'2 x'3 x'4 x'5) (TripProperties y'1 y'2 y'3 y'4 y'5) - = let !z'1 = P'.mergeAppend x'1 y'1 - !z'2 = P'.mergeAppend x'2 y'2 - !z'3 = P'.mergeAppend x'3 y'3 - !z'4 = P'.mergeAppend x'4 y'4 - !z'5 = P'.mergeAppend x'5 y'5 - in TripProperties z'1 z'2 z'3 z'4 z'5 - -instance P'.Default TripProperties where - defaultValue = TripProperties P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue - -instance P'.Wire TripProperties where - wireSize ft' self'@(TripProperties x'1 x'2 x'3 x'4 x'5) - = case ft' of - 10 -> calc'Size - 11 -> P'.prependMessageSize calc'Size - _ -> P'.wireSizeErr ft' self' - where - calc'Size - = (P'.wireSizeOpt 1 9 x'1 + P'.wireSizeOpt 1 9 x'2 + P'.wireSizeOpt 1 9 x'3 + P'.wireSizeOpt 1 9 x'4 + - P'.wireSizeExtField x'5) - wirePutWithSize ft' self'@(TripProperties x'1 x'2 x'3 x'4 x'5) - = case ft' of - 10 -> put'Fields - 11 -> put'FieldsSized - _ -> P'.wirePutErr ft' self' - where - put'Fields - = P'.sequencePutWithSize - [P'.wirePutOptWithSize 10 9 x'1, P'.wirePutOptWithSize 18 9 x'2, P'.wirePutOptWithSize 26 9 x'3, - P'.wirePutOptWithSize 34 9 x'4, P'.wirePutExtFieldWithSize x'5] - put'FieldsSized - = let size' = Prelude'.fst (P'.runPutM put'Fields) - put'Size - = do - P'.putSize size' - Prelude'.return (P'.size'WireSize size') - in P'.sequencePutWithSize [put'Size, put'Fields] - wireGet ft' - = case ft' of - 10 -> P'.getBareMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self) - 11 -> P'.getMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self) - _ -> P'.wireGetErr ft' - where - update'Self wire'Tag old'Self - = case wire'Tag of - 10 -> Prelude'.fmap (\ !new'Field -> old'Self{trip_id = Prelude'.Just new'Field}) (P'.wireGet 9) - 18 -> Prelude'.fmap (\ !new'Field -> old'Self{start_date = Prelude'.Just new'Field}) (P'.wireGet 9) - 26 -> Prelude'.fmap (\ !new'Field -> old'Self{start_time = Prelude'.Just new'Field}) (P'.wireGet 9) - 34 -> Prelude'.fmap (\ !new'Field -> old'Self{shape_id = Prelude'.Just new'Field}) (P'.wireGet 9) - _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in - if Prelude'.or [1000 <= field'Number && field'Number <= 1999, 9000 <= field'Number && field'Number <= 9999] then - P'.loadExtension field'Number wire'Type old'Self else P'.unknown field'Number wire'Type old'Self - -instance P'.MessageAPI msg' (msg' -> TripProperties) TripProperties where - getVal m' f' = f' m' - -instance P'.GPB TripProperties - -instance P'.ReflectDescriptor TripProperties where - getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList []) (P'.fromDistinctAscList [10, 18, 26, 34]) - reflectDescriptorInfo _ - = Prelude'.read - "DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.TripUpdate.TripProperties\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName = MName \"TripProperties\"}, descFilePath = [\"GTFS\",\"Realtime\",\"TripUpdate\",\"TripProperties.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.TripProperties.trip_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"TripProperties\"], baseName' = FName \"trip_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.TripProperties.start_date\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"TripProperties\"], baseName' = FName \"start_date\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.TripProperties.start_time\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"TripProperties\"], baseName' = FName \"start_time\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 26}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.TripProperties.shape_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"TripProperties\"], baseName' = FName \"shape_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 34}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False}" - -instance P'.TextType TripProperties where - tellT = P'.tellSubMessage - getT = P'.getSubMessage - -instance P'.TextMsg TripProperties where - textPut msg - = do - P'.tellT "trip_id" (trip_id msg) - P'.tellT "start_date" (start_date msg) - P'.tellT "start_time" (start_time msg) - P'.tellT "shape_id" (shape_id msg) - textGet - = do - mods <- P'.sepEndBy (P'.choice [parse'trip_id, parse'start_date, parse'start_time, parse'shape_id]) P'.spaces - Prelude'.return (Prelude'.foldl' (\ v f -> f v) P'.defaultValue mods) - where - parse'trip_id = Prelude'.fmap (\ v o -> o{trip_id = v}) (P'.try (P'.getT "trip_id")) - parse'start_date = Prelude'.fmap (\ v o -> o{start_date = v}) (P'.try (P'.getT "start_date")) - parse'start_time = Prelude'.fmap (\ v o -> o{start_time = v}) (P'.try (P'.getT "start_time")) - parse'shape_id = Prelude'.fmap (\ v o -> o{shape_id = v}) (P'.try (P'.getT "shape_id")) \ No newline at end of file diff --git a/gtfs/GTFS/Realtime/VehicleDescriptor.hs b/gtfs/GTFS/Realtime/VehicleDescriptor.hs deleted file mode 100644 index 41bd0fa..0000000 --- a/gtfs/GTFS/Realtime/VehicleDescriptor.hs +++ /dev/null @@ -1,101 +0,0 @@ -{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings - #-} -{-# OPTIONS_GHC -w #-} -module GTFS.Realtime.VehicleDescriptor (VehicleDescriptor(..)) where -import Prelude ((+), (/), (++), (.), (==), (<=), (&&)) -import qualified Prelude as Prelude' -import qualified Data.List as Prelude' -import qualified Data.Typeable as Prelude' -import qualified GHC.Generics as Prelude' -import qualified Data.Data as Prelude' -import qualified Text.ProtocolBuffers.Header as P' - -data VehicleDescriptor = VehicleDescriptor{id :: !(P'.Maybe P'.Utf8), label :: !(P'.Maybe P'.Utf8), - license_plate :: !(P'.Maybe P'.Utf8), ext'field :: !(P'.ExtField)} - deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, Prelude'.Generic) - -instance P'.ExtendMessage VehicleDescriptor where - getExtField = ext'field - putExtField e'f msg = msg{ext'field = e'f} - validExtRanges msg = P'.extRanges (P'.reflectDescriptorInfo msg) - -instance P'.Mergeable VehicleDescriptor where - mergeAppend (VehicleDescriptor x'1 x'2 x'3 x'4) (VehicleDescriptor y'1 y'2 y'3 y'4) - = let !z'1 = P'.mergeAppend x'1 y'1 - !z'2 = P'.mergeAppend x'2 y'2 - !z'3 = P'.mergeAppend x'3 y'3 - !z'4 = P'.mergeAppend x'4 y'4 - in VehicleDescriptor z'1 z'2 z'3 z'4 - -instance P'.Default VehicleDescriptor where - defaultValue = VehicleDescriptor P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue - -instance P'.Wire VehicleDescriptor where - wireSize ft' self'@(VehicleDescriptor x'1 x'2 x'3 x'4) - = case ft' of - 10 -> calc'Size - 11 -> P'.prependMessageSize calc'Size - _ -> P'.wireSizeErr ft' self' - where - calc'Size = (P'.wireSizeOpt 1 9 x'1 + P'.wireSizeOpt 1 9 x'2 + P'.wireSizeOpt 1 9 x'3 + P'.wireSizeExtField x'4) - wirePutWithSize ft' self'@(VehicleDescriptor x'1 x'2 x'3 x'4) - = case ft' of - 10 -> put'Fields - 11 -> put'FieldsSized - _ -> P'.wirePutErr ft' self' - where - put'Fields - = P'.sequencePutWithSize - [P'.wirePutOptWithSize 10 9 x'1, P'.wirePutOptWithSize 18 9 x'2, P'.wirePutOptWithSize 26 9 x'3, - P'.wirePutExtFieldWithSize x'4] - put'FieldsSized - = let size' = Prelude'.fst (P'.runPutM put'Fields) - put'Size - = do - P'.putSize size' - Prelude'.return (P'.size'WireSize size') - in P'.sequencePutWithSize [put'Size, put'Fields] - wireGet ft' - = case ft' of - 10 -> P'.getBareMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self) - 11 -> P'.getMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self) - _ -> P'.wireGetErr ft' - where - update'Self wire'Tag old'Self - = case wire'Tag of - 10 -> Prelude'.fmap (\ !new'Field -> old'Self{id = Prelude'.Just new'Field}) (P'.wireGet 9) - 18 -> Prelude'.fmap (\ !new'Field -> old'Self{label = Prelude'.Just new'Field}) (P'.wireGet 9) - 26 -> Prelude'.fmap (\ !new'Field -> old'Self{license_plate = Prelude'.Just new'Field}) (P'.wireGet 9) - _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in - if Prelude'.or [1000 <= field'Number && field'Number <= 1999, 9000 <= field'Number && field'Number <= 9999] then - P'.loadExtension field'Number wire'Type old'Self else P'.unknown field'Number wire'Type old'Self - -instance P'.MessageAPI msg' (msg' -> VehicleDescriptor) VehicleDescriptor where - getVal m' f' = f' m' - -instance P'.GPB VehicleDescriptor - -instance P'.ReflectDescriptor VehicleDescriptor where - getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList []) (P'.fromDistinctAscList [10, 18, 26]) - reflectDescriptorInfo _ - = Prelude'.read - "DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.VehicleDescriptor\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"VehicleDescriptor\"}, descFilePath = [\"GTFS\",\"Realtime\",\"VehicleDescriptor.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehicleDescriptor.id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehicleDescriptor\"], baseName' = FName \"id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehicleDescriptor.label\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehicleDescriptor\"], baseName' = FName \"label\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehicleDescriptor.license_plate\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehicleDescriptor\"], baseName' = FName \"license_plate\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 26}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False}" - -instance P'.TextType VehicleDescriptor where - tellT = P'.tellSubMessage - getT = P'.getSubMessage - -instance P'.TextMsg VehicleDescriptor where - textPut msg - = do - P'.tellT "id" (id msg) - P'.tellT "label" (label msg) - P'.tellT "license_plate" (license_plate msg) - textGet - = do - mods <- P'.sepEndBy (P'.choice [parse'id, parse'label, parse'license_plate]) P'.spaces - Prelude'.return (Prelude'.foldl' (\ v f -> f v) P'.defaultValue mods) - where - parse'id = Prelude'.fmap (\ v o -> o{id = v}) (P'.try (P'.getT "id")) - parse'label = Prelude'.fmap (\ v o -> o{label = v}) (P'.try (P'.getT "label")) - parse'license_plate = Prelude'.fmap (\ v o -> o{license_plate = v}) (P'.try (P'.getT "license_plate")) \ No newline at end of file diff --git a/gtfs/GTFS/Realtime/VehiclePosition.hs b/gtfs/GTFS/Realtime/VehiclePosition.hs deleted file mode 100644 index da2cb12..0000000 --- a/gtfs/GTFS/Realtime/VehiclePosition.hs +++ /dev/null @@ -1,183 +0,0 @@ -{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings - #-} -{-# OPTIONS_GHC -w #-} -module GTFS.Realtime.VehiclePosition (VehiclePosition(..)) where -import Prelude ((+), (/), (++), (.), (==), (<=), (&&)) -import qualified Prelude as Prelude' -import qualified Data.List as Prelude' -import qualified Data.Typeable as Prelude' -import qualified GHC.Generics as Prelude' -import qualified Data.Data as Prelude' -import qualified Text.ProtocolBuffers.Header as P' -import qualified GTFS.Realtime.Position as GTFS.Realtime -import qualified GTFS.Realtime.TripDescriptor as GTFS.Realtime -import qualified GTFS.Realtime.VehicleDescriptor as GTFS.Realtime -import qualified GTFS.Realtime.VehiclePosition.CarriageDetails as GTFS.Realtime.VehiclePosition -import qualified GTFS.Realtime.VehiclePosition.CongestionLevel as GTFS.Realtime.VehiclePosition -import qualified GTFS.Realtime.VehiclePosition.OccupancyStatus as GTFS.Realtime.VehiclePosition -import qualified GTFS.Realtime.VehiclePosition.VehicleStopStatus as GTFS.Realtime.VehiclePosition - -data VehiclePosition = VehiclePosition{trip :: !(P'.Maybe GTFS.Realtime.TripDescriptor), - vehicle :: !(P'.Maybe GTFS.Realtime.VehicleDescriptor), - position :: !(P'.Maybe GTFS.Realtime.Position), - current_stop_sequence :: !(P'.Maybe P'.Word32), stop_id :: !(P'.Maybe P'.Utf8), - current_status :: !(P'.Maybe GTFS.Realtime.VehiclePosition.VehicleStopStatus), - timestamp :: !(P'.Maybe P'.Word64), - congestion_level :: !(P'.Maybe GTFS.Realtime.VehiclePosition.CongestionLevel), - occupancy_status :: !(P'.Maybe GTFS.Realtime.VehiclePosition.OccupancyStatus), - occupancy_percentage :: !(P'.Maybe P'.Word32), - multi_carriage_details :: !(P'.Seq GTFS.Realtime.VehiclePosition.CarriageDetails), - ext'field :: !(P'.ExtField)} - deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, Prelude'.Generic) - -instance P'.ExtendMessage VehiclePosition where - getExtField = ext'field - putExtField e'f msg = msg{ext'field = e'f} - validExtRanges msg = P'.extRanges (P'.reflectDescriptorInfo msg) - -instance P'.Mergeable VehiclePosition where - mergeAppend (VehiclePosition x'1 x'2 x'3 x'4 x'5 x'6 x'7 x'8 x'9 x'10 x'11 x'12) - (VehiclePosition y'1 y'2 y'3 y'4 y'5 y'6 y'7 y'8 y'9 y'10 y'11 y'12) - = let !z'1 = P'.mergeAppend x'1 y'1 - !z'2 = P'.mergeAppend x'2 y'2 - !z'3 = P'.mergeAppend x'3 y'3 - !z'4 = P'.mergeAppend x'4 y'4 - !z'5 = P'.mergeAppend x'5 y'5 - !z'6 = P'.mergeAppend x'6 y'6 - !z'7 = P'.mergeAppend x'7 y'7 - !z'8 = P'.mergeAppend x'8 y'8 - !z'9 = P'.mergeAppend x'9 y'9 - !z'10 = P'.mergeAppend x'10 y'10 - !z'11 = P'.mergeAppend x'11 y'11 - !z'12 = P'.mergeAppend x'12 y'12 - in VehiclePosition z'1 z'2 z'3 z'4 z'5 z'6 z'7 z'8 z'9 z'10 z'11 z'12 - -instance P'.Default VehiclePosition where - defaultValue - = VehiclePosition P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue - (Prelude'.Just (Prelude'.read "IN_TRANSIT_TO")) - P'.defaultValue - P'.defaultValue - P'.defaultValue - P'.defaultValue - P'.defaultValue - P'.defaultValue - -instance P'.Wire VehiclePosition where - wireSize ft' self'@(VehiclePosition x'1 x'2 x'3 x'4 x'5 x'6 x'7 x'8 x'9 x'10 x'11 x'12) - = case ft' of - 10 -> calc'Size - 11 -> P'.prependMessageSize calc'Size - _ -> P'.wireSizeErr ft' self' - where - calc'Size - = (P'.wireSizeOpt 1 11 x'1 + P'.wireSizeOpt 1 11 x'2 + P'.wireSizeOpt 1 11 x'3 + P'.wireSizeOpt 1 13 x'4 + - P'.wireSizeOpt 1 9 x'5 - + P'.wireSizeOpt 1 14 x'6 - + P'.wireSizeOpt 1 4 x'7 - + P'.wireSizeOpt 1 14 x'8 - + P'.wireSizeOpt 1 14 x'9 - + P'.wireSizeOpt 1 13 x'10 - + P'.wireSizeRep 1 11 x'11 - + P'.wireSizeExtField x'12) - wirePutWithSize ft' self'@(VehiclePosition x'1 x'2 x'3 x'4 x'5 x'6 x'7 x'8 x'9 x'10 x'11 x'12) - = case ft' of - 10 -> put'Fields - 11 -> put'FieldsSized - _ -> P'.wirePutErr ft' self' - where - put'Fields - = P'.sequencePutWithSize - [P'.wirePutOptWithSize 10 11 x'1, P'.wirePutOptWithSize 18 11 x'3, P'.wirePutOptWithSize 24 13 x'4, - P'.wirePutOptWithSize 32 14 x'6, P'.wirePutOptWithSize 40 4 x'7, P'.wirePutOptWithSize 48 14 x'8, - P'.wirePutOptWithSize 58 9 x'5, P'.wirePutOptWithSize 66 11 x'2, P'.wirePutOptWithSize 72 14 x'9, - P'.wirePutOptWithSize 80 13 x'10, P'.wirePutRepWithSize 90 11 x'11, P'.wirePutExtFieldWithSize x'12] - put'FieldsSized - = let size' = Prelude'.fst (P'.runPutM put'Fields) - put'Size - = do - P'.putSize size' - Prelude'.return (P'.size'WireSize size') - in P'.sequencePutWithSize [put'Size, put'Fields] - wireGet ft' - = case ft' of - 10 -> P'.getBareMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self) - 11 -> P'.getMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self) - _ -> P'.wireGetErr ft' - where - update'Self wire'Tag old'Self - = case wire'Tag of - 10 -> Prelude'.fmap (\ !new'Field -> old'Self{trip = P'.mergeAppend (trip old'Self) (Prelude'.Just new'Field)}) - (P'.wireGet 11) - 66 -> Prelude'.fmap (\ !new'Field -> old'Self{vehicle = P'.mergeAppend (vehicle old'Self) (Prelude'.Just new'Field)}) - (P'.wireGet 11) - 18 -> Prelude'.fmap (\ !new'Field -> old'Self{position = P'.mergeAppend (position old'Self) (Prelude'.Just new'Field)}) - (P'.wireGet 11) - 24 -> Prelude'.fmap (\ !new'Field -> old'Self{current_stop_sequence = Prelude'.Just new'Field}) (P'.wireGet 13) - 58 -> Prelude'.fmap (\ !new'Field -> old'Self{stop_id = Prelude'.Just new'Field}) (P'.wireGet 9) - 32 -> Prelude'.fmap (\ !new'Field -> old'Self{current_status = Prelude'.Just new'Field}) (P'.wireGet 14) - 40 -> Prelude'.fmap (\ !new'Field -> old'Self{timestamp = Prelude'.Just new'Field}) (P'.wireGet 4) - 48 -> Prelude'.fmap (\ !new'Field -> old'Self{congestion_level = Prelude'.Just new'Field}) (P'.wireGet 14) - 72 -> Prelude'.fmap (\ !new'Field -> old'Self{occupancy_status = Prelude'.Just new'Field}) (P'.wireGet 14) - 80 -> Prelude'.fmap (\ !new'Field -> old'Self{occupancy_percentage = Prelude'.Just new'Field}) (P'.wireGet 13) - 90 -> Prelude'.fmap - (\ !new'Field -> old'Self{multi_carriage_details = P'.append (multi_carriage_details old'Self) new'Field}) - (P'.wireGet 11) - _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in - if Prelude'.or [1000 <= field'Number && field'Number <= 1999, 9000 <= field'Number && field'Number <= 9999] then - P'.loadExtension field'Number wire'Type old'Self else P'.unknown field'Number wire'Type old'Self - -instance P'.MessageAPI msg' (msg' -> VehiclePosition) VehiclePosition where - getVal m' f' = f' m' - -instance P'.GPB VehiclePosition - -instance P'.ReflectDescriptor VehiclePosition where - getMessageInfo _ - = P'.GetMessageInfo (P'.fromDistinctAscList []) (P'.fromDistinctAscList [10, 18, 24, 32, 40, 48, 58, 66, 72, 80, 90]) - reflectDescriptorInfo _ - = Prelude'.read - "DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.VehiclePosition\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"VehiclePosition\"}, descFilePath = [\"GTFS\",\"Realtime\",\"VehiclePosition.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.trip\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName' = FName \"trip\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TripDescriptor\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TripDescriptor\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.vehicle\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName' = FName \"vehicle\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 8}, wireTag = WireTag {getWireTag = 66}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.VehicleDescriptor\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"VehicleDescriptor\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.position\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName' = FName \"position\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.Position\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"Position\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.current_stop_sequence\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName' = FName \"current_stop_sequence\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 24}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 13}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.stop_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName' = FName \"stop_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 7}, wireTag = WireTag {getWireTag = 58}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.current_status\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName' = FName \"current_status\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 32}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.VehiclePosition.VehicleStopStatus\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName = MName \"VehicleStopStatus\"}), hsRawDefault = Just \"IN_TRANSIT_TO\", hsDefault = Just (HsDef'Enum \"IN_TRANSIT_TO\"), isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.timestamp\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName' = FName \"timestamp\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 5}, wireTag = WireTag {getWireTag = 40}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 4}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.congestion_level\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName' = FName \"congestion_level\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 6}, wireTag = WireTag {getWireTag = 48}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.VehiclePosition.CongestionLevel\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName = MName \"CongestionLevel\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.occupancy_status\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName' = FName \"occupancy_status\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 9}, wireTag = WireTag {getWireTag = 72}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.VehiclePosition.OccupancyStatus\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName = MName \"OccupancyStatus\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.occupancy_percentage\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName' = FName \"occupancy_percentage\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 10}, wireTag = WireTag {getWireTag = 80}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 13}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.multi_carriage_details\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName' = FName \"multi_carriage_details\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 11}, wireTag = WireTag {getWireTag = 90}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.VehiclePosition.CarriageDetails\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName = MName \"CarriageDetails\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False}" - -instance P'.TextType VehiclePosition where - tellT = P'.tellSubMessage - getT = P'.getSubMessage - -instance P'.TextMsg VehiclePosition where - textPut msg - = do - P'.tellT "trip" (trip msg) - P'.tellT "vehicle" (vehicle msg) - P'.tellT "position" (position msg) - P'.tellT "current_stop_sequence" (current_stop_sequence msg) - P'.tellT "stop_id" (stop_id msg) - P'.tellT "current_status" (current_status msg) - P'.tellT "timestamp" (timestamp msg) - P'.tellT "congestion_level" (congestion_level msg) - P'.tellT "occupancy_status" (occupancy_status msg) - P'.tellT "occupancy_percentage" (occupancy_percentage msg) - P'.tellT "multi_carriage_details" (multi_carriage_details msg) - textGet - = do - mods <- P'.sepEndBy - (P'.choice - [parse'trip, parse'vehicle, parse'position, parse'current_stop_sequence, parse'stop_id, parse'current_status, - parse'timestamp, parse'congestion_level, parse'occupancy_status, parse'occupancy_percentage, - parse'multi_carriage_details]) - P'.spaces - Prelude'.return (Prelude'.foldl' (\ v f -> f v) P'.defaultValue mods) - where - parse'trip = Prelude'.fmap (\ v o -> o{trip = v}) (P'.try (P'.getT "trip")) - parse'vehicle = Prelude'.fmap (\ v o -> o{vehicle = v}) (P'.try (P'.getT "vehicle")) - parse'position = Prelude'.fmap (\ v o -> o{position = v}) (P'.try (P'.getT "position")) - parse'current_stop_sequence - = Prelude'.fmap (\ v o -> o{current_stop_sequence = v}) (P'.try (P'.getT "current_stop_sequence")) - parse'stop_id = Prelude'.fmap (\ v o -> o{stop_id = v}) (P'.try (P'.getT "stop_id")) - parse'current_status = Prelude'.fmap (\ v o -> o{current_status = v}) (P'.try (P'.getT "current_status")) - parse'timestamp = Prelude'.fmap (\ v o -> o{timestamp = v}) (P'.try (P'.getT "timestamp")) - parse'congestion_level = Prelude'.fmap (\ v o -> o{congestion_level = v}) (P'.try (P'.getT "congestion_level")) - parse'occupancy_status = Prelude'.fmap (\ v o -> o{occupancy_status = v}) (P'.try (P'.getT "occupancy_status")) - parse'occupancy_percentage = Prelude'.fmap (\ v o -> o{occupancy_percentage = v}) (P'.try (P'.getT "occupancy_percentage")) - parse'multi_carriage_details - = Prelude'.fmap (\ v o -> o{multi_carriage_details = P'.append (multi_carriage_details o) v}) - (P'.try (P'.getT "multi_carriage_details")) \ No newline at end of file diff --git a/gtfs/GTFS/Realtime/VehiclePosition/CarriageDetails.hs b/gtfs/GTFS/Realtime/VehiclePosition/CarriageDetails.hs deleted file mode 100644 index 1afba89..0000000 --- a/gtfs/GTFS/Realtime/VehiclePosition/CarriageDetails.hs +++ /dev/null @@ -1,120 +0,0 @@ -{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings - #-} -{-# OPTIONS_GHC -w #-} -module GTFS.Realtime.VehiclePosition.CarriageDetails (CarriageDetails(..)) where -import Prelude ((+), (/), (++), (.), (==), (<=), (&&)) -import qualified Prelude as Prelude' -import qualified Data.List as Prelude' -import qualified Data.Typeable as Prelude' -import qualified GHC.Generics as Prelude' -import qualified Data.Data as Prelude' -import qualified Text.ProtocolBuffers.Header as P' -import qualified GTFS.Realtime.VehiclePosition.OccupancyStatus as GTFS.Realtime.VehiclePosition - -data CarriageDetails = CarriageDetails{id :: !(P'.Maybe P'.Utf8), label :: !(P'.Maybe P'.Utf8), - occupancy_status :: !(P'.Maybe GTFS.Realtime.VehiclePosition.OccupancyStatus), - occupancy_percentage :: !(P'.Maybe P'.Int32), carriage_sequence :: !(P'.Maybe P'.Word32), - ext'field :: !(P'.ExtField)} - deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, Prelude'.Generic) - -instance P'.ExtendMessage CarriageDetails where - getExtField = ext'field - putExtField e'f msg = msg{ext'field = e'f} - validExtRanges msg = P'.extRanges (P'.reflectDescriptorInfo msg) - -instance P'.Mergeable CarriageDetails where - mergeAppend (CarriageDetails x'1 x'2 x'3 x'4 x'5 x'6) (CarriageDetails y'1 y'2 y'3 y'4 y'5 y'6) - = let !z'1 = P'.mergeAppend x'1 y'1 - !z'2 = P'.mergeAppend x'2 y'2 - !z'3 = P'.mergeAppend x'3 y'3 - !z'4 = P'.mergeAppend x'4 y'4 - !z'5 = P'.mergeAppend x'5 y'5 - !z'6 = P'.mergeAppend x'6 y'6 - in CarriageDetails z'1 z'2 z'3 z'4 z'5 z'6 - -instance P'.Default CarriageDetails where - defaultValue - = CarriageDetails P'.defaultValue P'.defaultValue (Prelude'.Just (Prelude'.read "NO_DATA_AVAILABLE")) (Prelude'.Just (-1)) - P'.defaultValue - P'.defaultValue - -instance P'.Wire CarriageDetails where - wireSize ft' self'@(CarriageDetails x'1 x'2 x'3 x'4 x'5 x'6) - = case ft' of - 10 -> calc'Size - 11 -> P'.prependMessageSize calc'Size - _ -> P'.wireSizeErr ft' self' - where - calc'Size - = (P'.wireSizeOpt 1 9 x'1 + P'.wireSizeOpt 1 9 x'2 + P'.wireSizeOpt 1 14 x'3 + P'.wireSizeOpt 1 5 x'4 + - P'.wireSizeOpt 1 13 x'5 - + P'.wireSizeExtField x'6) - wirePutWithSize ft' self'@(CarriageDetails x'1 x'2 x'3 x'4 x'5 x'6) - = case ft' of - 10 -> put'Fields - 11 -> put'FieldsSized - _ -> P'.wirePutErr ft' self' - where - put'Fields - = P'.sequencePutWithSize - [P'.wirePutOptWithSize 10 9 x'1, P'.wirePutOptWithSize 18 9 x'2, P'.wirePutOptWithSize 24 14 x'3, - P'.wirePutOptWithSize 32 5 x'4, P'.wirePutOptWithSize 40 13 x'5, P'.wirePutExtFieldWithSize x'6] - put'FieldsSized - = let size' = Prelude'.fst (P'.runPutM put'Fields) - put'Size - = do - P'.putSize size' - Prelude'.return (P'.size'WireSize size') - in P'.sequencePutWithSize [put'Size, put'Fields] - wireGet ft' - = case ft' of - 10 -> P'.getBareMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self) - 11 -> P'.getMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self) - _ -> P'.wireGetErr ft' - where - update'Self wire'Tag old'Self - = case wire'Tag of - 10 -> Prelude'.fmap (\ !new'Field -> old'Self{id = Prelude'.Just new'Field}) (P'.wireGet 9) - 18 -> Prelude'.fmap (\ !new'Field -> old'Self{label = Prelude'.Just new'Field}) (P'.wireGet 9) - 24 -> Prelude'.fmap (\ !new'Field -> old'Self{occupancy_status = Prelude'.Just new'Field}) (P'.wireGet 14) - 32 -> Prelude'.fmap (\ !new'Field -> old'Self{occupancy_percentage = Prelude'.Just new'Field}) (P'.wireGet 5) - 40 -> Prelude'.fmap (\ !new'Field -> old'Self{carriage_sequence = Prelude'.Just new'Field}) (P'.wireGet 13) - _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in - if Prelude'.or [1000 <= field'Number && field'Number <= 1999, 9000 <= field'Number && field'Number <= 9999] then - P'.loadExtension field'Number wire'Type old'Self else P'.unknown field'Number wire'Type old'Self - -instance P'.MessageAPI msg' (msg' -> CarriageDetails) CarriageDetails where - getVal m' f' = f' m' - -instance P'.GPB CarriageDetails - -instance P'.ReflectDescriptor CarriageDetails where - getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList []) (P'.fromDistinctAscList [10, 18, 24, 32, 40]) - reflectDescriptorInfo _ - = Prelude'.read - "DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.VehiclePosition.CarriageDetails\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName = MName \"CarriageDetails\"}, descFilePath = [\"GTFS\",\"Realtime\",\"VehiclePosition\",\"CarriageDetails.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.CarriageDetails.id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\",MName \"CarriageDetails\"], baseName' = FName \"id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.CarriageDetails.label\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\",MName \"CarriageDetails\"], baseName' = FName \"label\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.CarriageDetails.occupancy_status\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\",MName \"CarriageDetails\"], baseName' = FName \"occupancy_status\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 24}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.VehiclePosition.OccupancyStatus\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName = MName \"OccupancyStatus\"}), hsRawDefault = Just \"NO_DATA_AVAILABLE\", hsDefault = Just (HsDef'Enum \"NO_DATA_AVAILABLE\"), isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.CarriageDetails.occupancy_percentage\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\",MName \"CarriageDetails\"], baseName' = FName \"occupancy_percentage\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 32}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 5}, typeName = Nothing, hsRawDefault = Just \"-1\", hsDefault = Just (HsDef'Integer (-1)), isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.CarriageDetails.carriage_sequence\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\",MName \"CarriageDetails\"], baseName' = FName \"carriage_sequence\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 5}, wireTag = WireTag {getWireTag = 40}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 13}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False}" - -instance P'.TextType CarriageDetails where - tellT = P'.tellSubMessage - getT = P'.getSubMessage - -instance P'.TextMsg CarriageDetails where - textPut msg - = do - P'.tellT "id" (id msg) - P'.tellT "label" (label msg) - P'.tellT "occupancy_status" (occupancy_status msg) - P'.tellT "occupancy_percentage" (occupancy_percentage msg) - P'.tellT "carriage_sequence" (carriage_sequence msg) - textGet - = do - mods <- P'.sepEndBy - (P'.choice [parse'id, parse'label, parse'occupancy_status, parse'occupancy_percentage, parse'carriage_sequence]) - P'.spaces - Prelude'.return (Prelude'.foldl' (\ v f -> f v) P'.defaultValue mods) - where - parse'id = Prelude'.fmap (\ v o -> o{id = v}) (P'.try (P'.getT "id")) - parse'label = Prelude'.fmap (\ v o -> o{label = v}) (P'.try (P'.getT "label")) - parse'occupancy_status = Prelude'.fmap (\ v o -> o{occupancy_status = v}) (P'.try (P'.getT "occupancy_status")) - parse'occupancy_percentage = Prelude'.fmap (\ v o -> o{occupancy_percentage = v}) (P'.try (P'.getT "occupancy_percentage")) - parse'carriage_sequence = Prelude'.fmap (\ v o -> o{carriage_sequence = v}) (P'.try (P'.getT "carriage_sequence")) \ No newline at end of file diff --git a/gtfs/GTFS/Realtime/VehiclePosition/CongestionLevel.hs b/gtfs/GTFS/Realtime/VehiclePosition/CongestionLevel.hs deleted file mode 100644 index 4f84eac..0000000 --- a/gtfs/GTFS/Realtime/VehiclePosition/CongestionLevel.hs +++ /dev/null @@ -1,85 +0,0 @@ -{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings - #-} -{-# OPTIONS_GHC -w #-} -module GTFS.Realtime.VehiclePosition.CongestionLevel (CongestionLevel(..)) where -import Prelude ((+), (/), (.)) -import qualified Prelude as Prelude' -import qualified Data.List as Prelude' -import qualified Data.Typeable as Prelude' -import qualified GHC.Generics as Prelude' -import qualified Data.Data as Prelude' -import qualified Text.ProtocolBuffers.Header as P' - -data CongestionLevel = UNKNOWN_CONGESTION_LEVEL - | RUNNING_SMOOTHLY - | STOP_AND_GO - | CONGESTION - | SEVERE_CONGESTION - deriving (Prelude'.Read, Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, - Prelude'.Generic) - -instance P'.Mergeable CongestionLevel - -instance Prelude'.Bounded CongestionLevel where - minBound = UNKNOWN_CONGESTION_LEVEL - maxBound = SEVERE_CONGESTION - -instance P'.Default CongestionLevel where - defaultValue = UNKNOWN_CONGESTION_LEVEL - -toMaybe'Enum :: Prelude'.Int -> P'.Maybe CongestionLevel -toMaybe'Enum 0 = Prelude'.Just UNKNOWN_CONGESTION_LEVEL -toMaybe'Enum 1 = Prelude'.Just RUNNING_SMOOTHLY -toMaybe'Enum 2 = Prelude'.Just STOP_AND_GO -toMaybe'Enum 3 = Prelude'.Just CONGESTION -toMaybe'Enum 4 = Prelude'.Just SEVERE_CONGESTION -toMaybe'Enum _ = Prelude'.Nothing - -instance Prelude'.Enum CongestionLevel where - fromEnum UNKNOWN_CONGESTION_LEVEL = 0 - fromEnum RUNNING_SMOOTHLY = 1 - fromEnum STOP_AND_GO = 2 - fromEnum CONGESTION = 3 - fromEnum SEVERE_CONGESTION = 4 - toEnum - = P'.fromMaybe (Prelude'.error "hprotoc generated code: toEnum failure for type GTFS.Realtime.VehiclePosition.CongestionLevel") . - toMaybe'Enum - succ UNKNOWN_CONGESTION_LEVEL = RUNNING_SMOOTHLY - succ RUNNING_SMOOTHLY = STOP_AND_GO - succ STOP_AND_GO = CONGESTION - succ CONGESTION = SEVERE_CONGESTION - succ _ = Prelude'.error "hprotoc generated code: succ failure for type GTFS.Realtime.VehiclePosition.CongestionLevel" - pred RUNNING_SMOOTHLY = UNKNOWN_CONGESTION_LEVEL - pred STOP_AND_GO = RUNNING_SMOOTHLY - pred CONGESTION = STOP_AND_GO - pred SEVERE_CONGESTION = CONGESTION - pred _ = Prelude'.error "hprotoc generated code: pred failure for type GTFS.Realtime.VehiclePosition.CongestionLevel" - -instance P'.Wire CongestionLevel where - wireSize ft' enum = P'.wireSize ft' (Prelude'.fromEnum enum) - wirePut ft' enum = P'.wirePut ft' (Prelude'.fromEnum enum) - wireGet 14 = P'.wireGetEnum toMaybe'Enum - wireGet ft' = P'.wireGetErr ft' - wireGetPacked 14 = P'.wireGetPackedEnum toMaybe'Enum - wireGetPacked ft' = P'.wireGetErr ft' - -instance P'.GPB CongestionLevel - -instance P'.MessageAPI msg' (msg' -> CongestionLevel) CongestionLevel where - getVal m' f' = f' m' - -instance P'.ReflectEnum CongestionLevel where - reflectEnum - = [(0, "UNKNOWN_CONGESTION_LEVEL", UNKNOWN_CONGESTION_LEVEL), (1, "RUNNING_SMOOTHLY", RUNNING_SMOOTHLY), - (2, "STOP_AND_GO", STOP_AND_GO), (3, "CONGESTION", CONGESTION), (4, "SEVERE_CONGESTION", SEVERE_CONGESTION)] - reflectEnumInfo _ - = P'.EnumInfo - (P'.makePNF (P'.pack ".transit_realtime.VehiclePosition.CongestionLevel") [] ["GTFS", "Realtime", "VehiclePosition"] - "CongestionLevel") - ["GTFS", "Realtime", "VehiclePosition", "CongestionLevel.hs"] - [(0, "UNKNOWN_CONGESTION_LEVEL"), (1, "RUNNING_SMOOTHLY"), (2, "STOP_AND_GO"), (3, "CONGESTION"), (4, "SEVERE_CONGESTION")] - Prelude'.False - -instance P'.TextType CongestionLevel where - tellT = P'.tellShow - getT = P'.getRead \ No newline at end of file diff --git a/gtfs/GTFS/Realtime/VehiclePosition/OccupancyStatus.hs b/gtfs/GTFS/Realtime/VehiclePosition/OccupancyStatus.hs deleted file mode 100644 index 92d4064..0000000 --- a/gtfs/GTFS/Realtime/VehiclePosition/OccupancyStatus.hs +++ /dev/null @@ -1,109 +0,0 @@ -{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings - #-} -{-# OPTIONS_GHC -w #-} -module GTFS.Realtime.VehiclePosition.OccupancyStatus (OccupancyStatus(..)) where -import Prelude ((+), (/), (.)) -import qualified Prelude as Prelude' -import qualified Data.List as Prelude' -import qualified Data.Typeable as Prelude' -import qualified GHC.Generics as Prelude' -import qualified Data.Data as Prelude' -import qualified Text.ProtocolBuffers.Header as P' - -data OccupancyStatus = EMPTY - | MANY_SEATS_AVAILABLE - | FEW_SEATS_AVAILABLE - | STANDING_ROOM_ONLY - | CRUSHED_STANDING_ROOM_ONLY - | FULL - | NOT_ACCEPTING_PASSENGERS - | NO_DATA_AVAILABLE - | NOT_BOARDABLE - deriving (Prelude'.Read, Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, - Prelude'.Generic) - -instance P'.Mergeable OccupancyStatus - -instance Prelude'.Bounded OccupancyStatus where - minBound = EMPTY - maxBound = NOT_BOARDABLE - -instance P'.Default OccupancyStatus where - defaultValue = EMPTY - -toMaybe'Enum :: Prelude'.Int -> P'.Maybe OccupancyStatus -toMaybe'Enum 0 = Prelude'.Just EMPTY -toMaybe'Enum 1 = Prelude'.Just MANY_SEATS_AVAILABLE -toMaybe'Enum 2 = Prelude'.Just FEW_SEATS_AVAILABLE -toMaybe'Enum 3 = Prelude'.Just STANDING_ROOM_ONLY -toMaybe'Enum 4 = Prelude'.Just CRUSHED_STANDING_ROOM_ONLY -toMaybe'Enum 5 = Prelude'.Just FULL -toMaybe'Enum 6 = Prelude'.Just NOT_ACCEPTING_PASSENGERS -toMaybe'Enum 7 = Prelude'.Just NO_DATA_AVAILABLE -toMaybe'Enum 8 = Prelude'.Just NOT_BOARDABLE -toMaybe'Enum _ = Prelude'.Nothing - -instance Prelude'.Enum OccupancyStatus where - fromEnum EMPTY = 0 - fromEnum MANY_SEATS_AVAILABLE = 1 - fromEnum FEW_SEATS_AVAILABLE = 2 - fromEnum STANDING_ROOM_ONLY = 3 - fromEnum CRUSHED_STANDING_ROOM_ONLY = 4 - fromEnum FULL = 5 - fromEnum NOT_ACCEPTING_PASSENGERS = 6 - fromEnum NO_DATA_AVAILABLE = 7 - fromEnum NOT_BOARDABLE = 8 - toEnum - = P'.fromMaybe (Prelude'.error "hprotoc generated code: toEnum failure for type GTFS.Realtime.VehiclePosition.OccupancyStatus") . - toMaybe'Enum - succ EMPTY = MANY_SEATS_AVAILABLE - succ MANY_SEATS_AVAILABLE = FEW_SEATS_AVAILABLE - succ FEW_SEATS_AVAILABLE = STANDING_ROOM_ONLY - succ STANDING_ROOM_ONLY = CRUSHED_STANDING_ROOM_ONLY - succ CRUSHED_STANDING_ROOM_ONLY = FULL - succ FULL = NOT_ACCEPTING_PASSENGERS - succ NOT_ACCEPTING_PASSENGERS = NO_DATA_AVAILABLE - succ NO_DATA_AVAILABLE = NOT_BOARDABLE - succ _ = Prelude'.error "hprotoc generated code: succ failure for type GTFS.Realtime.VehiclePosition.OccupancyStatus" - pred MANY_SEATS_AVAILABLE = EMPTY - pred FEW_SEATS_AVAILABLE = MANY_SEATS_AVAILABLE - pred STANDING_ROOM_ONLY = FEW_SEATS_AVAILABLE - pred CRUSHED_STANDING_ROOM_ONLY = STANDING_ROOM_ONLY - pred FULL = CRUSHED_STANDING_ROOM_ONLY - pred NOT_ACCEPTING_PASSENGERS = FULL - pred NO_DATA_AVAILABLE = NOT_ACCEPTING_PASSENGERS - pred NOT_BOARDABLE = NO_DATA_AVAILABLE - pred _ = Prelude'.error "hprotoc generated code: pred failure for type GTFS.Realtime.VehiclePosition.OccupancyStatus" - -instance P'.Wire OccupancyStatus where - wireSize ft' enum = P'.wireSize ft' (Prelude'.fromEnum enum) - wirePut ft' enum = P'.wirePut ft' (Prelude'.fromEnum enum) - wireGet 14 = P'.wireGetEnum toMaybe'Enum - wireGet ft' = P'.wireGetErr ft' - wireGetPacked 14 = P'.wireGetPackedEnum toMaybe'Enum - wireGetPacked ft' = P'.wireGetErr ft' - -instance P'.GPB OccupancyStatus - -instance P'.MessageAPI msg' (msg' -> OccupancyStatus) OccupancyStatus where - getVal m' f' = f' m' - -instance P'.ReflectEnum OccupancyStatus where - reflectEnum - = [(0, "EMPTY", EMPTY), (1, "MANY_SEATS_AVAILABLE", MANY_SEATS_AVAILABLE), (2, "FEW_SEATS_AVAILABLE", FEW_SEATS_AVAILABLE), - (3, "STANDING_ROOM_ONLY", STANDING_ROOM_ONLY), (4, "CRUSHED_STANDING_ROOM_ONLY", CRUSHED_STANDING_ROOM_ONLY), - (5, "FULL", FULL), (6, "NOT_ACCEPTING_PASSENGERS", NOT_ACCEPTING_PASSENGERS), (7, "NO_DATA_AVAILABLE", NO_DATA_AVAILABLE), - (8, "NOT_BOARDABLE", NOT_BOARDABLE)] - reflectEnumInfo _ - = P'.EnumInfo - (P'.makePNF (P'.pack ".transit_realtime.VehiclePosition.OccupancyStatus") [] ["GTFS", "Realtime", "VehiclePosition"] - "OccupancyStatus") - ["GTFS", "Realtime", "VehiclePosition", "OccupancyStatus.hs"] - [(0, "EMPTY"), (1, "MANY_SEATS_AVAILABLE"), (2, "FEW_SEATS_AVAILABLE"), (3, "STANDING_ROOM_ONLY"), - (4, "CRUSHED_STANDING_ROOM_ONLY"), (5, "FULL"), (6, "NOT_ACCEPTING_PASSENGERS"), (7, "NO_DATA_AVAILABLE"), - (8, "NOT_BOARDABLE")] - Prelude'.False - -instance P'.TextType OccupancyStatus where - tellT = P'.tellShow - getT = P'.getRead \ No newline at end of file diff --git a/gtfs/GTFS/Realtime/VehiclePosition/VehicleStopStatus.hs b/gtfs/GTFS/Realtime/VehiclePosition/VehicleStopStatus.hs deleted file mode 100644 index 3bc70e5..0000000 --- a/gtfs/GTFS/Realtime/VehiclePosition/VehicleStopStatus.hs +++ /dev/null @@ -1,73 +0,0 @@ -{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings - #-} -{-# OPTIONS_GHC -w #-} -module GTFS.Realtime.VehiclePosition.VehicleStopStatus (VehicleStopStatus(..)) where -import Prelude ((+), (/), (.)) -import qualified Prelude as Prelude' -import qualified Data.List as Prelude' -import qualified Data.Typeable as Prelude' -import qualified GHC.Generics as Prelude' -import qualified Data.Data as Prelude' -import qualified Text.ProtocolBuffers.Header as P' - -data VehicleStopStatus = INCOMING_AT - | STOPPED_AT - | IN_TRANSIT_TO - deriving (Prelude'.Read, Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, - Prelude'.Generic) - -instance P'.Mergeable VehicleStopStatus - -instance Prelude'.Bounded VehicleStopStatus where - minBound = INCOMING_AT - maxBound = IN_TRANSIT_TO - -instance P'.Default VehicleStopStatus where - defaultValue = INCOMING_AT - -toMaybe'Enum :: Prelude'.Int -> P'.Maybe VehicleStopStatus -toMaybe'Enum 0 = Prelude'.Just INCOMING_AT -toMaybe'Enum 1 = Prelude'.Just STOPPED_AT -toMaybe'Enum 2 = Prelude'.Just IN_TRANSIT_TO -toMaybe'Enum _ = Prelude'.Nothing - -instance Prelude'.Enum VehicleStopStatus where - fromEnum INCOMING_AT = 0 - fromEnum STOPPED_AT = 1 - fromEnum IN_TRANSIT_TO = 2 - toEnum - = P'.fromMaybe (Prelude'.error "hprotoc generated code: toEnum failure for type GTFS.Realtime.VehiclePosition.VehicleStopStatus") - . toMaybe'Enum - succ INCOMING_AT = STOPPED_AT - succ STOPPED_AT = IN_TRANSIT_TO - succ _ = Prelude'.error "hprotoc generated code: succ failure for type GTFS.Realtime.VehiclePosition.VehicleStopStatus" - pred STOPPED_AT = INCOMING_AT - pred IN_TRANSIT_TO = STOPPED_AT - pred _ = Prelude'.error "hprotoc generated code: pred failure for type GTFS.Realtime.VehiclePosition.VehicleStopStatus" - -instance P'.Wire VehicleStopStatus where - wireSize ft' enum = P'.wireSize ft' (Prelude'.fromEnum enum) - wirePut ft' enum = P'.wirePut ft' (Prelude'.fromEnum enum) - wireGet 14 = P'.wireGetEnum toMaybe'Enum - wireGet ft' = P'.wireGetErr ft' - wireGetPacked 14 = P'.wireGetPackedEnum toMaybe'Enum - wireGetPacked ft' = P'.wireGetErr ft' - -instance P'.GPB VehicleStopStatus - -instance P'.MessageAPI msg' (msg' -> VehicleStopStatus) VehicleStopStatus where - getVal m' f' = f' m' - -instance P'.ReflectEnum VehicleStopStatus where - reflectEnum = [(0, "INCOMING_AT", INCOMING_AT), (1, "STOPPED_AT", STOPPED_AT), (2, "IN_TRANSIT_TO", IN_TRANSIT_TO)] - reflectEnumInfo _ - = P'.EnumInfo - (P'.makePNF (P'.pack ".transit_realtime.VehiclePosition.VehicleStopStatus") [] ["GTFS", "Realtime", "VehiclePosition"] - "VehicleStopStatus") - ["GTFS", "Realtime", "VehiclePosition", "VehicleStopStatus.hs"] - [(0, "INCOMING_AT"), (1, "STOPPED_AT"), (2, "IN_TRANSIT_TO")] - Prelude'.False - -instance P'.TextType VehicleStopStatus where - tellT = P'.tellShow - getT = P'.getRead \ No newline at end of file diff --git a/gtfs/Servant/GTFS/Realtime.hs b/gtfs/Servant/GTFS/Realtime.hs deleted file mode 100644 index 8923b92..0000000 --- a/gtfs/Servant/GTFS/Realtime.hs +++ /dev/null @@ -1,38 +0,0 @@ -{-# LANGUAGE FlexibleInstances #-} -{-# LANGUAGE MultiParamTypeClasses #-} -{-# LANGUAGE OverloadedStrings #-} -{-# LANGUAGE TypeApplications #-} -{-# LANGUAGE ScopedTypeVariables #-} -{-# LANGUAGE UndecidableInstances #-} - - -module Servant.GTFS.Realtime (Proto) where - -import Servant - ( MimeRender(..), - MimeUnrender(mimeUnrender), - Accept(contentType), - Proxy(Proxy) ) -import Text.ProtocolBuffers - ( Wire, ReflectDescriptor, messagePut, messageGet ) -import Network.HTTP.Media ((//)) -import Data.Either.Combinators (mapRight) -import Data.Swagger (ToSchema(..)) - - --- | A servant encoding for protobuf-encoded messages -data Proto - -instance Accept Proto where - contentType _ = "application" // "octet-stream" - -instance (Wire msg, ReflectDescriptor msg) => MimeUnrender Proto msg where - mimeUnrender _ = mapRight fst . messageGet @msg - -instance (Wire msg, ReflectDescriptor msg) => MimeRender Proto msg where - mimeRender _ = messagePut - --- TODO: this instance is horrible; ideally it should at least include --- the name of the message type (if at all possible) -instance {-# OVERLAPPABLE #-} Wire msg => ToSchema msg where - declareNamedSchema _ = declareNamedSchema (Proxy @String) diff --git a/lib/API.hs b/lib/API.hs index 5ea1c06..b0e12f6 100644 --- a/lib/API.hs +++ b/lib/API.hs @@ -2,7 +2,9 @@ {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE MultiParamTypeClasses #-} +{-# LANGUAGE TypeApplications #-} {-# LANGUAGE TypeOperators #-} +{-# LANGUAGE UndecidableInstances #-} -- | The sole authorative definition of this server's API, given as a Servant-style -- Haskell type. All other descriptions of the API are generated from this one. @@ -23,14 +25,16 @@ import Data.Time (Day, UTCTime) import Data.UUID (UUID) import Servant (Application, FormUrlEncoded, FromHttpApiData (parseUrlPiece), - MimeRender (..), Server, err401, + MimeRender (..), + MimeUnrender (..), Server, err401, err404, type (:>)) -import Servant.API (Capture, Get, JSON, MimeRender, +import Servant.API (Accept, Capture, Get, JSON, + MimeRender, MimeUnrender, NoContent, OctetStream, PlainText, Post, QueryParam, Raw, ReqBody, type (:<|>) (..)) import Servant.API.WebSocket (WebSocket) -import Servant.GTFS.Realtime (Proto) +-- import Servant.GTFS.Realtime (Proto) import Servant.Swagger (HasSwagger (..)) import Web.Internal.FormUrlEncoded (Form) @@ -38,14 +42,16 @@ import Control.Lens (At (at), (&), (?~)) import Data.Aeson (FromJSON (..), Value, genericParseJSON) import Data.ByteString (ByteString) +import qualified Data.ByteString.Lazy as LB import Data.HashMap.Strict.InsOrd (singleton) +import Data.ProtoLens (Message, encodeMessage) import GHC.Generics (Generic) import GTFS -import GTFS.Realtime.FeedEntity -import GTFS.Realtime.FeedMessage (FeedMessage) -import Prometheus - +import Network.HTTP.Media ((//)) import Persist +import Prometheus +import Proto.GtfsRealtime (FeedMessage) +import Servant.API.ContentTypes (Accept (..)) newtype RegisterJson = RegisterJson { registerAgent :: Text } @@ -117,3 +123,16 @@ instance HasSwagger WebSocket where } } +-- | A servant encoding for protobuf-encoded messages +data Proto + +instance Accept Proto where + contentType _ = "application" // "octet-stream" + +instance Message msg => MimeRender Proto msg where + mimeRender _ = LB.fromStrict . encodeMessage + +-- TODO: this instance is horrible; ideally it should at least include +-- the name of the message type (if at all possible) +instance {-# OVERLAPPABLE #-} Message msg => ToSchema msg where + declareNamedSchema _ = declareNamedSchema (Proxy @String) diff --git a/lib/Server/ControlRoom.hs b/lib/Server/ControlRoom.hs index 8fef7f9..402f0b8 100644 --- a/lib/Server/ControlRoom.hs +++ b/lib/Server/ControlRoom.hs @@ -48,7 +48,6 @@ import GHC.Generics (Generic) import Server.Util (Service, secondsNow) import Text.Blaze.Html (ToMarkup (..)) import Text.Blaze.Internal (MarkupM (Empty)) -import Text.ProtocolBuffers (Default (defaultValue)) import Text.Read (readMaybe) import Text.Shakespeare.Text import Yesod diff --git a/lib/Server/GTFS_RT.hs b/lib/Server/GTFS_RT.hs index 70f3c63..cfb02ce 100644 --- a/lib/Server/GTFS_RT.hs +++ b/lib/Server/GTFS_RT.hs @@ -1,113 +1,60 @@ -{-# LANGUAGE DataKinds #-} -{-# LANGUAGE NamedFieldPuns #-} -{-# LANGUAGE OverloadedLists #-} -{-# LANGUAGE OverloadedStrings #-} -{-# LANGUAGE RecordWildCards #-} -{-# LANGUAGE TupleSections #-} +{-# LANGUAGE DataKinds #-} +{-# LANGUAGE OverloadedLists #-} +{-# LANGUAGE OverloadedStrings #-} +{-# LANGUAGE PartialTypeSignatures #-} +{-# LANGUAGE RecordWildCards #-} +{-# LANGUAGE TupleSections #-} module Server.GTFS_RT (gtfsRealtimeServer) where -import Prelude hiding - (id) - -import API (GtfsRealtimeAPI) -import Control.Monad (forM) -import Control.Monad.IO.Class (MonadIO (..)) -import qualified Data.ByteString.Char8 as C8 -import Data.ByteString.Lazy (fromStrict) -import Data.Functor ((<&>)) -import qualified Data.Map as M -import Data.Maybe (catMaybes, - mapMaybe) -import Data.Pool (Pool) -import Data.Sequence (Seq) -import qualified Data.Sequence as Seq -import Data.Text (Text) -import qualified Data.Text as T -import Data.Text.Encoding (encodeUtf8) -import Data.Time.Calendar (Day, - toGregorian) -import Data.Time.Clock (UTCTime (utctDay), - addUTCTime, - getCurrentTime) -import Data.Time.Clock.POSIX (getPOSIXTime) -import Data.Time.Clock.System (SystemTime (systemSeconds), - getSystemTime, - utcToSystemTime) -import qualified Data.UUID as UUID -import Data.Word (Word64) -import Database.Persist (Entity (..), - PersistQueryRead (selectFirst), - selectList, - (==.)) -import Database.Persist.Postgresql (SqlBackend) -import GHC.Float (double2Float, - int2Double) -import GTFS (Depth (..), - GTFS (..), - Seconds (..), - Stop (..), - Trip (..), - TripID, - showTimeWithSeconds, - stationId, - toSeconds, - toUTC, - tripsOnDay) -import GTFS.Realtime.Alert as AL (Alert (..)) -import GTFS.Realtime.Alert.SeverityLevel (SeverityLevel (WARNING)) -import GTFS.Realtime.EntitySelector as ES (EntitySelector (..)) -import GTFS.Realtime.FeedEntity as FE (FeedEntity (..)) -import GTFS.Realtime.FeedHeader (FeedHeader (FeedHeader)) -import GTFS.Realtime.FeedHeader.Incrementality (Incrementality (FULL_DATASET)) -import GTFS.Realtime.FeedMessage as FM (FeedMessage (..)) -import GTFS.Realtime.Position as POS (Position (..)) -import GTFS.Realtime.TimeRange (TimeRange (TimeRange)) -import GTFS.Realtime.TranslatedString (TranslatedString (TranslatedString)) -import GTFS.Realtime.TranslatedString.Translation (Translation (Translation)) -import GTFS.Realtime.TripDescriptor as TD (TripDescriptor (..)) -import qualified GTFS.Realtime.TripDescriptor.ScheduleRelationship as TSR -import GTFS.Realtime.TripUpdate as TU (TripUpdate (..)) -import GTFS.Realtime.TripUpdate.StopTimeEvent as STE (StopTimeEvent (..)) -import GTFS.Realtime.TripUpdate.StopTimeUpdate as STU (StopTimeUpdate (..)) -import qualified GTFS.Realtime.TripUpdate.StopTimeUpdate.ScheduleRelationship as SR -import GTFS.Realtime.VehicleDescriptor as VD (VehicleDescriptor (..)) -import GTFS.Realtime.VehiclePosition as VP (VehiclePosition (..)) -import Persist (Announcement (..), - EntityField (..), - Key (..), - Running (..), - Token (..), - TrainAnchor (..), - TrainPing (..), - runSql) -import Servant.API ((:<|>) (..)) -import Text.ProtocolBuffers (Utf8 (Utf8), - defaultValue) - -import Control.Monad.Extra (mapMaybeM) -import Data.List.NonEmpty (nonEmpty) -import Data.Time.Format.ISO8601 (ISO8601 (iso8601Format), - iso8601Show) -import Data.UUID (toASCIIBytes, - toLazyASCIIBytes) -import qualified Data.Vector as V -import Extrapolation (Extrapolator (extrapolateAtPosition, extrapolateAtSeconds), - LinearExtrapolator (..)) -import GTFS.Realtime.TripUpdate (TripUpdate (TripUpdate)) -import Server.Util (Service, - secondsNow) - -uuidUtf8 :: UUID.UUID -> Utf8 -uuidUtf8 = Utf8 . fromStrict . UUID.toASCIIBytes - -toUtf8 :: Text -> Utf8 -toUtf8 = Utf8 . fromStrict . encodeUtf8 +import API (GtfsRealtimeAPI) +import Control.Lens ((&), (.~)) +import Control.Monad (forM) +import Control.Monad.Extra (mapMaybeM) +import Control.Monad.IO.Class (MonadIO (..)) +import Data.Functor ((<&>)) +import Data.List.NonEmpty (NonEmpty, nonEmpty) +import qualified Data.Map as M +import Data.Maybe (catMaybes, mapMaybe) +import Data.Pool (Pool) +import Data.ProtoLens (defMessage) +import Data.Text (Text) +import qualified Data.Text as T +import Data.Time.Calendar (Day, toGregorian) +import Data.Time.Clock (UTCTime (utctDay), addUTCTime, + getCurrentTime) +import Data.Time.Clock.System (SystemTime (systemSeconds), + getSystemTime, utcToSystemTime) +import Data.Time.Format.ISO8601 (iso8601Show) +import Data.UUID (toASCIIBytes, toLazyASCIIBytes) +import qualified Data.UUID as UUID +import qualified Data.Vector as V +import Database.Persist (Entity (..), + PersistQueryRead (selectFirst), + selectList, (==.)) +import Database.Persist.Postgresql (SqlBackend) +import Extrapolation (Extrapolator (extrapolateAtPosition, extrapolateAtSeconds), + LinearExtrapolator (..)) +import GHC.Float (double2Float, int2Double) +import GTFS (Depth (..), GTFS (..), + Seconds (..), Stop (..), + Trip (..), TripID, + showTimeWithSeconds, stationId, + toSeconds, toUTC, tripsOnDay) +import Persist (Announcement (..), + EntityField (..), Key (..), + Running (..), Token (..), + TrainAnchor (..), TrainPing (..), + runSql) +import qualified Proto.GtfsRealtime as RT +import qualified Proto.GtfsRealtime_Fields as RT +import Servant.API ((:<|>) (..)) +import Server.Util (Service, secondsNow) -- | formats a day in the "stupid" format used by gtfs realtime -toStupidDate :: Day -> Utf8 -toStupidDate date = toUtf8 - $ pad 4 year <> pad 2 month <> pad 2 day +toStupidDate :: Day -> Text +toStupidDate date = + pad 4 year <> pad 2 month <> pad 2 day where (year, month, day) = toGregorian date pad len num = T.pack $ if ndigits < len then replicate (len - ndigits) '0' <> show num @@ -119,173 +66,124 @@ toStupidTime :: Num i => UTCTime -> i toStupidTime = fromIntegral . systemSeconds . utcToSystemTime gtfsRealtimeServer :: GTFS -> Pool SqlBackend -> Service GtfsRealtimeAPI -gtfsRealtimeServer gtfs@GTFS{..} dbpool = handleServiceAlerts :<|> handleTripUpdates :<|> handleVehiclePositions - where handleServiceAlerts = runSql dbpool $ do - -- TODO filter: only select current & future days - announcements <- selectList [] [] - dFeedMessage $ Seq.fromList $ fmap mkAlert announcements - where mkAlert (Entity (AnnouncementKey uuid) Announcement{..}) = - (dFeedEntity (uuidUtf8 uuid)) - { alert = Just $ Alert - { active_period = [TimeRange Nothing Nothing defaultValue] - -- TODO: is this time range reasonable, needed, etc.? - , informed_entity = - [dEntitySelector - { ES.trip = - Just (dTripDescriptor announcementTrip (Just announcementDay) Nothing) - } - ] - , cause = Nothing - , effect = Nothing - , url = fmap (lang "de" . toUtf8) announcementUrl - , header_text = Just $ lang "de" (toUtf8 announcementHeader) - , description_text = Just $ lang "de" (toUtf8 announcementMessage) - , tts_header_text = Nothing - , tts_description_text = Nothing - , severity_level = Nothing - , image = Nothing - , image_alternative_text = Nothing - , AL.ext'field = defaultValue - } - } - - - handleTripUpdates = runSql dbpool $ do - today <- liftIO $ getCurrentTime <&> utctDay - nowSeconds <- secondsNow today - let running = M.toList $ tripsOnDay gtfs today - anchors <- flip mapMaybeM running $ \(tripId, trip@Trip{..}) -> do - entities <- selectList [TrainAnchorTrip ==. tripId, TrainAnchorDay ==. today] [] - case nonEmpty (fmap entityVal entities) of - Nothing -> pure Nothing - Just anchors -> - pure $ Just (tripId, trip, anchors) - - dFeedMessage $ Seq.fromList $ mapMaybe (mkTripUpdate today nowSeconds) anchors - where mkTripUpdate today nowSeconds (tripId :: Text, Trip{..} :: Trip Deep Deep, anchors) = - let lastCall = extrapolateAtSeconds LinearExtrapolator anchors nowSeconds - stations = tripStops - <&> (\stop@Stop{..} -> (, stop) <$> extrapolateAtPosition LinearExtrapolator anchors (int2Double stopSequence)) - (lastAnchor, lastStop) = V.last (V.catMaybes stations) - stillRunning = trainAnchorDelay lastAnchor + toSeconds (stopArrival lastStop) tzseries today - < nowSeconds + 5 * 60 - -- note: these IDs should be stable across iterations, so just do tripId + runningday. TODO: breaks in case of cross-midnight? - in if not stillRunning then Nothing else Just - (dFeedEntity (Utf8 $ fromStrict (encodeUtf8 tripId <> "-" <> C8.pack (iso8601Show today)))) - { FE.trip_update = Just $ TripUpdate - { TU.trip = dTripDescriptor tripId (Just today) (Just $ toUtf8 $ T.pack $ showTimeWithSeconds $ stopDeparture $ V.head tripStops) -- TODO will break if cross-midnight train - , TU.vehicle = Nothing - , TU.stop_time_update = Seq.fromList - $ fmap (\(TrainAnchor{..}, Stop{..}) -> StopTimeUpdate - { STU.stop_sequence = Just (fromIntegral stopSequence) - , STU.stop_id = Just (toUtf8 $ stationId stopStation) - , STU.arrival = Just ( - defaultValue - { STE.delay = Just $ fromIntegral $ unSeconds trainAnchorDelay - , STE.time = Just $ toStupidTime (addUTCTime (fromIntegral $ unSeconds trainAnchorDelay) (toUTC stopArrival tzseries today)) - , STE.uncertainty = Just 60 }) - , STU.departure = Just ( - defaultValue - { STE.delay = Just $ fromIntegral $ unSeconds trainAnchorDelay - , STE.time = Just $ toStupidTime (addUTCTime (fromIntegral $ unSeconds trainAnchorDelay) (toUTC stopDeparture tzseries today)) - , STE.uncertainty = Just 60 }) - , STU.departure_occupancy_status = Nothing - , STU.schedule_relationship = Just SR.SCHEDULED - , STU.stop_time_properties = Nothing - , STU.ext'field = defaultValue - }) - $ catMaybes $ V.toList stations - , TU.delay = Nothing -- lastCall <&> (fromIntegral . unSeconds . trainAnchorDelay) - , TU.timestamp = lastCall <&> (toStupidTime . trainAnchorCreated) - , TU.trip_properties = Nothing - , TU.ext'field = defaultValue - } - } - - handleVehiclePositions = runSql dbpool $ do - (running :: [Entity Running]) <- selectList [] [] - pings <- forM running $ \(Entity key entity) -> do - selectFirst [TrainPingToken ==. key] [] <&> fmap (, entity) - dFeedMessage $ Seq.fromList $ mkPosition <$> catMaybes pings - where mkPosition (Entity (TrainPingKey key) TrainPing{..}, Running{..}) = - (dFeedEntity (toUtf8 . T.pack . show $ key)) - { FE.vehicle = Just $ VehiclePosition - { trip = Just (dTripDescriptor runningTrip Nothing Nothing) - , VP.vehicle = case runningVehicle of - Nothing -> Nothing - Just trainset -> Just $ VehicleDescriptor - { VD.id = Nothing - , VD.label = Just (toUtf8 trainset) - , VD.license_plate = Nothing - , VD.ext'field = defaultValue - } - , position = Just $ Position - { latitude = double2Float trainPingLat - , longitude = double2Float trainPingLong - , odometer = Nothing - , speed = Nothing - , bearing = Nothing - , POS.ext'field = defaultValue - } - -- TODO: at least one of these should probably be given - , current_stop_sequence = Nothing - , stop_id = Nothing - , current_status = Nothing - , timestamp = Just (toStupidTime trainPingTimestamp) - , congestion_level = Nothing - , occupancy_status = Nothing - , occupancy_percentage = Nothing - , multi_carriage_details = [] - , VP.ext'field = defaultValue - } - } - - -lang :: Utf8 -> Utf8 -> TranslatedString -lang code msg = TranslatedString [Translation msg (Just code) defaultValue] defaultValue - --- | a default FeedMessage, issued at the current system time --- TODO: do we ever need incremental updates? --- TODO: maybe instead use last update time? -dFeedMessage :: MonadIO m => Seq FeedEntity -> m FeedMessage -dFeedMessage entities = do +gtfsRealtimeServer gtfs@GTFS{..} dbpool = + handleServiceAlerts :<|> handleTripUpdates :<|> handleVehiclePositions + where + handleServiceAlerts = runSql dbpool $ do + announcements <- selectList [] [] + defFeedMessage (fmap mkAlert announcements) + + where + mkAlert :: Entity Announcement -> RT.FeedEntity + mkAlert (Entity (AnnouncementKey uuid) Announcement{..}) = + defMessage + & RT.id .~ UUID.toText uuid + & RT.alert .~ (defMessage + & RT.activePeriod .~ [ defMessage :: RT.TimeRange ] + & RT.informedEntity .~ [ defMessage + & RT.trip .~ defTripDescriptor announcementTrip (Just announcementDay) Nothing + ] + & RT.maybe'url .~ fmap (monolingual "de") announcementUrl + & RT.headerText .~ monolingual "de" announcementHeader + & RT.descriptionText .~ monolingual "de" announcementMessage + ) + + handleTripUpdates = runSql dbpool $ do + today <- liftIO $ getCurrentTime <&> utctDay + nowSeconds <- secondsNow today + let running = M.toList (tripsOnDay gtfs today) + anchors <- flip mapMaybeM running $ \(tripId, trip@Trip{..}) -> do + entities <- selectList [TrainAnchorTrip ==. tripId, TrainAnchorDay ==. today] [] + case nonEmpty (fmap entityVal entities) of + Nothing -> pure Nothing + Just anchors -> pure $ Just (tripId, trip, anchors) + + defFeedMessage (mapMaybe (mkTripUpdate today nowSeconds) anchors) + where + mkTripUpdate :: Day -> Seconds -> (Text, Trip 'Deep 'Deep, NonEmpty TrainAnchor) -> Maybe RT.FeedEntity + mkTripUpdate today nowSeconds (tripId :: Text, Trip{..} :: Trip Deep Deep, anchors) = + let lastCall = extrapolateAtSeconds LinearExtrapolator anchors nowSeconds + stations = tripStops + <&> (\stop@Stop{..} -> (, stop) + <$> extrapolateAtPosition LinearExtrapolator anchors (int2Double stopSequence)) + (lastAnchor, lastStop) = V.last (V.catMaybes stations) + stillRunning = trainAnchorDelay lastAnchor + toSeconds (stopArrival lastStop) tzseries today + < nowSeconds + 5 * 60 + in if not stillRunning then Nothing else Just $ defMessage + & RT.id .~ (tripId <> "-" <> T.pack (iso8601Show today)) + & RT.tripUpdate .~ (defMessage + & RT.trip .~ defTripDescriptor tripId (Just today) (Just $ T.pack (showTimeWithSeconds $ stopDeparture $ V.head tripStops)) + & RT.stopTimeUpdate .~ fmap mkStopTimeUpdate (catMaybes $ V.toList stations) + & RT.maybe'delay .~ Nothing -- lastCall <&> (fromIntegral . unSeconds . trainAnchorDelay) + & RT.maybe'timestamp .~ fmap (toStupidTime . trainAnchorCreated) lastCall + ) + where + mkStopTimeUpdate :: (TrainAnchor, Stop Deep) -> RT.TripUpdate'StopTimeUpdate + mkStopTimeUpdate (TrainAnchor{..}, Stop{..}) = defMessage + & RT.stopSequence .~ fromIntegral stopSequence + & RT.stopId .~ stationId stopStation + & RT.arrival .~ (defMessage + & RT.delay .~ fromIntegral (unSeconds trainAnchorDelay) + & RT.time .~ toStupidTime (addUTCTime + (fromIntegral $ unSeconds trainAnchorDelay) + (toUTC stopArrival tzseries today)) + & RT.uncertainty .~ 60 + ) + & RT.departure .~ (defMessage + & RT.delay .~ fromIntegral (unSeconds trainAnchorDelay) + & RT.time .~ toStupidTime (addUTCTime + (fromIntegral $ unSeconds trainAnchorDelay) + (toUTC stopDeparture tzseries today)) + & RT.uncertainty .~ 60 + ) + & RT.scheduleRelationship .~ RT.TripUpdate'StopTimeUpdate'SCHEDULED + + handleVehiclePositions = runSql dbpool $ do + (running :: [Entity Running]) <- selectList [] [] + pings <- forM running $ \(Entity key entity) -> do + selectFirst [TrainPingToken ==. key] [] <&> fmap (, entity) + defFeedMessage (mkPosition <$> catMaybes pings) + + where + mkPosition :: (Entity TrainPing, Running) -> RT.FeedEntity + mkPosition (Entity (TrainPingKey key) TrainPing{..}, Running{..}) = defMessage + & RT.id .~ T.pack (show key) + & RT.vehicle .~ (defMessage + & RT.trip .~ defTripDescriptor runningTrip Nothing Nothing + & RT.maybe'vehicle .~ case runningVehicle of + Nothing -> Nothing + Just trainset -> Just $ defMessage + & RT.label .~ trainset + & RT.position .~ (defMessage + & RT.latitude .~ double2Float trainPingLat + & RT.longitude .~ double2Float trainPingLong + ) + -- TODO: should probably give currentStopSequence/stopId here as well + & RT.timestamp .~ toStupidTime trainPingTimestamp + ) + + +monolingual :: Text -> Text -> RT.TranslatedString +monolingual code msg = defMessage & RT.translation .~ [ + defMessage + & RT.text .~ msg + & RT.language .~ code + ] + +defFeedMessage :: MonadIO m => [RT.FeedEntity] -> m RT.FeedMessage +defFeedMessage entities = do now <- liftIO getSystemTime <&> systemSeconds - pure $ FeedMessage - { header = FeedHeader "2.0" (Just FULL_DATASET) (Just $ fromIntegral now) defaultValue - , entity = entities - , FM.ext'field = defaultValue - } - --- | a dummy FeedEntity (use record updates to add meaningful values to this) -dFeedEntity :: Utf8 -> FeedEntity -dFeedEntity id = FeedEntity - { id - , is_deleted = Nothing - , trip_update = Nothing - , vehicle = Nothing - , alert = Nothing - , shape = Nothing - , FE.ext'field = defaultValue - } - -dEntitySelector :: EntitySelector -dEntitySelector = EntitySelector - { agency_id = Nothing - , route_id = Nothing - , route_type = Nothing - , trip = Nothing - , stop_id = Nothing - , direction_id = Nothing - , ES.ext'field = defaultValue - } - -dTripDescriptor :: TripID -> Maybe Day -> Maybe Utf8 -> TripDescriptor -dTripDescriptor tripID day starttime = TripDescriptor - { trip_id = Just (toUtf8 tripID) - , route_id = Nothing - , direction_id = Nothing - , start_time = starttime - , start_date = fmap toStupidDate day - , schedule_relationship = Just TSR.SCHEDULED - , TD.ext'field = defaultValue - } + pure $ defMessage + & RT.header .~ (defMessage + & RT.gtfsRealtimeVersion .~ "2.0" + & RT.incrementality .~ RT.FeedHeader'FULL_DATASET + & RT.timestamp .~ fromIntegral now + ) + & RT.entity .~ entities + +defTripDescriptor :: TripID -> Maybe Day -> Maybe Text -> RT.TripDescriptor +defTripDescriptor tripId day starttime = defMessage + & RT.tripId .~ tripId + & RT.scheduleRelationship .~ RT.TripDescriptor'SCHEDULED + & RT.maybe'startTime .~ starttime + & RT.maybe'startDate .~ fmap toStupidDate day diff --git a/tracktrain.cabal b/tracktrain.cabal index d1acb1c..e763f6d 100644 --- a/tracktrain.cabal +++ b/tracktrain.cabal @@ -24,8 +24,8 @@ extra-source-files: CHANGELOG.md executable tracktrain main-is: Main.hs ghc-options: -threaded -rtsopts - build-depends: base ^>=4.15.1.0 - , bytestring >= 0.10.10.0 + build-depends: base ^>=4.17 + , bytestring ^>= 0.11 , fmt >= 0.6.3.0 , time , aeson @@ -35,13 +35,13 @@ executable tracktrain , data-default-class >= 0.1.2 , persistent-postgresql , monad-logger - , gtfs - , protocol-buffers + , gtfs-realtime , conferer , conferer-aeson , conferer-yaml , directory , extra + , proto-lens hs-source-dirs: app default-language: Haskell2010 default-extensions: OverloadedStrings @@ -49,12 +49,11 @@ executable tracktrain library - build-depends: base ^>=4.15.1.0 - , gtfs - , protocol-buffers + build-depends: base ^>=4.17 + , gtfs-realtime , zip-archive , cassava >= 0.5.2.0 - , bytestring >= 0.10.10.0 + , bytestring ^>= 0.11 , uri-bytestring , vector >= 0.12.3.1 , regex-tdfa @@ -94,7 +93,7 @@ library , yesod-auth , yesod-auth-oauth2 , yesod-core - , hoauth2 <= 2.6.0 + , hoauth2 , blaze-html , blaze-markup , timezone-olson @@ -104,6 +103,8 @@ library , prometheus-client , prometheus-metrics-ghc , exceptions + , proto-lens + , http-media hs-source-dirs: lib exposed-modules: GTFS , Server @@ -122,46 +123,10 @@ library , ScopedTypeVariables , ViewPatterns -library gtfs - build-depends: base ^>=4.15.1.0 - , protocol-buffers - , protocol-buffers-descriptor - , servant - , servant-server - , http-media - , either - , swagger2 +library gtfs-realtime + build-depends: base ^>=4.17 + , proto-lens-runtime default-language: Haskell2010 - hs-source-dirs: gtfs - exposed-modules: GTFS.Realtime - , GTFS.Realtime.Alert - , GTFS.Realtime.Alert.Cause - , GTFS.Realtime.Alert.Effect - , GTFS.Realtime.Alert.SeverityLevel - , GTFS.Realtime.EntitySelector - , GTFS.Realtime.FeedEntity - , GTFS.Realtime.FeedHeader - , GTFS.Realtime.FeedHeader.Incrementality - , GTFS.Realtime.FeedMessage - , GTFS.Realtime.Position - , GTFS.Realtime.Shape - , GTFS.Realtime.TimeRange - , GTFS.Realtime.TranslatedImage - , GTFS.Realtime.TranslatedImage.LocalizedImage - , GTFS.Realtime.TranslatedString - , GTFS.Realtime.TranslatedString.Translation - , GTFS.Realtime.TripDescriptor - , GTFS.Realtime.TripDescriptor.ScheduleRelationship - , GTFS.Realtime.TripUpdate - , GTFS.Realtime.TripUpdate.StopTimeEvent - , GTFS.Realtime.TripUpdate.StopTimeUpdate - , GTFS.Realtime.TripUpdate.StopTimeUpdate.ScheduleRelationship - , GTFS.Realtime.TripUpdate.StopTimeUpdate.StopTimeProperties - , GTFS.Realtime.TripUpdate.TripProperties - , GTFS.Realtime.VehicleDescriptor - , GTFS.Realtime.VehiclePosition - , GTFS.Realtime.VehiclePosition.CarriageDetails - , GTFS.Realtime.VehiclePosition.CongestionLevel - , GTFS.Realtime.VehiclePosition.OccupancyStatus - , GTFS.Realtime.VehiclePosition.VehicleStopStatus - , Servant.GTFS.Realtime + hs-source-dirs: gtfs-realtime + exposed-modules: Proto.GtfsRealtime + , Proto.GtfsRealtime_Fields -- cgit v1.2.3