נגב 2, איירפורט סיטי

פקס

03-539-5901

דף הבית » פתרונות לעולמות החיסכון » פתרונות רכש » בקרת התקשרויות – כלי הכרחי לניהול יעיל של חוזים ופרויקטים

קטגוריות
ארכיונים
אוגוסט 2025
אבגדהוש
 12
3456789
10111213141516
17181920212223
24252627282930
31 
פתרונות אפקטיביים

בקרת התקשרויות – כלי הכרחי לניהול יעיל של חוזים ופרויקטים

מבוא

בקרת התקשרויות היא נדבך מרכזי במימוש פרויקטים מורכבים. באמצעות תהליכים מבוקרים ומוגדרים היטב, ניתן לקבוע עמידה בתנאי החוזה, למנוע חריגות ולשמור על יציבות כלכלית ותפעולית. חשיבות הבקרה מתבטאת בכל שלב, החל משלב תכנון הפרויקט ועד לסגירת החשבון הסופי, תוך שמירה על עקרונות של שקיפות, עמידה ועמידה בחוק.

מעקב אחר דיווחי ביצוע כנדרש בתנאי החוזה (קליטה ועיבוד של המנהלים והפקת דוחות).

מעקב אחר ביצוע דיווחים הוא אבן יסוד פעם בקרת ההתקשרויות. בתנאי חוזה מורכבים, לביצוע קליטה ועיבוד שוטפים של נתוני הביצוע. נתונים אלה מתורגמים לדוחות מנהלים ברורים וממוקדים, המספקים תמונת מצב עדכנית על התקדמות הפרויקט. דוחות אלה מאפשרים:

  • זיהוי חריגות מהתוכניות ומהמפרטים.
  • מעקב אחר עמידה בזמנים .
  • ניתוח עמידה בתקציב .

בתהליך זה מבטיח שקיפות ודינמיות בקבלת החלטות, תוך הסתמכות על נתונים מדויקים.

בקרה על הפעלת מנגנון הקנסות במידת הצורך

הפעלת מנגנון הקנסות קיימת כלי חשוב לשמירה על עמידה בתנאי החוזה ועל תקינות הפעלה. עם זאת, יש פעיל את המנגנון בזהירות ובשיקול דעת, על מנת למנוע פגיעה מיותרות בין צד או בכ הכלכלית של הספק.

מנגנון הקנסות מיועד לאכוף את תנאי החוזה ולספק כלי הרתתי במקרה של חריגות או אי-עמידה בהתחייבויות. יחד עם זאת, יש לבחון את השימוש במנגנון זה תוך הפעולות בנקודות הבאות

  1. הערכת חומרת החריגה ומעבריה – ניתוח מדויק של הפרת החוזה, על מנת לקבוע אם להפעיל הקנס מוצדקת ומה במידת החריגה.
  2. התאמת הקנס לגובה ההפרה – הקפדה על פרופורציה בין גובה הקנס לרמת הנזק במידה מההפרה, על מנת לשמור על הוגנות.
  3. מניעת פגיעה בכדאיות הכלכלית של הספק – בחינת השפעת הקנס על יכולתו של הספק לספק ולספק את השירות, תוך הימנעות מיצירת מצב נשתלל ממנו בהתחייבויותיו.


הפעלת מנגנון הקנסות אינה מעשית רק בענישה, אלא שואפת ליצור איזון שמבטיח עמידה בתנאי החוזה והמשך עבודה ויעילה בין צדדית. ניהול נכון של תהליך זה מחזק את אמון בין ומעודד שיתוף פעולה לאורך זמן.

מענה לבעיות ביישום החוזה ושמירה על כדאיות כלכלית

בעיות ביישום חוזים הן יכולות שכיחה בניהול פרויקטים, אך טיפול מקצועי וממוקד בבעיות אלו יכולות להפוך אותן להזדמנויות לשיפור ושדרוג תיקון. כאשר מתעוררת חריגות או תפעוליות, יש לה בעיה עם מפתח עקרונות:

  1. פתרון מהיר ויעיל של הבעיה – תגובה מהירה ומתואמת יכולה לצמצם את השפעת הבעיה ולשמור על התקדמות הפרויקט.
  2. בחינת ההשפעה הכלכלית של הפתרון – ניתוח מעמיק של ההשלה הכלכלית הכרוכות בפתרון המוצע, תוך שמירה על כדאיות כלכלית עבור כל המעורבים.
  3. מניעת פגיעה בתפקוד השוטף של הפרויקט – מציאת פתרון המאפשר המשך עבודה תקינה ומונע עיכובים או הפרעות משמעותיות.

גישה זו מסייעת בהתחייבות שלהם, ובכך נמנעת פגיעה במהלך התקין של הפרויקט. ניהול בעיות ביישום חוזה באופן שאחראי משפר את היחסים עם הספקים, מייצב את הפרויקט ומאפשר עמידה ביעדים ובמטרות שהוגדרו מראש.

בדיקת חשבונות סופיים – ביקורת מול מסמכים ההתקשרות, החוזה והתוכניות

בדיקת שלב החשבונות הוא חיוני להבטחת יישום מדויק של החוזה. מדובר בבדיקה יסודית שמטרתה לוודא התאמה מלאה בין הביצוע בפועל לתנאי החוזה, תוך מניעת מחלוקות ותקלות. הפעולות המרכזיות כוללות:

  1. התאמת תכולת העבודה לתוכניות ולמפרטים – בדיקת שכל העבודה שבוצעה כפי שהיתה עומדת בדרישות שהגדרו בתוכניות, במפרטים ובמסמכים ההתקשרות.
  2. בדיקת תקינות המדידות ותמחור העבודות שבוצעו – שיטת ניתוח המדידה שהפעלו, והבטחת דיוק המחירים על פי החוזה והמצב בשטח.
  3. אישור תשלומים בהתבסס על ביצוע בפועל – ווידוא שכל תשלום מבוצע לעבודה שבוצעה, תוך הקפדה על שקיפות מלאה.

בדיקה מקיפה זו מבטיחה שכל צד בפרויקט יקבל את המגיע לו בהתאם לתנאי החוזה. תהליך זה מונע מחלוקות מחזק את האמון בין אפשריות, ומבטיח סגירה תקינה ומקצועית של הפרויקט.

בקרת התוכניות, המפרטים וכתב הכמויות לפרויקט

הצלחת הפרויקט תלויה בהרחבה בתכנון מדויק וברור של כל המרכיביו. בקרת מסמכים ההתקשרות הראשונה הראשוני:

  • בחינה של התוכניות הטכניות לוודא שאין פערים או אי-בהירות.
  • וידוא תאימות בין המפרטים לכתב כמויות כדי למנוע חוסר דיוק או טעויות תמחור.
  • זיהוי סתירות אפשריות בין מסמכים הפרויקט, שעשויות להוביל לעיכובים או לחריגות בתקציב.

בדיקות אלו מונעות בעיות עתידיות ומשמשות בסיס לניהול יעיל של הפרויקט לכל אורכו.

הכנת תיק אתר / אירוע

תיק אתר הוא כלי חיוני לניהול ותיעוד הפרויקט, המספק מסגרת מאורגנת למעקב אחר התקדמות הפרויקט ושיפור התהליכים. תיק זה מרכז את כל המידע הרלוונטי והעדכני, ומאפשר ניהול יעיל ושקיפות לאורך כל שלבי הפרויקט. התיק כולל:

  1. תיעוד תוכניות הפרויקט – שמירה של התוכניות המקוריות והגרסאות המעודכנות שלהן, עם שיקולים לכל שינוי שבוצע בפרויקט.
  2. רישום אירועים חריגים והתמודדות איתם – תיעוד אירועים חריגים שקרו בהמשך העבודה, יחד עם הפתרונות שיושמו פרטיים.
  3. מעקב אחר דוחות ביצוע ותשלומים – מעקב אחר דוחות הביצוע, סטטוס התשלומים, והשוואה בין הביצוע בפועל לתכנון המקורי.
  4. שמירה מסודרת של מסמכים – חוזים, מפרטים, דוחות ותיעוד אחר הדרוש לכל שלבי הפרויקט.

ניהול מסודר של תיק האתר גישה מהירה וקלה לנתונים חיונים, מחזק את השקיפות בין הגורמים המעורבים בפרויקט, ומייעל את תהליך קבלת ההחלטות. תיק מסודר מבוסס בסיס יציב להצלחת הפרויקט ולשימור תיעוד מלא של מהלכיו.

עמידה בדרישות החוק, לרבות בדיקת תלושי שכר עובדים

בהתאם לחוק להגברת האכיפה של דיני העבודה, יש חובה לעמידה מלאה בזכויות העובדים, תוך ביצוע הפעולות הבאות:

  1. בדיקת תלושי השכר של עובדי הקבלן – ווידוא כי התלושים עומדים בדרישות החוק והעובדים מקבלים את המגיעים להם.
  2. מעקב אחר תנאי העבודה – לא שוטף את העבודה בשטח, כדי למנוע ולזהות את תנאי החזרות.
  3. הבטחת תשלום ראוי לכל עובד בפרויקט – הבטחת יישום מלא של זכויות עובדים, בהתאם לחוק.

פעולות אלו אינן רק חובה משפטית, אלא הן מחזקות את אמינו של הפרויקט, מונעות סיכונים משפטיים, ומשפרות את שביעות רצונם של עובדים.

בקרה שוטפת – העלאת מודעות ויישום מלא של ההתקשרות

מעבר להיבטים הטכניים, בקרת ההתקשרויות כולל גם הבדיקות בשיפור מתמיד של תהליכי הניהול והביצוע. הפעולות המרכזיות הן:

  1. תיעוד שוטף של כל שלבי הפרויקט – מעקב אחר התקדמות הפרויקט למניעת עיכובים, טעויות או אי-סדרים.
  2. מעקב אחר הביצוע בפועל לתנאי החוזה – ווידוא שכל הפעולות מבוצעות בהתאם להנחיות החוזה והאושרות.
  3. מניעת הונאות וחריגות – שימוש במערכות בקרה לאיתור חריגות בזמן אמת.
  4. טיוב שירותים ושיפור תהליכי העבודה – התאמת התהליכים לשינויים בפרויקט ושיפור מתמיד באיכות שירותים הניתנים.

בקרה שוטפת מספקת בסיס יציב לניהול חוזים, מונעת תקלות מראש, ומשפרת את הכנסת ביעדים שהגדרו.

סיכום

בקרת התקשרויות היא חלק בלתי נפרד מהצלחת ניהול פרויקטים וחוזים. היא מאפשרת עמידה בתנאים, ייעול תהליכים ושמירה על הזכויות.

פתרונות אפקטיביים מובילה את התחום עם מגוון שירותים מתקדמים, כולל: מעקב אחר ביצוע, בקרת תשלומים, בדיקות תלושי שכר וביקורת סופית. החברה מתמחה בפיתוח פתרונות מותאמים אישית המבוססים על מקצועיות, ניסיון רב ושמירה על סטנדרטים גבוהים.

לפרויקט מוצלח וניהול מקצועי – בחרו בפתרונות אפקטיביים!

https://esg.co.il/wp-content/uploads/2025/07/4.d110a0.webp
דאטה וחדשנות במשאבי אנוש – כך תהפוך HR ליחידת על

העידן הדיגיטלי הפך את תחום משאבי האנוש ליותר דינמי, חכם ומבוסס נתונים מאי פעם. ארגונים המשלבים בינה מלאכותית,...

https://esg.co.il/wp-content/uploads/2025/07/3.d110a0.webp
HR אסטרטגי – שותף להנהלה ולא רק “מחלקת רווחה”

בעשורים האחרונים עבר עולם משאבי האנוש מהפכה שקטה אך רבת עוצמה. כיום, מחלקת HR איננה עוד גוף תפעולי העוסק...

https://esg.co.il/wp-content/uploads/2025/07/1-1.d110a0.webp
משאבי אנוש - הובלת גיוון והכלה אמיתיים – מאסטרטגיה לפרקטיקה בארגון הישראלי

נושא הגיוון וההכלה (Diversity & Inclusion) הפך לאחד מאבני היסוד של ניהול משאבי אנוש מודרני. חברות...

https://esg.co.il/wp-content/uploads/2025/07/יעוץ-לעסקים-2.d110a0.webp
קונגלומרטים – תאגידי הענק שמעצבים את הכלכלה הגלובלית

מבוא העולם העסקי המודרני מתאפיין בריכוז עוצמה כלכלית וארגונית בידי גופים גדולים ורב-מערכתיים. אחד הביטויים...

https://esg.co.il/wp-content/uploads/2025/07/יעוץ-לעסקים-1.d110a0.webp
השראה מהעולם – מה אפשר ללמוד מסטארט-אפים ומהקונגלומרטים?

בעידן של תחרות עולמית, חדשנות וגלובליזציה, אין ארגון שיכול להרשות לעצמו להישאר מקובע במודלים ישנים. חברות...

https://esg.co.il/wp-content/uploads/2025/07/2.d110a0.webp
פתרונות משאבי אנוש וכוח אדם – מגדילים גיוס, משפרים תפוקה, מצמצמים טעויות

עולם משאבי האנוש עובר מהפכה. במקום להסתפק בניהול שוטף של גיוס, קליטה ורווחה – פתרונות משאבי אנוש מתקדמים...

https://esg.co.il/wp-content/uploads/2025/07/1.d110a0.webp
פתרונות שכר חכמים – כך תייעלו את תהליך השכר ותשפרו את שורת הרווח

האם ידעתם שיישום נכון של פתרונות שכר יכול לחסוך לעסק שלכם מאות אלפי שקלים בשנה?הוצאות השכר מהוות את אחד...

https://esg.co.il/wp-content/uploads/2025/06/משאבי-אנוש-3.d110a0.webp
בין שליטה לאמון: ניהול עובדים במודל היברידי

המעבר לעבודה היברידית – שילוב של עבודה מהמשרד ומהבית – הפך למציאות קבועה בארגונים רבים. מודל זה מציב...

https://esg.co.il/wp-content/uploads/2025/06/משאבי-אנוש-2.d110a0.webp
הכלה וגיוון בתרבות הארגונית: מעבר מסיסמאות לפרקטיקה

גיוון (Diversity) והכלה (Inclusion) הפכו בשנים האחרונות למילות מפתח בכל ארגון שמכבד את עצמו. אך בעוד...

https://esg.co.il/wp-content/uploads/2025/06/משאבי-אנוש-1.d110a0.webp
תפקיד ה-HR בעידן של קונפליקטים גיאו-פוליטיים ומבצעים ביטחוניים

מחלקת משאבי אנוש ממלאת תפקיד קריטי בניהול המשאב האנושי בתקופות של חוסר ודאות ביטחונית, קונפליקטים גיאו-פוליטיים...

https://esg.co.il/wp-content/uploads/2025/06/פתרונות-בריאות-1.d110a0.webp
איזון חיים-עבודה בעידן המנכ"ל הרב-משימתי: בין אסטרטגיה אישית להצלחה ארגונית

מבוא בעידן הנוכחי, שבו מהירות, זמינות וטכנולוגיה שינו את פני העבודה הניהולית, מנכ"לים הפכו לדמויות...

Facebook
Twitter
LinkedIn
WhatsApp
Pinterest
Print
Email
ניתן להשתמש בחצי המקלדת בכדי לנווט בין כפתורי הרכיב
",e=e.removeChild(e.firstChild)):"string"==typeof o.is?e=l.createElement(a,{is:o.is}):(e=l.createElement(a),"select"===a&&(l=e,o.multiple?l.multiple=!0:o.size&&(l.size=o.size))):e=l.createElementNS(e,a),e[Ni]=t,e[Pi]=o,Pl(e,t,!1,!1),t.stateNode=e,l=Ae(a,o),a){case"iframe":case"object":case"embed":Te("load",e),u=o;break;case"video":case"audio":for(u=0;u<$a.length;u++)Te($a[u],e);u=o;break;case"source":Te("error",e),u=o;break;case"img":case"image":case"link":Te("error",e),Te("load",e),u=o;break;case"form":Te("reset",e),Te("submit",e),u=o;break;case"details":Te("toggle",e),u=o;break;case"input":A(e,o),u=M(e,o),Te("invalid",e),Ie(n,"onChange");break;case"option":u=B(e,o);break;case"select":e._wrapperState={wasMultiple:!!o.multiple},u=Uo({},o,{value:void 0}),Te("invalid",e),Ie(n,"onChange");break;case"textarea":V(e,o),u=H(e,o),Te("invalid",e),Ie(n,"onChange");break;default:u=o}Me(a,u);var s=u;for(i in s)if(s.hasOwnProperty(i)){var c=s[i];"style"===i?ze(e,c):"dangerouslySetInnerHTML"===i?(c=c?c.__html:void 0,null!=c&&Aa(e,c)):"children"===i?"string"==typeof c?("textarea"!==a||""!==c)&&X(e,c):"number"==typeof c&&X(e,""+c):"suppressContentEditableWarning"!==i&&"suppressHydrationWarning"!==i&&"autoFocus"!==i&&(ea.hasOwnProperty(i)?null!=c&&Ie(n,i):null!=c&&x(e,i,c,l))}switch(a){case"input":L(e),j(e,o,!1);break;case"textarea":L(e),$(e);break;case"option":null!=o.value&&e.setAttribute("value",""+P(o.value));break;case"select":e.multiple=!!o.multiple,n=o.value,null!=n?q(e,!!o.multiple,n,!1):null!=o.defaultValue&&q(e,!!o.multiple,o.defaultValue,!0);break;default:"function"==typeof u.onClick&&(e.onclick=Fe)}Ve(a,o)&&(t.effectTag|=4)}null!==t.ref&&(t.effectTag|=128)}return null;case 6:if(e&&null!=t.stateNode)Ll(e,t,e.memoizedProps,o);else{if("string"!=typeof o&&null===t.stateNode)throw Error(r(166));n=yn(yu.current),yn(bu.current),Jn(t)?(n=t.stateNode,o=t.memoizedProps,n[Ni]=t,n.nodeValue!==o&&(t.effectTag|=4)):(n=(9===n.nodeType?n:n.ownerDocument).createTextNode(o),n[Ni]=t,t.stateNode=n)}return null;case 13:return zt(vu),o=t.memoizedState,0!==(64&t.effectTag)?(t.expirationTime=n,t):(n=null!==o,o=!1,null===e?void 0!==t.memoizedProps.fallback&&Jn(t):(a=e.memoizedState,o=null!==a,n||null===a||(a=e.child.sibling,null!==a&&(i=t.firstEffect,null!==i?(t.firstEffect=a,a.nextEffect=i):(t.firstEffect=t.lastEffect=a,a.nextEffect=null),a.effectTag=8))),n&&!o&&0!==(2&t.mode)&&(null===e&&!0!==t.memoizedProps.unstable_avoidThisFallback||0!==(1&vu.current)?rs===Qu&&(rs=Yu):(rs!==Qu&&rs!==Yu||(rs=Gu),0!==us&&null!==es&&(To(es,ns),Co(es,us)))),(n||o)&&(t.effectTag|=4),null);case 4:return wn(),Ol(t),null;case 10:return Zt(t),null;case 17:return It(t.type)&&Ft(),null;case 19:if(zt(vu),o=t.memoizedState,null===o)return null;if(a=0!==(64&t.effectTag),i=o.rendering,null===i){if(a)mr(o,!1);else if(rs!==Qu||null!==e&&0!==(64&e.effectTag))for(i=t.child;null!==i;){if(e=_n(i),null!==e){for(t.effectTag|=64,mr(o,!1),a=e.updateQueue,null!==a&&(t.updateQueue=a,t.effectTag|=4),null===o.lastEffect&&(t.firstEffect=null),t.lastEffect=o.lastEffect,o=t.child;null!==o;)a=o,i=n,a.effectTag&=2,a.nextEffect=null,a.firstEffect=null,a.lastEffect=null,e=a.alternate,null===e?(a.childExpirationTime=0,a.expirationTime=i,a.child=null,a.memoizedProps=null,a.memoizedState=null,a.updateQueue=null,a.dependencies=null):(a.childExpirationTime=e.childExpirationTime,a.expirationTime=e.expirationTime,a.child=e.child,a.memoizedProps=e.memoizedProps,a.memoizedState=e.memoizedState,a.updateQueue=e.updateQueue,i=e.dependencies,a.dependencies=null===i?null:{expirationTime:i.expirationTime,firstContext:i.firstContext,responders:i.responders}),o=o.sibling;return Mt(vu,1&vu.current|2),t.child}i=i.sibling}}else{if(!a)if(e=_n(i),null!==e){if(t.effectTag|=64,a=!0,n=e.updateQueue,null!==n&&(t.updateQueue=n,t.effectTag|=4),mr(o,!0),null===o.tail&&"hidden"===o.tailMode&&!i.alternate)return t=t.lastEffect=o.lastEffect,null!==t&&(t.nextEffect=null),null}else 2*ru()-o.renderingStartTime>o.tailExpiration&&1t)&&vs.set(e,t)))}}function Ur(e,t){e.expirationTimee?n:e,2>=e&&t!==e?0:e}function qr(e){if(0!==e.lastExpiredTime)e.callbackExpirationTime=1073741823,e.callbackPriority=99,e.callbackNode=$t(Vr.bind(null,e));else{var t=Br(e),n=e.callbackNode;if(0===t)null!==n&&(e.callbackNode=null,e.callbackExpirationTime=0,e.callbackPriority=90);else{var r=Fr();if(1073741823===t?r=99:1===t||2===t?r=95:(r=10*(1073741821-t)-10*(1073741821-r),r=0>=r?99:250>=r?98:5250>=r?97:95),null!==n){var o=e.callbackPriority;if(e.callbackExpirationTime===t&&o>=r)return;n!==Yl&&Bl(n)}e.callbackExpirationTime=t,e.callbackPriority=r,t=1073741823===t?$t(Vr.bind(null,e)):Wt(r,Hr.bind(null,e),{timeout:10*(1073741821-t)-ru()}),e.callbackNode=t}}}function Hr(e,t){if(ks=0,t)return t=Fr(),No(e,t),qr(e),null;var n=Br(e);if(0!==n){if(t=e.callbackNode,(Ju&(Wu|$u))!==Hu)throw Error(r(327));if(lo(),e===es&&n===ns||Kr(e,n),null!==ts){var o=Ju;Ju|=Wu;for(var a=Yr();;)try{eo();break}catch(t){Xr(e,t)}if(Gt(),Ju=o,Bu.current=a,rs===Ku)throw t=os,Kr(e,n),To(e,n),qr(e),t;if(null===ts)switch(a=e.finishedWork=e.current.alternate,e.finishedExpirationTime=n,o=rs,es=null,o){case Qu:case Ku:throw Error(r(345));case Xu:No(e,2=n){e.lastPingedTime=n,Kr(e,n);break}}if(i=Br(e),0!==i&&i!==n)break;if(0!==o&&o!==n){e.lastPingedTime=o;break}e.timeoutHandle=Si(oo.bind(null,e),a);break}oo(e);break;case Gu:if(To(e,n),o=e.lastSuspendedTime,n===o&&(e.nextKnownPendingLevel=ro(a)),ss&&(a=e.lastPingedTime,0===a||a>=n)){e.lastPingedTime=n,Kr(e,n);break}if(a=Br(e),0!==a&&a!==n)break;if(0!==o&&o!==n){e.lastPingedTime=o;break}if(1073741823!==is?o=10*(1073741821-is)-ru():1073741823===as?o=0:(o=10*(1073741821-as)-5e3,a=ru(),n=10*(1073741821-n)-a,o=a-o,0>o&&(o=0),o=(120>o?120:480>o?480:1080>o?1080:1920>o?1920:3e3>o?3e3:4320>o?4320:1960*Uu(o/1960))-o,n=o?o=0:(a=0|l.busyDelayMs,i=ru()-(10*(1073741821-i)-(0|l.timeoutMs||5e3)),o=i<=a?0:a+o-i),10 component higher in the tree to provide a loading indicator or placeholder to display."+N(i))}rs!==Zu&&(rs=Xu),l=yr(l,i),f=a;do{switch(f.tag){case 3:u=l,f.effectTag|=4096,f.expirationTime=t;var w=Ar(f,u,t);ln(f,w); break e;case 1:u=l;var E=f.type,k=f.stateNode;if(0===(64&f.effectTag)&&("function"==typeof E.getDerivedStateFromError||null!==k&&"function"==typeof k.componentDidCatch&&(null===ms||!ms.has(k)))){f.effectTag|=4096,f.expirationTime=t;var _=Ir(f,u,t);ln(f,_);break e}}f=f.return}while(null!==f)}ts=no(ts)}catch(e){t=e;continue}break}}function Yr(){var e=Bu.current;return Bu.current=Cu,null===e?Cu:e}function Gr(e,t){eus&&(us=e)}function Jr(){for(;null!==ts;)ts=to(ts)}function eo(){for(;null!==ts&&!Gl();)ts=to(ts)}function to(e){var t=Fu(e.alternate,e,ns);return e.memoizedProps=e.pendingProps,null===t&&(t=no(e)),qu.current=null,t}function no(e){ts=e;do{var t=ts.alternate;if(e=ts.return,0===(2048&ts.effectTag)){if(t=br(t,ts,ns),1===ns||1!==ts.childExpirationTime){for(var n=0,r=ts.child;null!==r;){var o=r.expirationTime,a=r.childExpirationTime;o>n&&(n=o),a>n&&(n=a),r=r.sibling}ts.childExpirationTime=n}if(null!==t)return t;null!==e&&0===(2048&e.effectTag)&&(null===e.firstEffect&&(e.firstEffect=ts.firstEffect),null!==ts.lastEffect&&(null!==e.lastEffect&&(e.lastEffect.nextEffect=ts.firstEffect),e.lastEffect=ts.lastEffect),1e?t:e}function oo(e){var t=qt();return Vt(99,ao.bind(null,e,t)),null}function ao(e,t){do lo();while(null!==gs);if((Ju&(Wu|$u))!==Hu)throw Error(r(327));var n=e.finishedWork,o=e.finishedExpirationTime;if(null===n)return null;if(e.finishedWork=null,e.finishedExpirationTime=0,n===e.current)throw Error(r(177));e.callbackNode=null,e.callbackExpirationTime=0,e.callbackPriority=90,e.nextKnownPendingLevel=0;var a=ro(n);if(e.firstPendingTime=a,o<=e.lastSuspendedTime?e.firstSuspendedTime=e.lastSuspendedTime=e.nextKnownPendingLevel=0:o<=e.firstSuspendedTime&&(e.firstSuspendedTime=o-1),o<=e.lastPingedTime&&(e.lastPingedTime=0),o<=e.lastExpiredTime&&(e.lastExpiredTime=0),e===es&&(ts=es=null,ns=0),1u&&(c=u,u=l,l=c),c=Ue(w,l),f=Ue(w,u),c&&f&&(1!==k.rangeCount||k.anchorNode!==c.node||k.anchorOffset!==c.offset||k.focusNode!==f.node||k.focusOffset!==f.offset)&&(E=E.createRange(),E.setStart(c.node,c.offset),k.removeAllRanges(),l>u?(k.addRange(E),k.extend(f.node,f.offset)):(E.setEnd(f.node,f.offset),k.addRange(E)))))),E=[];for(k=w;k=k.parentNode;)1===k.nodeType&&E.push({element:k,left:k.scrollLeft,top:k.scrollTop});for("function"==typeof w.focus&&w.focus(),w=0;w=t&&e<=t}function To(e,t){var n=e.firstSuspendedTime,r=e.lastSuspendedTime;nt||0===n)&&(e.lastSuspendedTime=t),t<=e.lastPingedTime&&(e.lastPingedTime=0),t<=e.lastExpiredTime&&(e.lastExpiredTime=0)}function Co(e,t){t>e.firstPendingTime&&(e.firstPendingTime=t);var n=e.firstSuspendedTime;0!==n&&(t>=n?e.firstSuspendedTime=e.lastSuspendedTime=e.nextKnownPendingLevel=0:t>=e.lastSuspendedTime&&(e.lastSuspendedTime=t+1),t>e.nextKnownPendingLevel&&(e.nextKnownPendingLevel=t))}function No(e,t){var n=e.lastExpiredTime;(0===n||n>t)&&(e.lastExpiredTime=t)}function Po(e,t,n,o){var a=t.current,i=Fr(),l=su.suspense;i=jr(i,a,l);e:if(n){n=n._reactInternalFiber;t:{if(J(n)!==n||1!==n.tag)throw Error(r(170));var u=n;do{switch(u.tag){case 3:u=u.stateNode.context;break t;case 1:if(It(u.type)){u=u.stateNode.__reactInternalMemoizedMergedChildContext;break t}}u=u.return}while(null!==u);throw Error(r(171))}if(1===n.tag){var s=n.type;if(It(s)){n=Dt(n,s,u);break e}}n=u}else n=Al;return null===t.context?t.context=n:t.pendingContext=n,t=on(i,l),t.payload={element:e},o=void 0===o?null:o,null!==o&&(t.callback=o),an(a,t),Dr(a,i),i}function Oo(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}function Ro(e,t){e=e.memoizedState,null!==e&&null!==e.dehydrated&&e.retryTime