@amityco/ts-sdk 6.25.3-a1fe986.0 → 6.26.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. package/.env +26 -26
  2. package/dist/@types/core/payload.d.ts +1 -0
  3. package/dist/@types/core/payload.d.ts.map +1 -1
  4. package/dist/commentRepository/observers/getComments/CommentLiveCollectionController.d.ts +14 -0
  5. package/dist/commentRepository/observers/getComments/CommentLiveCollectionController.d.ts.map +1 -0
  6. package/dist/commentRepository/observers/getComments/CommentPaginationController.d.ts +5 -0
  7. package/dist/commentRepository/observers/getComments/CommentPaginationController.d.ts.map +1 -0
  8. package/dist/commentRepository/observers/getComments/CommentQueryStreamController.d.ts +15 -0
  9. package/dist/commentRepository/observers/getComments/CommentQueryStreamController.d.ts.map +1 -0
  10. package/dist/commentRepository/observers/getComments/enums.d.ts +10 -0
  11. package/dist/commentRepository/observers/getComments/enums.d.ts.map +1 -0
  12. package/dist/commentRepository/observers/getComments.d.ts.map +1 -1
  13. package/dist/commentRepository/utils/payload.d.ts +2 -0
  14. package/dist/commentRepository/utils/payload.d.ts.map +1 -0
  15. package/dist/index.cjs.js +158 -119
  16. package/dist/index.esm.js +158 -119
  17. package/dist/index.umd.js +4 -4
  18. package/package.json +1 -1
  19. package/src/@types/core/payload.ts +5 -0
  20. package/src/commentRepository/observers/getComments/CommentLiveCollectionController.ts +132 -0
  21. package/src/commentRepository/observers/getComments/CommentPaginationController.ts +25 -0
  22. package/src/commentRepository/observers/getComments/CommentQueryStreamController.ts +90 -0
  23. package/src/commentRepository/observers/getComments/enums.ts +9 -0
  24. package/src/commentRepository/observers/getComments.ts +5 -141
  25. package/src/commentRepository/utils/payload.ts +5 -0
package/dist/index.esm.js CHANGED
@@ -82,8 +82,8 @@ const PostContentType = Object.freeze({
82
82
 
83
83
  function getVersion() {
84
84
  try {
85
- // the string ''v6.25.2-esm'' should be replaced by actual value by @rollup/plugin-replace
86
- return 'v6.25.2-esm';
85
+ // the string ''v6.26.1-esm'' should be replaced by actual value by @rollup/plugin-replace
86
+ return 'v6.26.1-esm';
87
87
  }
88
88
  catch (error) {
89
89
  return '__dev__';
@@ -37685,48 +37685,160 @@ const getComment = (commentId, callback) => {
37685
37685
  };
37686
37686
  /* end_public_function */
37687
37687
 
37688
- const convertToInternalComment = (commentPayload) => {
37689
- const { comments } = commentPayload;
37690
- return Object.assign(Object.assign({}, commentPayload), { comments: comments.map(comment => {
37691
- if (comment.hasOwnProperty('myReactions'))
37692
- return comment;
37693
- // Sometimes `myReactions` field will not come with BE response because that field is empty
37694
- // We need to put it with an empty array manually to make it show up in client side
37695
- return Object.assign({ myReactions: [] }, comment);
37696
- }) });
37697
- };
37688
+ class CommentPaginationController extends PaginationController {
37689
+ async getRequest(queryParams, token) {
37690
+ const { limit = COLLECTION_DEFAULT_PAGINATION_LIMIT, includeDeleted } = queryParams, params = __rest(queryParams, ["limit", "includeDeleted"]);
37691
+ const options = token ? { token } : { limit };
37692
+ const { data: queryResponse } = await this.http.get(`/api/v3/comments`, {
37693
+ params: Object.assign(Object.assign({}, params), { isDeleted: inferIsDeleted(includeDeleted), options }),
37694
+ });
37695
+ return queryResponse;
37696
+ }
37697
+ }
37698
37698
 
37699
- const queryComments = async (query) => {
37700
- const client = getActiveClient();
37701
- client.log('comment/queryComments', query);
37702
- const { limit = 10, includeDeleted } = query, params = __rest(query, ["limit", "includeDeleted"]);
37703
- const options = {
37704
- type: params.sortBy || query.limit ? 'pagination' : undefined,
37705
- limit: query.limit,
37706
- token: query.page,
37707
- };
37708
- // const filterByParentId = query.parentId !== undefined
37709
- // API-FIX: parameters should be querystring. (1)
37710
- // API-FIX: backend should answer Amity.Response (2)
37711
- // const { data } = await client.http.get<Amity.Response<Amity.PagedResponse<Amity.CommentPayload>>>(
37712
- const { data } = await client.http.get(`/api/v3/comments`, {
37713
- params: Object.assign(Object.assign({}, params), { isDeleted: inferIsDeleted(includeDeleted),
37714
- // filterByParentId, API-FIX: backend does not support this boolean LOL. what the hell seriously.
37715
- options }),
37716
- });
37717
- // API-FIX: backend should answer Amity.Response (2)
37718
- // const { paging, comments } = unwrapPayload(data)
37719
- const { paging } = data, payload = __rest(data, ["paging"]);
37720
- const processedData = convertToInternalComment(payload);
37721
- const { comments } = processedData;
37722
- const cachedAt = client.cache && Date.now();
37723
- if (client.cache) {
37724
- ingestInCache(processedData, { cachedAt });
37725
- const cacheKey = ['comment', 'query', Object.assign(Object.assign({}, params), { options: { limit } })];
37726
- pushToCache(cacheKey, { comments: comments.map(getResolver('comment')), paging });
37699
+ var EnumCommentActions;
37700
+ (function (EnumCommentActions) {
37701
+ EnumCommentActions["OnCommentCreated"] = "onCommentCreated";
37702
+ EnumCommentActions["OnCommentUpdated"] = "onCommentUpdated";
37703
+ EnumCommentActions["OnCommentDeleted"] = "onCommentDeleted";
37704
+ EnumCommentActions["OnCommentFlagged"] = "onCommentFlagged";
37705
+ EnumCommentActions["OnCommentUnflagged"] = "onCommentUnflagged";
37706
+ EnumCommentActions["OnCommentReactionAdded"] = "onCommentReactionAdded";
37707
+ EnumCommentActions["OnCommentReactionRemoved"] = "onCommentReactionRemoved";
37708
+ })(EnumCommentActions || (EnumCommentActions = {}));
37709
+
37710
+ class CommentQueryStreamController extends QueryStreamController {
37711
+ constructor(query, cacheKey, notifyChange, preparePayload) {
37712
+ super(query, cacheKey);
37713
+ this.notifyChange = notifyChange;
37714
+ this.preparePayload = preparePayload;
37727
37715
  }
37728
- return { data: comments, cachedAt, paging };
37729
- };
37716
+ async saveToMainDB(response) {
37717
+ const processedPayload = await this.preparePayload(response);
37718
+ const client = getActiveClient();
37719
+ const cachedAt = client.cache && Date.now();
37720
+ if (client.cache) {
37721
+ ingestInCache(processedPayload, { cachedAt });
37722
+ }
37723
+ }
37724
+ appendToQueryStream(response, direction, refresh = false) {
37725
+ var _a, _b;
37726
+ if (refresh) {
37727
+ pushToCache(this.cacheKey, {
37728
+ data: response.comments.map(getResolver('comment')),
37729
+ });
37730
+ }
37731
+ else {
37732
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
37733
+ const comments = (_b = collection === null || collection === void 0 ? void 0 : collection.data) !== null && _b !== void 0 ? _b : [];
37734
+ pushToCache(this.cacheKey, Object.assign(Object.assign({}, collection), { data: [...new Set([...comments, ...response.comments.map(getResolver('comment'))])] }));
37735
+ }
37736
+ }
37737
+ reactor(action) {
37738
+ return (comment) => {
37739
+ var _a;
37740
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
37741
+ if (this.query.referenceId !== comment.referenceId ||
37742
+ this.query.referenceType !== comment.referenceType ||
37743
+ !collection) {
37744
+ return;
37745
+ }
37746
+ if (action === EnumCommentActions.OnCommentCreated) {
37747
+ collection.data = [...new Set([comment.commentId, ...collection.data])];
37748
+ }
37749
+ else if (action === EnumCommentActions.OnCommentDeleted) {
37750
+ collection.data = collection.data.filter(p => p !== comment.commentId);
37751
+ }
37752
+ pushToCache(this.cacheKey, collection);
37753
+ this.notifyChange({ origin: "event" /* Amity.LiveDataOrigin.EVENT */, loading: false });
37754
+ };
37755
+ }
37756
+ subscribeRTE(createSubscriber) {
37757
+ return createSubscriber.map(subscriber => subscriber.fn(this.reactor(subscriber.action)));
37758
+ }
37759
+ }
37760
+
37761
+ function prepareCommentPayload(comment) {
37762
+ return comment;
37763
+ }
37764
+
37765
+ class CommentLiveCollectionController extends LiveCollectionController {
37766
+ constructor(query, callback) {
37767
+ const queryStreamId = hash(query);
37768
+ const cacheKey = ['comments', 'collection', queryStreamId];
37769
+ const paginationController = new CommentPaginationController(query);
37770
+ super(paginationController, queryStreamId, cacheKey, callback);
37771
+ this.query = query;
37772
+ this.queryStreamController = new CommentQueryStreamController(this.query, this.cacheKey, this.notifyChange.bind(this), prepareCommentPayload);
37773
+ this.callback = callback.bind(this);
37774
+ this.loadPage({ initial: true });
37775
+ }
37776
+ setup() {
37777
+ var _a;
37778
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
37779
+ if (!collection) {
37780
+ pushToCache(this.cacheKey, {
37781
+ data: [],
37782
+ params: {},
37783
+ });
37784
+ }
37785
+ }
37786
+ async persistModel(queryPayload) {
37787
+ await this.queryStreamController.saveToMainDB(queryPayload);
37788
+ }
37789
+ persistQueryStream({ response, direction, refresh, }) {
37790
+ this.queryStreamController.appendToQueryStream(response, direction, refresh);
37791
+ }
37792
+ startSubscription() {
37793
+ return this.queryStreamController.subscribeRTE([
37794
+ { fn: onCommentCreated, action: EnumCommentActions.OnCommentCreated },
37795
+ { fn: onCommentUpdated, action: EnumCommentActions.OnCommentUpdated },
37796
+ { fn: onCommentDeleted, action: EnumCommentActions.OnCommentDeleted },
37797
+ { fn: onCommentFlagged, action: EnumCommentActions.OnCommentFlagged },
37798
+ { fn: onCommentUnflagged, action: EnumCommentActions.OnCommentUnflagged },
37799
+ { fn: onCommentReactionAdded, action: EnumCommentActions.OnCommentReactionAdded },
37800
+ { fn: onCommentReactionRemoved, action: EnumCommentActions.OnCommentReactionRemoved },
37801
+ ]);
37802
+ }
37803
+ notifyChange({ origin, loading, error }) {
37804
+ var _a, _b;
37805
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
37806
+ if (!collection)
37807
+ return;
37808
+ const data = this.applyFilter((_b = collection.data
37809
+ .map(id => pullFromCache(['comments', 'get', id]))
37810
+ .filter(isNonNullable)
37811
+ .map(({ data }) => data)) !== null && _b !== void 0 ? _b : []).map(LinkedObject.comment);
37812
+ if (!this.shouldNotify(data) && origin === 'event')
37813
+ return;
37814
+ this.callback({
37815
+ onNextPage: () => this.loadPage({ direction: "next" /* Amity.LiveCollectionPageDirection.NEXT */ }),
37816
+ data,
37817
+ hasNextPage: !!this.paginationController.getNextToken(),
37818
+ loading,
37819
+ error,
37820
+ });
37821
+ }
37822
+ applyFilter(data) {
37823
+ let comments = data;
37824
+ if (this.query.includeDeleted) {
37825
+ comments = filterByPropEquality(comments, 'isDeleted', false);
37826
+ }
37827
+ if (this.query.parentId) {
37828
+ comments = comments.filter(comment => comment.parentId === this.query.parentId);
37829
+ }
37830
+ switch (this.query.sortBy) {
37831
+ case 'firstCreated':
37832
+ comments = comments.sort(sortByFirstCreated);
37833
+ break;
37834
+ case 'lastCreated':
37835
+ default:
37836
+ comments = comments.sort(sortByLastCreated);
37837
+ break;
37838
+ }
37839
+ return comments;
37840
+ }
37841
+ }
37730
37842
 
37731
37843
  /* begin_public_function
37732
37844
  id: comment.query
@@ -37758,82 +37870,9 @@ const getComments = (params, callback, config) => {
37758
37870
  }
37759
37871
  const timestamp = Date.now();
37760
37872
  log(`getComments(tmpid: ${timestamp}) > listen`);
37761
- const { limit: queryLimit } = params, queryParams = __rest(params, ["limit"]);
37762
- const { policy = COLLECTION_DEFAULT_CACHING_POLICY } = config !== null && config !== void 0 ? config : {};
37763
- const disposers = [];
37764
- const sortBy = params.sortBy ? params.sortBy : 'lastCreated';
37765
- const cacheKey = [
37766
- 'comment',
37767
- 'collection',
37768
- {
37769
- referenceId: params.referenceType,
37770
- referenceType: params.referenceId,
37771
- parentId: (params === null || params === void 0 ? void 0 : params.parentId) || '',
37772
- sortBy,
37773
- },
37774
- ];
37775
- const responder = (data) => {
37776
- var _a, _b;
37777
- let comments = (_a = data.data
37778
- .map(commentId => pullFromCache(['comment', 'get', commentId]))
37779
- .filter(({ data }) => data.parentId === (params === null || params === void 0 ? void 0 : params.parentId))
37780
- .filter(Boolean)
37781
- .map(({ data }) => LinkedObject.comment(data))) !== null && _a !== void 0 ? _a : [];
37782
- if (!params.includeDeleted) {
37783
- comments = filterByPropEquality(comments, 'isDeleted', false);
37784
- }
37785
- comments = comments.sort(sortBy === 'lastCreated' ? sortByLastCreated : sortByFirstCreated);
37786
- callback({
37787
- onNextPage: onFetch,
37788
- data: comments,
37789
- hasNextPage: !!((_b = data.params) === null || _b === void 0 ? void 0 : _b.page),
37790
- loading: data.loading,
37791
- error: data.error,
37792
- });
37793
- };
37794
- const realtimeRouter = (action) => (comment) => {
37795
- var _a;
37796
- const collection = (_a = pullFromCache(cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
37797
- if (params.referenceId !== comment.referenceId ||
37798
- params.referenceType !== comment.referenceType ||
37799
- !collection) {
37800
- return;
37801
- }
37802
- if (action === 'onCreate') {
37803
- collection.data = [...new Set([comment.commentId, ...collection.data])];
37804
- }
37805
- else if (action === 'onDelete') {
37806
- collection.data = collection.data.filter(p => p !== comment.commentId);
37807
- }
37808
- pushToCache(cacheKey, collection);
37809
- responder(collection);
37810
- };
37811
- const onFetch = (initial = false) => {
37812
- var _a, _b, _c;
37813
- const collection = (_a = pullFromCache(cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
37814
- const comments = (_b = collection === null || collection === void 0 ? void 0 : collection.data) !== null && _b !== void 0 ? _b : [];
37815
- if (!initial && comments.length > 0 && !((_c = collection === null || collection === void 0 ? void 0 : collection.params) === null || _c === void 0 ? void 0 : _c.page))
37816
- return;
37817
- const query = createQuery(queryComments, Object.assign(Object.assign({}, queryParams), { limit: queryLimit, page: !initial ? collection === null || collection === void 0 ? void 0 : collection.params.page : undefined }));
37818
- runQuery(query, ({ data: result, error, loading, paging }) => {
37819
- const page = paging === null || paging === void 0 ? void 0 : paging.next;
37820
- const data = {
37821
- loading,
37822
- error,
37823
- params: { page },
37824
- data: comments,
37825
- };
37826
- if (result) {
37827
- data.data = initial
37828
- ? result.map(getResolver('comment')) // Replace a collection list with new data from BE
37829
- : [...new Set([...comments, ...result.map(getResolver('comment'))])];
37830
- }
37831
- pushToCache(cacheKey, data);
37832
- responder(data);
37833
- }, queryOptions(policy, CACHE_SHORTEN_LIFESPAN));
37834
- };
37835
- disposers.push(onCommentCreated(realtimeRouter('onCreate')), onCommentUpdated(realtimeRouter('onUpdate')), onCommentDeleted(realtimeRouter('onDelete')), onCommentFlagged(realtimeRouter('onFlagged')), onCommentUnflagged(realtimeRouter('onUnflagged')), onCommentReactionAdded(realtimeRouter('onReactionAdded')), onCommentReactionRemoved(realtimeRouter('onReactionRemoved')));
37836
- onFetch(true);
37873
+ const commentsLiveCollection = new CommentLiveCollectionController(params, callback);
37874
+ const disposers = commentsLiveCollection.startSubscription();
37875
+ const cacheKey = commentsLiveCollection.getCacheKey();
37837
37876
  disposers.push(() => dropFromCache(cacheKey));
37838
37877
  return () => {
37839
37878
  log(`getComments(tmpid: ${timestamp}) > dispose`);
@@ -39075,7 +39114,7 @@ var index$3 = /*#__PURE__*/Object.freeze({
39075
39114
  getPoll: getPoll
39076
39115
  });
39077
39116
 
39078
- const privateKey = "-----BEGIN PRIVATE KEY-----\nMIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDAARz+hmBgi8pJ\nQb8LeY41gtHhk+ACMwRfhsn7GqpqRQNG2qU0755mzZuVDUqjQMGSo8THJB7O+OJs\nflbZRkFXlFoFOVNw1UpNOgwEQZ6wB9oRwzepTJAfF1sVhm/o/ixvXh1zDFNDy6yZ\npXyiiJHUVxqyjllZhxnwdvjoVtDs6hW6awG09bB9nh/TTejlUKXoAgzqVwu/1QMu\nUVViET495elEe19aUarEy+oL2iKeXCEvqda/pWNBdbieFyJvvZ08HN8dPuT88wq2\njZLEAth1vrwQ2IAa4ktaLcBQdLJgIkrbDvAiVZ8lQAjS/bq5vXQikTGvoPlC5bbn\nvuOM/3eLAgMBAAECggEAVZ+peHAghq2QVj71nX5lxsNCKaCyYwixSJBpfouTt7Rz\nE6PpzMOXFi1W1o+I22jDakuSM2SOQKqI/u0QefB0r0O/KVk5NrZHXk0mkrdYtxOp\nUgaGyf8UvmjB+8VqHrNKyZdk9qtmbnNj01kTTcAtmE4H39zPR7eR/8Rul94vaZbs\nwCnKJS3mLT3JxyGug6lxanveKkjG+CKC1nJQYWaxCJxaFSzbwXQPvDhB+TvrIbee\npd5v4EAyEJohpr+T9oDGGJkb/KARBZCtwLyB976PKJwwBA8MRVL1i5QwawuMiMq5\nUtnOnbGKtCeFzaLbNU0Qi8bqyims84EQxC6DOu1fkQKBgQDdvsoBsEhsOXV7hlIJ\naEd0eSJZVkdqimxH8uGoMM2FeNaOrcB6yBXqTSP0R3OIyf8eaY6yjRvP30ZNXcll\n/gD3O1Mu6YmWQdt1W2WA6pKOsUuPXasf0pdOF7IiFZKlSabz5YHXFqwVuqm8loaj\nsXel3YWqPVdHiankE7tz+3ssnQKBgQDdqi4TNdD1MdEpihx19jr0QjUiXW3939FK\nqp30HESPEGDGQzXdmJgif9HhZb+cJSuWaHEbjgBrYahvgCF+y6LbEpOD+D/dmT+s\nDEAQaR84sah6dokwPjV8fjBSrcVFjCS+doxv0d3p/9OUEeyUhFrY03nxtIEYkLIE\n/Zvn37b4RwKBgQCLENVFe9XfsaVhQ5r9dV2iyTlmh7qgMZG5CbTFs12hQGhm8McO\n+Z7s41YSJCFr/yq1WwP4LJDtrBw99vyQr1zRsG35tNLp3gGRNzGQSQyC2uQFVHw2\np+7mNewsfhUK/gbrXNsyFnDz6635rPlhfbII3sWuP2wWXFqkxE9CbMwR7QKBgQC6\nawDMzxmo2/iYArrkyevSuEuPVxvFwpF1RgAI6C0QVCnPE38dmdN4UB7mfHekje4W\nVEercMURidPp0cxZolCYBQtilUjAyL0vqC3In1/Ogjq6oy3FEMxSop1pKxMY5j+Q\nnoqFD+6deLUrddeNH7J3X4LSr4dSbX4JjG+tlgt+yQKBgQCuwTL4hA6KqeInQ0Ta\n9VQX5Qr8hFlqJz1gpymi/k63tW/Ob8yedbg3WWNWyShwRMFYyY9S81ITFWM95uL6\nvF3x9rmRjwElJw9PMwVu6dmf/CO0Z1wzXSp2VVD12gbrUD/0/d7MUoJ9LgC8X8f/\nn0txLHYGHbx+nf95+JUg6lV3hg==\n-----END PRIVATE KEY-----";
39117
+ const privateKey = "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDHo80SecH7FuF2\nhFYnb+l26/VN8UMLXAQFLnxciNTEwkGVFMpdezlH8rU2HtUJL4RETogbAOLVY0XM\njs6sPn8G1nALmh9qeDpUtVqFOVtBHxEZ910TLOtQiunjqJKO5nWdqZ71EC3OFluR\niGQkO84BiIFbv37ub7xl3S8XarbtKoLcyVpkDHi+1wx1pgCAn6gtBUgckPL5NR8j\nLseabl3HAXQfhTCKo4tmOFM2Dxwl1IUMmIJrJg/aIU/U0tj/1Eoo7mG0JcNWX19l\nW3EecCbi0ncCJOrkUdwlBrcjaMayaX/ubEwyUeTGiLdyc4L3GRLHjyK8xgVNXRMH\nbZWJ2a5NAgMBAAECggEASxuE+35zTFO/XydKgmvIGcWL9FbgMlXb7Vcf0nBoG945\nbiz0NVc2paraIhJXc608xbYF3qLmtAE1MVBI0ORyRdBHNxY024l/6H6SH60Ed+uI\nM4ysp5ourY6Vj+DLwpdRiI9YDjqYAQDIUmhNxJP7XPhOMoZI6st+xZQBM34ic/bv\nAMSJm9OZphSp3+qXVkFZztr2mxD2EZSJJLYxi8BCdgM2qhazalbcJ6zDKHCZWVWm\n8RRxDGldyMb/237JxETzP40tAlzOZDmBAbUgEnurDJ93RVDIE3rbZUshwgeQd18a\nem096mWgvB1AIKYgsTAR3pw+V19YWAjq/glP6fz8wQKBgQD/oQq+ukKF0PRgBeM5\ngeTjSwsdGppQLmf5ndujvoiz/TpdjDEPu6R8kigQr1rG2t4K/yfdZoI8RdmJD1al\n3Q7N9hofooSy4rj6E3txzWZCHJjHad2cnCp/O26HiReGAl7wTcfTmNdiFHhZQzm5\nJBkvWAiwuvQMNfEbnXxw6/vIDwKBgQDH7fX8gsc77JLvAWgp1MaQN/sbqVb6JeT1\nFQfR8E/WFCSmzQBtNzd5KgYuCeelwr/8DyYytvN2BzCYZXp73gI1jF3YlW5jVn74\nOY6TwQ095digwo6Z0yuxopdIOApKgAkL9PRKgNrqAf3NAyMua6lOGifzjDojC3KU\nfylQmxMn4wKBgHp2B9O/H0dEBw5JQ8W0+JX6yWQz7mEjGiR2/1W+XXb8hQ1zr709\nw1r6Gb+EghRpnZ3fBpYGGbYOMFx8wKHM+N6qW3F0ReX8v2juFGE8aRSa5oYBrWzt\nU16Idjbv8hj84cZ1PJmdyvDtpYn9rpWHOZl4rxEbPvbqkIsOMyNVqdT5AoGAOSge\nmwIIU2le2FVeohbibXiToWTYKMuMmURZ5/r72AgKMmWJKbAPe+Q3wBG01/7FRBpQ\noU8Ma0HC8s6QJbliiEyIx9JwrJWd1vkdecBHONrtA4ibm/5zD2WcOllLF+FitLhi\n3qnX6+6F0IaFGFBPJrTzlv0P4dTz/OAdv52V7GECgYEA2TttOKBAqWllgOaZOkql\nLVMJVmgR7s6tLi1+cEP8ZcapV9aRbRzTAKXm4f8AEhtlG9F9kCOvHYCYGi6JaiWJ\nZkHjeex3T+eE6Di6y5Bm/Ift5jtVhJ4jCVwHOKTMej79NPUFTJfv8hCo29haBDv6\nRXFrv+T21KCcw8k3sJeJWWQ=\n-----END PRIVATE KEY-----";
39079
39118
  /*
39080
39119
  * The crypto algorithm used for importing key and signing string
39081
39120
  */