Created
February 26, 2023 20:11
-
-
Save mcat/ccfb247c66d74958e6e36f047db7d8c5 to your computer and use it in GitHub Desktop.
Revisions
-
mcat created this gist
Feb 26, 2023 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,1580 @@ openapi: 3.0.0 info: title: Captivate API description: The World's Only Growth-Oriented Podcast Host.™ version: 1.0.0 servers: - url: http://{{url}} components: securitySchemes: bearerAuth: type: http scheme: bearer security: - bearerAuth: [] tags: - name: Authentication - name: Users - name: Shows - name: Episodes - name: Media - name: Analytics paths: /authenticate/token: post: tags: - Authentication summary: Authenticate User description: >- All requests must be authenticated using the token for the user, you can get the token for the user via this request using the users ID and their API token. requestBody: content: multipart/form-data: schema: type: object properties: username: type: string description: >- This is the user ID in the users API section of their dashboard. example: '{{USERID}}' token: type: string description: >- This is the API token in the users API section of their dashboard. example: '{{USERTOKEN}}' responses: '200': description: OK headers: Access-Control-Allow-Methods: schema: type: string example: POST, PUT, OPTIONS, DELETE, GET Access-Control-Allow-Origin: schema: type: string example: '*' Access-Control-Allow-Headers: schema: type: string example: >- Origin, X-Requested-With, Cache-Control, Content-Type, Accept, Authorization Vary: schema: type: string example: X-HTTP-Method-Override, Accept-Encoding Content-Type: schema: type: string example: application/json; charset=utf-8 Content-Length: schema: type: integer example: '1022' ETag: schema: type: string example: W/"3fe-DftzO8QOhevluDXeQNqWegsNjos" Date: schema: type: string example: Mon, 07 Oct 2019 13:09:14 GMT Connection: schema: type: string example: keep-alive content: application/json: schema: type: object example: user: id: '{{USERID}}' email: [email protected] status: active admin: 0 first_name: Demo last_name: User default_show: xxxxxx-xxxx-xxxxx default_show_order: created created: '0000-00-00T00:00:00.000Z' profile_picture: >- https://media.captivate.fm/profile_picture/xxxxxx-xxxx-xxxxx/example.jpg token: >- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX /users/{id}: get: tags: - Users summary: Get User security: - bearerAuth: [] parameters: - name: id in: path schema: type: string required: true description: The ID of the user we want to get. example: '{{USERID}}' responses: '200': description: OK headers: Access-Control-Allow-Methods: schema: type: string example: POST, PUT, PATCH, OPTIONS, DELETE, GET Access-Control-Allow-Origin: schema: type: string example: '*' Access-Control-Allow-Headers: schema: type: string example: >- Origin, X-Requested-With, Cache-Control, Content-Type, Accept, Authorization Content-Type: schema: type: string example: application/hal+json; charset=utf-8 ETag: schema: type: string example: W/"4c8-7u2vqNWuZ/s3e4Vjt7KDZGwsgNQ" Vary: schema: type: string example: Accept-Encoding Content-Encoding: schema: type: string example: gzip Date: schema: type: string example: Wed, 08 Dec 2021 08:01:01 GMT Connection: schema: type: string example: keep-alive Keep-Alive: schema: type: string example: timeout=5 Transfer-Encoding: schema: type: string example: chunked content: application/json: schema: type: object example: _links: self: href: /users/{{USERID}} user: additional_label_1: null additional_url_1: https://rebelbasemedia.io admin: 1 biography: '' created: '2021-06-28T12:15:32.000Z' default_show: '{{SHOWID}}' default_show_order: published_date email: [email protected] fb_group_url: http://facebook.com/mygroup fb_id: null fb_page_url: http://facebook.com/mypage first_name: Ed google_id: null id: '{{USERID}}' insta_username: myinstagram last_login: '2021-12-06T12:33:57.000Z' last_name: Townend last_updated: '2021-12-08T07:57:31.000Z' linkedin_url: http://linkedin.com/myprofile onboarded: 1 profile_picture: https://media.captivate.fm/profile_picture/xxx/xxx.png pw_id: null status: active twitter_username: mytwitter youtube_url: https://www.youtube.com/c/RebelBaseMedia /users/{id}/shows: get: tags: - Users summary: Get Users Shows description: The shows that this user can access to regardless of what role they are. security: - bearerAuth: [] parameters: - name: id in: path schema: type: string required: true description: The ID of the user whos shows you want to view. example: '{{USERID}}' responses: '200': description: OK headers: Access-Control-Allow-Methods: schema: type: string example: POST, PUT, PATCH, OPTIONS, DELETE, GET Access-Control-Allow-Origin: schema: type: string example: '*' Access-Control-Allow-Headers: schema: type: string example: >- Origin, X-Requested-With, Cache-Control, Content-Type, Accept, Authorization Content-Type: schema: type: string example: application/hal+json; charset=utf-8 ETag: schema: type: string example: W/"962-gpQSqr3xmGhFovNqNjm0RGSsMM8" Vary: schema: type: string example: Accept-Encoding Content-Encoding: schema: type: string example: gzip Date: schema: type: string example: Wed, 08 Dec 2021 08:27:49 GMT Connection: schema: type: string example: keep-alive Keep-Alive: schema: type: string example: timeout=5 Transfer-Encoding: schema: type: string example: chunked content: application/json: schema: type: object example: _links: self: href: /users/{{USERID}}/shows shows: - artwork: https://artwork.captivate.fm/xxx/xxx.png id: '{{SHOWID}}' title: Show title description: All about my show created: '2021-06-28T12:25:35.000Z' import: '0' failed_import: 0 imported_rss_feed: null status: active private: 0 time_zone: Europe/Isle_of_Man role: owner author: Mr. Happy import_errors: null team: - first_name: James last_name: Brown profile_picture: https://media.captivate.fm/profile_picture/xxx/xxx.png role: owner - first_name: Peter last_name: Pan profile_picture: null role: custom success: true /shows/{id}/: get: tags: - Shows summary: Get Show description: Get the show information by the show ID. security: - bearerAuth: [] parameters: - name: id in: path schema: type: string required: true description: The ID of the show you are trying to view. example: '{{SHOWID}}' responses: '200': description: OK headers: Access-Control-Allow-Methods: schema: type: string example: POST, PUT, PATCH, OPTIONS, DELETE, GET Access-Control-Allow-Origin: schema: type: string example: '*' Access-Control-Allow-Headers: schema: type: string example: >- Origin, X-Requested-With, Cache-Control, Content-Type, Accept, Authorization Content-Type: schema: type: string example: application/hal+json; charset=utf-8 ETag: schema: type: string example: W/"c53-AiKhZIEoEBvcgRwb3XqrUwqplEs" Vary: schema: type: string example: Accept-Encoding Content-Encoding: schema: type: string example: gzip Date: schema: type: string example: Wed, 08 Dec 2021 08:59:00 GMT Connection: schema: type: string example: keep-alive Keep-Alive: schema: type: string example: timeout=5 Transfer-Encoding: schema: type: string example: chunked content: application/json: schema: type: object example: _links: self: href: /shows/{{SHOWID}} success: true show: id: '{{SHOWID}}' created: '2021-07-08T13:46:26.000Z' last_feed_generation: '2021-12-07T14:21:53.000Z' status: active title: My Show artwork: https://artwork.captivate.fm/xxx/xxx.png link: https://www.myshow.org description: About my show categories: '["05.03","12.09","02.08"]' google_categories: null order: DESC summary: Summary of my show author: Podcast Inc. subtitle: Become an expert podcasting copyright: Podcast Inc, 2020 name: Podcast Inc. itunes_email: [email protected] explicit: clean limit: 266 type: episodic keywords: '' donation_link: '' donation_text: '' site_id: null file_name: xxx.jpg season: episodic time_zone: America/Fort_Nelson import: '1' failed_import: 0 imported_from: Libsyn third_party_analytics: 'null' prefixes: '[]' spotify_uri: null spotify_status: null default_time: '' imported_rss_feed: http://myshow.libsyn.com/rss complete_show: null language: en pw_site_id: null pw_client_id: null transparency_mode: 0 audience_avatar: '' captivate_sync_url: null amazon_submitted: null country_of_origin: null gaana_submitted: null jiosaavn_submitted: null podcast_index_submitted: null player_fm_submitted: null import_cancel_key: xxx private: 0 deezer_submitted: null import_errors: null google_block: null itunes_block: null default_pre_roll_media_id: null default_post_roll_media_id: null feature_preview: 1 default_shownotes_template: new-default amie_bulk_edit_count: 0 show_link: my-show enabled_site: 1 custom_domain: null sync_enabled: 1 sync_webhook: http://myshow.org/wp-json/captivate-sync/v1/sync network_id: '{{NETWORKID}}' /shows/{id}/feed: get: tags: - Shows summary: Get Show Feed URL description: >- You can easily get the RSS feed URL for this particular show running this route. security: - bearerAuth: [] parameters: - name: id in: path schema: type: string required: true description: The ID of the show you want to get the RSS feed for. example: '{{SHOWID}}' responses: '200': description: OK headers: Access-Control-Allow-Methods: schema: type: string example: POST, PUT, OPTIONS, DELETE, GET Access-Control-Allow-Origin: schema: type: string example: '*' Access-Control-Allow-Headers: schema: type: string example: >- Origin, X-Requested-With, Cache-Control, Content-Type, Accept, Authorization Content-Type: schema: type: string example: application/hal+json; charset=utf-8 Content-Length: schema: type: integer example: '160' ETag: schema: type: string example: W/"a0-O2UI6f8icdXWX2YITycNXGRjdtQ" Vary: schema: type: string example: Accept-Encoding Date: schema: type: string example: Tue, 08 Oct 2019 21:25:36 GMT Connection: schema: type: string example: keep-alive content: application/json: schema: type: object example: feed: https://feeds.captivate.fm/xxxxxxxxx/ /insights/{SHOWID}/overview: get: tags: - Analytics summary: Get Overview Analytics for Podcast parameters: - name: start in: query schema: type: string description: (optional) Select the startpoint for the period example: '{{START_DATE}}' - name: end in: query schema: type: string description: (optional) Select the endpoint for the period example: '{{END_DATE}}' - name: includeTopEpisodes in: query schema: type: boolean description: >- (optional) Get top episodes in terms of downloads over the given period example: 'true' - name: SHOWID in: path schema: type: string required: true responses: '200': description: Successful response content: application/json: {} /insights/{SHOWID}/overview/{EPISODEID}: get: tags: - Analytics summary: Get Overview Analytics for a specific Episode parameters: - name: start in: query schema: type: string description: (optional) Select the startpoint for the period example: '{{START_DATE}}' - name: end in: query schema: type: string description: (optional) Select the endpoint for the period example: '{{END_DATE}}' - name: SHOWID in: path schema: type: string required: true - name: EPISODEID in: path schema: type: string required: true responses: '200': description: OK headers: Access-Control-Allow-Methods: schema: type: string example: POST, PUT, PATCH, OPTIONS, DELETE, GET Access-Control-Allow-Origin: schema: type: string example: '*' Access-Control-Allow-Headers: schema: type: string example: >- Origin, X-Requested-With, Cache-Control, Content-Type, Accept, Authorization Content-Type: schema: type: string example: application/json; charset=utf-8 Content-Length: schema: type: integer example: '33' ETag: schema: type: string example: W/"21-1/1Ep2IFJUVQ07Qe952Pvcnbkdc" cache-control: schema: type: string example: max-age=5 Vary: schema: type: string example: Accept-Encoding Date: schema: type: string example: Tue, 01 Nov 2022 11:41:56 GMT Connection: schema: type: string example: keep-alive Keep-Alive: schema: type: string example: timeout=5 content: application/json: schema: type: object example: hits: 61 unique_listeners: 59 /insights/{SHOWID}/averages: get: tags: - Analytics summary: Get Average Analytics for Podcast parameters: - name: intervalDays in: query schema: type: integer description: >- The length of the interval in days which will be used for the average. example: '28' - name: SHOWID in: path schema: type: string required: true responses: '200': description: OK headers: Access-Control-Allow-Methods: schema: type: string example: POST, PUT, PATCH, OPTIONS, DELETE, GET Access-Control-Allow-Origin: schema: type: string example: '*' Access-Control-Allow-Headers: schema: type: string example: >- Origin, X-Requested-With, Cache-Control, Content-Type, Accept, Authorization Content-Type: schema: type: string example: application/json; charset=utf-8 Content-Length: schema: type: integer example: '67' ETag: schema: type: string example: W/"43-C4C43U4IEwbKM9NUPxS4Jr0YPpE" cache-control: schema: type: string example: max-age=5 Vary: schema: type: string example: Accept-Encoding Date: schema: type: string example: Tue, 01 Nov 2022 11:39:48 GMT Connection: schema: type: string example: keep-alive Keep-Alive: schema: type: string example: timeout=5 content: application/json: schema: type: object example: hits: 34503 average: 757 numberOfIntervals: 45.607142857142854 /insights/{SHOWID}/total: get: tags: - Analytics summary: Get All-Time Total for Podcast parameters: - name: SHOWID in: path schema: type: string required: true responses: '200': description: OK headers: Access-Control-Allow-Methods: schema: type: string example: POST, PUT, PATCH, OPTIONS, DELETE, GET Access-Control-Allow-Origin: schema: type: string example: '*' Access-Control-Allow-Headers: schema: type: string example: >- Origin, X-Requested-With, Cache-Control, Content-Type, Accept, Authorization Content-Type: schema: type: string example: application/json; charset=utf-8 Content-Length: schema: type: integer example: '14' ETag: schema: type: string example: W/"e-jYMQzJqZ/Yk5NFpNjKt7XGXr8QM" cache-control: schema: type: string example: max-age=5 Vary: schema: type: string example: Accept-Encoding Date: schema: type: string example: Tue, 01 Nov 2022 11:51:34 GMT Connection: schema: type: string example: keep-alive Keep-Alive: schema: type: string example: timeout=5 content: application/json: schema: type: object example: hits: 34503 /insights/{SHOWID}/total/{EPISODEID}: get: tags: - Analytics summary: Get All-Time Total for Episode parameters: - name: SHOWID in: path schema: type: string required: true - name: EPISODEID in: path schema: type: string required: true responses: '200': description: OK headers: Access-Control-Allow-Methods: schema: type: string example: POST, PUT, PATCH, OPTIONS, DELETE, GET Access-Control-Allow-Origin: schema: type: string example: '*' Access-Control-Allow-Headers: schema: type: string example: >- Origin, X-Requested-With, Cache-Control, Content-Type, Accept, Authorization Content-Type: schema: type: string example: application/json; charset=utf-8 Content-Length: schema: type: integer example: '11' ETag: schema: type: string example: W/"b-QirWq4YbPwihNE3VaLP6AxAfgW4" cache-control: schema: type: string example: max-age=5 Vary: schema: type: string example: Accept-Encoding Date: schema: type: string example: Tue, 01 Nov 2022 11:53:07 GMT Connection: schema: type: string example: keep-alive Keep-Alive: schema: type: string example: timeout=5 content: application/json: schema: type: object example: hits: 73 /insights/{SHOWID}/monthly: get: tags: - Analytics summary: Get Month-by-Month Analytics for Podcast parameters: - name: SHOWID in: path schema: type: string required: true responses: '200': description: OK headers: Access-Control-Allow-Methods: schema: type: string example: POST, PUT, PATCH, OPTIONS, DELETE, GET Access-Control-Allow-Origin: schema: type: string example: '*' Access-Control-Allow-Headers: schema: type: string example: >- Origin, X-Requested-With, Cache-Control, Content-Type, Accept, Authorization Content-Type: schema: type: string example: application/json; charset=utf-8 Content-Length: schema: type: integer example: '443' ETag: schema: type: string example: W/"1bb-PFVejSmkVQrberpjMGJKKzT92yA" cache-control: schema: type: string example: max-age=5 Vary: schema: type: string example: Accept-Encoding Date: schema: type: string example: Tue, 01 Nov 2022 11:58:58 GMT Connection: schema: type: string example: keep-alive Keep-Alive: schema: type: string example: timeout=5 content: application/json: schema: type: object example: past_12_months: - x: November 2021 'y': 678 - x: December 2021 'y': 492 - x: January 2022 'y': 727 - x: February 2022 'y': 691 - x: March 2022 'y': 573 - x: April 2022 'y': 945 - x: May 2022 'y': 663 - x: June 2022 'y': 672 - x: July 2022 'y': 1043 - x: August 2022 'y': 389 - x: September 2022 'y': 583 - x: October 2022 'y': 583 - x: November 2022 'y': 4 this_month: 4 total_downloads_in_past_12_months: 8043 /insights/{SHOWID}/monthly/{EPISODEID}: get: tags: - Analytics summary: Get Month-by-Month Analytics for Episode parameters: - name: SHOWID in: path schema: type: string required: true - name: EPISODEID in: path schema: type: string required: true responses: '200': description: OK headers: Access-Control-Allow-Methods: schema: type: string example: POST, PUT, PATCH, OPTIONS, DELETE, GET Access-Control-Allow-Origin: schema: type: string example: '*' Access-Control-Allow-Headers: schema: type: string example: >- Origin, X-Requested-With, Cache-Control, Content-Type, Accept, Authorization Content-Type: schema: type: string example: application/json; charset=utf-8 Content-Length: schema: type: integer example: '417' ETag: schema: type: string example: W/"1a1-+WJhDkZijzYt7ZxUKGGSqPNHpdk" cache-control: schema: type: string example: max-age=5 Vary: schema: type: string example: Accept-Encoding Date: schema: type: string example: Tue, 01 Nov 2022 11:59:41 GMT Connection: schema: type: string example: keep-alive Keep-Alive: schema: type: string example: timeout=5 content: application/json: schema: type: object example: past_12_months: - x: November 2021 'y': 0 - x: December 2021 'y': 0 - x: January 2022 'y': 0 - x: February 2022 'y': 0 - x: March 2022 'y': 0 - x: April 2022 'y': 0 - x: May 2022 'y': 0 - x: June 2022 'y': 0 - x: July 2022 'y': 0 - x: August 2022 'y': 0 - x: September 2022 'y': 70 - x: October 2022 'y': 3 - x: November 2022 'y': 0 this_month: 0 total_downloads_in_past_12_months: 73 /insights/{SHOWID}/range: post: tags: - Analytics summary: Get Analytics in Range for Podcast requestBody: content: application/json: schema: type: object example: start: '{{START_DATE}}' end: '{{END_DATE}}' interval: 1d timezone: America/New_York countryCode: null types: - byLocation - byUserAgentBrowser - byUserAgentOs - byUserAgentDevice - byEpisode - byPrivateSubscriber parameters: - name: SHOWID in: path schema: type: string required: true responses: '200': description: Successful response content: application/json: {} /insights/{SHOWID}/range/{EPISODEID}: post: tags: - Analytics summary: Get Analytics in Range for Episode requestBody: content: application/json: schema: type: object example: start: '{{START_DATE}}' end: '{{END_DATE}}' interval: 1d timezone: America/New_York countryCode: null types: - byLocation - byUserAgentBrowser - byUserAgentOs - byUserAgentDevice - byPrivateSubscriber parameters: - name: SHOWID in: path schema: type: string required: true - name: EPISODEID in: path schema: type: string required: true responses: '200': description: Successful response content: application/json: {} /insights/{SHOWID}/compare: post: tags: - Analytics summary: Get Analytics Comparison between Episodes requestBody: content: application/json: schema: type: object example: - id: '{{EPISODE_ID}}' title: My Episode Title published_date: '{{END_DATE}}' - id: '{{EPISODE_ID}}' title: My Episode Title 2 published_date: '{{START_DATE}}' parameters: - name: SHOWID in: path schema: type: string required: true responses: '200': description: Successful response content: application/json: {} /insights/{SHOWID}/web-player/{EPISODEID}: post: tags: - Analytics summary: Get Web Player Analytics for Podcast requestBody: content: application/json: schema: type: object example: dateRange: gte: '{{START_DATE}}' lte: '{{END_DATE}}' duration: '1700' timezone: America/New_York parameters: - name: SHOWID in: path schema: type: string required: true - name: EPISODEID in: path schema: type: string required: true responses: '200': description: OK headers: Access-Control-Allow-Methods: schema: type: string example: POST, PUT, PATCH, OPTIONS, DELETE, GET Access-Control-Allow-Origin: schema: type: string example: '*' Access-Control-Allow-Headers: schema: type: string example: >- Origin, X-Requested-With, Cache-Control, Content-Type, Accept, Authorization Vary: schema: type: string example: X-HTTP-Method-Override, Accept-Encoding Content-Type: schema: type: string example: application/json; charset=utf-8 ETag: schema: type: string example: W/"f43-50H5g3tH2qioTxHChqbnfk9FiwE" cache-control: schema: type: string example: max-age=5 Content-Encoding: schema: type: string example: gzip Date: schema: type: string example: Tue, 01 Nov 2022 15:59:08 GMT Connection: schema: type: string example: keep-alive Keep-Alive: schema: type: string example: timeout=5 Transfer-Encoding: schema: type: string example: chunked content: application/json: schema: type: object example: listenerCount: 3 totalRepeatedSeconds: 0 totalListenedSeconds: 4715 averagePercentageListened: 92.45098039215686 averageCoverage: '0': 70 '10': 100 '20': 100 '30': 100 '40': 100 '50': 100 '60': 100 '70': 100 '80': 100 '90': 100 '100': 100 '110': 100 '120': 100 '130': 100 '140': 100 '150': 100 '160': 100 '170': 100 '180': 100 '190': 100 '200': 100 '210': 100 '220': 100 '230': 100 '240': 100 '250': 100 '260': 100 '270': 100 '280': 100 '290': 100 '300': 100 '310': 100 '320': 100 '330': 100 '340': 100 '350': 100 '360': 100 '370': 100 '380': 100 '390': 100 '400': 100 '410': 100 '420': 100 '430': 100 '440': 100 '450': 100 '460': 100 '470': 100 '480': 100 '490': 100 '500': 100 '510': 100 '520': 100 '530': 100 '540': 100 '550': 100 '560': 100 '570': 100 '580': 100 '590': 100 '600': 100 '610': 100 '620': 100 '630': 100 '640': 100 '650': 100 '660': 100 '670': 100 '680': 100 '690': 100 '700': 100 '710': 100 '720': 100 '730': 100 '740': 100 '750': 100 '760': 100 '770': 100 '780': 100 '790': 100 '800': 100 '810': 100 '820': 100 '830': 100 '840': 100 '850': 100 '860': 100 '870': 100 '880': 100 '890': 100 '900': 100 '910': 100 '920': 100 '930': 100 '940': 100 '950': 100 '960': 100 '970': 100 '980': 100 '990': 100 '1000': 100 '1010': 100 '1020': 100 '1030': 100 '1040': 100 '1050': 100 '1060': 100 '1070': 100 '1080': 100 '1090': 100 '1100': 100 '1110': 100 '1120': 100 '1130': 100 '1140': 100 '1150': 100 '1160': 100 '1170': 100 '1180': 100 '1190': 100 '1200': 100 '1210': 100 '1220': 100 '1230': 100 '1240': 100 '1250': 100 '1260': 100 '1270': 100 '1280': 100 '1290': 100 '1300': 100 '1310': 100 '1320': 100 '1330': 100 '1340': 100 '1350': 100 '1360': 100 '1370': 100 '1380': 100 '1390': 86.66666666666666 '1400': 66.66666666666666 '1410': 66.66666666666666 '1420': 66.66666666666666 '1430': 66.66666666666666 '1440': 66.66666666666666 '1450': 66.66666666666666 '1460': 66.66666666666666 '1470': 66.66666666666666 '1480': 66.66666666666666 '1490': 66.66666666666666 '1500': 66.66666666666666 '1510': 66.66666666666666 '1520': 60 '1530': 33.33333333333333 '1540': 33.33333333333333 '1550': 33.33333333333333 '1560': 33.33333333333333 '1570': 33.33333333333333 '1580': 40 '1590': 66.66666666666666 '1600': 66.66666666666666 '1610': 66.66666666666666 '1620': 66.66666666666666 '1630': 66.66666666666666 '1640': 66.66666666666666 '1650': 66.66666666666666 '1660': 66.66666666666666 '1670': 66.66666666666666 '1680': 66.66666666666666 '1690': 26.666666666666668 totalCoverage: '0': 21 '10': 30 '20': 30 '30': 30 '40': 30 '50': 30 '60': 30 '70': 30 '80': 30 '90': 30 '100': 30 '110': 30 '120': 30 '130': 30 '140': 30 '150': 30 '160': 30 '170': 30 '180': 30 '190': 30 '200': 30 '210': 30 '220': 30 '230': 30 '240': 30 '250': 30 '260': 30 '270': 30 '280': 30 '290': 30 '300': 30 '310': 30 '320': 30 '330': 30 '340': 30 '350': 30 '360': 30 '370': 30 '380': 30 '390': 30 '400': 30 '410': 30 '420': 30 '430': 30 '440': 30 '450': 30 '460': 30 '470': 30 '480': 30 '490': 30 '500': 30 '510': 30 '520': 30 '530': 30 '540': 30 '550': 30 '560': 30 '570': 30 '580': 30 '590': 30 '600': 30 '610': 30 '620': 30 '630': 30 '640': 30 '650': 30 '660': 30 '670': 30 '680': 30 '690': 30 '700': 30 '710': 30 '720': 30 '730': 30 '740': 30 '750': 30 '760': 30 '770': 30 '780': 30 '790': 30 '800': 30 '810': 30 '820': 30 '830': 30 '840': 30 '850': 30 '860': 30 '870': 30 '880': 30 '890': 30 '900': 30 '910': 30 '920': 30 '930': 30 '940': 30 '950': 30 '960': 30 '970': 30 '980': 30 '990': 30 '1000': 30 '1010': 30 '1020': 30 '1030': 30 '1040': 30 '1050': 30 '1060': 30 '1070': 30 '1080': 30 '1090': 30 '1100': 30 '1110': 30 '1120': 30 '1130': 30 '1140': 30 '1150': 30 '1160': 30 '1170': 30 '1180': 30 '1190': 30 '1200': 30 '1210': 30 '1220': 30 '1230': 30 '1240': 30 '1250': 30 '1260': 30 '1270': 30 '1280': 30 '1290': 30 '1300': 30 '1310': 30 '1320': 30 '1330': 30 '1340': 30 '1350': 30 '1360': 30 '1370': 30 '1380': 30 '1390': 26 '1400': 20 '1410': 20 '1420': 20 '1430': 20 '1440': 20 '1450': 20 '1460': 20 '1470': 20 '1480': 20 '1490': 20 '1500': 20 '1510': 20 '1520': 18 '1530': 10 '1540': 10 '1550': 10 '1560': 10 '1570': 10 '1580': 12 '1590': 20 '1600': 20 '1610': 20 '1620': 20 '1630': 20 '1640': 20 '1650': 20 '1660': 20 '1670': 20 '1680': 20 '1690': 8