1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8043],{58043:function(n,e,t){t.d(e,{bW:function(){return m},t8:function(){return p}});var l=t(3842),i=t(56675),r=t(40794),o=t(48776),u=t(9774),a=t(30480),c=t(77067),d=t(13322),s=t(2784),g=t(59707);let p=(n,e,t)=>{let[i,{data:r,loading:o,error:u}]=(0,l.t)(null!=n?n:g.GZ,{variables:{recipeFilter:e,tipFilter:t}});return{getCollections:i,data:r,loading:o,error:u}},m=(n,e)=>{var t,p,m;let y=(0,i.x)(),{appUserStatus:I,handleShowModal:f,appUser:U}=(0,s.useContext)(o.I),[E,h]=(0,s.useState)((n.videos?n.videos.filter(n=>n&&(0,d.S8)(n)):[]).map(e=>({url:e,name:null!==(t=n.title1)&&void 0!==t?t:"",description:null!==(p=n.description1)&&void 0!==p?p:"",uploadDate:new Date(n.publishedAt?n.publishedAt:0).toJSON(),thumbnailUrl:null!==(m=(0,c.p8)({...n.image},[1200,630]))&&void 0!==m?m:""}))),[C,B]=(0,s.useState)(n.search&&""!==n.search?n.search:n.title1),{data:v}=(0,r.a)(g.M,{variables:{urlId:e},fetchPolicy:"cache-only",returnPartialData:!0}),[b,{loading:T,error:O}]=(0,l.t)(g.U7,{fetchPolicy:"cache-and-network"});(0,s.useEffect)(()=>{if(v){var n,e,t;h(((null==v?void 0:v.getCollectionByUrlId.videos)?v.getCollectionByUrlId.videos.filter(n=>n&&(0,d.S8)(n)):[]).map(l=>({url:l,name:null!==(n=v.getCollectionByUrlId.title1)&&void 0!==n?n:"",description:null!==(e=v.getCollectionByUrlId.description1)&&void 0!==e?e:"",uploadDate:new Date((null==v?void 0:v.getCollectionByUrlId.publishedAt)?null==v?void 0:v.getCollectionByUrlId.publishedAt:0).toJSON(),thumbnailUrl:null!==(t=(0,c.p8)({...null==v?void 0:v.getCollectionByUrlId.image},[1200,630]))&&void 0!==t?t:""}))),B((null==v?void 0:v.getCollectionByUrlId.search)&&(null==v?void 0:v.getCollectionByUrlId.search)!==""?null==v?void 0:v.getCollectionByUrlId.search:null==v?void 0:v.getCollectionByUrlId.title1)}},[v]),(0,s.useEffect)(()=>{y.writeQuery({query:g.i1,data:{getCollectionByUrlId:n},variables:{urlId:e}})},[n]),(0,s.useEffect)(()=>{if(I===u.Ey.authorized)b({variables:{urlId:e}});else if(I===u.Ey.notAuthorized){var t;let l=null!==(t=null==v?void 0:v.getCollectionByUrlId.entitiesList)&&void 0!==t?t:n.entitiesList;l&&l.forEach(n=>n.entities.forEach(n=>{let e=n.urlId?(0,a.tC)(n.urlId):null;y.writeFragment({id:y.cache.identify({...n}),fragment:g.GK,data:{...n,isBookmarked:!1,userReaction:{reactionId:null,type:null!=e?e:null}}})}))}},[I]);let P=(n,e)=>{let t={...n,isBookmarked:!0,userBookmark:{id:e}};y.writeFragment({id:y.cache.identify({...n}),fragment:g.GK,data:{...t}}),(null==U?void 0:U.isPremium)?f(u.w8.BOOKMARK_ADD,{recipe:{...t}}):f(u.w8.PROMOTION_BOOKMARK_FOLDER)},R=(n,e,t)=>{y.writeFragment({id:y.cache.identify({...n}),fragment:g.GK,data:{...n,reactionsSummary:e,userReaction:{...n.userReaction,reactionId:t.reactionCreate.reactionId,type:t.reactionCreate.type}}})};return{videos:E,searchQuery:C,data:null==v?void 0:v.getCollectionByUrlId,loadingCollectionEntitiesExtraData:T,collectionEntitiesExtraDataError:O,writeCollectionBookmarkToCache:P,writeCollectionReactionToCache:R}}},59707:function(n,e,t){t.d(e,{GK:function(){return C},GZ:function(){return T},M:function(){return v},U7:function(){return b},i1:function(){return B}});var l=t(92228),i=t(60138),r=t(81601);function o(){let n=(0,l.Z)(["\n fragment CollectionFullFragment on CollectionObject {\n urlId\n title1\n description1\n title2\n description2\n title3\n description3\n title4\n description4\n videos\n search\n publishedAt\n type\n image {\n imageId\n imageExt\n imageUploadType\n }\n collections {\n title1\n urlId\n seo {\n url\n }\n }\n entitiesList {\n type\n entities {\n type\n title\n urlId\n imageExt\n imageId\n imageUploadType\n extraInfo\n reactionsSummary {\n LOVE\n MASTERWORK\n TASTY\n WILL_COOK\n }\n user {\n name\n imageExt\n imageId\n imageUploadType\n urlId\n }\n }\n }\n seo {\n title\n description\n keywords\n url\n }\n }\n"]);return o=function(){return n},n}function u(){let n=(0,l.Z)(["\n fragment CollectionWithExtraDataFragment on CollectionObject {\n urlId\n title1\n description1\n title2\n description2\n title3\n description3\n title4\n description4\n videos\n search\n publishedAt\n type\n image {\n imageId\n imageExt\n imageUploadType\n }\n collections {\n title1\n urlId\n seo {\n url\n }\n }\n entitiesList {\n type\n entities {\n type\n title\n urlId\n imageExt\n imageId\n imageUploadType\n extraInfo\n reactionsSummary {\n LOVE\n MASTERWORK\n TASTY\n WILL_COOK\n }\n isBookmarked\n userReaction {\n reactionId\n type\n }\n user {\n name\n imageExt\n imageId\n imageUploadType\n urlId\n }\n }\n }\n seo {\n title\n description\n keywords\n url\n }\n }\n"]);return u=function(){return n},n}function a(){let n=(0,l.Z)(["\n fragment CollectionEntitiesExtraDataFragment on CollectionObject {\n urlId\n entitiesList {\n type\n entities {\n urlId\n isBookmarked\n userReaction {\n reactionId\n type\n }\n }\n }\n }\n"]);return a=function(){return n},n}function c(){let n=(0,l.Z)(["\n fragment CollectionEntityFragment on CollectionEntityObject {\n type\n title\n urlId\n imageExt\n imageId\n imageUploadType\n extraInfo\n reactionsSummary {\n LOVE\n MASTERWORK\n TASTY\n WILL_COOK\n }\n isBookmarked\n userReaction {\n reactionId\n type\n }\n user {\n name\n imageExt\n imageId\n imageUploadType\n urlId\n }\n }\n"]);return c=function(){return n},n}function d(){let n=(0,l.Z)(["\n ","\n query getCollectionByUrlId($urlId: Int!) {\n getCollectionByUrlId(urlId: $urlId) {\n ...CollectionFullFragment\n }\n }\n"]);return d=function(){return n},n}function s(){let n=(0,l.Z)(["\n ","\n query getCollectionByUrl($url: String!) {\n getCollectionByUrl(url: $url) {\n ...CollectionFullFragment\n }\n }\n"]);return s=function(){return n},n}function g(){let n=(0,l.Z)(["\n ","\n query getCollectionByUrlId($urlId: Int!) {\n getCollectionByUrlId(urlId: $urlId) {\n ...CollectionWithExtraDataFragment\n }\n }\n"]);return g=function(){return n},n}function p(){let n=(0,l.Z)(["\n ","\n query getCollectionByUrlId($urlId: Int!) {\n getCollectionByUrlId(urlId: $urlId) {\n ...CollectionEntitiesExtraDataFragment\n }\n }\n"]);return p=function(){return n},n}function m(){let n=(0,l.Z)(["\n query getCollections($filter: CollectionFilterInput!, $url: String) {\n getCollections(filter: $filter) {\n edges {\n node {\n urlId\n title1\n annotation\n urlId\n flag\n type\n seo {\n url\n }\n image {\n imageExt\n imageId\n imageUploadType\n type\n }\n entitiesList {\n entities {\n type\n }\n }\n }\n }\n pageInfo {\n currentPage\n totalPages\n hasNextPage\n hasPreviousPage\n }\n }\n ","\n }\n"]);return m=function(){return n},n}function y(){let n=(0,l.Z)(["\n query getCollections($recipeFilter: CollectionFilterInput!, $tipFilter: CollectionFilterInput!) {\n recipeCollections: getCollections(filter: $recipeFilter) {\n edges {\n node {\n urlId\n title1\n annotation\n urlId\n flag\n type\n seo {\n url\n }\n image {\n imageExt\n imageId\n imageUploadType\n type\n }\n }\n }\n }\n tipCollections: getCollections(filter: $tipFilter) {\n edges {\n node {\n urlId\n title1\n annotation\n urlId\n flag\n seo {\n url\n }\n image {\n imageExt\n imageId\n imageUploadType\n type\n }\n }\n }\n }\n }\n"]);return y=function(){return n},n}function I(){let n=(0,l.Z)(["\n query getCollections($filter: CollectionFilterInput!) {\n ","\n }\n"]);return I=function(){return n},n}function f(){let n=(0,l.Z)(["\n query getCollections($recipeFilter: CollectionFilterInput!, $tipFilter: CollectionFilterInput!) {\n recipeCollections: getCollections(filter: $recipeFilter) {\n edges {\n node {\n urlId\n title1\n annotation\n urlId\n flag\n type\n seo {\n url\n }\n image {\n imageExt\n imageId\n imageUploadType\n type\n }\n }\n }\n pageInfo {\n currentPage\n totalPages\n hasNextPage\n hasPreviousPage\n }\n }\n tipCollections: getCollections(filter: $tipFilter) {\n edges {\n node {\n urlId\n title1\n annotation\n urlId\n flag\n type\n seo {\n url\n }\n image {\n imageExt\n imageId\n imageUploadType\n type\n }\n }\n }\n pageInfo {\n currentPage\n totalPages\n hasNextPage\n hasPreviousPage\n }\n }\n }\n"]);return f=function(){return n},n}let U=(0,i.Ps)(o()),E=(0,i.Ps)(u()),h=(0,i.Ps)(a()),C=(0,i.Ps)(c()),B=(0,i.Ps)(d(),U);(0,i.Ps)(s(),U);let v=(0,i.Ps)(g(),E),b=(0,i.Ps)(p(),h);(0,i.Ps)(m(),r.T);let T=(0,i.Ps)(y());(0,i.Ps)(I(),"\n getCollections(filter: $filter) {\n edges {\n node {\n urlId\n title1\n annotation\n urlId\n mainPageStyle\n type\n seo{\n url\n }\n entitiesPreviewList {\n urlId\n imageExt\n imageId\n imageUploadType\n type\n }\n }\n }\n }\n"),(0,i.Ps)(f())},81601:function(n,e,t){t.d(e,{T:function(){return r}});
1var l=t(92228);function i(){let n=(0,l.Z)(["\n query getSeoSettings($url: String!) {\n getSeoSettings(url: $url) {\n title\n description\n keywords\n ogImageUrl\n }\n }\n"]);return i=function(){return n},n}(0,t(60138).Ps)(i());let r="\n getSeoSettings(url: $url) {\n title\n description\n keywords\n ogImageUrl\n }\n"},13322:function(n,e,t){var l,i;t.d(e,{LM:function(){return u},S8:function(){return a}});let r=/(-[0-9]{5,9})_([0-9]{9})/;(i=l||(l={})).YOUTUBE="youtube",i.VK="vk",i.RUTUBE="rutube",i.RUTUBE_PRIVATE="rutube-private",i.RUTUBE_EMBED="rutube-embed",i.DZEN="dzen",i.YOUTU_BE="youtu.be",i.YOUTUBE_EMBED="youtube.com/embed";let o=n=>""===n||null===n?null:n.includes("youtube.com/watch")?l.YOUTUBE:n.includes("youtu.be/")?l.YOUTU_BE:n.includes("youtube.com/embed/")?l.YOUTUBE_EMBED:n.includes("vk.com")||n.includes("vk.ru")||n.includes("vkvideo.ru")?l.VK:n.includes("rutube.ru/video/private")?l.RUTUBE_PRIVATE:n.includes("rutube.ru/video")?l.RUTUBE:n.includes("rutube.ru/play/embed")?l.RUTUBE_EMBED:n.includes("dzen.ru")?l.DZEN:null,u=n=>{if(""===n||null===n||!1===a(n))return"";let e=String(n).match(r),t=o(n);if(null===t)return"";switch(t){case l.YOUTUBE:case l.YOUTU_BE:case l.YOUTUBE_EMBED:return"https://www.youtube.com/embed/".concat(c(n),"?autoplay=0&modestbranding=1");case l.VK:if(e&&e&&e[1]&&e[2])return"https://vk.ru/video_ext.php"+"?oid=".concat(e[1],"&id=").concat(e[2]);return"";case l.RUTUBE_PRIVATE:return"https://rutube.ru/play/embed/".concat(d(n),"?p=").concat(s(n),"&autoplay=0&modestbranding=1");case l.RUTUBE:case l.RUTUBE_EMBED:return"https://rutube.ru/play/embed/".concat(d(n),"?autoplay=0&modestbranding=1");case l.DZEN:return"https://dzen.ru/embed/".concat(g(n),"?autoplay=0&modestbranding=1");default:return""}},a=n=>{if(""===n||null===n)return!0;let e=String(n).match(r),t=o(n);if(!t)return!1;switch(t){case l.YOUTUBE:{let i=n.split("&")[0].split("=");return"v"===i[0][i[0].length-1]&&11===i[1].length&&11===c(n).length}case l.YOUTU_BE:case l.YOUTUBE_EMBED:return 11===n.split("/")[n.split("/").length-1].split("?")[0].length&&11===c(n).length;case l.VK:var u;return!!e&&(null===(u=e[0])||void 0===u?void 0:u.length)>0;case l.RUTUBE:return 32===(n=p(n)).split("/")[n.split("/").length-1].length&&32===d(n).length;case l.RUTUBE_PRIVATE:if(22===s(n).length)return 32===(n=p(n)).split("/")[n.split("/").length-1].length&&32===d(n).length;return!1;case l.RUTUBE_EMBED:return 32===(n=p(n)).split("/")[n.split("/").length-1].length&&32===d(n).length;case l.DZEN:return 12===n.split("/")[n.split("/").length-1].length&&12===g(n).length;default:return!1}},c=n=>{let e=RegExp(/^(?:https?:\/\/)?(?:m\.|www\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|shorts\/|watch\?.+&v=))((\w|-){11})(?:\S+)?$/),t=n.match(e);return t&&t[1]?t[1]:""},d=n=>{let e=RegExp(/^(?:https?:\/\/)?(?:rutube\.ru\/video\/|rutube\.ru\/video\/private\/|rutube\.ru\/play\/embed\/)((\w|-){32})(?:\S+)?$/);n=p(n);let t=n.match(e);return t&&t[1]?t[1]:""},s=n=>{let e=n.split("p=")[1];return e||""},g=n=>{let e=RegExp(/^(?:https?:\/\/)?(?:dzen\.ru\/embed\/)((\w|-){12})(?:\S+)?$/),t=n.match(e);return t&&t[1]?t[1]:""},p=n=>(n.includes("?")&&(n=n.slice(0,n.indexOf("?"))),n.endsWith("/")&&(n=n.slice(0,-1)),n)}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.